Camelia, the Perl 6 bug

IRC log for #mojo, 2013-07-04

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

All times shown according to UTC.

Time Nick Message
00:04 thaljef marty: I have used shortcuts to help generate many routes.  But in this case, I think I'm looking for one route that will dispatch to many actions.  tianon's suggest looks like the right one.  I think the downside is that it can expose subs that shouldn't be called as actions.  I can probably minimize that by using namespace::autoclean.
00:34 shmuel joined #mojo
00:38 tianon we use the underscore prefix to autohide private actions, especially if we use a broad route like that, but we try to avoid that if possible, since it's not exactly descriptive when looking at your routes
00:38 tianon and you can provide more specific routes and still use that as a fallback, obviously
00:41 mrphilov joined #mojo
00:44 egopro joined #mojo
00:47 btyler joined #mojo
00:51 rafl joined #mojo
01:28 egopro_ joined #mojo
01:49 d4rkie joined #mojo
01:57 Meiermann joined #mojo
02:26 d4rkie joined #mojo
03:47 stan_theman joined #mojo
04:24 phillipadsmith I'm a little unclear on how to use use Mango::BSON to store a date object
04:24 dimuls joined #mojo
04:24 phillipadsmith I've got date strings, e.g., 2011-03-06T17:18:36+00:00 that I'd like to store in a way that's useful for queries
04:25 phillipadsmith Pointers appreciated. :)
04:51 phillipadsmith got it  time => bson_time( $seconds_since_epoch )
05:11 Meiermann joined #mojo
05:44 Vandal joined #mojo
05:51 Britzel joined #mojo
06:16 Vandal joined #mojo
06:19 basiliscos joined #mojo
06:28 dpetrov_ joined #mojo
06:30 sweet_kid joined #mojo
06:39 suy joined #mojo
06:42 iSlug joined #mojo
07:27 trone joined #mojo
07:31 basiliscos joined #mojo
07:45 dabudabu Kovensky: Yeah, mojolicious :>
08:00 judofyr joined #mojo
08:01 dod joined #mojo
08:05 cosmincx joined #mojo
08:13 punter joined #mojo
08:13 amirite joined #mojo
08:16 russum joined #mojo
08:17 russum left #mojo
08:18 russum joined #mojo
08:18 amirite_ joined #mojo
08:19 russum left #mojo
08:27 jzawodn joined #mojo
08:44 punter joined #mojo
09:00 * sri yawns
09:08 abra joined #mojo
09:10 maxhq joined #mojo
09:16 rem_lex| joined #mojo
09:17 maxhq joined #mojo
09:43 mrphilov joined #mojo
09:48 arthas joined #mojo
09:51 Adura joined #mojo
10:03 mire joined #mojo
10:09 iankent joined #mojo
10:11 good_news_everyone joined #mojo
10:11 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/_AbOWg
10:11 good_news_everyone mojo/master 2c43300 Sebastian Riedel: mention which controller methods are hidden
10:11 good_news_everyone left #mojo
10:11 sri hope that's not too confusing
10:21 bpmedley sri: Would it be less confusing to say: "… but should be used with care, because all non-hidden methods become routes."?
10:29 sri non-hidden doesn't sound good
10:30 bpmedley Hrrm.  Let's try Latin.. :)
10:33 good_news_everyone joined #mojo
10:33 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/fjmN7g
10:33 good_news_everyone mojo/master 5cd9045 Sebastian Riedel: documentation tweaks
10:33 good_news_everyone left #mojo
10:33 sri maybe that
10:41 bpmedley Thoughts:   "In fact, every method in a controller can be a potential route.  This is done with the special stash values controller and action.  A method can be hidden either programmatically or with a naming scheme.  All uppercase methods as well as those startin…"
10:42 sri you make it sound like something positive
10:43 sri it should be a warning
10:43 bpmedley Ahh
10:44 sri personally i would not use it in a real world app, just for convenience during development
10:44 sri make something work quickly with one route, and later design your proper routes
10:45 bpmedley Possibly: With this method, every method in a controller can be exposed as a potential route.  This is done with the special stash values controller and action.  A method can be hidden either programmatically or with a naming scheme.  All uppercase methods…"
10:45 bpmedley Tried to make it a warning with the "exposed" verbage.
10:46 bpmedley Or maybe: As a convience during development, every method in a ccntroller can be exposed as a potential route.  …. "
10:53 shmuel joined #mojo
10:54 shmuel joined #mojo
11:04 dhg joined #mojo
11:28 dimuls joined #mojo
11:31 yakudza joined #mojo
12:05 dod joined #mojo
12:21 iSlug joined #mojo
12:28 dimuls joined #mojo
12:38 d4rkie joined #mojo
12:41 aleksey left #mojo
12:43 dimuls joined #mojo
12:49 Vandal joined #mojo
12:49 ladnaV joined #mojo
12:50 Vandal joined #mojo
12:50 dhg joined #mojo
13:07 dimuls joined #mojo
13:14 dhg joined #mojo
13:26 abra joined #mojo
13:34 sh4 joined #mojo
13:42 dimuls joined #mojo
13:48 yakubori joined #mojo
13:49 yakubori o/
13:51 yakubori accidentally went to #mojo on freenode first and was like, "wtf is everybody? …" :P
13:54 judofyr oh, the irony: `perl -Mlocal::lib` didn't work because local::lib was installed in a local-lib
14:06 * jberger didn't know about the automatically hidden controller method "convention"
14:07 jberger judofyr, I only ever use local::lib from within perlbrew and it has always worked perfectly
14:07 jberger <3 perlbrew
14:07 jberger local::lib confuses me otherwise :/
14:45 dvinciguerra joined #mojo
14:57 dimuls joined #mojo
15:02 asarch joined #mojo
15:16 dimuls joined #mojo
15:18 Dandre hello,
15:19 Dandre How can I in mojolicious lite write a single route for post and put http methods and get in my code the method used?
15:20 Dandre in fact both will share the same code with only one variable set differently and I don't want to duplicate my code
15:21 sri http://mojolicio.us/perldoc/M​ojolicious/Lite#HTTP_methods
15:24 Dandre sri: thanks I hadn't found it!
15:28 mrphilov joined #mojo
15:30 dimuls joined #mojo
15:32 jnbek^dt joined #mojo
15:32 priodev joined #mojo
15:40 good_news_everyone joined #mojo
15:40 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/yg1Qiw
15:40 good_news_everyone mojo/master 573465b Sebastian Riedel: better explanation for which methods are hidden from the router
15:40 good_news_everyone left #mojo
15:46 phillipadsmith Howdy. I'm curious about the most advisable patterns in mojolicious when developing user-facing views that appear to "stream," i.e., new stream items added to the top of a list, or older stream items added to the bottom of a list, without a page refresh. I've been looking at the EventSource and Websocket and both seem like they could do what I would normally
15:46 phillipadsmith just do with "long polling." Advise?
15:46 phillipadsmith (And Advice?) :)
15:46 sri use websockets if you can
15:47 phillipadsmith sri: not being super-familiar (in practice) with WS, what are the scenarios where it might not work?
15:47 jast old browsers
15:47 phillipadsmith what are the common scenarios that is
15:47 phillipadsmith Okay, that's not really a concern here.
15:47 jast http://caniuse.com/#feat=websockets
15:48 sri otherwise websockets are the end all answer to streaming stuff
15:53 phillipadsmith Okay, so, assuming I'm using WS, what is the most common pattern for adding new items to the rendered stream? Specifically, I'm using Mojolicious::Lite/Mango/MongoDB and the initial view renders a list of items from Mongo reverse date sorted. So, conceptually, I'm trying to understand the pattern for updating the list if/when there's an item with a newer
15:53 phillipadsmith date than the first item already rendered on the page. Is there are more efficient way than replacing/updated all of the existing list elements in the DOM?
15:54 phillipadsmith In the past, I'd use a long poll pattern and update the entire list
15:54 phillipadsmith Just seems inefficient...
15:55 sri websockets are bi-directional, anything is possible, you could make your own sync protocol :)
15:56 sri frameworks like meteor have a client side database that syncs with a server side mongodb
15:56 sri possibilities are endless
15:57 phillipadsmith Ah, okay, so… basically if I don't want to be always updating the DOM, I should probably explore some kind of data binding?
15:57 phillipadsmith Backbone, Knockout, or something along those lines?
15:59 phillipadsmith I guess my question is: is there a relatively simple way to A) poll for updates from MongoDB (using Mango!) using WS, and then B) update the DOM, ideally just adding new elements not updating the entire list of elements, when there's something new, or the user requests something older.
15:59 phillipadsmith Are there any of the example Mojolicious applications that do anything similar to this that I should be looking at?
15:59 phillipadsmith I've poked through a few, but have yet to find the right example.
16:03 dimuls joined #mojo
16:03 jberger phillipadsmith, jquery has methods to prepend, if your websocket's onmessage handler just take from the websocket and calls that, its super simple
16:05 phillipadsmith jberger: yes, that's generally how I've been doing this, but my pattern has been to update the whole list, e.g.: https://gist.github.com/philli​padsmith/e59234caa52830dee15b
16:06 phillipadsmith I guess I'm conceptually stuck on how to evaluate if I have a net-new item, based on either what data was originally passed to the template for rendering, or what's in the DOM.
16:08 phillipadsmith Anyway, I'll read up on the WS support in Mojolicious and see if I can get a bit further down the field...
16:08 ynonp joined #mojo
16:08 jberger I am starting an example, but I have to go out for about an hour, I'll poke you then
16:09 phillipadsmith jberger: oh, wow, thanks… greatly appreciated. No rush at all. :)
16:10 jberger i have a redis chat in my gist somewhere
16:10 jberger I think it had a bug somewhere tho
16:13 good_news_everyone joined #mojo
16:13 good_news_everyone [mojo] kraih tagged v4.17 at 4110202: http://git.io/i3rVng
16:13 good_news_everyone left #mojo
16:31 sri sooo, perl deployment tools are now a thing it seems https://metacpan.org/release/Canella
16:59 dimuls joined #mojo
17:02 yakubori joined #mojo
17:10 tianon joined #mojo
17:11 iankent sri++ looks good
17:15 jberger again, I thought I saw another deployment tool lately, but this one looks good too
17:19 trone joined #mojo
17:20 trone joined #mojo
17:25 punter joined #mojo
17:28 maxhq joined #mojo
17:31 dvinciguerra joined #mojo
17:37 punter joined #mojo
17:46 gtodd jberger: Rex?
17:47 gtodd jberger: well not really deployment that ....
17:47 gtodd "remote execution" ;-)
17:47 dod joined #mojo
17:48 yakudza joined #mojo
17:50 gtodd I like deployment tools that (at least on different unixen) figure out the OS host machine specific stuff (rpm yum pkg portmaster) to do when I say "tool deploy apache"
17:52 gtodd OTOH if these silly java c and c++ apps would just get ported to  perl we could use cpan for  everything ....
17:54 sri gotta love that some hot dog eating contest makes it into the cnn breaking news... murrika!
17:57 sri HAPPY 2013TH BIRTHDAY MURRIKA! https://twitter.com/gutjahr/sta​tus/352832149394714624/photo/1
18:45 jberger 2013-1776 != 2013 :-P
18:54 jberger phillipadsmith, https://gist.github.com/jberger/5929620
18:55 jberger again, it doesn't do any client-side niceness, that's up to your javascript, probably ember or angular at the moment
18:56 phillipadsmith jberger: thanks! Will have a look once I finish eating lunch. :)  Was reading up on angularjs after we spoke earlier.
18:56 jberger np, enjoy your lunch
18:57 phillipadsmith Still trying to get my head around the core question "Is this a 'realtime' app?" or just a list that needs to update frequently
18:57 phillipadsmith Backbone, AngularJS, et al seem to be the new hotness, but I'm wondering if they're really needed here...
18:57 phillipadsmith Anyway...
18:58 jberger there are probably smaller libraries, possibly ones that build on say jQuery, that would do some kind of sorting on a set of data
18:58 phillipadsmith I guess, on that topic, what is the point where you say, fsck it and just move to some full-stack JavaScript framework like Derby, or Meteor, as sri mentioned? Why use Mojolicious at all at that point?
18:58 sivoais joined #mojo
18:59 jberger you would use the websocket to keep funnelling in data easily
18:59 phillipadsmith Right… keen to see how you've done that… :)
18:59 jberger phillipadsmith, I don't reall have an answer to that as far as your use case goes, but Mojolicious would at least still make a nice backend for serving up the new data
19:01 jberger I really didn't do much
19:01 jberger I just appended to the dom
19:01 jberger that said, keeping an array in the js, appending to that, then rerunning some js function on the array is not so hard as an extension
19:03 jberger but looking back at your polling example, I promise you are going to like this better :-P
19:03 sri for me there is no point where i would say fsck it and use a full stack javascript framework
19:04 sri i want to do less javascript, not more
19:04 jberger and I see that you have a getJSON method, Mojolicious has nice websocket/json methods now! :-D
19:04 jberger sri: indeed, the only thing I like about these new things is how nicely the update on new data
19:05 sri javascript is a decent language for embedding into browsers and databases, but not general purpose programming imo
19:06 jberger no fscking way # hehe
19:09 sri the whole idea of full stack javascript is silly... web development is polyglot by nature, we have to learn css, html, template languages... and all those things anyway
19:13 sri but i rarely hear people talk about it anymore anyway... it's basically a recruiting red flag at this point
19:17 jberger oh, you mean like using node etc, yeah, I have no interest
19:17 jberger <3 Mojo::Template / ep
19:17 jberger <3 mojo
19:18 sri meteor and derby are node.js + browser + mongodb frameworks
19:18 trone joined #mojo
19:18 jberger oh, I didn't know
19:18 jberger I assumed they were like angular and ember
19:18 sri some parts are pretty clever, but the fact that it's all javascript is not very relevant to it
19:19 sri meteor has a mini-mongodb running in the browser, that syncs with mongodb through node.js
19:21 sri whole thing is very limiting though, writing anything else than single page apps mostly sucks
19:22 sri i guess you could say it's very javascript that way
19:22 jberger that's the bit I have never understood about these things (even ember and angular). they seem to only be single page
19:22 jberger sri: yeah
19:22 sri while frameworks like mojolicious or rails are multi paradigm... like perl :)
19:23 jberger timtowtdiftw
19:24 sri of course the downside is that you've got to make your own decisions, as phillipadsmith is discovering atm
19:26 jberger btw, writing callbacks in python2 sucks!!
19:26 sri no different in python3 either ;p
19:27 jberger whenever there is only one way to do most things, sometimes there will be no way to do somethings
19:27 phillipadsmith Well, what I'm finding is that when I start a project, I usually need a few parts: something to go and get data -- often a scraper or parser of some kind -- and stick it in a database, then something to present that data to users. However, users now expect that data to just "update" in the browser without doing anything, and -- obviously -- there are many
19:27 phillipadsmith ways to do that…
19:27 sri i think i could have been a python programmer... if it wasn't for the lack of proper lambda support
19:28 phillipadsmith I'm finding, for speed of development, that Mojolicious "just works(™)" for 90% of that equation
19:28 * phillipadsmith thinks … Perl has lambdas?
19:28 jberger I'm caught in a python world at $work, I'm glad to be learning it, seems like a good thing to know, but overall, I'll take perl
19:28 * phillipadsmith thinks anyway...
19:28 * jberger hugs mojo
19:29 sri LEARN ALL THE LANGUAGES
19:29 jberger Perl has full closures, who needs lambdas?
19:29 phillipadsmith I like using Mojolicious::Lite for serving the data, and Mojo::DOM and Mojo::UserAgent for the scripting / parsing, etc., and now Mango for the "sticking it in the DB"
19:29 jberger (anonymous closures)
19:30 phillipadsmith But I do hate the way that I've been using jQuery to update the DOM … just seems like a kludge
19:30 phillipadsmith Keen to learn/try new approaches and patterns
19:30 jberger phillipadsmith, you can use partial rendering on the server side and just send the updated html fragments via websocket
19:30 sri then learn angular/ember
19:31 jberger .... but yeah, what sri said
19:31 jberger and isn't jQuery by definition a kludge
19:31 phillipadsmith So you two "approve" of the declarative binding approach?
19:32 jberger when its the right thing, I haven't used it personally, but I know preaction has to great effect
19:32 phillipadsmith I dunno, like some huge % of sites on the Internet use it, so at some point something must shift from being a Kludge to being a mainstream thing
19:32 phillipadsmith ^^^ jQuery that is
19:33 jberger jquery is the kludge that made javascript/dom on the browser useful enough to function
19:33 sri i actually don't approve of single page apps
19:33 sri but if it's what your customer wants...
19:33 jberger doesn't matter if its commonplace, its still there to fix the fact that javascript didn't hook to the dom well enough, even though it was essentially its only job :/
19:33 phillipadsmith jberger: I'm curious about the fragments idea, but then I loop back in my mind to the question "Send data?" or "Send data + view?"
19:34 jberger phillipadsmith, that's up to you
19:34 phillipadsmith OMFG! What? Am I supposed to figure this all out myself!!!??? ;)
19:34 jberger it all depends on where and how you want to generate the view
19:34 sri also... why overengineer it from the start?
19:35 sri make it work... then find ways to make it more elegant
19:35 phillipadsmith sri: agreed… I'm am trying to focus on a minimum viable prototype here… simple...
19:35 jberger client-side html templates will be cool, but they are essentially still in their infancy
19:35 * phillipadsmith goes to look at that example posted earlier...
19:37 sri yea, i see myself more building emvedded realtime widgets with websockets and <template> tags
19:37 sri not single page apps with client side frameworks
19:37 jberger <template> tags will really help
19:38 phillipadsmith okay, so jberger looking at your example...
19:38 phillipadsmith (helpful by the way)
19:40 * tempire recommends backbone marionette
19:41 phillipadsmith My first (probably wrong) thought is to provide the websocket subroutine have access to the initial data that was sent to the browser. Then, the WS could just send data if it was "newer" than the data already sent to the browser and prepend it… crazy? Better way?
19:41 phillipadsmith s/have access/with access/
19:42 phillipadsmith tempire: example of Mojolicious + Backbone?
19:42 zekame joined #mojo
19:43 tempire no examples that I know of
19:43 jberger phillipadsmith, why not just have the server send any new data when it is available
19:43 tempire though if you're using a full-fledged js framework, most of your mojolicious usage will end up being json
19:43 phillipadsmith jberger: tell me more… :)
19:43 tempire and maybe some templates
19:44 jberger subscribe to some onchange method provided by your data service, and in the callback send to the websocket
19:44 jberger I don't know what use case you are considering, I'm picturing a stock ticker
19:45 zekame May be it's silly. Where must i convert json data to html text? In model? or viewer? or something else?
19:45 jberger you could think about a web chat in a similar way
19:45 phillipadsmith It's just a remake of a "planet," when there are new feed items I want to prepend them to the page.
19:45 jberger ok, so when your crawler finds something, just send it to all the open websocket clients
19:46 tempire zekame: depends on where your templates are rendered. But definitely not in any sort of model.
19:46 jberger the problem will be when you go to multiple workers, then you will need a message bus (same as for a web chat)
19:46 jberger but then the logic almost gets easier
19:47 jberger when something is added to the bus, send it to all the clients
19:47 phillipadsmith The data is stored in Mongo
19:47 jberger then you have workers that find the news feed items and push them into the bus, and they are totally separated
19:47 phillipadsmith So, I guess the question for me re: "data service" and on change events is whether there's a way for Mongo (like CouchDB) to provide a "feed" of changes?
19:47 jberger tailable cursors
19:48 jberger but I know sri is working on an overhaul of that stuff for the next major mango release
19:48 zekame tempire:  i render templates in controller...
19:48 jberger (or at least thats what the talk was)
19:49 tempire if it's in a mojolicious controller, where does json come into the picture?
19:52 zekame tempire: sorry it's not json comes to controller. it's perl structure from dbix result.
19:53 zekame tempire: but where can i convert it to html?
19:53 tempire not sure I understand the question, then. The template is html that uses whatever perl structure you've passed into it.
19:54 dimuls joined #mojo
19:57 phillipadsmith re: datasource and onchange events … I'm curious if MongoDB has anything like CouchDB change notifications?
19:57 zekame tempire: ok. i think  that i understand, where my mistake :)
19:58 phillipadsmith (apologies… I lost some of the log there… just checking the other logs now)
19:59 phillipadsmith jberger: okay, so re: "when your crawler finds something, just send it to all the open web socket clients" -- currently, the crawler sticks the items into MongoDB
19:59 * phillipadsmith reads about "the bus" … curious...
20:00 phillipadsmith okay, so "tailable cursors" exist today? But there's no support in Mango? Sorry, just reading scroll back because my irc client crashed
20:02 phillipadsmith Okay, I see I can use that in Mongo, or just use a $gt: <lastvalue> query
20:02 phillipadsmith makes sense…
20:07 jberger tailable cursors do work in mango, but they are a little rough
20:07 tianon or Mojo::Redis along with Mongo, and use Redis for pub/sub
20:10 stan_theman this might be a really loaded question, but i'm getting started with mojo and redirecting a page. the sub responsible is supposed to stuff "hi" into the stash, and the template should render it. it looks like it's getting stuffed in new_flash and the template can't access it? am i doing everything wrong, or missing something small? noob here
20:12 tianon stan_theman: your action does $c->stash->{some_var} = 'hi', right?
20:12 tianon stan_theman: and then your template uses it as $some_var ?
20:13 stan_theman erm, "flash", not stash, sorry. $self->flash(test=>"hi"), and then accessing flash from the template
20:13 tianon flash is to pass some stash value to the _next_ request, not the current one
20:13 tianon you meant to use stash ;)
20:13 stan_theman oh! ok!
20:14 stan_theman thanks, i'm giving it a go now
20:14 jberger flash is for doing stuff AFTER the redirect
20:14 jberger "welcome back" or "you have to be logged in for that"
20:15 stan_theman that makes way more sense, i think i was reading and say "flash" in my head. it makes extra sense since the growing guide does exactly that ("welcome back") :)
20:15 jberger I basically only use Mojolicious::Plugin::Humane anymoer # shameful self-plug
20:17 stan_theman oh man, that was exactly it. thanks tianon!
20:17 tianon glad to help
20:18 sri don't think i would use pub/sub for sending new feeds to subscribed clients
20:19 tianon sri: just a tailable cursor, then?
20:19 sri think i would just use it to notify them that new data is available, and use a normal find for getting the data
20:19 tianon oh right
20:20 tianon I thought you meant you wouldn't waste time on pub/sub at all for such a small task :P
20:20 sri sure, i consider tailable cursors to be pub/sub
20:20 tianon ah :)
20:20 sri well, depends on how much latency you can accept
20:21 sri problem with tailable cursors is that they only work on capped collections
20:21 sri not so nice if you want to keep old data
20:22 sri next mango release will be really nice for tailable cursors :)
20:22 jberger every time I've tried to do it, I have to hack around using $cur->next(sub{ ... }) as $cur->on( next => sub { ... } )
20:22 tianon \o/
20:23 jberger or on( has_more => sub { ... } )
20:24 sri jberger: i have no idea what you're saying
20:24 jberger the problem is setting up the next handler in a way that fires every time there is new data
20:25 jberger $cur->next(sub{ ....; $cur->next(__SUB__)});
20:25 jberger so that it stays in a state of waiting for more
20:25 sri ah
20:26 sri yea, __SUB__ makes it rather easy now
20:26 jberger I don't know how I would do it without that :-D
20:27 sri my $cb; $cb = sub { $cb->() };
20:27 sri old school
20:27 jberger yeah, ok
20:27 sri you kids and your....
20:27 jberger GET OFF MY LAWN!!
20:28 sri \o/
20:28 jberger still, having some kind of event on a tailable cursor would be cool
20:29 jberger I'm excited to see what the next mango will bring
20:48 tempire holy crap
20:48 * tempire just learned about the flip flip operator
20:49 tempire *flip flop
20:57 ynonp joined #mojo
21:01 preflex joined #mojo
21:05 BeDa joined #mojo
21:06 * jberger welcomes tempire into the inner circle of Perl wisdom
21:10 Tiger joined #mojo
21:19 phillipadsmith tianon: I think that's basically what Derby does, yes? Mongo for storage, but Redis for PubSub?
21:30 rihegher joined #mojo
21:31 rihegher left #mojo
21:35 lukep joined #mojo
21:37 jnbek joined #mojo
21:43 marty joined #mojo
21:46 yakubori joined #mojo
21:47 marty left #mojo
22:03 asarch joined #mojo
22:18 dhg joined #mojo
22:23 tianon phillipadsmith: I've never used Derby (or looked at it before today), but it does appear to use both Mongo and Redis, yes
22:24 tianon but I'm obviously partial to Perl and Mojolicious, so I don't have much incentive to learn Derby :)
22:25 phillipadsmith tianon: I'm in the same boat
22:25 phillipadsmith But I like the results of these frameworks that sync between client & server
22:38 dhg joined #mojo
22:42 preaction I wrote my own python framework (based on Twisted), none of the ones that existed were really that awesome to me, at least not for the _scale_ of what I have to build
22:42 preaction klein is the closest, but it is not ready for prime time yet
22:42 * preaction responds to a 2-hour old conversation
23:30 gryphon joined #mojo
23:32 tba joined #mojo
23:52 punter joined #mojo

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