Camelia, the Perl 6 bug

IRC log for #mojo, 2013-01-25

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

All times shown according to UTC.

Time Nick Message
00:00 vervain nic:  I had the same problem for a long time trying to get my app to run under /app without having to know about it.  I couldn't get it to work.  If you figure it out can can you send a mail to the list?
00:06 jzawodn joined #mojo
00:12 Molaf_ joined #mojo
00:17 jontaylor joined #mojo
00:48 shmuel joined #mojo
01:09 hlin joined #mojo
01:09 Mike-PerlRecruiter_ joined #mojo
01:16 ka2u joined #mojo
01:26 egopro joined #mojo
01:39 shmuel I have started wrapping every helper that fetch / create some object in a stash-cacheing. am I doing it wrong?
02:04 d4rkie joined #mojo
02:07 basic6_ joined #mojo
02:19 vel joined #mojo
02:50 xaka joined #mojo
02:59 marty sri: found small typo in rendering doc under reusable templates.  "blocks in ep that work very similar normal Perl functions"
03:04 good_news_everyone joined #mojo
03:04 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/n1YPOQ
03:04 good_news_everyone mojo/master 6cb60d3 Sebastian Riedel: fixed typo in rendering guide
03:04 good_news_everyone left #mojo
03:04 sri marty++
03:30 bluescreen_ joined #mojo
03:33 Caelum is there a default json helper of some sort, or do I just use Mojo::JSON
03:33 Caelum I guess I'll just make one
03:43 jberger joined #mojo
03:49 arpadszasz joined #mojo
04:00 tempire Caelum: helper to do what?
04:01 Caelum like $c->json->encode(\%data) though that's not much shorter than Mojo::JSON->new->encode(\%data)
04:02 Caelum so no point really
04:03 sri use Mojo::JSON 'j';
04:19 Caelum I just had a totally insane idea for a CPAN module
04:19 Caelum http://gist.github.com/4631704
04:22 Caelum Class::LoadOnNew or something
04:29 jberger I would call it Class::Autouse
04:30 jberger in fact, Adam Kennedy already did :-P
04:30 jberger https://metacpan.org/module/Class::Autouse
04:30 jberger CPAN ftw
04:31 Caelum that does something different
04:31 Caelum probably better
04:32 jberger it has the something better, but it also has that: https://metacpan.org/module/Cl​ass::Autouse#Super-Loader-Mode
04:33 jberger "Use of the Super Loader is highly discouraged for widely distributed public applications or modules unless unavoidable."
04:33 jberger but the lazy loading is kinda nice
04:33 jberger though ultimately unneeded
04:34 Caelum I like it
04:34 Caelum with a tweak to Perl::PrereqScanner you could save even more lines of code in dzil dists!
04:35 * jberger eeeeeeeeeeeeeeeeeeek
04:35 jberger remember you are making a UNIVERSAL::AUTOLOAD method
04:35 jberger thats really a horrendous idea
04:35 Caelum I don't know how PrereqScanner works, you'd probably need to use PPI
04:36 Caelum yeah, my version is less evil :)
04:36 jberger it probably is
04:36 jberger it should also die if the class cannot new
04:37 Caelum good point
04:38 jberger actually goto &{"${class}::new"} would die correctly I think
04:40 jberger not that I'm advocating this of course
04:59 ka2u joined #mojo
05:47 spleenjack joined #mojo
06:23 hesperaux_ joined #mojo
06:26 arpadszasz joined #mojo
07:13 yakudza joined #mojo
07:19 Vandal joined #mojo
07:34 taryk joined #mojo
07:40 rem_lex|pivo joined #mojo
07:43 taryk left #mojo
07:47 taryk` joined #mojo
07:48 taryk` left #mojo
08:04 batman sri: i don't like https://github.com/kraih/mojo/commit/99​621b48b4dbca32661d60f5ce08ff00032f8559
08:04 batman why did you do that?
08:06 batman i don't need it to be obvious, i just want override to work exactly as expected.
08:13 ver joined #mojo
08:15 crab i kind of agree
08:15 crab but i haven't looked at the code
08:22 ObseLeTe joined #mojo
08:29 wircus_ joined #mojo
08:29 batman joined #mojo
08:29 wircus_ o/
08:32 fhelmber_ joined #mojo
08:54 tempire \o
08:54 suy joined #mojo
09:04 egopro joined #mojo
09:10 ver joined #mojo
09:23 ObseLeTe joined #mojo
09:37 bizam joined #mojo
09:38 batman i want put "turn off browser caching" for certain routes into a plugin. is it wrong to use add_condition() for that?
09:38 batman i want to change the response headers inside the condition, but always return true
09:39 bizam joined #mojo
09:46 nic basic6_: Are you running under CGI?
09:58 mugenken joined #mojo
10:01 nic If so, try using BEGIN { $ENV{SCRIPT_NAME = '/'; } inside the cgi script
10:01 nic It sounds like you're building a maintenance nightmare
10:02 nic There's a big advantage in not writing your own url_for, esp if you're doing things like http://irclog.perlgeek.de/​mojo/2013-01-24#i_6372509
10:03 nic You'll save yourself a headache if the target is based on the current req path rather than the current controller class name
10:11 SmokeMachine joined #mojo
10:14 egopro joined #mojo
10:16 bizam hi mojoers! my wishlist is $r->route('/foo/bar')->to(controlle​r=>Where::Ever::Foo->new(%foo_arg), action=>'bar',)
10:18 jontaylor joined #mojo
10:23 guest-quest joined #mojo
10:28 bizam Where::Ever::Foo is use Mojo::Base 'Mojolicious::Controller';
11:00 nic bizam: Is it the %foo_arg you're talking about?
11:00 nic Why not just use the stash as normal?
11:05 batman bizam: i don't think you know what you want.
11:06 batman bizam: explain what you're trying to accomplish
11:29 bizam no %foo_arg, main thing is once created controller object
11:46 KindTwo joined #mojo
12:15 GabrielVieira joined #mojo
12:46 sri batman: because you were using the bundled jquery in an app, that's wrong
12:46 sri bundled javascript libraries are only for internal use
12:47 sri crab: marcus and tempire voted +1 for it
12:50 marcus batman/crab: What's the downside to making it obvious that it's for internal use?
12:56 dpetrov_ joined #mojo
13:00 spleenjack1 joined #mojo
13:02 wircus_ *crickets*
13:05 nic Why are they for internal use only?  Cos upgrades can break stuff?
13:07 dod joined #mojo
13:10 Mike-PerlRecruiter_ joined #mojo
13:14 lppoix joined #mojo
13:20 sri yes
13:21 sri as marcus demonstrated yesterday with jquery
13:24 Guest-quest joined #mojo
13:38 marcus also, we might suddenly decide to remove or change them
13:38 marcus as sri demonstrated today :)
13:44 nic It doesn't really seem consistent with other Mojolicious ethos
13:46 nic saying 1. here's some stuff in every project but you're not allowed to use it yourself, and 2. we're not letting you use it cos you might hurt yourself
13:46 nic feel a bit anti-Mojolicious
13:46 nic elsewhere it's "we've given you the tools but it's up to you to play safe"
13:48 marcus nic: we only ship those things to provide you with a nice internal server debugger.
13:48 marcus nic: so now you're actually arguing against the policy of us shipping something you can't use, not renaming it, right?
13:48 Britzel_ nic: But it's entirely different here. internal jQuery is a tool mojo thinks it needs. I need jQuery as well, but a very specific version and would not dream of using the internal one, which might change/go away anytime.
13:48 marcus nic: It's exactly the same as undocumented _foo methods in the codebase.
13:49 nic marcus: nope
13:49 sri yes, it is
13:49 nic _foo methods can still be used
13:49 marcus nic: and we will laugh at you when you do, and they break
13:50 nic you don't start renaming _foo methods just to make it awkward for people to access them
13:50 marcus same as with jquery
13:50 marcus nic: they were already prefixed with _ to make it awkward for you to use them.
13:50 nic I have a '_' key on my keyboard
13:51 marcus you also have the necessary keys to type 'mojo/'
13:51 nic burying the files in Mojolicious/public made sense to me
13:51 nic renaming them did not
13:51 sri your argument makes no sense
13:51 nic and if you rename _foo methods for the sole purpose of being awkward, Mojolicious will start to look like a certain event lib
13:51 Britzel_ burying something  in 'public/'? WTF?
13:52 sri i will change every single _foo method, promised
13:53 nic All I'm saying is making changes just to be awkward isn't good ethos and a bit inconsistent with the usually great Mojolicious ethos
13:53 nic We know of a certain event lib where that's the policy
13:54 sri that comparison to a certain event lib is offensive, i'm done talking to you
13:59 bluescreen joined #mojo
14:00 lppoix left #mojo
14:05 jberger nic, as Perl doesn't have enforced private methods, by convention we prefix them with an underscore _
14:05 jberger this, and the fact that they are usually undocumented is a signal to you the user that they are not for public use and may change at any time
14:06 jberger private functions are support for the public interface, not meant to be used
14:06 jberger the mojo devs are not going to make a public function private just to be awkward
14:07 jberger they make them private so you don't rely on them and then have them changed from under you
14:07 nic jberger: you've misunderstood
14:07 jberger ?
14:08 nic where did I talk about making public functions private?
14:08 jberger nic > "_foo methods can still be used"
14:08 nic that's a private routine, hence the '_'
14:09 jberger nm
14:10 jberger I'm just saying that the internal jQuery was never meant to be a "public function"
14:10 nic correct
14:12 Miked joined #mojo
14:15 jberger for the record (and not that I'm a dev) but I think the move is just fine
14:15 jberger sri++
14:15 jberger less accidental breakage is best
14:16 suy out of curiosity, which is that "certain event lib"?
14:17 ryozi joined #mojo
14:18 marty o/   moin
14:19 * marty is reading the log
14:21 marty sri++ on moving bundled files.   I see no negative side effects from the change.
14:23 * marty encourages sri to change all _foo methods to _barf
14:24 * Britzel_ strongly opposes 'barf' I would rather see 'hualp'.
14:25 spleenjack joined #mojo
14:26 * jberger prefers  _Ekke_Ekke_Ekke_Ekke_Ptangya_Ziiinnggggggg
14:31 sri those are all excellent choices
14:34 gryphon joined #mojo
14:39 SmokeMachine joined #mojo
15:07 Molaf__ joined #mojo
15:13 nic My question had abs nothing to do with private routines.
15:13 nic it was marcus who raised that.
15:13 nic It had abs nothing to do with public routines.
15:13 nic it was jberger who raised that.
15:13 nic I was simply curious about the reasoning behind the private files policy.
15:13 nic But I am no longer curious.
15:16 Britzel joined #mojo
15:33 jberger nic, it was an analogy, and one that I think was rather apt
15:33 jberger and your inflammatory insinuation did not go by unnoticed
15:34 jberger #mojo has earned a reputation of being friendly, and thats one of the major reasons I like this channel
15:34 asarch joined #mojo
15:34 jberger besides just liking the framework
15:34 jberger I would appreciate it if you please keep it civil next time you disagree
15:40 Miked joined #mojo
15:50 nic jberger: you intervened in the discussion arguing about something I hadn't said.  that's not civil
15:51 nic sri thinks I was linking Mojolicious to something bad; I wasn't
15:53 nic I'm not sure what insinuation you were vivifying
15:56 nic left #mojo
16:05 asarch joined #mojo
16:09 nelio joined #mojo
16:32 sri hmm, i originally wanted to expose all the low level details of the mongodb wire protocol... but that would make non-blocking a bit tricky
16:34 sri for example, mongodb doesn't send a response for insert operations, you have send a query (getLastError) right after the insert on the same connection instead
16:35 sri and you get a response for that query
16:36 marty Yep, that's what I do now to check for success.
16:36 sri it's all simple as long as you only have one connection
16:36 * marty nods
16:37 sri i was planning to do multiple connections transparently and distribute incoming non-blocking actions evenly between them
16:38 sri problem is... if i allow too low level actions, like raw ->query and ->insert, there is no guarantee the getLastError works... since it might hit another connection
16:39 sri hmm
16:40 sri sub build_query { my ($self, $id, $name, $flags, $skip, $limit, $query, $selector) = @_;
16:40 sri i could go *really* low level
16:41 sri http://docs.mongodb.org/meta-driver/lates​t/legacy/mongodb-wire-protocol/#op-query
16:41 sri pretty equivalent
16:41 sri but that would require some kind of transaction concept to make it work non-blocking
16:42 sri ->begin; ->insert(...); ->query(..'getLastError'...); ->end;
16:42 marty that's pretty low level.  but talk about flexible.  \o/
16:42 sri so both packets hit the same connection
16:44 sri simpler alternative would be to only expose higher level compound actions... ->safe_insert(...), which takes care of it internally
16:44 sri less flexible though
16:46 sri the protocol really wasn't designed for non-blocking
16:47 sri having written all that... i think i'll just go with the high level api for now... low level stuff can still be added later on :)
16:49 marty Walking before running.  How pedantic.
16:49 marty :)
16:51 sri i'll also leave out connection pool support for the first release ;p
16:52 sri parallel actions will just get queued, but you can have multiple instances, with one connection each
16:54 sri btw. i'm still looking for a 32bit perl fallback for pack('q<', $int)
16:54 sri !!!
16:57 marty wow.  I did not realize most drivers issue getLastError automatically.  http://docs.mongodb.org/manual/release-notes/driv​ers-write-concern/#write-concern-change-releases
16:58 vervain joined #mojo
16:58 sri that's new
17:04 xaka joined #mojo
17:06 mattastrophe joined #mojo
17:09 Annihitek joined #mojo
17:13 atz joined #mojo
17:33 dod joined #mojo
17:43 sri think i'll ignore unsafe operations completely for now, and just make getLastError the default too
17:47 atz_ joined #mojo
17:48 atz__ joined #mojo
18:11 lammel2 joined #mojo
18:16 arpadszasz joined #mojo
18:16 basic6_ nic, just saw your message. don't have a lot of time right now, but my url_for helper doesn't build the url based on the controller name, but based on the url (the Mojo::URL object, parts, first part).
18:17 basic6_ it's not pretty, but it works. i'll try your BEGIN { $ENV{SCRIPT_NAME = '/'; } suggestion, sounds promising.
18:20 xaka joined #mojo
18:23 hesperaux_ joined #mojo
18:23 xaka joined #mojo
18:26 Miked joined #mojo
18:29 d4rkie joined #mojo
18:58 SmokeMachine joined #mojo
19:35 suy joined #mojo
19:46 yakudza joined #mojo
19:48 BeDa joined #mojo
19:54 hesperaux_ joined #mojo
19:55 bluescreen_ joined #mojo
20:02 mattastrophe joined #mojo
20:23 ka2u joined #mojo
20:48 Caelum I want to write a Mojolicious::Plugin::RegisterOnce (that will give you an $app->plugin_registered($self)) or something like that, is that a good name?
20:49 Caelum because I have a mess of plugins that depend on other plugins, so I load them multiple times, and this would be helpful
20:55 bluescreen__ joined #mojo
21:17 good_news_everyone joined #mojo
21:17 good_news_everyone [mojo] kraih pushed 1 new commit to master: http://git.io/Fl1Jsw
21:17 good_news_everyone mojo/master 8b37afc Sebastian Riedel: small optimizations
21:17 good_news_everyone left #mojo
21:29 Caelum why am I getting this from TtRenderer, the apache user can write to /tmp: https://gist.github.com/4638054
21:31 Caelum the path is owned by root, but why?
21:31 Caelum does preloading create the path
21:32 Caelum yes it does
21:33 Caelum god dammit
21:37 Caelum I need to fix that
21:44 Caelum I'm wondering whether to use FormHandler for this project
21:44 Caelum on the one hand, it has a bootstrap renderer
21:44 Caelum on the other hand, I'm not going to use its DBIC model so what's the fucking point
21:44 Caelum I can write the form elements with bootstrap myself
21:54 ka2u joined #mojo
21:59 KindOne joined #mojo
22:06 tempire somewhere along the line, sketch stopped crashing
22:06 tempire and I discovered it supports vector masks of bitmaps
22:06 * tempire is happy
22:10 * marty wonders if multi-line include is officially supported in ep
22:14 sri marty: multi-line include?
22:15 marty It is so awesome to be able to do <%= include 'my/file', \n format => 'js', \n foo => $myCrazyVar \n %>
22:15 marty just not sure if it is officially supported
22:15 sri ah, yes, that's a feature
22:15 marty \o/
22:15 marty sri++
22:15 marty That is sooooo awesome!
22:16 sri it's just a part of how we compile templates to Perl :)
22:16 jberger Mojo::Template/EPRenderer is the best thing evar!
22:16 jberger sri, from where are you getting this quad on a 32 bit system?
22:16 sri https://github.com/kraih/mojo/bl​ob/master/t/mojo/template.t#L787
22:17 sri jberger: mongodb
22:17 marty it makes it very easy to create tricky javascript includes with stash variables.
22:18 sri to make BSON serialization work with 32bit perl i would need a fallback for packing and unpacking little endian signed quads
22:18 jberger seems like mongodb shouldn't attempt to send that on a 32 bit system
22:19 jberger oh its serialization
22:19 sri server is running on 64bit, client on 32bit
22:19 jberger so it might have come from a 64 bit
22:19 jberger right
22:19 jberger gotcha
22:20 jberger can you use bigint somehow?
22:20 sri somehow?
22:21 jberger the perl module BigInt I mean
22:21 jberger not the type
22:21 sri how does that help?
22:21 jberger not sure
22:22 jberger just think of higher precision libraries, they must have ways of dealing with this
22:22 sri dealing with them sure... but i don't think there is anything to pack a quad
22:23 sri think i'll just not support 32bit perl until someone finds a simple solution
22:24 sri for websockets and big endian unsigned quads we have a fallback in mojolicious https://github.com/kraih/mojo/blob/maste​r/lib/Mojo/Transaction/WebSocket.pm#L70
22:26 jberger perl -E 'use Math::BigInt; my $i = Math::BigInt->new('2e54'); say $i->as_bin'
22:26 jberger does that help at all, can you somehow ship the binary to be "packed" directly?
22:27 jberger I'm rather out of my element on that side, but I have needed multiprecision on occasion
22:34 * jberger is trying to read perlpacktut and is too lost to continue
22:34 sri i'm not very good at this either :)
22:35 jberger all I'm saying is if you need to represent a number (integer) larger than the machine precision will allow, Math::BigInt lets you do it
22:35 sri pack(ENDIANESS ? 'B*' : 'b*', ->as_bin) may work
22:35 jberger how to get the representation into real binary format is not my forte
22:35 * jberger looks
22:37 Caelum can't you compile perl with 64bit ints on 32bit machines?
22:38 Caelum yah, use64bitint
22:38 jberger Caelum, does anyone do that?
22:39 Caelum some people do, most people use the defaults though
22:39 Caelum with perlbrew
22:39 jberger true, but I'm guessing sri wants to support those other people too
22:40 jberger and thus, a fallback :-)
22:40 sri yea
22:40 Caelum this machine is 64bit capable but they're running a 32bit rhel on it :(
22:40 sri i've been wondering if there's a simple fallback, like the one we have for websockets
22:41 jberger the problem is the endianness?
22:41 sri detecting endianess is simple
22:41 jberger I'm asking why not just use the fallback from websockets?
22:41 jberger what is different?
22:42 sri it's complicated :)\
22:42 sri s/\//
22:43 sri it's a pretty bug hack actually
22:43 sri eeep
22:43 sri s/u/i/
22:45 Caelum also, -D usemorebits # great option for perlbrew
22:45 jberger k, well there are my $0.02
22:45 jberger as I'
22:46 jberger as I've seen you ask a few times, I think that means you now have $0.02
22:46 jberger :-P
22:46 jberger now if you need some scientific simulation done, I'm your guy :D
22:47 * jberger is having trouble with a simulation actually
22:47 * jberger wonders if he actually is the guy in that case
22:48 * jberger hangs head and exits stage left dramatically
22:48 sri :D
22:50 Caelum I can't use 32bit linux anymore, none of the commercial stuff is being released for 32bit
22:50 Caelum and my eeepc doesn't do 64bit, so blech
22:52 Caelum I wish transmeta released their cpu translator or something so none of this would be a problem
22:57 sri 32bit is a pita
23:00 jberger no one supports 16 bit anymore, how long until 32 bit goes by the wayside?
23:00 * jberger types into his 32 bit netbook
23:01 jberger sri: do you want me to test the ->as_bin solution for you somehow?
23:01 jberger could you mock up a quick test? I am at a 32 bit computer right now
23:02 sri oh
23:02 sri sure, just a second
23:02 Caelum jberger: yeah, my netbook is 32bit only too :/ the early atoms actually had the capability to run 64bit, but intel disabled it
23:03 Caelum jberger: the new atoms do 64bit fine
23:04 jberger $ uname -a:
23:04 jberger 3.5.0-19-generic #30-Ubuntu SMP Tue Nov 13 17:49:53 UTC 2012 i686 i686 i686 GNU/Linux
23:04 Caelum jberger: check /proc/cpuinfo see if it has lm in the flags
23:05 jberger Caelum, I was just looking into that
23:05 jberger lahf_lm?
23:05 Caelum yeah, that works
23:06 Caelum so you can run a 64bit dist, or a multiarch dist
23:06 jberger address sizes: 32 bits physical, 32 bits virtual
23:06 jberger really?
23:06 jberger I didn't know that
23:06 jberger either way, I have a 32 bit os installed
23:06 jberger and thus a 32 bit perl
23:07 jberger Caelum, you say if I install a 64 bit ubuntu on here, that it would work?
23:07 * jberger is a little doubtful
23:07 Caelum jberger: yup
23:07 jberger hunh
23:07 jberger not that there's any real reason
23:07 jberger (for now)
23:08 jberger but nice to know that if the world moves fully away, (and this little beast keeps on ticking), that it can go with it
23:08 sri ok, nope, doesn't work here either :/
23:09 sri perl -MMath::BigInt -E 'say unpack "B*", pack(pack("L", 1) eq pack("N", 1) ? "B*" : "b*", Math::BigInt->new(2147483649)->as_bin)'
23:10 sri that was my try
23:11 sri no clue what as_bin actually produces
23:11 sri anyway, the correct result would be 00000001000000000000000010000000​00000000000000000000000000000000
23:13 sri http://icetothebrim.com/wp-content/uploads​/2012/02/i-have-no-idea-what-im-doing.jpeg
23:16 Caelum it makes an 0b000000...
23:17 jberger yeah, maybe strip the 0b?
23:17 jberger Caelum, "For CPUs that support x86_64, this will return the lm flag (“long mode”) highlighted. Beware that lahf_lm is a different flag and does not indicate 64-bit capability itself."
23:17 jberger https://wiki.archlinux.org/index.php/Migratin​g_Between_Architectures_Without_Reinstalling
23:18 jberger though admittedly thats from archlinux' wiki
23:18 jberger perhaps not the worlds most reliable source
23:18 Caelum yeah that works: perl -MMath::BigInt -E 'say unpack "B*", pack(pack("L", 1) eq pack("N", 1) ? "B*" : "b*", substr(Math::BigInt->new(2147483649)->as_bin, 2))'
23:18 Caelum 00000001000000000000000010000000
23:18 Caelum well, not quite I guess
23:20 Caelum jberger: oh you're right, sorry
23:20 Caelum jberger: mine has lahf_lm too
23:20 jberger oh well, this thing is a piece of junk anyway!
23:21 Caelum yeah, best to replace it with a mini lenovo when the time comes to it
23:22 jberger best is to replace it with a 17in actual laptop when I have th3 $$
23:22 Caelum dude, retina mbp, they are so fucking amazing
23:22 Caelum work gave me one, best computer I ever had
23:23 jberger but thats a mac
23:24 jberger think of all the fun I can have spending that money some other way!
23:24 jberger since I'm just going to put linux on it anyway B-)
23:25 sri the official mongodb driver is a piece of junk, you'd think they had good reference tests...
23:25 jberger sri: it looks like Caelum got it, with the exception of filling the vacant slots
23:26 jberger you should test with a number greater than 2e32 though right?
23:26 sri oh
23:26 Caelum I heard rafl wrote the mongodb driver initially, and then they fucked it up
23:34 jberger perl -MMath::BigInt -E 'say unpack "B*", pack(pack("L", 1) eq pack("N", 1) ? "B*" : "b*", substr(Math::BigInt->new(2e54)->as_bin, 2))'
23:34 jberger looks promising
23:36 tempire woo
23:36 tempire yapc in austin
23:37 tempire who's giving talks?
23:39 jberger austin is not the same drive from chicago as madison
23:39 jberger :-/
23:40 fhelmber_ joined #mojo
23:40 * jberger liked tempire's talk at madison
23:41 anaio joined #mojo
23:43 sri oh, tokuhirom seems to have a solution in Data::MessagePack::PP :)
23:43 sri http://api.metacpan.org/source/TOKUHIROM/Data​-MessagePack-0.46/lib/Data/MessagePack/PP.pm
23:45 jberger o/
23:47 * jberger is left hanging
23:47 jberger ok so in IRC stick-guys how does one know if I'm waving or high-fiving
23:47 jberger ?
23:48 sri \o
23:48 * sri shrugs
23:48 jberger sri: anyway, good find
23:49 sri it's a pretty good read, messagepack is way more complicated than bson :)
23:50 sri someone else also released a pure perl BSON module to cpan, but from what i can see it is completely broken, wrong endianess and stuff like that
23:51 arpadszasz joined #mojo
23:51 sri but the parsing technique is interesting, i've heard that splitting strings with unpack is faster than substr, but never tried it
23:52 jberger looks like he only does unpack not pack
23:52 tempire high five or wave is context-based
23:52 tempire just liked perl
23:53 * sri is context sensitive
23:53 * tempire casts sri
23:55 jberger scalar reverse irs
23:59 * jberger ponders an irc rotbot

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