Camelia, the Perl 6 bug

IRC log for #mojo, 2012-03-19

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

All times shown according to UTC.

Time Nick Message
00:02 abra joined #mojo
00:12 sri lol
00:29 lammel2 joined #mojo
00:30 lammel2 joined #mojo
00:49 d4rkie joined #mojo
01:07 bird joined #mojo
01:10 scott joined #mojo
01:15 GitHub28 joined #mojo
01:15 GitHub28 [mojo] kraih pushed 1 new commit to master: http://git.io/dft4qg
01:15 GitHub28 [mojo/master] fixed Mojo::Cookie interface definition - Sebastian Riedel
01:15 GitHub28 left #mojo
01:22 sri i'm not even sure if it makes sense to keep these interface definitions
01:23 sri https://github.com/kraih/mojo/bl​ob/master/lib/Mojo/Asset.pm#L10 # that's what i mean by that btw
01:24 tempire which ones/
01:24 tempire the 3 above is_file?
01:24 sri ALL THE THINGS
01:24 sri those croaking methods
01:25 sri there's also a really silly case
01:26 sri https://github.com/kraih/mojo/blo​b/master/lib/Mojo/Message.pm#L435
01:26 tempire regular perl should take care of all those cases, so I'm ok with removing them.  it's a little more declarative, but not that much.
01:27 sri i'm unsure
01:28 tempire unsure  means no
01:28 tempire so they stay
01:28 tempire so says sri's rules
01:28 sri on the other hand, they make pretty clear what's expected from other Mojo::Asset subclasses
01:29 sri don't use my rules against me :(
02:42 ispy_ joined #mojo
02:46 l3l1p joined #mojo
03:11 bgsmith joined #mojo
03:29 bgsmith greetings channel - newbie question - how do iterate over a list of elements in a ul -  my $newdom = Mojo::DOM->new('<div class=mb15><ul class="programList"><li>hello</​li><li>world</li></ul></div>');
03:29 bgsmith s/how do/how do I/
03:34 bgsmith sorry. found the answer.
04:35 ispy_ joined #mojo
04:51 lukep_ joined #mojo
04:59 lukep__ joined #mojo
05:02 arpadszasz joined #mojo
05:24 binaryking joined #mojo
05:35 hshong joined #mojo
05:40 Oleg joined #mojo
06:01 Foxcool joined #mojo
06:11 Oleg Hi guys. Please tell me how to make fork() in mojolicious web application properly. I want to run long task in the background. This is my attempt: https://gist.github.com/2098125 . It works. But when task started and I want to restart server (Mojo::Server::Daemon) it says: Can't create listen socket: Address already in use. It seems I should stop app in forked process before exec, but don't know how.
06:20 binaryking hey guys
06:20 binaryking how do i make multiple webpages in mojolicious
06:21 binaryking and with multiple .pl files?
06:21 binaryking is it possible?
06:21 purl anything is possible in the next half hour
06:40 mire_ joined #mojo
06:43 amirite joined #mojo
06:44 amirite if i send an ajax request to my controller and the data is encoded in json how do i get to it
06:44 amirite i.e. i'm not sending stuff as standard cgi params because it is the suck and i hate it and want to kill it
06:45 tempire Oleg: fork is probably not what you want.  you can accomplish what you want by using a job server.
06:45 tempire like gearman.  or something like redis pubsub
06:46 tempire binaryking: you should watch all the mojocasts, and read through the docs on mojolicio.us/perldoc.
06:46 binaryking alright, tempire :)
06:48 tempire amirite: $self->req gives you a subclass of http://mojolicio.us/perldoc/Mojo/Message
06:49 Oleg tempire: I think job server is too complicated for my simple task. However if I can't fork() with mojolicious job server becomes only available solution
06:59 jwang joined #mojo
07:16 tholen_ joined #mojo
07:16 amirite sweet
07:16 amirite thanks temp
07:58 spleenjack joined #mojo
08:26 cosmincx joined #mojo
08:28 batman joined #mojo
09:02 cosmincx joined #mojo
09:07 hugh joined #mojo
10:07 preflex_ joined #mojo
10:30 Foxcool joined #mojo
11:04 mire_ joined #mojo
11:07 daxim joined #mojo
11:12 cosmincx joined #mojo
11:29 memowe O HAI
11:33 * sri yawns
11:37 Foxcool_ joined #mojo
11:46 sri tempire: looks like you've got a good spot for your talk :)
11:48 sri just the unicode regex talk might steal some folks
12:22 memowe Is there any issue with wildcard placeholders and special url escapes?
12:23 memowe My wildcard placeholder can't match /IQ==%0A
12:25 memowe This: https://gist.github.com/2110064
12:26 memowe %0A is a newline, right?
12:27 memowe Adding the single line switch makes it work:
12:27 memowe get '/*foo' => [foo => qr/.*/s] => sub {
12:27 memowe ...
12:33 GitHub167 joined #mojo
12:33 GitHub167 [mojo] kraih pushed 1 new commit to master: http://git.io/bCsn7Q
12:33 GitHub167 [mojo/master] made content parser code a little more readable - Sebastian Riedel
12:33 GitHub167 left #mojo
12:43 jnap joined #mojo
12:45 judofyr joined #mojo
12:47 judofyr sri: here are some notes on Rack 2.0 from the Rack maintainer: https://gist.github.com/11c3491561802e573a47
12:49 judofyr sri: where's the discussion on async PSGI btw?
13:02 mire_ joined #mojo
13:33 CromeDome joined #mojo
13:34 sri judofyr: seen it already :)
13:34 sri i'm afraid there is no async psgi discussion yet, i think the plan is to wait what rack does and just steal that :S
13:40 cosmincx joined #mojo
13:41 vel joined #mojo
13:42 tm joined #mojo
13:42 tm afternoon
13:42 purl afternoon is when we eat my lunch.
13:46 jzawodn joined #mojo
13:46 inokenty joined #mojo
13:48 memowe sri: how about adding /s to wildcard placeholders?
13:50 vel joined #mojo
13:51 tm purl: ok, +1 for subjectivity ;)
13:51 purl tm: i'm not following you...
13:53 tm I have possibly trivial question... maybe someone knows how to do it :)
13:54 tm I need to check validity and content of session cookie when serving static content, so if cookie is missing or wrong, static content is not served - doable?
13:54 ispy_ joined #mojo
13:54 judofyr sri: how come you are more updated than me? :(
13:54 judofyr I thought I was the Ruby guy
13:55 jnap tm:  when I have a case like that I tend to use something the X-Sendfile
13:57 jnap the idea is you have a real catalyst action associated with the static content you want to 'protect' and then instead of returning the actual content you return X-Sendfile in the header.  Or you if you want to serve files for development, you can return them with something this IO::File::WithPath and there is a plack middleware that sets up the headers for your correctly (I think ::Middleware::Reproxy or similar)
13:57 jnap that way you handle the protecting the fle via catalyst, but actually serve the file via the web server, which gets a lot of static load off you application
13:58 CromeDome joined #mojo
13:58 jnap if you don't expect a ton of load on that protected static file, this way be overkill :)
13:58 tm jnap: that's nice idea but I'm thinking of running mojo under hypnotoad, so no sendfile (unless I missed it)
13:58 jnap doh, wrong channel
13:58 jnap sorry, but I imagine the approach is similar
13:58 tm but good idea!
13:59 jnap the pattern is not specific to a web platform
13:59 tm need to investigate... i would also like to off-load some files to servers in another country ;-) and need to have anti-scrape protection
13:59 jnap although mojo might encapsulate the pattern more than cat does
13:59 tm tnx for the idea
14:01 tm similar issue is described here http://stackoverflow.com/quest​ions/7860522/simple-perl-proxy
14:11 tm also before I got and try it - maybe someone already did it in context of clustering - two servers, two hostnames, same app, same session secret - will sessions set on machine A be accepted as valid on B?
14:11 sri memowe: why is i t exclusive to widlcard placeholders?
14:12 sri jnap: nope, it's much more simple in mojo
14:13 sri tm: use a before_dispatch hook and check the session
14:13 sri judofyr: because i follow the right people on twitter? :D
14:14 tm sri: thanks! off to docs then - this will require session for all requests in this case :D Sweet!
14:17 memowe sri: it probably isn't, but I missed it with wildcards while everything works fine with standard placeholders.
14:20 sri memowe: ok, i have a fix
14:21 sri but there's another bug in the static dispatcher
14:25 binaryking joined #mojo
14:26 binaryking how do i specify a folder for templates only ?
14:26 sri memowe: "Unsuccessful stat on filename containing newline at script/../lib/Mojolicious/Static.pm line 172." to be precise
14:26 memowe yup, I saw that.
14:27 sri i'm actually not sure how to handle that
14:28 memowe Are file names allowed to contain newlines somewhere?
14:28 sri i don't know
14:28 sri but i wouldn't be surprised
14:28 memowe Hmmmmm...
14:28 sri also, what characters count as newline?
14:29 sri the warning seems to be perl trying to be smart
14:30 sri telling people to chomp() when processing lines with windows line endings on unix or so
14:32 sri from perldiag "(W newline) A file operation was attempted on a filename, and that operation failed, PROBABLY because the filename contained a newline, PROBABLY because you forgot to chomp() it off."
14:32 sri i fucking hate this side of perl
14:34 sri i'm tempted to disable warnings completely in mojolicious
14:34 memowe :/
14:35 ispy_ joined #mojo
14:40 sri lexical no warnings 'newline'; makes it go away
14:40 memowe "ugly but works"?
14:41 sri it always worked
14:41 sri now it just doesn't warn
14:41 memowe I meant "doesn't warn" with "works" :)
14:51 GitHub155 joined #mojo
14:51 GitHub155 [mojo] kraih pushed 1 new commit to master: http://git.io/53HhWQ
14:51 GitHub155 [mojo/master] fixed small newline capture bug in Mojolicious::Routes::Match - Sebastian Riedel
14:51 GitHub155 left #mojo
14:51 memowe sri++
14:55 binaryking sri: can u help me?
15:04 batman joined #mojo
15:15 newbie1 joined #mojo
15:27 xaka joined #mojo
15:34 baton8 joined #mojo
15:37 marty binaryking:  What do you mean by "specify a folder for templates only"?
15:38 ispy_ joined #mojo
15:49 kaare joined #mojo
15:51 Psyche^ joined #mojo
15:51 GabrielVieira joined #mojo
16:00 xenu how do i destroy session?
16:00 xenu i can't find it in docs
16:03 inokenty xenu: maybe you have to remove the 'mojolicious' cookie?
16:06 xenu well, i have found that  $self->session(expires => 1); works
16:06 xenu and it works*
16:06 inokenty Good
16:09 GitHub32 joined #mojo
16:09 GitHub32 [mojo] kraih pushed 1 new commit to master: http://git.io/j8pITw
16:09 GitHub32 [mojo/master] more session and cookie examples - Sebastian Riedel
16:09 GitHub32 left #mojo
16:11 sri now it's documented in at least 3 places
16:14 xenu thanks, much appreciated :)
17:30 GitHub106 joined #mojo
17:30 GitHub106 [mojo] kraih pushed 1 new commit to master: http://git.io/yXRU_A
17:30 GitHub106 [mojo/master] added route_for method to Mojolicious::Routes::Match - Sebastian Riedel
17:30 GitHub106 left #mojo
17:31 abra joined #mojo
17:41 GitHub191 joined #mojo
17:41 GitHub191 [mojo] kraih pushed 1 new commit to master: http://git.io/oE0nFA
17:41 GitHub191 [mojo/master] added a few tests for Mojolicious::Routes::Match - Sebastian Riedel
17:41 GitHub191 left #mojo
17:57 alnewkirk joined #mojo
18:01 tempire gist-vim maintainer fixed the plugin to use the api
18:01 tempire :)
18:03 sri gists would be an interesting storage platform for a mojolicious blog system :)
18:03 tempire hey that was my idea from days ago
18:03 tempire GET ON THE BOAT!
18:03 * sri gets on the boat
18:03 tholen_ joined #mojo
18:03 sri think you can even use github issues for storage :o
18:04 tempire but then I thought, why not just use a regular repo
18:04 tempire github is the new gmail
18:04 daxim social peeking and poking
18:10 tempire gist might work better, you could use the description field for tags
18:10 tempire don't see a way for extra context information per file in a repo
18:11 tempire guess a separate db file would work, but gists are simpler
18:12 tempire trouble is, you'd have to sacrifice your gist listing if you used it for psuedo-permanent storage of stuff.
18:13 sri use a secondary account
18:13 tempire boo
18:13 sri issues then
18:14 tempire that is probably the best, since you can have arbitrary labels
18:14 sri and comments
18:14 purl comments are lying. next_for_GC *is* the GC marking mechanism right now
18:15 tempire what would the name be?
18:16 tempire hubulicious
18:16 tempire issuehub
18:16 tempire yamb
18:16 tempire "yet another mojolicious blog"
18:16 tempire yamby
18:17 tempire "yet another mojolicious blog, yo"
18:23 memowe my ass off! :)
18:35 * sri wonders if Mojolicious::Routes::Match->route_for should rather be Mojolicious::Routes->find
18:39 sri question is if $r->find('foo') is useful
18:40 d4rkie joined #mojo
18:41 sri it also breaks the routes/match separation :/
18:43 sri on the other hand, that separation is already broken by a few other methods... hmmm
18:51 GitHub131 joined #mojo
18:51 GitHub131 [mojo] kraih pushed 1 new commit to master: http://git.io/nZqPtw
18:51 GitHub131 [mojo/master] renamed route_for method to find - Sebastian Riedel
18:51 GitHub131 left #mojo
18:51 sri yea, it doesn't depend on context, like the other match methods, so it's better off in routes
18:51 tempire I've never used that method.  What is the use case?
18:52 sri i wrote that method like an hour ago ;p
18:52 * tempire gets on the bus
18:52 sri it's internal code from Mojolicious::Routes::Match->path_for
18:53 sri which is used by url_for
18:53 tempire that's what I figured
18:53 sri to find routes by name for rendering
18:54 sri potential use case is plugins for all kinds of stuff
18:55 sri lets say you specify in your plugin that it requires a route named "foo_plugin_root"
18:55 sri and the plugin appends some other routes to that
18:56 sri another use case is introspection, lets say you want to know which http methods a specific route accepts
18:56 sri find('name') and check ->via of all parents
18:58 tempire ah, so it's partially in response to that issue.
18:58 sri partially
19:02 tempire huh.  I thought pugs had died, but there is still activity on the repo.
19:03 batman joined #mojo
19:10 xenu pugs was revived lately
19:13 daxim http://hackage.haskell.org/package/Pugs  these are regular maintenance releases since last summer
19:15 daxim they fix breakage with new haskell compiler releases only
19:15 daxim the smoke tests shows that the software itself continues to fall out of specced behaviour
19:16 daxim I'm trying to get some local haskell hackers interested to pick up the lambdacamel torch, but pugs is a very complicated codebase to get into as a beginner
19:17 sri hmm
19:17 sri POST detection for form_for seems very possible
19:17 sri i can do it in 5 lines... but should it be done?
19:32 sri i'll take the silence as a hint that i should forget about it and remove ->find again :)
19:32 alnewkirk joined #mojo
19:34 bobkare joined #mojo
19:35 sri ->find could also be useful for unit tests i suppose
19:36 sri ok app->routes->find('echo')->is_websocket;
19:41 sri ok app->routes->find('foo')->pat​tern->match('/foo/bar/baz');
19:42 sri is app->routes->find('bar')->p​attern->defaults->{action}, 'baz';
19:53 d4rkie joined #mojo
19:54 Foxcool_ joined #mojo
20:06 sri possibly modification for tests app->routes->find('foo')->p​attern->defaults->{testing} = 1
20:21 GitHub75 joined #mojo
20:21 GitHub75 [mojo] kraih pushed 1 new commit to master: http://git.io/qzPVNg
20:21 GitHub75 [mojo/master] added route introspection tests - Sebastian Riedel
20:21 GitHub75 left #mojo
20:22 sri those alone seem worth it
20:33 jnap_ joined #mojo
20:35 jnap_ joined #mojo
20:42 jnap_ joined #mojo
20:43 lukep joined #mojo
21:07 tempire form_for detection seems like a good idea
21:08 tempire but what happens when there's two methods for the same route?
21:32 sri tempire: GET gets priority over POST and all others are ignored?
21:44 tabbi joined #mojo
21:44 tabbi left #mojo
21:46 jamesw joined #mojo
21:53 rhaen hm.
21:53 rhaen well, well, well.
22:06 sri tempire: that logic would take 9 lines i think
22:11 abra joined #mojo
22:12 sri yes, have it implemented
22:25 tempire You mean POST gets priority over GET?
22:25 tempire http://www.dafont.com/magical-​unicorn.font?text=Mojolicious
22:25 sri tempire: nope
22:26 sri i mean method="POST" only gets inserted when we are sure that's what the user wants
22:26 tempire oh, ok.
22:26 sri so GET over POST
22:28 sri tempire: why would you give POST higher priority than GET?
22:29 sri what if PATCH and POST are allowed?
22:29 tempire if there are two routes, one with get and other with post, the user almost certainly wants form_for post.
22:29 tempire that's what I'm referring to.
22:30 sri huh?
22:30 sri two separate routes?
22:31 sri and what makes you so sure he wants post?
22:33 tempire in rest api terms, GET /things vs POST /things, the post is more likely.
22:33 tempire but you don't know.
22:33 tempire I don't think auto-detection is a good idea.
22:33 tempire there's too much potential for confusion.
22:33 sri umm
22:34 sri didn't you read what i wrote before?
22:34 sri that confusion is exactly why i said GET over POST
22:35 sri there is no ambiguity
22:35 tempire then what's the point of specifying the method at all, since the browser already assumes GET
22:35 sri if only POST is allowed then you need the method="POST" attribute
22:35 sri no method attribute is added for GET
22:36 sri just for POST
22:36 * tempire is confused
22:36 sri if you have a route that allows POST but not GET, we will insert method="POST"
22:36 sri that's all
22:37 tempire and if there's a POST and GET route, then it assumes GET, specifying nothing.
22:37 sri yes
22:37 tempire ok
22:39 sri "For routes that allow the C<POST> method but not C<GET>, a method attribute will be automatically added."
22:40 tempire make sense.
22:41 tempire https://encipher.it/
22:43 cstamas hi
22:43 tempire oh hai
22:43 cstamas I am trying to build a form
22:43 cstamas with about 50 values
22:44 cstamas 1. the form, 2 review (and can modify, back to from one), 3 process from, thx to the user
22:44 cstamas how should one accoplish that
22:44 cstamas ?
22:44 cstamas I do not see a clean way without duplicating much code
22:44 cstamas do you have any suggestion?
22:45 cstamas thx.
22:45 tempire put the duplicate code into a separate module
22:45 GitHub179 joined #mojo
22:45 GitHub179 [mojo] kraih pushed 1 new commit to master: http://git.io/B0cgpQ
22:45 GitHub179 [mojo/master] improved form_for helper to automatically add method="POST" attributes when necessary - Sebastian Riedel
22:45 GitHub179 left #mojo
22:49 xaka forms with method=GET makes no sense i think because in that case the whole query string (if any) is being replaced by form values, kind of "hidden bug" and user can be confused
22:55 * sri likes that the upload forms get more pretty
22:56 tempire you were saying a unicode talk was a competitor for my talk?
22:56 tempire I don't see that
22:56 sri it starts earlier
22:56 sri two talks long
22:57 tempire oh yeah
22:57 tempire damnit.
22:57 tempire I want to hear that talk.
22:57 sri :)
22:57 tempire but my target group won't know why that's important, I suspect
22:58 tempire but seriously, that's probably the only time I want to spend learning about unicode.
22:58 * tempire grumbles
22:59 sri well, you can see the first half
23:00 sri i bet half of the second will be questions
23:01 GitHub70 joined #mojo
23:01 GitHub70 [mojo] kraih pushed 1 new commit to master: http://git.io/hrWADw
23:01 GitHub70 [mojo/master] slightly better upload examples - Sebastian Riedel
23:01 GitHub70 left #mojo
23:01 tempire it's a shame that the talks are recorded at such low quality
23:01 tempire you can't understand a thing if the person speaks with a heavy accent you're not familiar with.
23:01 sri hmm, method detection also has a performance cost, not sure if that matters much though
23:02 tempire mst's talks are unparsable to my american ear.
23:02 memowe sri: did I say thank you for mojolicious today?
23:02 sri maybe we should consider ->find caching at some point
23:03 * sri bets marcus loves all magic
23:03 sri memowe: not sure
23:03 tempire is there a performance hit if you specify the method?
23:03 memowe sri: thank you (and your core devs) for mojolicious! You all are awesome!
23:03 sri tempire: yes
23:03 * tempire takes all credit
23:03 sri :D
23:04 sri \o/
23:21 mire_ joined #mojo
23:34 ilbot2 joined #mojo
23:34 Topic for #mojo is now Mojolicious real-time web framework 🐫 http://mojolicio.us 🐫 http://irclog.perlgeek.de/mojo/today
23:42 GitHub77 joined #mojo
23:42 GitHub77 [mojo] kraih pushed 1 new commit to master: http://git.io/jC0cAA
23:42 GitHub77 [mojo/master] a few more introspection tests - Sebastian Riedel
23:42 GitHub77 left #mojo

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