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

IRC log for #mojo, 2017-12-22

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

All times shown according to UTC.

Time Nick Message
00:37 mohawk jberger, i'm thinking about a more general promise-ish post, blocking vs non-blocking - inspired by discussion of the re-call-over-http vs forward, but not going to cover that
00:37 mohawk as one of the 3 remaining slots?
01:02 jberger mohawk let's do one at a time :p
01:02 jberger Is the openapi post ready?
01:04 mohawk still working on it :-)
01:07 jberger https://cloud.jberger.pl/s/C1rtqAPYyHd5kTh
01:09 mohawk wahayyyy
02:15 ghenry joined #mojo
02:27 mohawk_pts joined #mojo
02:46 jberger I'm giving it just a light edit as I stitch in the few other things
02:53 jberger nothing I think you guys will mind
02:53 jberger mohawk: any notion of what the banner could/should be?
02:53 mohawk jberger, i have faith
02:53 mohawk and maybe some kind of junction yard?
02:53 mohawk a metaphor for APIs
02:54 ilbot2 joined #mojo
02:54 Topic for #mojo is now 🍩 nom nom | http://mojolicious.org | http://irclog.mojolicious.org | http://code-of-conduct.mojolicious.org
03:10 jberger mohawk: heh, I went the completely opposite way from that (aesthetically at least) ;-P
03:10 jberger actually it was kinda obvious
03:11 mohawk_pts now we're all on tenterhooks to know what it is ;-)
03:13 jberger mohawk_pts: pm-ed you, in case you didn't see that
03:13 mohawk_pts i thought you'd go with a beach ;-)
03:14 jberger RESTful after all
03:25 Leffe joined #mojo
04:04 ghenry joined #mojo
04:37 mohawk why on earth would i get a fail on is_deeply for two small, only two-deep, hashes that Data::Dumper says are identical?
04:37 mohawk dangit
04:47 preaction UTF-8 flags?
04:51 preaction specifically i had crazy things happening with stuff i read from YAML files vs perl data structures that i knew contained the same information
04:51 preaction and that turned out to be utf-8 flags
05:01 mohawk i'm about to c+p both through "od -x" and take a look
05:02 preaction Devel::Peek can also help
05:03 preaction c+p won't show perl's internal flags
05:04 mohawk_pts no, it's much much better and/or worse than that
05:05 mohawk_pts can anyone see the subtle utf-8 difference between:
05:05 mohawk_pts asyncField
05:05 mohawk_pts and:
05:05 mohawk_pts aSyncField
05:05 mohawk_pts ?
05:06 mohawk_pts i couldn't for about 40 mins
05:06 mohawk_pts the answer is: the capital vs small "S"
05:50 inokenty-w joined #mojo
06:11 Grinnz heh
06:12 Leffe joined #mojo
06:24 jberger https://twitter.com/joelaberger/status/944090870936109056
06:24 jberger batman++
06:27 jberger and btw, the analytics suggest that CandyAngel++'s article was well liked
06:28 mohawk_pts cor
06:28 mohawk_pts are those analytics publically visible?
06:30 jberger no
06:31 jberger I mean, I don't have them publically available, I'm not saying I'm necessarily against it
06:31 mohawk_pts just wondering how many readers we're getting
06:45 karjala_ joined #mojo
07:05 karjala_ joined #mojo
07:17 Vandal joined #mojo
07:20 kes joined #mojo
07:32 dod joined #mojo
07:38 dod joined #mojo
07:41 McA joined #mojo
07:46 AndrewIsh joined #mojo
08:15 kes Hi. may you get rid of 'ZERO WIDTH SPACE' wide character from template?
08:15 kes http://paste.scsys.co.uk/566214
08:18 kes it is 'mojo/menubar.html.ep' template
08:19 jamesaxl joined #mojo
08:20 trone joined #mojo
08:25 kes https://github.com/kraih/mojo/compare/master...KES777:get_rid_of_ZERO_WIDTH_SPACE?expand=1
08:25 kes May I create pull request?
08:35 geospeck joined #mojo
08:46 Leffe joined #mojo
10:12 aborazmeh joined #mojo
10:31 Leffe joined #mojo
11:15 tyldis sri: ++ for your highly productive input on Mojo::RabbitMQ::Client
11:23 good_news_everyon joined #mojo
11:23 good_news_everyon [mojo] kraih pushed 1 new commit to master: https://git.io/vb9w7
11:23 good_news_everyon mojo/master 847294b Sebastian Riedel: fix typo in template
11:23 good_news_everyon left #mojo
11:26 kes heh... and no mention about me (
11:29 sri thanks kes, it's just a typo though
11:34 CandyAngel Now for nightmares about meaningful zero width whitespace indentation :|
11:35 sri heh
11:35 sri that sounds like it could be a thing in perl6
11:41 kes_ joined #mojo
11:41 kes_ it seems not possible to render binary data with custom renderer: https://github.com/kraih/mojo/compare/master...KES777:bin_renderer?expand=1
11:42 kes_ because of: https://metacpan.org/source/SRI/Mojolicious-7.59/lib/Mojolicious/Renderer.pm#L124
11:43 kes_ how to work around that?
11:44 sri please try looking into the docs http://mojolicious.org/perldoc/Mojolicious/Guides/Rendering#Adding-a-handler-to-generate-binary-data
11:48 kes_ oh, I miss that. Thank you sri
12:46 tchaves joined #mojo
12:48 CandyAngel Not particularly useful information, but it takes about 30 minutes to install Mojolicious in an unaccelerated QEMU running Tiny Core :P
12:49 sri don't run tests?
12:52 CandyAngel Could do, but it might just be too slow
12:52 CandyAngel 6 seconds for 'perl -Mojo -e ""' to terminate :|
12:52 CandyAngel Just messing out of curiosity
13:09 Leffe joined #mojo
13:10 CandyAngel Don't suppose there is a Minion benchmarker I can run, is there?
13:16 sri examples/minion_bench.pl
13:19 CandyAngel D'oh, now I remember
13:19 CandyAngel Sorry
13:25 geospeck joined #mojo
13:29 itaipu joined #mojo
13:40 jberger Did we add status 103? https://twitter.com/olafalders/status/943846786397024257
13:53 good_news_everyon joined #mojo
13:53 good_news_everyon [mojo] kraih pushed 1 new commit to master: https://git.io/vb99R
13:53 good_news_everyon mojo/master 2ccf6ca Sebastian Riedel: there is now an RFC
13:53 good_news_everyon left #mojo
13:57 jberger sri++
14:11 trone joined #mojo
14:29 sri tyldis: does the Mojo::RabbitMQ::Client publisher actually work for you at all?
14:29 sri even a minimal example dies for me with Mojo::Reactor::Poll: I/O watcher failed: Can't call method "_read" on an undefined value at /usr/lib/perl5/vendor_perl/5.26.1/Mojo/RabbitMQ/Client.pm line 344.
14:33 sri ok, this is infuriating
14:33 sri that module is such low quality
14:34 sri there's encode_json function calls, and the function is never even imported
14:35 sri we need a new rabbitmq module
14:42 jabberwok joined #mojo
14:58 jabberwok joined #mojo
15:01 perlpilot sri: this makes me simultaneously happy and sad.   Had I known there was a Mojo::RabbitMQ::Client module a few weeks ago, I might have used it for a particular project, but now I'm happy I didn't  :)
15:02 * sri is busy filing bugs, but has doubts the maintainer will fix them
15:02 sri apparently he still uses mojolicious 6.66 or so...
15:04 coolo sri: for the record: https://github.com/os-autoinst/openQA/blob/master/lib/OpenQA/WebAPI/Plugin/AMQP.pm#L26
15:05 sri coolo: i know, and i'm flabbergasted that it somehow works
15:05 coolo it throws warnings left and right, but it does publish events
15:10 sri i think i got it to publish events too now
15:10 sri but i don't know enough about how rabbitmq routes messages yet i think
15:11 sri been using your python examplke to watch for new messages
15:12 sri now i have a python and a perl script sending messages but none show up
15:12 sri both seem to get delivered "somewhere" though
15:13 kes joined #mojo
15:19 kes Seems typo here too: https://metacpan.org/source/SRI/Mojolicious-7.59/lib/Mojolicious/Plugin/EPLRenderer.pm#L36
15:19 kes should it be: my $encoding = $options->{ encoding } instead of $renderer->encoding
15:21 kes ?
15:27 coolo sri: if you route '#' you should get everything - which is a lot on both suse and opensuse bus
15:32 sh14 joined #mojo
15:48 jabberwok left #mojo
15:54 jabberwok joined #mojo
16:15 sri this one was actually the hardest problem to track down https://github.com/inway/mojo-rabbitmq-client/issues/16
16:23 sri looks like the maintainer is trying again, lets hope things improve
16:38 geospeck joined #mojo
16:50 gryphon joined #mojo
17:05 Pyritic joined #mojo
17:08 sri neat https://github.com/inway/mojo-rabbitmq-client/commit/6837904f2ab2d1b830b70a3a0231193494c02b4a
17:08 genio sri: Do you have a few minutes to help me think this through? https://gist.github.com/genio/b6306e94cd9f9c642bfca25811ece3f8
17:09 Leffe joined #mojo
17:09 sri sure, if i can help
17:10 sri not sure i can though
17:11 * sri 's vacation officially started 11 minutes ago o/
17:11 genio \o/
17:12 genio sri: On that document, I've tried to explain in words how I understand this one single part of the UV loop process should work.
17:13 genio I need a sanity check there and I'm going to need technical sanity checks from those that know C/XS better than I do.
17:13 mohawk sri, w00t!
17:13 sri you know C/XS better than me though :p
17:14 genio I'm thinking that my main issue is still with how I was naively cleaning up Handle objects. I'm going to write that out in English-ish format in a second as well.
17:14 genio but that ties into understanding the main loop parts
17:14 ChmEarl joined #mojo
17:15 sri genio: do you actually "need" to support more than one loop?
17:16 sri i mean, the main goal is a replacement for EV, which does not
17:18 genio hm. maybe you're right. I kind of got bogged down into trying to support all of UV as-is rather than a replacement for exactly what EV provides
17:18 sri that's my super power, i always ask the question "what can you leave out and get away with?" :D
17:19 sri just a replacement for EV would seem like a smart starting point
17:20 genio So, then if I simplify and _only_ support the default loop, I only destruct on global destruction (which I think I still have to worry about forks here?)
17:20 sri you can add more features over time
17:20 sri and even then, i'm not sure you'll ever really need more than one loop
17:20 genio There are lots of razor-sharp edges in this library. If I don't design it correctly to start, I think we'll be in the same situation as we are currently in with UV a bit down the road
17:22 genio I'm not positive on how to check for a fork's global destruction or what happens if threads are involved.
17:26 geospeck joined #mojo
17:33 kes I have an issue with static files stored in DATA section
17:33 kes http://paste.scsys.co.uk/566217
17:34 kes the mojo app fall into infinite loop
17:35 kes what did I miss with encoding?
17:46 dod joined #mojo
17:48 jamesaxl joined #mojo
17:48 Grinnz it seems like the data section is being retrieved by Mojolicious::Static, and it's already decoded because Mojolicious::Lite imports utf8, but Mojolicious::Static assumes that it is bytes and adds it to a Mojo::Asset::Memory that it serves directly
17:49 Grinnz and when it tries to serve the unicode characters, utf8::downgrade fails at https://metacpan.org/source/SRI/Mojolicious-7.59/lib/Mojo/IOLoop/Stream.pm#L83
17:49 kes what is more interesting. that templates are rendered without problem:
17:49 kes http://paste.scsys.co.uk/566221
17:51 Grinnz what version of perl are you using?
17:51 kes 5.24.0
17:51 sri that seems to be a bug
17:52 Grinnz huh, i get different results between 5.24.0 and 5.26.1
17:52 sri Mojolicious::Static needs to encode DATA files before serving them
17:52 sri binary files are supposed to be base64 encoded in DATA
17:52 Grinnz oh, my 5.24.0 Mojolicious is out of date, sec...
17:53 sri i assume Grinnz is already working on a fix :)
17:53 Grinnz nope still different with up to date mojo
17:54 Grinnz but same results without the 'no utf8'
17:55 Grinnz sri: i dont know if i'm familiar enough with how Mojolicious::Static works...
17:55 sri the data_section stuff
17:56 sri i think you need to utf-8 encode all static files that are not flagged as binary
17:56 sri (from DATA sections)
17:56 Grinnz should it always be UTF-8 or have an encoding attribute?
17:56 sri which can be tested with https://github.com/kraih/mojo/blob/master/lib/Mojo/Loader.pm#L16
17:57 sri dunno, think i'd be fine with hardcoded utf-8
17:57 sri but i guess you could argue for an attribute too
18:01 geospeck joined #mojo
18:08 kes http://mojolicious.org/perldoc/Mojolicious/Guides/Rendering#Embedded-Perl
18:08 kes For all templates strict, warnings, utf8
18:10 Grinnz sri: attribute might be confusing since it only applies to non-binary data sections?
18:10 sri Grinnz: that's my thought too
18:11 Grinnz lets do hardcoded for now, we are assuming it will always be UTF-8 in the data section anyway
18:11 sri and it is true that the utf8 pragma applies to DATA sections
18:11 sri so they will usually be UTF-8
18:12 sri and it's kinda sensible to expect them to be UTF-8 when they get served
18:19 Pyritic joined #mojo
18:26 dod joined #mojo
18:29 Grinnz https://github.com/kraih/mojo/pull/1174
18:33 Lee joined #mojo
18:34 good_news_everyon joined #mojo
18:34 good_news_everyon [mojo] kraih pushed 2 new commits to master: https://git.io/vbHmH
18:34 good_news_everyon mojo/master 80060c8 Dan Book: Encode static files from data sections to UTF-8
18:34 good_news_everyon mojo/master a3e70e8 Sebastian Riedel: Merge pull request #1174 from Grinnz/static_data_encoding...
18:34 good_news_everyon left #mojo
18:36 disputin joined #mojo
18:36 sri Grinnz++
18:36 good_news_everyon joined #mojo
18:36 good_news_everyon [mojo] kraih pushed 1 new commit to master: https://git.io/vbHmh
18:36 good_news_everyon mojo/master 0334c51 Sebastian Riedel: update Changes
18:36 good_news_everyon left #mojo
18:37 Grinnz kes: tests pass with that fix for me
18:38 Grinnz kes: without the 'no utf8'
18:42 sri Grinnz: wait, why does the ->content_is match perl characters?
18:42 Grinnz sri: txt content type has charset=utf8
18:43 sri i thought it matched the raw content
18:43 sri oh
18:43 Grinnz no it matches text which is decoded
18:43 sri it comes from ->text
18:44 kes Thank you Grinnz
18:44 sri now i rmemeber adding that :)
18:45 kes Grinnz may you look into this problem with encoding?
18:45 kes https://metacpan.org/source/SRI/Mojolicious-7.59/lib/Mojolicious/Plugin/EPLRenderer.pm#L36
18:45 Grinnz what's the problem?
18:45 purl i heard the problem was you
18:45 Grinnz purl: listen to better music
18:45 purl Grinnz: huh?
18:45 kes here the {encoding} option is ignored
18:45 good_news_everyon joined #mojo
18:45 good_news_everyon [mojo] kraih pushed 2 new commits to master: https://git.io/vbHY7
18:45 good_news_everyon mojo/master 8a93e38 Graham Knop: JSON encode utf8 flagged scalars as strings...
18:45 good_news_everyon mojo/master 49c6c9a Sebastian Riedel: Merge pull request #1173 from haarg/json-utf8-flag-as-string...
18:45 good_news_everyon left #mojo
18:45 kes the renderer access encoding directly
18:46 kes I suppose it should be: $options->{ encoding } instead of $renderer->encoding
18:46 Grinnz kes: does it say somewhere you can pass encoding as an option?
18:47 kes http://mojolicious.org/perldoc/Mojolicious/Guides/Rendering#Adding-a-handler-to-generate-binary-data
18:47 Grinnz hmm
18:48 kes encoding is passed as an option to handler
18:49 good_news_everyon joined #mojo
18:49 good_news_everyon [mojo] kraih pushed 1 new commit to master: https://git.io/vbHOG
18:49 good_news_everyon mojo/master 3e03b78 Sebastian Riedel: update Changes
18:49 good_news_everyon left #mojo
18:50 Grinnz kes: do you have a test case where this doesnt work correctly?
18:51 Grinnz i think you might be right: https://metacpan.org/source/SRI/Mojolicious-7.59/lib/Mojolicious/Renderer.pm#L90
18:51 Grinnz but also, i don't know if it makes a difference
18:52 Grinnz since $options->{encoding} will always be set from the renderer attribute anyway
18:54 kes it makes difference because: The code of this plugin is a good example for learning to build new plugins
18:54 kes I think it will be not so good if plugins will ignore passed options
18:54 mohawk potentially cool: my FakePromise library (with a ->get to get either result or an exception if reject): https://github.com/graphql-perl/graphql-perl/blob/async/t/lib/GQLTest.pm#L59-L124
18:56 Grinnz up to sri if he thinks it's worth changing, i have no opinion
18:56 itaipu joined #mojo
18:58 mohawk_pts joined #mojo
19:03 sri actually, the good example argument is valid
19:10 kes and one notice in the doc, please. Add same documentation section to the Mojolicious::Static: http://mojolicious.org/perldoc/Mojolicious/Guides/Rendering#Encoding and fix text in the existing section: Templates and static stored in ...
19:10 kes *and/or
19:13 kes bye
19:30 genio I'm thinking that maybe p5p mailing list is going to be my best bet in getting a good conversation going on how to write UV properly
19:32 Grinnz unfortunately the person who is most likely to be able to help is probably least inclined to
19:47 CandyAngel sri, do you accept e-hugs?
20:00 sri sure :)
20:03 sri Grinnz: perhaps not a bad idea, maybe thr EV code has hints
20:04 Grinnz genio's already been trying that iirc
20:08 genio EV and UV have drifted so far apart since UV v1.0 that it's not viable to kind of copy-pasta EV anymore
20:08 genio tried that first :)
20:11 * CandyAngel hugs sri
20:29 * mohawk_pts quietly "yay"s copy-pasting where possible
20:29 CandyAngel So, just as an example of how infrequently I use my laptop.. only just found out wicd isn't maintained anymore :P
20:29 mohawk_pts sri, further to promises and the JS API: what do you think of Mojo::Promise->make(sub($resolve, $reject) {...})?
20:30 mohawk_pts CandyAngel, great, now i have to google wicd to know what that is
20:30 mohawk_pts hope it's sfw
20:30 CandyAngel It is
20:30 CandyAngel A connection manager thing
20:30 mohawk_pts CandyAngel, you should take it over and make it a Mojo thing
20:31 CandyAngel >.>
20:31 CandyAngel I am totally tempted to write a Mojo app for managing connections :P
20:31 mohawk_pts MAKE IT SO
20:31 purl Make it so what?
20:31 mohawk_pts Make it! So what?
20:41 CandyAngel I even typed out "wicd-curses is not working.. tempted to mojo a mojo app to replace it"
20:46 jabberwok Away Team finds an ancient artifact labeled "Singer" -- Picard to Data: "Make it sew."
20:47 CandyAngel jabberwok: <3
20:47 mohawk_pts :'(
20:47 CandyAngel That's the one I have :P
20:49 jabberwok Happiness is when you chase an issue awhile and at least find a pertinent open issue on github which you can amend before attempting a work-around. Without free software, how would we get any work done?
20:58 mohawk_pts free software: the cause of - and solution to - all of life's problems!
20:59 mohawk_pts how can this be getting 'Can't locate object method "wait" via package "Mojo::Promise"' with Mojolicious 7.59? http://www.cpantesters.org/cpan/report/6afa1c1c-e6f1-11e7-b725-f281ab008f07
21:01 Grinnz mohawk_pts: i get reported like that from srezic's smokers, it's nonsense
21:01 Grinnz reports*
21:02 mohawk_pts ahh, so an older Mojo that's reporting as a new one?
21:02 preaction you could talk to him about it, i suspect
21:02 Grinnz no, if it was an older mojo it wouldn't be able to load Mojo::Promise at all
21:06 mohawk_pts i am baffled
21:06 mohawk_pts and separately i was hoping to be able to dodge implementing switching between resolve and reject in my fake promises library
21:07 mohawk_pts but pesky gql tests actually exercise that behaviour
21:07 mohawk_pts i might even release my FakePromise instead as Promise::Tiny #TrollingNotTrolling
21:07 Grinnz switching? a promise once resolved or rejected can't change
21:07 mohawk_pts uhh, according to a+ if a catch returns a value, it's resolved again
21:08 Grinnz oh, the new one is yes
21:08 mohawk_pts unless i have quite badly misread the spec
21:08 Grinnz i thought you meant in-place
21:08 mohawk_pts well, my cheated version just mutates the one in-place
21:08 Grinnz eww
21:08 Grinnz so you basically implemented the shitty jquery promises jberger was having trouble with :P
21:09 * mohawk_pts points at the non-existent ::Tiny and also the "Fake" bit
21:09 mohawk_pts it's intended entirely for exercising generic promise-using code, like gql
21:09 mohawk_pts without depending on a real promises library
21:10 mohawk_pts although i suppose i *could* bring in EV... #trolling
21:11 mohawk_pts i defend the mutations bit here on grounds of a) lines of code; b) simplicity; c) a certain knowledge that other things won't have a handle on any promises made therewith
21:12 mohawk_pts Promise::Fake::Tiny::Dangit
21:12 Grinnz but is it simple once you have to fix something that screws up a test because it's mutating in place?
21:12 mohawk_pts that's not what's screwing up
21:12 Grinnz not *this* time
21:12 mohawk_pts it's simply a behaviour that's not implemented
21:13 mohawk_pts if you'd like to contribute a zero-deps bit of promise-harness code to replace the FakePromise linked to above, let me know ;-)
21:13 mohawk_pts (not implemented... yet, obviously)
21:14 mohawk_pts i have the fairly rock-solid assurance that if the 1364 tests in gql-js expect promises to behave a certain way, and my promises stuff with my port of their logic behaves the same, i'm in an ok place
21:20 Grinnz Mojolicious as a whole actually has less deps than Promises.pm
21:20 mohawk_pts agreed
21:21 mohawk_pts however i'm keeping it out as a dep for the present time
21:21 mohawk_pts out of probably-misguided desire to separate concerns
21:24 Grinnz having it as a test-phase-only dep wouldn't be unreasonable imo
21:25 * Grinnz <3 cpanm --notest and carton for lightening the dependency load... when people configure their dists correctly
21:25 mohawk_pts maybe in the future
21:26 mohawk_pts certainly a very interesting thought
21:26 mohawk_pts another crazy scheme i have three-quarters-formed in my head is to use (as mentioned on #toolchain) docker hub as a sort of package-manager for perl distros
21:27 mohawk_pts for super-quick assembling of perl docker images
21:27 Grinnz you're on your own there
21:27 mohawk_pts ha ha, fair enough
21:27 * dylan does something monstrously horrible with that.
21:28 mohawk_pts i only mention it because your mention of notest and carton reminded me
21:28 mohawk_pts dylan, go on?
21:29 dylan it's not a good thing to draw inspiration from
21:29 dylan but my local lib is bundled into my base image, so CI is quite fast.
21:30 mohawk_pts my concept, having toyed with a graphql-perl base image, then a mojo-plugin-gql intermediate image, then an app image is to have this:
21:30 mohawk_pts each of those is its own "thing"
21:30 mohawk_pts each "thing" has a base, a prereqs, and an output
21:31 dylan this is sounds sort of like how my dependencies work, where the input is the source code and a distro, and the output is a cpanfile.snapshot.
21:31 dylan well, cpanfile.snapshot is also the input
21:31 mohawk_pts prereqs will only get rebuilt when forced, or when the local prereqs are detected as having changed (probably with a dep on cpanfile/Makefile.PL)
21:32 mohawk_pts output layers onto prereqs, and is pushable to docker hub (unlike prereqs, which is just a local optimisation)
21:32 mohawk_pts the thing i believe i'm adding (unless i'm wrong) is the prereqs layer
21:32 mohawk_pts i need to figure a better word than "thing"
21:32 dylan IME you want as few layers as possible
21:33 mohawk_pts having a local prereqs layer saves time - to regen the output, you only need to replace your specific stuff (app or library)
21:33 mohawk_pts and the base comes from elsewhere
21:33 dylan you *can* use multi-stage containers to have images that don't include build tools, though, and that is nice
21:34 dylan yeah, I guess you're trading space for speed.
21:34 mohawk_pts so to me, the 2 extra (3 total) layers instead of one is a very acceptable price
21:34 mohawk_pts not a lot of space, either - the overlap between prereqs and the output bit is, as far as i can make out, exactly zero
21:34 Grinnz mohawk_pts: https://xkcd.com/1319/
21:34 mohawk_pts and by having the prereqs separated, that can be fully rebuilt into a single new layer, as it won't be very often
21:35 mohawk_pts Grinnz, i got it working fine with a couple of hours' work before
21:36 mohawk_pts i need to delete pushing the prereqs, and generalising the Dockerfile.prereqs to have an arg instead of hardcoding the base
21:36 mohawk_pts and add the deps bit
21:36 mohawk_pts it all works and i can iterate fast
21:36 dylan it sounds interesting, at least. :-)
21:36 mohawk_pts you'll see gql 0.23 (i think) has the dockerfiles and the Makefile.PL targets there
21:36 * mohawk_pts looks it up
21:37 mohawk_pts actually 0.22 but that was broken for 5.14 so 0.23 was soon after :-)
21:38 mohawk_pts see https://metacpan.org/source/ETJ/GraphQL-0.24 for dockerfiles, and https://metacpan.org/source/ETJ/GraphQL-0.24/Makefile.PL#L82-92 for the 11 lines of make targets
21:39 mohawk_pts similarly the mojo-plugin-gql: https://metacpan.org/source/ETJ/Mojolicious-Plugin-GraphQL-0.08
21:40 mohawk_pts you'll see how achingly similar the Dockerfiles are
21:40 mohawk_pts and as mentioned above i figured the solution
21:40 mohawk_pts but haven't implemented yet
21:41 mohawk_pts with the "docker hub as package manager" concept, i'll be able to do something like a "COPY FROM [distro's-image-from-metadata]" iteration
21:42 mohawk_pts each distro will have something metadata something like "x-docker-repo"
21:42 mohawk_pts and the repo will have the perl version and distro version appended
21:42 Grinnz the prefix is x_ not x-
21:42 mohawk_pts details tbc :-)
21:43 mohawk_pts aha, great
21:43 mohawk_pts the above needs to get spammed into a blog post which i haven't written yet
21:43 Grinnz https://metacpan.org/pod/CPAN::Meta::Spec#STRUCTURE :)
21:44 pirateFinn_ joined #mojo
21:44 Grinnz i also wonder why they chose to use kebab-case for the 'meta-spec' key, as everything else uses underscore
21:45 mohawk_pts let he who is without sin be the first to get stoned
21:45 Grinnz in certain states where it's legal
21:50 mohawk_pts Grinnz, in case it wasn't clear from the earlier chat about promises in gql - it won't dep on Promises (or Future) either
21:50 mohawk_pts instead if you want async behaviour, you pass in a PromiseCode hash-ref, with currently 3 keys: all, resolve, reject. those are code-refs you call to get back that type of promise
21:51 mohawk_pts and each promise implementation can supply such a PromiseCode
23:09 Leffe joined #mojo
23:12 sri the new star wars movie sucks
23:15 jberger sri it had some bits i liked but I'm certainly not sold on it in total. I'm right in the middle
23:16 jberger For me it definitely depends on 9, the stakes on that movie are now even more ridiculously high
23:16 jberger Grinnz I'm so glad I gave up on jquery promises and moved to the native ones and fetch
23:17 Grinnz to be fair, you weren't using jquery promises but whatever jquery had before they turned them into promises
23:17 sri the last one was building up so many things, teasing mysteries to be resolved... and then this one just killed all the interesting characters :S
23:18 jberger And indeed killed the wrong ones given ... stuff
23:18 sri in totally pointless ways
23:18 jberger sri yeah, i know which one that is
23:19 sri i wanted to know his story!
23:19 jberger Oh no I meant a different one. Yes that too
23:19 sri the other one was just stupid
23:19 Grinnz i havent seen any of the new star wars so i dont know what you're talking about but in any other scifi series, they can always get around something like that with either time travel or alternate dimensions :P
23:20 sri from start to finish
23:20 jberger After that spectacular storytelling bit too!
23:20 jberger Grinnz if star wars does that its over
23:20 Grinnz hehe
23:20 Grinnz it works when the series is *about* that stuff, but star wars hasnt been
23:20 jberger That's really the one thing they've never done
23:21 sri but, the force can bring back the dead
23:21 jberger No it can't
23:21 sri that's what vader was all about
23:21 jberger He wanted to believe that
23:22 jberger But did it work?
23:22 jberger I do want to hear Palpatine's promise to anakin again
23:22 sri *cough* joda *cough*
23:23 jberger That's my only thought of what might have happened to that "just stupid" one
23:23 jberger Meh, kinda
23:24 sri that's a different look https://www.perl.com
23:24 jberger My favorite force ghost is on The Big Bang Theory
23:24 sri i don't mind it
23:24 geospeck joined #mojo
23:24 jberger Yeah that's nice
23:24 geospeck joined #mojo
23:24 Grinnz looks like it's just perltricks.com moved over
23:25 jberger Oh oh oh I didn't see the url!
23:26 jberger I came across that on perltricks Twitter
23:26 jberger Wow!
23:33 Lee joined #mojo
23:33 itaipu joined #mojo
23:40 genio Is Netflix's Bright worth a watch?
23:44 jberger so are there any more people wanting to get in an advent post?
23:45 jberger if not I think I can ride us out the rest of the way
23:45 jberger but if someone has something in process (or done of course) I'd happy accept
23:45 jberger but if not I need to start working
23:45 jberger I'm back from my quick visit to friends
23:46 jberger those posts from CandyAngel++ and batman++ came at the perfect time

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