Camelia, the Perl 6 bug

IRC log for #galileo, 2013-02-14

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

All times shown according to UTC.

Time Nick Message
13:55 ilbot2 joined #galileo
13:55 Topic for #galileo is now Chatter about Galileo CMS and GalileoSend websocket file sending protocol | logged at irclog.perlgeek.de/galileo/today
13:56 jberger ok, to repeat my previous, now with logging!
13:56 jberger daxim, I have taken up too much of #mojo's space on galileo stuff lately so I decided to start this
13:56 jberger <jberger> I need to pull in ilbot2
13:56 jberger <jberger> but to answer your question, I created a new "protocol" because I wanted to try sending files by websocket
13:56 jberger <jberger> mojolicious (and presumably other) put a limit on websocket transmission size
13:56 jberger <jberger> which is fine because you don't want to read a full fill into memory on the client side either
13:56 jberger <jberger> and I found some node based things for chunk-sending files
13:56 jberger <jberger> but nothing that was backend independent
13:57 jberger <jberger> so I started writing my own purely for my use, when I noticed that nothing was mojolicious/perl dependent
13:57 jberger <jberger> so I thought, promote it as a "protocol" which others can implement
13:57 jberger <jberger> its really easy
13:57 jberger <jberger> I now have a mojolicious plugin for the server
13:57 jberger <jberger> a javascript client
13:57 jberger <jberger> and command-line receiver and sender applications
13:57 jberger <jberger> plus its non-blocking by design and positive confirmation
14:03 jberger anyway: a little silly? maybe
14:03 jberger but it was/is fun
14:04 jberger and maybe it'll catch on
14:04 jberger and if not, its no worse than what exists now
14:29 jberger__ joined #galileo
15:02 dams_web joined #galileo
15:02 dams_web hm
15:03 dams_web left #galileo
15:08 borisd joined #galileo
15:25 run4flat joined #galileo
15:42 mmcleric joined #galileo
17:15 riba joined #galileo
17:16 riba jberger: ping
17:16 jberger riba, hi
17:17 riba jberger: just driving by to plug my toy: https://twitter.com/dbix_cla​ss/status/301975495862538242
17:17 riba know you are a user, saw the blogpost and yeah ;)
17:18 jberger looks great, I'm all for speed
17:18 jberger this is a release candidate?
17:19 riba it's a public beta (google style)
17:19 jberger cool
17:19 riba hence the -TRIAL so it doesn't get indexed just yet, but should be generally usable
17:19 jberger yeah, I'll fire up a new perlbrew just for it
17:20 jberger what I meant is, this is planned a future release of DBIC and not some DBIx::Class::Faster
17:20 jberger or some such
17:20 riba ah yes of course
17:20 riba plain DBIC, will eventually be 0.08250 proper
17:20 jberger then I will definitely give it what little workout Galileo gives it
17:21 riba but due to the size of the changeset (1500loc only in lib/) it will go through a much longer incubation
17:21 jberger its really just a CRUD app
17:21 jberger actually the migration stuff would be worth stressing more
17:21 riba that hasn't been worked on yet, but bugreports always welcome ;)
17:21 jberger I've been trying to pump the use of DBICDH for in-place upgrades
17:22 riba that's what it is written for, yes
17:22 jberger as long as you are here, I can say I too get the warnings from YAML that ::Migrations has noticed
17:23 jberger I know there is a bug filed on it
17:23 riba which was that?
17:23 jberger but in general, thanks for all the great work
17:23 jberger I don't want to sound pessimistic, Galileo wouldn't be possible without it!
17:23 * jberger looks
17:28 * jberger is still looking
17:28 riba I'll go grab a bite, will be back in 15
17:28 jberger yeah, that fine
17:28 jberger that's
17:29 jberger I wouldn't want to keep you from anything anyway
17:30 jberger https://rt.cpan.org/Ticket/Display.html?id=75394
17:30 jberger its filed as a bug on ::Migration, but I thought there was a cross-posted one
17:30 jberger I guess maybe not
17:32 jberger but I get the same output, try installing Galileo (you see a few warnings in the test but thats DBICDH's fault)
17:32 jberger then when you run galileo setup, there they are, so much so that I have a big note that its not a problem
18:35 lsm joined #galileo
18:46 riba jberger: indeedy, I forgot about tjat one
18:46 riba thanks for reminding, I have a note (well a branch) now - will get to it eventually
18:46 riba it's a DBIC-side problem
18:46 jberger I spent several days trying to fix it on my end before seeing that, at which point I realized that I better just put in a big warning
18:47 jberger cool thanks
18:47 riba jberger: well, fixing it is not that hard... like at all
18:47 jberger I remember talking to someone (jjnap?) and we thought that switching to JSON vs YAML might actually just fix it
18:47 riba jberger: the test however is problematic...
18:47 jberger oh ok
18:48 riba I mean whatever I threw together in a minute did not warn
18:48 riba jberger: wanna play with it?
18:48 jberger Galileo warns consistently on setting up a database
18:48 jberger sure
18:48 riba sec...
18:49 lsm why websockets when page saves are driven client side?  wouldn't simple ajax suffice?
18:49 jberger lsm, part of it is vanity, I want to be "modern"
18:50 lsm there are use cases for websockets, but this is an odd one
18:50 jberger part of it though is that I can send nice metadata with it, like hash for server-side positive verification if I want
18:50 jberger websocket is low-latency and the server can do the receiving in a non-blocking fashion
18:50 lsm don't follow, but is that server push for any reason?
18:50 jberger server push?
18:50 jberger no the client initiates the send
18:51 riba jberger: so as far as I understand the RT, this test should issue the same warning, but it doesn't
18:51 riba https://github.com/dbsrgits/dbix-cla​ss/commits/topic/yamlize_sqlt_schema
18:51 lsm don't need websockets for serving nonblocking REST
18:51 riba jberger: so I am missing something obviously
18:51 riba jberger: I have to run, will check back in 2-3 h
18:52 jberger riba, its one of those problems that keeps seeming easy, and then every time you try it, its not :-)
18:52 jberger sure
18:52 jberger lsm, call it, I was surprised that it didn't exist, so I tried to create it, and since it seemed possibly useful, I shared
18:52 jberger nothing more than that
18:53 lsm there's a paucity of CMS certainly
18:53 lsm this has no fallback for non websocket browsers though, right?
18:54 lsm you don't run a flash server alternative like PocketIO?
18:54 jberger no, but this only affects editors not viewers
18:55 jberger because I want it to run from a CPAN installation cleanly
18:55 jberger as far as I know there is no flash server on CPAN is there?
18:55 lsm if your ambitions were collaborative editing (in a CMS, that would be interesting), i would understand use of websockets.
18:55 jberger that is a possible goal
18:56 jberger for now its no-refresh and positive feedback from the server
18:56 jberger the real ambition for Galileo is to be totally installable and runnable from cpan
18:57 jberger cpanm Galileo && gaileo setup && galileo daemon
18:58 jberger lsm let me rephrase about collaborative editing: in writing a new CMS, I thought I would start fresh, intentionally not supporting older technologies, intentionally relying on the new ones
18:58 jberger because that would give me the future flexibility to add the new things that are making HTML5 interesting
19:05 lsm for what it's worth, i'm not certain it's correct to think about web sockets as a "new" protocol, and ajax to a REST server, as "old".  different use cases.  web sockets intended for server push of new data without browser client side request..
19:07 lsm i mentioned collaborative editing because informing one client of actions on another fits the use case for web sockets.  the most typical application has been browser 'chat'.   many forums use it to update you on new postings by others.
19:08 lsm haven't heard of use in CMS context.  but i don't specialize in CMS, and don't know what, e.g., the node.js people are doing.
19:13 jberger websockets aren't just for push, they are for 2 way communication
19:13 jberger they are very handy, very lightweight and it made sense in my mind to utilize them to the fullest
19:14 jberger Mojolicious comes with support out of the box
19:14 jberger and so with my plugin, a fully working example is as easy as https://github.com/jberger/Galileo​Send/blob/master/example/server.pl
19:16 jberger and btw, the client must still initiate the websocket open, but it doesn't have to be held open by some "loading gif" or other magic
19:16 lsm yes, they're two way.  i'm just not familiar with their use when server push not required.
19:16 jberger just different, not necessarily better
19:16 jberger I would never say not to use ajax or that ajax is dying
19:20 lsm well, i understand the use case now, freeing up server resources when you're waiting on a long server side process (e.g., db query), with callback able to respond at its leisure across websocket.
19:20 jberger yep
19:22 jberger another nice thing I use websocket for apart from this file business
19:23 jberger when you save a page in galileo, it send the content overwebsocket, and waits for the server to respond
19:24 lsm i saw your file upload protocol.
19:24 jberger the response only comes after successful insertion into the database, at which point the server/app message get sent to the client without any kind of polling
19:26 jberger yeah, the more I think about it the more I think our last two big messages were the same
19:26 jberger :-)
19:26 jberger no waiting on the server
19:26 lsm LOK, yes.
19:26 lsm LOL
19:26 lsm your typical lightweight cms will either render pages via cache.  editing/insertion much less frequent, not enough overhead to care about latency and bother to use these technologies.
19:27 jberger possibly true, but since it was no harder, why not
19:27 lsm right
19:27 lsm certainly a cool demonstration
19:27 jberger the latency issue is more something I intend to investigate about the file sending
19:27 jberger latency certainly isn't an issue for text updating
19:29 jberger the framing on websockets is so tiny that there might actually be a real upload time boost to using it vs POST
19:29 jberger not so sure about PUT
19:29 jberger I know less about that
19:32 jberger http://www.websocket.org/quantum.html
19:38 jberger I see GalileoSend as competition for things like
19:38 jberger http://upload.thinfile.com/put/
19:38 jberger and http://binaryjs.com/
21:46 jberger_ joined #galileo

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