Index

Show enters and exits. Hide enters and exits.

00:02:35enebo leaves the room.
00:06:56kofno__ enters the room.
00:06:59kofno_ leaves the room.
00:07:03defunkt enters the room.
00:07:49aotearoa leaves the room.
00:16:09djwhitt enters the room.
00:21:20radarek enters the room.
00:22:31kofno leaves the room.
00:23:12KirinDave leaves the room.
00:36:58benburkert enters the room.
00:40:41ezmobius leaves the room.
00:42:13ezmobius enters the room.
00:42:37ezmobius leaves the room.
00:56:29octopod enters the room.
01:12:44rueWtf, apparently I need to write an ORM myself
01:14:29antaresrue, how come?
01:16:42rueAll of these suck.
01:17:18cjheathYou too... :-)
01:17:32cjheathHave you looked at where I'm going with ActiveFacts?
01:20:08cjheathrue?
01:22:13rueNo
01:22:31rueAre you writing an ORM that does not suck and/or break? 'Cause I will read up
01:23:33cjheathActiveFacts uses fact-based (semantic) modeling, which is 6NF + semantic fact type readings....
01:23:42cjheathThat gets composited down to 3NF for the DB
01:23:50cjheathand also to an object-oriented API
01:24:07cjheaththe two will work together as an O/RM so you don't see the 3NF.
01:24:19cjheathSo the O/R mismatch disappears.
01:24:50cjheathSound tantalising?
01:26:25antarescjheath, any links to follow?
01:26:57cjheathhttp://dataconstellation.com/ActiveFacts, and the RubyForge project
01:27:49cjheathIt means using a new query language, BTW, which I'm writing in Treetop... called CQL, Constellation Query Language (no spec available yet).
01:28:05cjheathIt can completely replace SQL :-).
01:29:23antarescjheath, a friend of mine today announced his own DB based on ideas of git
01:29:30antarescjheath, http://www.novemberain.com/2008/2/3/strokedb-goes-public if you are interested
01:30:00cjheathCQL is like a restricted plain-English syntax for Prolog, based on invoking the fact types using the readings. It translates to SQl internally.
01:30:09cjheathThanks for that, will check.
01:30:41cjheathThe important thing about semantic modeling is that 6NF is stable, and 3NF isn't, in evolution.
01:31:21cjheathThere are some very interesting document stores, but it's not what I'm about with AF.
01:31:42cjheathI want to fix the problems
01:31:42antarescjheath, NF is for normal form?
01:32:00cjheathof agility associated with SQL and directly programming to the 3NFphysical models.
01:32:03cjheathyes
01:32:34antarescjheath, this looks interesting
01:33:05antarescjheath, I'll probably investigate AF more tomorrow. Now up to some Shotgun hacking :)
01:33:07cjheath3NF means that an attribute (which is functionally dependent) is stored as an attribute, even though notionally there is a separate relation there, and a join: Person has family-Name is a *relation*
01:33:48cjheathSo when the functional dependence goes away, or the attribute grows an attribute of its own, it becomes a table, and all your SQL must be re-written to use a join
01:34:09cjheathhence 3NF is unstable, 6NF isn't.
01:34:20antarescjheath, I'm basically familiar with normal forms. I just need to remember which form means what :)
01:34:31cjheathFeel free to email me, of course.
01:34:37jkh enters the room.
01:34:51cjheath6NF here basically means that you have at most one non-key attribute in a relation.
01:35:57cjheathTerry Halpin's seminal book is about to be re-issued as 2Ed, if you want to learn more.
01:36:49cjheathI call it 6NF for folk familiar with the relational mode, but in Object Role Modeling, it's called "elementary form", i.e. not compound.
01:36:59cjheathOk, cya later - back to shotgun for you!
01:37:35chris2_ leaves the room.
01:38:26antarescjheath, alright!
01:44:08ruecjheath: Looks good!
01:44:17rueOnly remaining question is whether it breaks ;)
01:45:48cjheathbreaks?
01:46:17cjheathI reckon the biggest question is when I get to finish it :-)
01:47:00cjheathIt's such a break from the traditional approaches that I've spent most of a year just getting my head around the concepts.
01:47:18benburkert leaves the room.
01:47:23cjheathLooking for some collaborators...
01:48:34aotearoa_ leaves the room.
01:50:01rueI am just tired, been dealing with stupid design, broken frameworks and idiotic adapters the entire weekend
01:51:42cjheath:-)
01:51:53cjheathUsing DataMapper?
01:52:15cjheathI've heard a few folk complaining... I was thinking of building on Sequel instead.
01:53:37cjheathThe idea of a strong, small fast SQL interface, and the O/RM above that, seems to me the right idea... especially since I only want the former :-)
01:56:41rueYeh, well, Sequel sucked too
01:57:33cjheathOuch. Which framework has the best (smallest) cross-DB interface though. I don't care about the API, as long is as it doesn't have anything non-essential to bridging the SQL engines.
01:57:46cjheathSince I'm goingto hide that anyhow.
01:57:50rueAnd, ah, illustrative of the types of issues I have been running into is that e.g. Og's SqliteAdapter#close calls super() -- and the superclass implementation is raise NotImplementedError
01:58:01cjheath:-(
01:58:34cjheathRuby needs essentially a new DBI, that the O/RMs can build on.
01:58:40cjheathAR ain't it!
01:58:42rueWhy would you even put it there? Half of this crap makes no sense and the rest is not documented
02:00:06cjheathThis is an example of how far behind Ruby is: http://adodb.sourceforge.net/
02:04:05cjheathFully documented, every release regression tested on all DBs, fast, all enterprise features (stored procs, etc, etc). Most of the things I raised in my "Enterprise Rails" BOF presentation at RailsConf in Portland last year.
02:05:22cjheathAbout which the Ruby community has done basically zip in that time, except spawn several new half-baked "solutions".
02:10:20jkh leaves the room.
02:20:01jkh enters the room.
02:28:39eventualbuddha leaves the room.
02:36:52Swistak enters the room.
02:43:18aotearoa enters the room.
02:46:56VVSiz_ enters the room.
02:51:13KirinDave enters the room.
02:53:01rueSome of this is extremely poorly speccable
02:53:15rueNone of these frameworks handle disconnects and reconnects
02:53:17rue~well
02:54:02kofno enters the room.
02:55:15VVSiz leaves the room.
02:55:57UncleD leaves the room.
02:56:04UncleD enters the room.
02:56:12RyanTM leaves the room.
02:56:23_mutle enters the room.
02:58:15RyanTM enters the room.
02:58:18lopex leaves the room.
03:00:53benburkert enters the room.
03:04:00mutle leaves the room.
03:06:20octopod leaves the room.
03:12:04dodecaphonic leaves the room.
03:33:40nicksieger leaves the room.
03:41:22rueWell, looks like we have about eighteen billion new tickets
03:42:49benburkert leaves the room.
03:49:34Fullmoon enters the room.
03:53:53Judofyr leaves the room.
04:05:55dewd_ leaves the room.
04:09:26ezmobius enters the room.
04:09:27GMFlash leaves the room.
04:09:31GMFlash enters the room.
04:26:43headius enters the room.
04:35:39radarek leaves the room.
04:45:08d2dchat leaves the room.
04:45:20twbray enters the room.
04:51:21KirinDave leaves the room.
04:52:36d2dchat enters the room.
05:00:38wmoxam enters the room.
05:05:41drbrain enters the room.
05:06:06drbrainhttp://rafb.net/p/GQ5jAo50.html
05:06:16drbraincan somebody paste that into rubinus' irb?
05:06:28drbrainI get wrong number of arguments (got 3833, required 1024) (ArgumentError)
05:09:04lstoll_ enters the room.
05:11:04evandrbrain: we have a hard max of 1024 arguments currently
05:11:16drbrainevan: that's a String
05:11:40drbrainit shouldn't cause any exception raising
05:12:29drbrainoh, eww
05:12:36evani get the same
05:12:40evanit's inside IRB's parser.
05:12:49drbrain@rests.concat line.split(//)
05:12:56evanexactly.
05:12:56drbrainthat's why
05:13:32evani've been thinking about a different way to handle splatted args
05:13:38drbrainyeah
05:13:41evanshould we look into that? or do you think that having a max on args is ok?
05:13:51aasmithare threads in rubinius green or native?
05:13:51rueIRB is the awesomest.
05:14:05drbrainI think for splatted args, it should be fixed
05:14:22rueaasmith: Green, if you use Thread. The multi-VM uses native threads
05:14:33evanhm. ok.
05:14:33aasmithah
05:14:36rueEventually to be M:N
05:14:51evani need to figure out a way to do it in a way that doesn't requiring a bunch of VM code
05:15:10drbrainbut, it's not critical now
05:17:51evanthe problem now is that doing "obj.call *args" causes the the contents of args to put placed on the operand stack
05:18:00evanwhich makes it completely unbounded
05:18:08lstoll_ leaves the room.
05:18:17lstoll leaves the room.
05:18:25KirinDave enters the room.
05:18:28drbrainI wouldn't worry about it
05:18:31evank
05:18:33drbrainjust slap a TODO on it
05:18:41evanKirinDave: think you could give me a little dtrace help?
05:19:55KirinDaveevan: I can try!
05:19:57KirinDaveevan: What do you need?
05:20:30evani've added some probes
05:20:40evani have a begin and end probe
05:20:54jessop enters the room.
05:20:58evanall i want to do is print out the total time spent between begin and end
05:21:05evanthe accumulated time
05:22:07KirinDaveAh
05:22:14headius_ enters the room.
05:22:14KirinDaveIn each probe?
05:22:19KirinDaveNo problem, one sec.
05:22:29KirinDaveSorry if I'm a bit scatterbrained, I'm watching Robin B. Hood.
05:22:39evanyeah, i want to just add up the time for each slice
05:22:41evanand print it out.
05:22:50evani'm trying to get instruments to show anything
05:22:54evanbut not getting much success.
05:23:05aotearoa leaves the room.
05:23:22evani'd be happy with getting something that just printed out the probes were firing
05:23:25aotearoa enters the room.
05:23:31jessop leaves the room.
05:23:41KirinDaveevan: : Have you checked out http://blogs.sun.com/ahl/entry/mac_os_x_and_the ?
05:23:57KirinDaveThat's an example of a series of probes doing exactly what you want.
05:24:13evani'll do that now.
05:24:52KirinDaveevan: I'll look for an example using the primitive you want.
05:24:59evanhm
05:25:02evanthat just seems to tick all the time.
05:25:09evanit's not targetted at all.
05:26:33evani have a probe called vm__lookup__begin()
05:26:36evanwould that just be
05:26:41evanrubinius$target:::vm-lookup-begin
05:26:42evan?
05:26:59KirinDaveevaN: Yeah
05:27:10KirinDaveevan: Well it'd be from the pid provider for your process
05:27:31KirinDaveevan: http://www.filibeto.org/~aduritz/truetrue/solaris10/dtrace-intro.html is the first good tutorial I found. Do a find for "timestamp"
05:28:06KirinDaveevan: They show exactly how to do a quantization of the duration of a number of calls. You just form a hash of start and stop times
05:28:13KirinDaveAnd then you can use lquant or print.
05:28:38evanwhat I don't get is how the name of the probe is fined
05:28:40evandefined
05:28:43evanthat doc has stuff like
05:28:52evansyscall::exec*:return
05:29:05evanor the custom userspace ones all the same format?
05:29:06evanie
05:29:14evan<provider>:::<name>
05:29:24KirinDaveAhh
05:29:34KirinDaveSo for a given pid it's pidXXX:
05:30:01jessop enters the room.
05:30:24KirinDaveevan: The pid provider is documented in http://docs.sun.com/app/docs/doc/817-6223/chp-pid?a=view
05:30:35evani don't see how the pid provider comes into this at all
05:30:39headius leaves the room.
05:30:40evani'm missing something
05:30:56KirinDaveevan: Your custom rubinious static probe points
05:31:02KirinDaveThey're provided throught he rubinious provider.
05:31:08evanrubinius, yes.
05:31:09KirinDaveAn example
05:31:09KirinDavepid123:libc.so.1:strcpy:entry
05:31:11KirinDaveErr, sorry
05:31:23KirinDaveSo pid123:rubnius:probename::
05:31:38evanum
05:31:46evanwhy don't the ruby probe examples have any of that?
05:31:57KirinDaveWhat probe type do they use?
05:32:05evanhttp://svn.joyent.com/opensource/dtrace/ruby/examples/rb_functime.d
05:32:23KirinDaveAhh
05:32:31evanthis script, i'm realizing, is probably what i want to go from
05:32:42KirinDaveNm, I'm working from the old leopard docs. :)
05:32:50KirinDaveNow you can use the raw provider with a pid wildcard.
05:32:52KirinDavehttp://docs.sun.com/app/docs/doc/817-6223/chp-usdt?a=view
05:33:01jessop leaves the room.
05:33:14notheory enters the room.
05:33:23evanKirinDave: i've used that URL
05:33:31evandoesn't have any info on how to consume the probes
05:33:34evanwhich is the point i'm at.
05:33:55KirinDaveHave you used the dtrace executable before
05:34:12evannever.
05:34:24evannever used it before today, period.
05:34:59KirinDaveOh. Okay, I was misunderstanding.
05:35:43KirinDaveLet me pastie an example
05:38:08KirinDaveevan: http://pastie.caboo.se/147127
05:38:37headius enters the room.
05:38:39evani'm getting that dtrace doesn't have a function called print()
05:38:42evani tried that.
05:38:47evanor something similar.
05:38:48jessop enters the room.
05:39:14KirinDave Err, I typo'd.
05:39:15KirinDaveIt's printf. :)
05:39:21jessop leaves the room.
05:39:36evanrun that how?
05:39:44evansudo dtrace -s file.d
05:39:45evan?
05:39:55KirinDaveYeah.
05:40:19KirinDaveThe sun introduction is very good.
05:40:35evanalways says that the probe description doesn't match
05:40:47KirinDavehttp://docs.sun.com/app/docs/doc/817-6223/6mlkidlf1?a=view
05:40:50evansudo dtrace -l | grep rubinius
05:40:52evanis showing things though.
05:41:03evanif i run it while a rubinius program is running
05:41:06KirinDaveWell yeah
05:41:25evanhey, this is my first day.
05:41:28evanthats not a given to me.
05:41:49KirinDaveAh. :)
05:42:33evanthat intro doesn't have anything on application probes
05:42:37KirinDaveYeah,
05:42:40headius_ leaves the room.
05:42:42evanand the only thing it lists on them is one section on how to add them to the application
05:42:47evannot on how to pick them up.
05:42:54twbray leaves the room.
05:42:56KirinDaveSo the :::: is just basically the stuff from dtrace -l minus the first comma. :)
05:43:02KirinDaveSo run dtrace -l while your program is up.
05:43:11KirinDaveAnd grep and grab a line.
05:43:12evanso
05:43:13evancan i do
05:43:20evanrubinius*:*:*:*
05:43:25evanto just fire on fucking everything.
05:43:28KirinDaveYou might be able to, yeah
05:43:35KirinDaveI'm not sure if app probes let you do that, tbh.
05:44:08evanhave you used application probes ever?
05:44:16KirinDaveNot this way
05:44:22KirinDaveI use them via the pid provider.
05:44:41KirinDaveI'd grab examples but I'm at the wrong computer in mid movie.
05:44:53evanok
05:44:59evani'll see if i can get them working.
05:45:04KirinDaveSorry I can't be more help atm.
05:45:15drbrainwow, I didn't know File.open takes 3 args
05:49:02evanyay!
05:49:03evanfinally.
05:49:20evanok, now i have to figure out how to start this up more elegantly.
05:49:25wmoxam leaves the room.
05:52:17drbrainnow, if I can only find where this is implemented
05:56:26twbray enters the room.
06:02:19rueOh give me a fucking break
06:02:37evano/~ break me off a piece o' dat kit-kat bar! o/~
06:02:53evanhrm
06:03:10evandoing this via dtrace instead of gettimeofday directly is SOO much slower.
06:03:14ruet.chap = nil; t.update; t.save; DB.db.cache = nil; t.chap # => THE SAME OLD FSCKING OBJECT
06:03:28rueSeriously, what the hell. I am going to bed
06:03:35evannite o!
06:04:07be9 enters the room.
06:04:45drbrainfuck
06:06:20drbrainhaha
06:06:51drbrainIO#initialize is teh suck
06:07:11drbrainactually, IO::open
06:07:13evanhow come?
06:07:18drbrainsince TCPSocket < IO
06:07:29drbrainbut, File < IO also
06:07:37evanarg.
06:07:37drbrainso, File.open 'foo', 'w', 0600
06:07:58drbrainfails, because most everywhere else two arguments are expected
06:07:59evanare you getting Invalid descriptor?
06:08:06drbrainno
06:08:09evanooh
06:08:12drbrainwrong number of arguments
06:09:05evansweetness.
06:09:11drbrainswitching to *args seems better
06:09:21evanclock() == microsecond
06:10:07drbraininteresting
06:10:08evandrbrain: i'd prefer using Undefined
06:10:15drbrainman 3 clock
06:10:21drbrainevan: huh?
06:10:21evansince we don't actually accept any number of args
06:10:43evanusing *args when you actually do have a fixed number of args is yucky.
06:10:54drbrainIO::open accepts any number of args
06:10:54evanthe code is always nastier than using Undefined
06:10:55solarcedear me, now I want to play with git
06:10:59drbrainIO#initialize checks
06:11:05drbrainor TCPSocket or File or ...
06:11:06evandrbrain: ah.
06:11:13evanwell, thats a horse of a different color.
06:11:13drbrainor ::new
06:11:25evan*args is correct there.
06:11:30evanbecause you don't know the arg count at all.
06:11:38drbrainyeah
06:11:48pkondzior leaves the room.
06:13:18drbrain12 failures/errors in RubyGems tests on Rubinius
06:13:30evanWOW!
06:13:33ezmobiusnice
06:13:34evanthe last 12?
06:13:37drbrain(minus excluded tests)
06:13:51drbrainyeah
06:14:05drbrainI think that means it's fully usable now
06:14:18evanDOPE.
06:14:19evanso
06:14:20drbrainseveral of the failing tests are poor tests
06:14:27drbrainstrictly comparing YAML output and such
06:14:28evanso, how do you want to handle it being 'builtin'?
06:14:47drbrainsame as 1.9 (minus gem_prelude.rb)
06:14:56evani don't know how it's done in 1.9
06:15:04evanjust import a specific svn revision?
06:15:13drbrainactually, we could you gem_prelude.rb, if we wanted
06:15:16evanand then manually update it for future versions?
06:15:17drbrainyeah
06:15:24drbrainyeah
06:15:31evancool, that should be easy.
06:15:37evanwhats in gem_prelude.rb?
06:16:08drbrainit stuffs the load paths from the latest gem revisions into $LOAD_PATH
06:16:08evancrap.
06:16:14evanclock() is SOO much slower than gettimeofday.
06:16:15evanoh well.
06:16:24drbrainand has a wrapper to load the real RubyGems if you try Kernel#gem or Gem.blah
06:16:32evanwell
06:16:37evani'll leave that up to you
06:16:41headiusMRI defines separate initialize for File
06:16:59drbrainha, clock(3) refers to clocks(7) which isn't installed
06:17:05evanon darwin
06:17:10drbrainso does rubinius
06:17:11evanclock() just calls getrusage
06:17:14drbrainyeah
06:17:25evanand has to have a giant struct filled in
06:17:33drbrainwhich is a system call
06:17:38evanright
06:17:40evanso is gettimeofday
06:17:49evanbut it's vastly quicker it seems
06:19:09KirinDave leaves the room.
06:25:59headiusheh
06:26:02headius"However, the two sides discussed how a capital infusion could help Engine Yard work on some key open source projects that can help Rails perform better, including Rubinius (a more robust and speedier version of Ruby) and Merb (an adjunct of Rails)."
06:27:02evaneh?
06:27:19headiusfrom a venture capital online mag
06:27:28evanha! funny.
06:27:40headiusgood to hear rubinius is already more robust and speedier
06:28:03evannice jab.
06:28:08evanhits headius with a hook.
06:28:18headiushey, I'm just quoting the article :)
06:30:52ezmobius i just got merb-core running on webrick on rubinius to serve a page \m/
06:31:52hornbeck enters the room.
06:31:54brixenezmobius: awesome!
06:32:29drbrainezmobius: did you see my wiki?
06:32:37ezmobiusnope, link?
06:32:45drbrainhttp://rafb.net/p/fHSrHo57.html
06:33:08ezmobiusnice
06:33:36drbrainmarkup, style, history with only RCS as the external dependency
06:33:46ezmobiusthe awesome thing is i only had to change like 20 lines of code, and vendor all the gems and unshift them into $:
06:34:05drbrainI'd run it public, but Rubinius has a strong distaste for FreeBSD 6
06:35:37boyscout3 commits by Eric Hodel
06:35:38boyscout * Give Zlib errors the right class, fix Zlib::GzipWriter.; ed491d2
06:35:39boyscout * IO::open accepts any number of args to support subclassing.; f022ae3
06:35:40boyscout * Remove unused Compression::ZLib; 983d053
06:36:22drbrainoh, that last one might require a clean:rbc
06:39:46agardiner leaves the room.
06:40:26drbrainlater
06:42:49d2dchat leaves the room.
06:45:23leavengood leaves the room.
06:46:04evaninteresting.
06:46:31evanso, rubinius spends around 47% of it's time just in the method lookup / context creation / context activation code.
06:48:02aasmith leaves the room.
06:48:49rubuildiusEric Hodel: ed491d27e; 4656 examples, 17064 expectations, 0 failures, 0 errors
06:49:18d2dchat enters the room.
06:49:18d2dchat leaves the room.
06:50:24brixenwow
06:51:24ezmobiushmm shoudl Regex.escpape be working? seems like it doesnt.
06:51:24ezmobiusirb(main):002:0> Regexp.escape"/ffo/"
06:51:25ezmobius=> "/ffo/"
06:51:39evanthe numbers are odd though...
06:52:16brixenezmobius: irb does the same, / isn't a special regexp char
06:52:29brixens/mri/irb/
06:52:34brixenor vice versa :P
06:52:50brixenevan: how so?
06:53:21evanoh oh.
06:53:21evannm.
06:54:00evanseems that half of that is the lookup, half is the context creation and activation.
06:56:16jkh leaves the room.
06:56:20evanhrm.
06:56:33evani need to figure out how to calculate the overhead of measuring...
06:57:26ezmobiusbrixen: ahh its Regexp.new that is differnet http://pastie.caboo.se/147141
06:57:52evannope
06:57:56evanthats just the display probably
06:58:09evando
06:58:14evanRegexp.new(whatever).source
06:58:15evanin both
06:58:19ezmobiusk
07:00:46ezmobiusevan: http://pastie.caboo.se/147142
07:00:49ezmobiusits not an irb thing
07:01:37evanno
07:01:41evanyou need to be printing out .source
07:01:44evanof the Regexp object
07:01:54evandon't use Regexp#inspect or Regexp#to_s
07:02:14ezmobiuswell in merb's router i actually use the string returned via Regexp.new when i build up the string of routes to ve evaled
07:02:23evanew
07:02:25evanyou should not.
07:02:27ezmobiuswhat shouldi do inetad?
07:02:28evanyou should always use #source.
07:02:31ezmobiusinstead
07:02:40ezmobiussounce is not the escaped version though
07:02:43ezmobiussource even
07:02:46evanotherwise you depend on the output of Regexp#source
07:03:04evanhm
07:03:15evanthen Regexp#inspect needs to be fixed.
07:10:45Judofyr enters the room.
07:12:48KirinDave enters the room.
07:20:21zimbatm enters the room.
07:21:27Judofyr leaves the room.
07:24:40ezmobius_ enters the room.
07:28:31wifelette enters the room.
07:30:39mfp leaves the room.
07:31:07pkondzior enters the room.
07:36:18KirinDave leaves the room.
07:38:23defunkt enters the room.
07:38:32lopex enters the room.
07:44:16Fullmoon leaves the room.
07:45:03VVSiz enters the room.
07:46:59mfp enters the room.
07:47:52aotearoa leaves the room.
07:52:21VVSiz_ leaves the room.
07:54:38lstoll enters the room.
07:55:34jtoy enters the room.
07:55:54tmpk leaves the room.
07:56:47random8r enters the room.
07:57:25random8r enters the room.
07:57:45pergesu leaves the room.
07:59:29defunkt leaves the room.
08:05:08twshelton_ leaves the room.
08:07:03pkondzior leaves the room.
08:14:52random8r leaves the room.
08:23:05defunkt enters the room.
08:24:43lopex leaves the room.
08:27:14thehcdreamer enters the room.
08:31:41imajes enters the room.
08:35:10twshelton enters the room.
08:42:19_mutle leaves the room.
08:43:02mutle enters the room.
08:43:18aotearoa enters the room.
08:45:13imajes leaves the room.
08:49:25headius leaves the room.
08:51:18imajes enters the room.
08:54:52Fullmoon enters the room.
08:56:09Fullmoon leaves the room.
08:57:25gnufied enters the room.
09:00:49Swistak leaves the room.
09:01:01aotearoa leaves the room.
09:12:48octopod enters the room.
09:12:49imajes leaves the room.
09:13:54imajes enters the room.
09:14:22imajes leaves the room.
09:16:38twbray leaves the room.
09:18:02imajes enters the room.
09:18:17imajes leaves the room.
09:25:26binary42 leaves the room.
09:26:12Fullmoon enters the room.
09:47:42ezmobius_ leaves the room.
10:02:00pkondzior enters the room.
10:03:48ezmobius leaves the room.
10:07:22Fullmoon leaves the room.
10:13:32gnufied_ enters the room.
10:20:03gnufied_ leaves the room.
10:24:06Arjen_ enters the room.
10:26:13defunkt leaves the room.
10:31:11imajes enters the room.
10:31:24SIGVTALRM enters the room.
10:32:04aotearoa enters the room.
10:32:46mfp leaves the room.
10:52:52geekounet leaves the room.
11:02:39chris2 enters the room.
11:05:42aotearoa_ enters the room.
11:08:42aotearoa_ leaves the room.
11:30:06aotearoa leaves the room.
11:31:59aotearoa enters the room.
11:35:28ragge enters the room.
11:44:45VVSiz leaves the room.
11:51:11VVSiz enters the room.
11:51:34dodecaphonic enters the room.
11:53:02dbussink enters the room.
12:04:54mutle leaves the room.
12:05:39mutle enters the room.
12:17:58Jzalae leaves the room.
12:22:59antares_ leaves the room.
12:39:41antares enters the room.
12:45:17ragge leaves the room.
12:49:46Fullmoon enters the room.
12:56:26boyscout1 commit by Vladimir Sizikov
12:56:27boyscout * More rubyspecs for IO#eof?.; 0e0a987
13:02:20dodecaphonic leaves the room.
13:03:29ctennis_ enters the room.
13:05:11ttmrichter enters the room.
13:08:51rubuildiusVladimir Sizikov: 0e0a98778; 4656 examples, 17066 expectations, 0 failures, 0 errors
13:13:46ttmrichter leaves the room.
13:20:57boyscout1 commit by Vladimir Sizikov
13:20:58boyscout * Added new rubyspecs for IO#getc and IO#getchar.; 29db340
13:23:20smartocci enters the room.
13:26:46boyscout1 commit by Vladimir Sizikov
13:26:47boyscout * One more test for IO#eof?.; 40414ad
13:32:53ragge enters the room.
13:34:58antares leaves the room.
13:39:46rubuildiusVladimir Sizikov: 40414ad1b; 4656 examples, 17066 expectations, 0 failures, 0 errors
13:39:47rubuildiusVladimir Sizikov: 29db340f2; 4656 examples, 17066 expectations, 0 failures, 0 errors
13:45:14wmoxam enters the room.
13:51:38antares enters the room.
13:59:37smartocci leaves the room.
14:01:19smartocci enters the room.
14:06:54notheory leaves the room.
14:08:42dewd enters the room.
14:12:09wmoxam leaves the room.
14:22:05dbussink leaves the room.
14:22:15knowtheory enters the room.
14:26:03geekounet leaves the room.
14:34:14imajes_ enters the room.
14:34:53wmoxam enters the room.
14:34:56RyanTM leaves the room.
14:35:06twshelton leaves the room.
14:35:58probablycorey enters the room.
14:36:21RyanTM enters the room.
14:38:48djwhitt enters the room.
14:40:56Judofyr enters the room.
14:41:41imajes leaves the room.
14:53:19squeegy leaves the room.
14:53:22djwhitt enters the room.
15:01:12dodecaphonic enters the room.
15:02:29moofbong enters the room.
15:06:56skaar enters the room.
15:13:22dbussink enters the room.
15:16:45daikini enters the room.
15:21:13boyscout2 commits by Vladimir Sizikov
15:21:14boyscout * New exclusions for rbx.; b4f6c33
15:21:15boyscout * Added new tests for IO's pos, pos=, rewind, seek on closed streams.; 6030928
15:33:52rubuildiusVladimir Sizikov: b4f6c33c1; 4656 examples, 17066 expectations, 0 failures, 0 errors
15:36:48boyscout1 commit by Vladimir Sizikov
15:36:49boyscout * Added new rubyspecs for IO#sync and IO#sync=.; cfa1ef2
15:40:48mad_phoenix enters the room.
15:44:24rubyconsumer enters the room.
15:46:39moofbong_ enters the room.
15:48:51rubuildiusVladimir Sizikov: cfa1ef21c; 4656 examples, 17066 expectations, 0 failures, 0 errors
15:49:38rubymaverick enters the room.
16:01:21moofbong leaves the room.
16:01:57KirinDave enters the room.
16:02:00d2dchat enters the room.
16:03:19twbray enters the room.
16:07:26boyscout1 commit by Vladimir Sizikov
16:07:27boyscout * Added rubyspecs for IO#pid.; a1d7b67
16:09:30GMFlash leaves the room.
16:09:34GMFlash enters the room.
16:16:23twbray leaves the room.
16:16:24enebo enters the room.
16:17:09KirinDaveI'm
16:17:13KirinDaveblown away...
16:17:15KirinDavehttp://www.google.com/patents?id=WE8GAAAAEBAJ&dq=6205469
16:17:38KirinDaveevan: You'd better get on patenting part of rubinius's core api. For protection.
16:18:21djwhittI'm suprised people didn't already know about that patent
16:18:51rubuildiusVladimir Sizikov: a1d7b6794; 4656 examples, 17066 expectations, 0 failures, 0 errors
16:19:13KirinDaveIt's the kind of patent that eventually gets thrown out as unsupportable.
16:19:21boyscout1 commit by Vladimir Sizikov
16:19:22boyscout * Added rubyspecs for IO's putc, puts, printf, print and closed streams.; f27fe4f
16:19:38djwhittI doubt Yahoo would enforce it anyway
16:19:41djwhittstill sucks though
16:20:59KirinDavedjwhitt: And if MS buys yahoo!...
16:21:14djwhittyeah...
16:21:19KirinDavedjwhitt: There's another bullet in the gun of ms's anticompetitive engine.
16:21:44djwhittthat's ok I'm not sure if anyone at MS actually knows what a continuation is ;)
16:28:42rubymaverickeh, who wants to use a continuation based web server anyway
16:28:52rubuildiusVladimir Sizikov: f27fe4f3e; 4656 examples, 17066 expectations, 0 failures, 0 errors
16:29:24KirinDavedjwhitt: That's not true. There are tons of smart people at MS.
16:29:36KirinDavedjwhitt: Tons of brilliant people, all throwing their lives away for a monthly paycheck. :)
16:30:00KirinDaveThat patent applies to rails though.
16:30:18KirinDaveBecause continuations are the math building block of al control structures.
16:33:02djwhittKirinDave: yeah, there are plenty of smart people at MS. it's just fun to pretend there aren't
16:34:39djwhittKirinDave: I'm not sure you could apply that patent Rails
16:34:45KirinDaveWhy not
16:34:57tmpk enters the room.
16:35:03KirinDaveRails uses functions, which can be reduced to continuations.
16:35:32KirinDaveheck, rails uses lambdas, which are just a slight step up from continuations.
16:35:49djwhittproviding continuation functions associated with each of a plurality of links, wherein a continuation function includes a reference to a continuation argument representing a remaining sequence of instructions for subsequent execution;
16:35:51djwhittthat part
16:36:21KirinDaveHow is that different from tying a link to a routing entry?
16:36:28djwhittI guess I'd have to read the rest of it to be sure
16:36:40KirinDaveI read the whole thing and it seemed unreasonably general to me.
16:36:54djwhittah, well, you probably know better than I do then
16:39:16djwhittI figured it was only talking about using continuations to make requests look like method calls to the programmer
16:39:33KirinDaveHeh, how is that any different from rails? :D
16:40:30djwhittRails views don't hide that much from you
16:40:36djwhittyou still know you're making HTTP requests
16:40:38antares leaves the room.
16:41:14antares enters the room.
16:42:18djwhittyou can't write something like
16:42:18djwhittcolor =
16:42:18djwhittshow_form(color)
16:42:23djwhitterr... sorry incomplete...
16:42:44djwhittmaybe I should just dig up someone else's code to illustrate what I'm talking about
16:43:24djwhitthttp://www.seaside.st/about/examples/counter?26&_k=ujUYVvpA&_n&_s=RSOORzBzgfdxLKut
16:43:26djwhittthere we go
16:43:30djwhitthopefully that link works
16:44:37KirinDaveI could trivially recreate that in rails, the code would be nearly identical.
16:44:38chris2 leaves the room.
16:44:47chris2 enters the room.
16:44:48KirinDaveI mean, it'd be mostly different in punctuation.
16:45:01djwhitthow are you going to specify the callback?
16:45:10KirinDaveWith a string.
16:45:23KirinDaveIn the html
16:45:30KirinDaveOh, for that, it'd be a block.
16:46:02KirinDaveAll I need is a null route and a bit of code to gloss over said route, and it'd be exactly the same.
16:46:10UncleD leaves the room.
16:46:14djwhitthmm... I'll take your word for it
16:48:58Fullmoon leaves the room.
16:53:03Fullmoon enters the room.
16:53:24KirinDave leaves the room.
16:53:47Fullmoon leaves the room.
16:56:31ctennis leaves the room.
17:08:47agile leaves the room.
17:10:36boyscout1 commit by Vladimir Sizikov
17:10:37boyscout * New rubyspecs for IO#ungetc.; 4980bb8
17:11:51noclue123 enters the room.
17:14:02technomancy enters the room.
17:14:04pkondzior leaves the room.
17:15:06antares leaves the room.
17:17:20aotearoa_ enters the room.
17:23:59rubuildiusVladimir Sizikov: 4980bb83f; 4656 examples, 17066 expectations, 0 failures, 0 errors
17:26:30Arjen_ leaves the room.
17:27:17sudoer enters the room.
17:27:56aotearoa leaves the room.
17:32:07twbray enters the room.
17:34:49thehcdreamer leaves the room.
17:40:37boyscout1 commit by Vladimir Sizikov
17:40:38boyscout * New rubyspecs for IO#to_io.; 3ae3caf
17:41:52jessop enters the room.
17:44:22jtoy leaves the room.
17:44:33rueNice work on the specs, VVSiz
17:44:50VVSiz:)
17:51:14jessop leaves the room.
17:51:46perplexes enters the room.
17:53:26jessop enters the room.
17:53:52rubuildiusVladimir Sizikov: 3ae3cafcb; 4656 examples, 17066 expectations, 0 failures, 0 errors
18:01:55zimbatm leaves the room.
18:04:10Arjen_ enters the room.
18:08:10mad_phoenix leaves the room.
18:12:42mad_phoenix enters the room.
18:12:43mad_phoenix leaves the room.
18:18:40jbarnette enters the room.
18:22:33boyscout1 commit by Vladimir Sizikov
18:22:34boyscout * More rubysecs for IO methods invoked on closed streams.; 12e8d88
18:24:20DefilerI'll bet $20 that those are incredibly specific to particular versions of MRI ;)
18:24:38VVSiz:)
18:24:46VVSizMRI 1.8.6 p111 is the target
18:25:05Defiler:)
18:25:09VVSizand actually they are pretty consistent for different versions of MRI 1.8.6, and even MRI 1.9
18:25:34DefilerNice
18:27:08evanmorning
18:27:09evanish.
18:27:23VVSiz:)
18:27:41zimbatm enters the room.
18:33:53rubuildiusVladimir Sizikov: 12e8d881b; 4659 examples, 17068 expectations, 0 failures, 0 errors
18:35:46imajes leaves the room.
18:37:17octopod leaves the room.
18:38:08headius enters the room.
18:39:32agile enters the room.
18:41:31twbray leaves the room.
18:42:44twbray enters the room.
18:46:08Defilerbrixen: around?
18:47:49boyscout1 commit by Vladimir Sizikov
18:47:50boyscout * And yet more specs for IO methods with closed streams.; 6e22a99
18:48:43Smirnovhello all
18:49:17evanallo
18:49:27Smirnovevan: youre project leader Evan Musing, right?
18:49:40evanEvan Phoenix is my name, yeah
18:49:49evanand yeah, I'm project leader.
18:50:03Smirnovwait, why does your site say evan.musing then
18:50:09sudoer leaves the room.
18:50:11evanthats just the name of my blog.
18:50:18Smirnovoh ok, sorry for the confusion :)
18:50:19evanit's a ruby joke.
18:50:24djwhittI think it's method call on evan
18:50:38Smirnovsorry i wasnt aware of a method caled "musing" that does anything
18:51:15fizx enters the room.
18:52:56ragge leaves the room.
18:53:17Smirnovim a little confused, i get the impression that rubinius is mostly written in Ruby and yet I see there is some C
18:53:25fizx leaves the room.
18:53:41djwhittthe vm is written in C
18:53:56drbrainSmirnov: that's because we haven't gotten rid of the rest of the C yet
18:53:57djwhittand there are a bunch of libraries for handling math, regexes, etc. that are in C
18:54:42dbussinkDefiler: you saw my commit to your branch?
18:54:53tarcierikind of hard to go from zero to a performant self-hosting implementation
18:55:06Smirnovooh, i didnt know there was a ruby->C code generator
18:55:16djwhittI don't think there is yet
18:55:22djwhittthat's a goal though (I think)
18:55:29tarcierithere's something to that effect... a gem for 1.8
18:55:38tarcieriruby2c iirc
18:56:27tarcieriask zenspider about that I guess... looks like he wrote it
18:56:49drbrainyeah
18:56:51drbrainruby2c
18:56:57drbrainit's not perfect
18:57:53Smirnovok im thinking about proposing writing an LLVM target for Rubinius for my compilers class semester project. is that something people here would appreciate?
18:58:07evancourse!
18:58:18evanhave you worked with LLVM at all?
18:58:40tarcieriSmirnov: did you see that explicitly managed stack frames hack I pasted?
18:58:43tarcieriSmirnov: for llvm
18:58:45Smirnovyeah im in a research team for safe C using llvm evan
18:59:08tarcierievan was saying it's not portable :/
18:59:09Smirnovtarcieri: nope and i havent the fainteset idea where i would find it
18:59:12rubuildiusVladimir Sizikov: 6e22a9935; 4659 examples, 17068 expectations, 0 failures, 0 errors
18:59:28Smirnovtarcieri: it not portable? the managed stack frames hack?
18:59:43tarcieriSmirnov: http://www.nondot.org/sabre/LLVMNotes/ExplicitlyManagedStackFrames.txt
18:59:50evanSmirnov: yeah, it's a hack that depends on LLVM guaranteeing it uses tailcall
18:59:55evanbut LLVM doesn't guarantee that.
19:00:03Smirnovtarcieri: youre not sabre are you?
19:00:08tarcierino
19:00:15Smirnovtarcieri: oh that url has sabre in it ;)
19:00:38Smirnovevan: ah i think i see the problem
19:01:11brixenDefiler: sup?
19:01:31evani'm thinking that a mode of rubinius that doesn't support continuations would work fine on LLVM
19:01:37Smirnovtarcieri: you couldve just said you do a CPS transform
19:01:38evanusing it's normal call mechanism
19:01:49twbray leaves the room.
19:01:53Smirnovfirst why do you need to do continuations
19:02:00Smirnovand secondly, theres always the tramopline method
19:02:10Smirnovpardon the spelling, my irssi is a bit slaggy right now
19:02:49Smirnovand third, if people started using tailcall a lot im sure the machine targets could be tweaked to guarantee it
19:03:19evanok, bbiab.
19:03:21evanquick meeting.
19:04:22benburkert enters the room.
19:05:16jkh enters the room.
19:06:56Defilerbrixen: Found it. All good. :)
19:08:34dbussinkDefiler: ah, there you are :)
19:08:55boyscout1 commit by Vladimir Sizikov
19:08:56boyscout * Next batch of IO methods specs with closed streams.; 3d584f0
19:12:25pauldix enters the room.
19:12:27UncleD enters the room.
19:18:34schleyfox enters the room.
19:18:52rubuildiusVladimir Sizikov: 3d584f0ee; 4660 examples, 17069 expectations, 0 failures, 0 errors
19:23:39moofbong enters the room.
19:26:01vruz enters the room.
19:26:16Smirnovheh multiple VMs?
19:26:20pauldix leaves the room.
19:27:01Smirnovis that going to be the defacto way of using multiple native threads on one ruby prog
19:28:05DefilerProbably not, but it is too soon to say
19:28:47drbrainunlike threads, the VMs don't share state
19:29:16Smirnovoh, but i guess its still better than forking the entire process?
19:30:49technomancydoes rubinius target 1.9 compatibility at all?
19:31:16drbrainno
19:33:38drbrain(or, not at present)
19:33:40Smirnovinteresting. yarv schooled rubinius in benchmarks on 2/2007
19:33:50technomancydrbrain: how's gem support coming?
19:33:54Smirnovbut looking at the 12/07 benchmarks tehre is no yarv?
19:34:19Smirnovah thats ecause ruby 1.9 is using yarv
19:34:30drbraintechnomancy: 12 failures (minus excluded tests for things like OpenSSL)
19:34:37boyscout1 commit by Vladimir Sizikov
19:34:38boyscout * And more IO specs.; e64f3b0
19:34:47drbrainYARV is no more, it's called 'ruby' now
19:34:58technomancydrbrain: great work; rock on
19:35:04Smirnovthats pretty scary. those are damn good benchmarks compared to the ruby interpreter
19:36:13drbrainsome of the failing tests are just bad tests
19:36:19drbrainand there's a problem with YAML
19:36:26probablycorey leaves the room.
19:36:54Smirnovi wasnt tthinking about the bfails, i was thinking about the performance
19:37:00chris2 leaves the room.
19:40:06evanback.
19:40:16evanSmirnov: you should look at the more recent benchmarks
19:40:25moofbong_ leaves the room.
19:40:28evanSmirnov: a year ago, we weren't even compiling the VM with optimizations.
19:40:43evanso that data is totally invalid against todays work.
19:40:47Smirnovyeah i was looking at the 12/07 one. thats prettty recent
19:40:52evanyeah
19:40:55Smirnovhttp://antoniocangiano.com/2007/12/03/the-great-ruby-shootout/
19:40:57evanyep
19:41:28Smirnovhey now that youre back can you answer my question about why you need CPS transforms
19:41:30headiushey, evan, I noticed you moved another function into primitives
19:42:08headiusmore perf I assume, but we've been wanting to revisit rubinius on JVM/JRuby and that boundary between ruby and C keeps moving toward more C
19:42:14wmoxam leaves the room.
19:42:19headiuscan we expect that to continue?
19:42:43drbrainheadius: probably
19:43:58evanheadius: which?
19:44:00rubuildiusVladimir Sizikov: e64f3b024; 4660 examples, 17069 expectations, 0 failures, 0 errors
19:44:28Defilerevan: pwnage: http://rafb.net/p/mxOEvu28.html
19:44:39headiusI saw a rehash operation moved into a primitive a couple days ago
19:44:45headiusI didn't dig into it
19:44:51evanDefiler: dope.
19:45:01evanheadius: it got reverted, but yeah.
19:45:09evanthat was exposing a rehash function the VM already has
19:45:16headiusreverted because of breakage?
19:45:31evanyeah
19:45:37evannot that particular change, but something eles in the commit.
19:45:48evani need to revisit those commits and figure out what was wrong.
19:46:42Smirnovhmm looks like theres some potential for optimization by using C stack frames when possible :P
19:46:56pkondzior enters the room.
19:47:00aotearoa_ leaves the room.
19:47:03pkondzior leaves the room.
19:47:13headiushmm ok...well we're still keen on making rubinius work on jvm or on jruby...once we get some time and things settle down a bit
19:47:38headiusjohn rose is also very interested in making enhancements to the JVM to support arbitrary bytecode engines running on top of it
19:47:54DefilerThat sounds fun
19:48:03headiusso that hotspot can JIT the main engine logic directly into native code
19:48:25headiusit's just not a use case they've had interest in before
19:53:20obvio enters the room.
19:53:37wmoxam enters the room.
19:54:43imajes enters the room.
19:55:14jkh leaves the room.
19:56:34DefilerHaha here is a fun one
19:56:36Defilerhttp://rafb.net/p/tZ2Te139.html
19:56:53Defilerevan: Does that paste look like we still have a problem with storing large numbers in the bytecode?
19:57:04Defiler(-C does not clear out the 'shared' specs)
19:57:14pauldix enters the room.
19:57:36pauldix leaves the room.
19:57:59evanDefiler: i can't tell from it.
19:58:19headius leaves the room.
19:58:29jkh enters the room.
19:59:14evanjkh: hi there.
19:59:15jkh leaves the room.
19:59:15DefilerYeah, I get even more failures without -C.. looks like they pass fine when they compile and run in the same execution
19:59:19Defilerfun
19:59:57octopod enters the room.
20:00:01boyscout1 commit by Vladimir Sizikov
20:00:03boyscout * Add more IO specs. God, make it stop!; 1586e3a
20:00:10be9 leaves the room.
20:00:25w1PoG8tU enters the room.
20:00:25UncleD leaves the room.
20:00:36UncleD leaves the room.
20:00:50UncleD enters the room.
20:01:44jkh enters the room.
20:01:48evanjkh: hi there.
20:02:43drbrainevan: haha
20:03:27Smirnovwhats with these goto instructions? is it like the asm JMP? or more restricted?
20:05:18evanSmirnov: where?
20:05:28Smirnovhttp://rubini.us/doc/vm/op_codes/goto.html
20:05:31evanthe VM goto?
20:05:38evanthey're used to implement control structures.
20:05:47evanit's not any location
20:05:50Smirnovyes but what bout contexts etc
20:05:59evanit's restricted to that method.
20:06:00Smirnovblocks even
20:06:04jkh leaves the room.
20:06:09evandoesn't impact them at all.
20:06:14evanit's not a machine code goto.
20:06:19Smirnovoh all right
20:07:43Smirnovso add_method is the only instruction to add methods?
20:07:53geekounet leaves the room.
20:08:12lstoll leaves the room.
20:08:26geekounet enters the room.
20:08:53rubuildiusVladimir Sizikov: 1586e3a2c; 4661 examples, 17070 expectations, 0 failures, 0 errors
20:11:35evanSmirnov: attach_method as well
20:11:44evanSmirnov: those are currently only used in bootstrapping.
20:11:52Smirnovevan: meaning what?
20:12:01evanthey're only used when running the code in kernel/
20:12:15evanany other code calls a method to add a method
20:12:37Smirnovare you talking about #define_method
20:12:47evanno
20:12:59evanit uses a different method.
20:13:13evanfor 'def blah; true; end'
20:13:18evanthe compiler outputs
20:13:35evanself.__add_method__(:blah, <A compiled method object>)
20:13:42Smirnovaha
20:13:46Smirnovwhy would it do that though?
20:14:03evanlets it do work that the VM doesn't
20:14:12evanlike fixing up visibility of the method.
20:14:24Smirnovprivate/protected/public ?
20:14:48evanyep.
20:14:58evanthe zero-arg versions specificly
20:15:07Smirnovwhy not let the VM do that though? it seems generating dynamically dispatching code in this case is unnecessary
20:15:09evancheck out kernel/core/module.rb
20:15:19evanbecause i want to make the VM as small as possible.
20:16:16Smirnovi see
20:18:46aotearoa enters the room.
20:19:17Judofyr leaves the room.
20:21:55ragge enters the room.
20:24:08headius enters the room.
20:25:04ezmobius_ enters the room.
20:25:37Defilerdbussink: So yeah, I saw your commit. Sadly I had already done the same thing locally before seeing it. :)
20:26:36Defilerdbussink: We even named our variables the same. Scary
20:27:10d2dchat leaves the room.
20:27:27d2dchat enters the room.
20:28:50Judofyr enters the room.
20:30:01radarek enters the room.
20:32:48Defilerdbussink: OK.. could you try pulling the update I just pushed to wilson64? It required some fancier 'git' stuff than I am used to, so I want to make sure it didn't melt
20:38:37wmoxam /join #ubuntu
20:38:42Defilerevan: What tools do we have to help me verify that the on-disk bytecode is correct for a given piece of code?
20:39:25wmoxamoops
20:45:54evanDefiler: well.
20:46:14evanDefiler: you can use CompiledMethod.load_from_file
20:46:19evangive it a path, and 0
20:46:21evanthen call
20:46:24evan#decode on it.
20:47:52DefilerThat sounds good. Cool.
20:51:34Defilerhaha wow this is a cool bug
20:52:06Defilerhttp://rafb.net/p/DJFBDX75.html
20:52:33evanweird
20:52:35evanit's random?
20:52:44DefilerNope. Every subsequent run is wrong
20:52:44evanor the 2nd time it was loaded off disk
20:52:51daikini leaves the room.
20:52:55Defiler'describe' shows the correcet bytecode, however
20:53:01evanso the VM marshal process is screwing something up
20:53:03Defilerpush_literal with the 115blahblah number
20:53:20evanodd..
20:56:21DefilerOh yeah, that is handy: http://rafb.net/p/cHUvXf73.html
20:56:37Defiler@args in push_literal is truncated
20:57:59daikini enters the room.
21:04:30headiusevan: you need to send a cease and desist to ironruby to get them to stop using rbx as their executable name
21:04:36headiusthey're still doing it
21:04:40evani was thinking that
21:05:13DefilerOr we could change to something radder
21:05:14Defilerlike bmx
21:05:29evanwell, rbx isn't just a program, it's our short name.
21:05:36evanfor them, it's a random program name.
21:05:43evanheadius: who should I email about that?
21:06:12evanjon i guess..
21:06:42headiusyeah, just email john
21:07:06headiusit's just annoying, because it's a nice short name and you got to it first
21:07:51Defilerevan: Why does RegexpLiteral call 'add_literal', while NumberLiteral does not? I am trying to track down where the actual numeric literal gets added to the literals table
21:09:21evanheadius: ok, sent him an email.
21:09:43evanDefiler: because there are a couple of ways a number can be encoded
21:09:53evanthere are the meta instructions for -1, 0, 1, 2
21:10:03evanthen there is the inline int, for small integers
21:10:06evanfinally, the literal.
21:10:23lopex enters the room.
21:10:30evani should go grab some lunch.
21:10:32evanbrb.
21:10:37DefilerThe push_literal calls that occurs for those larger numbers doesn't seem to call add_literal, though
21:10:53DefilerOh duh. find_literal handles it.
21:11:13DefilerAlso, it is still the correct value that far in, so it must be something in the marshal or unmarshal. whee
21:13:30boyscout1 commit by Vladimir Sizikov
21:13:31boyscout * Moved one IO#inspect spec to File#inspect specs.; e33350e
21:22:40headius leaves the room.
21:23:57rubuildiusVladimir Sizikov: e33350edd; 4661 examples, 17070 expectations, 0 failures, 0 errors
21:24:10headius enters the room.
21:36:44evanso, IronRuby has been planning on changing the name to ir.exe for a while anyway
21:36:51evanhopefully this will push them along.
21:37:19headiusok
21:37:22headiusir.
21:37:36headiusshould be ferb
21:37:40Defilerhah yes
21:37:44headiusferb is better
21:37:58evanferb?
21:38:02DefilerFe == iron
21:38:09evanhah
21:38:13evanyou guys are so clever.
21:38:28hornbeckhaha
21:38:40hornbeckbunch of nerds
21:38:45evanseriously.
21:38:46RyanTM leaves the room.
21:39:47Judofyr leaves the room.
21:40:28RyanTM enters the room.
21:44:06agardiner enters the room.
21:49:52DefilerOK, I am going to push these 64bit fixes to master
21:50:03DefilerPresumably this will not cause a fire, but hey
21:51:25evando it.
21:51:41Defilerwaiting on a distclean after the merge to make sure it still works
21:51:45evanbattens down the hatchs
21:55:16DefilerHrm. When I merge to master I get this error load