IRC log of dig on 2012-08-14
Timestamps are in UTC.
- 00:46:34 [scor]
- scor (~scor@drupal.org/user/52142/view) has joined #dig
- 02:34:24 [scor]
- scor has quit (Quit: scor)
- 02:55:22 [kennyluck]
- kennyluck (~kennyluck@119.161.158.96) has joined #dig
- 02:57:09 [kennyluck]
- kennyluck has quit (Client Quit)
- 02:57:35 [kennyluck]
- kennyluck (~kennyluck@119.161.158.96) has joined #dig
- 04:06:18 [rszeno]
- rszeno has quit (*.net *.split)
- 04:40:45 [kennyluck]
- kennyluck has quit (Read error: Connection reset by peer)
- 04:41:15 [kennyluck]
- kennyluck (~kennyluck@119.161.158.96) has joined #dig
- 04:44:39 [bblfish]
- bblfish (~bblfish@AAubervilliers-651-1-278-106.w86-212.abo.wanadoo.fr) has joined #dig
- 04:59:28 [rszeno]
- rszeno (~rszeno@86.125.230.228) has joined #dig
- 05:14:36 [rszeno1]
- rszeno1 (~rszeno@86.125.230.228) has joined #dig
- 05:15:42 [rszeno1]
- rszeno1 has quit (Client Quit)
- 05:16:09 [rszeno1]
- rszeno1 (~rszeno@86.125.230.228) has joined #dig
- 05:16:49 [rszeno1]
- rszeno1 has quit (Client Quit)
- 05:17:06 [rszeno1]
- rszeno1 (~rszeno@86.125.230.228) has joined #dig
- 05:18:35 [rszeno1]
- rszeno1 has quit (Client Quit)
- 05:19:30 [rszeno]
- rszeno has quit (*.net *.split)
- 05:36:49 [rszeno]
- rszeno (~rszeno@86.125.230.228) has joined #dig
- 06:23:30 [kennyluck]
- kennyluck has quit (Ping timeout: 268 seconds)
- 06:50:42 [trueg_away]
- trueg_away is now known as trueg
- 07:05:43 [trueg]
- trueg is now known as trueg_away
- 07:09:29 [trueg_away]
- trueg_away is now known as trueg
- 07:31:11 [cheater__]
- cheater__ (~cheater@p4FD0FB5D.dip.t-dialin.net) has joined #dig
- 07:33:11 [cheater_]
- cheater_ has quit (Ping timeout: 268 seconds)
- 08:04:55 [presbrey]
- presbrey has quit (Quit: Terminated with extreme prejudice - dircproxy 1.2.0)
- 08:07:17 [presbrey]
- presbrey (~presbrey@2001:4830:2446:b5:aede:48ff:fe00:6001) has joined #dig
- 10:18:05 [melvster]
- melvster (~melvin@p5797EF8C.dip.t-dialin.net) has joined #dig
- 10:37:07 [trueg]
- trueg is now known as trueg_away
- 10:46:04 [rszeno]
- rszeno has quit (Quit: Leaving.)
- 11:12:34 [RalphS]
- RalphS (Ralph@30-7-118.wireless.csail.mit.edu) has joined #dig
- 11:42:08 [trueg_away]
- trueg_away is now known as trueg
- 12:47:35 [mcherian]
- mcherian (~mathew@111.93.158.50) has joined #dig
- 12:49:38 [mcherian]
- mcherian has quit (Client Quit)
- 13:17:58 [scor]
- scor (~scor@132.183.243.91) has joined #dig
- 13:17:58 [scor]
- scor has quit (Changing host)
- 13:17:58 [scor]
- scor (~scor@drupal.org/user/52142/view) has joined #dig
- 13:22:27 [amy]
- amy (~amy@30-6-207.wireless.csail.mit.edu) has joined #dig
- 13:46:09 [trueg]
- trueg is now known as trueg_away
- 13:48:27 [trueg_away]
- trueg_away is now known as trueg
- 13:57:27 [bblfish]
- hi betehess, I am just preparing a talk for a philosophy seminar I am going to next week, so I'll be a bit slow on banana.
- 13:57:50 [bblfish]
- (also will be cycling 250km there, and perhaps back)
- 14:57:52 [betehess_]
- betehess_ (~betehess@31-35-77.wireless.csail.mit.edu) has joined #dig
- 14:58:38 [betehess_]
- betehess_ has quit (Client Quit)
- 15:43:16 [melvster1]
- melvster1 (~melvin@p4FF9639A.dip.t-dialin.net) has joined #dig
- 15:44:54 [melvster]
- melvster has quit (Ping timeout: 240 seconds)
- 16:07:11 [trueg]
- trueg is now known as trueg_away
- 16:46:42 [betehess]
- bblfish, have fun at your philosophy seminar and your cycling challenge :-)
- 16:46:52 [bblfish]
- thanks
- 16:47:12 [betehess]
- I've had some little issues with banana-sesame yesterday, and I had to change the implementation
- 16:47:45 [betehess]
- it's fun to see that Sail lets you define the triple indexes
- 16:48:01 [betehess]
- where jena's TDB just maintains many indexes for you
- 16:48:11 [bblfish]
- ah I see. yes, I saw you made quite a few changes recently.
- 16:48:26 [betehess]
- no change in the interface
- 16:48:31 [betehess]
- only the implementation
- 16:48:44 [bblfish]
- are you back to compiling strings right?
- 16:48:49 [bblfish]
- for SPARQL
- 16:49:21 [bblfish]
- ( that's what I noticed glancing at it quickly)
- 16:49:24 [betehess]
- it's using query.getSourceString
- 16:49:46 [betehess]
- not sure if this is the original one, or if it serializes it
- 16:50:08 [betehess]
- I've dumped quickly the string, and I think that it actually kept the original one
- 16:50:42 [betehess]
- anyway, I needed to use the SailRepositoryConnection
- 16:50:48 [betehess]
- instead of SailConnection
- 16:50:57 [rszeno]
- rszeno (~rszeno@79.114.63.11) has joined #dig
- 16:50:59 [betehess]
- which is definitely not very nice to use
- 16:51:18 [bblfish]
- yes.
- 16:51:29 [betehess]
- also, I'm reading from the iterator directly
- 16:51:44 [betehess]
- with a while loop, like in the good old Java days :-)
- 16:51:54 [betehess]
- and I close the iterator at the end
- 16:52:13 [bblfish]
- :-) yes. sometimes good old solutions also work.I wonder if I these changes are still valid. I did not push them because I was not sure what you thought of them https://github.com/bblfish/banana-rdf/commit/203480cfe0ac7a8eaa5ab901cfe524d12a1f22ea
- 16:52:37 [betehess]
- I went quickly through those
- 16:52:46 [betehess]
- not sure I understand the spirit of the change
- 16:53:25 [betehess]
- especially: implicit def toStore(graph: Jena#Graph): JenaStore
- 16:53:28 [bblfish]
- oh just automoatically transform a graph to an rdf store
- 16:53:30 [bblfish]
- removes code
- 16:53:51 [bblfish]
- means we don't have twice the same code, once for graphs and once for stores
- 16:53:53 [betehess]
- in the case of jena, this is too much, isn't it?
- 16:54:12 [bblfish]
- well but all the code does is transform a graph to a store
- 16:54:20 [bblfish]
- so might as well use implicits then
- 16:54:25 [betehess]
- there is no need for that
- 16:54:45 [betehess]
- we should just define the thing as a typeclass
- 16:54:54 [bblfish]
- well yes, both the SPARQL graph query for Jena and Sesame transformed the graph to a store
- 16:54:55 [betehess]
- that works on a Jena@Graph
- 16:55:01 [betehess]
- Jena#Graph
- 16:55:18 [betehess]
- do they?
- 16:55:27 [bblfish]
- if you look at Jena code in detail, you see it transforms the graph to a store
- 16:55:33 [betehess]
- I though we could issue a query on a graph directly
- 16:55:35 [bblfish]
- not very deep into the code
- 16:55:36 [betehess]
- oh
- 16:55:40 [betehess]
- hrmmm
- 16:55:59 [betehess]
- do you actually use queries on graphs directly?
- 16:56:05 [bblfish]
- yes. I was a bit surprised too but then it makes sense
- 16:56:17 [betehess]
- I was wondering removing this part
- 16:56:19 [bblfish]
- no. Just dig into the Jena code
- 16:56:26 [bblfish]
- 1 or 2 hops
- 16:56:31 [betehess]
- ok, so I propose that we remove it
- 16:56:44 [betehess]
- it's up to the user to do the move from the graph to the store
- 16:56:45 [bblfish]
- ok +1 . That's what I did there and used implicits
- 16:57:01 [bblfish]
- not sure where to put the implicits
- 16:57:17 [betehess]
- the implicit is not needed
- 16:57:59 [bblfish]
- why?>
- 16:57:59 [betehess]
- we could just do something like: object JenaStore { ... def apply(graph): JenaStore = ... }
- 16:58:23 [bblfish]
- ah
- 16:58:32 [betehess]
- it's not good that an implicit does so much in your back
- 16:58:39 [betehess]
- make users aware that this is not free
- 16:58:52 [bblfish]
- yes. makes sense, and looks good too
- 16:59:16 [bblfish]
- mhh. But what if you want to write code that is not Jena or Sesame based
- 16:59:22 [betehess]
- easy
- 16:59:28 [betehess]
- you define a typeclass
- 16:59:40 [betehess]
- something like that
- 16:59:46 [betehess]
- (needs 2 minutes)
- 17:01:50 [betehess]
- http://pastie.org/4474820
- 17:02:11 [betehess]
- and we can actually generalize
- 17:02:35 [betehess]
- actually, no
- 17:02:49 [betehess]
- as the graph is there, using the sync store is just fine
- 17:02:58 [betehess]
- no need to parameterized with an M[_]
- 17:03:04 [bblfish]
- yes
- 17:03:20 [bblfish]
- I can add that improvement then and push the code.
- 17:03:42 [betehess]
- care to use a pull-request?
- 17:04:01 [bblfish]
- ok yes.
- 17:04:03 [betehess]
- thanks
- 17:04:23 [bblfish]
- I just need to get it to run with https://github.com/read-write-web/rww-play
- 17:04:33 [bblfish]
- you may have seen my mail to the scalaz mailing list
- 17:04:39 [betehess]
- you can define the typeclass as well if you want
- 17:04:48 [betehess]
- I'm not on this ML
- 17:04:57 [bblfish]
- ah on the Play Mailing List
- 17:04:59 [bblfish]
- also
- 17:05:07 [betehess]
- hrmm, no
- 17:05:14 [betehess]
- oh, the very long email?
- 17:05:18 [betehess]
- didn't have time to read
- 17:05:29 [bblfish]
- https://groups.google.com/d/topic/scalaz/0v0mv_2-WDw/discussion
- 17:05:34 [bblfish]
- ( for note )
- 17:06:28 [bblfish]
- got webid acl working in Play, as is now, but I was hoping to see if one can make one step better
- 17:06:39 [bblfish]
- as far as requesting client certs go
- 17:07:25 [bblfish]
- Still I'll just have time to make a pull request, read Lars Hupel's reply and see if I can digest it before going cycling
- 17:07:36 [bblfish]
- ( and respond intelligently )
- 17:12:48 [betehess]
- hrmmm, we'll need to use scalaz's Either instead of Validation
- 17:12:49 [betehess]
- https://github.com/scalaz/scalaz/blob/scalaz-seven/core/src/main/scala/scalaz/Either.scala
- 17:12:56 [betehess]
- that's the proper use
- 17:13:22 [bblfish]
- for what, where?
- 17:14:13 [betehess]
- everywhere we were using Validation
- 17:14:30 [betehess]
- I knew we were not using Validation the proper way
- 17:14:41 [betehess]
- we just wanted the flatMap
- 17:14:55 [betehess]
- because it's not there in the scala-core's Either
- 17:15:13 [betehess]
- Validation is not a monad
- 17:15:21 [betehess]
- because of the semantics for the Failure
- 17:15:28 [bblfish]
- ah?
- 17:15:39 [betehess]
- yeah, it violates on the laws
- 17:15:45 [betehess]
- at least in theory
- 17:15:55 [betehess]
- s/on/one of/
- 17:16:03 [bblfish]
- why did you notice this right now?
- 17:16:18 [bblfish]
- I thought Validation was about saying something is good or bad
- 17:16:26 [betehess]
- I knew it before, just wasn't aware that an Either was added
- 17:16:55 [betehess]
- the "bad" in question requires to be a semi-group so that you can compose the failures
- 17:17:07 [betehess]
- hence the NonEmptyList
- 17:17:16 [betehess]
- but we were not using that
- 17:17:26 [bblfish]
- ah yes. I thought I compose one without NonEmptyList, and you did too
- 17:17:36 [betehess]
- the thing is: *many* people were using scalaz's Validation just because it was convenient
- 17:17:45 [betehess]
- but they really meant Either+flatMap
- 17:17:48 [bblfish]
- can't they fix Validation
- 17:17:59 [betehess]
- no, Validation is fine, really
- 17:18:04 [bblfish]
- it's really the name we want to use no?
- 17:18:13 [betehess]
- we just didn't have a good option
- 17:18:15 [betehess]
- yes
- 17:18:19 [betehess]
- no
- 17:18:23 [betehess]
- Either is fine
- 17:18:39 [betehess]
- in this case, we should say \/
- 17:18:45 [bblfish]
- Ah I thought Validation brought with it the notion of success or failure, which Either does not have
- 17:18:48 [betehess]
- as it's the name of their Either :-)
- 17:19:19 [bblfish]
- Either does not have the notion of one side being right the other wrong.
- 17:19:29 [betehess]
- it's either a Failure or a Success :-)
- 17:19:38 [betehess]
- it does
- 17:19:41 [bblfish]
- yes but it could be Either[Banana,Apple]
- 17:19:50 [betehess]
- because the flatMap, map, etc. works on the right side
- 17:19:58 [bblfish]
- ah
- 17:20:02 [betehess]
- better: Banana \/ Apple
- 17:20:02 [bblfish]
- pitty
- 17:20:11 [bblfish]
- that's going to be a lot of code change, no?
- 17:20:14 [betehess]
- no
- 17:20:17 [betehess]
- just renaming
- 17:20:28 [betehess]
- we'll even save a few line of code
- 17:20:50 [betehess]
- but I can't do it right now, because of existing code in a project here at w3c
- 17:20:54 [bblfish]
- you're goiong to have a Banana.Validation extends scalaz.Either ?
- 17:21:25 [betehess]
- hrmm, we'll need another name
- 17:21:35 [betehess]
- also, it's a type alias
- 17:22:09 [betehess]
- type BananaValidationToBeChanged[T] = BananaException \/ T
- 17:22:39 [betehess]
- we could remove this guy
- 17:22:46 [betehess]
- and just keep BananaFuture
- 17:24:30 [bblfish]
- not all validations are futures....
- 17:24:34 [bblfish]
- BananaPeel
- 17:25:18 [bblfish]
- bananal.Peel[Slip,T]
- 17:25:24 [betehess]
- BananaFuture's definition: type BananaFuture[T] = Future[BananaException \/ T]
- 17:26:41 [bblfish]
- ok. well I'll leave that up to you.
- 17:26:52 [bblfish]
- (I saw there was a discussion on scalaz recently on the topic )
- 17:29:43 [betehess]
- ah?
- 17:30:49 [bblfish]
- Validation Semigroup in https://groups.google.com/forum/?fromgroups#!forum/scalaz
- 17:32:35 [RalphS]
- RalphS has quit (Ping timeout: 252 seconds)
- 17:32:57 [RalphS]
- RalphS (Ralph@30-7-118.wireless.csail.mit.edu) has joined #dig
- 17:37:48 [RalphS]
- RalphS has quit (Ping timeout: 265 seconds)
- 17:38:13 [RalphS]
- RalphS (Ralph@30-7-118.wireless.csail.mit.edu) has joined #dig
- 17:52:25 [trueg_away]
- trueg_away is now known as trueg
- 19:41:44 [trueg]
- trueg has quit ()
- 20:04:11 [bblfish]
- bblfish has quit (Remote host closed the connection)
- 20:16:46 [RalphS]
- RalphS has quit ()
- 20:49:45 [bblfish]
- bblfish (~bblfish@AAubervilliers-651-1-278-106.w86-212.abo.wanadoo.fr) has joined #dig
- 20:52:18 [nstolmaker]
- nstolmaker (~Adium@75-148-54-243-Oregon.hfc.comcastbusiness.net) has joined #dig
- 20:52:35 [nstolmaker]
- nstolmaker has left #dig
- 21:50:27 [scor]
- scor has quit (Quit: scor)
- 22:24:31 [melvster1]
- melvster1 has quit (Ping timeout: 246 seconds)
- 22:43:05 [scor]
- scor (~scor@c-98-216-97-72.hsd1.ma.comcast.net) has joined #dig
- 22:43:06 [scor]
- scor has quit (Changing host)
- 22:43:06 [scor]
- scor (~scor@drupal.org/user/52142/view) has joined #dig