Camelia, the Perl 6 bug

IRC log for #mojo, 2011-12-11

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

All times shown according to UTC.

Time Nick Message
00:00 sri how much do you know about garbage collection in perl? :)
00:00 yaxar um nothing
00:00 sri tempire: not sure i'm able to explain it :S
00:01 sri the transaction was prolly finished by the server and vanished from the controller instance
00:03 sri yaxar: what mojolicious version are you using?
00:03 yaxar um i think the latest
00:03 yaxar i downloaded it with cpanm
00:04 sri i have a hunch that this is a timeout related problem
00:04 yaxar cpanm Mojolicious
00:04 tempire mojo version
00:04 sri type "mojo version"
00:04 yaxar okay
00:04 sri you should have 2.37
00:04 yaxar http://pastebin.com/k6r4snBY
00:05 tempire run cpanm Mojolicious again
00:05 yaxar okay
00:05 sri in the end i think you might just have to increase the connection timeout and possibly add ->on(finish => sub {…}) cleanup code
00:06 yaxar okay building and testing
00:06 purl building and testing is probably identical to a checkout
00:06 sri version 2.37 will tell you in the log when a connection times out
00:06 tempire quite the timely framework you've got there, sri
00:06 tempire jit mojolicious
00:06 yaxar i have this… at the end of the file    $self->on(finish => sub { undef $g });
00:08 yaxar oh add it onto the end of the $irc->reg_cb ?
00:09 MojoGuest250 joined #mojo
00:09 tempire yaxar: I don't get that error with v2.37
00:09 yaxar hmm
00:09 MojoGuest97 joined #mojo
00:10 yaxar i don't have anything showing up...
00:10 yaxar no error or nothing in the log that it's creating…
00:10 tempire ah, I changed the username and there it is
00:11 yaxar hmm i am still getting AnyEvent::IRC::Client=HASH(0x7ff6e14f7840) join'd the chat room
00:11 yaxar in the log...
00:11 yaxar instead of username join'd the chat room
00:12 yaxar in the log file a/date ...
00:13 yaxar oh i am getting the error again
00:14 yaxar in terminal
00:15 yaxar and now i am getting error Connection timeout. after the original error i sent you before
00:25 tempire see if adding a Mojo::IOLoop->stream($self->t​x->connection)->timeout(300); in get '/events' does the trick
00:25 tempire "Mojo::IOLoop->stream($self->t​x->connection)->timeout(300);"
00:25 * tempire is off to the gym
00:25 yaxar okay
00:25 yaxar have fun :)
00:25 yaxar thanks :)
00:25 yaxar for all the help
00:37 yaxar hmm it is still giving me the same error...
00:51 MojoGuest713 joined #mojo
01:10 yaxar yay it is fixed
01:17 jwang joined #mojo
01:30 yaxar joined #mojo
01:43 crab tempire: so what all did you do for the release?
01:51 yaxar how should i make a function in mojo?
01:52 crab how do you make a function in perl?
01:53 yaxar no idea :)
01:53 crab then mojo is not going to be any help either
01:53 yaxar okay :)
02:08 vervain joined #mojo
02:09 noganex_ joined #mojo
02:13 gshank joined #mojo
02:21 jwang joined #mojo
02:25 j3nnn1 joined #mojo
02:34 tempire crab: git tag -a v2.37; git push --tags
02:35 tempire then: perl Makefile.PL; make manifest; make disttest; make dist; mojo cpanify -u *** -p *** Mojolicious-2.37.tar.gz
02:35 tempire tweet about release
02:35 tempire the end
02:36 tempire nothing special.  first time I'd ever used anything beyond dzil release, though.
02:36 * tempire kicks it old school
02:46 yaxar tempire:  it is working :)
02:46 tempire good
02:46 yaxar i found out the problem :)
02:46 yaxar here is the fixed code http://pastebin.com/a1ZStmqk
02:46 tempire what was causing the error?
02:47 mire joined #mojo
02:47 yaxar it had to do that i needed to change   http://pastebin.com/snFjcvDL to http://pastebin.com/d6TcMpQ0
02:48 tempire rock on
02:48 yaxar i.e. i added one more pram at the beginning than the doc said to :)
02:49 yaxar thanks :)
02:49 tempire congrats for finding the error
02:49 yaxar it was more like chance :)
02:49 tempire the hallmark of all development.
02:49 tempire poke something and see what happens
02:49 yaxar :)
02:49 yaxar thanks so much for helping me :)
02:53 crab pram?
02:53 purl hmmm... pram is Parallel Random Access Machine or or an emulator at http://www.cs.bu.edu/faculty/best/​crs/cs551/projects/pram/pram.html
02:53 crab oh, param, i guess.
03:20 xaka what the better solution to get all request params?
03:37 yaxar is this valid code? pastebin.com/4t6mgmMj
03:37 yaxar http://pastebin.com/4t6mgmMj
03:39 tempire xaka: generally, the best way is deal with them one at a time
03:39 tempire $self->param('whatever')
03:39 tempire but if you want them all  in a batch: http://mojolicio.us/perldo​c/Mojo/Parameters#to_hash
03:40 tempire yaxar: my $channel makes $channel only available within the if/else block
03:40 yaxar how should i do a public $channel?
03:41 tempire my $channel; outside of the if/else block
03:41 tempire it's the "my" that makes it local to whatever block you define it in
03:42 yaxar okay but i can only set it inside the if/else block because i want to change the value depending on it …
03:42 tempire my $channel; outside
03:42 tempire $channel = in side
03:44 yaxar okay thanks :)
03:50 crab xaka: $self->req->params->to_hash?
03:54 yaxar tempire:  that works if it is only one level deep but what if it is two deep...
03:58 tempire I'd recommend against multiple levels of IFs
03:58 yaxar okay
03:58 tempire separate it out into a another subroutine
03:58 yaxar okay
03:59 tempire best to have many small, easy to understand subroutines as opposed to one block of code.
04:04 yaxar is this good http://pastebin.com/suM8QGQq
04:10 sri $channel = $self->param('channel') || '#maxson';
04:11 yaxar okay thanks :)
04:13 sri you should get http://shop.oreilly.com/product/0636920018452.do
04:20 yaxar :) i don't have that much money to spare
04:20 yaxar just for a gci task
04:23 yaxar it is giving me this error http://pastebin.com/n2hGkzVK when i do this  $channel = $self->param('channel') || '#maxson';
04:24 crab yaxar: my $channel = ...
04:25 crab yaxar: because you have "use strict" turned on, it won't let you use variables without declaring them in some way (use vars, or my)
04:26 yaxar okay
04:26 yaxar how should i do use vars?
04:27 crab yaxar: just do my.
04:27 yaxar but i want it to be global
04:29 yaxar ...
04:29 sri you do my in the right scope
04:30 sri at the top level
04:32 sherr joined #mojo
04:35 yaxar joined #mojo
04:36 yaxar but $self->param('channel') is only in the second level
04:36 yaxar ...
04:42 yaxar ...
04:59 crab yaxar: you can do my $channel; in one place and later $channel = ...
05:00 yaxar okay
05:00 yaxar thanks :)
05:07 yaxar but then i still have this error ... http://pastebin.com/4WDpUZmT
05:15 crab where is your code?
05:26 GitHub21 joined #mojo
05:26 GitHub21 [mojo] kraih pushed 1 new commit to master: http://git.io/5BbxXw
05:26 GitHub21 [mojo/master] added stream throttling tests - Sebastian Riedel
05:26 GitHub21 left #mojo
05:28 sri yea, i suck
05:28 sri keep saying i want faster tests but add more slow ones
05:29 sri dunno how to test this without timers though
05:38 inokenty joined #mojo
05:52 sri wish we could enable HARNESS_OPTIONS=j9 in Makefile.PL
05:52 sri maybe our oneliner should include it
06:17 inokenty sri: I tried 'app->defaults' and 'bridge' route but it is not what I'm looking for. Suppose we want to show latest news in left sidebar on site. We have a <%= $left_sideber %> placeholder in layout. Route '/users' (for example) will show a userlist ($self->stash(users => [qw/user1 user2 user3/])); $self->render). But before render a template it is necessary to get latest news and place it into $self->stash('left_sidebar'). I spent a whole day and did not fi
06:18 inokenty In this case I want to use <% $left_sidebar %> as a container for bricks of html code
06:19 Vandal joined #mojo
06:24 sherr joined #mojo
06:43 kaare joined #mojo
09:20 Foxcool joined #mojo
09:45 abra_ joined #mojo
09:55 sherr joined #mojo
10:21 tempire http://www.youtube.com/watch?v=7mZZd4gQrrg
12:31 gshank joined #mojo
12:40 MojoGuest577 joined #mojo
12:40 MojoGuest577 From: http://www.google.com.au/url?sa=t&amp;rct=j&am​p;q=websocket%20irc%20client&amp;source=web&am​p;cd=1&amp;ved=0CCEQFjAA&amp;url=http%3A%2F%2F​dev.xantus.org%2F&amp;ei=l6TkTpHcKYOeiAf4yZ22B​Q&amp;usg=AFQjCNGw6nZv0wO42uzUnHhWcD0vcKNULg (1 hits)
13:37 mire_ joined #mojo
13:59 mire_ joined #mojo
14:19 batman joined #mojo
15:00 yaxar joined #mojo
15:31 yaxar how do i find the current app that is running's name?
15:31 Psyche^ joined #mojo
15:44 pjcj joined #mojo
15:44 sri marcus/tempire/crab: did you get a mail for the first real ticket?
15:51 yaxar how do i find the current app that is running's name?
15:56 Hinrik $0
15:59 pjcj yaxar is one of our Google Code-in (GCI) students and has taken on a task to create a mojolicious example application
15:59 pjcj he's learning mojolicious at the same time so your help is appreciated
15:59 yaxar Hinrik: that gives me /Users/yaxar/perl5/perlbrew/​perls/perl-5.14.2/bin/morbo ...
15:59 pjcj Hinrik: I think we're looking for the name that was used when you started with mojo generate xyz
16:00 pjcj so something that returns xyz
16:00 Hinrik oh, then I don't know
16:00 Hinrik I barely know Mojo :P
16:01 yaxar better than me though i barely know perl :)
16:03 sri yaxar: http://onyxneon.com/books/modern_perl/ # there's a rather good free perl book too
16:03 yaxar thanks :)
16:57 yaxar in the controller how can i access   values in the config file? with the config plugin?
16:59 yaxar they have http://mojolicio.us/perldoc/Mo​jolicious/Plugin/Config#config but i can't figure out how to embed that in a actually app....
17:16 atomqi sri, now that you require perl 5.10, can you switch Mojolicious::Controller::signed_cookie to use sha1 instead of md5?
17:16 * atomqi is rather fidgety on md5 security
17:19 * atomqi notes a Mojo::Util::hmac_sha1_sum ready
17:20 atomqi I guess that adds a handful of extra bytes to the cookie
17:21 Quai yaxar: $self->config('foo')
17:21 purl $self->config('foo') is what i'm after
17:21 atomqi so, hm, worth making it configurable?
17:21 yaxar thanks quai
17:23 yaxar Quai: but i am not in a function ....
17:24 Quai you said you wanted to access the config from a controller?
17:25 sri atomqi: any evidence hmac_md5 is insecure?
17:25 yaxar yes
17:25 yaxar i.e. like right after all the use commands and things ....
17:38 metaperl joined #mojo
17:43 sherr_ joined #mojo
17:47 metaperl joined #mojo
17:48 atomqi sri, none to my knowledge, but I'm just being paranoid
17:48 atomqi md5 _is_ insecure, but I don't know how hmac changes that
17:50 sri atomqi: we only make decisions based on evidence, not fear
17:51 atomqi it might be, if the expiration is too long.
17:51 sri please elaborate
17:53 atomqi if the author sets the expiration much higher than the default (say, to one week), an attacker gets that week... never mind, this doesn't make sense after all
17:53 sri yea, that makes no sense at all
17:54 sri your only argument so far is fear of md5, which is pointless, since hmac provides the actual security
17:55 mire_ joined #mojo
17:59 atomqi still, not much work to make it configurable
17:59 yaxar Quai: how would i set it then?
18:00 sri atomqi: it's absolutely trivial, problem is i don't see a reason
18:03 atomqi I was just thinking that you chose md5 over sha1 because of the perl 5.8 limitation, and thus it was just a leftover
18:03 sri it was
18:05 sri these days sha1 is not considered "secure" either
18:06 atomqi certainly not broken in three seconds, anyway.
18:09 sri which does not affect hmac
18:10 j3nnn1 joined #mojo
18:11 sri i actully wouldn't mind switching to sha1 at all, but doing it for fear is wrong
18:28 marcus yo
18:31 tempire sri: yes, I got the email
18:31 tempire not quite sure what to do about, being an openbsd thing.
18:31 sri yo yo yo
18:31 * purl walks the dog
18:32 tempire openbsd with vmware even more so
18:32 sri tempire: yea, it contains absolutely no usable information
18:32 tempire I can respond to it, thoug
18:32 tempire h
18:33 sri careful, the guy is rather annoying
18:33 tempire I remember
18:33 tempire that's why I'm volunteering
18:33 sri tempire++
18:33 tempire maybe we'll get a blog entry about it, stating how unreasonable mojolicious maintainers are
18:33 tempire one can dream
18:36 tempire huh
18:36 tempire opennsd
18:36 tempire never even heard of that
18:36 sri Oo
18:37 sri looks liek a typo
18:38 tempire yeah.
18:38 tempire I'm going to give you credit for doing that on purpose.
18:39 sri :D
18:40 tempire ugh.  cpantesters limits the table with.
18:40 tempire *width
18:41 tempire makes the table near unusable for things to the right
18:42 sri does anyone see any actual advantages for switching from md5 to sha1 for sessions?
18:42 sri disadvantages are that it's slower and uses more space
18:46 tempire *crickets*
18:46 sri tempire: it looks more like a perl bug imo, maybe platform bug, since the test just died
18:47 tempire maybe.  better to give him an avenue for more research than to just shut him down, though.
18:47 * sri nods
18:48 tempire Though, "NO! YOU'RE WRONG!" is always an option.
18:48 tempire https://metacpan.org/module/AWNCORP​/MongoDBI-0.0.1_01/lib/MongoDBI.pm
18:48 sri i've seen tests die like that when the 5.8 regex engine explodes
18:57 marcus sri: I believe sha1 is more cryptographically secure, making it harder to fake a session?
18:57 sri marcus: how so?
18:58 sri collisions in md5 don't affect hmac
18:58 marcus sri: well, it's a longer hash, for one  :)
18:58 tempire I've heard that too, like everyone else, but I have no proof
18:58 sri yea, that doesn't matter at all :)
18:58 tempire also, Perl is dead an no one uses it.
18:58 tempire And node.js is amazing.
18:59 * marcus switches to node.js and sha-1
18:59 tempire you can use them together!!!!?
18:59 sri both md5 and sha1 are not cryptographically secure
18:59 tempire what does cryptographically secure even mean?
18:59 sri it's all hmac
19:00 sri wikipedia has long articles about that :)
19:00 marcus The cryptographic strength of the HMAC depends upon the cryptographic strength of the underlying hash function, the size of its hash output length in bits, and on the size and quality of the cryptographic key.
19:00 marcus http://en.wikipedia.org/wiki/HMAC
19:01 sri yea, but md5 is weak because of collisions, which don't affect hmac
19:01 sri mentioned later on
19:01 tempire marcus: did you read the rant on hacker news regarding template languages?
19:01 marcus sri: yupp.
19:01 marcus tempire: my coworker wrote a good reply to it.
19:02 tempire username?
19:02 purl i guess username is "lammel" anyway, so not it's not random forever
19:02 marcus tempire: http://news.ycombinator.com/item?id=3339760
19:04 marcus tempire: I stopped believing in replacing templating with DOM manipulation.
19:04 marcus otherwise I would be using HTML::Zoom
19:04 tempire I know, I wanted to now your thoughts given the conversation from a couple months ago.
19:05 tempire I've come to the realization that the template system isn't so important as the tools used to implement/manipulate them.
19:05 marcus I agree
19:08 MojoGuest518 joined #mojo
19:08 MojoGuest518 From: http://www.reddit.com/r/html​5/comments/bt76k/irc_client/ (19 hits)
19:08 MojoGuest518 left #mojo
19:09 sri marcus: would you want us to switch to sha1?
19:09 marcus sri: no
19:09 marcus sri: but I'm glad we talked it over :)
19:09 sri :)
19:09 tempire hugs
19:09 * tempire hugs purl
19:09 purl tempire: bathe first
19:10 * sri hugs purl
19:10 * purl smiles
19:10 sri \o/
19:10 * tempire bathes purl
19:11 inokenty =)
19:15 sri http://www.bonkersworld.net/imag​es/2011.11.15_life_of_a_swe.png
19:41 metaperl joined #mojo
19:50 tempire I'd live there.
19:56 sri actually
19:56 sri me too :)
19:58 yaxar joined #mojo
20:08 xaka joined #mojo
20:08 tempire do you understand bucker's response?
20:08 tempire it makes no sense to me
20:12 sri tempire: haha, i have not the slightest idea what he's talking about
20:14 marcus haha
20:15 marcus yeah, mojo is very dangerous with it's huge dependency chain.
20:15 marcus building on shaky ground indeed
20:17 stephan48 its really dangerous!
20:17 stephan48 you know today a module must have half of cpan as dep or its non dangerous!
20:17 sri well, last time he argued that we use the term daemon wrong and need to change that immediately
20:17 marcus sri: he expected the satanic persuation?
20:18 sri i wouldn't even be surprised!
20:24 tempire ok.  just making sure before I respond
20:31 mattastrophe joined #mojo
20:38 sri oh noes, tempire reduced our issue count :(
20:38 sri it's cool to have many open tickets!
20:39 tempire I'm a rebel
20:40 marcus tempire: take a bath, hippie!
20:40 * tempire bathes in freedom
20:41 tempire sorry, bathes with freedom
20:41 * marcus pees upstream of freedom.
20:41 tempire that's what she said her name was, at least
20:41 marcus tempire: typical hippie name.
20:42 tempire does norway have hippies?
20:42 marcus not anymore
20:42 marcus ;)
20:42 tempire ship 'em off to sweden, I say
20:43 marcus or to svalbard
20:45 tempire I picture every norweigian-sounding word as a type of ikea furniture.
20:45 * sri has a svalbard in the livingroom
20:46 tempire my voice is still sick.  no mojocast until next monday.
20:46 sri aww
20:48 marcus tempire: http://en.wikipedia.org/wiki/Svalbard <- very far north.
20:49 tempire it's like a bizarro hawaii
20:49 marcus I am actually surprised that Ikea doesn't have a Svalbard.
20:50 marcus tempire: I hear there's good ice bear hunting there.
21:06 yaxar can youguy's help me with this error http://pastebin.com/6dgjJjJ1
21:08 yaxar i am wondering how to set config values
21:08 yaxar ...
21:12 marcus hey
21:12 marcus yaxar: there's no actual error in your pastebin :)
21:13 marcus yaxar: $self->config->{foo} = 'bar' maybe?
21:17 yaxar okay thanks :)
21:17 yaxar sorry for not replying earlier
21:17 yaxar i didn't see the message
21:18 marcus yaxar: no problem. I also commented on https://github.com/yaxar/irclogbotperl/comm​it/3d63497d1b1145919eff886357451cf011ee64a4
21:19 yaxar okay thanks :)
21:21 marcus yaxar: nice work so far.
21:21 yaxar thank you :)
21:22 marcus yaxar: also remember to put something useful into the README file :)
21:22 marcus yaxar: you probably want to do mojo generate makefile as well, and put your dependencies (AnyEvent::IRC, DateTime and such) into it
21:24 yaxar okay :)
21:42 sri tempire: and he did it
21:43 sri i'm not gonna link to the blog post, it's that stupid
21:43 marcus :(
21:44 sri pants on head
21:45 tempire huh
21:46 yaxar marcus i am starting to get this error again ... http://pastebin.com/YT1HHfD1
21:46 * marcus puts on some lipstick to match his snarkyness
21:47 tempire I'd like to get anyone else's opinion on whether I came across as snarky at all: https://github.com/kraih/mojo/issues/238
21:47 tempire I went out of my way to make sure he felt attended to, even though his thought process wasn't very clear.
21:47 sri tempire: you're about the most polite person i've ever encountered
21:47 marcus agree
21:48 marcus yaxar: hmm
21:49 * tempire pokes alnewkirk, xaka, and metaperl for opinions
21:50 marcus yaxar: very strange, error indicates that you are calling res without any transaction
21:50 marcus yaxar: can you update github with your code?
21:51 yaxar i think github is updated...
21:52 marcus yaxar: btw, if you define something outside of any sub in Mojolicious::Lite it will only run at app start time, promise :)
21:52 yaxar https://github.com/yaxar/irclogbotperl/comm​it/be26070e875f1e6e8dbce254c67ad481eebcd9aa
21:54 marcus yupp. I am not getting the error you mentioned. I do see [Sun Dec 11 22:53:36 2011] [error] Can't locate object method "timeout" via package "Mojo::IOLoop::Stream" at hl.pl line 80. tho
21:54 sri marcus: upgrade
21:54 sri he's using a 2.37 feature
21:55 marcus yaxar: btw, you should probably allow the user to choose which server to connect to as well.
21:55 yaxar oh okay yes :)
21:55 marcus yaxar: upgrade mojolicious.
21:55 marcus yaxar: mojo version
21:55 marcus to see which one you have installed
21:55 marcus oh, you mean I should upgrade :)
21:56 marcus sri: what about the lack of a tx? He's only calling res once in his script.
21:56 yaxar here is my version http://pastebin.com/LHudwqCP
21:56 marcus yupp, you are already on latest
21:57 sri marcus: that's garbage collection
21:57 marcus sri was saying that's why I get the timeout error.
21:57 yaxar okay
21:57 sri he does stuff after the server closed the connection
21:57 sri which makes the transaction vanish
21:58 marcus sri: that actually makes some sense. Maybe we should check for it in 'res' and give a prettier message tho?
21:59 marcus yaxar: async is hard, let's go shopping.
21:59 marcus :)
21:59 sri marcus: i'm just guessing, that would have to be researched and tested first
21:59 marcus sri: I was able to reproduce it here
22:00 marcus sri: seemed to happen when I reloaded the page
22:00 yaxar ?
22:00 yaxar shopping?
22:00 purl shopping is a drag. or a great time, if it's *barber* shopping! </kitch>
22:00 yaxar okay :)
22:00 sri $self->tx should also be affected then, not sure where a warning would work
22:01 marcus yaxar: it's an expression, from math barbie :)
22:01 yaxar marcus i have to go eat now i don't know when i can be back but i will check the comments on github
22:01 yaxar okay :)
22:01 sri in fact, the whole topic is very complicated
22:01 marcus yaxar: 'Math is hard, let's go shopping'.
22:01 yaxar :)
22:01 sri marcus: https://github.com/kraih/mojo/blo​b/master/lib/Mojolicious.pm#L176
22:01 sri that is why tx vanishes
22:01 marcus yaxar: ok, you probably have to detect when the server connection is closed, but I don't actually know how this works
22:02 sri we weaken it and once the server lets go of its reference to tx it gets garbage collected
22:02 marcus I see
22:02 sri i'm not even sure the weaken is correct
22:03 sri but if we remove it we would need dozens of more fine grained weaken calls
22:03 marcus yay for perl gc.
22:03 sri yea, it's messed up
22:04 marcus I think it is bedtime for me now
22:04 sri heh!
22:04 sri first solve the problem for me :)
22:05 mire_ joined #mojo
22:05 marcus sri: the problem of how to handle $tx going away in controller?
22:05 sri yea
22:06 sri warning or more fine grained weaken calls
22:06 sri i've been thinking about it for months now
22:06 marcus sri: but how should his code deal with server closing the connection?
22:07 sri finish event of course
22:08 sri i suspect he's not cleaning up when the connection gets lost
22:08 marcus he's just doing undef $g
22:08 marcus he should probably unregister his callbacks
22:09 sri right
22:09 marcus things go 'boom' when his write callback tries to call res
22:09 sri exactly
22:10 sri actually, even if you wanted to go with a warning, i have no idea how to make it work reliably
22:10 sri gonna leave this one to you ;p
22:11 * sri runs off
22:11 sri I'M FREE!!!
22:15 marcus PUT YOUR CLOTHES BACK ON!
22:15 sri NEVER!
22:16 marcus croak "Your transaction has gone to a better place" unless $self->tx;
22:16 * marcus wakes up his wife and goes to bed.
22:18 sri if only it was that easy
22:19 sri $self->tx is actually used all over the place
22:19 sri so you would have to change the attribute itself
22:19 sri very ugly
22:29 mire_ joined #mojo
22:30 sri if anyone wants to play with it, there are many examples for leaks in t/mojolicious/longpoll_lite_app.t
22:31 sri just add a "use Devel::Cycle; find_cycle $self;" after any callback
22:31 sri you'll see cycles on ->{tx}
22:33 sri especially timers are good
22:44 sri http://www.ietf.org/mail-archive/web​/ietf-announce/current/msg09663.html # websockets are now a standard!
23:43 Alias joined #mojo

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