Index

Show enters and exits. Hide enters and exits.

00:09:38rueNew as in "contains new information"?
00:10:17rueevan: Also, update the (c)
00:10:40evanno, pretty much no new info.
00:10:59evanwhich sucks, but we need to at least get it to a stage where we were comfortable changing it
00:12:15rueOK, but I am not supposed to see some web 2.5-ized version, right? Pretty much the same it was designwise at least
00:12:37evani don't know what you're seeing
00:12:41evanis it mostly white?
00:12:57rueBlack-grey-mostly white, yes
00:13:00evanwith a 1.0rc2 in the upper right corner
00:13:05rueYef
00:13:09rueMaybe it had some blue before
00:13:26evanand the twitter stream on the right about halfway down
00:13:38BrianRice-worklooks good, but the navbar at top is wrapping around the "How to Install" item at the end no matter how I resize the window (chrome)
00:13:59rueMm, no
00:14:38evanBrianRice-work: ok, must be something specific to chrom.
00:14:40evanchrome.
00:14:53BrianRice-workevan: seems like it. I don't see the issue in FF3
00:15:27rueOh!
00:15:35rueevan: www. works, plain not
00:15:41rueWorks == has new stuff
00:15:53evanprobably DNS
00:16:47jariboh, there's stuff below the fold on the front page. hard to notice on my 15" MBP
00:16:59brixenyeah, page layout needs work
00:16:59rueYes
00:17:01evanthere is no fold.
00:17:02brixenit's a WIP
00:17:05evan:D
00:17:13brixenthere is though
00:17:15rueThe top could use a big arrow, or then pull the bottom up a little bit
00:17:19evanor did you print out the website onto newsprint?
00:17:20evan:D
00:17:36dwaitewaves
00:17:39dwaitecongrats on rc2
00:17:45evanthanks.
00:19:08jaribwhat's with all the Object#id warnings when loading irb?
00:19:22evanyou tell me
00:19:26evanyou're code is calling #id
00:19:29evani'm assuming.
00:19:44evanwow.
00:19:45evanwtf.
00:19:45jaribrbx -S irb -f is the same
00:19:48evani just got it to.
00:19:50jaribk
00:19:50evanthats... new.
00:20:07evanone sec, lets find out.
00:20:14jaribyep
00:20:50evanBAH
00:20:57evansomeone commited code that uses just .id
00:20:58evanFAIL.
00:21:39evanmarc-andre did it
00:21:41evanshame on him.
00:22:00evanwhy the heck did he redo this...
00:22:01dwaitetsk tsk
00:22:08dwaiteshould have used .ego
00:22:21evanwhats worse
00:22:27evanhe obviously didn't test this code.
00:22:33evanor he would have seen the warnings.
00:23:01rueDo the warnings actually show running the specs?
00:23:12evanperhaps.
00:23:41evanoh come on marcandre
00:23:42evanwtf.
00:23:49evanusing catch/throw in kernel code?!
00:23:59evanis not amused.
00:26:33evanwhy the fuck does this code take the object_id of a symbol.
00:28:28evanthis recursion guard code is...
00:28:52dwaitegives evan some room
00:29:05evango find out what recursive_objects is in Thread
00:29:20evanit's never set.
00:29:42evanoh, ok, it's in C++
00:29:44evanwhy though....
00:29:55dwaiteI used floating point in linux kernel code once. couldn't quite figure out why all of a sudden random programs started breaking so horribly
00:33:27dwaite(the kernel does not preserve any floating point info)
00:33:57boyscoutRemove using Object#id - 8bb9008 - Evan Phoenix
00:34:08evanmarc-andre has some explaining to do.
00:36:31jaribi also have a SIGSEV when i run tests for a lib i wrote. is there some way i can get a ruby backtrace to reduce it a little?
00:36:44jarib*SEGV
00:37:21boyscoutCI: rubinius: 8bb9008 successful: 3022 files, 11689 examples, 35887 expectations, 0 failures, 0 errors
00:37:46evaninside gdb you probably can.
00:38:01jaribok? i know how to get inside gdb
00:39:57evanin gdb, find a CallFrame* on the stack, and do
00:40:01brixenjarib: if you are building from source, rake clean; rake build:debug; gdb --args vm/vm path/to/your/file.rb
00:40:02evanp call_frame->print_backtrace(state)
00:40:10brixenand then that
00:40:11evanhe doesn't need to do it in debug mode.
00:40:15evantry without first.
00:40:34jaribok
00:42:02evanARG. the code that I was sure wouldn't work isn't even run.
00:42:07evanwtf marc-andre.
00:42:29rueIt is just there to throw you off
00:42:37evanit did not succeed
00:42:44evani saw through it's clever ruse.
00:43:31evanfuck this
00:43:35evani'm going for a run.
00:44:04rueGood thing you have kept that up
00:46:05ruehttp://journal.kittensoft.org/2010/01/03/winters.html
01:01:35jaribhmpf, went away when i installed rack
01:02:00jaribhere's the gdb backtrace http://gist.github.com/269909
01:36:29boyscoutUpdated MSpec source to ddf4bd5a. - 3412412 - Brian Ford
01:36:29boyscoutUpdated CI specs to RubySpec cdce2bd0. - 09e533b - Brian Ford
01:36:29boyscoutUpdated CI tags for merged rubyspecs. - 621ee6d - Brian Ford
01:40:01boyscoutCI: rubinius: 621ee6d successful: 3022 files, 11692 examples, 35890 expectations, 0 failures, 0 errors
05:03:24brixenmarcandre: gotta run but you have a conference with evan about 09d1824d0
05:25:53evanmarcandre: you there?
05:40:25vanohey guys, just a quick question about libraries ( not gems ). what is the path rubinius use for them? for gems, i figured out ln -s ~/.gem/{ruby,rbx} would be ok, but how should I load gtk2 lib ( already installed for mri ) using rubinius?
05:40:36evanno
05:40:38evannot ok
05:40:39evannever ok.
05:40:44evando NOT do that.
05:40:58evangem install gtk2
05:41:01evanif it's a gem
05:41:07evanotherwise, use rbx extconf.rb
05:41:35evanall C extensions must be explicitly compiled for rubinius to work
05:41:43vanonot ok - you mean even for pure ruby gems, without c extensions ?
05:41:59evanfor pure ruby gems it's ok
05:42:01evanbut it always blows up for people
05:42:03evanbecause they forget
05:42:09evanand have a C extension gem they didn't realize
05:42:17evanand then it explodes.
05:42:29evanso we just tell people to never do it.
05:42:33evaninstall things explicitly for rubinius
05:42:38evanjust like you'd do for 1.9 or jruby
05:44:01vanoshould I do the same in the future, when everybody will use new FFI system?
05:44:16evanit's the most sane thing to do, yes.
05:44:29evanit shouldn't be a hardship
05:44:33evanunless you have a 100M harddrive.
05:44:57vanook, big thanks for quick answer, evan!
05:45:03evanno prob.
05:45:52imajesvano: take a look at rvm, it might help you out
05:46:54imajesevan: and shouldn't penalize me just because i have a small disk :(
05:47:16evani doubt the .rb files on your disk are taking up significant space.
05:47:17evan:)
05:47:42imajesheh
05:47:46imajeswhips out find and du
05:48:20imajesevan: actually, it's surprising how many Apps are shipping with ruby scripts in them now
05:48:30evanoh? thats cool.
05:48:46vanothanks imajes, looks quite nifty
05:48:58imajeswell i guess since leo ships with a reasonably new version of mri and has a decent api
05:49:59imajesoh, w00tage! i can reclaim 2.5GB by deleting my old /opt -- totally forgot about that
05:50:01imajesthanks evan
05:50:13evanhah
05:50:31imajesfind came to the rescue
05:51:23imajesw00t. 22GB free.
06:52:59somebodyevan, Are you here?
11:09:26haruki_zaemonI'm seeing an error running rake: Tried to use object of type Class (14) as type String (48)
11:09:34haruki_zaemonWorked in rc1
11:09:41haruki_zaemonShould I raise an issue?
11:11:33haruki_zaemondid anyway :/
11:28:33cyndistry removing all *.rbc files
11:28:38haruki_zaemonahhh!
11:28:41haruki_zaemonwill do
11:29:22haruki_zaemonok that did it!
11:29:25haruki_zaemonthanks
11:29:32cyndisnp :)
11:31:00haruki_zaemonIt looks as though rubinius doesn't (yet?) support to_ary for implicit call argument conversion?
11:32:48cyndisif you mean stuff like [1,2,3].zip(object which responds to to_ary), that does work
11:36:18haruki_zaemon[object that responds to to_ary].each { |a, b, c| … } fails
11:36:30haruki_zaemonwell
11:36:32haruki_zaemondoesn;t fail
11:36:38haruki_zaemonjust behaves differently than on MRI
11:37:00cyndisi see
11:38:49haruki_zaemonI have a test case
11:38:58haruki_zaemonMaybe I'll try fix it ...
12:02:26haruki_zaemonok, I have a tes that fails in rubinius but passes in MRI
12:24:16haruki_zaemoncyndis_: I've created a patch for a failing spec but GitHb issues doesn't seem to allow attachments
12:24:24haruki_zaemonSo I've just pasted it into the issue
12:24:32haruki_zaemonIs there something else I should have done?
12:24:35cyndisbest way probably is to make gist and link to that
12:24:39cyndis+a
12:24:53haruki_zaemonahh
12:24:57haruki_zaemonOK, I'll make a gist
12:26:32haruki_zaemonthanks
13:54:22rueharuki_zaemon: Why would that work?
13:54:35rueOh, wait, misread...nevermind
13:57:18haruki_zaemonrue: I know it's kooky but it does work :)
14:02:16rueI did not notice it was inside an Array already
14:48:19cremes /away
15:37:58boyscoutCI: rubinius: 621ee6d successful: 3022 files, 11692 examples, 35890 expectations, 0 failures, 0 errors
17:23:56Defileraaaaah http://github.com/rails/arel/blob/master/lib/arel/algebra/core_extensions/class.rb
17:24:16Defilerseriously?
17:27:00evani really do not get why rails feels the need to add shit to every class like that
18:44:33dbussinkevening
18:47:42evanhi hi
18:49:17evanFUUUUUUUUCK
18:49:33evangets blame and the cluebat out.
18:50:45dbussinkis missing something
18:50:55evango look at kernel/platform/file.rb
18:50:58evanspecificly basename
18:51:05evanand tell me why this is THE SLOWEST METHOD IN THE WORLD
18:51:20evanfirst of all, why the fuck is this is Platform.
18:51:34evan2nd of all
18:51:42evanit creates 3 regexps everytime it's called.
18:51:46evanMEGA FAIL.
18:52:07dbussinkhey, i was going to say 4 regexpes :P
18:52:16evan4!
18:52:17evanyou're right
18:52:20evan*facepalm*
18:52:29dbussinkquatro facepalm
18:52:38evanhah
18:52:45brixen4.times { facepalm }
18:52:58evanso not only is it ultra slow
18:53:05brixengets in line to borrow the cluebat
18:53:09evanbut the logic is horrid.
18:57:02evanjust adding /o to those regexs speeds this up by 2x
18:57:40evanwhy the fuck is this MODIFYING the string passed in?!
18:58:09evannormally, i'd be miffed about this
18:58:11evanand i am
18:58:18evanbut instead i'm going to look at it as a challenge to destroy this code
18:58:21evanand increase performance 10x
18:58:28brixenyeah
18:58:48brixenit's the only way to stay sane
18:58:58brixenlearns
18:59:00evanthis code is so fucked.
18:59:01evanman.
19:05:04BrianRice-workI approve of this attitude, but only as an outsider ;)
19:12:09dbussinkevan: i think you've mentioned this one before too actually
19:12:15dbussinkevan: you're horification
19:22:51evan4 regexps with string substitutions
19:23:02evanjust to search from the front to the back, then optionally search again
19:24:53evan*eyeroll*
19:24:58evanMRI: 0.5s, RBX: 12s
19:25:00evaner
19:25:04evanMRI: 0.5s, RBX: 19s
19:25:11evanfor File.basename.
19:26:59dbussinkevan: you made a benchmark?
19:27:05evancourse.
19:27:13evani need to know how awesome I am at making it faster.
19:27:18dbussinkevan: looks like 10x faster is underachieving ;)
19:27:24evanbigtime.
19:27:30evanthats AFTER I added /o btw
19:27:32evanlets try without /o
19:29:07evanok, read for this?
19:29:16evanthe version of basename you guys have
19:29:20evannone of my changes
19:29:25evan58s
19:29:29ezmobiushah
19:29:59evannew rule: if you use a Regexp in krenel code, it must be approved by another developer.
19:30:05evanand you should probably never use one.
19:30:38dbussinkevan: i reset the goal at 100x faster from initial version ;)
19:31:11evanyep.
19:34:48dbussinkis grepping through kernel code looking for regexpses :P
19:34:54evangood.
19:35:03evanthats going to be what i advise us to do next.
19:41:14rueWell, back then regexps quite likely were much faster than anything else :P
19:41:51evanthis usage was never faster than anything.
19:51:26dbussinkevan: what do you think of changes like this: https://gist.github.com/23ccfe493f655ce9fa18
19:51:58evanfail
19:52:04evanthat whole line can go anyway
19:52:10evanthere are no secret locals.
19:52:12evananymore.
19:52:23dbussinkah ok
19:52:30evanfor 2 things
19:52:34evanjust compare both of them directly
19:55:10boyscoutFix String#hex spec - 8b99fe4 - Ivan Samsonov
19:55:10boyscoutThere are no secret locals anymore - 13e814e - Dirkjan Bussink
19:58:40boyscoutCI: rubinius: 13e814e successful: 3022 files, 11693 examples, 35893 expectations, 0 failures, 0 errors
20:06:33evannew File.basename that passes all specs: 1.5s
20:08:10brixensweet
20:08:19evanstill 3x slower than MRI
20:08:27evanlets see if i can squeeze a little more out.
20:08:37DefilerWhat's the new code look like?
20:09:01evanDefiler: uses #rindex and #substring
20:09:59DefilerThe rbx method call overhead is so low, maybe it would pay off to have a quick exit to the 'no second argument given' version
20:10:16evanit's close to that
20:10:26evani instead ignore it entirely until the end
20:10:33evanthen do a quick exit if ext == undefined
20:10:43DefilerCool
20:11:08Defilerrindex sounds like the fastest way to me.. hrm
20:11:38evanwoop.
20:11:47evandown to 0.8s
20:11:57evanMRI is 0.56s
20:12:43evani've got a whole bag of tricks.
20:13:13evanthe pathname benchmark is now only 2x slower on rbx
20:13:19evanit was like 30x when I started
20:21:05evanboya
20:21:13evanjust need to unfuck File.dirname now
20:22:15dbussinkevan: Dir.glob might be fun too ;)
20:22:41evani've acutally been over Dir.glob many times
20:22:44evanit's decent now.
20:22:53evanFile.fnmatch uses a C version now
20:23:16evanand Dir.glob can parse the pattern into objects
20:23:28evanand then the tree can run itself to generate the list
21:39:55dbussinkevan: do you think the profiler could be fixed easily?
21:40:28dbussinkmade a ticket for it a while back and i've seen other people ask about it too
21:40:35evanit's not broken.
21:40:58evanyou just need to be sure to run it with -Xint
21:41:50dbussinkevan: ah ok, well, is that fixable or is profiler + jit incompatible?
21:41:57evanit's fixed actually.
21:42:04evanit's just there is a mismatch
21:42:06evani need to remove -P
21:42:16evanand move starting the profiler into the -X range
21:42:23evanbecause you can profile jit'd code
21:42:32evanbut you have to set a flag BEFORE you start the JIT
21:42:36dbussinkevan: this is the ticket btw: http://github.com/evanphx/rubinius/issues#issue/115
21:42:40evanso inside the loader is too late
21:42:53evanum
21:42:57evanthat ticket is unrelated.
21:43:00evanalmost certainly.
21:43:20evanthats a explicit bug in the profiler.
21:43:25evanignore everything I just said.
21:43:34evancompletely different. case
21:43:44evanthough you still need to use -Xint to get decent results from the profiler atm
21:43:58brianmarionew site looks great guys
21:44:02evanbrianmario: thanks!
21:44:26dbussinki do see some jruby similarities :P
21:44:35evanhuh?
21:44:46dbussinkthe general layout
21:44:58dbussinklarge banner, menu above it
21:45:02evani doubt shane has even seen the jruby site
21:45:03dbussinkthree columns below it
21:45:03brixenthat's a pretty general style
21:45:08evanso thats pure coincindence.
21:45:18dbussinkjust something that triggered
21:45:49dbussinkmaybe it's me though
21:45:51evanbut you are right
21:45:55evanthey're similar layout wise
21:53:24VVSizdbussink, evan: we were discussing the new site over #jruby as well (noted the similar layout too) :) nice site overall. The Rubinius High Level Overview diagram is a bit buzzword-heavy: "Extensive Built in Functionality" - huh? :)
21:53:53evani didn't redo all the copy
21:53:57evanfrom the design copy
21:54:10evanruby has extensive builtin functionality itself
21:54:14evanso yes, so does rubinius.
22:06:42dbussinkevan: what could be causing the following script to keep growing in memory usage? https://gist.github.com/fbe80a99655056d01b3c
22:06:54evanno clue
22:07:40dbussinkevan: ah, well, it is on rubinius, what would be a good way to investigate?
22:07:53evanlook what sleep does
22:07:55evanin the code
22:08:00evansee if you can identify a memory leak
22:08:13evanif it uses Channels (it might) i think there is a memory leak there
22:08:23DefilerIsn't that going to create a Float in every loop?
22:08:30evanthere are 2 big leaks that i'm going to do deal with once i finish this performance tuning
22:08:46Defilerand will GC ever get a chance to run in that code?
22:09:18dbussinkDefiler: apparenlty it gets to run in mri
22:09:30dbussinknot seeing memory growth there
22:09:32evanwhat MRI does for this is not useful
22:09:39evanit's obviously a rubinius bug
22:09:51evani doubt "growing memory in a loop" is a expected behavior.
22:09:52evananyway
22:10:18evani see a check_interrupts instruction in the loop
22:10:24evanso yes, the GC is being run.
22:11:15dbussinkstill grows if i put the timeout value in a variable
22:11:55evanvery unlikely it's Float related.
22:12:02evango look at sleep.
22:13:06dbussinkit's sleep yeah
22:13:34dbussinkif i remove it keeps looping and gobbles up 96% cpu, but no leak
22:15:27evanput Object.new in the loop.
22:15:34evana hot loop with no body tests nothing.
22:19:21dbussinkevan: no growth either
22:19:33evanit's sleep
22:19:35evanas I suspected.
22:20:25evanwoop
22:20:32evanMRI: 0.98s
22:20:38evanRBX: 1.06s
22:20:41evanfor the pathname benchmark.
22:21:09dbussinkcool!
22:22:03dbussinkanyway, sleepy time for me
22:22:49evannite
22:24:02evanrad
22:24:09evan10x speed improvement in pathname over rc2
22:24:15DefilerSweet
22:24:16brixenheh awesome
22:24:23DefilerWait, more than that, right?
22:24:26DefilerLike 20x?
22:24:40evanway more in a bunch of lowlevel stuff
22:24:48evanthat all contributed to pathname
22:25:03dbussinkevan: ok, one more thing, also already happens when doing chan = Rubinius::Channel.new in the loop
22:25:14evanyep
22:25:18evani know about that one
22:25:43dbussinkah ok
22:26:21dbussinkgot to this by looking at #154, but i think i'll add a safety check for the thread creation and throw an error like mri does there
22:26:27dbussinkshouldn't be too hard to add
22:27:00evank
22:27:03dbussinkbut i guess the leak was also playing a part there, but if you know what it is, better to leave it then i guess
22:27:13dbussinkbut anyway, real sleep now
22:27:19dbussinknite!
22:27:48evanDefiler: File.basename is 75x faster
22:27:58evan61s on rc2, 0.8s on master
22:28:41rueHooray for algorithmic (?) optimisation
22:28:44DefilerNice
22:28:51evanyep
22:28:57evanentirely algorithmic
22:48:10evanok, wtf.
22:48:19evangetting ArgumentError on time again.
22:48:30brixenle sigh
22:48:34brixengoddammit
22:48:38evani got it.
22:48:50evansomething is up with not the specs
22:48:54evanbecause i did test this yesterday
22:49:02brixenhrm
22:49:32evanyep, ok.
22:49:34evanit's rubinius
22:49:51brixenok, so passing MRI?
22:49:53evanhttps://gist.github.com/061c3a12951252f8f0a7
22:50:03brixenhm
22:50:19evanand if I run the spec under MRI
22:50:20evanit's fine.
22:50:22evanso it's just rbx
22:50:23brixenok
22:50:41evani'll figure out why.
22:51:02brixendid we switch that to a primitive?
22:51:06brixenlooks
22:51:17evanmktime is a prim, yes.
22:52:23brixenyeah
22:52:42evani wonder...
22:53:06evanhm
22:53:23brixenI see a to_native() there
22:53:36brixenis tm.tm_sec 32bit?
22:53:58evannot sure.
22:54:11brixenme neither for 64bit
22:54:26brixenreally must install SL soon
22:54:43brixenI've got my old mbp backed up, just need to install it
22:54:52evanwell do it!
22:54:53evan:)
22:54:55brixenheh
22:55:10brixenthis randomness hints 64bit shit to me
22:55:17brixenlike that profiler bug I tracked
22:55:51brixenwhere it was precisely a to_native() instead of a to_ulong_long() call
22:55:59evanah
22:56:01evanyeah
22:56:13evanwell
22:56:17evanall of tm is int's
22:56:25evanso 32bit
22:56:42evanso the compiler is truncating the native_int to an int
22:56:45evanbefore assigning it.
22:58:12brixenhm
23:06:59evanoh holy fuck.
23:07:17evanMRI reimplement their own mktime
23:07:27evanthat understands pre-1969 years.
23:08:05brixenpacks MRI for time travel to before his birthday
23:08:43brixenRuby could corner the archeology app market
23:08:50evanhah
23:09:02evani guess i'll just forklift this code from MRI
23:09:12evani'm in no mood to go through it all.
23:09:16brixenheh
23:09:18brixensounds good
23:11:22evanyeah, wow.
23:11:23evanthis code...
23:11:25evanwow.
23:15:23brixenheh, pretty much need a costco-size pallet of wows for any such code spelunking
23:15:35evanyeah.
23:22:25rueYou all want to forward critique to Shane?
23:22:55brixenrue: you could open a ticket
23:23:51rueNovel thought!
23:26:06rueIn the logo section, the whitespace is not balanced. The top navigation is good, but the logo text could either be a bit smaller and further to the left, allowing dropping the rc2 tab downward, or then the kerning could be increased a bit. The font is slightly awkward against the logo r - and maybe a lowercase rubinius would be better.
23:26:55evani'll take them into consideration
23:27:02evanbut i disagree on some of these
23:29:42rueThe tagline colour-matched to the reflection, slightly smaller/italicised/script font. I am not a big fan of the light-blue abstract horizontal, particularly the colour but also the whitespace around it. The first three-column section is good, though the grey could be a bit darker. The "fold" effect should be removed, possibly by hitching the blue panel up a bit to clearly indicate continuation.
23:30:26rueThat section is otherwise good except for the (lack of) whitespace around the "high-level overview" header
23:30:37rueevan: Sure, these are just my impressions
23:30:39brixenrue: oh, when you said 'novel' I thought you meant 'new' haha
23:30:56rueNicely done
23:31:14brixenheh
23:31:15rueI can stick that in a ticket, easier to share
23:31:19brixenI agree with most of these
23:31:42brixenbut design esthetic is such a fickle beast
23:31:49brixenanyway, tickets are good
23:37:18rue#156
23:38:04brixenheh the title of #666 is reserved for "Rubinius is evil"
23:38:11brixenjust a heads up :)
23:38:18evanhah
23:38:46evanINCOMING
23:38:51boyscoutImprove File.join performance 5x - 1f544cf - Evan Phoenix
23:38:51boyscoutTry and report the class a block is in better - 027ce39 - Evan Phoenix
23:38:51boyscoutAdd String#find_string_reverse - 9e11e88 - Evan Phoenix
23:38:51boyscoutImprove String#rindex significantly - d4b4013 - Evan Phoenix
23:38:51boyscoutStyle fix - 03ad9ff - Evan Phoenix
23:38:52boyscoutRemove -P argument, it never worked right - eda6417 - Evan Phoenix
23:38:54boyscoutFix Pathname performance bug - 6eedafc - Evan Phoenix
23:38:56boyscoutAdd missing File.dirname test case - 0889ef8 - Evan Phoenix
23:38:58boyscoutDon't bother outputting anything in benchmarks - 33ad916 - Evan Phoenix
23:39:00boyscoutImprove File.basename and File.dirname by 75x - 49d87b8 - Evan Phoenix
23:39:02boyscoutIncorporate MRI's custom time_t calculator - 155e42c - Evan Phoenix
23:40:04brixensweet
23:40:12rue9e11e8857
23:40:25rue4e11e would have been apropos, but oh well
23:42:02evanpretty close though.
23:43:28rueUgh, singleton/eigen/meta bikeshed
23:43:48evanI extracted MRI's search_time_t into our util/time.c, calling it mktime_extended
23:44:00evanif you wanna go "HUH?" you should check it out.
23:46:32boyscoutCI: rubinius: 155e42c successful: 3022 files, 11694 examples, 35894 expectations, 0 failures, 0 errors
23:46:36brixenwas just looking at it
23:51:11evanfrom the svn logs
23:51:15evanit's been in there for quite a while
23:56:58evanok, coffee time.