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

IRC log for #mojo, 2015-05-03

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

All times shown according to UTC.

Time Nick Message
00:17 diginet_ joined #mojo
00:45 mattastrophe joined #mojo
01:13 asarch joined #mojo
01:16 klapperl_ joined #mojo
01:22 absolut_todd joined #mojo
01:55 melo joined #mojo
02:19 noganex joined #mojo
03:28 sk joined #mojo
03:41 preaction jberger, marcus: the bot with routing capabilities i was working on was called Bot-Freyr. it's not on cpan, because it doesn't do anything useful, but the routing stuff works. i need to make it do useful things to shake out the issues though https://github.com/preaction/Bot-Freyr
03:41 preaction and i think where i stalled was that i lifted concepts from Mojolicious::Routes incorrectly, i gave them the wrong name
03:41 preaction under() i think i implemented wrong
03:44 preaction oh, heh, right, and i used 5.20 signatures because i could ;)
03:48 memowe joined #mojo
03:51 basic6 joined #mojo
04:04 nf joined #mojo
05:47 polettix joined #mojo
06:26 dod joined #mojo
06:31 dod joined #mojo
06:43 Adurah joined #mojo
07:03 marcus preaction: nice. I have the opposite, my bot does useful stuff, but the ruting is missing. I just match all messages against a route object now.
07:04 marcus ( https://github.com/marcusramberg/marvin )
07:05 trone joined #mojo
07:46 fhelmber_ joined #mojo
07:47 Vandal joined #mojo
08:25 melo joined #mojo
08:34 amon joined #mojo
08:39 ToApolytoXaos joined #mojo
08:44 melo joined #mojo
08:55 ssm marcus: That looks useful.  I've got a handful of irc bots today, but I'd like to provide the same services for jabber as well.
09:00 dotan joined #mojo
09:16 misty_g3ar joined #mojo
09:53 trone_ joined #mojo
09:57 dotan joined #mojo
11:18 ssm ugh, Mojo::IOLoop and I are not on speaking terms today…  I obviously need to code more often.  Trying to talk to munin nodes, and fetch configuration and data with the existing tcp protocol.
11:19 ssm Data submission over http is _much_ easier
11:24 ssm Connecting to a node, reading the banner, exchanging capabilities and listing the available plugins works, using Mojo::IOLoop->delay and Mojo::IOLoop::Client.
11:28 ssm Looping over each plugin, sending "config $plugin" and "fetch $plugin", in a new Mojo::IOLoop->delay() per plugin does not do what I mean.  It obviously does what I type instead. :/
11:36 punter joined #mojo
11:37 AirDisa joined #mojo
11:43 mishanti1 ssm: In your defence; munins interface is pretty darn horrible. :)
11:49 ssm grown more or less organically the last 14 years :)
11:51 ssm I'm looking to reimplement it using Mojolicious and Minion.  Right now I'm learning how to use Mojo::IOLoop to speak the munin master-node protocol.
11:55 berov joined #mojo
12:07 mattastrophe joined #mojo
12:54 dod joined #mojo
13:01 nicomen ssm: what happens instead?
13:09 ssm nicomen: https://gist.github.com/ssm/eaa409c17fcd393c1275 it loops over the plugins, making log messages (line 9), but skips directly to the next step without writing and reading to the stream for each node.
13:19 ssm looks like it sends all the "config $plugin" lines at once in parallel, instead of a serial "write "conf plugin1", read, write "conf plugin2", read
13:19 ssm (thanks, whireshark :)
13:21 nicomen based on that code, I would expect all the configs to be sent as soon as possible?
13:22 nicomen in parallell
13:22 nicomen but no read/write be sent after the previous belong config was sent
13:23 nicomen this should work find if they didn't share the stream
13:23 nicomen but I would I guess parallellize over hosts, not over plugins
13:25 gryphon joined #mojo
13:28 ssm nicomen: yes, I'll do many hosts in parallel.  Sending all config requests in parallel is wrong, so I'll serialize those.
13:28 ssm thanks :)
13:28 nicomen hey, munin maybe tackles doing parallell connections too
13:29 nicomen I want to do what you are doing very soon too btw
13:29 nicomen mostly for a "real-time" opt-in munin dashboard
13:35 ssm nicomen: the web part of the munin master is not too hard.  The new graph code from munin should be usable in mojolicious with few modifications.  The API design looks at least partway sane.  Submitting munin node results with http would use the same minion task to store it in RRD as the code I'm working on now.
13:37 ssm A dashboard would then most likely be a mojolicious plugin, which may use the api endpoints for /graph, /host, /service or /group, or provide something similar itself.
13:37 nicomen wouldn't it still be limited by the updatedness of a master?
13:37 nicomen I just want to go to a selected set of hosts, runs some of the plugins, accumulate the data and graph it
13:38 nicomen and not wait five minutes++ when the master has had time to do a full round-trip etc.
13:39 kaare_ joined #mojo
13:39 ssm You would be able to fetch a subset of hosts and plugins at some arbitrary rate, while a worker fetches data for everything every 5 minutes, or not.
13:40 ssm the munin nodes can spool data for a pluginevery second, and the master / webapp would  do a "spoolfetch" of those every 10, for instance.
13:41 nicomen hm, is this something new?
13:41 nf joined #mojo
13:42 ssm no, but it is not very well documented
13:42 purl okay, ssm.
13:43 ssm I've assigned myself a ticket to document it better  :)
13:48 ssm But, the RRD storage limits your options a bit.  You need to say what kind of time resolution and retention period you want when you create the RRD file, and the default resolution is "5 minutes", and the default period is "1 year".  Converting is cumbersome, but possible.
13:50 nicomen right
13:50 nicomen I would probably compress data on the fly
13:51 nicomen so new stuff has high precision, and old stuff low
14:04 punter joined #mojo
14:26 ssm that's built into rrd
14:35 ajr_ joined #mojo
14:47 jberger ssm: that last $p->begin(0) looks strange
14:49 AirDisa joined #mojo
14:49 jberger oh I see, you are using that to pass into the "first step"
14:50 jberger never thought of that before
14:50 jberger I usually close over inputs to the first step
14:51 jberger ssm: there is a method called "pass" which does that begin for you btw
14:51 ssm I've not used it enough to say that I "usually" does something :)    I'm refactoring it to have the loop make a @subs I can serialize over instead.
14:52 ssm jberger: yes, but "pass" does not do well if there is asynchronous content in the sub, if I read the docs correctly.
14:52 ssm I built a set of parallel instructions, while I _should_ have made a set of serial instructions.
14:53 jberger https://github.com/kraih/mojo/blob/master/lib/Mojo/IOLoop/Delay.pm#L19
14:54 ssm haha
14:54 jberger which is, according to a perl parser quirk, exactly the same thing as you have
15:28 juikuen joined #mojo
15:47 fhelmber_ joined #mojo
15:56 zivester joined #mojo
16:03 asarch joined #mojo
16:40 mst https://api.metacpan.org/source/PMB/Mojo-Pg-ORM-0.01/
16:40 mst I ... don't think that went to plan.
17:22 dod joined #mojo
17:47 vmbrasseur joined #mojo
18:01 vmb joined #mojo
18:09 ajr_ joined #mojo
18:24 punter joined #mojo
18:32 batman mst: Haha
18:32 batman Been there. Done that :P
18:32 mst batman: Distar runs 'make manifest' for you and then asks you to check if MANIFEST changed since it was last run
18:32 mst specifically so I don't do that again :D
18:33 mst (feel free to steal that ;)
18:33 * Grinnz vaguely remembers having to make manifest for POE::Loop::EV
18:34 Grinnz the only release ive done without dzil... and it was Module::Install :P
18:35 mst tasty spoo
18:37 Grinnz i think i may have missed a reference there :P
18:37 mattastrophe joined #mojo
18:42 mst http://babylon5.wikia.com/wiki/Spoo
18:46 jberger ./Build distcheck?
18:48 * jberger embarks on third attempt at a mojo-based presentation system
18:48 jberger this one mostly a preprocessor for reveal.js
19:02 mst if you get it to auto-scale text to be as large as possible I will try it.
19:23 jberger mst: I do remember your request for that, but my goal this time is to do as little front-end as possible
19:24 jberger if reveal supports it, I would do everything in my power to expose it for you
19:24 mst I've no idea
19:40 mattastrophe joined #mojo
19:43 jberger mst: IIRC there was a name for the style you use, can you remind me of it?
19:43 melo joined #mojo
19:44 mst jberger: takahashi.xul
19:44 purl i guess takahashi.xul is a program that reads the text file and makes is slidey
19:47 jberger hmmm, nothing specific when I google the two of those together, but, http://fittextjs.com/
19:50 mst doesn't look like it wants to make multiple lines work
19:50 Grinnz https://github.com/Grinnz/zircbot/blob/master/t/connect.t well i finally have at least one test file for my bot :P
19:55 jberger mst: ;(
19:56 jberger :( even
19:58 jberger mst: either of these look better? https://github.com/davatron5000/FitText.js#in-use
19:58 jberger they seem to to me
20:00 mst oooh, that looks possible
20:01 mst though I suspect the compressor would need tuning on text length or something
20:01 mst probably what I'll be best doing is saying "fuckit" and reverse engineering those two and making my own
20:01 mst I just don't wanna ;)
20:02 marcus ssm: You should probably be using delays?
20:05 jberger mst++
20:17 ssm marcus: yes, I like using those.
20:21 ssm the gist was from within a long delay sequence, which I hacked together to see if I could use Mojo::IOLoop to speak a moderately simple tcp based protocol
20:32 mattastrophe joined #mojo
20:36 batman mst: Does that mean that you track MANIFEST in git?
20:36 mst batman: no
20:36 batman mst: So how can you tell if it's changed?
20:36 mst making each releaser check a given change once is not that big a crime
20:37 batman But manual checking will not work.
20:37 batman At least not for us who's not a machine :)
20:38 batman I wonder what would be so wrong by having MANIFEST in git...
20:38 batman Haven't thought about it for a while
20:40 batman I think the initial reason is that it's stupid to have generated files in git..?
20:40 batman A lot of the code I'm writing is autogenerated somehow...
20:44 mst manual checking has allowed me to catch a number of mistakes I otherwise might have missed
20:44 mst it's not perfect, but having the release tool -remind- you to check really helps
20:50 batman mst: Yeah. git-ship also stops in the middle.
20:51 batman It's kind of nice, but I should probably print a hint about what to check.
21:06 jberger my module can already render my mojolicious introduction \o/
21:07 jberger I guess that's not surprising since this is porting my mojo-based preprocessor to a proper plugin
21:07 jberger and that preprocessor is what built that talk
21:08 berov jberger: congratulations :)
21:31 punter joined #mojo
21:56 jberger mst: hmmm, reveal seems to be actively preventing the slabText magic from having any affect
21:56 jberger shit, perhaps that's effect
21:56 jberger oh well
22:24 Grinnz there are just so many things i want to clean up in my bot framework @_@
22:57 Grinnz joined #mojo
23:21 mattastrophe joined #mojo

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