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

IRC log for #mojo, 2016-03-25

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

All times shown according to UTC.

Time Nick Message
00:00 bpmedley Perhaps that could be made more clear.. hrmm
00:05 bpmedley s1037989 : I pushed a verbiage change
00:08 hahainternet joined #mojo
00:09 TonyC left #mojo
00:10 s1037989 bpmedley: Love it!  Question: I've seen other tutorials (Codecademy?) that alert when you've done it correctly or incorrectly.  Does yours?  Could it?  I think that's a *very* awesome and worthwhile feature.
00:10 bpmedley Hrmm.  That would be cool.
00:10 s1037989 It would instruct users that they've succeeded or failed, *and* allow for advancing the tutorials more easily.
00:12 s1037989 Personally, I feel like that was the missing piece for me, when I first used liveperl.us.  Like...  I didn't know what was expected of me.  It felt just like a coding playground.  Codecademy is the same, but provides that feedback (and tallies badges as you progress).  Badges would likely be a good addition, too.  People love badges.  :D
00:14 s1037989 Seriously, this is truly fantastic.  This is a really, really helpful component for advancing the promotion of Perl / Mojo.  People need these interactive demos to prove to themselves that it's a worthwhile investment.
00:14 bpmedley I wrote those down into IDEAS.  Just fantastisch!
00:15 s1037989 Great!!  (I even think it would be great to link to it from mojolicious.org.  :D
00:16 s1037989 Similar to how redis.io has a "Try it" link on the main page.  That *really* helped me to adopt redis.
00:17 s1037989 I love the simple and powerful code snippet on mojolicious.org, but there's some serious extra power when I'm able to change something and see what changes and how.  "*I* did that."  It's very empowering.
00:19 sri python has pretty kick ass interactive programming tutorials http://campus.codeschool.com/courses/try-python/contents
00:20 bpmedley zomg ponies.. that is cool
00:21 s1037989 I just bought the answer to Happy Birthday.  Now I'm broke.
00:23 s1037989 I'm not a python guy, but I don't think it was a good use of my resources.
00:45 * sri still wonders if Mojo::Pg should have something to make dealing with fixtures in tests easier
00:49 Rubes joined #mojo
01:00 dvinciguerra joined #mojo
01:02 jberger that would be cool
01:03 jberger we are **just** starting to use pg
01:04 jberger we just kept hitting limitation of mysql enough to convince the ops guy that it was worth learning to deploy pg
01:08 mroy joined #mojo
01:08 sri i really love this test pattern too and would like to turn it into a real api somehow http://mojolicious.org/perldoc/Mojo/Pg#search_path
01:09 mroy bpmedley: on OS X - Safari, am not getting Hello World in the right pane. In the terminal, getting [debug] Your secret passphrase needs to be changed
01:10 mroy bpmedley re: LiveTutorial
01:10 sri perhaps something as simple as a Mojo::Pg method
01:10 bpmedley mroy : Thanks, I'm checking in Safari now
01:10 cpan_mojo Mojolicious-Plugin-AutoRoute-0.19 by KIMOTO https://metacpan.org/release/KIMOTO/Mojolicious-Plugin-AutoRoute-0.19
01:11 sri my $pg = Mojo::Pg->new(...)->temp_schema('foo'); ... undef $pg;
01:11 sri and it vanishes on DESTROY
01:12 sri wait a minute
01:12 sri has postgres this built in already? :O
01:12 sri oh no, almost though
01:13 sri pg_temp is actually a temp schema that exists for every session
01:13 sri but Mojo::Pg uses multiple sessions
01:14 bpmedley mroy : The issue is that http://hello_world.localhost:3000 works in Chrome and not Firefox / Safari.  Hrmm, I may need an alternate approach.
01:14 mroy bpmedley: okay
01:14 mroy LiveTutorial++
01:20 mroy Found the answer for the secret passphrase warning in the output: http://mojolicious.org/perldoc/Mojolicious/Guides/FAQ#What-does-Your-secret-passphrase-needs-to-be-changed-mean
01:22 mroy This gave more clarity: http://perlmaven.com/getting-started-with-mojolicious-lite  before $app->start
01:23 mroy s/before/before calling/ $app-start
01:24 sri not a particularly good article
01:25 sri when he restarts morbo with ctrl+c you notice he's not really a mojolicious user
01:27 s1037989 Haha!  That's funny.  I didn't recognize the irony in it right away.  But, of course, morbo auto-restarts on file changes, so you don't need to stop and start morbo!  :D
01:27 mroy for clarity, met for setting the secret passphrase. But, calling app->secret('passphrass') before app->start in LiveTutorial causes the app to fail with the error: Can't locate object method "secret" via package "Mojolicious::Lite" at /Volumes/RAMDisk/shm/mojo/livetutorial-master/vhost.pl
01:28 s1037989 It's now secrets.
01:28 s1037989 What's the date on that article?
01:28 sri since 2013 actually :)
01:29 s1037989 The comment in the article addresses the same issue with app->secret
01:29 mroy Oops, missed the letter 's'. Am new to this. Have been working on MCE::Shared for a while. That's done now, and now learning Mojolicious. :)
01:30 mroy Changed to app->secrets('...') and still getting [debug] Your secret passphrase needs to be changed
01:30 s1037989 You didn't miss the 's' mroy, the article is out of date.
01:30 s1037989 See the comments: app->secrets(['My extra secret passphrase.']);
01:31 s1037989 It's now secrets because it now takes an array of secrets.
01:32 mroy Oh, did not read that far, because having fun with it all. But, am glad a comment is made on the site for other readers.
01:33 s1037989 I've built Mojo::Sendgrid which is just a Mojo interface to Sendgrid's API.  How could I build a test for my module when it fully depends on a working Sendgrid API key in order to work?
01:38 sri mock server
01:39 s1037989 Meaning emulate sendgrid?
01:39 sri yes
01:39 s1037989 Thanks!!
01:41 sri http://mojolicious.org/perldoc/Mojo/UserAgent#server
01:42 s1037989 Nice!  That's slick.  I like it!  (Of course.  :)
01:43 sri it's how Test::Mojo works
01:45 mroy bpmedley: calling app->secrets(['some_secret']) before app->start in vhost.pl still has warning message "Your secret passphrase needs to be changed". Launching the app via sh runme.sh.
01:47 sri you need to change it before it is used
01:48 sri hehe, this actually makes me realize what an important security feature that warning is
01:49 sri you wouldn't even notice if you set it too late without it
01:49 mroy where should it be set in LiveTutorial? Before app->start is not working.
01:49 sri if you use the mount plugin, before that
01:50 mroy I tried calling app->secrets(['...']) before plugin and that caused the app to fail.
01:51 mroy Actually, it's working. Thanks.
01:52 mroy :( documentation for app->secrets doesn't mention to set before plugin Mount
01:52 bpmedley Moment
01:53 good_news_everyon joined #mojo
01:53 good_news_everyon [mojo] kraih pushed 1 new commit to master: https://git.io/vaheW
01:53 good_news_everyon mojo/master 9fee9a7 Sebastian Riedel: mention that secrets should be changed early
01:53 good_news_everyon left #mojo
01:55 mroy When I tried earlier, did not wrap the secret inside [ ].  app->secrets( [ 'some_secret' ] ).
01:55 mroy thanks for the extra clarity in the documentation.
01:57 sri and suddenly i see another use case for DEFAULT in Mojo::Pg :S
01:57 mroy s1037989: thanks. now know how to set secrets.
01:58 sri bulk inserts for fixtures
02:00 mroy sri: i see this often in docs and various examples by others where doing my $server = $ua->server; followed by $ua = $ua->server(Mojo::UserAgent::Server->new);
02:00 mroy is there two ua behind the scene?
02:02 Rubes joined #mojo
02:04 sri no, it's fluent interfaces
02:04 mroy was thinking that $ua->server already had Mojo::UserAgent::Server configured behind the scene.
02:04 mroy got it
02:04 sri methods return the invocant so they can be chained
02:05 sri $ua->foo->bar->baz
02:05 mroy that was helpful and understand
02:06 sri jberger: another one for the conventions section... fluent interfaces
02:06 mroy The initial $ua var got me by thinking it was a Mojo::UserAgent::Server object already.
02:10 jberger that's a good idea
02:10 asarch joined #mojo
02:14 mroy I was thinking both lines were needed which led to simulation confusion in my mind. The examples are showing the return values. I finally get the examples in the documentation.
02:15 mroy It finally clicked when seeing the example above it.  my $timeout = $ua->request_timeout; $ua = $ua->request_timeout(5);
02:17 mroy Same here. my $proxy = $ua->proxy; $ua = $ua->proxy(Mojo::UserAgent::Proxy->new);  The examples shows what is returned when fetching and setting.
02:18 mroy All this time... Not got it. :)
02:18 mroy s/Not/Now/
02:19 mroy Chaining, I understand. The return values depends on GET/SET so to speak.
02:19 mroy s/values/value/
02:24 mroy Grinnz: Have you by chance watched the Pocahontas movie? It may be helpful.
02:25 sri OMG
02:25 sri http://left-pad.io/
02:25 sri hahahaha
02:25 mroy Grinnz: There is a talking tree in the movie.
02:25 bpmedley mroy : If you pull, I think Safari, Firefox, and Chrome are working with the mount plugin.. I still need to add some url_for magick in my templates, tho..
02:29 mroy bpmedley++. Yay !!! Working. Am learning Mojolicious because of you, also Mojo::IOLoop because of you, batman++, and jberger++. Now, understand the various examples in the documentation.
02:30 bpmedley That made my day
02:35 mroy Mojo::IOLoop::ProcBackground got me started :)
02:39 Rubes joined #mojo
02:52 mroy left #mojo
03:13 inokenty-w joined #mojo
03:17 Rubes joined #mojo
03:29 noganex_ joined #mojo
03:56 Rubes joined #mojo
04:02 ncham joined #mojo
04:30 Rubes joined #mojo
04:40 deserted joined #mojo
04:58 irqq joined #mojo
04:59 Rubes joined #mojo
05:18 melo joined #mojo
05:29 cpan_mojo Mojo-Webqq-1.7.5 by SJDY https://metacpan.org/release/SJDY/Mojo-Webqq-1.7.5
05:34 cpan_mojo Mojo-Weixin-1.0.8 by SJDY https://metacpan.org/release/SJDY/Mojo-Weixin-1.0.8
05:45 Guest-quest joined #mojo
05:46 Guest-quest hi eastern hemisphere
05:47 Guest-quest a little quest
05:47 Guest-quest When $c->render(text=>...) then i want auto Content-Type: text/plain; ...
05:48 preaction format => 'txt'
05:48 Guest-quest ok
06:00 sri Grinnz_: i would still like to talk to you about the DOM::Tiny thing
06:01 sri here's the thing, i see only two possible outcomes, a) we talk and find a mutually acceptable solution, or b) things escalate to the point where we part ways permanently
06:03 * tempire hopes @Grinnz chooses A
06:03 sri me too
06:05 sri we can talk publically here, in a private channel with the rest of the core team, or just you and me in query
06:05 sri but we have to talk
07:40 dod joined #mojo
07:45 Rubes joined #mojo
07:45 dod joined #mojo
07:50 Guest-ru joined #mojo
07:52 sugar joined #mojo
08:24 trone_ joined #mojo
08:29 Vandal joined #mojo
08:50 melo joined #mojo
09:04 kaare joined #mojo
09:31 osfameron sri: Grinnz_: one minor comment -- for the template animation thing I was hacking on last year, the Mojo collections stuff was really useful along with just the DOM side of it
09:32 osfameron I don't know if that's an argument for keeping both within Mojo (or extracting both, assuming everything is amicable / well maintained / etc.)
09:32 osfameron but hope that's useful, and that you can work everything out nicely!
09:34 osfameron ah, and in fact it looks like the latest release of DOM::Tiny incorporates the collection stuff now
10:04 irqq joined #mojo
10:59 sugar joined #mojo
11:41 sivoais_ joined #mojo
11:50 kes joined #mojo
11:50 melo1 joined #mojo
11:58 sugar joined #mojo
12:21 hahainternet left #mojo
12:59 irqq_ joined #mojo
13:02 s1037989 sri: Is this the correct way to read your doc: [The] application [that] server[-]relative URLs will be processed with (http://mojolicious.org/perldoc/Mojo/UserAgent#server)
13:15 jberger [The] application server [that] relative URLs
13:18 s1037989 jberger: thanks!
13:42 dvinciguerra joined #mojo
13:55 Grinnz sri, I don't have a lot of time right now but I will discuss it with you if the accusations and rhetoric that have occurred every time can be avoided. I cannot engage with that tone of conversation, that is why I have been avoiding the topic.
13:56 Grinnz The fact is the purpose of DOM::Tiny was *both* 5.8 compatibility and the standalone format. 5.8 compatibility is not a strawman, I never claimed that was the sole reason, but it is also important. I understand that the core team doesn't believe the standalone format is a valid reason, but I do.
13:59 Grinnz So while I am amenable to renaming it Mojo::DOM58, I do not wish to be portrayed as disingenuous regarding the purpose of the module.
14:01 asarch joined #mojo
14:04 Grinnz For bug reports I have always been committed to report them upstream. It does not make sense to do otherwise.
14:04 Adura With only 3/5 stars on cpanratings, maybe it's not worth arguing over.
14:06 haarg the reason it has a 3/5 rating is because of the exact argument that is being discussed
14:19 stephan48 Wasn't there a example somewhere how to write your own app generator? Basically I want lite_app/app but with some additional things like certain templates/basic design etc.
14:21 s1037989 stephan48: Fork Mojolicious::Command::generate::app, maybe?
14:22 stephan48 thanks. I am stupid. obviously that already does what I want. I just need to extnd it. Sorry for asking yet another stupid question :)
14:23 s1037989 I'm right there with you man, if there was a stupid-question ++ I'd be in the high lead!  :D
14:23 jberger ENEEDMORECOFFEE
15:03 lluad joined #mojo
15:19 eseyman joined #mojo
15:40 sri Grinnz: that's what it looked like to me, rebranding without consulting us first is simply a slap in the face
15:40 sri and when you look at the commit history, 5.8 was an afterthought https://github.com/Grinnz/DOM-Tiny/commit/927f135111d601e084c5a50e2d806bddd5c9cefb
15:41 sri Grinnz: what do you think the core team should do?
15:49 s1037989 sri: As an outsider, just an observation: Grinnz's first commit was a boilerplate, his second was all the Mojo code (and perhaps some personal adjustments as well to make it function independently), and already his third commit was to drop the requirements to 5.8.  Indeed, that did take a week, but it was *very* early on.
15:51 sri maybe i should state my expectations
15:55 sri how i would have hoped things went down... 1) you brought up the need for 5.8 support here, 2) proposed a fork here, 3) we would discuss possible names and settle on Mojo::DOM58, 4) the fork goal would be clearly stated in the Mojo::DOM58 docs, 5) you did not claim copyright for all the code, 6) and we found a way to motivate people to send Mojo::DOM specific bug reports and patches to us
15:56 Grinnz_ Believe what you like, but it was not an afterthought, it was a process.
15:57 Grinnz_ Yes, the initial lack of communication was completely my fault and I apologize for that again. I was not familiar with the culture of forking software.
16:00 sri that's the difference between a hostile and a friendly fork
16:06 s1037989 I can certainly empathize with being "not familiar with the culture".  :(  "Hostile", I think, implies intent.  Perhaps a more correct description would be "Ignorant" fork?  :D
16:08 sri "hostile fork" is the correct term
16:08 sri commonly defined as "A hostile fork is one done unilaterally, generally without consultation or the blessing of the main project."
16:09 s1037989 https://news.ycombinator.com/item?id=5490456
16:09 s1037989 :D
16:09 sri yea, that's a great explanation
16:10 jberger as I said before, personally I found some guidance in this blog post: https://jamesdixon.wordpress.com/forking-protocol​-why-when-and-how-to-fork-an-open-source-project/
16:10 s1037989 I certainly stand corrected!  I think it should be made clear that by using this term, it implies nothing about intent.  That's not part of the definition.  I wasn't aware that "hostile fork" was a term.
16:10 jberger ergh sorry of the bad link, on sec
16:11 jberger https://jamesdixon.wordpress.com/forking-protocol-why-when-and-how-to-fork-an-open-source-project/
16:11 jberger (that's what I get for copy-pasting from irclog)
16:12 s1037989 jberger++ Great guidance!
16:13 genio I didn't know that was an actual term either.  TIL
16:14 dvinciguerra joined #mojo
16:17 Grinnz_ Despite being technically correct, the word "hostile" carries a great deal of implication and I think has contributed to the tone of previous discussion. Even knowing the proper definition it feels antagonistic. That may be appropriate for some cases but I certainly had and have no antagonistic intent.
16:20 s1037989 I can empathize with that as well, not knowing that a group of words is a term, the reaction is to consider each word individually.  The result is a very different interpretation of the original message.
16:25 cpan_mojo Mojo-Sendgrid-0.01 by SADAMS https://metacpan.org/release/SADAMS/Mojo-Sendgrid-0.01
16:27 s1037989 \o/
16:27 jberger s1037989++
16:31 sri wonder if we can work the description of hostile fork into the fork policy
16:31 mroy joined #mojo
16:31 sri either way
16:31 jberger I don't especially think you need to
16:32 jberger we lay out guidelines for forking that basically state the conditions
16:32 mroy ++s1037989. sri: hostile is a harsh word if Grinnz_ did not intent to make a hostile fork.
16:32 mroy :(
16:32 jberger mroy: unfortunate as it is, "hostile" appears to be the technical term
16:33 jberger in the same way that "hostile takeover" is a specific technical term in business
16:33 genio or just stop using the term "hostile" as it's a pretty harsh word, indeed.  regardless of the fact that it's a technical term, it's a bad one.
16:33 s1037989 Bad, especially when someone doesn't know it in a technical sense.
16:35 sri Grinnz: a possible path forward, a) DOM::Tiny gets renamed to Mojo::DOM58 and DOM::Tiny vanishes forever after a deprecation period, b) the fork goal is clearly stated (backport applying changes from Mojo::DOM, c) it is made clear that bug reports/patches not related to backporting should go to Mojo::DOM first
16:36 s1037989 sri++  Sounds simple to me!  And very fair.
16:36 Grinnz_ I can agree to that.
16:36 s1037989 \o/
16:37 sri Grinnz: oh one more, d) it is made clear which version of Mojo::DOM it is compatible to, so users know which docs apply and are aware of what security patches have been applied
16:37 s1037989 Happy Friday, everyone!  :D
16:37 sri the security topic has been a little ignored in all of this
16:37 Grinnz_ Should be doable, will have to think how to apply that.
16:39 mroy Is there a reason why Mojo::DOM cannot be a standalone? Both DOM::Tiny and Mojo::DOM are nearly identical. Am confused why Mojo::DOM cannot be a standalone. Do not know the history.
16:40 mroy Only a couple lines is more efficient in DOM::Tiny than in Mojo::DOM.
16:40 s1037989 mroy: Can you strike that question from the history of the Internets?  :D  Take it back some how?
16:40 mroy Otherwise, the code is identical. I checked them out.
16:40 genio mroy: Please don't start that conversation again.  Go through the channel log in the topic
16:40 sri mroy: http://mojolicious.org/perldoc/Mojolicious/Guides/FAQ#Why-not-split-up-Mojolicious-into-many-smaller-distributions
16:40 mroy Yikes... my bad... :)
16:41 mroy sri, folks must respect your wish here in keeping the bits together. got it.
16:41 sri if someone wants to hire me full time to work on mojolicious exclusively, we can split up the dist
16:42 s1037989 "It would only make sense if we wanted to pass ownership of a module to a new maintainer, which we already have done in the past."  What module has this been done with in the past, out of curiosity?
16:42 sri otherwise, it would mean the death of the project, simple as that
16:42 sri s1037989: Mojo::Server::FastCGI
16:42 s1037989 sri: Yeah, death of the project is *not* an option!!!
16:43 sri s1037989: and Mojolicious::Plugin::I18N
16:43 s1037989 Thanks!  I was always curious about that when I read the FAQ.  :D
16:44 mroy Thanks s1037989 and sri. Totally got it.
16:44 sri btw. mojolicious core now has the same number of lines of code as catalyst core
16:44 jberger Mojolicious::Plugin::Memorize
16:44 s1037989 jberger: Really??  That was in core??
16:45 jberger yeah
16:45 mroy Thanks @Grinnz_ for making attempts to make things right.
16:45 sri as a helper though, not the plugin itself
16:45 s1037989 Wow!  That's an interesting bit of history.
16:45 jberger it lacked the option for expiry, when I asked to add that it ended up getting spun out as it wasn't really used in core and wasn't general enough anyway
16:46 jberger yes it was just a single helper
16:46 sri but yea, every now and then we spin out parts to avoid scope creep
16:47 sri Mojo::DOM will never be an option though, since it's an integral part of the toolkit
16:47 s1037989 Most def
16:47 sri at least as long as the web is html based
16:47 s1037989 And Mojo::JSON!
16:47 mroy Makes sense.
16:47 bwf This whole discussion was very educational.  Thanks.
16:48 s1037989 Agreed!  Thanks!
16:48 sri Mojo::JSON is less safe, a miracle could happen and JSON::PP becomes good, then it might just vanish
16:49 mroy Oh Grinnz_, we're all cheering for you. I am and only wish for the talking tree in the Pocahontas movie could speak to us. :)
16:50 preaction Que que na-to-ra
16:51 mroy Am happy to see that this may work out between sri and Grinnz.
16:52 s1037989 Feel free to ignore, just wanting to learn...  What if DOM::PP existed by some other author?  Would you then have the same reaction re Mojo::DOM?  That is, what I'm trying to learn is, is Mojo::DOM so much more tightly integrated into the toolkit than Mojo::JSON?
16:54 sri JSON::PP is a core module, giving it a special status
16:55 sri someone making a better Mojo::DOM seems unlikely, that one is more about creative api design
16:55 sri we'll just adapt to new ideas
16:55 s1037989 Ah ha!  And DOM::PP, if it were core, would be the same?  Sorry for this crazy hypothetical.  I feel like people on Quora now.  ;)
16:56 sri i would prolly leave the perl community for good if that ever happened
16:57 sri but it isn't
16:57 s1037989 I don't mean if it were something new.  I mean if DOM::PP were to have existed for as long as JSON::PP.
16:57 sri this is too weird for me
16:58 s1037989 :D  I hear ya.  No worries.  /end
17:00 mroy talking tree: https://www.youtube.com/watch?v=0VkrnZ1u5Q0
17:08 sri historically, many parts of mojolicious have already been forked on cpan, and pretty much all forks have been abandoned by now
17:08 sri it's rather depressing to look at it
17:09 sri like Text::MicroTemplate, which has countless bug we fixed many years ago
17:09 sri *s
17:13 s1037989 I can't imagine needing or wanting anything but Mojo::Template
17:16 sri AnyEvent::Emitter didn't even bother with copyright or license
17:17 s1037989 Wow, that's nutty right there.
17:18 sri oh, i guess Text::MicroTemplate might actually have been illegally relicensed
17:19 sri they just added the gpl
17:20 s1037989 Well...  my eyes are opened.  I've been naive this whole time.  I had no idea this type of behavior was happening in open source.
17:21 disputin joined #mojo
17:23 s1037989 Again, I can empathize.  I can see myself behaving similarly, out of ignorance, absolutely not out of malevolence.  Is the appropriate action to contact them?  I'd be happy to do this, still looking for ways to contribute.  How do we find them all?
17:23 bpmedley s1037989 : We need perl apps to draw in more users..
17:23 sri same for Object::Simple, also illegally relicensed and recopyrighted
17:24 Adura Lawyer time.
17:24 s1037989 bpmedley: Can you elaborate?
17:24 sri kimoto is a nice guy, not sure he even realizes what he did
17:25 bpmedley Sure, one way to contribute, I feel, is to create an app that people will use.
17:25 jberger end user apps are sadly lacking
17:25 bpmedley For example, there's room for a real-time websocket based chat program written in Mojo in web space.
17:25 * jberger reminds himself to work on Galileo and/or a successor
17:25 bpmedley chat / forum .. like phpBB or whatnot
17:25 jberger bpmedley: that's convos
17:26 jberger oh forum ...
17:26 bpmedley jberger : I typed chat, and meant to type forum, or collaboration system.
17:26 s1037989 Wouldn't that mask Mojolicious?  That is, a user wouldn't even know they're using Mojolicious.
17:27 jberger s1037989: that's ok
17:27 jberger end users aren't the same a library authors
17:27 bpmedley s1037989 : No, quite the opposite, I would think.  The developer, sys admin, and dev op would certainly know.  And there could be a "Powered by Mojolicious" button.
17:27 jberger and yeah, you can add a badge for mojo's sake
17:28 jberger Galileo was written explicitly for people for whom setting up databases and installing libraries was hard
17:28 Adura Yeah, PHP adds headers, even.
17:28 sri convos had the potential
17:28 jberger those people aren't going to use Mojolicious directly in any case
17:28 sri but i think it was too hard to install
17:29 * sri is still dreaming of a convos that doesn't require a database
17:29 Adura I was going to try it, but then it required some... DB thing.
17:29 jberger sri: yeah, but batman has plans :P
17:29 jberger Adura: redis
17:29 s1037989 Regarding apps, like convos, it seems like it would be most / best adopted by end users as a cloud service.  That is, plenty of people would use Convos if they could just click to sign up.  Doing so, how would such an app benefit Mojolicious?
17:29 Adura That thing, yeah.
17:29 bpmedley s1037989 : By drawing in developers and sys admins.
17:29 jberger s1037989: that was originally part of the convos plans, but it is hard to administer that with irc
17:30 jberger since connections are per user but then all appear to come from the same host
17:30 bpmedley People have a tendency to go with what they know.  I've read several people who went with php because they installed phpBB (or similar).
17:30 haarg sri: just curious what you think is currently not good about JSON::PP.  is it just the speed?
17:30 bpmedley I feel quite a few apps are being written, they just take a year or so get good (imo).
17:30 sri haarg: speed and i think many small things are still borked, like inf/nan, number detection...
17:31 s1037989 I poked batman and offered to host a free Convos service.  Seems to me like that should be wildly popular.  Heck, I haven't been using IRC at all until batman gave me an account on dogfood!  Now it's so much easier to connect to and use IRC.
17:32 s1037989 I wrote a cloud app: http://be.gl  It needs a lot of features.  To summarize: it's a way to find someone's location quickly and easily.  Two people on be.gl and both appear as points on a map.  Click to navigate to.
17:32 sri haarg: all the things that god fixed in Cpanel::JSON::XS basically
17:32 bpmedley s1037989++
17:32 sri s/d/t/
17:33 haarg reini got quite a promotion
17:35 bpmedley http://blogs.perl.org/users/yuki_kimoto/2016/03/drop-v58-support-in-gitprep-20.html <-- Sweet!!  GitPrep will include latest Mojo.
17:36 odc hm :)
17:44 sri https://pbs.twimg.com/media/CeZu1YjUsAEfhcP.jpg
17:46 s1037989 That's just an image.  Where can I get the actual book?
18:09 dod joined #mojo
18:26 sri phoenix moves in an interesting direction https://dockyard.com/blog/2016/03/25/what-makes-phoenix-presence-special-sneak-peek
18:28 preaction how many times can they say "cutting edge CS research"?
18:29 sri hahaha
18:29 sri yea, that does sound a little pretentious
18:29 odc sri, i want a CRDT datastore in mojo
18:33 PryMar56 joined #mojo
18:37 eseyman joined #mojo
18:40 sri at this point i think there's just one person creating accounts to vote no http://cpanratings.perl.org/dist/DOM-Tiny#12742
18:40 sri since nobody has said a word on irc
18:41 jberger the rating hit reddit today
18:41 jberger I'd guess that's where new votes are coming from
18:41 sri omg
18:44 odc >Your vote will be counted within a couple of hours.
18:44 odc wtf
18:45 sri https://www.reddit.com/r/perl/comments/4bvdny/die_if_fork_eq_hostile/
18:49 sri and now i'm going to be a total buzzkill
18:52 preaction eh. my respect for the /r/perl is practically nonexistent, so i wouldn't lend much credence to their rabble-rousing and derailment
18:52 jberger actually I don't think the overall tone there is that bad for us
18:53 sri updated http://cpanratings.perl.org/dist/DOM-Tiny#12742
18:54 preaction wow. 10/19 still found your edited rating acceptable. that's not a problem at all...
18:55 jberger sri++
18:57 s1037989 \o/  Yay!
18:57 mroy sri++. Grinnz++.
18:57 mroy Grinnz_++
18:57 mroy jberger++
18:57 mroy everybody++
19:06 nicomen would it be possible (and useful) to let Dom::Tiny be a shim for Mojo::DOM58) for backwards compatibility? I am just having the npm debacle in mind, and thinking out loud. I guess this is more of a general question in how to nicely deprecate entire namespaces.
19:06 bwf http://thenicestplaceontheinter.net/
19:06 sri nicomen: i think there will just be a deprecation period
19:08 sri what i find interesting about the reddit thread is that people only talk about the stand-alone aspect, like it's important
19:09 sri because LWP magically turned into a masterpiece after getting split into countless dists?
19:10 genio Why would anyone downvote Tom's review though?
19:10 sri that was me, to make a point :)
19:11 genio ugh.
19:11 sri up and downvotes are anonymous, they do not add any value
19:12 sri in fact, i randomly up and downvoted stuff on the cpanratings frontpage
19:12 genio Well, you're not helping the problem by doing that.
19:12 sri it's just meaningless
19:12 * genio goes away from IRC for a while. :(
19:13 sri anyone can make a dozen fake accounts and downvote anything anonymously
19:13 mroy if meaningless, why do it sri. am grounding myself from making Mojo::IOLoop::HoboCall for some time. :(
19:13 mroy bye
19:13 mroy left #mojo
19:13 * odc stares at genio
19:14 sri Oo
19:14 sri so i'm the bad buy because i've outed myself
19:14 sri you folks make no sense
19:14 sri hate the system
19:14 jberger everyone, please, just calm down
19:14 nicomen I really understand that "do not wnat all of mojolicious" _emotional_ argument, specially when already using a different framework. However, I also don't care, and use Mojo::DOM, Mojo::Test and others in our Catalyst-based system. So if one could focus on making it more acceptable for people to use "the entire Mojolicious framework" even if just wanting a subset of it, I think the chance of getting ...
19:14 nicomen ... forks, hostile or not, is considerably lowered.
19:15 jberger nicomen: I do try to make that point and I make modules that help people do that
19:16 jberger I hope that opinion bubbles up through the emotional argument
19:16 nicomen jberger: I know you do, I think it's great that you always mention that fact ;)
19:16 sri maybe some of you don't know the context https://github.com/CPAN-API/metacpan-web/issues/1653
19:16 jberger I think heavy frameworks have so poisoned the water for that argument that its going to take a while to get that message across
19:16 sri i've gone through the proper channels to make things better
19:17 mroy joined #mojo
19:17 sri to me cpanratings is just a joke
19:17 jberger there was good discussion around that metacpan issue, I hope the conversation continues
19:17 jberger sometimes things need a little while to breath
19:18 jberger +e
19:19 mroy I respect your wish for keeping the bits together. That isn't a problem. I'm not sure about contributing free time to make something promoting Mojolicious when the author does meaningless things to others. That's all.
19:20 meredith i feel like a lot of resistance to using mojolicious in existing projects is just inexplicable emotional saltiness from years ago
19:20 jberger mroy: you missed the discussion on CPANRatings a month or so ago
19:20 meredith but that may be because i just had to "what's the complaint?" someone, _again_.
19:20 jberger that was a different (and now related) issue
19:20 jberger mroy: https://github.com/CPAN-API/metacpan-web/issues/1653
19:24 jberger meredith: yeah, there is some of that, and we are making progress
19:24 sri mroy: you're actually proving my point, you consider a No vote to be a personal attack, giving it a lot of weight, when in fact anyone can create as many fake accounts as they like and manipulate the votes in any direction
19:24 sri cpanratings is a bullying tool
19:25 sri most of the time ratings and votes are anonymous
19:26 sri trolls have even impersonated people in the past
19:29 sri when i got upset yesterday about no votes that was because someone made enough accounts to almost get my rating hidden (which happens when there's 3 times as many no than yes votes i believe)
19:32 sri mroy: i realize we prolly won't get along in the future, but just wanted you to know there's more context, there always is
19:42 sri perhaps it is better never to admit to anything publically
19:42 sri personally, i used to value honestly
19:42 sri s/l//
19:43 sri like when oalders got upset when i told him about the metacpan vote manipulation bot
19:44 sri in retrospect, i was totally right to do that, as illustrated by the cpanratings issue
19:44 sri these things tend to get ignored until there's an exploit
19:46 sri so, maybe i will write a cpanratings manipulation bot or maybe i won't, you'll never find out now! ;p
19:50 s1037989 Creating a new Mojo-based cpan ratings system would be fairly trivial right?  Is that an app worth building??
19:50 genio I hope you never do that.
19:51 s1037989 LOL!  How come?
19:51 genio not you
19:51 sri one of the biggest problems with cpanratings is that it's written with a very old framework only like 3 people know how to use
19:51 s1037989 genio: Oh, you were talking to sri.  LOL!  :D
19:51 sri genio: now you'll never know ;p
19:52 * sri laughs manically in the shadows
19:53 Trelane don't we just need a 'cpan.iusethis.com'
19:54 jberger we did this all before, but to say it again, yes I know that the metacpan ++ system isn't perfect, but at least it is only a ++ and no --
19:55 sri jberger: after the vote manipulation thing it got imporved to prevent large scale manipulation
19:55 jberger yeah
19:55 jberger but it can't be bullying
19:55 sri yea
19:56 jberger there can be a fear for staleness, like how File::Slurp still has a lot of ++ even though there are better modules for that now
19:56 jberger but the staleness isn't a form of long term abuse, like critiques of infancy modules
19:57 sri i always thought the social aspect of metacpan could solve that, like no people you respect gave it a ++
19:57 sri maybe even recommend related modules
19:57 jberger I do look at who ++es things
19:57 sri or count people that removed their ++ and gave something else a ++ instead :)
19:57 jberger but that doesn't help a newbie who wouldn't know who to trust
19:58 nicomen jberger: many ++-es can still be added although by baby-perlers
19:58 jberger nicomen: but in practice I'd guess that they aren't a major component of voters
19:58 nicomen so should need some kind of weighting
19:58 sri but yea, no bullying is the most important aspect imo
19:58 nicomen jberger: I can't say for sure really
19:59 jberger and even if they did, it isn't bullying in the way that a newcomer leaving a negative review would be
19:59 nicomen I guess a stack-overflow-ish way of rating would be nice
19:59 jberger SO rating are terrible
19:59 jberger part of why I left
19:59 nicomen what?
19:59 jberger fastest gun syndrome, drive by downvoters
19:59 sri if i was really really malicious, i would make a bot that leaves nasty reviews for everyone uploading their first module to cpan
19:59 jberger ++ if you like it, keep your mouth shut if you don't
20:00 jberger generally the cream rises to the top
20:00 jberger sri: but you aren't
20:00 sri the problem here is that it's possible to do that
20:00 jberger indeed
20:00 sri any hardcore python fan could do that for lulz
20:01 jberger icymi: http://blogs.perl.org/users/sawyer_x/2011/07/sinatra-loves-dancer.html
20:02 sri you may hate me for pointing these things out openly, but i'm not the one using them for nefarious purposes, and at some point someone will
20:02 jberger lets keep hating people out of the air
20:03 jberger it isn't pleasant to consider how systems may fail
20:03 jberger think about the Tay bot (hehe) from *hehe* just (hahaha) yesterday
20:04 sri that's just how it is, the messenger always gets shot
20:04 Trelane One of the thing I like about iusethis is that there's only
20:04 Trelane "I use this"
20:04 Trelane no --
20:04 jberger Trelane: same as metacpan ++ (which is basically how I treat it, i use this)
20:04 sri i often wish cpan had download stats
20:05 Trelane I think everyone should make a list of their favourite twenty five modules every year
20:05 Trelane And possibly write articles about them
20:05 Trelane worked for me
20:05 nicomen mstpan is not so bad imho ;)
20:05 nicomen (I tend to point baby-perlers there)
20:08 jberger Trelane++ I <3 the advent calendars
20:09 PopeFelix Where do you go to ++ a thing on metacpan?
20:10 PopeFelix now that you mention it, I want to go and ++ all the modules I use. :)
20:10 nicomen http://metacpan.org/pod/Mojolicious
20:10 nicomen Sebastian Riedel /  Mojolicious-6.57 < HERE > / Mojolicious
20:10 PopeFelix I see who's ++'d it, but I don't see how I can ++ it myself.
20:10 PopeFelix oh!
20:11 PopeFelix That's what that's for!
20:11 nicomen click on it ;)
20:11 nicomen you might end up being no. 300 ;)
20:11 PopeFelix that's me!
20:11 jberger PopeFelix++
20:11 PopeFelix jberger++
20:11 PopeFelix reciprocity is polite. ;)
20:12 * jberger wishes we had a karma bot, thinks of purl, weeps
20:12 sri 🍻🎊🎉
20:16 s1037989 What happened to Purl??
20:17 jberger disappeared
20:17 s1037989 :/  What's it take to get it back?
20:17 preaction hachi
20:17 jberger the owner I'd assume
20:17 sri started a new life somewhere else
20:18 s1037989 Anyone know the code base?  Is it accessible somewhere?
20:18 jberger it was just an infobot
20:18 jberger the fun was in all its data
20:18 mroy am glad on being able to see when I ++ Mojolicious on metacpan.org. That was back in Dec 4, 2014.
20:18 mroy :)
20:19 jberger mroy: that is a cool feature
20:19 s1037989 I see.  So just turning on a new infobot wouldn't be the same.  And we'd have to hunt down the owner (hachi) to get the data?
20:21 genio Is there a way to un-++ something on metacpan?  accidentally clicking on the wrong thing--
20:22 genio nevermind.  you just click on the blue ++ to remove your ++
20:22 jberger yeah
20:22 jberger I was just gonna say
20:26 genio ++-ing something you maintain isn't exactly useful :)
20:27 sri you have to though if you want it as a favorite in your profile
20:30 mroy today, ++ Mojo::IOLoop::ForkCall and gave the first ++ to Mojo::IOLoop::ProcBackground. Also, learned from Mojo::IOLoop::ReadWriteFork. These modules work as described. These were helpful to me for when I write Mojo::IOLoop::HoboCall.
20:31 nicomen ;)
20:33 mroy I even tried to make Mojo::IOLoop::ForkCall reliable on Windows. But, there is a bug in Perl itself and described in the issue.
21:02 disputin joined #mojo
21:11 sri so, are there any cool fixture modules in other languages worth stealing from?
21:18 * jberger tries to grok json_object_aggr
21:25 dvinciguerra joined #mojo
21:27 jberger well with only that info you could have figured out why I couldn't grok it
21:28 jberger its json_object_agg
21:28 * jberger headdesk
21:34 mroy left #mojo
21:45 sri i guess the fact that i'm still burned out makes me a drama magnet
21:46 sugar joined #mojo
21:48 sri hard to just vanish and recuperate when people bring up legal issues and the like :S
21:53 nicomen sri: Karwoche is also called stille Woche, maybe spend it relaxing it instead ;)
21:53 jberger sri: when you read out a json-encoded value is there a way for Mojo::Pg to automagically decode that?
21:54 sri http://mojolicious.org/perldoc/Mojo/Pg/Database#query
21:57 jberger ah expand, nice
21:57 jberger dim bells ring
22:29 sugar joined #mojo
22:32 sri i wonder how to add json support for notifications in Mojo::Pg
22:33 sri think generally it's just what you want
22:34 sri no elegant way though, notifications are just strings without type information
22:36 jberger in the websocket handlers we tell it that we expect json
22:36 jberger essentially
22:39 sri ok, i guess for sending it's easy $pg->pubsub->notify({json => ...})
22:39 sri but receiving not so much
22:40 sri $pg->pubsub->listen(foo => sub {...}) doesn't translate well to something with a json arg
22:44 sri somehow that channel needs to get flagged for json
22:44 sri hmm
22:44 sri i guess even ->notify({json => ...}) makes not as much sense
22:44 sri you flag the channel
22:45 sri it's not all or nothing, like websockets
22:45 sri you have channel names
22:47 sri oh, this is neat too https://blog.andyet.com/2015/04/06/postgres-pubsub-with-json/
22:47 sri just kinda related
22:50 sri guess i could just make it $pg->pubsub->json('foo')->json('bar')->listen(foo => sub {...});
22:51 jberger So an object-global flag
22:51 jberger Nice
22:51 sri yes, you flag a channel name and it encodes/decodes all notifications
22:52 jberger Me likey
22:52 sri is there a use case for unflagging a channel?
22:54 jberger If so would unflagging at unsubscribe be enough?
22:56 sri i guess $pg->pubsub->not_json('foo') or so would work if there is a use case
22:58 sri also wondering if there's a use case for other serializers than json
22:58 sri seems silly though, considering the advantages with postgres native json support
23:10 sri https://gist.github.com/anonymous/200b3b2a0514957ba6c4
23:10 sri basically what i had in mind
23:13 sri actually, i guess i have to do eval { from_json $payload}
23:13 sri since you wouldn't want it to die there
23:22 sri not entirely sure if the api is right
23:22 sri but can't really think of something better
23:23 batman joined #mojo
23:34 sri hmm, most modules i've found seem to just have a global flag
23:34 sri and i've also looked into redis pubsub
23:34 sri most default to using json, and have a flag to set all channels to "raw"
23:37 sri or they just let the user handle encoding/decoding

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