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

IRC log for #mojo, 2014-04-24

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

All times shown according to UTC.

Time Nick Message
00:13 cfedde Hengaini: probably
00:13 cfedde the screen casts and the tutorials.
00:14 cfedde and the guides
00:14 purl the guides are my friend
00:22 asarch joined #mojo
00:43 shmuel joined #mojo
00:48 zivester joined #mojo
01:01 klapperl_ joined #mojo
01:20 bowtie joined #mojo
01:30 disputin joined #mojo
01:34 laouji joined #mojo
01:45 asarch joined #mojo
01:45 sri hah, and another low hanging fruit found in Mango::BSON, that's another 30%
01:46 disputin joined #mojo
01:46 sri did not expect that one though, the tied hash likes all pairs to be assigned at once, not one after another
01:54 disputin1 joined #mojo
01:59 klapperl joined #mojo
02:31 sri hmm, i already see more changes breaking the mongodb wire protocol again on the horizon
02:31 sri next one will be the removal of the kill_cursors operation
02:34 sri a special api for pub/sub would be nice... similar to how the node.js driver does it
02:35 sri https://github.com/mongodb/node-mongodb-native/blob/1.4/lib/mongodb/cursorstream.js
02:52 irq joined #mojo
02:52 HtbaaPi joined #mojo
03:00 laouji_ joined #mojo
03:05 laouji joined #mojo
03:15 russum joined #mojo
03:35 alnewkirk joined #mojo
03:36 sri look at that, i found a delay case that pushes me towards the promises side... http://pastie.org/9106671
03:41 jberger o/
03:41 sri (spoiler: yes, that leaks and is not very obvious)
03:41 sri \o
03:42 * jberger misses just programming for the fun of it
03:42 * sri thinks delays might be going away in 5.0
03:43 jberger you've said this before
03:43 jberger My vote had been to stay with continuation passing
03:43 sri this time i'm serial!
03:44 jberger super serial?!
03:44 * sri nods
03:44 dj_goku_ joined #mojo
03:44 jberger if that does happen I should probably pick a different mojoconf topic
03:45 sri haha
03:45 jberger right after I give my delay talk sri announces no more delays and pushes 5.0
03:46 jberger it's not really a delay talk, but they are used extensively
03:46 jberger Don't stall any development plans on my account
03:46 sri fun fact, javascript promises only accept one argument
03:47 jberger but like I've said every time, be sure the change is a significant net win before changing a major design principle (continuation passing vs promises)
03:48 jberger think of the migration headache
03:50 webart joined #mojo
03:50 jberger Mojo::Base could export "promise" to reduce the boiler plate
03:51 jberger or there could be a promise DefaultHelper
03:52 sri that's not how it works
03:52 sri http://pastie.org/9106692 # comparison
03:53 jberger I know you want it to just return a promise
03:53 jberger but if you could easily pass one in you don't break all of the best mojo apps in the ecosystem
03:54 jberger and all the Nonblocking tutorials on the web
03:54 sri "easily pass one in"?
03:54 sujithm joined #mojo
03:54 sri promises only work if you return them
03:55 sri like i said to tempire before, the boilerplate is insane
03:55 jberger right, I'm trying to help reduce that
03:56 sri not following i'm afraid, some constructor method doesn't remove anything
03:57 jberger the Nonblocking methods could return a promise if one is passed in
03:57 sri eww
03:58 sri and we would never change that?
03:59 laouji joined #mojo
03:59 sri keep support for promises half baked because it was added later on?
03:59 jberger I really do see your want to improve the api
04:00 jberger but it literally will break all Nonblocking code overnight with no "ease in" path
04:00 hesperaux_ joined #mojo
04:01 sri actually, it will also break all blocking code with my current plans ;p
04:01 jberger what about, just for 5 cycle, add a scoped pragma to enable returning promises?
04:01 jberger then in 6 go all promises
04:01 jberger yikes
04:01 sri you have time to work on such a monstrosity?
04:02 jberger no but does anyone else have time or ability to port their entire app with no compatibility layer?
04:02 sri i was considering my $promise = $ua->get(...); and my $tx = $ua->get_now(...);
04:03 sri it's a major release, stuff is supposed to break
04:04 sri those that want to keep their apps working don't have to upgrade
04:04 jberger but how do you port when nothing will work until it all does?
04:04 jberger I understand, but my worry is that nobody would
04:05 sri i don't see a way to do it in smaller steps
04:06 balazs joined #mojo
04:07 jberger I think it would be a dangerous step for  adoption and retention
04:09 jberger could you keep the old behavior when a sub ref is passed in?
04:09 sri if you want to fight for delays to stay, try fixing the leak problem
04:09 jberger I'm not really saying that, I'm trying to make migration clean
04:10 sri no, i don't think i can preserve all the callbacks
04:11 sri it might be possible in some way, but *a lot* of work
04:11 jberger I've come to trust you, when you see a problem,  I believe there is one
04:12 jberger I just don't want you to throw away the userbase with the bath water
04:13 jberger ok well at least we should write a good migration document
04:13 jberger I really wish I had more time lately
04:14 jberger this prod roll out is just killing me
04:14 jberger and sapping my will to code in my free time
04:15 sri i'm getting a bit disillusioned with perl again, doing this stuff right is too hard :(
04:16 jberger ah but is it really that much easier to do in any other language
04:16 jberger ?
04:16 sri yes, garbage collection makes all the problems go away
04:16 jberger I really can't see how anyone can do anything with closures in python
04:17 jberger gc would probably be nice
04:17 * sri is slowly transforming into a fulltime javascript programmer
04:17 jberger lexical variables are just really nice too
04:31 laouji joined #mojo
04:43 jberger with promises, does the "then" handler get passed the same arguments as the old continuation style sub ref?
04:44 jberger probably not, I would assume that the error arg wouldn't be there correct?
04:49 laouji joined #mojo
04:52 sri good news.... the leak situation is even more f*cked up with promises
04:52 sri http://pastie.org/9106749 # actual promise example with leaks
04:53 macgorgar joined #mojo
04:56 jberger I remember LeoNerd doing a big series on Futures
04:57 sri http://pastie.org/9106756 # for those too lazy to try it
04:57 jberger purely as a question, and not knowing or even really understanding, why promises vs futures?
04:58 sri better docs
04:58 jberger are they the same pattern?
04:59 sri yes
04:59 jberger ok
04:59 sri stevan is more mainstream though, closer to promises/a+
04:59 sri less garbage nobody needs, better names
05:00 * jberger rarely questions stevan either
05:02 jberger well time to get some rest before then next day of prod crises arise
05:03 * jberger trusts sri to make the right choice
05:03 jberger whichever that is
05:04 sri i'm yelling at the screen atm.
05:05 sri as far as i can see, for objects with non-blocking methods promises might be terrible
05:05 sri (in perl)
05:12 laouji_ joined #mojo
05:14 laouji__ joined #mojo
05:20 sri maybe mst has some idea
05:20 * sri would rather deal with callback hell than cycle hell :S
05:28 dotandimet joined #mojo
05:32 sri btw. i could easily solve the leak in the delay version
05:32 sri http://pastie.org/9106784
05:35 sri http://pastie.org/9106790 # in fact even multiple solutions (this one being the least elegant)
05:56 sujithm joined #mojo
06:01 leejohnson joined #mojo
06:03 Lee joined #mojo
06:10 hesperaux joined #mojo
06:22 Hengaini joined #mojo
06:24 Vandal joined #mojo
06:41 bzero joined #mojo
06:47 laouji joined #mojo
06:52 dpetrov_ joined #mojo
06:55 irq joined #mojo
07:03 deserted joined #mojo
07:04 deserted hey all, got a quick question, is there a simple way to trigger a hypnotoad restart from within a running app?
07:10 eseyman joined #mojo
07:10 dabudabu Does it sometimes happen that morbo reloads a script even though it didn't change?
07:11 shmuel dabudabu: you can use pid_file
07:11 shmuel to send a signal to the server, and it will restart.
07:13 dabudabu Hmm, okay. I guess that happened for some reason?
07:15 dabudabu Hmm, two subdirectories were uploaded through VNC into the directory the script file is located in
07:16 dabudabu And this directory is a virtualbox share ;p
07:16 dabudabu and morbo is running in that virtualbox.
07:25 igorsutton joined #mojo
07:30 denis_boyun joined #mojo
07:31 trone joined #mojo
07:54 dp_ joined #mojo
07:58 laouji joined #mojo
07:59 edestler joined #mojo
08:13 arthas joined #mojo
08:21 Negor joined #mojo
08:25 basiliscos joined #mojo
08:31 fhelmber_ joined #mojo
08:44 laouji joined #mojo
08:49 neyasov__ joined #mojo
08:52 laouji joined #mojo
08:58 laouji joined #mojo
09:18 hesperaux_ joined #mojo
09:20 mire_ joined #mojo
09:32 laouji_ joined #mojo
09:39 meshl joined #mojo
09:54 sujithm joined #mojo
09:57 ver joined #mojo
10:03 d4rkie joined #mojo
10:07 denis_boyun joined #mojo
10:10 maxhq joined #mojo
10:26 d4rkie joined #mojo
10:26 dexteruk_ joined #mojo
10:26 dexteruk joined #mojo
10:51 yko joined #mojo
10:56 laouji joined #mojo
11:18 Bravo13 joined #mojo
11:27 rem_lex|pivo joined #mojo
11:52 neilhwatson joined #mojo
12:02 sujithm joined #mojo
12:03 asarch joined #mojo
12:09 sujithm_ joined #mojo
12:12 marcus joined #mojo
12:12 sugar_ joined #mojo
12:13 marcus joined #mojo
12:18 asarch joined #mojo
12:20 dotan joined #mojo
12:35 dotandimet joined #mojo
12:41 sugar__ joined #mojo
12:46 Akron joined #mojo
12:50 mire_ joined #mojo
12:54 sri for those that weren't paying attention earlier, i was considering massive breaking changes in 5.0 to support promises properly
12:54 sri things didn't go as planned though
12:55 sri http://pastie.org/9106756 # in my tests promises have a tendency to leak terribly
12:56 mikegrb I leak too :<
12:56 mikegrb I think it comes with age.
13:00 nicomen is there a simple way to tell Test::Mojo->get_ok() to follow redirects?
13:01 sri http://mojolicio.us/perldoc/Test/Mojo#ua
13:02 nicomen sri: ah of course, thanks ;)
13:06 webart joined #mojo
13:20 balazs joined #mojo
13:20 Akron sri: Then maybe not announcing 5.0 for Mojoconf? The possibility of breaking changes is too good to be wasted for a major release without breaking changes! ;)
13:24 Akron Although I have to say that I like promises.
13:30 sri Akron: it doesn't look too good anymore, the damn leaks...
13:31 zivester joined #mojo
13:31 Akron Yeah, I've read the logs.
13:43 btyler joined #mojo
13:45 gryphon joined #mojo
13:55 dod joined #mojo
14:09 dod joined #mojo
14:28 bluescreen joined #mojo
14:37 sh4 joined #mojo
14:38 jim joined #mojo
15:25 beyondcreed joined #mojo
15:26 igorsutton joined #mojo
15:39 irq joined #mojo
15:43 neyasov__ joined #mojo
15:44 sugar joined #mojo
15:47 meshl joined #mojo
16:03 sri hmmm... delays just win :S
16:16 btyler joined #mojo
16:18 fhelmber_ joined #mojo
16:39 dod joined #mojo
16:48 tianon joined #mojo
16:49 tianon joined #mojo
17:20 edestler joined #mojo
17:24 jim joined #mojo
17:29 denis_boyun joined #mojo
18:01 jim joined #mojo
18:30 * tempire prances
18:34 mire_ joined #mojo
18:35 genio PRANCERCISE
18:38 sri \o\
18:38 sri /o/
18:46 tempire \o_
18:46 tempire _o/
18:52 dahl joined #mojo
18:58 genio I can't unsee that woman in that stupid Prancercise video now.  My brain hurts
19:08 dotandimet joined #mojo
19:09 tempire She is my favorite.
19:18 dotandim1 joined #mojo
19:20 marty Prancercise rocks!
19:22 genio When I first watched it, I didn't notice; a coworker pointed it out and I simply cannot unsee her huge (pardon the expression) cameltoe
19:27 btyler joined #mojo
19:38 babl joined #mojo
19:42 sri http://pastie.org/9109016 # not such a bad solution for the leak problem either
19:43 sri the biggest problem with promises is really passing around data between closures
19:44 dotandimet joined #mojo
19:48 meshl joined #mojo
20:19 dotandimet joined #mojo
20:28 rem_lex joined #mojo
20:28 dotandimet joined #mojo
20:34 rem_lex joined #mojo
20:43 btyler joined #mojo
20:59 sri a 5.0 release without breaking changes would be a little disappointing :o
21:13 btyler joined #mojo
21:17 stephan48 just rename a few functions
21:23 gryphon joined #mojo
21:31 lb it'd be easy to s/secrets/secret/
21:31 * lb runs
21:33 * sri wonders if $delay->begin(0) and $delay->begin should be separate methods
21:36 tempire $delay->begin(0) was confusing to me at first.
21:36 tempire Because I didn't understand why it was necessary
21:41 sri but are there self explanatory names?
21:44 sri could also get rid of ->begin(0) for simplicity and make ->begin() always capture all args
21:45 tempire so make ->begin work like ->begin(0) ?
21:45 sri ye
21:46 tempire That's not so bad.
21:46 tempire But it is nice to have the irrelevant object removed.
21:47 sri i'd be fine with different methods too
21:47 sri perhaps even add one that doesn't capure any arguments :)
21:48 sri $delay->capture; $delay->capture_all; $delay->capture_none;
21:48 tempire those don't really describe the purpose of the counter, though.
21:48 sri true
22:04 sugar_ joined #mojo
22:33 punter joined #mojo
22:36 d4rkie joined #mojo
22:37 d4rkie joined #mojo
22:55 russum joined #mojo
23:01 zivester joined #mojo
23:09 sri where's your creativity?!
23:09 punter me?
23:09 purl you are my project on github?
23:44 voegelas joined #mojo
23:53 asarch joined #mojo

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