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

IRC log for #mojo, 2014-02-27

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

All times shown according to UTC.

Time Nick Message
00:08 Stefan joined #mojo
00:16 GabrielV_ joined #mojo
00:18 czinczar so out of the LAMMP stack mojo provides like the A part?
00:29 Adura joined #mojo
00:29 jack joined #mojo
00:32 jberger_ And the p
00:33 czinczar ah haaaa
00:33 jberger_ joined #mojo
00:34 marty joined #mojo
00:35 czinczar my goal is to make my own dynamic website on free software in 3 months
00:39 czinczar :)
00:40 GabrielVieira joined #mojo
00:44 sri ok, we are running out of version numbers again, time to freeze mojolicious for a bit :p
00:44 sri no new features!
00:44 aggrolite joined #mojo
00:50 GabrielV_ joined #mojo
00:52 sri if anyone got a spare atom.io invite, please send it my way!
00:55 jberger_ MOAR FEETUREZ
00:56 * jberger shows up on this nick now
00:56 GabrielVieira joined #mojo
00:56 czinczar lol
00:56 czinczar what kinda sites are you guys making with mojo?
00:57 * tianon plugs http://liveperl.us/ for bpmedley
00:57 bpmedley tianon: Thanks!  batman did a lot of work, as well, on it.
00:57 tianon check out also Convos: https://github.com/Nordaaker/convos
00:57 sri i think "what kinda sites are you guys not making with mojolicious?" would have been the easier question
00:57 tianon sri++
00:58 tianon MOJOLICIOUS ALL THE THINGS
00:58 * jberger mostly makes other tools out of Mojo* stuff
00:58 bpmedley We're not making python and ada sites.. :-0
00:59 sri MACGYVER ALL THE THINGS
00:59 czinczar lol
00:59 jberger btw: this is the kind of thing that Mandel lets you do: https://github.com/jberger/MojoForum/blob/master/lib/MojoForum/Helpers.pm
01:00 czinczar I wish chat would come back liek aol style, 100s chat rooms n stuff, without beign IRC, just webchat
01:00 bpmedley tianon: Convos does look cool.  I downloaded it and had some deployment issues becuase I use the Mount plugin (I'm guessing that's why).
01:00 * jberger is using Convos right now :D
01:00 czinczar what is all that code under helpers.pm
01:00 jberger czinczar: its essentially shared model logic
01:01 jberger easy to package into a helper plugin
01:01 GabrielV_ joined #mojo
01:01 czinczar whats that mean
01:01 jberger that way I don't have to muddy up my startup method: https://github.com/jberger/MojoForum/blob/master/lib/MojoForum.pm#L10
01:02 jberger helpers are available as methods on the app instance and all controller instances and are available as functions in the templates
01:02 jberger czinczar: it was you who inspired me to look at what it would take to make a Mojolicious-based forum
01:03 czinczar :)
01:03 czinczar forums rule
01:03 * jberger sucks at front-end design, but the backend is coming together nicely
01:04 ka2u joined #mojo
01:04 jberger at this point a table to display the threads and another to display the posts in a thread and a few editing boxes and you have a skeletal forum
01:04 * sri wonders if die in steps is an exception handling pattern we should encourage
01:05 sri those can simply be caught in ->on(error => sub {...})
01:06 czinczar :)
01:06 czinczar I can kinda imagine it in shell, but not perl, posts just being dated entried in a folder with a topicpost
01:06 czinczar but in perl
01:06 czinczar boom head explodes
01:07 jberger czinczar: ?
01:08 jberger posts are not dated entries in a folder
01:08 jberger posts are documents in a mongo db
01:08 czinczar oh ok
01:08 jberger where did you get that idea?
01:08 czinczar interesting
01:08 czinczar well I only know shell
01:09 * jberger moves back to the other nick
01:10 jberger__ joined #mojo
01:10 ka2u joined #mojo
01:11 sri hmm, one aspect of producing promises we forgot is exception handling i think...
01:12 sri since custom methods pruce their own they have total control over what constitutes an exception
01:12 sri that can be pretty nice
01:12 sri with delays we have to cope with different conventions, like $err first and ->error methods on result objects
01:14 sri looking through mojoforum i realize that jberger doesn't handle his exceptions
01:24 czinczar savagery!
01:24 * sri shines a bright light into jberger's face and starts interrogating him about why he doesn't handle his exceptions
01:35 sri oh shit... node.js drama time... get your popcorn! http://blog.nodejitsu.com/protecting-npm/
01:35 ka2u joined #mojo
01:39 czinczar whats npm anyhow?
01:39 purl npm is, like, implemented in node, but the resulting libs are perfectly usable via regular JS
01:39 czinczar npm
01:42 Adura They're comparing Firefox to a package manager?
01:43 d4rkie joined #mojo
01:44 czinczar somehow someone wants to liek license something, not sure waht
01:56 chansen joined #mojo
02:03 BenGoldberg They're about liscencing the name and the logo... and has nothing at all to do with the software itself.
02:03 BenGoldberg Not very exciting/dramatic stuff.
02:10 Stefan joined #mojo
02:17 sri https://gist.github.com/mikeal/9242748 # it's really quite dramatic actually
02:20 sri nodejitsu actually raised like $200k for running the npm registry, and now they're blowing the money on lawyers to take over npm
02:21 sri raised via crowdfunding from node.js users on top of that
02:21 laouji joined #mojo
02:22 sri because you know... protecting the node.js users from the tyranny of npm inc
02:25 sri of course npm inc did send nodejitsu a legal thread first to make them not use the official npm logo
02:25 Stefan joined #mojo
02:28 Stefan joined #mojo
02:36 Stefan joined #mojo
02:37 sujithm_ joined #mojo
02:38 Stefan joined #mojo
02:41 czinczar funky
02:41 czinczar sounds like not a very free software project
02:41 czinczar but bunch of cannibals
02:46 ka2u joined #mojo
02:48 klapperl joined #mojo
02:49 czinczar whats npm again?
02:49 czinczar what marekt are they trying corner?
02:51 jberger please note that I have no tests in MojoForum either, and hence the title "A toy project using Mandel"
02:52 jberger the big problem with node is ... it's still javascript, no matter how you package it
02:53 Stefan joined #mojo
02:54 Stefan joined #mojo
02:57 Stefan joined #mojo
02:58 sri i was about to compare it to exception handling in convos... but Mojo::Redis is really awkward in that regard
02:59 sri it emits an error event, so you can't know which operation actually failed
03:00 sri so... i guess you could say it has no exception handling either
03:01 jberger in MojoForum case, basically, error handling would be passing the errors of earlier steps to the outer callback, skipping all remaining steps in the process right?
03:02 sri one way to do it
03:02 purl one way to do it is to include LWP :) or to stfu
03:02 aggrolite joined #mojo
03:03 sri i'm starting to get a little worried... since i've not found a module that handles exceptions with delays correctly
03:06 sri Mandel is the first to get it right
03:06 sri https://github.com/jhthorsen/mandel/blob/master/lib/Mandel/Relationship/BelongsTo.pm#L78
03:06 jb360 joined #mojo
03:07 sri NOOOOOO!!!!
03:07 sri and it fails too https://github.com/jhthorsen/mandel/blob/master/lib/Mandel/Relationship/HasOne.pm#L71
03:10 jberger so the idiom for handling errors in earlier steps would basically be `return $delay->pass($err) if $err`
03:10 jberger correct?
03:10 sri it depends
03:10 * jberger is updating Mojolicious to get pass
03:11 sri you're assuming the first argument is always $err
03:11 jberger when it is
03:11 sri you could also die $err and ->on(error => sub {...handle it...})
03:12 jberger yeah, but that's not so nice with nested delays
03:12 sri or return $upper_level_cb->($err)
03:12 sri there are multiple possible idioms
03:12 jberger if they are in the same method that's fine, but see how most of the MojoForum delays start with a call to find_user
03:13 sri just to be clear, i'm not blaming anyone here... not having a blessed exception handling idiom is a design flaw in mojolicious
03:14 jberger no, I get that, I'm just trying to do it right
03:15 jberger actually, maybe dying is easier
03:15 jberger I'm trying it on the MojoForum helpers
03:15 sri it all seems very clumsy
03:16 l3l1p joined #mojo
03:16 jberger if promises make error handling easier, that would be the best argument I've heard in their favor over delays
03:16 sri something like $delay->begin_with_error that dies automatically when the first argument is defined would be more elegant
03:16 sri which is basically what promises give you
03:18 sri even with promises we get in trouble, since the callbacks we have now don't follow the $err as first argument calling convention
03:19 sri in mojo and mango it's not too bad, but 3rd party modules are the wild west... it starts with Mojo::Redis not having errors at all
03:19 sri you couldn't actually hack promises into Mojo::Redis
03:20 sri promises done right would solve this problem... but we would have to intentionally kill off all existing 3rd party modules and enforce use of promises to make it really work
03:22 * sri shrugs
03:22 sri this is not fixable in the community i believe
03:22 russum joined #mojo
03:23 sri btw. one way to do exception handling right https://github.com/kraih/mango/blob/master/lib/Mango/GridFS/Writer.pm#L38
03:29 sri i wish $err as first argument was a convention everyone picked up :/
03:29 sri then we at least had a starting point
03:29 jberger sri: https://github.com/jberger/MojoForum/commit/8fd420bffe829f1a37b73177654dd652272c8496
03:30 sri you don't actually have to handle it with ->on(error => sub {...}) btw
03:30 sri it will propagate to the upper level if unhandled
03:31 jberger oh, and one bug
03:32 bowtie joined #mojo
03:39 jberger there, that should be better: https://github.com/jberger/MojoForum/compare/5c722f00d3fcd4a6a10b10dcd3eef98e8f95c8cd...master
03:40 jberger note also that populate is really only used in command-line eval right now, and hence the "say"
03:41 l3l1p joined #mojo
03:46 * jberger is really liking pass
03:47 btyler joined #mojo
03:49 * jberger hugs github compare view
03:52 l3l1p joined #mojo
03:53 jberger bpmedley: how does liveperl.us know what route to request from my script?
03:53 jberger is it always /
03:53 jberger ?
03:54 jberger could there be a single line field across the top of the right side for request?
03:54 jberger possibly two fields, request and post body
04:00 jberger bpmedley: also, if you have a restful api for posting to pearls, I could add it to Mojolcious::Command::nopaste
04:01 sri hmm, guess i'll use $delay->pass($err) too
04:01 jberger dying on error is nice for the hairier ones, like create_thread
04:01 jberger but when there is only one more step anyway
04:08 jberger ye gods how I wish I could use git at $work
04:11 arpadszasz_ joined #mojo
04:18 * sri uses the idiom in mango too now https://github.com/kraih/mango/commit/fdd72fa9953942fdb12d38076408a5ca4e81a784
04:19 jberger \o/
04:21 jberger I was going to say you have to bump the mojolicious version dependency, but I see you already got there ... yesterday :-P
04:23 priodev joined #mojo
04:24 jnbek^dt joined #mojo
04:26 sivoais joined #mojo
04:28 l3l1p joined #mojo
04:29 laouji joined #mojo
04:32 donk joined #mojo
04:34 * sri is still unhappy with the exception handling situation though
04:35 sri maybe we should discourage the use of 3rd party modules that don't follow the $err as first argument convention
04:37 sri i'm not going to recommend Mojo::Redis anymore, exception handling there is totally broken
04:37 jberger so what happens when say Mojo::Redis encounters an error, it just throws?
04:37 sri it emits an error event
04:38 sri without a connection to the operation that caused it
04:39 sri sadly that also makes convos a bad example
04:53 jberger the best thing to do I guess is to provide good examples
04:55 jberger sri: is emitting an error event the right thing to do here? https://github.com/jberger/Mojo-FriendFeed/blob/master/lib/Mojo/FriendFeed.pm#L47
04:55 sri best should be mango i guess, we don't have too much in core
04:55 jberger its a very different use-case
04:56 sri do you have concurrent operations?
04:56 l3l1p joined #mojo
04:56 jberger no, its a recurring callback (via __SUB__)
04:56 sri then an event seems fine
04:57 jberger cool, just wanted to ask
04:57 jberger its my first CPAN module which requires 5.16
04:57 jberger <<squeee>
04:57 sri once you have concurrent operations i believe your errors should be raised individually, not wholesale
04:58 jberger gotcha, that makes sense
04:58 priodev joined #mojo
04:58 jnbek joined #mojo
04:58 sri Mojo::UserAgent is not the best example either
04:58 jberger then again, you still kinda have to pick one to win out
04:59 sri since errors there are transaction state, and not raised at all
04:59 jberger https://github.com/jberger/MojoForum/blob/master/lib/MojoForum/Helpers.pm#L89-L90
05:02 gnephiak joined #mojo
05:03 jberger batman, it would be nice if convos changed the tab (document) title when there is a mention, maybe even repeatedly changing back and forth to catch the eye
05:04 jberger ... maybe
05:05 * jberger heads to be
05:05 jberger gnight all ye perlers
05:06 * jberger still marvels at the europeans, being 6+ hours ahead of him, and that they still stay awake after he goes to bed
05:07 donk g'night
05:13 russum joined #mojo
05:27 jzawodn joined #mojo
05:28 dotandimet joined #mojo
05:37 ka2u joined #mojo
05:55 ka2u joined #mojo
06:02 GabrielVieira joined #mojo
06:14 GabrielVieira joined #mojo
06:16 hrupp joined #mojo
06:30 dod joined #mojo
06:39 dod joined #mojo
06:52 GabrielV_ joined #mojo
06:55 * sri still can't let go of the promises topic...
06:55 sujithm joined #mojo
06:55 bpmedley jberger: I assume you're referring to the tutorial and routes?  If so, yes, it always displays "/" - we hope to fix that soon.   Also, I"ll add a feature enhancement request for a nopaste api.
06:56 bpmedley sri: Do you have an example for what you want code to look like?
06:57 sri Mojo::IOLoop->all($ua->aget('mojolicio.us'), $ua->aget('metacpan.org'))->then(sub { say $_->res->dom->at('title')->text for @_ })->wait;
06:58 sri my main interest is shifting towards exception handling though
06:59 sri Mojo::IOLoop->all($ua->aget('mojolicio.us'), $ua->aget('metacpan.org'))->then(sub { say $_->res->dom->at('title')->text for @_ }, sub { say 'Well, this failed' })->wait;
07:00 sri ->then() following the usual ->then($success, $fail) convention
07:00 bc547 sri: thanks for the performance comparison between perl versions. Is there any functionality difference besides performance? Or are you planning to drop perl 5.10.1 support in the near future?
07:00 sri yes we do plan to let go of 5.10.1
07:01 bpmedley So, all would accept a set of callbacks; then would do something when they're all done; and wait wouldn't go on until everything is finished?
07:01 dotandimet joined #mojo
07:01 sri 5.20 will be a pretty big release, and maybe with 5.22 we can depend on the new features it brings us
07:02 sri bpmedley: no, ->all() accepts a list of promises and returns a new promise combining the two
07:02 bpmedley Ok, I see.
07:02 bc547 sri: ok.. can I assume 5.16 will be supported for some time? (since rhel7, centos7 is perl 5.16)
07:03 sri bc547: you can only assume the last two stable versions will be supported
07:03 sri for anything else there's a backport https://github.com/jamadam/mojo-legacy
07:04 bc547 sri: oh.. didn't know about the backport
07:04 bc547 sri: tnx!
07:06 sri i really really want perl 5.20 subroutine signatures in mojolicious core, so odds are we will use them when 5.22 gets released
07:08 bc547 sri: :-)
07:10 sri bpmedley: if you want to understand promises, the jquery tutorials are generally pretty good http://www.bitstorm.org/weblog/2012-1/Deferred_and_promise_in_jQuery.html
07:11 bpmedley I've actually been reading about them off and on for a while.  I try to follow what's current from node and a few other places.
07:11 sri the fact that promises according to promises/a+ propagate exceptions through a ->then chain makes them very appealing to me
07:13 sri $ua->aget('mojolicio.us')->then(sub { $ua->aget(shift->res->dom->at('a')->{href}) })->then(sub { say shift->res->body }, sub { say 'Well, this failed somewhere' });
07:13 sri stuff like that
07:14 sri doesn't matter which aget failed, it propagates through the chain
07:15 sri you put one exception handler at the end and you're good to go
07:16 buu sri: Have you seen this: http://blogs.atlassian.com/2013/11/harmony-generators-and-promises-for-node-js-async-fun-and-profit/
07:17 sri buu: nope, which part of it should i know about?
07:18 buu sri: The combination of coroutines and promises!
07:18 buu Makes very very pretty async code
07:18 sri i cry for proper coroutines in perl at least once a day :(
07:19 sri although promises are mostly a waste if you have them... this stuff is better https://github.com/visionmedia/co
07:20 sri and before you bring up Coro... been there... done that... https://gist.github.com/kraih/6082061
07:20 buu I was just looking to see if coro was as awful as I remembered
07:20 sri but i'm not going to bet the whole project on an mlehmann module
07:21 buu sri: That /co link does basically the same thing, combining promises and generators
07:21 sri no point dreaming about it
07:22 sri realistically... we have the choice between good old continuation passing style and promises
07:22 buu Haha https://metacpan.org/pod/coroutine0
07:24 buu Sad days
07:25 sri haha
07:26 Stefan joined #mojo
07:28 sri the problem with promises is that we would need a new separate method for every method that accepts a callback now
07:28 sri $ua->get(... => sub {...}) -> $ua->aget(...)
07:31 sri from $ua->adelete('mojolicio.us') to $loop->atimer(5)
07:38 Vandal joined #mojo
07:41 webart joined #mojo
07:44 sri which brings up new problems... such as should we support two non-blocking APIs or get rid of ->get(... => sub {...}) afterwards
07:45 sri and did anyone notice that i made a memory leak in my last promise example?
07:46 buu I did but it leaked out
07:47 sri that's weak
07:49 sri and while you're thinking of more puns... i'm also interested in new ideas for making exception handling with delays more elegant... here's a real world example https://github.com/kraih/mango/blob/master/lib/Mango/GridFS/Writer.pm#L37
07:53 dod joined #mojo
07:53 * sri really likes ->pass() too btw.
07:54 jnbek^dt joined #mojo
07:54 priodev joined #mojo
08:00 eseyman joined #mojo
08:04 sivoais joined #mojo
08:20 bpmedley sri: How far off is this: http://pastie.org/8800732  (please don't laugh) .. :)
08:24 arpadszasz_ joined #mojo
08:28 odc joined #mojo
08:30 trone joined #mojo
08:48 trone joined #mojo
08:51 genio joined #mojo
08:56 mire__ joined #mojo
09:00 arthas joined #mojo
09:02 kwa joined #mojo
09:06 Jonneh joined #mojo
09:10 Jonneh joined #mojo
09:17 D4RK-PH0ENiX joined #mojo
09:21 basiliscos joined #mojo
09:21 denisboyun joined #mojo
09:24 sujithm joined #mojo
09:27 Adura joined #mojo
09:44 entro joined #mojo
09:57 denisboyun joined #mojo
10:16 ver joined #mojo
10:21 bowtie_ joined #mojo
10:26 tholen42 joined #mojo
10:27 arpadszasz_ joined #mojo
10:31 marty joined #mojo
10:32 marty joined #mojo
10:41 meshl joined #mojo
10:43 tl joined #mojo
10:48 malikai joined #mojo
10:49 batman jberger: we're already doing that. at least my chrome tab was blinking like crazy since you said "batman: ..." earlier.
10:49 malikai 1) jberger, you're awesome.. Mojo::IOLoop::ForkCall is a lifesaver
10:50 malikai 2) wtf is wrong with me? i can't find a way to kill a websocket client.. is there one?
10:52 batman malikai: $c->finish;
10:52 malikai 3) i have been insulted everywhere.. a couple days ago i saw "chicago style pizza" in Hong Kong.. it was nothing of the sort!
10:53 malikai i saw chicago style pizza in london as well.. it had baby corn on it!
10:54 malikai batman, many thanks :)
10:55 malikai i would commit serious violence against someone for a piece of lou malnottis right now
10:56 arpadszasz_ joined #mojo
11:00 sujithm joined #mojo
11:09 denisboyun joined #mojo
11:15 plenum joined #mojo
11:45 jberger_ joined #mojo
11:47 dsteinbrunner joined #mojo
11:47 sujithm joined #mojo
11:47 * jberger_ blushes
11:48 jberger_ malikai:  sadly http://www.tastesofchicago.com doesn't ship internationally
11:48 skullbocks joined #mojo
11:54 sujithm joined #mojo
12:11 odc it looks like a mix between a quiche and a pizza :3
12:21 d4rkie joined #mojo
12:28 * lb decides he's a fan of $self->plugins->namespaces([]);
12:28 Stefan joined #mojo
12:29 batman lb: why?
12:29 lb I was wondering whether to push or unshift MyApp unto the list, when it occured to me that either is just a bug waiting to happen
12:30 batman lb: do you know you can use a fqn with plugin() ? like $app->plugin('My::Plugon
12:30 batman oops!
12:30 lb yes
12:30 lb so now i've enforced that
12:30 batman lb: do you know you can use a fqn with plugin() ? like $app->plugin('My::Plugin'); instead of just $app->plugin('plugin');
12:30 batman weird. but whatever works for you.
12:32 lb not sure why it's weird - if it searches in more than a single namespace, it's just a matter of time until some of the other dirs get a Config.pm or Session.pm or whatever
12:32 batman do you also do $app->renderer->paths([]) and $app->routes->namespaces([]) ?
12:32 lb and we're not talking a lot of saved typing all over the place
12:33 lb not yet ;)
12:33 batman it's the same thing. also...things don't just "drop in" you (or a plugin) have to actually modify those attributes
12:35 malikai jberger_: just gives me an excuse to go home again soon.. maybe i won't have to hurt anyone to get my lou malnottis
12:37 malikai (or buona beef)
12:39 cpan_mojo Mojo-IOLoop-ForkCall 0.060_001 by Joel Berger - http://metacpan.org/release/JBERGER/Mojo-IOLoop-ForkCall-0.060_001
12:40 jberger Chicago style pizza is about peace not violence (oh and its about cheese too)
12:40 lb it's weird to call a caserole a pizza
12:41 * jberger suspects that lb is from new york and/or watches "The Daily Show"
12:41 * lb suspects that jberger might be correct in one of those things
12:42 d4rkie joined #mojo
12:42 jberger call it a casserole if you want, but its a damn good casserole :D
12:43 lb sure, it's cheese
12:44 jberger and crust and tomatoes and toppings and ... well ... you know ... pizza
12:44 lb in a casserole
12:44 * lb runs
12:44 mikegrb mmm pizza casserole
12:44 * jberger chases lb with a rolling pin
12:55 jberger if anyone using cygwin (and native windows for that matter) could attempt to test Mojo::IOLoop::ForkCall 0.060_001 that would be very useful
12:55 malikai lol@calling lou malnottis a casserole
12:56 malikai you want to see a casserole? buy a "pizza" anywhere in china
12:59 jberger re the node drama: I love how once again, Perl is quietly doing things right, set up a foundation that protects the community's IP
13:01 malikai heh.. still drama in node land? is that whole episode with the random guy's pull request still flaring?
13:03 ka2u joined #mojo
13:05 jb360 joined #mojo
13:05 jberger no, various companies are trying to trademark npm
13:06 * jberger is reading http://www.colorglare.com/2014/02/03/to-close-or-not-to-close.html and I think Mojo::DOM should support SGML and its lovely Null End Tags!
13:06 * jberger ducks
13:09 malikai not surprised re node
13:11 malikai i'm getting sick and tired of seeing >2gbit NTP flows to random cable/dsl subscribers
13:12 malikai it's pointless: you can shut your average cable/dsl subscriber down with 200mbit.. it makes no sense to waste 2gbit worth of reflectors for such a puny target..
13:13 malikai anyway.. gamerz be gamerz
13:14 jberger hahaha, Tor is in GSOC: https://blog.torproject.org/blog/tor-google-summer-code-2014
13:14 jberger man, its been that kind of year!
13:16 malikai for all the crap dished out.. it just means the next few years will be the response to it all
13:16 malikai hopefully some good solutions will come about
13:17 malikai although, google themselves are damaged goods
13:18 lb from Don't be Evil to Don't get Caught in a decade
13:19 jberger DDG FTW!
13:21 mikegrb I'm getting sick of seeing > 20 gbit NTP flows to customers :<
13:21 mikegrb they can resume on tuesday, when I'm not secondary on call any more
13:21 bc547 mikegrb: unplug the cable! :-)
13:21 lb gosh, i miss doing operations, he lied
13:22 mikegrb null route all the things
13:24 malikai biggest i've seen so far is 17gig
13:24 malikai i'll bet those huawei boxes are selling like hotcakes right now because of all this nonsense
13:25 jberger anyway, time to work a half day, then escape this wintery hell-hole for a warm weather weekend!
13:28 malikai one of our downstream customers got about 170gig combined on all their ix ports.. the target was one of their BG routers
13:28 malikai i'm sure that was a bad day
13:35 zivester joined #mojo
13:45 plenum joined #mojo
13:54 arthas_ joined #mojo
13:58 sujithm joined #mojo
14:13 Jonneh joined #mojo
14:19 sh4 joined #mojo
14:26 GabrielVieira joined #mojo
14:33 btyler joined #mojo
14:34 mire__ joined #mojo
14:43 plenum joined #mojo
14:44 batman i don't get this: http://p.thorsen.pm/0310842a2f96 # trying to hot reload convos with a different port, and then afterwards the backend listens to the previous port..?
14:44 batman sri: convos use fork+exec to start the backend ^
14:45 batman any idea how the backend *suddenly* listens to the old port?
14:50 batman running linux 3.11 btw...
14:58 Stefan joined #mojo
15:02 asarch joined #mojo
15:05 Stefan joined #mojo
15:12 jnbek^dt joined #mojo
15:12 priodev joined #mojo
15:16 sivoais joined #mojo
15:17 Stefan joined #mojo
15:24 nic_ (which is significantly better than windows 3.11)
15:24 gryphon joined #mojo
15:26 * Coke backlogs and bets sri would really like perl 6 if it were "done". :)
15:26 webart :-)
15:27 * webart notices each time he compiles rakudo it seems *massively* faster ....
15:28 webart then I use perl5 for some task and realize it's all relative ...
15:28 webart Coke: to be done it just needs to be a little bit faster and have CPAN :-D
15:29 Stefan joined #mojo
15:32 Coke webart: yah, working on it.
15:32 webart hmm just realized perl5 is not done either  :-)
15:34 bjakubski joined #mojo
15:34 GabrielV_ joined #mojo
15:36 webart w/ perl6 folks can haz "extra" features one day  (i.e. seamlessly run perl5, tcl, javascript, lua .... from a perl6 that runs on jvm, rakudo, moar, haskell, .net ... on phones, spaceshuttles, mainframes, desktops, browsers/javascript, tablets, laptops, wearables ...)
15:37 webart ... and all that on Mars ...
15:37 webart "not done" is a good thing ... :-)
15:42 tempire webart: http://www.youtube.com/watch?feature=player_detailpage&amp;v=tCel6lpDTZI#t=162
15:48 webart zat's my favourite ... :-)
15:48 sujithm joined #mojo
15:50 sri lb: don't forget to @INC = ()
15:50 sri ;p
15:50 skullbocks joined #mojo
15:51 sri maybe also $ENV{PATH} = ''
15:51 sri not like we invented multiple search paths :)
15:52 sri and where's my atom.io invite? :(
15:53 Coke webart++
15:53 Coke sri: seriously. I asked for mine like a whole 18 hours ago
15:53 Coke SeRiously.
15:53 purl I'm totally freaking serious.
15:56 sri seriously
15:56 purl is that for real?
15:57 webart tempire: I probably won't be doing big projects that would force me to learn perl6 the way I learned perl5 (hope I'm wrong ...)  so I like it when the mental stretch to doing something in perl6 is not too big ... for me the sweet spot now is oneliners :-)  ...
15:58 webart http://blogs.perl.org/users/jhannah_mutation_grid/2010/09/one-liner-xmlperljson.html  :-)
15:58 webart but I totally see how a booking.com or some other huge project could start small and then cut over ... p6 is very productive.  There could be an avalanche/tipping point that shows up and surprises everyone.
16:00 sri don't forget craigslist, which has hired timtoady to work on perl6
16:01 marty joined #mojo
16:03 * lb spanks sri
16:03 rem_lex| joined #mojo
16:09 aggrolite joined #mojo
16:16 genio sri++ #Mojo is making my life better
16:22 fhelmber_ joined #mojo
16:51 sri hmm, i guess in the end correctly used delays don't look so bad https://github.com/kraih/mango/blob/master/lib/Mango/GridFS/Writer.pm#L37
16:51 beyondcreed joined #mojo
16:52 dsteinbrunner_ joined #mojo
16:57 dsteinbrunner joined #mojo
16:59 jberger_ sri++
17:00 dsteinbrunner_ joined #mojo
17:01 sri but i didn't do anything!
17:01 Stefan joined #mojo
17:02 donk morgen
17:09 Stefan joined #mojo
17:10 punter joined #mojo
17:12 dsteinbrunner joined #mojo
17:19 jberger__ joined #mojo
17:23 dsteinbrunner_ joined #mojo
17:28 Stefan joined #mojo
17:30 jberger_ joined #mojo
17:36 jberger__ joined #mojo
17:36 jberger_ joined #mojo
17:37 jberger__ joined #mojo
17:38 davido_ Interesting: http://perlmonks.org/?node_id=1076424
17:41 Stefan joined #mojo
17:44 Jonneh joined #mojo
17:48 dod joined #mojo
17:54 sujithm joined #mojo
17:58 sri most people are so oblivious when it comes to non-blocking
18:04 marcus sri: https://github.com/Nordaaker/convos/blob/master/lib/Convos/Core.pm#L215
18:05 sri marcus: that's horrible
18:06 marcus sri: why?
18:06 sri you have no exception handling at all
18:07 sri like i said earlier, imo Mojo::Redis exception handling is broken
18:09 Stefan joined #mojo
18:10 sri and yes, i'm aware that you're at least logging the error events
18:10 sri but they have no connection to the actual operation whatsoever
18:11 marcus well, I think if redis is down/broken, there's not much we can do to recover other than fail anyways
18:11 davido_ joined #mojo
18:11 sri you're assuming redis will never ever report any other errors
18:12 sri and you'll never have more than one redis connection
18:16 sri an error event is for exceptions that can't be connected to a specific operation
18:16 sri exceptions for an operation should be passed to the callback
18:16 sri the node.js redis client gets that very right
18:17 batman sri: i'm planning to do an optional ($err, $res) response, since it's pretty annoying when you need to do error handling based on $res == undef
18:17 sri https://github.com/mranney/node_redis
18:17 batman but adding that to the existing api will break back compat
18:17 sri batman: yes, that's what i would have expected
18:17 batman but i totally agree.
18:17 batman too bad i discovered that too late.
18:17 sri mandel mostly gets it right, but i found an error there too
18:17 batman we do error detection through $redis->on(error => sub {}) now
18:18 sri let me see... linked to it earlier
18:18 marcus yeah, sri mentioned that already.
18:18 batman sri: i would appreciate if you could tell me about the error instead of just discovering it :P
18:18 marcus Guess we lifted this design from MojoX::Redis
18:18 sri https://github.com/jhthorsen/mandel/blob/master/lib/Mandel/Relationship/HasOne.pm#L71
18:18 sri @err is unhandled
18:19 batman sri: the good thing is that (currently) there's no redis error that is not "global". at least from what i know
18:19 batman sri: oh! that's terrible.
18:19 batman could you file a bug report on that line?
18:20 batman i need to take a break again... (still sick)
18:20 sri a return $delay->pass(@err) if @err; would be enough
18:20 batman yeah
18:22 sri https://github.com/jhthorsen/mandel/issues/7
18:22 sri hmm... linking to master is kinda sloppy
18:24 sri ah, i can edit my issue :)
18:25 plenum joined #mojo
18:26 marcus sri: I just got something that will make you jealous ;)
18:27 sri don't say atom.io
18:27 marcus https://www.evernote.com/shard/s22/sh/c9b8f8fb-8a06-442d-bbb9-e5afea9e2299/c256e653875776ac2b92e28e6e1e2254/deep/0/Nordaaker----oslo.pm-on-magnet.png
18:27 sri !@#$%^&
18:27 sri if you don't send me your first invite i hate you!
18:28 bluescreen joined #mojo
18:29 ka2u joined #mojo
18:29 marcus sri: Which email? :)
18:30 sri batman: btw. there's at least "operation not permitted" errors in redis
18:30 sri marcus: sri@cpan.org
18:30 marcus sent. Can't have you going around hating me.
18:30 sri \o/
18:30 Coke what if I promise to hate you?
18:31 sri WOOT! it's downloading
18:34 sri icon is kinda ugly
18:36 * jberger__ wants one too, but won't be able to use it until Monday, so defers
18:36 marcus I agree about the icon.
18:36 marcus jberger__: you're a mac too?
18:37 jberger__ Oh is it only Mac?
18:37 marcus yes
18:37 marcus for now
18:38 * jberger__ now irrationally hates atom.io and will pretend to speak ill of it
18:39 Coke I have a mac! ;)
18:39 * Coke doesn't even know marcus, and will stop pestering him now. :)
18:39 marcus Coke: Who are you? :p
18:40 marcus I'll send you an invite if you come to mojoconf ;-)
18:40 sri hmm, it's better than i expected
18:41 marcus Yeah, they seem to have been working on it
18:41 mire_ joined #mojo
18:41 sri no perltidy yet though, so impossible for to get any work done :p
18:41 sri *me
18:42 marcus I guess I can use it for ruby :p
18:42 marcus We actually have a perltidy commit hook in convos now :)
18:42 marcus After me driving batman crazy for a while
18:43 tianon marcus: that reminds me, sorry for not getting back with that Dockerfile PR - it wasn't starting up after my changes and I haven't gotten around to seeing if it was starting up before my changes to debug it - don't wanna send you a half-assed PR :)
18:43 sri git integration is neat, coloring the changed files and all
18:44 Coke marcus: I'm on the grants committee, hack on perl6.
18:44 Coke marcus: oslo's a bit of a stretch, sorry. :|
18:44 sri Coke: what's your email address? i'll send you an invite
18:46 sri sent
18:46 sri batman: also stumbled over "(error) ERR Operation against a key holding the wrong kind of value"
18:47 marcus tianon: that's ok, I'd rather wait for you to send a full-asset pull request
18:47 sri so there are certainly operation specific errors
18:47 tianon :D
18:50 dotandimet joined #mojo
19:00 Stefan joined #mojo
19:02 Jonneh joined #mojo
19:04 genio What does atom.io get right that Sublime Text doesn't?
19:07 tempire I'm coming to mojoconf!
19:07 tempire I want an invite!
19:07 tempire !!!!!!!!!!!
19:07 sri which email?
19:08 sri sent
19:13 dotandimet joined #mojo
19:13 genio ah.  nevermind my question, I'm reading their blog info on atom.io now
19:13 sri atom is sooooo hackable
19:14 sri think it could actually win me over
19:14 sri find in project is not amazing... but good enough... just need perltidy now :)
19:15 sri mojolicious plugin needs to be converted too
19:18 plenum joined #mojo
19:22 tempire huh
19:23 tempire I didn't know you could create deployable chrome apps
19:23 marcus Oh, tempire was hooked up already
19:23 marcus I like it too, sri.
19:23 sri you don't notice it's built on chromium
19:24 marcus sri: Except when you open the debugger by accident like I did ;)
19:24 sri haha, yea
19:24 sri it's insane how hackable that makes it
19:25 tempire I envision mojolicious plugins with live demos in the side
19:25 sri you build fricking editor extensions with jquery!
19:25 * jberger__ feels left out
19:26 disputin joined #mojo
19:26 * tempire wants to go to google io now
19:26 sri i'm almost certain atom.io will explode in popularity, considering how easy extension writing is
19:27 marcus Looks like they plan to charge for it?
19:27 Coke I need to figure out how to add language support...
19:27 Coke free "for now"
19:29 marcus Pretty much everything in the editor is an extension, so nice.
19:29 sri yea, the core might end up being commercial
19:30 tempire If the price is reasonable, it would be worth it
19:30 tempire people paid for textmate without a problem
19:30 sri and sublime text
19:30 purl sublime text is a $59 text editor similar to TextMate that runs on all major operating systems. Sublime Text 2 is in public beta (as of 12/2011) http://www.sublimetext.com
19:31 tempire yeah but you don't actually have to pay for sublime text
19:31 marcus I actually paid for both of them already :)
19:31 marcus *and* I'm using vim atm :p
19:31 tempire I doubt anything could replace my vim
19:31 tempire but I'm open to it
19:31 * sri still uses TM2
19:32 marcus Love the git gutter diff btw
19:33 sri yea, that rocks
19:34 marcus sri: I guess writing a perltidy extension shouldn't be very hard.
19:34 Coke I love vim, but am not a power user. being able to extend in JS would be verrry nice.
19:36 * jberger__ wishes Farabi would progress
19:39 dotandimet joined #mojo
19:39 basiliscos joined #mojo
19:55 ka2u joined #mojo
20:01 dsteinbrunner I'm still rocking bbedit
20:03 denis_boyun joined #mojo
20:12 drift joined #mojo
20:12 marcus dsteinbrunner: old school.
20:12 purl get off darkuncle's damn lawn or I'll beat you with a vampire tap
20:13 cfedde I'll stuff your AUI cable in the MAU.
20:20 mire_ joined #mojo
20:28 lukep joined #mojo
20:29 basiliscos joined #mojo
20:38 dotandimet joined #mojo
20:59 sri hahaha... now i can sound all pretentious too! haskell patterns applied to promises http://bartoszmilewski.com/2014/02/26/c17-i-see-a-monad-in-your-future/
20:59 sri that's actually surprisingly readable
21:01 dotandimet joined #mojo
21:07 Andy2 joined #mojo
21:24 Andy2 joined #mojo
21:48 jnbek^dt joined #mojo
21:48 dod joined #mojo
21:48 cfedde good ideas are obvious onece you know them.
21:50 Coke camelize doesn't touch the string if it /begins/ with a capital?
21:50 jnbek^dt joined #mojo
22:25 BenGoldberg joined #mojo
22:25 jnbek^dt joined #mojo
22:28 gottreu joined #mojo
22:31 jnbek^dt joined #mojo
22:32 zackiv31 joined #mojo
22:37 Stefan joined #mojo
22:37 GabrielVieira joined #mojo
22:38 jnbek^dt joined #mojo
22:44 Stefan joined #mojo
22:45 Stefan joined #mojo
22:48 sri interesting, the atom core is mostly javascript, not coffee
22:50 al joined #mojo
22:52 hummeleBop joined #mojo
22:52 Stefan joined #mojo
22:53 Stefan joined #mojo
22:59 Stefan joined #mojo
23:00 al joined #mojo
23:01 Stefan joined #mojo
23:04 punter joined #mojo
23:09 skullbocks joined #mojo
23:09 Stefan joined #mojo
23:21 marty joined #mojo
23:21 skullbocks joined #mojo
23:27 jnbek^dt joined #mojo
23:36 marty joined #mojo
23:37 Stefan joined #mojo
23:38 marty joined #mojo
23:41 jnbek^dt joined #mojo
23:56 cstamas joined #mojo

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