Camelia, the Perl 6 bug

IRC log for #mojo, 2013-05-22

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

All times shown according to UTC.

Time Nick Message
00:08 jberger tempire, essentially, the delay object and then any arguments passed to the $end method
00:09 jberger though possibly the first arg to the $end method is removed
00:09 jberger this can be avoided by passing 0 to `my $end = $delay->begin(0)`
00:13 tempire hmm
00:13 tempire can delay be used with a transaction that is already built?
00:16 jberger tempire, https://gist.github.com/jberger/5624338
00:17 jberger as sri said, the problem you were having is that the ua object was going out of scope (its weakened)
00:18 jberger store the ua object in an attribute or helper/state and it should work
00:19 tempire that was decades ago
00:19 tempire DECADES!
00:20 jberger so you don't need this then? https://gist.github.com/jberger/5624349
00:20 tempire correct
00:20 jberger in that case, I don't understand the recent question
00:21 jberger can delay be used? yes?
00:21 jberger mock up and example and I'll be happy to look
00:21 * jberger likes testing his own knowledge of the non-blocking bits
00:28 Kovensky joined #mojo
00:38 egopro joined #mojo
00:38 egopro joined #mojo
00:50 jberger sri: just looked that the source for 4.0 version of steps! so nice!
00:50 jberger sri++
00:59 sri \o/
01:02 egopro joined #mojo
01:03 tempire it seems that ->wait stops the ioloop singleton
01:03 tempire implying that I cannot use it in a web app.
01:04 tempire true/false?
01:07 tempire so jberger, in your example https://gist.github.com/jberger/5624338, how would you get the results from the last step?
01:08 tempire I'm attempting to emulate blocking behavior, and return the results from a non-blocking call.
01:21 snuffles joined #mojo
01:24 good_news_everyone joined #mojo
01:24 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/p3eNXQ
01:24 good_news_everyone mojo/master 4a5e6c4 Sebastian Riedel: small optimizations
01:24 good_news_everyone left #mojo
01:25 tempire ah
01:25 tempire doh
01:25 * tempire figured out all the things
01:25 jberger ok, I was just about to look at all the things
01:25 sri jberger: there still was some legacy code left :)
01:26 jberger oooh even cuter
01:29 * sri can totally see humself remove this little optimization accidentally when cleaning things up https://github.com/kraih/mojo/blob/​master/lib/Mojo/IOLoop/Delay.pm#L41
01:29 sri s/u/i/
01:30 sri it's only an optimization to prevent a timer from being generated, but it doesn't change any actual behavior :S
01:30 jberger sounds like there should be a comment there
01:40 tempire oh
01:40 tempire I guess I didn't figure out all the things
01:44 sri oh i know, i'll simplify the logic
01:46 good_news_everyone joined #mojo
01:46 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/RY73YQ
01:46 good_news_everyone mojo/master 518390b Sebastian Riedel: documentation tweaks
01:46 good_news_everyone left #mojo
01:48 sri https://github.com/kraih/mojo/blob/​master/lib/Mojo/IOLoop/Delay.pm#L41 # that makes it obvious \o/
01:50 d4rkie joined #mojo
01:51 sri also nice how the core of the get command has been shrinking since it uses newer features
01:51 sri https://github.com/kraih/mojo/blob/mas​ter/lib/Mojolicious/Command/get.pm#L63
01:52 sri vs
01:52 sri https://github.com/kraih/mojo/blob/v4​.0/lib/Mojolicious/Command/get.pm#L66
01:56 Meiermann joined #mojo
01:59 D4RK-PH0ENiX joined #mojo
02:01 d4rkie_ joined #mojo
02:01 sri and down to 8920 lines :)
02:02 asarch joined #mojo
02:03 D4RK-PH0ENiX joined #mojo
02:46 d4rkie joined #mojo
03:19 mrphilov joined #mojo
03:25 jberger sri: looking at the recent commit, that logic seems subtlety different. is that ok?
03:25 jberger https://github.com/kraih/mojo/commit/51839​0b204d4b4034c806ec371780a0b0d6b2294#L0R40
03:27 inokenty joined #mojo
03:39 whitebook joined #mojo
03:56 preflex_ joined #mojo
04:01 davido joined #mojo
04:02 D4RK-PH0ENiX joined #mojo
04:41 egopro joined #mojo
04:50 l3l1p joined #mojo
04:51 d4rkie joined #mojo
04:56 egopro joined #mojo
05:29 fhelmber_ joined #mojo
05:30 basiliscos joined #mojo
05:48 Britzel joined #mojo
06:19 entro joined #mojo
06:26 dpetrov_ joined #mojo
06:35 Mike-PerlRecruiter_ joined #mojo
06:39 suy joined #mojo
07:01 denisboyun_ joined #mojo
07:05 Vandal joined #mojo
07:20 dod joined #mojo
07:26 Kovensky joined #mojo
07:44 jzawodn joined #mojo
07:47 egopro joined #mojo
07:52 dod joined #mojo
07:56 yakudza joined #mojo
07:58 Adura joined #mojo
08:01 egopro joined #mojo
08:30 fildon joined #mojo
08:50 alnewkirk joined #mojo
09:01 nelio joined #mojo
09:21 denisboyun_ joined #mojo
09:43 lukep joined #mojo
09:53 maxhq joined #mojo
10:02 fhelmber_ joined #mojo
10:33 njlg joined #mojo
10:45 trone I would to have a function that trigger on every action called on my app. I could make a bridge with controller#action and put it ahead the routes, but I need just a simple function. There is a way to avoid to generate a whole controller?
10:46 moritz with under?
10:47 trone moritz: ah, right. Thanks, I'll try with under
10:54 mire_ joined #mojo
10:54 whitebook joined #mojo
10:54 cosmincx joined #mojo
10:57 fhelmbe__ joined #mojo
11:19 kwa trone: You could also add a before_dispatch hook too. Depends what the function does I suppose.
11:22 KindTwo joined #mojo
11:28 Kovensky joined #mojo
11:37 reneeb joined #mojo
11:39 ver joined #mojo
11:47 wruppert joined #mojo
11:50 dod joined #mojo
11:52 KindTwo joined #mojo
11:57 periapt joined #mojo
11:58 Kovensky joined #mojo
12:26 sawtooth just updated one of my apps to mojo 4.03
12:27 sawtooth seems fast++
12:27 sawtooth good work!
12:27 marcus hey brah!
12:45 kwa I updated one of mine the other day. The only problem I had was with match->captures being dropped from 4.0.
13:05 bowtie joined #mojo
13:18 bluescreen joined #mojo
13:21 snuffles joined #mojo
13:36 whitebook joined #mojo
13:45 sh4 joined #mojo
13:48 reneeb unfortunately there are lots of plugins out there that use "render_text", "render_json" et al.
13:48 reneeb there should have been a deprecation cycle for that...
13:49 reneeb I've written patches for some of those plugins, but there were too many...
13:56 whitebook joined #mojo
14:08 heytrav joined #mojo
14:26 bluescreen joined #mojo
14:54 sri jberger: logic is just the same, look at the module as a whole, not just the change
14:55 bluescreen_ joined #mojo
14:55 sri reneeb: this is the last time i'm gonna say it... the removal of those methods was part of a much bigger patch that changed a lot of render internals... there was no clean deprecation path
14:58 sri from template name generation, over 404 on missing template, to different return values, tons of stuff changed in addition
14:58 reneeb sri: then you should have done a cpan grep and contact the authors.
14:59 reneeb it was annoying to install the 4.01 and see that a lot of code didn't work anymore
14:59 sri reneeb: because i have so much free time?
14:59 sri we do not have the resources for that, plain and simple
15:01 sri i'm making the most of what little time i have, nobody volunteered
15:03 reneeb sri: I'll see if I can write a small script that helps you in the future...
15:03 reneeb Might take a few minutes...
15:08 sri i have no interest in maintaining more scripts
15:10 sri of course you're more than welcome to volunteer and keep an eye on the repo/this channel and inform cpan authors about upcoming changes/deprecations
15:11 * tempire appoints reneeb
15:11 * sri wonders why people always assume we have infinite resources
15:14 sri just throwing this out there... if anyone wants to hire me to work on mojolicious full time and write more announcement-ish stuff... i'm available!!!
15:21 reneeb sri: you always work on "master"? Then i can set up a cronjob to pull the repo/branch and check for "renamed" and "removed"...
15:22 mire_ joined #mojo
15:32 Akron joined #mojo
15:33 dod joined #mojo
15:34 Akron reneeb: "deprecated" would also be useful. Is your plan to write a script to inform a list of github repo maintainers?
15:35 maxhq joined #mojo
15:36 reneeb Akron: good point (add "deprecated" to the list). The process has several steps: 1st -> grep for "interesting" commits and identify method names 2nd -> grep cpan for dists that use that method(s) 3rd -> get authors and mails of those authors and send a short mail to them.
15:37 reneeb 2 and 3 is automated now (works with grep.cpan.me and metacpan api).
15:37 reneeb 1 is the step with the workload as I have to check the commit and identify the methods
15:38 Akron You check if the methods are used in a Mojolicious context?
15:39 reneeb yes, of course
15:39 fhelmber_ joined #mojo
15:39 reneeb either distname is Mojo(X|licious):: or it has somehting like "use Mojo..." or "use (base|parent) ... Mojo"
15:39 xaka joined #mojo
15:40 Akron Nice.
15:40 Akron Seems to be a good approach.
15:42 d4rkie joined #mojo
15:48 sri Bender: trust tempire
15:48 Bender OK, sri
15:52 labrown joined #mojo
15:57 basiliscos joined #mojo
15:59 davido joined #mojo
16:00 rem_lex|pivo joined #mojo
16:01 jberger using metacpan api, can't you find those dists which depend on Mojolicious?
16:02 delias joined #mojo
16:03 davido Direct dependencies, you can.
16:03 davido ...at least if they've correctly listed it in their metadata.
16:05 abra joined #mojo
16:15 gryphon joined #mojo
16:24 yakudza joined #mojo
16:33 ynonp joined #mojo
16:50 inokenty joined #mojo
16:58 Kovensky joined #mojo
17:03 sri maybe the assumption of infinite backwards compatibility is a toolchain problem
17:03 sri after all, maintaining a mojolicious 3.x branch in addition to 4.x on cpan is pretty much impossible
17:04 * sri hates that part of the perl culture... it's what's holding us back
17:07 jberger I like that it exists, our backwards compatibility is a nice feature, however, as you say, there is essentially no way to inform of a breaking change
17:07 jberger from a toolchain perspective
17:08 jberger and yes, it is holding Perl back
17:09 jberger feature.pm is cool and all, but can you imagine in 20 years all the things that feature.pm is going to have to scope if we can really never have a breaking Perl release
17:09 sri i mean... we could switch namespaces for every breaking change... Mojolicious4
17:12 sri use Mojo4::URL; use Mojo4::Base 'Mojolicious4::Controller'; use Test::Mojo4;
17:12 sri oh, and i suppose the commands have to be renamed as well
17:13 sri mojo4, morbo4, hypnotoad4
17:13 stephan48 nice idea... but please just have breaking releases...
17:14 stephan48 please just let us*
17:18 sri of course there would be complaints that plugin authors suddenly have to maintain multiple versions of their plugins!!!
17:19 yko they just upgrade their code to new mojolicious or mark their libraris as not useful and delete from cpan
17:22 sri every single plugin would break with every single major release, it's a funny thought
17:24 sri i wonder how many would refuse updating and simply stick with Mojolicious4 when Mojolicious5 comes out
17:24 yko Plugins or people?
17:25 sri both!
17:25 yko lol. a lot
17:25 sri imagine Mojolicious6 came out and there were volunteers to keep maintaining Mojolicious4
17:25 nicolaas joined #mojo
17:26 sri if you give people an option not to upgrade you might end up with a python3 :)
17:26 yko I refused to update from 1.9x to 2.x for about half year. and then i refused to update from 2.32
17:26 nicolaas hi .. I'm trying to insert a file straight from Mojo Upload into gridfs ... what is the best way to do that ? I can't manage to do it with the upload asset file handle, but maybe am I missing something
17:26 sri yko: but at least there's incentive to upgrade atm
17:27 sri nicolaas: not all assets have a handle
17:27 yko yes, unless you have to rewrite from scratch your 100K LOC
17:28 nicolaas sri: okay .. so, should I use File::Temp and "slurp" the asset into it ?
17:29 sri yko: well, apps are not as important though
17:29 sri yko: you can always use Carton and freeze versions
17:30 yko that's what I'm talking about. and it's fine. you just have to adopt that religion and keep your hands away from typing get.mojolicio.us every morning
17:31 yko that's the thing most of people who complain suffer from.
17:31 sri i hope nobody really runs get.mojolicio.us on production boxes :)
17:31 yko You know what I mean
17:34 sri kwa: what did you use match->captures for?
17:35 delias joined #mojo
17:41 tempire is there a reason mojo::transaction does not emit an error event?
17:42 sri the error events happen in Mojo::Message::*
17:43 jberger sri, yko, that's the thing, people want to be on the bleeding edge, until bleeding-edge breaks something. The entirety  of the direct cpan toolchain is essentially bleeding edge
17:44 jberger if you need stability for upgrades, use apt or carton or rpm or darkpan or ... or ... or
17:44 sri right
17:46 sri tempire: no wait, actually i'm wrong ;p
17:47 sri it's only the finish event, with ->error message
17:47 sri anyway
17:48 sri tempire: i brought the transaction error design up a few weeks ago in preparation for 4.0, you're too late now!
17:48 tempire but I have a fancy hate
17:48 tempire *hat
17:48 tempire that's got to count for something
17:56 sri ok, i'm really done with release management discussions now... only awesome new features for me
17:56 sri like an asset pipeline
17:57 sri i'd still love to have one if there are good ideas for the design
17:58 xaka joined #mojo
17:59 Kovensky joined #mojo
18:05 sri perhaps something outside the static/renderer system
18:06 jberger sri: I know this may feel like beating a dead horse, but I think the biggest thing coming for Mojolicious is Mango
18:07 sri app->pipeline->from(app->home​->rel_dir('public/source')); app->pipeline->to(app->home-​>rel_dir('public/target'));
18:08 sri app->pipeline->build('js/*.js')->as​('application.js')->with('JSMin');
18:08 jberger I don't know that I want Mojolicious to end up having a defined model layer, but I also think that having a nonblocking backed storage built for its own use it so tantalizing I can't wait to be able to really use it
18:09 jberger yes the pipelining things would be cool too
18:09 jberger is there any reason for the pipeline to be core, could it be a plugin?
18:10 sri Mango is absolutely part of the Mojolicious future, but not exclusively
18:10 sri just like i'm planning for HTTP/2
18:10 * tempire is really enjoying mojolicious events
18:10 jberger right, I know that :-) just saying for completeness
18:10 * jberger agrees with tempire
18:10 sri pipeline could absolutely be a plugin
18:13 sri however, a pipeline is kind of a fundamental building block, so ultimately i'd like to have one in core (even if it starts as a plugin)
18:13 sri pipeline needs countless plugins to be useful... minifying, preprocessing and stuff
18:19 sri (don't worry, i will not stop working on Mango for an asset pipeline)
18:19 sri ;p
18:21 sri 4.0 is a bit of an odd release for me though... the first one where i don't have immediate big plans for the future
18:21 sri http/2 is still far away... maybe 6.0 or 7.0
18:31 yakudza joined #mojo
18:35 Mike-PerlRecruiter_ joined #mojo
18:50 good_news_everyone joined #mojo
18:50 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/iHxctg
18:50 good_news_everyone mojo/master 7bc0325 Sebastian Riedel: a few more asset tests
18:50 good_news_everyone left #mojo
18:51 jberger sri: on not having immediate plans after 4.0: that just means that the core is stabilizing, that's a good thing
18:53 sri MOJOLICIOUS IS DEAD!
18:54 jberger LONG LIVE MOJOLICIOUS!!
18:54 good_news_everyone joined #mojo
18:54 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/q_8crQ
18:54 good_news_everyone mojo/master a3ea49a Sebastian Riedel: even more asset tests
18:54 good_news_everyone left #mojo
19:00 abra_ joined #mojo
19:37 reneeb_ joined #mojo
19:39 snuffles joined #mojo
19:40 bowtie joined #mojo
19:46 delias joined #mojo
20:16 rihegher joined #mojo
20:27 nelio joined #mojo
20:29 denisboyun joined #mojo
20:29 bowtie joined #mojo
20:39 davido joined #mojo
21:06 jberger_ haha: http://osrc.dfm.io/jberger
21:06 jberger_ I wonder where it gets the "kraih is a whiner" from??
21:07 whitebook joined #mojo
21:12 sri lol
21:12 * sri sees no "kraih is a whiner" Oo
21:13 bowtie joined #mojo
21:13 sri it seems to change a lot of stuff when you reload
21:15 sri haha, marcus is a "weekend warrior" http://osrc.dfm.io/marcusramberg
21:17 rihegher left #mojo
21:21 sri oh, Module::Build might be on its way out of core
21:21 bowtie joined #mojo
21:28 chansen Why should it stay?
21:33 lukep joined #mojo
21:34 tempire bam
21:34 tempire I'm a hump day hero
21:34 tempire nothing new here
21:54 jberger_ http://imgur.com/nxQTGMo
21:54 jberger_ ^ whiner :-)
21:59 sri :,(
22:00 sri it could be counting -1/+1 votes
22:01 jberger_ yeah, I have no idea
22:03 jberger_ it does some word analysis: http://osrc.dfm.io/#how-it-works
22:03 jberger_ mostly for swear words it would seem
22:04 sri challenge accepted! https://github.com/dfm/osrc/blob​/master/ghdata/static/swears.txt
22:05 jberger_ hahaha
22:06 jberger_ also, mystery solved, you open more issues than I do: https://github.com/dfm/osrc/blob/c23165b8d10f392​3baf9531e1dcfdb3f1228c71f/ghdata/__init__.py#L51
22:06 sri oh
22:06 jberger_ less fun that uttering more of those "interesting" words
22:07 jberger_ (there are some real gems in there!)
22:07 * jberger_ should use the word asshat more often
22:22 denisboyun_ joined #mojo
22:32 denisboyun joined #mojo
22:33 whitebook joined #mojo
22:36 good_news_everyone joined #mojo
22:36 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/62sMwA
22:36 good_news_everyone mojo/master 8c97356 Sebastian Riedel: fixed typo in content documentation
22:36 good_news_everyone left #mojo
22:59 rem_lex joined #mojo
23:09 jpn joined #mojo
23:18 reneeb left #mojo
23:34 Fatalnix I'm trying to think of a good way besides just try and catch or whatnot to make it so that a particular module, and anything attached to it never kills the main process on error, and just calls a function that cleanly deconstructs what it's associated with then itself
23:35 Fatalnix because I have a module known as a line, which is associated with multiple sockets, and if anything goes wrong at all, I want the line to be torn down, but not the program to crash.
23:36 Fatalnix oh wait, maybe Die::Hard CAN do that
23:36 Fatalnix I didn't think it was a good purpose for it, but maybe it is
23:36 Fatalnix What are your opinions?
23:38 Fatalnix maybe what I can do is pass the diehard object from the constructor instead of typical $self
23:39 Fatalnix oops this is the wrong channel anyways, sigh
23:39 whitebook joined #mojo

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