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