Camelia, the Perl 6 bug

IRC log for #mojo, 2011-02-14

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

All times shown according to UTC.

Time Nick Message
00:00 marcus julien: why not ab?
00:00 marcus does this thing even do keepalive?
00:01 sri marcus: was the ssd hard to install?
00:02 sri and which one did you get?
00:03 marcus sri: no, it was very easy. Just as long as you have a torq 6 and a small phillips screwdriver
00:04 Akron left #mojo
00:04 julien marcus: last time I tried, ab didn't update the result in real time, but I can try with it also if you want
00:04 MisterHatt 00:58 <@marcus> julien: why not ab? <--this
00:05 MisterHatt julien: not like you need realtime given how ab prints it's stats
00:06 julien alright, what's the command line for ab ?
00:06 marcus julien: I see very different results between ab and inject32. about half the rps.
00:07 Alias joined #mojo
00:07 marcus guess that's the keepalive
00:09 julien marcus: benchmarking with keepalive on one URL doesn't make much sense... if you want to see how your webapp reacts with, say, 50 concurrents clients, you will have 50 connections to open and manage, not one
00:09 marcus sri: I got the OCZ SSD HARDDISK VERTEX 2
00:09 marcus julien: you should put a web server in front of your app server...
00:10 sri marcus: hah, the first result on amazon :)
00:10 julien ab -c 1 -n 10000 http://127.0.0.1:8080/hello gives me Requests per second:    328.18 [#/sec] (mean)
00:10 julien ab -c 100 -n 10000 http://127.0.0.1:8080/hello gives me Requests per second:    534.78 [#/sec] (mean)
00:11 marcus julien: try adding -k :p
00:12 julien with -k and -c 1, I get 414 req/s
00:12 julien with -k and -c 100, I get 710 req/z
00:13 julien note: that's on my laptop, where I just install mojolicious a few minutes ago
00:13 sri don't forget to look at the memory usage
00:13 julien I'm not battling for performances, I'm just trying to understand why the gap between hypnotoad and nginx/fcgiwrap is so big
00:14 marcus heh
00:14 marcus julien: and your fcgiwrap is actually running the mojolicious app, right?
00:14 julien marcus: yep
00:15 Alias left #mojo
00:15 crab i get 173/s with ab -c 1 -k and 151/s without -k (against a "mojo generate lite_app Foo")
00:16 sri never ever do -c 1
00:17 crab i'm just doing what julien is doing
00:18 marcus crab: on a really slow machine, apparently :)
00:18 crab with -c 100, i get 185/s
00:18 sri hehe
00:18 crab it's a pentium 4/3ghz with 3gb of ram. not that slow.
00:19 * marcus is on a 2.66ghz i7
00:20 marcus with 1067mhz ddr3 ram
00:20 crab i get 3k+/s on a quad-core i7@2.66ghz
00:21 marcus mm, the mbp is just dual core :)
00:21 sri bursting the ghz bubble
00:22 marcus yay, managed to get one image off the hdd.
00:22 marcus sri: io ftw.
00:22 julien I've been injecting on nginx/fcgiwrap for a few minutes now, I have a steady 1400 hits/s and index.cgi seems to be recreated when it reaches 16MB of resident memory
00:23 sri each fcgi process?
00:23 sri how many do you have?
00:23 julien I have just one fcgiwrap process
00:23 sri :O
00:23 sri then your nginx is caching
00:24 julien nope
00:24 marcus julien: try adding a cuont
00:24 marcus count to the output?
00:25 julien cpu is split in 50 to 60% userland and 30/40% kernel (IO)
00:25 julien marcus: inside index.cgi ?
00:25 sri how many cores do you have?
00:25 marcus julien: yea?
00:26 julien sri: huhu, you'll laugh... it's a one core model name: VIA Nano processor U2250 (1.6GHz Capable)
00:26 sri i could imagine multi processing + ab going wrong on a single core
00:26 sri haha
00:26 julien and I run the injector and the webserver and fcgiwrap on the same core, so there is a lot of scheduling
00:26 julien still, 1400 hits/s
00:26 sri i guess that's a very bad envirnment for hypnotoad and threaded ab alike
00:27 marcus julien: until you start doing anything that blocks...
00:27 julien marcus: can I just increment a variable in the script ? it's not going to be reinitialized at each respawn of the process ?
00:27 marcus like talking to a database.
00:27 marcus julien: yeah, but you don't respawn for every request?
00:28 julien sri: I did the test on both this linux box and my laptop, on my laptop, with ab -c 100 -k, I can't pass 700hits/s
00:28 julien sri: is there any optimization/configuration that should be done at hypnotoad level ?
00:28 sri 700 is already a very good number for anything realistic
00:29 julien marcus: I don't really control the respawn, it's fcgiwrap job... I suppose I'll discover how it handles it
00:29 marcus julien: how do you run fcgiwrap? using spawn-fcgi?
00:29 julien sri: yep, but if with the same mojolicious code I can get 3/4 times that, I'd rather run it with fcgiwrap
00:29 julien marcus: yes
00:29 sri reddit for example does 80 req/s per server during peak hours (to put things in context)
00:30 sri 700 rps for any kind of realisitic dynamic content is really insane
00:31 julien sri: I don't disagree with you, but memory footprint aside, what is the benefit of hypnotoad then ?
00:32 sri zero downtime
00:32 sri kill -s USR2 to upgrade perl at runtime
00:32 julien I get that with spawn-fcgi and fcgiwrap
00:32 marcus being able to do longpoll.
00:32 sri true, but not with copy on write
00:32 marcus julien: how do you reload the perl code without downtime using fcgiwrap?
00:33 sri that would have been my next question :)
00:34 julien well, you just push the new code and the next time a request is processed by fcgiwrap, it will parse the new code
00:34 julien no reload nowhere
00:34 julien I just did the test and change my hello world, didn't reload anything, and I got the new message
00:36 marcus wtf
00:36 marcus fcgiwrap means running it as cgi
00:36 marcus I don't see how in the hell you can do 1400 rps on cgi
00:36 marcus that seems total bullshit
00:36 julien note that I would probably not do it like that in production anyway (with hypnotoad or fcgiwrap), because you don't know what's in memory during the upgrade and with what version of the code the clients are going to be served while you push your new code... it's much cleaner to shut down the instance and restart it with the new version
00:36 sri that makes no sense at all :S
00:37 julien humm...
00:37 marcus julien: the startup cost of mojo means there is no way you could do that kind of performance.
00:37 sri no way
00:37 jamesw left #mojo
00:38 julien I'm no perl expert so you probably know better than me
00:38 sri "Performance: Come on, it's CGI, what do you expect? :)"
00:38 julien but with the basic code I pasted earlier and my nginx/fcgiwrap configuration, this is what I get
00:39 julien sri: haha, I know where you got that from :D
00:39 marcus julien: guess your benchmarking tools is totally wack then
00:39 * sri nods
00:39 julien marcus: I'll repeat the test with ab if you want, but this tool was written by the guy who wrote haproxy, ever heard of it ?
00:40 marcus julien: well, I do know one thing.
00:40 marcus there is no way you can do 1400 requests in a second with cgi and mojolicious
00:40 marcus specially not on a 1.66ghz cpu :)
00:41 julien alright, I'll do that, a benchmark with ab with tcpdump recording everything in a pcap file, then you can check the results yourself
00:42 julien could one of you send me a hello that update a counter, I'm not sure how to do that myself.....
00:42 marcus julien: just start by benching what you have and nopaste the ab output :)
00:46 * marcus censors snide comment and taps his foot.
00:46 julien mouhahahaha
00:46 julien 2011/02/14 01:45:50 [error] 3386#0: *2893788 connect() to unix:/var/run/fcgiwrap.sock failed (11: Resource temporarily unavailable)
00:47 julien that 1400hits/s represents the rate at which nginx replies that it cannot answer the request
00:47 sri !
00:47 marcus it's pretty good at that.
00:47 julien you should always check the logs when you bench
00:47 julien :D
00:47 marcus thanks for telling us.
00:47 marcus =)
00:48 marcus looks like I am able to rescue my photos \o/
00:50 * sri really wants to upgrade his macbook with ssd too now :/
00:50 julien I think you're going to like the next results
00:50 * sri has a bad history with opening laptops though
00:50 marcus sri: the mbp is really pretty inside.
00:50 marcus sri: just remove the 10 or so screws from the back cover, and you see the hdd.
00:50 sri does it void warranty?
00:51 julien it seems that with 1 user, I can't go faster than 1 or 2 requests per seconds
00:51 marcus sri: it's held by two screws.
00:51 sri still have almost 2 years of applecare
00:51 marcus julien: I recommend proxying through ngnix to hypnotoad instead.
00:51 marcus sri: no, not afaik
00:51 marcus sri: there was no seal or anything
00:52 julien marcus: that's why I'm doing all those test, I want to see what the best solution is
00:52 julien and if fcgiwrap sucks, I want to know why
00:52 julien I have a 2.2req/s rate now that I'm hitting the fcgiwrap socket every time
00:53 sri sounds realistic
00:53 sri marcus: torq 6 is the screws inside?
00:53 marcus sri: yeah, the ones holding the drive
00:54 sri doesn't sound too hard, i might do it :)
00:54 marcus sri: there's also torqs in the side of the drive, which you just put into the new drive
00:54 marcus I recommend it!
00:54 marcus easiest mac hdd replacement I have done
00:55 marcus sri: just don't stab your motherboard with the screwdriver, it might not be covered by warranty ;-)
00:56 marcus julien: I was doing like 9rps with cgi on apache.
00:56 marcus I guess heart-eyed cat will improve cgi a little tho
00:57 sri about 30%
00:57 julien heart-eyed cat ?
00:58 marcus next mojolicious release
00:59 julien back to hypnotoad, I get 150req/s.... I suppose that's better that cgi then :p
00:59 sri btw. facebook does 15 rps per server or so
00:59 sri they have a lot of servers
01:00 marcus julien: slightly better...
01:00 sri hypnotoad scales very well with cpu cores, single core is kind of a worst case
01:00 julien sri: facebook is mostly DB IO, so the php rate doesn't represent much...
01:00 sri ab -c * also uses threads
01:01 marcus I thought facebook was mostly memcached
01:01 sri julien: exactly!
01:01 purl exactly! is it not awesome?
01:01 sri memcached, hbase...
01:02 sri seems cassandra goes out of fashion
01:03 julien why does hypnotoad forks 4 children if it uses epoll ?
01:04 sri to scale with cores
01:04 sri you get 4 event loops
01:04 sri each using another core
01:04 sri if possible
01:04 julien it doesn't detect the number of cores on the machine before doing that ?
01:05 sri how?
01:05 julien {dump answer spotted} cat /proc/cpuinfo ? :p
01:06 julien cat /proc/cpuinfo |grep processor|wc -l
01:08 sri hmm, sparrow sucks :/
01:09 sri julien: not portable
01:09 sri you could do that in your hypnotoad.conf though
01:09 julien sri: agreed, but if you use epoll, you know your on linux
01:09 sri since it's just a perl script
01:10 julien I'll put that in the todo list
01:10 sri cpu detection will never become core, a hypnotoad.conf hack would be a neat wiki recipe though
01:11 sri {workers => (`cat /proc/cpuinfo |grep processor|wc -l` * 2)};
01:11 sri or so
01:11 julien I will look into it when I look at hypnotoad in details
01:13 sri marcus: are you having quoting problems with sparrow too?
01:14 marcus sri: what kind of trouble?
01:14 sri it leaves some lines without quoting prefix
01:15 sri http://groups.google.com/group/mojolicio​us/browse_thread/thread/a0fabc7aceff3eab
01:15 marcus haven't noticed
01:15 sri that mail for example
01:15 sri first line in my answer should be quoted
01:16 marcus not fun
01:28 * marcus & # zzz
01:29 sri nn
01:49 crab Mon Feb 14 02:47:22 2011 error Mojo::Server::Daemon:188 [25008]: Unknown error, probably harmless.
02:11 sri haha, microsoft is going to pay nokia a few billion dollars
02:17 crab what for?
02:17 purl for fun.
02:23 MisterHatt msqt :V
02:23 MisterHatt I will be ammused if they collab and we see Qt.NET as the 'in thing' for both windows and loonix dev, maybe office 2050 will run natively in loonix
02:27 tempire oh hai
02:30 sri nokia will use wp7 exclusively
02:30 sri and microsoft is going to pay for that
02:31 * tempire is a fan of nokia using wp7
02:32 sri it seems google lost a bidding war
02:32 sri wp7 or android was a money decision
02:33 tempire that's probably true.  my preference is based on not wanting yet another manufacturer making mediocre android phones.
02:34 * MisterHatt sticks to HTC now
02:34 MisterHatt but almost every WP7 phone is ugly as sin, and WP7 itself isnt that great to use imo
02:34 tempire I like it
02:34 tempire it's slick
02:34 tempire android is clunky
02:35 tempire And I quit jobs based on having to use ms products, so that's saying something
02:36 tempire I've only seen one wp7 phone, the hardware seemed nice to me
02:36 * crab wonders if he should use $app->secret or not
02:36 tempire the os just looks like a zune, which works pretty well, I think
02:45 MojoGuest992 joined #mojo
02:45 MojoGuest992 From: http://www.google.co.nz/search?rlz=​1C1ASUT_enNZ396&amp;sourceid=chrome​&amp;ie=UTF-8&amp;q=ext+websocket (2 hits)
02:46 MojoGuest992 left #mojo
03:17 GitHub58 joined #mojo
03:17 GitHub58 mojo: master Sebastian Riedel * 2dde60f (1 files in 1 dirs): release preparation - http://bit.ly/g31WJx
03:17 GitHub58 left #mojo
03:19 sri and 1.1 is tagged
03:23 tempire \o/
03:23 perlrocks Twitter: "Mojolicious 1.1 by KRAIH - http://frepan.org/~kraih/Mojolicious-1.1/" --cpan_new http://twitter.com/cpan_ne​w/status/36988825662128128
03:33 crab i hate race conditions.
03:36 crab sri: i have another route/name translation use case
03:37 crab sri: i have this plugin that generates a signed "gate pass" token to allow a single timed access to an (otherwise-protected) url, and it would be... hm.
03:37 * sri doesn't follow
03:37 crab i guess i don't need anything special. url_for('named') would be enough.
03:38 sri why are you telling me that?
03:39 crab because of our conversation the other day about how i should know all my route names beforehand.
03:39 sri you don't make sense
03:39 crab ok.
03:39 sri there is no relation to route names at all
03:39 crab ok.
03:40 sri i can only guess that you want to use route names for access control, that would be very very wrong
03:41 crab i don't want to use route names for access control.
03:42 crab i wanted to say "generate a signed token to allow one-time access to route-name x" rather than "...to url /hard/coded"
03:42 crab but, i was mistaken about it needing anything other than what i already have.
03:43 sri ah
03:44 sri my memory only goes back a few minutes usually ;p
03:47 crab i'm trying to remember the technical term for a finite-state automaton that "remembers" the last n states, but i've forgotten it.
03:48 crab such irony.
04:00 MisterHatt 04:41 <@sri> my memory only goes back a few minutes usually ;p
04:00 MisterHatt "thanks to TV, he can't remember what happened 8 minutes ago"
04:02 sri :)
04:03 sri which features should i present in the announcement?
04:03 tholen42 joined #mojo
04:05 tl left #mojo
04:11 MisterHatt goddamnit, keeps trying to interpret the text $slice: as a symbol/var
04:12 MisterHatt cant figure out how to have it read as plaintext
04:12 * MisterHatt fails at perl
04:17 MisterHatt hurr, that was fdumb
04:24 julien left #mojo
04:27 crab sri: wildcard route names, mode-specific exception templates, get selector, new mojo::json, bugfixes, and the base url change (i don't remember the details)?
04:28 sri i have routing shortcuts, mojo get, automatic route names and reusable router now
04:29 sri not much to show for exception templates, mojo::json and the whole base url thing
04:30 crab yeah
04:30 crab actually there are many small but significant changes in this release rather than any big headline features
04:42 crab "Some stuff changed"
04:44 sri "this is going to change everything"
04:50 sri the picture for the release is really cute :)
04:51 crab url?
04:51 sri no spoilers
04:51 purl SNAPE KILLS DUMBLEDORE!!!
04:53 crab sri: is there a todo of some kind? next time i want a break, i'd be happy to hack on something needed for mojo
04:53 sri not really
04:53 sri what we need most is more plugins
04:54 sri translations of the documentation would be cool too
04:55 sri core could use some hardcore profiling though
04:56 sri and of course more blog posts about mojolicious :D
04:56 sri can't think of much more on the todo list atm
04:57 crab do you have a profiling strategy in mind, perchance?
04:57 sri the rest is more gsoc projects like error message reviewing
04:57 sri nope, i just want stuff to get faster :)
04:57 crab i remember you mentioned it, and what i planned to do was profile my "real app" once i have it more or less working. but until then there's nothing to profile other than maybe a test suite run.
05:02 sri http://ukijs.org/mail/index.html # :o
05:03 crab wow, that's pretty sharp.
05:18 mikegrb having an issue getting mojo::client to retrieve a url via https, NEW CONNECTION (https:linode.pagerduty.com:443) and then 'Couldn't connect. at ./mojowho.pl line 32.', have IO::Socket::SSL, is there anything I can do to get more information from mojo::client?
05:19 sri check the version of IO::Socket::SSL
05:19 mikegrb hmm 1.22
05:19 sri we depend on a very recent one
05:19 mikegrb will upgrade, I think cpan-outdated missed it
05:20 sri wow, that's really old
05:20 mikegrb indeed, fixing <3
05:20 sri :)
05:23 mikegrb \o/ thanks, sri
05:42 crab is $req->url->base supposed to include a path or not?
05:48 crab looks like not.
05:49 mikegrb my $primary   = $dom->at('div.whois_oncall > h4 + div.odd > span > a')->text;
05:49 mikegrb so much cleaner than my $primary = ($html->findvalues(HTML::Selecto​r::XPath->new('div.whois_oncall > h4 + div.odd > span > a')->to_xpath ) )[0];
05:51 crab that's a fine example of what sri was saying the other day about it being hard to find components optimised for usability
05:52 crab it would've been so easy for whatever class $html belongs to to provide a method that takes a string and creates an XPath selector and call findvalues by itself.
05:52 * mikegrb nods
05:53 mikegrb and of course that line is so long it gets split over four lines in the source
05:53 sri crab: sometimes it does, sometimes it doesn't
05:53 sri base depends on the deployment environment
05:54 crab oh, ok, so if i'm proxypass'ing / to http://mojohost:3000/foo/bar, base would be expected to have a path of /foo/bar?
05:55 crab (i'm asking because i want to make sure i'm setting it correctly, and maybe write a test or two)
05:57 sri cgi rules
05:58 sri most of the time you don't have a base path
05:58 sri base: /myapp.cgi/ path" /foo/bar
05:59 sri s/"/:/
05:59 MisterHatt sri: does mojo have auto route templating at all? like for an undefined route, if a template for it exists, it will render the template as is without any processing, otherwise go to 404?
06:00 sri base is the deployment specific part and path the app specific one
06:00 MisterHatt if that makes sense
06:00 sri no auto routes
06:01 sri you could have a route though like $r->get('/:template');
06:01 sri /foo -> foo.html.ep
06:01 sri /bar -> bar.html.ep
06:01 metaperl left #mojo
06:02 MisterHatt sri: and the route handler would automatically assign the template? what happens in the event the template in question doesnt exist?
06:02 crab the route handler would set template in the stash, just like it would set any :value in the url
06:02 sri auto rendering is independent
06:02 MisterHatt I see
06:03 crab and the renderer would just look for template in the stash, it doesn't care who set it, or whether it was through $self->render(template=>...) or otherwise
06:03 MisterHatt so if a template is called but doesnt exist in general, what happens?
06:03 sri oh, that's not what you meant
06:03 sri what crab said
06:03 sri nothing i guess
06:03 crab if the template doesn't exist you get a 404.
06:03 sri it would likely time out
06:04 sri no you don't
06:04 purl Oh yes I do
06:04 crab er, well, you used to. i'm not sure if that changed recently, i saw something about it in the changelog.
06:04 sri sadly we can't do that
06:04 crab oh, so it breaks the request chain if it can't find a template now?
06:04 sri huh?
06:04 MisterHatt got a really small work project I want to have autogen stuff so I can be lazy and not define real routes, only real reason to use mojo at all is that at a future date the client will most likely want a shopping cart of sorts implemented
06:05 MojoGuest871 joined #mojo
06:05 MojoGuest871 From: http://www.google.com/search?clien​t=safari&amp;rls=en&amp;q=html5+ir​c+client&amp;ie=UTF-8&amp;oe=UTF-8 (1 hits)
06:05 MojoGuest871 left #mojo
06:05 crab sri: "Changed Mojolicious::Plugin::EplRenderer to not render 404 errors for missing templates" <- is this relevant to what we're discussing, or is it about something else?
06:05 sri i guess you could do "get '/:template' => sub { my $self = shift; $self->render or $self->render_not_found };"
06:06 MojoGuest942 joined #mojo
06:06 MojoGuest942 From: http://www.google.com/search?clien​t=safari&amp;rls=en&amp;q=html5+ir​c+client&amp;ie=UTF-8&amp;oe=UTF-8 (2 hits)
06:06 sri crab: yes
06:06 MojoGuest942 left #mojo
06:06 crab sri: so what does it do instead of rendering a 404? just drop the request on the floor as if it didn't match?
06:07 sri it does nothing
06:07 sri you are responsible for making sure something can be rendered
06:07 MojoGuest947 joined #mojo
06:07 MojoGuest947 From: http://www.google.com/search?clien​t=safari&amp;rls=en&amp;q=html5+ir​c+client&amp;ie=UTF-8&amp;oe=UTF-8 (5 hits)
06:07 MojoGuest947 left #mojo
06:07 crab right. just like a bridge returning 0. that's what i meant.
06:07 MisterHatt cant change behavior to 404 in the event of a bad template call?
06:07 sri the bridge can still have a name and a template
06:08 sri nothing changed there
06:08 MisterHatt doing nothing doesnt sound like desired behavior
06:08 sri MisterHatt: see above
06:08 MisterHatt see WHAT above?
06:08 sri "[07:05] sri: i guess you could do "get '/:template' => sub { my $self = shift; $self->render or $self->render_not_found };"
06:08 MisterHatt ah
06:37 kaare joined #mojo
06:44 kaare left #mojo
06:46 sri http://cordobo.com/wp-content/upload​s/pure-css-animated-3d-super-mario/ # OMG
06:47 kaare joined #mojo
06:48 tholen joined #mojo
06:51 crab hmm
06:51 crab a plugin of mine is supposed to send some email. is it sensible to use a template for it so that the user can customise it?
06:51 crab i guess it makes perfect sense.
06:52 tholen left #mojo
06:52 sri of course
06:56 mateu mojo - congratulations on 1.1.  Quite of bit of work put into it by the looks of the Changes file.
06:57 koban joined #mojo
06:57 sri thanks, but the announcement is not out yet
06:57 mateu oh?
06:57 * mateu was reading recent CPAN uploads list
06:58 sri i'm waiting until it's monday everywhere
06:58 sri that was just the upload
06:58 crab is it a good idea to use $x in templates instead of stash 'x'?
06:58 sri why would you even think about that?
06:59 crab i dunno. it seems a little impolite, somehow.
06:59 * yko waves
06:59 * sri waves
06:59 yko ep templates are made to use $x instead of stash 'x'! :)
06:59 yko 1.1 today?
07:00 sri uploaded already, announcement soon
07:00 yko hooray!
07:00 sri with a cute picture
07:01 sri would even make a nice t-shirt design :)
07:01 Alias joined #mojo
07:01 yko that's great
07:01 yko damn, i decided to print few t-shorts for about a year ago. even have mokcups
07:02 * crab ponders t-shorts
07:02 sri i'm afraid to ask...
07:02 crab you'd need a belt to hold them up, i suppose.
07:04 yko btw, mojobar in absolute position makes horizontal scrollbar appear on mojolicio.us
07:05 yko i found that it's because of -moz-box-shadow
07:05 yko ff4 i mean
07:11 sri yko: feel free to improve
07:13 sri box shadow in firefox is quite annoying
07:15 MojoGuest341 joined #mojo
07:15 MojoGuest341 left #mojo
07:22 jamesw joined #mojo
07:26 yko i see 3 solutions atm
07:26 yko inner wrapper in #mojobar || #mojobar x-offset: -5 in -moz-box-shadow || overflow-x: hidden for body
07:26 yko last one seems to be better
07:27 yko fist is a bandaid, second damages design a bit. and all that because of people don't read specs
07:28 koban left #mojo
07:41 marcus sri: announcement!
07:42 * marcus craves cute pics
07:42 marcus hmm, it's 11:42 in california :/
07:42 sri !
07:43 marcus ok, here's a lolcat while we wait - http://icanhascheezburger.com/2011/02​/13/funny-pictures-double-high-five/
07:46 crab i wish i lived far enough east that it would be tuesday by the time it was monday in california or wherever
07:48 crab is there any way to set breakpoints on not-yet-loaded subs in perl -d?
07:48 crab if i eval "use Whatever" and set the breakpoint, perl segfaults in Mojo::Loader
07:48 crab Signal SEGV at (eval 281)[/usr/local/share/perl​/5.10.1/Mojo/Loader.pm:41] line 3
07:57 crab aha. it's because of my shadow hack. i guess it's a debugger bug. what fun.
07:59 perlrocks Twitter: "Released #mojolicious 1.1, awesome features on a caturday. :) http://t.co/wvOxqwK #perl" --kraih http://twitter.com/kraih/status/37058422352519168
07:59 yko \o/
08:05 sri :)
08:20 otaviof left #mojo
08:24 perlrocks Twitter: "Mojolicious 1.1: Awesome features on a caturday:    I'm very happy to announce the release of Mojolicious... http://bit.ly/fRvLEc #perl" --PlanetPerl http://twitter.com/PlanetPe​rl/status/37064624809447424
08:25 breaker313 joined #mojo
08:30 perlrocks Twitter: "Sebastian Riedel (sri): Mojolicious 1.1: Awesome features on a caturday http://bit.ly/fRvLEc" --perlironman http://twitter.com/perlironm​an/status/37066068509855744
08:50 vaneska joined #mojo
09:00 * sri wonders if the examples are maybe a bit too big
09:01 vaneska left #mojo
09:12 spleenjack joined #mojo
09:16 perlrocks Twitter: "Mojolicious 1.1 "Smiling Cat Face With Heart-Shaped Eyes" http://is.gd/xW60fi #perl #mojolicious" --xomaa http://twitter.com/xomaa/status/37077754746900480
09:17 yko sri: don't think so, i like that
09:23 koban joined #mojo
09:23 perlrocks Twitter: "allframeworks / Perl: Mojolicious 1.1 http://ff.im/xYSns" --planetperlru http://twitter.com/planetper​lru/status/37079378206662656
09:24 otaviof joined #mojo
09:40 perlrocks Twitter: "#Mojolicious 1.1 http://goo.gl/fb/8sQuU #mojo #version #perl" --allframeworks http://twitter.com/allframewo​rks/status/37083778903973888
09:46 perlrocks Twitter: "Mojolicious-1.1 http://ff.im/xYX1O" --sharifulin http://twitter.com/shariful​in/status/37085297292353536
09:56 sri :)
09:58 su-bzero I'll update only after 2.0 release. ;)
09:58 sri that could be a long wait ;p
10:08 oxxi joined #mojo
10:08 oxxi hello mojo!
10:08 * sri waves
10:08 MojoGuest814 joined #mojo
10:08 MojoGuest814 left #mojo
10:09 oxxi I have a strange problem here.
10:09 oxxi I got the lates mojolicious from github.
10:10 oxxi a plain generated lite_app just works.
10:10 oxxi but when I try to run vti's bootylicious, I get this:
10:11 oxxi syntax error at /usr/local/lib/perl5/site_perl/5.1​2.1/Mojolicious/Command/Daemon.pm line 8, near "has description"
10:11 oxxi syntax error at /usr/local/lib/perl5/site_perl/5.1​2.1/Mojolicious/Command/Daemon.pm line 8, near "has description"
10:11 oxxi syntax error at /usr/local/lib/perl5/site_perl/5.1​2.1/Mojolicious/Command/Daemon.pm line 8, near "has description"
10:11 oxxi syntax error at /usr/local/lib/perl5/site_perl/5.1​2.1/Mojolicious/Command/Daemon.pm line 8, near "has description"
10:11 oxxi Whoops.
10:11 oxxi was kicked by sri: oxxi
10:11 oxxi joined #mojo
10:11 oxxi sorry
10:11 oxxi just one line.
10:12 sri botylcious has a bundled version that is too old
10:12 oxxi ah, ok
10:12 * su-bzero .oO (sri kicks for bugs) ;))
10:12 sri my irc client auto kicks for flooding
10:12 oxxi I didn't see the lines without newline.
10:13 sri but i would kick for bugging too ;p
10:14 oxxi Hm, vti isn't here. Maybe some one could help, shouldn't it be possible to update the shipped mojo with gits submodule mechanism?
10:15 sri bootylicious is not so well maintained anymore :/
10:15 oxxi :(
10:16 oxxi my blog is based on it.
10:16 sri let vti know that you like bootylicious and would like it to be maintained again
10:17 sri a little positive motivation often helps a lot
10:17 yko Oh great! Firefox4 fixed shadow bug in 4.0b11!
10:17 oxxi ok, thanks.
10:17 oxxi HAND!
10:17 sri oh great!
10:18 oxxi left #mojo
10:19 * sri wonders if people will actually use the new mojo get
10:20 moritz there's just one way to find out... make it report back to a central server!
10:20 sri :)
10:20 sri that's brilliant
10:21 sri you should be working for google!
10:21 yko Ж)
10:21 moritz or oracle!
10:21 sri !
10:21 moritz did I tell you that I silently patched parrot to... oops, I shouldn't be saying that
10:26 sri latest firefox is not bad
10:29 metaperl joined #mojo
10:31 perlrocks Twitter: "More translations of the #mojolicious documentation would be really nice. #perl" --kraih http://twitter.com/kraih/status/37096689600831488
10:37 perlrocks Twitter: "If you're already working on a translation, please add a link to the wiki. http://t.co/q2MxS0u #mojolicious #perl" --kraih http://twitter.com/kraih/status/37098120802209792
10:38 marcus Mike: there is a fork on github that implements external auth.
10:40 MisterHatt sri: I can translate the docu to ancient hebrew, but I doubt there are many people who'd benefit
10:40 sri hehe
10:48 perlrocks Twitter: "People in doing perlcodesample Mojolicious Japanese translation project documents - livedoor Wiki (Wiki) http://wiki.livedoor.jp/mojolicious/ truly indebted to you." (ja) --5_1_5 http://twitter.com/5_1_5/status/37100899881062400
10:55 perlrocks Twitter: "While perlcodesample temporarily stopped updating of the translation, Walrus, Digit. you have to translate in a different lot of people. Mojolicious - Walrus, Googling. Http://bit.ly/f3jiDO" (ja) --5_1_5 http://twitter.com/5_1_5/status/37102672293138432
11:00 torbjorn joined #mojo
11:12 fish__ left #mojo
11:29 crab how do you say "mojo" in ancient hebrew?
11:31 crab or even "smiling cat with heart-shaped eyes"
11:35 MisterHatt crab: the sound mojo or the actual meaning? ancient hebrew only has 8000 words, it isnt terribly descriptive
11:36 yko MisterHatt: just suggest few words with very positive and awesome meaning :D
11:36 crab that's too bad
11:37 crab i suppose "documentation" could be translated as "scripture" ;-)
11:37 MisterHatt yko: lul? honestly almost everything technological just gets transliterated
11:37 MisterHatt crab: we dont have a word for scripture :D
11:37 crab "Why don't my cookies... " "Have you read the holy book of Mojo?"
11:37 MisterHatt it'd be more like commandments or decrees I guess
11:37 MisterHatt or writings
11:37 crab commandments! even better.
11:38 MisterHatt hmm, ktuvim is kinda like 'scripture' I guess
11:38 MisterHatt idk lol, actually super high right now
11:38 sri vim... i see
11:38 MisterHatt sri: nano is your friend
11:38 MisterHatt <--heathen
11:38 crab ktunano?
11:38 MisterHatt crab: what
11:38 crab don't ask me, you said ktuvim
11:39 MisterHatt which translates as the plural of writing
11:40 MisterHatt but it's used for like, holy writing
11:40 crab ktulhu!
11:40 sri fhtagn!
11:41 yko oooh.... ktuvim! <3  ancient hebrew
11:41 MisterHatt dont say it, he'll swallow us all :O
11:41 yko it's really like holy writing
11:41 MisterHatt yko: lul
11:49 perlrocks Twitter: "Mojolicious 1.1 released - Awesome features on a caturday (Perl) - http://bit.ly/gNDz20 - [Hacker News FH]" --newsery1 http://twitter.com/newsery​1/status/37116152387731456
11:49 jdixon left #mojo
11:49 MisterHatt ugh missed my favourite song on this album while making tea :/
11:49 perlrocks Twitter: "Mojolicious 1.1 released - Awesome features on a caturday (Perl):  http://bit.ly/ebVUxG" --hnfirehose http://twitter.com/hnfireho​se/status/37116319925014528
11:54 omega marcus: what was the name of that bundle of vim plugins you used?
11:54 sri janus i bet
11:54 omega ahh, ja
11:54 omega tnz
12:00 marcus moo
12:01 crab if i create a route named 'x' in my sub startup, is there any way a plugin can create its routes under x?
12:04 sri you can always search for a route named x
12:04 sri just walk the tree
12:05 crab how?
12:20 perlrocks Twitter: "Mojolicious 1.1 released - Awesome                 features on a caturday (Perl) http://bit.ly/ebVUxG" --ycombinatornews http://twitter.com/ycombinator​news/status/37124085590786048
12:34 perlrocks Twitter: "Come to the dark side, we have command-line #CSS3 selectors #perl http://blog.kraih.com/mojolicious-11-released </grin>" --mfontani http://twitter.com/mfontan​i/status/37127605056438272
12:39 MisterHatt what is the point of cli selectors and everything anyway, saw that in the daily hacks the other day
12:41 crab it's just a  convenience
12:41 sri it's awesome for testing
12:44 crab sri: how did you mean i should walk the tree? foreach ($r->children){if($name eq $_->name){...}} and so on? is that supported/non-experimental/safe?
12:44 sri yes, just check all children
12:50 crab ok, thanks
13:05 perlrocks Twitter: "Fun little #mojolicious oneliner to get all the latest #perl headlines from reddit. :) "mojo get http://t.co/74cl6UL '.title > a' text"" --kraih http://twitter.com/kraih/status/37135230443724800
13:05 sri damn
13:06 perlrocks Twitter: "Fun little #mojolicious oneliner to get all the latest #perl headlines from reddit. :) "mojo get -r http://t.co/74cl6UL '.title > a' text"" --kraih http://twitter.com/kraih/status/37135537512910849
13:06 sri i always forget the url shortener :/
13:12 marcus walk the line
13:13 crab "mojo get http://reddit.com a" says nothing for me.
13:13 sri use -v
13:14 sri it will tell you why
13:14 omega have anyone found a decent auto-closer for vim?
13:14 marcus textmate
13:14 purl i heard textmate was an OSX text editor, at http://macromates.com/ or featuring dynamic code folding, "snippets", re-orderable tabs, and smart typing (auto-closing blocks, quoted strings, et cetera.) or the new BBEdit or the editor in all those Rails videos or non-free but quite worth it or notepad for OS X or requires a patch to enter Japanese characters which costs $5
13:14 marcus :p
13:14 crab ah, excellent
13:15 omega marcus: bleh :)
13:15 spleenjack left #mojo
13:15 omega marcus: so no more vim for you?
13:15 marcus omega: nope
13:15 marcus it's too fugly
13:16 omega fugly?
13:16 purl fugly is fucking ugly
13:16 marcus yes
13:17 marcus still doesn't feel native to me
13:17 marcus and I kinda hate the menu thingie
13:17 omega what menu tingy?
13:17 omega the icons?
13:17 purl the icons are fine by me, I just want fewer of them... [cobbling together mockup]
13:17 marcus project folder
13:18 * sri hates the buffer management
13:20 marcus that too
13:24 marcus and cmd-t is pretty perfect for me in textmate
13:31 spleenjack joined #mojo
13:49 bellaire joined #mojo
13:56 crab Mon Feb 14 19:26:33 2011 debug Mojo::Server:48 [19224]: Waiting for delayed response, forgot to render or resume?
13:56 crab nice touch.
14:02 sri did anyone test 1.1 with strawberry 5.12?
14:02 sri i've got a report that home.t doesn't pass
14:09 yuki joined #mojo
14:09 yuki left #mojo
14:28 su-bzero is now known as su-bzero[A]
14:39 kaare left #mojo
14:48 perlrocks Twitter: "#FreeBSD port www/p5-#Mojolicious is old — 0.999941" --shoorick77 http://twitter.com/shoorick​77/status/37161173816184832
14:56 breaker313 left #mojo
14:56 marcus oh noes
14:56 marcus who is the responsible party??
15:01 sri always the one asking!
15:02 elb0w joined #mojo
15:02 marcus sri: I bet it is that phat dane
15:02 marcus LARS
15:04 elb0w Im thinking of setuping up mojolicious on my dreamhost account, I have no clue how to start though. Does anyone know of any guides?
15:04 elb0w where to start*
15:05 dekimsey joined #mojo
15:06 elb0w I want to use it with the apache server
15:06 sri just look for a generic fastcgi guide, the application script can detect the environment and just do the right thing
15:06 sri i'm sure dreamhost has documentation for that
15:06 elb0w so I guess it will be using the htaccess?
15:07 sri afraid i won't be able to get more specific, since i have no clue about dreamhost
15:08 elb0w ok
15:08 elb0w ty anyway
15:08 purl np, dh! hand!
15:08 jegade hi, after upgrade to 1.1 my routes does not work -> https://gist.github.com/825994
15:11 yko sri: This is perl 5, version 12, subversion 2 (v5.12.2) built for MSWin32-x86-multi-thread
15:11 yko All tests successful.
15:11 purl That's great, yko! Now the only bugs that remain are the ones you haven't tested for yet!
15:11 yko purl++
15:12 sri yko++
15:13 yko jegade: we are supposed to gues which exactly route doesn't work?
15:13 yko btw, $r->bridge('/')->to(...) should be $r->bridge->to(...), doesn't it?
15:14 sri doesn't matter
15:14 sri equal
15:14 jegade yko: ;) sorry, /login and all based on $root, $api works
15:14 jegade /login and all based on $root dont!
15:15 sri i don't see anything special
15:15 jegade yko: changed bridde('/')-> to bridge-> and now it works ;)
15:15 yko :)
15:16 sri hmm
15:16 yko sri: it's common behavior
15:16 yko since 999935 or so
15:16 sri common behavior?
15:17 jegade ok, other app, same problem. new since 1.1, with 1.0.1 bridge('/') works for me
15:19 kaare joined #mojo
15:21 crab can i do anything to see the logs from my app during a test run?
15:21 yko strange. i'm sure i had this issues few month ago. bridge for root element doesn't works if bridge('/') only if bridge->
15:21 crab yko: and that was fixed
15:22 crab oh
15:22 crab or maybe not
15:22 crab sorry.
15:22 yko crab you can set file path to undef then log will go to stdout
15:24 crab yko: where? it doesn't seem to have any effect though i do set that in sub testing_mode
15:24 crab i don't understand why. i can see that it's being called.
15:26 crab it works if i run the app by hand, but not when i'm testing
15:32 bellaire is prove eating your output?
15:33 crab i'm not running prove. i'm just going perl -Ilib t/gadwall.t right now
15:33 bellaire :\
15:34 crab do you get server log output when you run tests?
15:37 bellaire i've never tried, and neither has dekimsey
15:37 GitHub26 joined #mojo
15:37 GitHub26 mojo: master Sebastian Riedel * 000677d (5 files in 4 dirs): fixed small route bug - http://bit.ly/hmWB3G
15:37 GitHub26 left #mojo
15:38 sri jegade: should be fixed
15:38 crab ok, if i set MOJO_LOG_LEVEL=debug perl ..., then it works
15:38 jegade sri: great, ty
15:38 sri that bug must have been there for ages though
15:39 sri it only triggers in a few edge cases
15:39 sri like a /foo -> / -> /bar
15:49 su-bzero[A] is now known as su-bzero
15:49 yko sri: it was :) it was discussed few times here, but nobody was care enough :)
15:51 sri yea, think i remember asking for a test case
15:52 su-bzero yko: For what? New feature?
15:56 yko hmm, possible
15:56 purl ANYTHING is possible with perl!
15:56 yko well, i should go... :)
15:58 sri wow, they are filming a new bsg series now :o
16:10 koban left #mojo
16:23 a|newkirk[assoc] joined #mojo
16:23 crab has anyone needed to take an arbitrary bunch of values and generate an html form with those values all as hidden elements?
16:24 crab if so, i'd appreciate some advice about how to deal with escaping in a sensible way
16:25 moritz maybe I miss something... what's the problem?
16:26 moritz the values are just html attributes
16:26 moritz so " -> &quot;, & -> &amp; etc. should do
16:29 stephan48 left #mojo
16:29 crab oh, sure. but i want the most mojolicious way to do it rather than doing the escaping by hand.
16:30 crab that's how i'm doing it now, with Mojo::Util::html_escape and <%== ... %>
16:31 stephan48 joined #mojo
16:32 crab heh, i wonder if <%= render_partial(inline => '<%= hidden_field $a => $b $>', a => $_->{name}, b => $_->{value}) foreach @fields %> would work
16:39 otaviof left #mojo
16:58 bellaire any reason why controller doesn't map $self->log to $self->app->log?  Is there another $self->x->log we may wish to log to?  or is it to avoid a goto in $self->log?
17:00 su-bzero left #mojo
17:01 dekimsey I ♥ goto.
17:07 crab bellaire: i also fervently wish for $self->log => $self->app->log
17:19 yuki joined #mojo
17:19 yuki left #mojo
17:23 julien joined #mojo
17:26 julien hey guys
17:27 julien I'm reading about PSGI and Plack, that's new to me, and I'm wondering how that works from a frontend (nginx/apache) perspective
17:27 julien does the frontend need a special module to talk PSGI to the application ?
17:29 ispy_ joined #mojo
17:30 mattastrophe joined #mojo
17:42 ispy_ Hi Sri
17:44 ispy_ Should I file bugs against git or rt?
17:44 ispy_ I've found a doc bug within Mojolicious::Manual::Cookbook under the Apache/FastCGI section... it's actually a regression imho...
18:02 crab what is it?
18:02 purl it's it!
18:07 spleenjack left #mojo
18:14 ispy_ crab: The httpd.conf example in http://search.cpan.org/~kraih/Mojolicious/lib/​Mojolicious/Guides/Cookbook.pod#Apache/FastCGI isn't correct.
18:14 ispy_ I have a working example on my production Apache/FastCGI setup that might be of use to everyone.
18:15 ispy_ It looks like Sri made updates in previous commits where it was explained correctly, but in modern versions of the doc it is incorrect.  Which is why I'm calling this a regression failure... I just wanted to point it out to whomever needed to know :)
18:19 ispy_ crab: And in looking at the Apache/CGI example, I'm thinking this might not work either for more completed apps (that have more than one route)
18:19 ispy_ s/completed/complicated/
18:19 crab ispy: send mail to the list, i'd say
18:19 ispy_ crab: Ok, i can do that... thanks.
18:21 crab ispy: include a patch for best results :-)
18:31 sherr left #mojo
18:49 su-bzero joined #mojo
18:50 su-bzero sri: https://github.com/kraih/mojo/pull/71 TTL for DNS request. It doesn't break nothing. But really usefull.
18:51 su-bzero For us at least. ;)
18:51 tholen joined #mojo
18:53 ispy_ left #mojo
18:58 ispy_ joined #mojo
19:03 marcus left #mojo
19:04 stephen joined #mojo
19:07 ispy__ joined #mojo
19:10 ispy_ left #mojo
19:29 crab su-bzero: oh, that's a very neat patch
19:37 marcus joined #mojo
19:38 marcus "Oh Homer, you always mean to say the nicest things" <- You should use that somewhere, sri :)
19:51 sherr joined #mojo
20:00 a|newkirk[assoc] left #mojo
20:24 marcus left #mojo
20:25 fhelmber_ left #mojo
20:32 ispy__ left #mojo
20:33 ispy_ joined #mojo
20:35 marcus joined #mojo
20:42 perlrocks Twitter: "@mintywalker Mojo has no dep other than Perl and you can use the selectors via the client module" --mfontani http://twitter.com/mfontan​i/status/37250436209573888
21:36 bellaire left #mojo
21:45 tholen left #mojo
22:00 contempt joined #mojo
22:09 ispy_ left #mojo
22:10 kaare left #mojo
22:12 ispy_ joined #mojo
22:40 Alias_ joined #mojo
22:41 ispy_ left #mojo
23:01 marty left #mojo
23:07 mattastrophe left #mojo
23:16 stephan48 how could i (ab)use stash to store data in my bridge so i can access it later in my action? is this maybe the wrong aproach? $self->stash( info => "test") and then later $self->stash('info'); doesnt seem to work...
23:25 stephan48 nervermind... it worked perfectly.... after i moved the call which set the stash value before the call which accessed it(a function i called from bridge)
23:32 toei joined #mojo
23:57 mattastrophe joined #mojo
23:59 contempt left #mojo

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