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

IRC log for #mojo, 2015-03-11

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

All times shown according to UTC.

Time Nick Message
00:11 dmanto joined #mojo
00:12 dmanto hi
00:12 purl bonjour, dmanto.
00:13 dmanto have a question about Mojo::Pg
00:13 bpmedley dmanto: Just ask away
00:13 dmanto there is no "no-blocking" notify, is that right?
00:14 dmanto i mean
00:16 dmanto $c->pb->pubsub->notify(mychannel => 'blabla'); works fine, but is blocking
00:16 dmanto i mean, fast but blocking
00:17 dmanto $c->pb->pubsub->notify(mychannel => 'blabla', sub {}); is not possible right?
00:18 sri dmanto: http://mojolicio.us/perldoc/Mojo/Pg#DESCRIPTION
00:19 Averna joined #mojo
00:24 dmanto sri: well in the case of query its very clear, you can use the "non blocking" version and allow other operations on the Mojo::IOLoop to be performed
00:24 dmanto my question is specifically about notify
00:25 sri all I/O is blocking, there isn't really a point
00:25 dmanto i mean i know its fast, specially on a local connection
00:25 dmanto ahhh ok
00:26 dmanto so for notify you mean it doesnt make much sense
00:26 sri yes
00:27 dmanto ok
00:27 sri if you really really wanted to there's "select pg_notify(?, ?)", but it makes no sense
00:27 absolut_todd joined #mojo
00:27 sri it's almost certainly slower actually
00:27 dmanto oh really
00:28 dmanto i have a version with redis2
00:28 dmanto sorry mojo::redis2
00:28 dmanto and the publish you can use non-blocking
00:28 dmanto sorry i mean in the publish method
00:29 sri it does i/o non-blocking too
00:29 dmanto you mean redis2?
00:29 sri yes
00:29 dmanto yes you are right
00:29 sri not that i expect it to make much of a difference
00:29 dmanto i guess for a local connection you are right
00:30 sri non-blocking operations are good for coping with latency, for quick operations like that i don't see where the latency will come from
00:30 dmanto well
00:30 dmanto the network for sure
00:31 sri if your connection to the database is bad, you're screwed anyway :)
00:31 dmanto ahah yes cannot argue with that
00:31 dmanto haha so far is local anyway
00:33 dmanto i am receiving like many many orders for update in just one post
00:33 dmanto like a couple hundreds could be
00:33 dmanto so i guess i should not block the controller with that
00:34 dmanto works perfect with Pg and Redis2 and Mojo::IOLoop delay
00:34 dmanto very very nice
00:34 dmanto i just thought of get rid of the redis part
00:35 dmanto Mojo::IOLoop is something amazing really
00:35 dmanto i mean not very easy to understand at first
00:38 dmanto sri: thanks you very much for your help
00:38 dmanto dinner time here
00:40 sri you could let a job queue handle tasks that take too long
00:41 mattastrophe joined #mojo
00:41 sri coincidentally... http://mojolicio.us/perldoc/Minion
00:45 marmez left #mojo
00:49 sri hmm, guess i could actually make ->notify() a little bit faster
00:49 cpan_mojo WWW-Lipsum 1.001011 by Zoffix Znet - http://metacpan.org/release/ZOFFIX/WWW-Lipsum-1.001011 (depends on Mojolicious)
00:50 sri from 14900/s to 16900/s
00:50 sri at the cost of one additional line of code
00:54 asarch joined #mojo
00:57 sri wow
00:57 sri "NOTIFY foo, 'bar'" is *a lot* faster than "select pg_notify('foo', 'bar')"
00:58 sri jumps up to 27000/s
00:58 firnsy oO
00:58 sri guess that might be worth a little ugly code :o
01:02 sri 4 additional lines of not so nice code though
01:09 sri Grinnz_: so much for your pg_notify() vote ;p
01:13 Grinnz sri, heh, oh well
01:23 dmanto hi
01:23 purl what's up, dmanto.
01:24 dmanto so now you can have like 15k notifys/sec
01:24 Grinnz well, if you're insane, sure
01:24 dmanto ahah
01:24 dmanto :)
01:27 sri actually, 27k with the next release ;p
01:28 * Grinnz wonders what google's searches/second averages at
01:28 sri https://github.com/kraih/mojo-pg/commit/eff7fb04aa8cc5ebf776ef4528830397f0748538
01:29 dmanto so it doesnt make sense to go no blocking for a local connection, at least for a couple hundred notifys per econd
01:29 sri not pretty, but what the hell... if we have a ->notify() it might as well use the fastest option available
01:30 sri actually... without a payload i get 28k :)
01:31 Grinnz lol
01:31 Grinnz send messages as the channel names... web scale!
01:32 Grinnz did your benchmark include the quote_identifier overhead? (not that it's probably much different from quoting the parameter)
01:33 dmanto thouhgt that you deprecated "do"
01:38 * tempire prances
01:54 dmanto left #mojo
02:23 klapperl joined #mojo
02:32 hshong joined #mojo
02:37 Adurah joined #mojo
02:53 hshong joined #mojo
03:19 hshong left #mojo
03:20 hshong joined #mojo
03:24 noganex joined #mojo
03:47 inokenty-w joined #mojo
04:14 meshl joined #mojo
04:28 absolut_todd joined #mojo
04:55 cpan_mojo Mojo-Pg 1.13 by Sebastian Riedel - http://metacpan.org/release/SRI/Mojo-Pg-1.13
04:57 Adurah Only 11.87 more versions until funny.
05:02 marty_ joined #mojo
05:03 D4RK-PH0ENiX joined #mojo
05:05 Grinnz Mojo::Pg 13?
05:05 Grinnz oh.
05:07 d4rkie joined #mojo
06:01 cpan_mojo Mojolicious-Command-generate-lexicon 0.9931 by Sergey Zasenko - http://metacpan.org/release/UNDEF/Mojolicious-Command-generate-lexicon-0.9931
06:23 Adura joined #mojo
06:24 Adurah joined #mojo
06:28 kaare joined #mojo
06:31 marmez joined #mojo
06:39 dod joined #mojo
06:39 melo joined #mojo
06:49 dotan joined #mojo
07:14 kaare joined #mojo
08:04 bpmedley joined #mojo
08:09 eseyman joined #mojo
08:27 reneeb joined #mojo
09:43 niczero joined #mojo
09:56 Flying_Squirrel joined #mojo
10:51 amon joined #mojo
12:19 riche joined #mojo
13:01 ver joined #mojo
13:23 gryphon joined #mojo
13:54 marty joined #mojo
14:16 RelatingData joined #mojo
14:55 memowe joined #mojo
14:55 bramirez joined #mojo
14:55 dotan joined #mojo
14:55 dod joined #mojo
14:55 kwa joined #mojo
14:55 fhelmberger joined #mojo
14:55 Adura joined #mojo
14:55 marmez joined #mojo
14:55 absolut_todd joined #mojo
14:55 bzero joined #mojo
14:55 ashimema joined #mojo
14:55 hernan604 joined #mojo
14:55 mst joined #mojo
14:55 crab joined #mojo
14:55 avenj joined #mojo
14:55 jamesw joined #mojo
14:55 hahainternet joined #mojo
14:55 legz joined #mojo
14:55 tomboh joined #mojo
14:55 diegok joined #mojo
14:55 Rallias joined #mojo
14:55 elik joined #mojo
14:55 preaction joined #mojo
14:55 mattp joined #mojo
14:55 charsbar joined #mojo
14:55 bobkare joined #mojo
14:55 sivoais joined #mojo
14:55 mrEriksson joined #mojo
14:55 Snelius joined #mojo
14:55 jbob joined #mojo
14:55 oliver joined #mojo
14:55 stryx` joined #mojo
14:55 augensalat joined #mojo
14:55 tinita joined #mojo
14:55 jberger joined #mojo
14:55 ryozi joined #mojo
14:55 Trelane joined #mojo
14:55 xdg joined #mojo
14:55 oetiker joined #mojo
14:55 stephan joined #mojo
14:55 Dandre joined #mojo
14:55 jkramer joined #mojo
14:55 jnbek joined #mojo
14:55 al joined #mojo
14:55 Lee joined #mojo
14:55 Kundun joined #mojo
14:55 Bender joined #mojo
14:55 gabiruh- joined #mojo
14:56 zackiv31 joined #mojo
14:56 mattastrophe joined #mojo
14:56 bwf joined #mojo
14:56 McA joined #mojo
14:56 meshl joined #mojo
14:56 Kripton joined #mojo
14:56 trone joined #mojo
14:56 bowtie joined #mojo
14:56 jzawodn joined #mojo
14:56 cfedde joined #mojo
14:56 caeles joined #mojo
14:56 dexteruk joined #mojo
14:56 salva joined #mojo
14:56 Zx3 joined #mojo
14:56 mikegrb joined #mojo
14:56 jwang joined #mojo
14:57 RelatingData joined #mojo
14:57 tencendur joined #mojo
14:57 martin joined #mojo
14:57 neilhwatson joined #mojo
14:57 Vandal joined #mojo
14:57 AndrewIsh joined #mojo
14:57 melo joined #mojo
14:57 noganex joined #mojo
14:57 klapperl joined #mojo
14:57 jabberwok joined #mojo
14:57 csson joined #mojo
14:57 alnewkirk joined #mojo
14:57 Grinnz joined #mojo
14:57 sri joined #mojo
14:57 vytas joined #mojo
14:57 janus joined #mojo
14:57 denny joined #mojo
14:57 KindOne joined #mojo
14:57 yusukebe joined #mojo
14:57 ssm joined #mojo
14:57 throughnothing joined #mojo
14:57 da5id joined #mojo
14:57 mtths joined #mojo
14:57 Foxcool joined #mojo
14:57 skaji joined #mojo
14:57 bjakubski joined #mojo
14:57 lupi joined #mojo
14:57 genio joined #mojo
14:57 panzana` joined #mojo
14:57 theo joined #mojo
14:57 Jonis joined #mojo
14:57 robinsmidsrod joined #mojo
14:57 howitdo joined #mojo
14:57 foristh joined #mojo
14:57 marcusr joined #mojo
14:57 sawtooth joined #mojo
14:57 Grinnz_ joined #mojo
14:57 allison joined #mojo
14:57 bayashi joined #mojo
14:57 romel joined #mojo
14:57 dustinm joined #mojo
14:57 abracadaniel joined #mojo
14:57 shadowpaste joined #mojo
14:57 HtbaaPi joined #mojo
14:57 avkhozov_ joined #mojo
14:57 rwp joined #mojo
14:57 Nemix joined #mojo
14:57 tianon joined #mojo
14:57 inokenty joined #mojo
14:57 sjn joined #mojo
14:57 Mikey joined #mojo
14:57 upasana_ joined #mojo
14:57 firnsy joined #mojo
14:57 btyler joined #mojo
14:57 stokachu joined #mojo
14:57 batman joined #mojo
14:57 kmx joined #mojo
14:57 espen joined #mojo
14:57 pink_mist joined #mojo
14:57 bjoernfan joined #mojo
14:57 murre joined #mojo
14:57 michael joined #mojo
14:57 s1037989 joined #mojo
14:57 cpan_mojo joined #mojo
14:57 DaTa joined #mojo
14:57 nicomen joined #mojo
14:57 salparadise joined #mojo
14:57 nicomen1 joined #mojo
14:57 mudler joined #mojo
14:57 omega joined #mojo
14:57 lestrrat joined #mojo
14:57 mst_ joined #mojo
14:57 Adurah joined #mojo
14:57 fhelmber_ joined #mojo
14:57 Grinnz_ welp
14:58 marmez left #mojo
14:58 marmez joined #mojo
15:00 good_news_everyon joined #mojo
15:00 good_news_everyon [mojo] kraih pushed 2 new commits to master: http://git.io/pVc5
15:00 good_news_everyon mojo/master 8bf1a5d Dan Book: use true/false functions instead of variables to allow monkey-patched Mojo::JSON
15:00 good_news_everyon mojo/master b8e8cdf Sebastian Riedel: Merge pull request #758 from Grinnz/json_bools...
15:00 good_news_everyon left #mojo
15:00 jberger aahh
15:01 Lee hurah!
15:01 d4rkie joined #mojo
15:01 D4RK-PH0ENiX joined #mojo
15:05 good_news_everyon joined #mojo
15:05 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/pVlA
15:05 good_news_everyon mojo/master 4f7e908 Sebastian Riedel: update Changes
15:05 good_news_everyon left #mojo
15:07 Topic for #mojo is now 🍻 cheers | http://mojolicio.us | http://irclog.perlgeek.de/mojo/today
15:07 mst ha, bender came through with his +o intact here
15:07 mst sweet
15:08 jberger Bender++
15:10 Grinnz_ mst: did you just update the topic only to add a trailing space :P
15:10 kaare joined #mojo
15:10 mst Grinnz_: post netsplat resync
15:11 mst done via "/topic <tab><enter>" in irssi
15:11 mst it's a blunt instrument but it makes sure the rest of the servers have it again
15:11 Grinnz_ which adds a trailing space because :irssi: and :weechat:
15:14 Topic for #mojo is now 🍻 cheers | http://mojolicio.us | http://irclog.perlgeek.de/mojo/today
15:15 asarch joined #mojo
15:23 mst got to say, I don't really worry about whether the topic has trailing spaces or not, it's a fixed length string buffer
15:29 Grinnz_ i care because reasons!
15:29 jberger sri: clearly I can copypasta it, but before I do I'm going to ask, any opinion on making Mojo::Util::_global_destruction a public function?
15:29 Grinnz_ jberger: maybe a concern that it only works on 5.14+?
15:29 Grinnz_ that could be documented, of course
15:30 jberger I was just going to say that
15:32 jberger ForkCall already has one <5.14 warning on it: https://github.com/jberger/Mojo-IOLoop-ForkCall/blob/master/lib/Mojo/IOLoop/ForkCall.pm#L285-L287
15:32 jberger that was a fun bug to figure out
15:32 Grinnz_ heh
15:33 Grinnz_ yay legacy versions of things!
15:33 jberger https://github.com/jberger/Mojo-IOLoop-ForkCall/blob/master/t/functional.t#L27-L35
15:36 riche joined #mojo
15:37 sri yea, it would be public if it wasn't for the 5.14 requirement
15:37 sri maybe once mojolicious depends on 5.14
15:38 jberger k, until then I'm just going to copy it
15:38 mst jberger: Devel::GlobalDestruction is the public version of it
15:39 mst sri's is a cut down one that doesn't work on older perls
15:39 Anon021 joined #mojo
15:40 sri it's an xs dep though
15:40 mst no it isn't
15:40 purl oh yes it is!
15:41 mst https://api.metacpan.org/source/HAARG/Devel-GlobalDestruction-0.13/lib/Devel/GlobalDestruction.pm
15:41 mst the XS is 100% optional
15:41 mst otherwise Moo couldn't depend on it
15:42 sri how odd, i could swear it used to require xs
15:42 mst it did, then I had it fixed. that's why I recommended you look at it when implementing Mojo's.
15:43 mst because Mojo's is basically the first half of the pure perl implementation
15:43 mst then not the <5.14 half of the pure perl
15:43 mst and that struck me as silly
15:43 mst I assumed you were breaking <5.14 intentionally rather than just not bothering to listen to me :P
15:44 sri well, we don't specifically support anything below 5.18
15:45 jberger does Sub::Exporter::Progressive by you anything?
15:45 jberger buy
15:45 mst right, so it may not be worth stealing the other half
15:45 sri and this is just cosmetics, so i think we won't support this either
15:45 mst I just wanted to make sure you were intentionally not stealing it :)
15:46 sri now we are intentionally not stealing it ;p
15:46 mst jberger: what do you mean?
15:49 jberger from a perspective of minimizing dependencies (and I don't want to open that discussion, that's different), bringing in a module that provides one function and then it bringing in a module just to export the one function
15:49 jberger seems a little silly
15:49 mst jberger: Sub::Exporter::Progressive is what we port things that used to use Sub::Exporter to
15:50 mst it specifically exists to be used to minimize dependencies
15:50 mst I thought the Sub::Exporter::Progressive docs covered this
15:50 jberger but what does it have that @EXPORT_OK doesn't?
15:50 mst ...
15:50 csson joined #mojo
15:50 mst re-read what I just said
15:50 jberger mst: I need to educate myself, I haven't ever gone beyond Exporter.pm
15:51 dod joined #mojo
15:51 mst have you read the Sub::Exporter::Progressive docs?
15:52 jberger reading now
15:53 jberger https://metacpan.org/pod/Sub::Exporter#Why-Generators
15:54 jberger D::GD clearly doesn't need this power
15:54 jberger (note that I'm playing the devil's advocate here)
15:54 sri Grinnz_: how is this not a problem? https://github.com/kraih/mojo/blob/master/lib/Mojo/JSON.pm#L244
15:55 jberger so that leaves importing -as
15:56 jberger which I guess is something, but ... eh
15:56 jberger Devel::GlobalDestruction::in_global_destruction works
15:57 jberger or, since you probably are using these in DESTROY, and that is likely in a class, it could have just never exported anything and picked an easier name
15:57 mst right, but by the time I got to it, it already both used Sub::Exporter and documented that you could use -as
15:57 mst Sub::Exporter::Progressive is a damage control approach :)
15:58 jberger yeah, I figured, and thus the devil's advocate
15:58 mst it beat forking D::GD, basically
15:59 jberger when you have a swiss army chainsaw, people sometimes forget that they don't aways need to cut down the forest each time
15:59 mst it was originally written for Moose to use, so Sub::Exporter was something everybody was going to have anyway
15:59 jberger and for the record, I'm likely to just use it in Mojo::IOLoop::ForkCall, since I don't care as much about dep radius
15:59 mst S'Ex Pro plus the PP fallback meant Moo could share the dep
15:59 mst which was superior
16:00 mst than having one version for Moose and one for Moo
16:00 jberger ah
16:01 Grinnz_ sri: actually good point; decode_json/encode_json from Mojo::JSON shouldnt be getting used anyway
16:01 Grinnz_ sri: i was wondering why i hadnt run into that issue...
16:01 sri ah, of course :)
16:01 sri lol
16:01 sri *facepalm*
16:03 sri Grinnz_: then, how was the other thing a problem again?
16:03 Grinnz_ sri: i have no idea
16:03 sri :S
16:04 sri i'll revert it
16:05 * sri really needs to pay more attention before merging pull requests
16:05 sri Grinnz_: well, what made you send the pull request in the first place?
16:06 Grinnz_ sri: mailing list
16:06 purl rumour has it mailing list is a good place to beat the drum
16:06 btyler https://groups.google.com/forum/#!topic/mojolicious/a4jDdz-gTH0
16:06 sri Oo
16:08 good_news_everyon joined #mojo
16:08 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/pwvy
16:08 good_news_everyon mojo/master 997873f Sebastian Riedel: we do not support partial monkey patching
16:08 good_news_everyon left #mojo
16:09 Grinnz_ i should have tried to reproduce first, also :P
16:09 Grinnz_ but then, i dont even know which module he was using
16:09 sri i assumed you had :S
16:12 rohit joined #mojo
16:15 Oleg joined #mojo
16:39 good_news_everyon joined #mojo
16:39 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/pwno
16:39 good_news_everyon mojo/master 44f09ac Sebastian Riedel: mention that Mojo::Base is all about fluent interfaces
16:39 good_news_everyon left #mojo
16:40 jberger what are fluent interfaces?
16:40 sri http://en.wikipedia.org/wiki/Fluent_interface
16:41 pink_mist sounds like corp-speech
16:41 dotan joined #mojo
16:41 pink_mist the actual thing seems useful though
16:41 sri well... "Martin Fowler"
16:48 Grinnz_ lol
16:48 sh4 joined #mojo
16:56 gryphon joined #mojo
17:04 cpan_mojo Mojo-SMTP-Client 0.03 by Oleg G - http://metacpan.org/release/OLEG/Mojo-SMTP-Client-0.03
17:19 neyasov joined #mojo
17:30 good_news_everyon joined #mojo
17:30 good_news_everyon [mojo] kraih pushed 1 new commit to master: http://git.io/pwMR
17:30 good_news_everyon mojo/master 0175e4a Sebastian Riedel: just keep the shorter title
17:30 good_news_everyon left #mojo
17:32 disputin joined #mojo
17:41 mishantil What's wrong with Fowler?
17:42 disputin joined #mojo
17:46 sri nothing, that was the answer to why it sounds like "corp-speech"
17:49 jberger if I'm writing a service that checks package tracking information, and the server doesn't support the shipper, what status code should I return?
17:49 jberger 501 or 412 seem closest
17:50 hahainternet jberger: is the error caused by the client submitting a shipper the server says it doesn't support
17:50 hahainternet or the server not being able to 'find' a supported shipper
17:50 hahainternet that's the diff between 5xx and 4xx
17:50 hahainternet who got it wrong
17:51 jberger that's really just a matter of documentation though isn't it
17:51 hahainternet i'm not sure how it could be
17:51 hahainternet if it's a matter of 'here are the supported shipeprs' in a document
17:51 jberger if I document that I support UPS and USPS and they give me a DHL tracking number
17:51 hahainternet right if you document that
17:51 hahainternet that's undoubtedly a client problem
17:51 * tempire really likes Martin Fowler and all his stuff
17:51 hahainternet so a 4XX code
17:51 jberger and if I didn't, then it would be 5xx
17:52 jberger also, my $boss has asked that I write this module in a way that it can be published to CPAN
17:52 hahainternet jberger: yeah exactly (imo)
17:52 jberger so if anyone is interested, especially if you are interested in helping, ping me
17:54 dmanto joined #mojo
17:55 jberger the idea is, give it an id number and it gives you back a uniform response with common tracking info
17:55 dmanto left #mojo
17:55 jberger nothing fancy
17:58 hahainternet jberger: i'll contribute some UK urls i gues
17:58 * jberger notes for future reference
17:59 jberger I'm probably a couple days away from being able to show a public version
17:59 jberger right now the tests have non-public info which I have to sanitize
18:01 Grinnz_ 13:52:33           <jberger> also, my $boss has asked that I write this module in a way that it can be published to CPAN
18:01 Grinnz_ your boss ++
18:02 Grinnz_ for even knowing what CPAN is
18:02 jberger yeah, it was a big reason I came here
18:05 mattastrophe joined #mojo
18:05 hahainternet jberger: just hilight me when you stick something up
18:05 hahainternet if you know whati  mean ;)
18:06 Grinnz_ like, a convenience store?
18:06 jberger yeah ;-)
18:06 hahainternet Grinnz_: yeah i need jberger's app to know which packages to steal :p
18:47 dod joined #mojo
18:53 gryphon joined #mojo
19:14 sri fluent interfaces sounds better than method chaning
19:15 sri s/chaning/chaining/
19:15 sri see, i can't event type it!
19:15 sri ouch
19:15 sri that's it... i give up on correcting typos
19:24 jberger hehe
19:24 jberger I like the name, I just haven't heard it before
19:24 jberger is there a good link that you could include
19:24 jberger ?
19:25 hahainternet it's not far off CPS
19:25 hahainternet but yeah balls to typos
19:25 hahainternet s
19:25 sri stupid google... that new chromebook looks awesome... if it had more storage and a real linux i would instantly buy it http://www.theverge.com/2015/3/11/8185481/google-announces-new-chromebook-pixel-2-2015-price-availability
19:29 sri don't get what they are aiming at with those
19:30 jberger why give it a real os when a stripped down one will do?
19:30 hahainternet sri: have you not used one?
19:30 hahainternet chromeos is pretty cool
19:30 sri does it run docker? :)
19:31 hahainternet sri: you can just put debian on them afaik
19:31 hahainternet i mean idk about the #2
19:31 hahainternet but i bet it won't take long
19:32 sri 32/64gb storage
19:32 jberger "Ludicrous Speed"
19:32 hahainternet sri: yeah that sucks for sure
19:32 hahainternet sri: but i'm just saying, they're surprisingly great machines
19:32 sri it's sooooo close to being awesome
19:33 sri give it 256gb and ubuntu
19:33 tianon yeah, that hard drive size is the only big blocker for me to love it :(
19:33 tianon because ubuntu would be pretty easy to install if the drive were a decent size
19:33 sri yea
19:33 tianon or debian, or xyz
19:33 hahainternet eww ubuntu :(
19:33 tianon even the 16GB of RAM is pretty decent, especially for a laptop
19:34 sri i'm fine with 8gb
19:35 tianon anyone done a teardown yet? :)
19:35 sri it's a really bad time atm to be looking for a new laptop :S
19:36 sri apple is in a transition phase again
19:36 sri lenovo is toast
19:36 sri maybe dell
19:37 hahainternet sri: i get free fujitsus lol
19:37 tianon dell's track record wrt consumers is questionable, but they've been focusing on Linux recently so I've been seriously considering them
19:37 * sri 's applecare runs out in december :S
19:37 hahainternet in 2 months i think
19:37 hahainternet i will never support apple again
19:37 jberger sri: you don't want the connector for which there are no peripherals expected in the next two years?
19:37 hahainternet they're so straight up evil
19:37 hahainternet jberger: you are aware that macbook is a netbook right
19:37 hahainternet it's less powerful than an air
19:37 hahainternet they casually forgot to mention this
19:38 sri jberger: giving talks with one port will be fun
19:38 hahainternet because a few years ago they said they'd never make a netbook
19:38 dmanto joined #mojo
19:38 jberger I have a mac, I'm not a fanboi
19:38 jberger I also have a zaReason
19:38 jberger but now with this MBP I don't use it much
19:38 trone joined #mojo
19:39 sri at least apple keyboards don't have a windows key
19:39 hahainternet i like my windows key
19:39 hahainternet it opens my gnome 3 overview
19:39 hahainternet and if i hold it, i can drag windows around by clicking anywhere
19:39 hahainternet A+
19:40 marcusr sri: you seem to be getting splendidly along with Sagalaev. :p
19:40 sri who am i kidding... i'll get another macbook and stick with andorid phones to not look like a fanboi :D
19:40 hahainternet sri: :(
19:40 sri marcusr: ;p
19:43 jberger nobody likes a windows key, true, but then again, at least the Ctrl key is in the right place
19:44 dmanto hi people
19:44 borkur joined #mojo
19:45 dmanto still have some questions about a non blocking pg notify
19:47 dmanto sri commented its probably not worthy, and i actually agreed on that yesterday
19:48 dmanto sorry should i wait?
19:52 Grinnz_ for what?
19:52 purl for fun.
19:53 * sri is waiting for fun too!
19:53 Grinnz_ 15:14:52               <sri> fluent interfaces sounds better than method chaning
19:53 Grinnz_ well one i have to look up and the other i don't :P
19:54 dmanto i mean to ask
19:55 sri purl: ask?
19:55 purl hmmm... ask is Ask Bjørn Hansen or http://www.dina.kvl.dk/~abraham/free/fame.html or Active Spam Killer or at http://www.paganini.net/ask/ or "NEBRASKA JOHNSEN" or XM radio channel 165, home of Coast-To-Coast or formerly Ask Jeeves
19:56 sri i guess not
19:56 dmanto ok
19:56 sri purl: askask?
19:56 purl sri: i haven't a clue
19:56 sri argh, there was a factoid
19:57 Grinnz_ ask to ask?
19:57 purl Don't ask to ask or ask if there are any users of X around, people often don't respond to that because they've used X but maybe not the same features as you. Instead, skip straight to your question + pastebot link and if somebody knows they'll probably try and help or if you don't get a response straight away, hang about - people may be working or asleep right now.
19:57 dmanto i think even if notify is super fast, we may need a non blocking version
19:57 tencendur joined #mojo
19:57 dmanto ah ok sorry
19:58 dmanto well the thing is that sometimes your postgresql service is in the cloud, or have some problems
19:58 dmanto and you want at leas be able to report those problems to your users
19:58 genio Does morbo have any way of having url_for() automatically know it's behind a proxy since x-forwarded-for is properly set?
19:58 dmanto but if you have only 5 o 6 processes
19:59 Grinnz_ genio: no, the proxy stuff is a hypnotoad feature
19:59 dmanto they will be blocked on the timeouts
20:00 genio crap
20:00 Grinnz_ genio: i take that back, it's a Mojo::Server feature apparently
20:00 Grinnz_ i'm not sure if the x-forwarded-for stuff is handled there though
20:00 Grinnz_ genio: have you tried in 6.02? maybe the recent updates to morbo help
20:01 dotandimet joined #mojo
20:02 genio I'm using 6.02 now, but I'm most likely missing something simple and will facepalm once I figure it out
20:02 Grinnz_ hmm... Mojo::Message::Request sets the scheme based on X-Forwarded-Proto, haven't found where X-Forwarded-For is used yet
20:09 sri dmanto: to make it short, you can't have it
20:09 Grinnz_ ah! https://metacpan.org/source/SRI/Mojolicious-6.02/lib/Mojo/Transaction.pm#L47
20:09 sri DBD::Pg doesn't work that way
20:09 Grinnz_ hmm... i'm not sure why that doesn't work in morbo
20:10 Grinnz_ it's just using the Mojo::Message::Request reverse_proxy attr
20:10 Grinnz_ right, i guess that has to be set in the server to begin with
20:10 Grinnz_ try MOJO_REVERSE_PROXY=1
20:11 Grinnz_ in 6.02 you should be able to do $morbo->daemon->reverse_proxy(1)
20:11 Grinnz_ genio^
20:24 dmanto sri: i dont mean true non-blocking, i refer to the async waiting for queued commands, like $c->pg->db->query("bla ...", @vars, sub {});
20:26 Grinnz_ dmanto: unless it's nonblocking, all that will do is call sub {} before it returns
20:27 dmanto grinnz_: yes but still will allow others tasks not related to Pg inside Mojo::IOLoop to proceed
20:27 Grinnz_ dmanto: no, it won't
20:27 Grinnz_ dmanto: you can't magically make things not block
20:28 Grinnz_ dmanto: either it would have to be turned into a non-blcoking routine or it would block until it's done
20:28 Grinnz_ so it doesnt matter if its async at that point
20:28 dmanto ah i didnt know
20:34 jberger dmanto: use a minion worker or ForkCall or something if you need that
20:36 jberger I take this as another vote for a link to fluent interfaces: https://github.com/kraih/mojo/commit/44f09ac706805d15b7f9ccf0d37eb185de07ba8b#commitcomment-10151516
20:36 dmanto have it working with redis2 wich is trully non-blocking, i just was thinking on migrating to pg that part
20:37 dmanto i mean notify (publish) part
20:38 ispyhumanfly joined #mojo
20:39 sri jberger: disagree strongly
20:39 sri it's literally the first google result
20:39 Grinnz_ without a link, it looks like just more web 2.0 speak
20:39 Grinnz_ IMO
20:40 sri don't be silly
20:40 Grinnz_ i wouldn't think to google that honestly
20:40 sri we use the cirrect terms for patterns all over the place
20:40 sri and *never* link to explanations
20:40 Grinnz_ i guess, i've just never heard of this one
20:43 jberger sri: you're right we don't
20:43 jberger but like Grinnz_ I hadn't heard it either
20:43 jberger maybe one of us should do a blog post to start the education process
20:44 sri you weren't familiar with the reactor pattern before mojolicious either
20:44 jberger that's true :-)
20:44 Grinnz_ the difference is, reactor seems like a concrete thing i should look up
20:44 Grinnz_ 'fluent interface' sounds like 'web scale' :P
20:44 sri "real-time web"
20:44 jberger maybe just say "fluent interface pattern"
20:45 sri we don't say reactor pattern
20:45 sri for me it's a case of "we try to use correct terminology, but we don't teach it"
20:46 jberger call it an english language thing, "fluent interface" can read without being obvious that its a name
20:46 jberger if it was "Fluent Interface(TM)" I wouldn't be saying it
20:46 sri we have sooo many patterns... visitor, decorator, factory...
20:47 jberger nevermind, I'm not too concerned
20:47 Grinnz_ real-time web is similar, but with that, it's self-defining
20:47 crab maybe we should add a PDF of the design patterns book to the repository
20:47 jberger crab++
20:47 Grinnz_ haha
20:47 jberger no, we just need a book :(
20:47 * jberger sighs whistfully
20:47 sri Design Patterns with Mojolicious
20:47 jberger \o/
20:47 crab why are you sighing over a card game?
20:48 * jberger slaps crab with a fish
20:48 crab sri: and it's just a list of terms with no explanation!
20:48 crab "now you know what to look for"
20:48 * crab hides
20:48 sri a list of design patterns we don't use
20:49 Grinnz_ crabs adjust humidity?
20:49 crab btw, i didn't know what fluent interfaces are and i don't think i would have thought to google for it after reading the description of Mojo::Base
20:49 mishantil Anyone here remember "Aqua - Barbie Girl"?
20:49 crab but that's not a vote for anything. i would've scratched my head a bit and got on with life.
20:50 Grinnz_ (thats an actual unofficial cards against humanity expansion)
20:50 sri i guess fluent interfaces needs to be a frontpage feature then :)
20:50 * crab 's against humanity
20:51 Grinnz_ http://www.crabsadjusthumidity.com/
20:51 ispy_ joined #mojo
20:51 Grinnz_ nsfw text, as usual with these things :P
20:52 berov joined #mojo
20:55 * jberger wonders when exploding kittens ships?
21:02 ispyhumanfly joined #mojo
21:03 ispy_ joined #mojo
21:10 sri the whole query composability topic from yesterday makes me wonder if i was wrong about generated SQL
21:12 Grinnz_ in what way?
21:13 jnbek joined #mojo
21:14 sri there is still the disconnect between what you write and what actually gets executed on the server side
21:15 sri but maybe very minimal SQL generation can reduce the headache
21:15 Grinnz_ yeah; you can have SQL generation that is still a 1:1 mapping of what you say to what it puts in the query
21:15 kaare joined #mojo
21:16 Grinnz_ at that point you're just avoidiing manual concatenation but it makes it more programmatic still
21:16 ispyhumanfly joined #mojo
21:17 ispyhumanfly joined #mojo
21:17 Grinnz_ not that i've bothered with that really, i just write sql constructors appropriate to each task
21:20 sri considering just doing what DBIx::Simple has done with SQL::Abstract https://gist.github.com/anonymous/24be8f1f4a378bac6f66
21:20 Grinnz_ seems reasonable
21:21 dod joined #mojo
21:21 sri a few things are bugging me a little though
21:22 sri for a big part actually the SQL::Abstract docs
21:23 sri if i was starting an SQL generation module, i would have the perl code and the resulting SQL *always* side by side
21:23 kaare joined #mojo
21:25 Grinnz_ that is a nice idea
21:25 sri maybe i'm just odd, but SQL::Abstract makes me immediately feel like i'm not in control of the SQL
21:26 Grinnz_ well it seems like you can still specify each section manually as a string if needed
21:26 sri to be fair, i have yet to find an SQL generator i like ;p
21:26 Grinnz_ SQL generation is a difficult topic
21:26 Grinnz_ mostly because of all the different DBs doing slightly (or very) different things with SQL
21:27 berov sri: me too "feel like i'm not in control of the SQL"
21:27 Grinnz_ if it was just postgres, SQL generation would be easy :)
21:27 sri i guess Sequel in ruby is the closest i get to liking something
21:27 pink_mist does SQL::Abstract actually ... abstract the differences away? or does the abstract in the name come from another kind of abstraction? :/ I guess I should go read up on it
21:28 berov why not just have a file with SQL statements which are then used
21:28 Grinnz_ it doesn't really care itself what database it's for
21:28 Grinnz_ you can set the quote char and other options as needed for whatever db
21:28 sri berov: because composability
21:28 berov heve the SQL freely written by the developer and leavve just simple statement henerated
21:29 Grinnz_ berov: that would be a nightmare to maintain
21:29 Grinnz_ having ot go and find the query whenever something changes
21:29 pink_mist Grinnz_: yes, but can I use the same code and expect to get the same results with different database backends is what I'm asking ..
21:29 Grinnz_ pink_mist: no, because it doesn't care about the backend
21:29 berov well I tried this and I am not disapointed :)
21:29 pink_mist Grinnz_: damn :/ does anything? ^^;
21:29 berov leaves me in control of SQL
21:29 Grinnz_ pink_mist: there are too many differences between DBs for that to be remotely feasible
21:30 Grinnz_ pink_mist: for example, you can make tons of queries in postgres that don't exist in mysql and vice versa
21:30 berov eg. you can have different queries per DB engine
21:31 berov I have tryed this: https://github.com/kberov/MYDLjE/blob/master/conf/mysql.queries.sql
21:32 sri sql is never configuration
21:32 Grinnz_ berov: for 10 queries, maybe. if your project has 700 queries that's going to get out of hand
21:32 berov sri it is not
21:32 berov this is just afile containing queries
21:33 sri there is sooo much embedded raw SQL in the SQL::Abstract docs
21:33 berov Grinnz_: you will find a way to split the files
21:34 Grinnz_ berov: it's not reasonable in scale IMO, query logic is central to code logic in many cases
21:34 sri {date_column => \[ "= date '2008-09-30' - ?::integer", 10 ]}
21:34 sri wat?
21:34 purl Watt?  Watt?  I can't hear you, there's this buzzing noise where my brain should be. or https://www.destroyallsoftware.com/talks/wat
21:34 berov another approach I took with DBIx::Simple::Class was to have the SQL into HERE docks :)
21:34 berov in the classes for the tables
21:34 berov works really well at least for me
21:35 berov and you can again have different queries per DB engine
21:35 sri berov: show me a pretty app that has sql in external files
21:35 berov :)
21:35 Grinnz_ IMO, if you are planning on changing DB engine you are going to have a lot more problems than just making compatible queries
21:35 Grinnz_ it is not a thing you can just switch
21:36 Grinnz_ again, depending on scale, of course
21:36 Grinnz_ if all your queries and tables and indices are simple then sure, it can be done
21:36 hahainternet haha sri nice link of wat
21:36 hahainternet but i want a perl one
21:36 Grinnz_ you dont want to see the perl one
21:36 hahainternet yeah i do
21:36 Grinnz_ it involves $dbh->quote
21:36 hahainternet really?
21:36 Grinnz_ and a bunch of other things nobody uses
21:37 Grinnz_ also assumptions that arrays magically turn into arrayrefs, etc
21:37 berov sri, there was an app Open Bravo AFAIR longa ago it was using SQL in XML it was JAVA
21:37 pink_mist the perl one is pretty shitty tbh
21:37 pink_mist you really don't want to see it
21:38 sri berov: so you can't? :)
21:38 berov now I am doing things like this: https://github.com/kberov/Ado/blob/master/lib/Ado/Model/Users.pm#L203
21:38 berov sri: I can't
21:39 berov it is not so bad :)
21:39 Grinnz_ for my needs, "a function that constructs a query for a specific task based on some parameters" is usually enough abstraction while being maintainable
21:40 pink_mist berov: ah, found it finally ... took a while, sorry ... http://media.ccc.de/browse/congress/2014/31c3_-_6243_-_en_-_saal_1_-_201412292200_-_the_perl_jam_exploiting_a_20_year-old_vulnerability_-_netanel_rubin.html#video
21:40 Grinnz_ SQL::Abstract is basically sugar around that
21:40 berov Grinnz_I am doing exactly this
21:40 berov and the construction happens only once of course
21:40 Grinnz_ hahainternet: what pink_mist linked
21:41 hahainternet yeah i saw that, it's a little wat-ty
21:41 hahainternet but not exactly int he same way imo
21:41 Grinnz_ it's just annoying, "here's a bunch of stuff that's confusing because i don't know this programming language"
21:42 Grinnz_ whereas the other one is actually things that don't make sense after knowing the language
21:42 berov pink_mist: let me see
21:42 sri guess i only like SQL::Abstract for the super simple crud stuff
21:43 pink_mist oh, uh sorry berov ... that was meant for hahainternet :P
21:43 kaare joined #mojo
21:43 hahainternet o/
21:43 hahainternet and yeah Grinnz_ i agree
21:43 hahainternet my problem with SQL::Abstract
21:43 hahainternet is it's not very abstract is it
21:43 hahainternet it's basically just SQL.pm
21:44 Grinnz_ yeah... the abstraction is in that you don't have to concatenate manually, not abstraction between database engines
21:44 hahainternet well not even abstraction of database features
21:44 hahainternet like join optimisation
21:44 hahainternet windowing functions
21:44 hahainternet moving things into views
21:44 hahainternet making things functions etc
21:44 Grinnz_ right, and that's all super complex, so it's good that it doesn't do that
21:45 hahainternet i dunno, it's good and its bad
21:45 hahainternet you want a module that doesn't
21:45 hahainternet but it'd be nice if a module could reorder your joins based on an automated EXPLAIN query
21:45 Grinnz_ it could, but it would be a lot more difficult to use than SQL::Abstract is
21:45 hahainternet indeed
21:45 Grinnz_ or at least, a lot more involved
21:46 pink_mist I think you mean: would be a lot more difficult to /write/ than SQL::Abstract is =)
21:46 hahainternet yeah you're right
21:46 hahainternet you'd ideally want a language for it
21:46 Grinnz_ also, that would require dependency on a database driver
21:46 pink_mist usagewise it ought to be easier, no?
21:46 hahainternet some sort of structured language
21:46 hahainternet say a structured, query language
21:46 Grinnz_ whereas SQL::Abstract is dealing with the SQL itself
21:46 hahainternet that'd do
21:46 pink_mist hahainternet: haha :P
21:46 Grinnz_ pink_mist: i don't know. there's too many variables
21:46 hahainternet but yeah i write all my sql by hand these days
21:46 hahainternet because it's sqlite or postgres
21:46 hahainternet if you use anything else i hate you and probably won't work on it :
21:46 hahainternet :p*
21:46 Grinnz_ lol
21:47 Grinnz_ every database other than mysql has now been deleted. have fun
21:47 Grinnz_ (my work day)
21:47 hahainternet use SQL::A for stuff i have distributed though
21:49 sri SQL::Abstract also seems a bit heavy on the dependency side, for what it does
21:49 hahainternet sri: aren't any modules with depends at all anathema to you? :p
21:51 Grinnz_ well, the runtime dep graph isn't *that* scary
21:51 jberger hahainternet: the cost-benefit per additional dep is weighted differently here
21:51 hahainternet jberger: i wasn't criticising
21:51 hahainternet i LOVE mojo's policies
21:51 hahainternet i'm just saying that to sri, any deps are probably evil and have to be removed if possible :p
21:52 hahainternet which is a great policy for a standalone frameowkr
21:52 hahainternet wow that word got misordered
21:52 hahainternet 'framework'
21:52 jberger framew ork
21:52 sri i'm not gonna swear now, and just ignore hahainternet
21:53 hahainternet :(
21:53 * jberger slaps hahainternet with a fish too
21:53 jberger that'll learn 'em
21:53 hahainternet i think me and a coworker are about to write an asynchronous pg -> webgl frontend soon
21:53 hahainternet which is awesome
21:54 hahainternet but i'm writing the golang bit and he's writing mojo, damnit :(
21:54 jberger how'd you pull the straws, I'm guessing it was rigged
21:54 hahainternet gonna stick my nose into his code regardless
21:54 hahainternet yeah i have done a fair bit of golang and he's used mojo for everything
21:55 sri and i wonders how $abstract->select('...', '*', {...}) happaned
21:55 sri wrong order bugs me
21:56 hahainternet sri: honestly some of django's model ideas are really nice, but they get so problematic when you want to higher order things
21:56 meshl joined #mojo
21:56 hahainternet like i discovered that a cross comparison i'm doing between two sets is being expanded to several hundred selects
21:56 berov sri: I agree about SQL::Abstract dependencies, it is good DBIx::simple made it an optional dependency
21:56 hahainternet when in reality it can be written with a single onne
21:56 hahainternet so i'm not entirely convinced it's possible to sufficiently and succinctly abstract sql
21:58 sri this stuff is kind of crazy http://sequel.jeremyevans.net/rdoc/files/doc/cheat_sheet_rdoc.html#label-Subselects+as+scalar+values
22:00 hahainternet DB[:items].select(:name___item_name)
22:00 hahainternet *sound of gagging*
22:04 reneeb joined #mojo
22:13 sri we need a linq
22:13 berov :) like in C#?
22:14 * sri vaguely remembers mst thinking the same
22:14 * Grinnz_ looks up linq
22:15 sri https://msdn.microsoft.com/en-us/library/bb546142.aspx
22:15 sri or actually https://msdn.microsoft.com/en-us/library/bb397906.aspx
22:16 sri c# is full of pretty good ideas
22:17 berov sri: it happens to me to use it at $work
22:17 berov it is
22:26 berov pink_mist: what were you trying to say with this video? I could not understand.
22:27 Grinnz_ lol
22:27 Grinnz_ that was meant for hahainternet
22:28 hahainternet yeah i don't know how they got our nicks mixed up
22:29 pink_mist we are just generally confused today
22:29 pink_mist mixed up nicks over on freenode as well :P
22:31 hahainternet i know that feeling
22:33 juikuen joined #mojo
22:36 Grinnz_ sri: one of the reviews for SQL::Abstract mentioned something interesting... SQL::Abstract itself doesn't use any deps other than MRO::Compat and Text::Balanced
22:36 Grinnz_ so if it was packaged separately from SQL::Abstract::Tree it would be lighter
22:37 Grinnz_ and i guess Text::Balanced is core too
22:38 Grinnz_ but SQL::Abstract::Tree seems to be used in testing SQL::Abstract
22:38 Grinnz_ :/
22:39 jberger balanced is cool but only really useful in parsers
22:40 jberger it could have been more useful with some ability to match without anchors
22:40 sri wait, SQL::Abstract::Tree is not even used by SQL::Abstract Oo
22:40 Grinnz_ its not
22:40 Grinnz_ it's used by SQL::Abstract::Test
22:41 sri oh, all the deps are for testing
22:41 Grinnz_ which is used by all the test files
22:42 berov requires Moo
22:42 Grinnz_ not in the actual module
22:43 Grinnz_ just for the testing module :s
22:43 berov etc..
22:43 berov hm
22:43 sri i guess if SQL::Abstract was a cheap module i'd add support to Mojo::Pg, but it's not really a major feature... so ... meh
22:45 berov all dependencies can be made conditional and tests can be skipped if not installed
22:45 sri i'll just use it manually for very dynamic queries
22:45 Grinnz_ berov: that would result in the module not getting tested probably
22:45 cfedde The distinction between run time requirements and test reqs is pretty much moot much of the time anyway. Your default package install is going to pull them down anyway.
22:45 Grinnz_ right, now that i'm using cpanm it's irrelevant
22:45 sri optional dependencies have a cost too, and i think a feature needs to be major to justify it
22:46 berov test_requres at least allows you to install without the testing modules still
22:46 Grinnz_ no it doesn't
22:46 berov let me try
22:46 Grinnz_ you have to test to install...
22:47 cpan_mojo Mojolicious-Command-generate-lexicont 0.02 by DOKECHIN - http://metacpan.org/release/DOKECHIN/Mojolicious-Command-generate-lexicont-0.02
22:47 berov Grinnz:  cpanm -n
22:47 Grinnz_ berov: well, if you're stupid, you can install without testing :P
22:48 berov that was the only way to install Catalyst the other day :)
22:48 Grinnz_ you'd want to use -f, after verifying that the failed tests are not important
22:49 Grinnz_ there is no reason to use -n unless you wrote the module, basically
22:49 berov ye did thid s tooo for some of the requred modules
22:49 Grinnz_ or unless you tested the same installation in an identical configuration already
22:49 berov yes, agree
22:56 berov sri: How about adding an object(s) methid to Mojo::Pg::Results similar to https://metacpan.org/pod/DBIx::Simple#object-class
22:56 berov then one can build his MOdel around this
22:57 sri example?
22:57 purl Example (noun): A thing characteristic of its kind or illustrating a general rule.
22:57 berov I leveraged this in DBIX::Simple::Class
22:57 sri i don't find that very pretty
22:57 berov pd->db->query(..)->object(MyClass)
22:58 berov and you get ablessed hash(es)
22:58 berov just instead of ->hash
22:59 jberger berov: so that binds to a select query, how do you then store the object?
22:59 jberger or is it just building accessors?
22:59 berov ah: then.. moment
23:00 berov just wrap DBI->prepare->execute
23:00 sri stopped reading at singletons
23:00 berov like this https://github.com/kberov/DBIx--Simple--Class/blob/master/lib/DBIx/Simple/Class.pm#L438
23:03 berov sri: leveraged this feature in DBIx::Simple https://metacpan.org/pod/DBIx::Simple#Advanced-object-construction
23:04 sri berov: i know exactly what you're talking about, i just don't see the point
23:04 berov ah ok
23:05 berov the point is to have Model namespace with classes :)
23:05 berov but I know what you mean too or I think so
23:06 sri that's not a Model class in the example
23:06 alnewkirk joined #mojo
23:06 sri it's just a different result class
23:06 berov it, just a result - ok
23:07 berov but I expanded itmay be I mixed conserns but works for me
23:08 sri "but works for me" is setting the bar a tad low
23:09 berov :) ithink it works for many
23:10 sri does it?
23:10 berov have a class named after a table and hide in it functionality
23:11 berov example https://github.com/kberov/Ado/blob/master/lib/Ado/Model/Users.pm
23:11 sri and we are back to singletons, it's a total no go for me
23:11 sri i will never ever support that
23:11 sri don't try
23:12 sri and that is *not* a pretty model class
23:12 berov singleton you mean the $dbh?
23:13 berov sri: or  what you mean?
23:14 sri at the very least you have to make something that looks better than https://github.com/kraih/minion/blob/master/lib/Minion/Backend/Pg.pm
23:14 sri otherwise your abstraction has no value
23:16 berov sri: at first glance this is rocket science for me, have to meditate on it for a while :)
23:16 sri Minion at its heart is a Model
23:17 berov sri: good that you say it explictly
23:18 berov is there a tutorial with a working small program? or article?
23:31 berov sri: Ah, you mean to support multiple databases -if that is what you mean - yes- sure, this easily achievable even at the class level
23:33 hatman joined #mojo
23:33 berov use ANSI SQL wherever possible and different SQL statements depending on the current DBD
23:55 disputin joined #mojo

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