Camelia, the Perl 6 bug

IRC log for #mojo, 2012-09-03

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

All times shown according to UTC.

Time Nick Message
00:41 laouji joined #mojo
00:43 crab people think you're a police officer from just hearing your voice?
01:09 scott joined #mojo
01:48 dross sri: seems nginx will get proper websockets proxying support in 6 months :3
01:49 dross 1.2.4 is due 09/12, then 1.3 will be the development branch
01:50 dross crab: a police officer or lawyer
01:51 dross crab: I talk with police officers often, mostly about the right to open carry or confusion among open carry
01:51 dross crab: I've been told by a police officer, "Sir, i don't like the tone you're speaking with, you sound like a lawyer"
01:53 sri no guns in this channel!
01:53 * sri hides under desk
01:53 dross sri: no guns for fun either? ;)
01:54 sri is there any information on how websocket support in nginx will look like?
01:59 dross using google translate...
01:59 dross I think the developers say nginx doesn't have the proper code to support reverse proxying websockets, which it would need to be written
02:00 sri btw. plain tcp forwarding wouldn't really work
02:00 dross http://forum.nginx.org/read.ph​p?21,229621,229621#msg-229621
02:00 bpmedley Thanks everyone for the good Mojo.  I just did an irc web class and we went from Perl to Web in a  couple of hours using Mojolicious::Lite.
02:00 d4rkie joined #mojo
02:00 sri you couldn't do anything else than terminate ssl, which would make nginx mostly useless
02:00 dross sri: hmm?
02:01 dross sri: http://www.letseehere.com/​reverse-proxy-web-sockets
02:01 dross there's also step by step instructions for nginx
02:01 sri websockets share port 80 and 443
02:01 dross and tcp reverse proxying
02:02 sri yes, you can't share a port
02:02 dross right
02:02 sri that's kind of a problem
02:03 sri the point of port sharing is for intermediaries to work, especially 443 forwarding
02:04 dross I fail to see the problem
02:04 dross most real developers have a VPS or machine where they can use multiple ports, not jsut 80 and 443
02:05 sri ports other than 443 don't count for https, too many proxies and firewalls block everything else
02:05 dross though, it would be nice if nginx did have proper websockets support, there's no issue in an enterprise environment why SSL can't be enabled on a port other than 443
02:06 sri and with plain tcp forwarding on 443 you can't serve static resources from nginx
02:06 sri enterprise environment being some private intranet?
02:06 sri i mean internet servers
02:07 dross :) I'm master of all, if I want to set up a non-standard SSL port, I'll damn well do it
02:07 dross I deal with internet facing apps as well
02:07 sri well, that's not gonna work for a big internet servers, too many users can only do https on port 443
02:07 sri s/s//
02:07 sri :S
02:08 dross there's no difference in a non standard HTTPS port, just like how people run submission services on the net for mail, or a public ssl encrypted jabber service
02:08 sri s/a//
02:08 sri oh, there is
02:08 sri non standard https ports are a common topic in the http working group
02:08 sri they just don't work in the real world
02:09 dross sri: I deal with banks and hospitals, if they block traffic, I can just tell them to except it.
02:09 sri facebook and google representatives have been pretty clear about that
02:09 dross I never have such an issue, I don't focus on consumers
02:10 dross if ISPs can block ports other than 80 and 443, then they should be able to stop spam, yet they don't
02:10 dross so I don't give a shit :)
02:10 dross Verizon seems to be the only one who cares
02:14 dross s/ISPs/ISPs_Corps_PublicWifiPoints_etc/
02:15 abra joined #mojo
02:19 dross sri: the other thing is, using multiple IP addresses is an easy answer too
02:19 dross which I do for our own services since a couple of our clients take their sweet time unblocking ports
02:22 Averna joined #mojo
02:31 noganex_ joined #mojo
02:51 good_news_everyone joined #mojo
02:51 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/D2yV-A
02:51 good_news_everyone [mojo/master] small optimization - Sebastian Riedel
02:51 good_news_everyone left #mojo
02:53 sri oh, i think i might just have figured out what osprey wanted earlier :)
02:53 sri he used some stupid http 1.0 proxy that terminated all reponses with a connection close
02:54 sri and wanted to check that the response was really complete
02:54 sri which is of course impossible, since you can never know if the server didn't close the connection too early
02:55 sri that scenario results in an interesting question though
02:56 sri Mojo::Content does not emit a finish event, since it never knows if the message is really finished
02:56 sri only Mojo::Transaction gets a signal that the connection has been closed and emits its finish event
02:57 sri should that get propagated to Mojo::Content so it can emit the event too? or is the work of the content parser never finished, since we never really know if the message has been transmitted completely?
02:59 sri well, i have no strong opinion about this, so if nobody has something clever to say i'd leave things as they are ;p
03:00 sri (which is no finish event from Mojo::Message::Response)
03:00 sri (i mixed up Mojo::Message and Mojo::Content earlier)
03:01 sri Mojo::Content never reaches the finished state, which in turn results in Mojo::Message::Response not emitting a finish event
04:12 nour joined #mojo
04:48 good_news_everyone joined #mojo
04:48 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/PhFwfg
04:48 good_news_everyone [mojo/master] fixed Mojo::Transaction to propagate connection close to Mojo::Message - Sebastian Riedel
04:48 good_news_everyone left #mojo
04:49 sri not entirely sure about this, but i guess events should always fire
04:56 good_news_everyone joined #mojo
04:56 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/ueDMTQ
04:56 good_news_everyone [mojo/master] test request as well - Sebastian Riedel
04:56 good_news_everyone left #mojo
04:58 sri hmm, it's a tricky question, is the message parser really finished if the connection gets closed
04:59 nour if i $self->stash('a'=>'value') and $self->redirect_to('/a/path') will stash be visible from the action associated with /a/path ?
04:59 laouji_rouge joined #mojo
05:45 crab nour: no.
05:46 crab nour: the stash lives through a single request. if you want to propagate values to the next request (only), put them in the flash. if you want to propagate values to all subsequent requests, put them in the session.
06:02 spleenjack joined #mojo
06:34 azawawi joined #mojo
06:36 azawawi hi
06:36 purl hola, azawawi.
06:44 Vandal joined #mojo
07:03 memowe joined #mojo
07:08 ghandi joined #mojo
07:10 batman joined #mojo
07:10 dross just reading through everything here.
07:10 dross http://search.cpan.org/~madcat/M​ojolicious-Plugin-Database-1.07/
07:10 dross "Provides "sane" handling of DBI connections so problems with pre-forking (Hypnotoad, etc.) will not occur."
07:11 dross Is there a "sane" method for using DBIx-class since someone had to write a plugin to apparently make DBIx sane when using a preforking server? :)
07:12 crab are you trolling?
07:14 dross no
07:14 dross :) actually I just RTFS
07:15 dross I can't believe this is even a module in CPAN :3 forgive my ignorance of not reading the source to this. It's just a guy's 2 line helper class. I feel trolled
07:15 crab anything that opens a DBI connection and then forks will have the same problems, so the plugin isn't anything special.
07:15 crab i've never used it, i just wrote the helper (in fact, before the plugin existed)
07:16 crab you should not have to do anything special to use DBIx::Class either.
07:16 dross crab: yeah, so I can see. I thought perhaps it may've been doing something special other than just calling DBI normally
07:18 dross not sure if this madcat(Ben van Staveren) guy is just making shitty helper classes to fluff his resume or if he's a retard
07:18 batman joined #mojo
07:21 dross crab: my apologies for wasting your time :)
07:28 crab dross: he made the plugin because 1e42 people used to run into the problem.
07:28 batman yay! https://metacpan.org/module/Mojo::Facebook :)
07:28 batman guess i need to blog about it as well then...
07:28 crab dross: since then, the number of people asking has dropped, so he did something right.
07:29 crab but then i wrote a blog post about the same issue, so maybe i'm a retard too.
07:30 dross the problem of calling DBI and assigning it to attribute?
07:30 dross for the love of Roo, I thought PHP people were bad :)
07:32 * crab hangs his head in shame
07:44 AmeliePoulain joined #mojo
07:51 tempire dross: be nice
07:55 alexeiras joined #mojo
07:57 bc547 joined #mojo
08:09 ghandi joined #mojo
08:09 hipyhop joined #mojo
08:13 pau4o joined #mojo
08:16 fhelmber_ joined #mojo
08:18 cosmincx joined #mojo
08:28 geira joined #mojo
08:47 * marcus brought his daughter to work today
08:47 marcus I predict new lows of productivity....
08:48 omega haha
08:49 marcus fucking daycare planning days.
08:49 * marcus has set up with the ipad and BRIO Builder system in the meeting room.
08:55 memowe \o
08:59 Kwa marcus: meant to ask the other day, when you use the pubsub feature on redis, do you have to poll for the pubs, or is it real time via a hook or w/e?
08:59 marcus Kwa: you can set up a socket to listen for pubs with the subscribe command.
09:03 Kwa marcus: Nice, so it's real time? (I've been using postgres and have to poll.) I saw mojo-redis on github which looks like a fork of MojoX::Redis, but with the subscribe method. Do you use that instead of MojoX::Redis?
09:03 marcus Kwa: yea, I use it, but I don't guarantee any backwards compat yet. Want to have some real world usage of it before we solidify it and upload to cpan.
09:04 marcus Kwa: there's quite a few other changes too.
09:06 geira joined #mojo
09:31 spleenjack joined #mojo
09:42 AmeliePoulain joined #mojo
09:43 dbr joined #mojo
10:09 spleenjack joined #mojo
10:15 baton8 joined #mojo
10:29 asarch joined #mojo
10:34 yakudza joined #mojo
10:34 yakudza hello pplp
10:47 yakudza I want to run daemon over SSL and I want my clients authorize by ssl certs that I will give them. So I would need create ca cert then create self signed server cert and add it to --listen option of daemon. Then I need to create client certs and sign them with ca then give to my users. And then when they authorize I will check their common name.
10:47 yakudza Am I right
10:49 yakudza I really confused with this certs (:
10:52 rem_lex|pivo joined #mojo
11:05 daxim joined #mojo
11:49 mire_ joined #mojo
11:55 vifo joined #mojo
11:56 vifo Hey folks!
11:58 Lucas1 joined #mojo
11:59 vifo I have I some trouble in configuring a Mojolicious::Lite app with Plack. The apache configuration: http://paste.scsys.co.uk/206999. Still this does not seem to work and I am getting 500 errors. Any ideas?
12:03 vifo Aaaah, forget it please. There was an .htaccess with rewrite rules, which messed everything up.
12:22 spleenjack joined #mojo
12:28 arthas joined #mojo
12:39 d4rkie joined #mojo
13:05 arthas joined #mojo
13:06 d4rkie joined #mojo
13:32 inokenty joined #mojo
13:42 Kwa Can't remember where I read it, but where are the docs on helpers to use in templates for the css, js paths etc.?
13:44 Kwa Ah, I think it's TagHelpers.
14:26 Britzel_ joined #mojo
14:38 vifo I am using redirect_to('/') after setting flash variables in an app located under /perly2/. It seems, that the generated redirect does not include the '/', so I get redirected twice and lose the flash. Any ideas how to fix this?
14:44 sri tempire, marcus, crab: take a look at my commits from yesterday, i'm still unsure if Mojo::Message->finish was the right choice
14:46 sri basically this https://github.com/kraih/mojo/blob/​master/lib/Mojo/Transaction.pm#L13
14:46 sri should a connection close in the user agent be propagated from transaction to response
14:54 gryphon joined #mojo
15:20 dross tempire: I am nice :3
15:39 marcus finish him!
15:39 purl marcus wins... SPAMALITY.
15:41 sri dross: you do come across a tad aggressive, starting with the assumption a plugin is useless unless someone convinces you otherwise
15:43 sri in the end there are no useless plugins, even the most minimalistic ones serve as examples and for documentation purposes
15:43 ryozi joined #mojo
15:43 dross sri: sure, for examples and documentation purposes.
15:44 sri one of my biggest mistakes when i started with mojolicious was to discourage too trivial plugins
15:44 sri that really harmed the plugin eco system
15:45 BlueT_ joined #mojo
15:45 dross knowing people though, they are probably using them thinking they do something. Something like that should be designated Mojolicious::Howto::Database or Mojolicious::Howto::SslClientAuth and a blog post
15:46 dross I tend to be more of the teach people to fish type, not just throw things together when it is so simple(10 lines or less)
15:46 sri never to be found
15:46 sri simple plugins work, end of story
15:46 dross sri: :|
15:47 * sri used to be an idealist too, but has switched to pragmatism
15:47 dross I keep forgetting most people don't see tech/programming as a life choice and more like "a job"
15:47 dross silly me
15:48 sri worse is better
15:49 sri Lisp will never be bigger than PHP :)
15:50 dross I don't believe so. I just need to remember almost all people haven't been on the computer since they could crawl, don't see how to exploit the world by looking at it(people and technology) or see problems as "I can fix it"(for anything). We're a consumer society, thus society needs to consume and find things already made.
15:50 zivester joined #mojo
15:56 sri marcus: i take that as a yay ;p
16:02 crab dross: you are a true computing hero
16:08 batman joined #mojo
16:13 bpmedley https://metacpan.org/release/BPMEDLEY/M​ojolicious-Plugin-ParamCondition-0.002  I added tests and a feature any comments?
16:20 crab bpm: what does "The user selected a product with an index exists" mean?
16:20 bpmedley crab: Hrmm.  That needs improvement.
16:21 crab also, the second example is pretty strange, with params being repeated like that.
16:21 * sri agrees with crab
16:21 bpmedley crab: The plugin allows for parameters to either exist or pass a regular expression.
16:22 bpmedley crab: I need to improve on that point in the docs.
16:22 sri i would start off with showing how to check for multiple parameters
16:22 sri with a comment like "# Make sure these two GET/POST parameters exist" or so
16:23 crab bpm: can i write a condition that matches only if $self->param('username') is 'bpm'?
16:23 bpmedley crab: Yes
16:23 sri you also need to be clear about what "exists" actually means ?foo=&bar=baz is valid and "foo" technically exists, just has no value
16:24 bpmedley sri: Will do.
16:25 sri i usually make tables to illustrate what gets dispatched and what doesn't
16:25 bpmedley sri: Example?
16:25 purl it has been said that Example is showing how to add A and B from a shared schema, and subclass C
16:25 sri http://mojolicio.us/perldoc/Mojoliciou​s/Guides/Routing#Generic_placeholders
16:27 sri http://mojolicio.us/perldoc/Mojoli​cious/Guides/Routing#Nested_routes
16:27 sri http://mojolicio.us/perldoc/Mojolicious/Gu​ides/Routing#More_restrictive_placeholders
16:29 crab and your description should say "M::P::P allows you to write routes that match based on the presence and value of request parameters"
16:30 crab or something like taht.
16:31 bpmedley crab: Ok.
16:32 crab i agree with sri, you need more examples.
16:32 * sri likes to say GET/POST parameters, more people seem to understand that
16:33 crab good idea
16:34 crab can i write routes that match only if password is a POST parameter?
16:34 bpmedley crab: Not currently.
16:35 bpmedley crab: Feature request?
16:35 purl i heard Feature request was that I need to be able to specify a particular database template in the Postgres driver
16:35 sri i think in the api it's called query_param and body_param
16:36 sri maybe those should be conditions too :)
16:36 bpmedley Hrmm.. I'll look at them.  Give me some time, pls.
16:36 crab bpm: dunno, i'm just imagining what someone might want to do
16:36 sri no time for you!
16:37 * sri cracks the whip
16:38 sri i kinda like the idea of parameter conditions, but i would be worried about verbosity
16:39 bpmedley Yes, and they could be confused with validation.
16:39 sri you usually have a dozen parameters to check, which would be better described as a data sctrucutre
16:39 sri right
16:39 crab bpm: why did you start writing the plugin at all?
16:39 crab was it because you needed the feature for some specific purpose, or was it just an idea you had?
16:40 bpmedley crab: I wanted to port a web app at work to Mojolicious::Lite and wanted the same GET / POST parameters.
16:40 crab if the former, then you should use that as an example, it may be more compelling
16:41 sri it might be more useful if you leave out the validation part
16:41 bpmedley Right, it's not exactly validation.
16:41 sri just params => [qw(a b c)]
16:42 sri then you are guaranteed that the params have been sent and can maybe validate more easily
16:43 sri on the other hand i could imagine a direct match to be useful for cgi-app style routing with runmodes
16:43 sri /?mode=foo
16:43 sri /?mode=bar
16:43 bpmedley Exactly.
16:44 sri that's what you need to show in examples then ;)
16:44 bpmedley Will do.
16:49 batman would it be an idea to run the return value from a method inside a controller if the return value was a list of code-refs? like return CODE, CODE, CODE, .. would automatically be run using Mojo::IOLoop
16:50 sri batman: we currently ignore the return value, would break many apps
16:50 batman ok. is there somewhere i can hook in if i want to do it?
16:51 sri not really
16:51 batman ok...
16:52 batman i wonder how many apps that has methods that return code refs...
16:52 sri adding a hook would also be a little tricky, since bridge return values do matter
16:52 sri batman: $self->on(message => sub {}); and your action returns a code ref
16:53 sri so we basically have an example for that on the mojolicious website ;p
16:53 batman hehe. ok
16:59 sri on top of the bridge problem you also have 3 code paths... callback, application and controller/action dispatch
17:05 bpmedley get '/' => (headers => {Referer => qr/example\.com/}) => (headers => {"X-More" => qr/bacon/}) => sub {...};
17:05 bpmedley Given the HeaderCondition plugin, is that a valid route?
17:05 batman sri: i see
17:16 mire_ joined #mojo
17:21 marcus pragmatism++
17:31 batman i'm going mad about the blocking/non-blocking stuff again :( it was working nicely yesterday :S
17:31 * batman takes a break
17:33 * marcus blocks batman's break
17:35 * sri takes batman's break
17:46 osprey_ joined #mojo
17:52 sri osprey_: you may want to read the channel log
17:53 batman so... i got my test app up and running on localhost:40347. should i be able to do $ua->get("http://localhost:40347/", sub { ... }); ?
17:53 osprey_ ok
17:53 batman (where port 40347 is of course dynamic)
17:54 sri batman: are they running in the same perl process?
17:54 batman yes
17:54 batman an $ua is Mojo::UserAgent->new, not $t->ua
17:54 sri then they would need to also run in the same ioloop
17:55 batman does that mean that i need to do $ua->ioloop($t->ua->ioloop) or can i just do $ua = $t->ua ?
17:55 sri Mojo::UserAgent always uses Mojo::IOLoop->singleton with callbacks
17:55 batman then i don't see why it doesn't work...
17:56 batman i'm getting "Premature connection close" from $ua
17:57 * sri really wants to wrap up the connection close thing from yesterday
17:57 * sri pokes tempire and crab
17:58 sri the basic question is if a message is "finished" if the connection gets closed no matter if the message has been parsed completely
17:59 sri we do currently consider a message "finished" if a parse error occurs
18:00 osprey_ sri: I see you wrote some patches, but yesterday I decide next check: if ($tx->res->content->is_finished || $tx->res->content->body_contains('</html>'))
18:00 mire_ joined #mojo
18:01 sri osprey_: the simple answer was that you can't ever know if the whole content has been transfered with that kind of stupid proxy
18:01 osprey_ I have problem only with html data, so checking for </html> may be enough
18:01 osprey_ I have no choice, I need i2p proxy
18:02 sri that's ok, there is simply no good solution for your problem ;)
18:02 sri it's a protocol flaw
18:27 batman not sure if it's funny. but my $ua worked yesterday because i had a memory leak :S
18:56 sri haha!
19:00 azawawi joined #mojo
19:09 batman ok. so then it _is_ funny :)
19:24 * sri wonders if a merge values into object hash alternative to ->tap would make sense
19:25 batman what's tap?
19:25 sri i seem to often use ->tap for $self->tap(sub { $_->{foo} = 'bar' })->baz->yada
19:25 batman ah! right
19:25 sri that would be easier as $self->mix(foo => 'bar')->baz->yada
19:27 sri explanation could be, set multiple attribute values at once and return invocant
19:27 sri $self = $self->mix(foo => 'bar', baz => 'yada')
19:28 batman why can't you just do $self->foo('bar')->other(123)->baz->yada ?
19:28 sri because a) it's faster, b) private attributes don't have an accessor
19:28 davido joined #mojo
19:29 sri i would mostly use it for private data
19:29 batman hm... not sure if i would add a convenient method to do that, when they are private
19:30 batman ->tap(sub { @$self{qw/ a b c /} = @values })->other->baz seems safer
19:34 batman can i run hypnotoad @heroku?
19:34 batman i followed the https://github.com/tempire/perloku howto, but this daemon runs in foreground...
19:35 sri why is that a problem?
19:35 batman no idea. so i can simply replace
19:35 batman ./app.pl daemon --listen http://*:$PORT
19:35 tempire dross: it's not your opinions that are the problem, it's the name calling.
19:35 batman with "hypnotoad script/foo"
19:35 sri i would assume that hypnotoad wouldn't play so well with their watchdog processes
19:36 sri you don't need hypnotoad features on heroku, they restart the process for you and monitor everything
19:36 batman so daemon will be just as fast?
19:37 sri hypnotoad is a pool of normal daemons
19:37 sri does heroku even allow forking?
19:37 batman no idea :S
19:37 sri just use the normal daemon
19:37 dross tempire: aha, I see :)
19:38 sri if it's not fast enough, start more! ;p
19:38 tempire on a separate note, I don't think trivial plugins are bad at all.  I don't even think it's pragmatism vs pureism; it's the principle of functional programming.
19:38 sri that's the beauty of heroku, you just start more dynos if your app grows bigger
19:38 batman sri: ok. so there's no difference between having five workers under hypnotoad or five "daemon" processes?
19:39 tempire one less thing to think about.  that sort of thing adds up.
19:39 sri batman: not really, just the zero downtime stuff
19:39 batman sweet
19:39 sri basically everything in mojolicious reuses the normal daemon
19:39 sri from tests to hypnotoad
19:40 batman ok
19:46 dross tempire: you're right, equating Perl programmers to PHP programmers, that's pretty darn harsh ;)
19:49 davido I've found madcat's M::P::Authentication to be a helpful starting-point for incorporating Class::User::DBI into my Mojolicious app.  I was thinking of packaging up the callbacks that I wrote to interface M::P::A with C::U::D so others could use them together more easily.
19:50 bpmedley http://metacpan.org/release/BPMEDLEY/M​ojolicious-Plugin-ParamCondition-0.003
19:52 bpmedley Thoughts?  I added more tests; added a table in the docs; fixed some bugs; added a hopefully better description.  I may add the ability to drill down to either a GET or POST parameter separately.
19:56 tempire heroku supports fork, apparently
19:57 tempire at least on the cedar stack
20:06 osprey_ how to increase idle timeout for mojolicious?
20:06 osprey_ Mojo::IOLoop->stream($c->tx-​>connection)->timeout(300); in controller unit?
20:12 good_news_everyone joined #mojo
20:12 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/tjR6tA
20:12 good_news_everyone [mojo/master] small optimizations - Sebastian Riedel
20:12 good_news_everyone left #mojo
20:14 sri hmm, i might be taking the ->tap thing too far :S
20:15 marcus spurt :o
20:17 sri yea, stolen from perl6 :)
20:19 sri we also have an extended trim with the name squish
20:20 sri b('marcus.txt')->slurp->squ​ish->spurt('marcus2.txt');
20:20 marcus gross!
20:20 sri \o/
20:27 bpmedley http://metacpan.org/release/BPMEDLEY/M​ojolicious-Plugin-ParamCondition-0.003
20:28 bpmedley Thoughts from before?
20:30 marcus purl: bribes?
20:30 purl well, bribes is such a dirty word... call them bonuses
20:37 tempire whoa
20:37 tempire there's a squish!?
20:38 sri http://mojolicio.us/perldoc/Mojo/Util#squish
20:38 sri i'm serial
20:40 tempire regarding client_close...I'm looking at it, but I don't know what I'm supposed to be providing an opinion on.
20:41 sri if the message parser should consider a message finished if the connection has been closed
20:42 tempire how else would more data be added?
20:42 sri similar to how we previously considered messages finished after a parser error occured
20:42 sri the alternative is to leave the message in an unfinished state
20:42 sri forever
20:43 marcus forever alone
20:43 sri and only finish the transaction
20:43 tempire right, but what's the benefit to leaving it in an unfinished state?
20:43 sri no need for a Mojo::Message->finish method
20:45 sri talking about it... i guess it should be finished
20:45 tempire it's confusing to me because it seems obvious that the parser should immediately finish the message if the connection closes.
20:46 tempire which makes me wonder what I'm missing.
20:46 sri the Mojo::Content parser for example will never finish
20:47 sri because there is no real indicator that the message is really complete
20:47 sri like i said before, it's kind of a flaw in the protocol
20:47 sri the peer might have closed the connection early, and we will never know if the message is really complete
20:48 sri since content-length and chunked encoding are not required in that case
20:49 sri for Mojo::Content it doesn't really matter, but Mojo::Message has a finished event, that would never fire
20:50 sri to sum it up, should the finish event in Mojo::Message mean "yea, we are kind of finished... maybe" or "this message is really finished!"? :)
20:52 tempire ok.  that context makes it clear.  I think it should mean "this message is really finished".  Otherwise, it's mixing concerns.
20:52 tempire which can cause unforeseen problems.
20:53 sri that would mean no propagation of connection close
20:53 sri and only a finish event if the parser can determine message length and everything has been received
20:54 tempire hmm.
20:54 tempire I see the problem now.
20:54 * tempire is unsure.
20:54 * sri is unsure.
20:54 sri on the other hand, a finish event already doesn't indicate success or failure
20:55 sri it fires even if paring is aborted with an error
20:55 sri *+s
20:55 davido joined #mojo
21:09 osprey_ left #mojo
21:17 good_news_everyone joined #mojo
21:17 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/QPIY8w
21:17 good_news_everyone [mojo/master] better argument names - Sebastian Riedel
21:18 good_news_everyone left #mojo
21:18 sri tempire: and what about a ->mix method?
21:20 tempire I have no problem with little utility functions like that.  I love all of them.
21:21 sri well, they also have to fit in :)
21:21 tempire pluck is currently my favorite.
21:37 lukep joined #mojo
22:36 sri hmmm
22:37 sri http://hastebin.com/raw/pojedufoga # i'm still unsure about it
22:41 sri i guess a disadvantage is that private data assignment can look different now
22:42 sri instead of searching for just ->{foo} you also have to look for ->mix(foo => ...)
23:00 batman i don't get it... i can connect to the redistogo database from my laptop, but not from heroku :S
23:01 batman same environment variable. same code...
23:01 batman do i need to pay for this to work? i've added my payment details, but i haven't scaled anything.
23:01 sri do you have the addon activated for redistogo?
23:02 batman i got "Redis To Go Nano" in the list of "Add-ons" under Resources for my app
23:02 sri pretty sure you can't just connect to random hosts
23:02 sri ah
23:03 batman random? i'm using the info from REDISTOGO_URL
23:04 jzawodn joined #mojo
23:05 good_news_everyone joined #mojo
23:05 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/69XJ2Q
23:05 good_news_everyone [mojo/master] better Mojo::Base example - Sebastian Riedel
23:05 good_news_everyone left #mojo
23:06 sri yea, i won't do the ->mix thing
23:11 batman fuck it. i'm going to bed
23:12 batman better luck next time...
23:12 mandreacchio joined #mojo
23:13 dross paying for such things, how odd
23:13 dross *boots up personal test bed on vmware cloud* :3
23:15 good_news_everyone joined #mojo
23:15 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/KCpnMw
23:15 good_news_everyone [mojo/master] small optimizations - Sebastian Riedel
23:15 good_news_everyone left #mojo
23:42 marcus joined #mojo
23:43 DaTa joined #mojo
23:43 baton8 joined #mojo
23:43 perlite joined #mojo
23:43 edenc joined #mojo
23:44 xxtjaxx joined #mojo
23:44 avenj joined #mojo
23:44 mattp joined #mojo
23:44 tempire joined #mojo
23:44 woremacx joined #mojo
23:44 noganex joined #mojo
23:44 yko joined #mojo
23:44 mayfield joined #mojo
23:44 lukep joined #mojo
23:44 mire_ joined #mojo
23:44 batman joined #mojo
23:44 BlueT_ joined #mojo
23:44 d4rkie joined #mojo
23:44 arthas joined #mojo
23:44 rem_lex|pivo joined #mojo
23:44 yakudza joined #mojo
23:44 dbr joined #mojo
23:44 geira joined #mojo
23:44 memowe joined #mojo
23:44 nour joined #mojo
23:44 bpmedley joined #mojo
23:44 mikegrb joined #mojo
23:44 dross joined #mojo
23:44 sawtooth joined #mojo
23:44 heytrav joined #mojo
23:44 smpb joined #mojo
23:44 HtbaaPi joined #mojo
23:44 nicomen joined #mojo
23:44 trone joined #mojo
23:44 purl joined #mojo
23:44 tardisx joined #mojo
23:44 dminus joined #mojo
23:44 chansen joined #mojo
23:44 cosimo joined #mojo
23:44 ki0 joined #mojo
23:44 migo joined #mojo
23:44 kvorg joined #mojo
23:44 burk joined #mojo
23:44 bzero joined #mojo
23:44 rafl joined #mojo
23:44 sri joined #mojo
23:44 janliesendahl_de joined #mojo
23:44 tomi-ru joined #mojo
23:44 gizzlon joined #mojo
23:44 estrai joined #mojo
23:44 kenjiskywalker joined #mojo
23:44 tinx joined #mojo
23:44 robinsmidsrod joined #mojo
23:44 tokuhirom joined #mojo
23:44 nic joined #mojo
23:44 Netfeed joined #mojo
23:44 omega joined #mojo
23:44 mike_ joined #mojo
23:44 rwstauner joined #mojo
23:44 ZadYree joined #mojo
23:44 phillipadsmith joined #mojo
23:44 crab joined #mojo
23:44 stephan48 joined #mojo
23:44 jwang joined #mojo
23:44 Mikey joined #mojo
23:44 dod joined #mojo
23:44 Nom- joined #mojo
23:44 kmx joined #mojo
23:45 bjoernfan joined #mojo
23:45 whee joined #mojo
23:45 diegok joined #mojo
23:45 graf joined #mojo
23:45 ver joined #mojo
23:45 human39 joined #mojo
23:45 vervain joined #mojo
23:45 alnewkirk joined #mojo
23:45 east joined #mojo
23:45 buu joined #mojo
23:45 tl joined #mojo
23:45 jmmills joined #mojo
23:45 phips joined #mojo
23:45 charsbar__ joined #mojo
23:45 ashleydev joined #mojo
23:45 garu joined #mojo
23:45 BinGOs joined #mojo
23:45 alexeiras joined #mojo
23:45 Kwa joined #mojo
23:45 drift joined #mojo
23:46 bc547 joined #mojo

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