The web in a box - a next generation web framework for the Perl programming language

IRC log for #mojo, 2014-08-10

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

All times shown according to UTC.

Time Nick Message
00:03 good_news_everyon joined #mojo
00:03 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/pkRGbQ
00:03 good_news_everyon mojo/master ae70411 Sebastian Riedel: mention how to hide stash values from templates
00:03 good_news_everyon left #mojo
00:03 sri jberger: your turn! :D
00:07 jberger http://irclog.perlgeek.de/mojo/2014-01-26#i_8178303
00:08 jberger :-P
00:08 jberger (I'm going to use that quote forever)
00:11 sujithm joined #mojo
00:21 sri :D
00:38 neyasov___ joined #mojo
00:40 sri jberger: soooo, you stumbled? ;p
00:50 sri i always figured it was clear that we encourage the use of dots in stash values
00:53 jberger not stumbled, eated
00:53 * jberger made dinner for his wife
00:54 jberger wait ....
00:55 jberger no, that should be ok too
00:56 jberger sri/all: in the meantime, does anyone have anything to contribute to this (regarding per-framework perl module dependencies): https://github.com/TechEmpower/FrameworkBenchmarks/issues/966
00:56 jberger I also want to say that the people at TechEmpower have been really cool
00:57 jberger I know that one guy worked for hours to get mongodb 2.6 working so that I could use recent Mango version
00:57 sri hey, that's the guy that helped me make mongodb testing with travis more reliable :)
00:58 sri https://github.com/kraih/mango/commit/2630ae0f37a60e45a170b851fdc6d684113f6d16
00:58 jberger \o/
00:59 sri he must have stumbled over the thread where i posted the mongodb 2.6 workaround when he was working on that
00:59 sri small world
00:59 purl ... but I wouldn't want to paint it.
00:59 jberger hehe, yeah
00:59 jberger yeah, he put real work into that
01:10 d4rkie joined #mojo
01:27 d4rkie joined #mojo
01:30 klapperl_ joined #mojo
01:40 neyasov___ joined #mojo
01:53 KCL joined #mojo
02:22 jberger sri: ok, I can see it now
02:22 jberger I'm not giving up, but I can see it
02:23 jberger btw, I have all the non-obvious breaking tests passing
02:23 jberger obvious meaning nested or missing helperstests
02:40 neyasov___ joined #mojo
02:49 jberger my patch is looking almost the same as yours now sri
02:49 jberger except with the different mechanism for declaration
02:57 noganex joined #mojo
03:41 neyasov___ joined #mojo
03:53 basic6 joined #mojo
04:42 neyasov___ joined #mojo
05:43 neyasov___ joined #mojo
05:50 jainmj joined #mojo
05:52 neyasov___ joined #mojo
06:21 neyasov___ joined #mojo
06:29 basiliscos joined #mojo
06:59 neyasov___ joined #mojo
07:17 denis_boyun joined #mojo
07:34 Vandal joined #mojo
07:54 neyasov____ joined #mojo
08:06 gatitskiy joined #mojo
08:22 voegelas joined #mojo
08:53 gatitskiy joined #mojo
08:59 gatitskiy joined #mojo
09:03 jainmj joined #mojo
09:38 sri jberger: exactly what i expected ;p
09:59 jainmj joined #mojo
10:24 Eke- joined #mojo
10:29 d4rkie joined #mojo
10:38 Martin90 joined #mojo
10:38 Martin90 Hello
10:39 sri o/
10:39 Martin90 ;)
10:41 Martin90 is it possible to read html input values, forms from pure html without helpers etc ?
10:44 moritz Martin90: you mean submitted values?
10:44 moritz Martin90: or parse HTML?
10:45 Martin90 submitted or passed using formdata() in js
10:47 moritz $self->param('name')
10:47 sri http://mojolicio.us/perldoc/Mojolicious/Lite#GET-POST-parameters
10:48 Martin90 I have an old script which use CGI.pm I want to move it to mojo server with as less work as possible
10:48 Martin90 so my plan is to set up web server from mojo and still use old template system etc
10:49 Martin90 if it is really only $self->param('name') so move from cgi to mojo server should be relatively simple
10:51 Martin90 sri, you probably have done it before, right ?
10:51 sri done what?
10:52 Martin90 move an old script from CGI to MOJO server ?
10:52 sri i' have not dealt with CGI.pm since the 90s
10:52 Martin90 ;)
10:53 sri i started Catalyst in 2004... even then it was considered antiquated
10:53 Martin90 yes I know
10:53 * moritz still has a few CGI scripts running in production
10:53 moritz "if it ain't fixable, don't break it"
10:54 sri Martin90 is mixing up CGI the protocol and CGI.pm though
10:54 sri CGI the protocol is still supported by Mojolicious
10:54 Martin90 I want to install mojo server in my aplication to gain fast non blocking web server
10:55 Martin90 is it good idea to use only mojo web servwer ?
10:55 d4rkie joined #mojo
10:56 Martin90 sri, I know it is present in Mojo, but why to use it when we have built in webserver ;) ?
10:56 sri http://mojolicio.us/perldoc/Mojolicious/Guides/Cookbook#DEPLOYMENT
10:57 Martin90 yes I have read it
10:57 Martin90 Hypnotoad
10:57 purl ALL GLORY TO THE HYPNOTOAD!!! or nice running on a raspberry pi. Whenever I'll think about something useful to do with Akron's raspberry, I guess it will be a mojo service ...
10:57 Martin90 looks like the way to go
10:59 Martin90 but I am stuck in question whether use fastCgi on nginx and make little adjustment from CGI.pm to fast cgi or get rid of cgi and use mojo wbeservwer
10:59 Martin90 what do you think ?
10:59 purl I think Martin90 should try flossing more often!
11:36 denis_boyun_ joined #mojo
11:59 good_news_everyon joined #mojo
11:59 good_news_everyon [mojo] kraih created tiny_nested_helpers (+4 new commits): http://git.io/v6cjeQ
11:59 good_news_everyon mojo/tiny_nested_helpers 11b5d00 Sebastian Riedel: basic support for nested helpers
11:59 good_news_everyon mojo/tiny_nested_helpers e8c3e07 Sebastian Riedel: added tests for nested helpers
11:59 good_news_everyon mojo/tiny_nested_helpers 96ffc7c Sebastian Riedel: return a little earlier
11:59 good_news_everyon left #mojo
11:59 sri a more minimalistic implementation
12:00 sri jberger: since in my version the proxy class doesn't need any public methods, it could just as well be hidden https://github.com/kraih/mojo/compare/tiny_nested_helpers
12:18 dotan joined #mojo
12:24 gatitskiy joined #mojo
12:26 sujithm joined #mojo
12:36 good_news_everyon joined #mojo
12:36 good_news_everyon [mojo] kraih pushed 1 new commit to tiny_nested_helpers: http://git.io/1e0_YA
12:36 good_news_everyon mojo/tiny_nested_helpers 9ed50ab Sebastian Riedel: added documentation for nested helpers
12:36 good_news_everyon left #mojo
12:36 sri ok, i think this example makes the motivation very clear
12:39 gatitskiy joined #mojo
12:40 * sri pokes tempire, jberger, marcus, batman and crab again
12:40 sri at the off chance that this stuff wasn't clear before
12:44 good_news_everyon joined #mojo
12:44 good_news_everyon [mojo] kraih pushed 1 new commit to tiny_nested_helpers: http://git.io/NwF-tQ
12:44 good_news_everyon mojo/tiny_nested_helpers 8fd68ed Sebastian Riedel: documentation tweaks
12:44 good_news_everyon left #mojo
12:45 sri i'm actually pretty close to dictating that we do this... since it all fits so well together now ;p
12:46 sri read this and tell me it's a bad idea https://github.com/kraih/mojo/compare/tiny_nested_helpers#diff-65cf575515a0ad467194433b39cd30d3R897
12:48 good_news_everyon joined #mojo
12:48 good_news_everyon [mojo] kraih pushed 1 new commit to tiny_nested_helpers: http://git.io/fQOQsA
12:48 good_news_everyon mojo/tiny_nested_helpers 1d6c327 Sebastian Riedel: fixed typo in example
12:48 good_news_everyon left #mojo
12:51 gatitskiy joined #mojo
13:38 aghbas joined #mojo
13:49 jberger sri: while I still wish that there was a more programmatic way do declare nested helpers, that description does look much better
13:50 jberger s/do/to/
14:07 dotan joined #mojo
14:15 sri jberger: what would be the advantage of a more programmatic api at the lowest level?
14:16 sri like this nested helpers can reuse the whole helper infrastructure
14:16 jberger I want to say "no magic unless absolutely necessary"
14:16 jberger but how about introspection
14:16 purl somebody said introspection was just a convention. no need to build it into a programming language
14:17 sri introspection?
14:17 purl hmmm... introspection is just a convention. no need to build it into a programming language
14:17 jberger what if one helper needs to check that another nested helper is available
14:18 sri just like we do now... exists app->renderer->helpers->{'foo.bar'}
14:19 sri or !!app->renderer->get_helper('foo') if you want proxy helpers too
14:19 jberger hmmm, it would be nice if it worked with ->can (and yes I realize that that doesn't work now)
14:19 sri yea, that's just silly
14:20 jberger no need to argue anymore though, I can see the value and with the new doc I'm not opposed (even if I'm not strongly for)
14:21 sri i sounds more like you want to change how all helpers work
14:21 batman can i get some time to (try) make it work without AUTOLOAD?
14:22 jberger without ->can it has always felt like helpers were second-class methods, this change just enhances that feeling to me is all
14:22 sri jberger: thing is ->can('some_helper') can't ever work, because we depend on that behavior
14:23 jberger you can overload can
14:23 sri the dispatcher needs that separation to separate actions from helpers
14:23 jberger orly?
14:23 purl YA RLY.
14:23 sri yes, it's the core of mojolicious
14:24 sri helpers are second class by design
14:24 sri batman: i do not want a million generated classes for prefixes
14:25 jberger hmmmm, if that really is true ("helpers are second class by design") then I have no problems with adding nested helpers in this way
14:25 jberger to me it felt like with a little work they didn't need to be, and this was moving farther away from that
14:25 sri batman: anyway, the tiny_nested_helpers branch hides the implementation details, so you could still make it work later on
14:25 jberger but if that is by design, then I have no qualms
14:25 batman sri: i don't think i need to autogenerate...
14:26 sri jberger: ooooh, now your way of thought makes more sense to me
14:27 jberger sri: just as devils advocated, could we not provide proper ->can and have some ->is_method_helper which makes the distinction?
14:28 sri jberger: not a huge fan of that... a lot of classes would have to be updated to make it consistent
14:28 sri jberger: what's the use case?
14:29 jberger I don't think a single use-case is necessary here, in doing so I would be making helpers more like first-class methods, the use case is being able to introspect and use helpers more like other perl methods
14:30 jberger use case: "being more perly"
14:30 jberger I'm ok if we decide that that is really a design goal, but I just want to make sure that its because its a design goal and not just because we didn't think about it a little bit
14:31 jberger (that being "helpers as second class methods")
14:31 sri definitely by design
14:31 jberger ok
14:32 jberger then I'm +1 on nested helpers
14:32 jberger with no reservations
14:33 sri hahaha... TIL grep.cpan removes trailing whitespace when searching for "sub can\ "
14:33 sri jberger: \o/
14:34 jberger I'm glad you understand my way of thought too
14:34 jberger not that you have to agree
14:35 KCL_ joined #mojo
14:36 sri hmm, most results for http://grep.cpan.me/?q=sub+can+%5C%7B are from a bundled Spiffy.pm
14:38 sri some of those results are really scary :O
14:38 batman sri: i'm curious: why don't you want auto-generated classes?
14:38 sri batman: been burned too often
14:38 sri even templates are compiled into the same class now
14:38 batman "burned" ?
14:39 sri tracking down leaks and shit
14:39 batman oh. i didn't know that (templates)
14:39 batman when did that happen? (templates) can i see how you did that?
14:40 sri i believe it's like that for a very long time
14:40 batman ok
14:40 sri code is shared between Mojo::Template and the EPRenderer/EPLRenderer plugins
14:42 batman i think helpers would be perfect case for Package::Anon ;-)
14:42 sri get it into core...through a time machine 10 years ago ;p
14:42 batman :D
14:43 sri we still need stateful objects though, i believe Package::Anon would be rather expensive there
14:44 sri as in every time someone calls a prefix helper, you have to build a new anon obkect
14:44 sri *object
14:46 sri in the current version instantiating that object is rather cheap, just method lookup is expensive
14:47 sri "expensive" in relative terms
14:48 sri batman: i trust you've seen my benchmark https://gist.github.com/anonymous/965bf877a45627545932
14:48 sri the tiny_nested_helpers branch is a little faster... at 2.33s
14:49 batman ok
14:49 sri all with tiny_nested_helpers https://gist.github.com/anonymous/6b66860c9ee252d83ef7
14:57 oetiker how can I add a route that sends all that has not been routed yet to a particular controller.
14:58 sri http://mojolicio.us/perldoc/Mojolicious/Guides/Routing#Catch-all-route
15:15 denis_boyun joined #mojo
15:15 * batman doesn't have enough time
15:16 good_news_everyon joined #mojo
15:16 good_news_everyon [mojo] kraih pushed 1 new commit to tiny_nested_helpers: http://git.io/XfBRlA
15:16 good_news_everyon mojo/tiny_nested_helpers 9f3f7ba Sebastian Riedel: a few more tests for nested helpers
15:16 good_news_everyon left #mojo
15:16 sri benchmark is down to 2.22s, since if the proxy class is private the blessed check is not really necesary either
15:17 batman sri: i won't make the patch, so don't bother to count my vote in either direction.
15:17 batman :/
15:17 * batman makes dinner
15:18 sh4 joined #mojo
15:19 sri batman: since all the details of the implementation stay private, you should be able to work on optimizations any time in the future
15:20 sri latest results https://gist.github.com/anonymous/c432b258929168ce8a59
15:39 good_news_everyon joined #mojo
15:39 good_news_everyon [mojo] kraih pushed 1 new commit to tiny_nested_helpers: http://git.io/4RflLw
15:39 good_news_everyon mojo/tiny_nested_helpers 9a876c6 Sebastian Riedel: documentation tweaks
15:39 good_news_everyon left #mojo
15:42 good_news_everyon joined #mojo
15:42 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/eP4Z9w
15:42 good_news_everyon mojo/master 98e6215 Sebastian Riedel: updated Changes file
15:42 good_news_everyon left #mojo
15:42 sri and it's in master
15:42 sri \o/
15:45 jberger \o/
15:49 sri https://github.com/kraih/mojo/compare/v5.26...HEAD
16:00 dj_goku joined #mojo
16:05 good_news_everyon joined #mojo
16:05 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/pkUH0A
16:05 good_news_everyon mojo/master 7bed0bd Sebastian Riedel: more tests for nested helpers
16:05 good_news_everyon left #mojo
16:15 jainmj joined #mojo
16:16 good_news_everyon joined #mojo
16:16 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/IvNDxA
16:16 good_news_everyon mojo/master dfabeeb Sebastian Riedel: make lookup of helpers by full name a little faster
16:16 good_news_everyon left #mojo
16:22 good_news_everyon joined #mojo
16:22 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/S0JFfA
16:22 good_news_everyon mojo/master 121f050 Sebastian Riedel: generated helpers can be cached
16:22 good_news_everyon left #mojo
16:23 sri booyah!
16:24 sri new results https://gist.github.com/anonymous/d3e326c2d7fdd3626709
16:25 sri from 2.47s down to 1.97s
16:29 denis_boyun joined #mojo
16:36 good_news_everyon joined #mojo
16:36 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/l2_b3Q
16:36 good_news_everyon mojo/master 0b62dab Sebastian Riedel: a few more nested helper tests
16:36 good_news_everyon left #mojo
16:57 jainmj joined #mojo
17:11 denis_boyun_ joined #mojo
17:30 sh4|2 joined #mojo
17:56 good_news_everyon joined #mojo
17:56 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/w4MO_g
17:56 good_news_everyon mojo/master 805ef13 Sebastian Riedel: mention when get_helper returns undef
17:56 good_news_everyon left #mojo
17:57 good_news_everyon joined #mojo
17:57 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/5mZutQ
17:57 good_news_everyon mojo/master 5cddf07 Sebastian Riedel: test actual return values
17:57 good_news_everyon left #mojo
18:11 dod joined #mojo
18:24 Eke- joined #mojo
18:49 jojo joined #mojo
18:52 fitnerd joined #mojo
19:04 zivester joined #mojo
19:07 jberger sri++
19:46 sri i got it down to 1.84s by switching to an array based object... but not sure if i'm going a little too far with that
19:49 sri 1.79s if i get rid of ->new
19:50 sri https://gist.github.com/anonymous/f16b96fc45032d6995b8 # for 1.79s
19:51 sri current value is 1.97s
19:52 sri and a helper just returning $c would be 1.64s
19:53 Martin90 joined #mojo
19:56 good_news_everyon joined #mojo
19:56 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/yNPmdg
19:56 good_news_everyon mojo/master e690351 Sebastian Riedel: faster proxy objects
19:56 good_news_everyon left #mojo
19:56 sri might as well make it fast :)
19:59 sri https://gist.github.com/anonymous/fc7e604c772d88cb5963 # results now
20:04 Martin90 in case of mojo and nginx, moje server daemon is linked with nginx daemon ?
20:11 sri btw. this is the ojo function i had in mind for one-liner benchmarks https://gist.github.com/anonymous/47928ea73169b0fc7e7d
20:12 batman sri: could you add an optional $n to support calling the same method many times?
20:12 batman i'm +1 either way :)
20:12 batman on i()
20:13 sri optional argument kinda makes it suck
20:13 denis_boyun joined #mojo
20:13 batman shift->() for 0..($_[1] || 0);
20:13 sri perl -Ilib -Mojo -E 'say i { say g("mojolicio.us")->code }, "s"'
20:13 sri then this doesn't work
20:13 sri personally i rather use for 1 .. 10000 for one-liners anyway
20:14 batman -e'i { ... } 1000' ?
20:16 batman perl -le'sub i (&@) { $_[0]->() for 0..($_[1]||0); } i { warn $_ } 10; i { warn "once" }'
20:19 sri doesn't work
20:19 purl Look buddy, doesn't work is a strong statement. Does it sit on the couch all day? Is it making faces at you? Does it want more money? Is it screwing your partner? Please be specific!
20:23 batman why doesn't it work?
20:23 sri because everything after the number gets pulled into the array
20:24 sri perl -Ilib -Mojo -E 'say i { say g("mojolicio.us")->code } 10, "s"'
20:24 batman so? what would you use the rest of the arguments for?
20:25 sri for the say
20:26 * batman doesn't get it
20:26 batman but now i need to give up. going to bed.
20:26 jberger (&;$)
20:26 sri benchmark looks nice though
20:26 sri perl -Ilib -Mojo -E 'helper "foo.bar" => sub { "works!" }; my $c = app->build_controller; say i { $c->foo->bar } 100000'
20:27 Adura Next up, uppercase letters.
20:27 batman yeah. that was the idea. (benchmarks)
20:28 batman there's no use of @_ in your code, except for shift; so i have no idea how my additional code breaks any of your...
20:28 batman http://p.thorsen.pm/1c8a30bf4434
20:28 sri jberger: too many arguments...
20:30 jberger nm, I don't have a horse in this race
20:31 * jberger is busy with FrameworkBenchmark
20:31 jberger https://github.com/TechEmpower/FrameworkBenchmarks/pull/986
20:32 sri anyway... here's the patch https://gist.github.com/anonymous/3b69657b629424cc7df3
20:33 batman sri: i'm +1 for that one.
20:33 sri since it got rather complicated i'm not sure where i stand anymore
20:37 jberger sri: could it trigger Benchmark?
20:37 sri ?
20:37 jberger Benchmark.pm
20:37 purl hmmm... Benchmark.pm is over THAT way
20:37 sri ?
20:37 * jberger smacks purl
20:37 * purl smacks jberger back, harder
20:37 sri go purl!
20:37 purl You go, sri!
20:37 sri \o/
20:44 * jberger throws purl down a flight of stairs
20:44 jberger (I forget what the magic incantation for that one is)
20:45 sri :c
20:46 punter joined #mojo
20:48 good_news_everyon joined #mojo
20:48 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/YJFRVQ
20:48 good_news_everyon mojo/master a2f0556 Sebastian Riedel: added i function to ojo
20:48 good_news_everyon left #mojo
20:51 sri funny thing is, if the _timer function was made public in Mojo::Util it would require one less line of code
20:53 sri jberger: but seriously, i have no idea what you meant with the Benchmark.pm reference
20:55 jberger you have used Benchmark.pm right?
20:55 sri Oo
20:55 jberger it has various "time this coderef" things
20:56 sri i have not used the lower level functions it appears to have
20:56 sri which are heavily underdocumented
21:01 sri ah, replicated it with Benchmark :)
21:03 sri there is also the timestr() stuff, which does the formatting... but i'm not sure how that would fit in
21:03 sri https://gist.github.com/anonymous/ddd6acf124b940390e06
21:04 sri or would you want that printed to stdout/stderr automatically instead of returning the time?
21:06 good_news_everyon joined #mojo
21:06 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/q9zgkQ
21:06 good_news_everyon mojo/master cb8f27d Sebastian Riedel: use Benchmark for i function
21:06 good_news_everyon left #mojo
21:07 sri anyway, that's the current implementation replicated
21:08 jberger \o/
21:09 sri the formatted string kinda looks nice... but i really don't know where to put it
21:09 sri 1.79505 wallclock secs ( 1.80 usr +  0.00 sys =  1.80 CPU) @ 55555.56/s (n=100000)
21:09 sri jberger++
21:10 sri i guess result to stderr would make sense
21:11 sri and no return value
21:11 jberger makes sense to me
21:14 sri letter i() makes less sense now though
21:14 sri need new letter!
21:14 sri uppercase B? ;p
21:15 jberger I would support rethinking a few of the letters we have
21:16 jberger patch options etc
21:16 jberger how often do you use those?
21:16 jberger (that you couldn't also do with mojo get -M PATCH ...)
21:17 sri changing stuff around is a pita
21:17 sri i'm all for someone else doing the work ;p
21:17 sri months of deprecations...yada yada yada
21:19 * jberger tries to remember for 6.0
21:20 jberger (6.0 is such a long ways away!)
21:24 sri https://gist.github.com/anonymous/bdd110ece72508b95340 # how it looks now
21:25 good_news_everyon joined #mojo
21:25 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/n7eaMg
21:25 good_news_everyon mojo/master 1b90a7a Sebastian Riedel: turned i into a benchmark function
21:25 good_news_everyon left #mojo
21:30 good_news_everyon joined #mojo
21:30 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/VR0Ttw
21:30 good_news_everyon mojo/master 685fd14 Sebastian Riedel: proxy objects should have a DESTROY method
21:30 good_news_everyon left #mojo
21:35 good_news_everyon joined #mojo
21:35 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/J4D4wQ
21:35 good_news_everyon mojo/master bffa369 Sebastian Riedel: renamed i function to n
21:35 good_news_everyon left #mojo
21:36 jberger why the empty DESTROY?
21:37 sri https://travis-ci.org/kraih/mojo/jobs/32177046
21:37 sri because bullshit basically
21:37 jberger wow, that's a thing
21:38 sri AUTOLOAD also gets called for DESTROY
21:38 jberger ah
21:38 sri bad things happen
21:38 jberger so if you have an AUTOLOAD you probably want to have a DESTROY too
21:38 sri ye
21:40 sri think i like this
21:40 sri $ perl -Ilib -Mojo -E 'n { say g("mojolicio.us")->code }'
21:41 jberger basically prints he response time
21:41 jberger the
21:41 jberger cool
23:01 d4rkie joined #mojo
23:12 aghbas joined #mojo
23:14 dvinciguerra joined #mojo
23:30 d4rkie joined #mojo
23:35 zackiv31 joined #mojo

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