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)