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

IRC log for #mojo, 2013-11-30

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

All times shown according to UTC.

Time Nick Message
00:03 sri http://www.scala-lang.org/news/2013/11/29/announcing-scala-js-v0.1.html # wow, and we were just talking about client side languages :)
00:23 tba_ joined #mojo
01:05 hahainternet i'd love to see lua on the client side
01:05 hahainternet just because lua, despite being weird, is kinda perly and also ridiculously fast with luajit
01:21 meshl @jberger: is the new code, without the steps function, 100% equivalent?
01:21 jberger_ yes
01:22 jberger_ it was something new I learned yesterday from sri
01:22 jberger_ I had never used a delay without steps, but it seems that that is unnecessary
01:23 meshl Thanks. I sorta followed yesterday's conversation but did not understand the details
01:26 meshl so... does steps still have any purpose?
01:26 jberger_ it's nice because now I can separate introducing delays (parallel non-blocking operations) from steps (sequential (groups) of non-blocking operations)
01:26 jberger_ ah you beat me to the question
01:26 jberger_ meshl, for example: https://gist.github.com/jberger/7636217
01:26 jberger_ a preview of part 3
01:27 meshl great. awaiting part 3 ;)
01:28 jberger_ I got delayed by YAPC::Brasil
01:28 meshl :) yeah, but Brazil is a great country ;)
01:28 jberger_ indeed, I enjoyed myself immensly
01:28 jberger_ (sp?)
01:28 meshl was that the first time?
01:29 jberger_ it was
01:29 jberger_ I met some really cool Perlers
01:30 meshl any Mojoers in the group?
01:32 hahainternet jberger_: that delay syntax is neat i guess
01:32 hahainternet just forms a little internal state machine i guess
01:33 hahainternet trying to pay more attention to Mojo and its internals
01:36 jberger_ basically yes
01:36 jberger_ but it also helps with the argument passing
01:36 jberger_ especially when you get to the steps
01:36 hahainternet immediately i think 'NAME THE SUBROUTINES' but really i'm just gonna shut up
01:36 hahainternet cause i don't know the internals
01:36 hahainternet nor the use
01:37 jberger_ remember, its all about nonblocking
01:37 Adurah "
01:37 Adurah good job,man
01:37 Adurah "
01:37 Adurah Why newlines?!
01:37 d4rkie joined #mojo
01:38 jberger_ ?
01:38 d4rkie joined #mojo
01:39 Adurah I found the reply to your Part 2 funny.
01:39 Adurah But, I didn't mean to copy the newlines around it. :P
02:02 beyondcreed joined #mojo
02:06 sri marcus reminded me that we've still not decided if Mojo::Base should export weaken
02:06 sri but if we do that, where do we draw the line?
03:08 Lucas1 joined #mojo
04:04 * tianon slides down the now-slippery slope
04:04 tianon it's after t-day now, we can make Christmas jokes, right? :)
04:21 hesperaux joined #mojo
04:29 good_news_everyone joined #mojo
04:29 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/jVnz6w
04:29 good_news_everyone mojo/master c120d7d Sebastian Riedel: fixed example formatting
04:29 good_news_everyone left #mojo
04:30 sri tianon: as far as i understand american culture today is the day for wallmart jokes
04:31 jberger_ ... and jokes about the south
04:31 jberger_ jk
04:33 * sri just realized mango needs a more dynamic way for configuration with connection strings
04:34 sri app->job_queue->mango->from_string('mongodb://...')
04:49 crab more dynamic than what?
04:49 crab i mean, what's the normal way to configure server(s)? only environment or config file settings, i suppose?
04:53 crab sri: btw, you mentioned something about libuv. why is it good, and what you have in mind for perl bindings?
04:54 jberger_ its like libev, except without mlehmann
04:55 jberger_ I have started a reactor for it a few times
04:55 preflex_ joined #mojo
04:55 jberger_ but never finished
04:55 jberger_ best prospect was using FFI::Raw
05:01 crab FFI::Fofum
05:01 jberger_ hehe
05:10 sri crab: it's a kick ass general purpose networking library/c event loop
05:11 sri does everything you need, from epoll/kqueue/iocp to non-blocking resolver
05:12 sri you can think of it as libev++
05:13 crab cool, thanks. i'll look at it.
05:13 sri http://nikhilm.github.io/uvbook/index.html
05:14 webart libuv is bsd/mit from joyent ...
05:14 webart jnthnwrthngtn likes it for moarvm :)
05:14 crab "jnthnwrthngtn"? is that a person?
05:15 webart he seems nice :)
05:16 webart liked something about it more than apr ...
05:16 sri aka jnthn
05:16 sri haha apr
05:16 webart why use vowels when the consonants say it all
05:17 sri apache was never any good at non-blocking io
05:18 webart moarvm update said: "The primary reason we moved to using libuv instead was to ensure we can provide support for asynchronous I/O on a relatively wide variety of platforms. "
05:18 webart http://6guts.wordpress.com/2013/09/08/a-moarvm-progress-update/ :)
05:19 * sri tweeted that
05:20 sri crab: biggest problem with libuv atm is the bad perl binding, it likes to crash and stuff... https://metacpan.org/pod/UV
05:21 crab ah
05:25 sri oh, btw. i meant more dynamic as in i just added ->from_string, previously you could only pass connection strings to ->new ;)
05:26 sri which sucked a bit when your mango was stored in an attribute
06:08 laouji joined #mojo
06:14 webart joined #mojo
06:18 webart joined #mojo
06:41 laouji joined #mojo
07:08 Vandal joined #mojo
07:24 kanishka joined #mojo
07:26 kanishka hai fellows
07:27 kanishka is there any working mode of Mojolicous with authentication ?
07:29 moritz there's Mojolicious::Plugin::Authentication
07:31 kanishka moritz: i need real time example sort of
07:31 kanishka i have been using it
07:38 kanishka securing the server and those tips
07:45 kanishka Any
07:45 kanishka Any information on securing the servers
07:54 marcus https://news.ycombinator.com/item?id=6821999
08:35 laouji joined #mojo
08:59 crab marcus: i don't know how i feel about that "vulnerability". what do you think?
09:00 marcus crab: I think using dynamic js templates is a bad idea and rails should feel bad
09:00 marcus :)
09:00 marcus It was even covered in a chapter of the rails 4 book I recently read. I cringed.
09:02 crab what are dynamic js templates, exactly? (i thought this was about returning js code that gets eval()ed on the browser, but i don't know the rails features in question)
09:03 marcus like get '/foo' ; and foo.js.ep and then generating the javascript dynamically on the server side
09:04 marcus this very often leads to security flaws where you make the user do stuff on other sites.
09:04 rem_lex|pivo joined #mojo
09:04 marcus (similar to csrf on form posts)
09:05 rem_lex| joined #mojo
09:08 rem_lex joined #mojo
09:10 crab ah.
09:10 marcus But I think it's pretty dirty regardless
09:11 marcus I prefer js to be fully static, not double evaluated by a template
09:14 marcus btw, I actually think https://metacpan.org/pod/release/KOORCHIK/Mojolicious-Plugin-CSRFProtect-0.14/README.pod should have been mojolicious core functionality.
09:19 laouji_ joined #mojo
09:21 crab i don't like the code/API much, but i agree with the premise (that we want the functionality)
09:26 sh4 joined #mojo
09:30 marcus crab: yeah, I didn't mean that specific implementation.
09:30 crab it's also a bit hard to do without depending on external modules (for good-quality randomness)
09:31 marcus crab: we already require a good secret for client side cookies tho?
09:31 crab this is not really a case where you need randomness of the highest quality, but given how broken randomness is a chronic problem with web apps, i'd _hate_ to see an "official" not-quite-baked method in use.
09:32 crab marcus: that doesn't need to be random, it just needs to be secret.
09:33 marcus crab: I see the token is double md5'ed with $$ in https://metacpan.org/source/KOORCHIK/Mojolicious-Plugin-CSRFProtect-0.14/lib/Mojolicious/Plugin/CSRFProtect.pm
09:34 marcus (and random)
09:34 marcus I assume that is to keep a secret in the hash
09:35 marcus As long as you make your nonce with a good secret, why does the random need to be very strong?
09:37 marcus crab: but yeah, if we're doing it official we have to vet our implementation for weaknesses.
09:38 marcus o/
09:38 marcus I told sri yesterday, so I might as well tell you as well: batman and I have decided to open source wirc
09:39 marcus We have some cleaning up to do, and we might do a project rename first, but it will happen
09:40 crab cool. i didn't actually realise that it wasn't open source already.
09:40 marcus :)
09:58 basiliscos joined #mojo
10:28 batman \o/
10:28 batman I LOVE YOU MARCUS!!!!!!
10:28 batman :)
10:28 batman crap. that will forever be in the online log
10:28 batman ;)
10:32 marcus :D
10:35 batman so what will the project be named?
10:35 marcus hookers-and-beer-chat
10:36 marcus I think that will help with adoption.
10:36 marcus :)
10:38 batman :D
10:39 batman it was awesome.
10:54 batman chattilicious! clmv
10:54 batman oops! new keyboard :(
10:54 laouji joined #mojo
10:55 denisboyun joined #mojo
10:56 batman chattilicious. convos. wirc. no idea :)
11:14 kanishka left #mojo
11:34 sjn marcus++ batman++ # for opensourcing their web irc client
11:36 batman sjn: magical stuff happens when you're drunk ;)
11:39 crab i don't always drink, but when i do i open source all my code
11:40 batman :D
12:23 mire__ joined #mojo
12:32 denis_boyun joined #mojo
12:42 dod joined #mojo
12:42 denis_boyun joined #mojo
13:01 dod joined #mojo
13:14 laouji joined #mojo
13:24 asarch joined #mojo
14:06 webart hmm mochatalicious and POE::Component::Server::IRC ... /me wonders how many users could connect to typical vm/server
14:10 sri marcus: i wanted to add csrf protection... and you voted against it!
14:17 sri my implementation would have been a csrf_token helper that generates one in the session... form_for adding a hidden field automatically... and a Mojolicious::Validator::Validation check that clears the token from the session when it runs
14:21 sri possibly a csrf_field helper to allow customization
14:22 sri now you'll have to convince me why it absolutely needs to be in core though
14:25 jberger_ FFI::Raw now has 64 bit int types!
14:26 jberger_ that was a blocker for Mojo::Reactor::UV last time I looked
14:26 jberger_ \o/
14:26 sri \o/
14:26 jberger_ Mojo::Reactor::UV::FFI I should probably call it, to leave room for an XS version if desired
14:27 sri Mojo::Reactor::UV::XS ;p
14:28 jberger_ I suppose
14:28 sri but yea, longer name doesn't hurt
14:29 sri Mojo::Reactor::UV might be worth reserving for core
14:29 jberger_ looking through my project queue, does anyone think there is a market for this: https://github.com/jberger/Mojolicious-Command-nopaste
14:30 jberger_ "reserved for core" actually I agree
14:30 jberger_ by market I mean, would people use it?
14:33 hahainternet sri: if you're adding csrf, don't forget X-CSRF-Token or similar, probably a moot point but i've recently fought with csrf :D
14:33 hahainternet also plugin::csrfprotect seems excellent
14:35 sri personally i hate csrf plugins that deal with errors automatically and outside of the action in question
14:35 sri i would want it to be just another validation error
14:35 hahainternet agreed it should be raised 'natively'
14:35 hahainternet but i have yet to get to handling errors properly so my opinion may change :D
14:45 meshl joined #mojo
14:47 chansen joined #mojo
14:52 marcus sri: I think it should be in core because everybody should use it, and if you don't want it, you should have to disable it.
14:52 marcus sri: Are you sure I voted against it? I have no memory of this.
14:54 marcus I read my comments from september now. I was an idiot
15:02 hahainternet damnit every time i think 'oh this will be frustrating to do' i read the docs and it turns out mojo basically makes it trivial haha
15:03 hahainternet i need to add cruft to json responses to protect against things like overriding array constructors in older browsers
15:03 hahainternet and it looks like i can trivially hook it in after_render, check the format, and prepend the cruft
15:03 hahainternet could not be easier
15:06 athenot joined #mojo
15:06 jberger_ hahainternet, \o/
15:07 hahainternet here's a question though
15:07 hahainternet how do you handle simple messages/errors?
15:07 hahainternet i could use flash, but that's limited in size
15:07 hahainternet but it seems pretty useful
15:08 hahainternet i could just pass the errors in the template, but that seems like it would be trickier than using flash
15:08 hahainternet oh, that was badly asked, i mean simple messages/errors that go across pages
15:08 marcus hahainternet: I'd use flash
15:08 marcus it's *that* limited.
15:08 sri marcus: http://irclog.perlgeek.de/mojo/2013-09-30#i_7652859
15:09 hahainternet marcus: those two lines seem to disagree
15:09 hahainternet if it's very limited, why use it?
15:09 sri at this point, i would only accept a kick ass csrf implementation into core
15:09 hahainternet just because it's very useful?
15:09 jberger_ hahainternet, see also Mojolicious::Plugin::Humane
15:10 jberger_ its a specific implementation
15:10 hahainternet hmm i recognise this author name :D
15:10 jberger_ funny that
15:10 hahainternet sri: csrf wise, the one problem i'm unclear about is how to give arbitrary js scripts run on the page access to the csrf token
15:11 hahainternet the way i've seen it done before is making the csrftoken cookie non httponly
15:11 hahainternet the way that csrfprotect does it is pretty useful too
15:11 jberger_ from the posting, I still wonder why send the JS along with the content, why not just have client side js ready to inject the new content
15:11 sri hahainternet: that's not really relevant to the discussion at hand
15:12 jberger_ neither is mine ;-), ok I'll leave this one to the experts
15:12 hahainternet sri: i'm just interested in what would need to be changed in csrfprotect for it to be viable, i do think that it should be in core but obviously my opinion holds little weight
15:13 sri hahainternet: that plugin could never be merged into core
15:13 hahainternet i didn't mean the plugin explicitly, just csrf protection
15:14 hahainternet jberger_: i hadn't seen humane.js before, seems a nice system
15:14 jberger_ :-)
15:14 sri hahainternet: i don't know how it should be done
15:15 sri part of the problem, whoever decides to work on it will be fighting an uphill battle now
15:15 hahainternet how so? i'm pretty ignorant of mojo's community
15:16 sri my default vote is -1 on the whole thing now, you'll have to convince me that your way is "correct" for mojolicious
15:17 hahainternet a challenging task i suspect :D
15:17 sri the fact that there are at least 3 plugins for the job on cpan now doing it in different ways makes that pretty hard
15:17 marcus hahainternet: meant *not*
15:18 marcus not that limited.
15:18 hahainternet well, i feel the core of csrf is relatively straightforward, and if stripped down to that the question possibly becomes simpler
15:19 hahainternet incidentally, do you know the third plugin? i know of csrfprotect and csrfdefender
15:19 hahainternet marcus: thanks, humane.js seems an excellent way to go too
15:19 marcus DeCSRF
15:19 hahainternet marcus: thanks again :)
15:21 sri fyi. i don't agree with any of the plugins
15:21 sri but i said that earlier already
15:21 hahainternet anything specifically or just in general?
15:21 hahainternet i've read through csrfprotect so far and it seems pretty reasonable
15:21 sri global token checks and rendering something on failure
15:21 jberger_ marcus gets all the thanks :-P
15:22 sri csrf protection should not require a hook
15:22 hahainternet i agree on both parts, i like the idea of it being part of validation and being a validation error
15:22 webart jberger: while reserving namespaces for your project queue ... a Mojo based html5/css/js plotting device for PDL  could be called piddlicious
15:22 jberger_ ha!
15:22 webart or PDLiciious   ... not sure
15:23 marcus wizards gets all the girls.
15:23 jberger_ I did write a flot module once
15:23 jberger_ but it never left github
15:23 sri whole discussion might be moot though, since i don't think we have anyone willing to work on csrf protection
15:23 hahainternet well it's been discussed in our 'office' quite a bit
15:24 jberger_ sri: by your own words, there have already been at least three ;-) , then again, I'm certainly not one of them
15:24 hahainternet my coworker has been trying to do everything the 'right' way
15:24 sri jberger_: for core
15:24 hahainternet so we'll have to see
15:25 webart jberger:  :-) t-shirt possibilities: "... never left github"
15:25 jberger_ webart, its a rare thing for me actually, I have a tendency to release early and often
15:25 jberger_ I have a couple "not so proud" CPAN contributions
15:26 jberger_ which probably shouldn't have left github, but did :-o
15:26 webart I was looking at "bokeh" and some of the python /webrepl thingies
15:27 marcus sri: I suggest we leave it at that until we have an actual pull request for discussion then.
15:28 sri yea, i'm also not looking forward to "YOU BROKE MY CSRF PLUGIN" discussions
15:29 marcus I guess this would have to go into the next major release to be reasonable
15:29 marcus Because we'd want it on by default.
15:31 laouji joined #mojo
15:31 dod joined #mojo
15:31 basiliscos joined #mojo
15:32 sri done my way, you only would get in trouble with colliding plugins
15:32 marcus sri: Because you'd only do it as part of validation?
15:32 sri since the token would be inserted automatically, but the check is opt-in
15:32 sri yea
15:34 hahainternet would you make it available as a stash value so it could be easily thrown into a template?
15:35 hahainternet or its own helper?
15:35 sri helper
15:36 sri $self->csrf_token, which would generate a new one if there is none in the session, or return the current one
15:36 sri a validation would consume the current token from the session
15:37 hahainternet does an ajax post update the browser's cookie in response? i've never actually tested, i'd assume so
15:38 marcus we would probably want a meta tag helper as well, for javascript
15:40 hahainternet hmm, the problem with passing that is that it might change during the lifetime of the page, and it'd have to be taken from the session cookie i think? i suppose the cookie can be decoded on the client side though
15:40 hahainternet i don't actually know much about mojo's session cookies and i have to leave, so i'll shut up now :)
15:58 sri i'm having a hard time taking you serious with that nick :p
16:06 serious_chat fixed
16:09 d4rkie_ joined #mojo
16:10 meshl joined #mojo
16:20 sri -.-
16:22 marcus why not zoidberg?
16:22 purl (V) (;,,;) (V)
16:22 hummeleBop joined #mojo
16:22 jberger_ p3rl.org/Zoidberg !
16:24 d4rkie joined #mojo
16:43 hrupp joined #mojo
16:55 KindTwo joined #mojo
17:22 denis_boyun joined #mojo
17:29 jberger_ I'm not sure I can create a handle (say a timer) using FFI::Raw
17:32 jberger_ hmmm perhaps ....
17:39 serious_chat so about those csrf tokens
17:39 serious_chat i don't think it's a good idea to require the client to parse the cookie, although i don't know if that's done anywhere else
17:40 serious_chat so i guess in the case of a static page where javascript makes POST requests, you'd have to explicitly send back a new token to match the one in the session?
17:40 serious_chat also why not zoidberg indeed
17:42 denis_boyun joined #mojo
17:48 sri serious_chat: a) nobody is working on it b) javascript access doesn't even have to be a core feature
17:49 sri token generation/access, hidden input tag generation, and validation... that's all a first core implementation needs
17:50 sri in fact, the only unanswered question atm is how it would work on the validation side, error reporting and all
17:53 sri perhaps it is as easy as %= 'CSRF token missing or invalid.' if validation->has_error('csrf_token')
17:54 serious_chat oh, well you've actually just answered another question of mine
17:54 serious_chat and yeah that sounds totally reasonable, i'm just wondering how you would handle it theoretically, as i'm fairly ignorant of mojo and will implement it at least in my project the way that is recommended
17:55 serious_chat no idea if it'd make a suitable pull req, but it doesn't hurt to practise either way
17:55 sri the recommended way (by me) requires changes in Mojolicious::Validator::Validation
17:55 serious_chat no i just mean my question above
17:55 serious_chat everything else you've proposed sounds ideal
17:56 serious_chat i'm just not sure whether client parsing cookie is a really stupid thing to do, it seems it to me
17:56 sri it is a really stupid thing to do
17:56 serious_chat well that leaves only one avenue then, inserting the csrf token into the request to the POST
17:57 serious_chat so i guess i'll do that
17:57 serious_chat cheers!
18:00 sri i made an error though
18:01 sri the csrf token should not be cleared
18:01 sri it has to persist with the session
18:02 marcus sri: yepp
18:03 serious_chat would it? if you're generating a new one each time then once validation is done it has no particular use
18:04 serious_chat perhaps i'm not seeing something obvious, feel free to ignore me
18:09 marcus serious_chat: you'll get a lot of errors otherwise, if you have two pages in different tabs for instance.
18:09 serious_chat marcus: yeah that's a point, if the generated form holds the token
18:09 marcus it has to
18:09 serious_chat i was still assume retrieving it from the cookie or something
18:09 serious_chat yeah no my fault, error in thinking
18:10 serious_chat so without fresh regeneration that solves the POST issue too, and the only potential issue is easier brute forcing, which is laughable
18:11 sh4 joined #mojo
18:25 jberger_ there is no good way that I can see to do sizeof(sometype) using ffi
18:45 good_news_everyone joined #mojo
18:45 good_news_everyone [mojo] kraih created csrf (+1 new commit): http://git.io/1RmDPg
18:45 good_news_everyone mojo/csrf 18f4e12 Sebastian Riedel: added basic CSRF protection support
18:45 good_news_everyone left #mojo
18:45 sri just a proof of concept, no actual proposal
18:46 sri marcus, jberger, tempire, crab: but you're welcome to finish it
18:46 sri this is a totally opt-in version, you have to add the tag with a helper and call ->csrf on the validation
18:48 Mad_Dud joined #mojo
18:50 jberger_ jberger abstains, has no opinion
18:50 * jberger_ might have figured out how to use uv through ffi :-)
18:52 crab i am not sure if opt-in csrf protection is useful.
18:55 crab or maybe the opt-in should be at a different level, so that you do it only once, and can't then forget to protect one form or something.
18:55 Mad_Dud- joined #mojo
18:55 crab in that sense, maybe a core plugin that isn't enabled by default would be better.
18:59 serious_chat bloody hell sri you work fast
18:59 serious_chat went to get food, csrf already nearly fully implemented and documented
19:01 sri with no intention of merging it into master though
19:02 sri just getting others started
19:02 serious_chat that's pretty much even more in your favour
19:02 sri crab: fork the branch and hack away
19:02 serious_chat i don't code that fast even if i do plan to merge it :D
19:10 Mike-PerlRecruiter_ joined #mojo
19:33 sri http://shop.oreilly.com/product/9781937785659.do # that looks like a very interesting book
19:37 jberger_ hmmmm
20:02 jberger_ sri: libuv loop stops if there are no attached events
20:02 sri jberger_: same for our reactors
20:02 jberger_ is there some way to make that consistent with the Mojo::IOLoop
20:03 jberger_ is it?
20:03 purl it's it!
20:03 sri try it ;p
20:03 jberger_ in that case, I have a running loop with timers
20:04 jberger_ all using FFI::Raw
20:04 sri perl -Mojo -E 'Mojo::IOLoop->timer(1 => sub { say "ok!" }); Mojo::IOLoop->start'
20:04 sri \o/
20:05 * jberger_ makes a github repo
20:09 jberger_ sri: if a timer (not recurring) fires, do you remove its id from the list of ids?
20:09 sri what do you mean?
20:10 sri if it fires it gets cleaned up completely
20:10 jberger_ ok
20:10 jberger_ so you can't call again on a timer that has fired then
20:10 sri right
20:20 jberger_ so does this make sense? https://github.com/jberger/Mojo-Reactor-UV-FFI/blob/master/lib/Mojo/Reactor/UV/FFI.pm#L93
20:21 sri sure
20:21 jberger_ cool
20:21 sri i do the same with EV actually ;)
20:22 jberger_ nice
20:22 jberger_ oh, I see you keep the timers separate from others
20:29 sri doesn't look nearly as scary as i thought it would
20:29 marcus FFI seems rather nifty.
20:31 jberger_ :-)
20:38 marcus sri: Bought the new android humble bundle?
20:38 sri nope, busy with the games i already have :)
20:39 marcus sri: Seems like a pretty good deal.
20:40 marcus Nice to get a bunch of the games I like on ios already for pocket change :)
20:40 sri kingdom rush rocks, but i already have it
20:42 sri only game i miss from ios is bike baron
20:45 marcus I still play letterpress a lot
20:46 sri haha, farming simulator 14 is still the top paid app
20:47 marcus I guess clumsy ninja doesn't exist for android yet
20:49 sri i'm a sucker for tower defense games
20:49 * jberger_ just bought
20:49 jberger_ I really don't have enough games for my phone yet
20:49 jberger_ marcus, thanks for the idea!
20:50 jberger_ something to do on the train
20:52 meshl joined #mojo
20:59 sri jberger_: yo dawg! https://play.google.com/store/apps/details?id=com.thevoxelagents.TrainConductor2
21:01 jberger_ I think my wife would love that, it would probably drive me crazy
21:01 jberger_ :-)
21:06 denis_boyun joined #mojo
21:13 denisboyun joined #mojo
21:34 jberger_ sri: does it matter if is_running is true during run_once?
21:35 jberger_ cause it would be a lot easier if it doesn't
21:46 jberger_ libuv has its own interface to dlopen
21:46 jberger_ and high res time
21:46 jberger_ you could build a whole language on top of this thing
21:47 jberger_ I guess that's what node did :-)
21:59 meshl anyone has played with Alpaca Forms? http://www.alpacajs.org
22:01 jberger_ it feels like there is a Monty Python joke in there somewhere
22:08 jberger_ looks fine to ... ALL GLORY TO THE HYPNOTOAD
22:10 marcus meshl: I looked at it and didn't understand why I'd want it.
22:16 bowtie_ joined #mojo
22:19 sri jberger_: and a non-blocking getaddrinfo <3
22:22 sri it's interesting that joyent is actually not in control of libuv
22:27 sri so much node drama today
22:32 meshl marcus: in order to have an easy way to map my data to json objects / perl data structures, already supporting form validation in js on the client side
22:33 meshl what would you do?
22:34 sri http://www.joyent.com/blog/the-power-of-a-pronoun # damn!
22:36 Adurah The things people waste time thinking about, hah.
23:28 cfedde joined #mojo

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