IRC log of dig on 2012-06-15

Timestamps are in UTC.

01:17:34 [bblfish_]
bblfish_ (~bblfish@AAubervilliers-651-1-268-64.w86-212.abo.wanadoo.fr) has joined #dig
01:19:49 [bblfish]
bblfish has quit (Ping timeout: 248 seconds)
01:24:38 [bblfish_]
bblfish_ has quit (Ping timeout: 240 seconds)
01:27:16 [bblfish]
bblfish (~bblfish@AAubervilliers-651-1-126-175.w86-198.abo.wanadoo.fr) has joined #dig
01:37:28 [bblfish]
bblfish has quit (Ping timeout: 246 seconds)
01:40:17 [timbl]
timbl (~timbl@c-24-62-225-11.hsd1.ma.comcast.net) has joined #dig
06:29:00 [rszeno]
rszeno has quit (Quit: Leaving.)
07:01:43 [bblfish]
bblfish (~bblfish@ALagny-551-1-58-21.w86-218.abo.wanadoo.fr) has joined #dig
07:44:24 [deiu]
deiu (~andrei@unaffiliated/deiu) has joined #dig
09:12:46 [Yudai_]
Yudai_ has quit (Quit: Tiarra 0.1+svn-36726: SIGTERM received; exit)
09:13:32 [Yudai]
Yudai (~Yudai@nttkyo089248.tkyo.nt.ngn2.ppp.infoweb.ne.jp) has joined #dig
10:10:53 [cheater_]
cheater_ (~cheater@g231039107.adsl.alicedsl.de) has joined #dig
10:13:39 [cheater]
cheater has quit (Ping timeout: 244 seconds)
11:14:43 [RalphS]
RalphS (Ralph@w3cdhcp61.w3.org) has joined #dig
11:48:46 [melvster1]
melvster1 (~melvin@p5797F639.dip.t-dialin.net) has joined #dig
11:51:17 [melvster]
melvster has quit (Ping timeout: 248 seconds)
12:53:09 [mrmist]
[Global Notice] - Our services upgrade is scheduled for 2PM UTC on Saturday. We expect services to be unavailable for up to an hour, so please plan your channel management accordingly. Thanks for flying freenode!
13:57:56 [bblfish]
betehess: I added strongly types sparql for Sesame in a patch to the pull request https://github.com/bblfish/banana-rdf/commit/02f531dcaffac58f27324b3c059b59bbd8483696
14:05:18 [betehess]
looks pretty good
14:05:24 [betehess]
I have only one comment
14:05:33 [betehess]
val ops: SPARQLOperations[Rdf,Sparql] in SPARQLEngine
14:05:41 [betehess]
this will be problematic at some point
14:06:00 [betehess]
having vals in trait to be mixedin are really a PITA
14:06:15 [betehess]
because it's hard to get the evaluation/initialization right
14:06:22 [betehess]
(I still don't get it)
14:07:08 [betehess]
also, I'm about to refactor some stuff so that we don't mix interface constraints (like executeQuery) with a default implementation
14:08:07 [betehess]
an good practice I've found is to 1. not have this val ops there 2. define a class that will provide a default implementation, where you can have ops as a parameter in the constructor
14:09:22 [betehess]
also, at some point, I'd like the sparql query parsers to return a Validation[BananaException, Q]
14:09:42 [betehess]
the current interface is ok for the validator project
14:09:58 [betehess]
because I know the queries I have, and I test them
14:10:12 [betehess]
but this is not true with LDP, as it's coming from the outside
14:10:19 [betehess]
but that's fine for now
14:10:33 [bblfish]
ah yes the ops
14:11:03 [betehess]
after a better thing for the ops, you can integrate the code in the main branch if you want, or I'll do it tomorrow
14:11:20 [betehess]
thanks henry
14:11:53 [betehess]
also, if you are asked to merge: DON'T --> do a rebase :-)
14:12:15 [bblfish]
is that not dangerous a rebase on public repos?
14:12:21 [betehess]
nto at all
14:12:36 [betehess]
you don't change the public history
14:12:41 [bblfish]
I thought it changes the history, and so should only be done on ...
14:12:41 [betehess]
you change your local history
14:12:48 [betehess]
no problem
14:12:57 [betehess]
let me explain
14:13:09 [betehess]
let's say that you'be worked on an old changeset
14:13:21 [betehess]
and you want to synchronize with the public HEAD
14:13:32 [bblfish]
yes, so first I rebase locally then I push
14:13:46 [betehess]
one way to do is to merge to have a common ancestor
14:14:06 [betehess]
or, you can try to re-apply your *changes* on the current HEAD
14:14:15 [betehess]
that's the rebase
14:14:20 [bblfish]
ok
14:14:52 [betehess]
so there is no problem regarding the history with the main repo
14:15:05 [bblfish]
ok, so still not clear how to best get rid of the ops
14:15:27 [bblfish]
the reason I had it was that I did not want to duplicate the code for the fold
14:15:38 [betehess]
you can create a SPARQLEngineBase(val ops...)
14:15:48 [betehess]
for the fold
14:15:49 [betehess]
?
14:15:51 [betehess]
let me see
14:16:29 [bblfish]
SPARQLEngine.executeQuery has the implementation that uses the fold
14:17:08 [bblfish]
then there was no need to implement that method in subclasses as it is always the same
14:17:30 [betehess]
yeah, that's the kind of design issue I'd like to get rid of
14:17:44 [betehess]
look at RDFOperations: it's a mess!
14:18:07 [betehess]
I'm mixing the typeclass constraints with the enhanced syntax that I want to provide
14:18:15 [betehess]
that's bad :-)
14:18:26 [betehess]
you have a nice workaround
14:18:32 [betehess]
let me give you the recipe
14:18:44 [bblfish]
ok
14:18:54 [betehess]
first of all, remove the implementation from the SPARQLEngine
14:19:00 [bblfish]
ok
14:19:35 [betehess]
then you define a trait SPARQLEngineSyntax:
14:19:36 [betehess]
[[
14:19:39 [betehess]
SPARQLEngineSyntax { this: SPARQLEngine =>
14:19:43 [betehess]
def ops: ...
14:20:04 [betehess]
def executeQuery(query: Sparql#Query).... = implementation
14:20:06 [betehess]
}
14:20:08 [betehess]
]]
14:20:23 [bblfish]
ah ok
14:20:33 [betehess]
then, when people want to provide a concrete implementation for SPARQLEngine
14:20:43 [betehess]
they just need to mixin this guy
14:21:21 [bblfish]
ok. I'll do that...
14:21:28 [betehess]
"def ops" is the trick :-)
14:21:46 [betehess]
in practice, by the time you mixin, it will be a val
14:21:55 [deiu]
MyProfile update: activity streams are now available. :)
14:22:07 [bblfish]
Cool deiu :-)
14:22:36 [bblfish]
ok, I think I'll check that the connections are properly closed too then
14:22:59 [bblfish]
( had not done that cause I wanted to see if this worked at all )
14:25:33 [bblfish]
yes, that Validation[...] think will be important for rww (especially the generic Query() parser.
14:26:06 [bblfish]
perhaps I should add validation on Query() in fact as it is not used by your project but likely to be used in an open world
14:26:18 [betehess]
feel free to add it whenever you want, I'm ok to adapt the validator code, 'cause I think it's important you have it ASAP
14:26:50 [betehess]
right you could do that on Query()
14:27:06 [bblfish]
ok, will see how it works out...
14:27:12 [betehess]
and assume that if people know what they are doing, they should have to deal with the Validation
14:27:32 [betehess]
for example, in the case the sparql query is automatically generated
14:27:47 [bblfish]
they should, or should not?
14:27:57 [betehess]
that's a choice to make :-)
14:28:10 [betehess]
oups
14:28:17 [bblfish]
ok
14:28:19 [betehess]
wanted to say should not
14:28:20 [betehess]
sorry
14:28:25 [bblfish]
ah ok
14:28:29 [bblfish]
makes more sense
14:28:33 [betehess]
yes :-)
14:29:24 [betehess]
also, if you don't want people to have to deal with an Either3, you could say that it returns another object with a fold
14:29:38 [betehess]
but I'm expecting that will make you cry
14:29:49 [betehess]
so I won't insist for now ;-)
14:30:27 [betehess]
actually, I don't know Either3, but I'm pretty sure that it comes with a fold
14:30:33 [betehess]
knowing the scalaz guys...
14:31:27 [betehess]
ok, back to validator work now
14:31:32 [betehess]
thanks for the code henry
14:31:59 [bblfish]
yes, it comes with a fold
14:32:03 [betehess]
heh
14:32:05 [betehess]
you see
14:32:32 [amy]
i'm not sure why this info is on my calendar (Tim's note) but i think it's your bday today Henry. Happy birthday :)
14:32:33 [betehess]
don't worry, Either3 is just fine by itself
14:32:41 [betehess]
wait what?
14:32:47 [betehess]
happy birthday!!!
14:33:13 [bblfish]
ah thnaks
14:33:17 [bblfish]
but it's on 29July
14:33:19 [bblfish]
:-)
14:33:22 [betehess]
lol
14:33:26 [betehess]
must be another Henry
14:33:27 [bblfish]
perhaps an error in my foaf?
14:33:27 [amy]
oh dear :) ok
14:33:40 [bblfish]
thanks in advance though
14:34:11 [amy]
well that's the nicest "you're wrong" i've ever gotten so i'll be sure to be nice in my wishes on 29 July :)
14:34:20 [bblfish]
betehess: that's why I had though def Query(query: String): could return an Either
14:35:04 [bblfish]
eu an Either3
14:35:20 [bblfish]
well...
14:38:40 [bblfish]
one can never be far from wrong in wishing someone happy birthday :-)
14:42:09 [amy]
:))
15:05:51 [deiu]
deiu has quit (Ping timeout: 246 seconds)
15:22:15 [Pipian_]
Pipian_ (~pipian@31-33-61.wireless.csail.mit.edu) has joined #dig
17:45:15 [betehess]
bblfish, don't know if you saw that tls/ssl just landed into Akka
17:45:53 [betehess]
they want to make it part of 2.1
18:07:29 [RalphS]
RalphS has quit (Ping timeout: 246 seconds)
18:07:59 [RalphS]
RalphS (Ralph@30-7-118.wireless.csail.mit.edu) has joined #dig
18:36:20 [rszeno]
rszeno (~rszeno@86.125.252.10) has joined #dig
18:55:29 [bblfish]
ah thanks
18:55:38 [bblfish]
did not see that
18:56:39 [bblfish]
just testing the changes now in banana
18:59:37 [RalphS]
RalphS has quit (Ping timeout: 244 seconds)
19:21:45 [RalphS]
RalphS (Ralph@30-7-118.wireless.csail.mit.edu) has joined #dig
19:39:32 [bblfish]
ok, betehess fixed a lot of those issues, most tests pass https://github.com/w3c/banana-rdf/pull/4
19:47:10 [bblfish]
the test suite that fails is the turtle one with reltive uris
19:55:08 [betehess]
normal
19:55:16 [betehess]
that's a bug in jena...
20:03:55 [betehess]
bblfish, you will hate me: I just pushed some modifications :-)
20:04:24 [betehess]
I was ready to do the rebase myself, but was surprised that I didn't have to do anything ;-)
20:04:43 [bblfish]
ah you pulled it?
20:05:24 [betehess]
ah, I thought you would just push it w3c/banana-rdf
20:06:05 [bblfish]
well there's not that much hurry
20:07:58 [bblfish]
but perhaps you'll understand better how to merge my pull request with your work
20:09:08 [bblfish]
it looks like your big change is def executeSelect(graph: JenaGraph, query: JenaSPARQL#SelectQuery): Iterable[PartialFunction[String, Jena#Node]]
20:13:29 [bblfish]
ah I see, it is so people can work their way through the solution more easily...
20:13:52 [bblfish]
what should I do, merge or do you want to do that?
20:20:25 [RalphS]
RalphS has quit ()
20:28:01 [betehess]
I can take your stuff tomorrow
20:28:25 [betehess]
but he we do it like that, the history from your repo and the main one won't be quite the same
20:28:32 [betehess]
should be fine though
20:28:49 [betehess]
yeah, we've got a problem this morning
20:29:01 [betehess]
because we have a MAX in a query
20:29:11 [betehess]
which is an aggregate
20:29:26 [betehess]
if nothing matches, you don't get no result
20:29:33 [betehess]
you actually have one line
20:29:40 [bblfish]
ok. I see
20:29:40 [betehess]
with no bindings :-)
20:29:53 [betehess]
so we were missing asDefinedAt
20:30:09 [bblfish]
interesting...
20:30:23 [bblfish]
Is it easier if I rebase my repo?
20:30:29 [bblfish]
I mean safer
20:30:32 [betehess]
yeah, I needed ericP to help me checking what was going wrong
20:30:42 [betehess]
yes
20:31:10 [bblfish]
ok. Looks like your changes should not have too much impact on what I did.
20:42:01 [betehess]
nope
21:04:47 [kennyluck]
kennyluck has quit (Ping timeout: 252 seconds)
21:08:32 [kennyluck]
kennyluck (~kennyluck@114-43-117-162.dynamic.hinet.net) has joined #dig
21:44:11 [bblfish]
ok did a merge https://github.com/w3c/banana-rdf/network
21:44:27 [bblfish]
betehess: sorry for merge, but I'd rather not mess with histories on public repositories
21:44:28 [melvster1]
melvster1 has quit (Ping timeout: 245 seconds)
21:45:47 [bblfish]
( I ended up doing the proceduire 3 times: 2 to 3 rebases gave the wrong history, then I just merged)
21:46:19 [betehess]
hum
21:46:42 [betehess]
git pull --rebase should do most of the work for you
21:47:25 [betehess]
if it produces too many outstanding merge issues, then a real merge probably makes sense
21:47:35 [betehess]
but I believe it should have been ok in this case
21:47:54 [bblfish]
ah I see it closed my pull request
21:48:42 [bblfish]
yes, but I think then there would be a synchronisation problem between by banana on bblfish and the one on w3c
21:48:49 [bblfish]
s/by/my/
21:49:07 [bblfish]
Anyway, will add 'git pull --rebase' to my tricks db
21:50:43 [amy]
amy has quit (Quit: bye)
21:51:42 [betehess]
well, to be honest, the history coming from bblfish's account should not matter
21:52:12 [bblfish]
you never know. someone might clone it
21:52:13 [betehess]
the workflow is more: clone, change, pull-request, rebase
21:52:19 [betehess]
so what?
21:52:34 [betehess]
people want to see only one clean history
21:52:38 [betehess]
the one at w3c
21:52:39 [bblfish]
why?
21:52:52 [betehess]
because it does not make sense to have several official repositories
21:52:54 [bblfish]
I don't unerstand the issue with clean history
21:53:10 [betehess]
you look at it and see linear time
21:53:10 [bblfish]
all git repos branch and merge
21:53:15 [betehess]
no
21:53:21 [betehess]
most of them do rebase
21:53:28 [betehess]
at least for the important enough projects
21:53:36 [bblfish]
Well, I'll try to rebase when its possible and easy
21:53:37 [betehess]
unless there is a good reason
21:53:59 [bblfish]
There is no linearity problem if you look at the graph
21:54:16 [betehess]
there is always one if you look at the graph
21:54:29 [betehess]
and it becomes more and more complex with time
21:54:45 [betehess]
think more about applying patches
21:54:49 [bblfish]
well not if they merge back together
21:54:53 [betehess]
but you still have the granularity
21:55:03 [betehess]
merge back together?
21:55:29 [betehess]
the idea is that all cloned repository should synchronize with the main repo on a regular basis
21:55:35 [bblfish]
https://github.com/w3c/banana-rdf/network
21:55:39 [betehess]
and send pull-request regularly
21:55:41 [bblfish]
that shows quite well what happened?
21:55:44 [bblfish]
no
21:56:01 [bblfish]
I mean: that shows quite well what haeppened, don't you think?
21:56:32 [bblfish]
it shows that we worked in parallel, which is exactly what did happen
21:56:38 [betehess]
no, because you changes didn't need to create another branch
21:56:51 [betehess]
it just happened that some changesets were pushed in the meantime
21:57:02 [betehess]
but they did not affect the logic of your changes
21:57:40 [bblfish]
yes, but I'd rather that, that I make a big silly mistake
21:57:50 [bblfish]
by rebasing mistakenly the wrong way
21:58:06 [bblfish]
As I said, I tried 3 times
21:58:18 [betehess]
clone your local repo before doing experiments :-) I also make mistakes
21:59:01 [bblfish]
well if we were pure functional programmers we should not try to mess with history
21:59:15 [bblfish]
only procedural people do that
21:59:17 [bblfish]
;-)
21:59:30 [betehess]
there is no mess with history
21:59:46 [betehess]
you branch has created a fake parallel history
21:59:59 [bblfish]
but it merged back, so it's ok
22:00:11 [bblfish]
next push you'll go it'll be one clean branch again
22:01:11 [bblfish]
as I said, I'll try rebasing. But I'd rather my repo and yours are consistent. In case someone branches of mine fro some bizaare reason
22:03:55 [betehess]
someone told me once how difficult it was to explain rebase, still important...
22:07:51 [bblfish]
if you can convince me that rebasing on published repositories would not potentially be problematic then I'd use it more freely - but there is a big WARNING sign in the doc on rebase on this issue. Otherwise I rebased a lot when I have my local private repostory.
22:08:48 [Pipian_]
Pipian_ has quit (Quit: Pipian_)
22:12:35 [bblfish]
I suppose it's a question of open versus closed world
22:12:54 [bblfish]
Since in git we don't know if someone has clone a repo or not, we have to assume that someone might have
22:13:27 [bblfish]
so we can't rewrite history - we can only do that on repos that we KNOW have not gone public
22:13:55 [betehess]
the warnings are for when you rewrite old history
22:14:44 [betehess]
it's not only about going public
22:14:57 [betehess]
it's about trust and accountability
22:15:14 [betehess]
in the case of banana-rdf, this is happening in one place
22:15:25 [betehess]
one can always clone and go somewhere else
22:15:41 [betehess]
but nobody should try to maintain consistency between all repos
22:15:45 [betehess]
that does not make sense
22:16:26 [bblfish]
well if you don't lie, then the repos are consistent by default
22:16:38 [bblfish]
and if they are consistent then merging is easier
22:17:17 [bblfish]
so as I see it, not changing history gives you benefits in the ability to do things longer term
22:17:20 [betehess]
let's say you don't have push right in w3c/banana-rdf. then I, Alexandre, take only pull-requests, aka. patches. I never lie to anybody
22:17:42 [betehess]
the history of w3c/banana-rdf never changes
22:17:49 [betehess]
that's the only thing that matters
22:17:54 [bblfish]
that sounds reasonable
22:18:02 [betehess]
and that's the case
22:18:35 [bblfish]
but I was worrying that one changes the hashes somehow by renaming
22:18:49 [betehess]
no
22:18:59 [betehess]
that would be pretty bad
22:21:20 [betehess]
good n8
23:00:21 [bblfish]
bblfish has quit (Remote host closed the connection)