Camelia, the Perl 6 bug

IRC log for #mojo, 2011-01-01

| Channels | #mojo index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:22 mattastrophe left #mojo
00:23 marcus Happy new years, mofos.
00:33 tempire not yet!
00:43 marcus Damn your eyes
00:56 mattastrophe joined #mojo
00:57 seb_ left #mojo
01:31 jwang left #mojo
01:59 seb_ joined #mojo
02:04 seb_ happy new year from france (3h04)
02:05 seb_ left #mojo
02:13 seb_ joined #mojo
03:25 verrens left #mojo
03:40 tempire SSL client cert auth support in Mojo::IOLoop written & tested!
03:40 tempire Hooray 2011!
03:40 * tempire wonders what he should do now
03:40 tempire I guess it's time to go to a party somewhere.
04:03 tl joined #mojo
04:05 tholen42 left #mojo
07:45 tempire sri: is there a way for me to access the listening socket object (IO::Socket::INET/SSL) from within a controller or ->app?
07:49 tempire Ah, Mojo::Transaction
08:40 curt joined #mojo
08:47 tempire Alright, here's what I'm thinking for ssl client auth support: http://pastie.org/1420997
09:16 perlrocks Twitter: "Mojolicious - Web framework for Perl http://www.findbestopensour​ce.com/product/mojolicious  #web-framework" --bestopensource http://twitter.com/bestopenso​urce/status/21132728430764032
09:42 curt left #mojo
09:51 perlite joined #mojo
09:51 marcus grrr
09:52 marcus sri: HALP
09:53 marcus I fail at async :-/
09:54 marcus For some reason my Oauth2 test isn't working. It isn't doing the $client->async->get()
09:54 marcus even tho I call ->start
09:56 marcus actually, it is doing it.. and failing: Interrupted, maybe a timeout?
09:57 marcus oooh. my request was failing and so not calling render. fun times
10:02 marcus I think that is the most common problem I keep debugging with Mojo. Not having called render for some stupid reason.
10:46 yko Oh! Hapy new year, mojo people!
10:57 crab happy new year to you too.
10:59 verrens joined #mojo
11:50 kaare joined #mojo
12:01 su-bzero_ left #mojo
12:32 MojoGuest133 joined #mojo
12:32 MojoGuest133 From: http://news.ycombinator.com/item?id=1277067 (133 hits)
12:35 MojoGuest133 left #mojo
13:27 seb_ left #mojo
13:31 perlrocks Twitter: "Mojolicious - A next generation web framework for the Perl  http://bit.ly/fFm0cY #perl" --amtindia http://twitter.com/amtindi​a/status/21196704925614080
13:44 snearch joined #mojo
14:24 seb_ joined #mojo
14:39 seb_ left #mojo
15:08 seb_ joined #mojo
15:26 sri happy new year
15:29 sri marcus: maybe you're not ready for async
15:32 sri tempire: looks ok
15:33 sri not sure about the layer though
15:33 sri cert access ok, but configuring ca stuff from there...hmm
15:44 curt joined #mojo
15:51 sri https://github.com/404 # wow, mouseover the image!
15:51 sri https://github.com/500 # same!
15:52 yko damn! cool!
15:52 yko what a great idea!!!
15:52 yko and so easy to implement
16:03 crab i dunno, i think it's creepy.
16:48 snearch left #mojo
16:56 sri tempire: try keeping it as simple as possible, i don't want more code in the core than absolutely neccessary
16:56 sri for example if something can be done in a plugin there is no much of a need to have it in core
16:56 sri *+t
17:01 verrens left #mojo
17:01 GitHub135 joined #mojo
17:01 GitHub135 mojo: master Sebastian Riedel * 644cc61 (3 files in 3 dirs): happy new year! - http://bit.ly/eGV8Vp
17:01 GitHub135 left #mojo
17:03 yko :))
17:18 alnewkirk joined #mojo
17:29 curt left #mojo
17:29 curt joined #mojo
17:35 tempire sri: The ssl_auth call will be a plugin.
17:36 tempire There's only a couple of lines of code in IOLoop that need to be added, and passes on to IO::Socket::SSL
17:36 sri tempire: figured as much
17:36 tempire You're right, it doesn't make sense to specify ca stuff at the app layer.
17:37 tempire I figure a ca_dir to ioloop will do the trick
17:37 tempire and a corresponding switch for daemon/hypnotoad
17:37 sri why a switch?
17:38 tempire how else to provide a custom path for CAs?
17:38 tempire it just funnels into IO::Socket::SSL
17:38 sri i thought we agreed on --listen
17:38 tempire that only covers one ca
17:38 tempire not very scalable
17:39 sri i don't like extra switches at all
17:39 sri clashes with multiple https listen sockets
17:39 tempire hrm
17:40 tempire there's also the concept of telling the connection to fail outright if the client cert doesn't validate.
17:40 sri sounds like a problem
17:41 sri don't think extra switches have a chance though, too ugly
17:42 sri multiple tls listen sockets should always be possible
17:43 tempire ah: --listen https://*:3000/:crt:key:ca_crt for one ca, --listen https://*:3000/:crt:key:ca_dir  for multiple
17:43 tempire perfect
17:44 sri way better :)
17:44 tempire I wasn't sure what to name the switch anyway
17:44 tempire --fail-on-ssl-client-cert-nonvalidation
17:45 sri i'd leave that up to the application
17:46 sri or is there an advantage in failing on the ssl layer?
17:47 sri or am i misunderstanding something now? :)
17:47 tempire security
17:47 sri ah, you simply reject all bad certs
17:48 sri makes sense
17:48 tempire right
17:49 tempire the code isn't hard, again, it's just another param to IO::Socket::SSL
17:49 tempire but it would be nice to limit it to the --listen parameter
17:49 * sri agreed
17:49 sri s/d/s/
17:50 tempire -listen https://*:3000/:crt:key:ca_crt:0?
17:50 tempire too cryptic
17:50 sri why have a switch at all?
17:51 tempire I want the choice of giving a real error message back to the client
17:51 tempire 'your certificate sucks'
17:52 sri why not always do that?
17:53 tempire If I have multiple auth-types, I don't want it to fail just because ssl validation fails
17:53 sri can't you handle the whole ca stuff on a higher level then?
17:54 tempire meaning before mojolicious?
17:54 sri in mojolicious
17:54 sri in your plugin
17:55 * tempire can't follow
17:55 tempire I'll make it work with what I have & see if I run into any obvious problems.
17:55 sri well, i'm just guessing, but i'm sure you'll come up with an acceptable api
17:57 tempire This ioloop stuff is pretty cool.
17:57 tempire Now I see why everyone in the channel was so excited about async
17:58 sri :)
17:59 sri how do you access the cert from a plugin?
17:59 sri new ioloop method?
17:59 tempire I haven't gotten there yet.  I'm *hoping* the socket is available via the tx
17:59 sri just the id
18:00 sri you might need my $cert = $loop->tls_cert($id) or so
18:00 tempire Are the ID's what's in the ->{_loop} ?
18:00 sri maybe my $socket = $loop->raw_socket($id); but i'd rather not expose the raw socket
18:01 sri nope, those are mostly file descriptors
18:01 sri _loop is kqueue/epoll/poll
18:02 sri ids are in {_cs}
18:03 sri all the meta data is kept there
18:03 su-bzero[A] is now known as su-bzero
18:03 yko oh, sri.... you so big!!! :)
18:04 sri -.-
18:04 yko Client cloning done so much right, thank you for that
18:05 tempire I have no idea what that means in other cultures, but it makes me giggle a little bit.
18:06 yko :) somebody told that phrase some time ago
18:06 tempire ah
18:06 tempire well then it's because he's web scale.
18:06 yko and now i use it to express the worship sri's talent
18:07 sri and i keep stating that i'm not fat
18:07 bionoid left #mojo
18:07 * yko giggles.
18:07 yko tempire: now you see, you are not alone who giggles on that phrase :)
18:08 sri wait wait wait... there would have to be clones of me to be web scale!
18:08 tempire easily built.
18:09 tempire All we need is a japanese tweet & we'll have a full day.
18:09 * tempire stares in the general direction of japan
18:10 sri wow, perlrocks doesn't crash anymore since i updated mojolicious \o/
18:11 yko yahoo!
18:11 tempire my website is still running the prefork daemon out of sheer stubbornness
18:11 sri prefork daemon was not bad for pure http
18:13 yko oh... is there way to clone cookie_jar from one Client to other?
18:13 yko $client->cookie_jar($parent->cookie_jar) is not an option
18:14 yko uff... just copy each value by hands? :(
18:14 sri $client->clone reuses the same cookie_jar
18:14 yko ye, that's great
18:15 sri why would you want to clone it?
18:15 yko parent will go further and cookie will be modified. child must save cookie state
18:16 yko i think ill just copy {_jar} and ->empty parent's cookies
18:16 yko just ignore me, thank you much
18:17 sri well, if you have a good use case it might be worth thinking about a patch
18:18 yko actually i don;t think it's a really use case. just a local hack against damned aspx site :\
18:22 yko I think it even can be done with native Client interface
18:22 yko Something like $client->cookie_jar->add($par​ent->cookie_jar->find($url));
18:22 yko But that's thing to check
18:24 sri that should be possible
18:24 sri you just give your child a fresh cookiejar before
18:25 curt left #mojo
18:25 curt joined #mojo
18:25 yko my hcild is newly created, so that's ok. Client stuff is so flexible, i love it
18:25 yko *child
18:27 yko how crazy should be man to make whole site navigation with js like: i will set some cookies and redirect to page "/do_everything/" and that page will be rendered according to your cookies
18:28 marty does flash persist beyond the next connection?  Or does it reset automatically unless redefined?
18:29 sri marty: it is stored in the session cookie
18:29 sri it persist for exactly one more request
18:29 sri *+s
18:30 marty Ahhh ok.  Makes sense.  Thank you sri.
18:45 yko sri: how do you think, would it be logic if CookieJar won't inject cookies if tx already has ones?
18:46 yko user_agent and other stuff work that way, maybe cookies also should
18:46 sri thats something entirely different
18:47 sri we follow the spec
18:48 yko sorry, maybe i told that wrong way. i mean if $tx->req already has defined cookies
18:49 yko the only way how they can appear before _tx_start is user manipulation, isn't it?
18:49 * sri doesn't follow
18:51 yko $tx = $client->build_tx(...); $tx->req->cookies(@cook); $client->get($tx);
18:51 tempire I'm guessing you added tls_args to ioloop->connect so you didn't have to provide wrappers for all the possible IO::Socket::SSL options.
18:51 tempire I'm thinking it might make sense to do the same for ->listen as well.
18:52 yko that way. if user predefines cookies in request, maybe CookieJar shouldn't override them
18:53 sri tempire: yes
18:54 sri yko: actually you are wrong, it doesn't override cookies, just adds more headers
18:55 su-bzero is now known as su-bzero[A]
18:56 sri yko: the topic might be more complicated than you think
18:56 kvorg left #mojo
18:56 yko i feel that, that's why i'm asking. you are right, it's better to leave it as is
18:56 yko is user needs 'incognito mode' it's always possible to do Client->new
18:57 sri i highly recommend reading the cookie specs, makes more sense to compare with it and look for compliant ways to achieve whatever you are trying to do
18:57 yko ye, i should do that way. thank you
18:57 sri it's not a single spec though
18:57 * marcus is back in oslo
18:58 sri you'll have to start with the old netscape specification...which is incompatible with the rfc...rather complicated
18:58 yko oh... -_-
18:59 sri getting cookies to work as well as they do now was a lot of trial and error
18:59 sri might explain why i'm very very cautious about changes there ;)
18:59 yko please don't think that i'm insist
19:00 kvorg joined #mojo
19:01 yko just discussing if thing that can be usefull for me can be usefull for others
19:01 yko anyway complicated client stuff is not widespread yet, but we have cookies on our side :)
19:01 sri thats how i understood it too
19:03 sri just wanted to make sure you see all the possible side effects of even small changes
19:04 sri actually rfc compliant servers are sadly very rare, even google.com still uses the netscape spec from the 90s
19:05 yko making changes in complicated systems reminds me the butterfly effect. you scratch behind the ear and get your leg fall off
19:05 marcus urgh
19:06 marcus sri: why does this line die?                         my $qp=Mojo::Parameters->new($tx->body);
19:06 marcus doh, tx does not have a body
19:06 * marcus stabs his foot
19:06 marcus All tests successful. SO SWEET
19:07 tempire tx doesn't have a foot either
19:07 sri yko: perfect analogy :)
19:07 marcus for some reason, when the callback died, my unit test didn't output anything
19:07 marcus are you eating those errors, sri?
19:07 sri marcus: likely
19:08 marcus delicious!
19:08 marcus :)
19:08 sri marcus: client callback?
19:09 sri the big problem there is that if you go async the client callback actually leaves the mojolicious layer and gets triggered from ioloop
19:09 sri if we didn't catch those it would take down the whole server
19:10 sri so ioloop does pretty much nothing without a safety net
19:10 marcus sri: yes
19:10 marcus it would be nice if it warned or something tho
19:10 marcus if if $@ gets set in the callback
19:10 sri it has a ->log object for that
19:11 sri your log level might just be too high
19:11 marcus I didn't see it
19:11 marcus hmm
19:11 marcus I even tried with MOJO_CLIENT_DEBUG=1
19:11 sri actually let me look something up
19:12 sri yea, should trigger an error log message
19:13 sri in mojolicious $self->client also shares the app log instance
19:14 sri MOJO_LOG_LEVEL=error mojo get http://localhost:4000 does the trick
19:14 marcus sri: this is in a unit test. Not doing anything to log level afaict.
19:14 marcus ok
19:15 marcus so error isn't a default log level?
19:15 sri feel free to investigate and possibly tweak defaults
19:16 marcus ok
19:18 sri the command line tools set it to fatal, i would expect the default to be 'error' or 'debug'
19:18 sri but it tries hard to inherit the application log instance
19:19 sri that also applies to tests
19:25 marcus maybe Test::Mojo could detect prove -v ?
19:25 marcus and set the debug level appropriately
19:25 sri hmm, is prove -v that common?
19:26 yko yes
19:26 yko :)
19:26 marcus I use it all the time for debugging test
19:26 marcus +S
19:26 sri well, it wouldn't hurt i guess
19:26 yko but i don't agree with marcus ;p
19:26 sri :S
19:26 marcus yko: why?
19:26 sri FIGHT!
19:26 yko haha
19:26 tempire prove -v++
19:26 * marcus gets the spiked gloves
19:27 * yko wears a hockey helmet
19:27 tempire marcus has a shot foot & no body
19:27 tempire *stabbed
19:28 * marcus aims for the kidneys
19:28 yko i think that defining log level or debugging constsnts in tests that really needs verbose output is better than catching run flag that may vary from system to system of from version to version....
19:29 yko marcus: right decision :)
19:29 marcus local $ENV{HARNESS_IS_VERBOSE} = 1
19:29 yko hm
19:30 * yko got strong kick.
19:30 marcus that is from TAP::Harness
19:30 yko i udnerstand
19:31 marcus I'm only talking about changing the default for tests
19:31 yko actualy few days ago i was thinkning about something like that.
19:31 marcus you should still be able to override it
19:31 yko okay, marcus won
19:31 marcus FATALITY
19:31 yko :D
19:32 sri $ENV{MOJO_LOG_LEVEL} ||= 'debug' if $ENV{HARNESS_IS_VERBOSE}; ?
19:33 marcus sounds good
19:33 yko it reminds me old fun stuff http://korshak.name/toha.gif
19:34 sri oooooh
19:34 sri now i get why tests are silent by default -.-
19:34 yko Mojo::Test overrides
19:34 sri yea
19:35 yko \hmm i thought you knew that
19:35 * sri has written so much code during the last year he barely remembers his name
19:35 yko i saw that few month when was stealing some code from there, so thought it's okay :)
19:39 GitHub86 joined #mojo
19:39 GitHub86 mojo: master Sebastian Riedel * 35d2d9c (1 files in 1 dirs): tweaked default log levels for testing a bit - http://bit.ly/ghDfX8
19:39 GitHub86 left #mojo
19:45 tempire Can I change the error handler subref after $loop->listen is called?
19:51 curt left #mojo
19:52 sri tempire: don't think so
19:53 MojoGuest946 joined #mojo
19:53 MojoGuest946 From: http://news.ycombinator.com/item?id=1277067 (134 hits)
19:57 jegade joined #mojo
20:01 jegade hi, i like to build a websocket-based chat system, cross-browser, could socket.io work with Mojolicious?
20:02 sri think it has even been done before
20:02 sri there are problems you need to be aware of though
20:02 sri websockets will break completely soon
20:03 sri the spec is not ready
20:03 jegade ok, currently i use ape with long-polling, try to build a solution thats futureproof
20:03 jegade socket.io has nice failbacks
20:04 sri ok, then you're already aware of the scaling problems of long polling
20:05 MojoGuest946 left #mojo
20:15 MojoGuest965 joined #mojo
20:19 MojoGuest965 left #mojo
20:23 tempire ah!
20:23 tempire mojolicious .perltidy made my code construct look ugly
20:24 sri then your code must be bad!
20:24 tempire boo
20:44 curt joined #mojo
20:49 ispy_ joined #mojo
20:50 curt left #mojo
20:51 curt joined #mojo
20:52 yko hmm. if i have two clients, how do i made subrequests of second non-blocking inside of requests of first?
20:52 yko should second client->async somehow share ioloop of first?
20:53 yko https://gist.github.com/762000 this gist illustrates problem.
20:57 sri go async all the way
20:57 sri with external ioloop
20:58 sri https://github.com/kraih/mojo/b​lob/master/t/mojo/client.t#L224
20:59 yko oh... i think i get it. thank you much
21:00 yko ye. really, thank much
21:01 sri hmm, redis is changing again :o
21:01 sri the latest changes might make it more interesting for mainstream database tasks again
21:02 sri it now has a diskstore branch
21:54 tempire hooray!  support for ca auth with optional callback verification is tested.
21:54 tempire but
21:55 tempire These tests are currently dependent on existing cert files.  Not sure how to test this without mock objects.
21:56 sri quite sure you can generate test certs that stay valid for 10 years, like the ones included in Mojo::IOLoop
21:56 sri just make sure to document how to regenerate everything
21:56 tempire So you have no problem with having separate cert files in t/ ?
21:57 sri not if there are comments describing how to generate them
22:09 tempire what about a script to generate them?
22:12 tempire actually, what about mojo generate ssl
22:12 sri don't like it
22:13 tempire former or latter
22:13 sri both
22:13 tempire k
22:13 sri just keep a small list of commands in the test
22:13 sri it will be used every 10 years or so
22:14 tempire 10 years from now, you'll be talking about how mojolicious is old school, and that perl is on its way out
22:14 tempire ;)
22:15 sri actually i hope we'll have ported everything to perl6 by then ;p
22:17 tempire shnikies
22:17 tempire nevermind, I just generated a cert that will expire in 2025
22:24 tempire 10000 days.  I think 2038 will do.
22:25 tempire gmt.
22:34 tempire are there tests for Mojo::Server::Daemon?
22:34 sri almost all tests use it
22:35 sri automatically through the client
22:35 tempire I'm concerned about my changes to _listen, which take the extra parameter for the ca
22:36 tempire all the existing tests run green
22:36 tempire not sure where to add the test for that extra param
22:37 sri i don't think there are existing tests for that
22:37 tempire !!
22:37 sri you would have to build your own Mojo::Server::Daemon instance and have it share the same ioloop with a fresh client
22:38 sri think only the https websocket test covers it
22:39 sri but that might be too hard for you to dig in
22:39 sri or maybe not if you ignore the proxy parts
22:40 tempire It doesn't look all that hard.  But I'm not excited about it.
22:40 tempire The first option sounds better.
22:41 sri it is the first option
22:41 sri just with some additions
22:44 marcus sri: verbose change worked great.
22:48 curt left #mojo
22:50 curt joined #mojo
22:53 marcus sri: what was the url to the twitter oauth2 endpoint?
22:53 marcus http://code.google.com/p/an​droid/issues/detail?id=9392 so lol
23:00 tempire Can I specify IOLoop options through Test::Mojo ?
23:00 tempire for the listener
23:00 verrens joined #mojo
23:04 marcus No Mojo talks at Perl Oasis :-/ http://perloasis.org/conferences.html
23:04 tempire Who would give them?
23:05 tempire I'm probably going to that, only 3 hours away.
23:05 marcus tempire: so, you should have signed up for a talk :)
23:06 tempire I thought about it.  I've never been to a perl thing before, though.  It seemed presumptuous to do so.
23:07 tempire sri - where are the mojolicious t-shirts?
23:07 tempire I'll be that guy.
23:07 marcus tempire: fair enough. You can submit one for yapc-na instead :)
23:07 marcus that's on the east coast as well, iirc
23:07 marcus ooh, mojolicious shirts. I want
23:08 marcus on american apparel shirts.
23:08 tempire How about some hipster jeans with the mojo cloud embroidered in the back pocket
23:08 tempire seven for all mankind jeans, maybe.
23:08 kaare left #mojo
23:09 tempire or a themed scrunchy.
23:09 marcus Nudie jeans
23:09 tempire I cancelled my move to Malaysia, so I'll be in Florida next year as well.  I'll give a mojo talk then.
23:10 marcus Good stuff
23:10 marcus One of our coworking guys just moved to Malaysia
23:10 tempire kuala lumpur?
23:11 marcus not sure :)
23:11 marcus http://www.discmakers.com/me​rch/products/PremiumTees.asp
23:11 marcus I think it was because of a girl
23:11 marcus and the climate maybe
23:12 tempire oh the girlies
23:12 tempire he's caught up in the game now, whoever he is.
23:15 tempire ah, nevermind sri.  I remember how to do the test::mojo/ioloop options.
23:32 marcus ah, https://oauth.twitter.com/2/authorize
23:33 marcus now where is the access token url..
23:34 tempire marcus: how far along are you in finishing the oauth2 plugin?
23:34 marcus tempire: it's done
23:34 tempire excellent
23:34 tempire any idea how to access ioloop from within a plugin?
23:34 marcus https://github.com/marcusramb​erg/mojolicious-plugin-oauth2
23:35 tempire You should include your pod in a readme.
23:36 marcus tempire: will do
23:36 tempire the synopsis, at least
23:36 verrens left #mojo
23:38 MojoGuest227 joined #mojo
23:38 MojoGuest227 From: http://www.google.pl/url?sa=t&source=web​&cd=3&ved=0CCwQFjAC&url=http%3A%​2F%2Fdev.xantus.org%2F&rct=j&q=webso​ckets%20demo&ei=jbofTeSaH4iu8QPNoumOBQ&a​mp;usg=AFQjCNGw6nZv0wO42uzUnHhWcD0vcKNULg&am​p;sig2=aSCARm_PjusXHMvk0bBj0A&cad=rja (1 hits)
23:38 MojoGuest227 test
23:38 tempire tested.
23:38 MojoGuest227 thanks
23:38 marcus tempire: Mojo::IOLoop->singleton ?
23:39 tempire seems so.
23:39 tempire just found it
23:39 marcus can haz readme
23:39 marcus tempire: I'm interested in feedback on the oauth2 plugin btw
23:40 marcus will probably upload it to cpan and do a little blogpost tomorrow
23:40 tempire I'll be using it in the next week, probably.
23:40 tempire Though I'm a little hesitant because I don't understand the process.
23:40 tempire or how it's different from oauth1
23:41 marcus it's much simpler
23:41 marcus basically it just uses https instead of doing all the crypto dance oauth1 does
23:41 tempire does it require a browser like openid?
23:41 marcus it just redirects to the provider to get the user's permission, then fetches a token
23:41 marcus the flow I use here does
23:42 marcus there's other flows too
23:42 MojoGuest227 left #mojo
23:42 MojoGuest804 joined #mojo
23:42 MojoGuest804 From: http://www.google.pl/url?sa=t&source=web​&cd=3&ved=0CCwQFjAC&url=http%3A%​2F%2Fdev.xantus.org%2F&rct=j&q=webso​ckets%20demo&ei=jbofTeSaH4iu8QPNoumOBQ&a​mp;usg=AFQjCNGw6nZv0wO42uzUnHhWcD0vcKNULg&am​p;sig2=aSCARm_PjusXHMvk0bBj0A&cad=rja (2 hits)
23:43 MojoGuest804 left #mojo
23:43 MojoGuest919 joined #mojo
23:43 MojoGuest919 From: http://www.google.pl/url?sa=t&source=web​&cd=3&ved=0CCwQFjAC&url=http%3A%​2F%2Fdev.xantus.org%2F&rct=j&q=webso​ckets%20demo&ei=jbofTeSaH4iu8QPNoumOBQ&a​mp;usg=AFQjCNGw6nZv0wO42uzUnHhWcD0vcKNULg&am​p;sig2=aSCARm_PjusXHMvk0bBj0A&cad=rja (3 hits)
23:43 tempire Mojo::IOLoop->singleton is empty. :(
23:44 marcus guess you're not in the loop
23:44 marcus ;)
23:44 tempire bu-dum-psh!
23:48 MojoGuest919 left #mojo
23:48 MojoGuest859 joined #mojo
23:48 MojoGuest859 From: http://www.google.pl/url?sa=t&source=web​&cd=3&ved=0CCwQFjAC&url=http%3A%​2F%2Fdev.xantus.org%2F&rct=j&q=webso​ckets%20demo&ei=jbofTeSaH4iu8QPNoumOBQ&a​mp;usg=AFQjCNGw6nZv0wO42uzUnHhWcD0vcKNULg&am​p;sig2=aSCARm_PjusXHMvk0bBj0A&cad=rja (4 hits)
23:49 MojoGuest859 left #mojo
23:50 MojoGuest191 joined #mojo
23:50 MojoGuest191 From: http://dev.xantus.org/ (37 hits)

| Channels | #mojo index | Today | | Search | Google Search | Plain-Text | summary