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