Index

Show enters and exits. Hide enters and exits.

00:00:11karmazillathe space between 'a' and '[' in this: a [0]
00:00:36karmazillagiven 'a' is a list or map
00:00:40zenspidertechnomancy: burnouty. :)
00:00:44technomancyugh
00:00:49tarcierihaha, wow
00:00:52tarcieriit's totally arbitrary
00:01:01zenspiderkarmazilla: heh. horrible. :)
00:01:07tarcieri%w{foo bar baz} [1]
00:01:18zenspiderthat looks like a method call to a with an array as an arg to my eyes. :)
00:01:35zenspiderTHAT I can see as valid... horribly
00:02:09technomancytell me that doesn't parse without at least a warning
00:02:32karmazillaI know... I had to try it in irb several times before I was sure it worked like that
00:02:48brixenthat's how you get a == 1 equivalent to a.== 1
00:03:18brixena.[](0) == a[0] == a [0]
00:03:45tarcieriholy crap, you can have arbitrary whitespace there too?
00:03:58technomancykarmazilla: where did you find someone using that?
00:04:01rueAlso, someone should fix rparsec probably.
00:04:01lopex_ leaves the room.
00:04:05technomancyif it's not too incriminating to reveal
00:04:10karmazillatechnomancy: i rparsec
00:04:13karmazilla*in
00:05:09technomancylet me guess: a library for navigational calculations on Federation Starships?
00:06:04turtletime leaves the room.
00:06:08Phoop leaves the room.
00:06:09karmazillauh... not... quite.... it's a combinator based parser of stuff
00:06:27tarcieriParsec for Ruby?
00:06:37karmazillabasically yes
00:06:48tarcieriIsn't Parsec monadic?
00:06:55karmazillait is
00:07:08tarcieridoes rparsec use monads?
00:07:15karmazillathere's a monad.rb in there too
00:07:19tarcieriheh
00:07:20tarcieriweird
00:07:40karmazillaI'm not sure I want to look at it just yet
00:07:43tarcieridoesn't see the use of monads in an imperative language
00:11:48rueWhy not?
00:12:02rueYou can program functionally in C
00:12:10rueLaziness is a bit trickier of course
00:12:19rueMaybe CPP even better :D
00:12:48tarcieriyeah, I saw the whole thread on using inner functions as "closures" in gcc
00:12:57tarcieridownward closures or whatever they're called
00:13:12kAworudo i need to setup anything to can "git push" ?
00:13:35brixenkAworu: do you have a commit bit?
00:14:13kAworubrixen> i don't know. i did paste my key but maybe it hasn't done yet.
00:14:36brixenkAworu: ok, first you need a bit, then check rake -T for git:committer or something
00:14:53brixenkAworu: then you can rake git:push from your branch or git push from master
00:15:57kAworubrixen> ok thanks.
00:16:26smtlaissezfaire leaves the room.
00:19:04karmazillaokidoki... posted ticket #299 :)
00:19:30brixenkarmazilla: cool, thank
00:32:13lopex enters the room.
00:32:33d2dchat leaves the room.
00:37:20evancracks his Algorithms book for the first time in 10 years
00:37:29evanI KNEW there was a reason I didn't sell it.
00:38:04karmazilla leaves the room.
00:39:21evanI wish when I took this class I was actually interested in algorithms
00:39:23evanoh well.
00:40:00karmazilla enters the room.
00:40:11evanzenspider: you around?
00:41:47karmazilla leaves the room.
00:41:59karmazilla enters the room.
00:47:32kAworuhttp://rubinius.lighthouseapp.com/projects/5089/tickets/298-patch-more-stuff-added-to-string_spec- rb
00:47:41kAworuerf. i wrote about the same.
00:50:26drbrain leaves the room.
00:52:54kAworuevan> did you see my key ?
00:53:24kAworuevan> just want to know if i can push some stuff now, i'll go to sleep :)
00:57:36tonka enters the room.
01:01:04chad_ enters the room.
01:01:08evanbrixen: you around?
01:01:11evanchad_: allo!
01:01:15brixenyeah
01:02:02evando you know if you can % a float in C?
01:02:10chad_ enters the room.
01:02:15evanchad_: welcome back!
01:02:15brixenevan: don't think so
01:02:19evanbye chad.
01:02:31evancrap.
01:02:45brixenthere's fmod
01:03:27evanI wonder how Knuth had this working then...
01:03:35evanit seems that
01:03:39evanbin = hash % bins;
01:03:46evanis SOO slow on modern platforms.
01:04:10evanso i was looking in algorithms book, and there is another mapping function
01:04:23brixenhash or bins is a float?
01:04:31brixenor this is something else?
01:04:36evanbin = floor((hash * A) % 1)
01:04:56brixenI've got knuth's vol I-III
01:05:00evanwhere A is a fixed value (Knuth has 0.6180339887)
01:05:05brixenahh
01:05:13evanthe % 1 gets you the fractional part
01:05:24evaner
01:05:26evanit's
01:05:35brixenI wonder if that algorithm is in the semi-numeric book, I think vol III
01:05:35evanbin = floor(bins * ((hash * A) % 1))
01:05:45evani don't have those books
01:05:55evangcc wont let me do that btw.
01:06:19brixenyeah, I distinctly remember being impressed that ruby allowed me to
01:06:24evanyeah
01:06:30evanhm. let me try using fmod
01:06:33evanand see what happens.
01:07:29brixenI could look it up later if you think it's in one of the first 3 vols, but my books are at one place, and I'm at another ;)
01:08:50evanoh fun.
01:08:57evanyeah, that didn't work
01:08:58evan:)
01:10:46brixenevan: http://www.google.com/url?sa=t&ct=res&cd=8&url=http%3A%2F%2Fwww.cecm.sfu.ca%2FCAG%2Fpa pers%2FCPpaper.pdf&ei=ucKjR8etF6KypgSIg4zgBA&usg=AFQjCNF1BVcuzVN7EBr6cvDPgm1yEPWUOA&sig2 =kQz9cyNkFYuwYbJitCmZhw
01:10:57brixendrat, should have tinyurl'd that
01:11:14brixenwww.cecm.sfu.ca/CAG/papers/CPpaper.pdf
01:11:16evanwhat am i lookng for it in
01:11:17evan?
01:11:23brixenI'm looking at a table in that
01:11:28brixenone sec..
01:11:52brixenit's got a new_fmod that is almost 3x faster than fmod
01:14:09technomancybrixen: congratulations on competing successfully for Google juice with a city that's over a thousand years old. no small feat.
01:14:33evanhah
01:15:01brixentechnomancy: heh, I have no idea what that means
01:15:06brixenshould I be flattered?
01:15:29brixenevan: hmm, paper doesn't look very useful
01:15:44technomancy#1 result for brixen: "The third largest city in the province, Brixen is an old (founded 901) town"
01:15:57technomancybut you're still on the front page
01:16:06brixentechnomancy: heh, nice
01:16:32drbrain enters the room.
01:16:33technomancyjust thought you should know
01:17:28brixenI better get serious about my seo
01:17:42brixenbrixen & sons screenpainting is kicking my butt
01:17:54evanfuck those guys.
01:18:17brixenevan: you get a bad mural from them or something? :P
01:18:20technomancyyou should visit the city if you ever find yourself in Italy
01:18:26brixentechnomancy: I should!
01:18:37brixenI should also find myself in italy someday
01:18:42technomancyplans on visiting the village of Hagelberg (his last name) if he finds himself in Germany
01:19:21brixentechnomancy: my grandfather is from catanzaro italy
01:19:25evani've been to Phoenix.
01:19:40technomancyevan: you're making us look bad
01:19:49technomancyoh, but before or after you changed your name?
01:19:51evani wonder if there as a Webb town
01:19:53radarek enters the room.
01:20:01evanmy old name.
01:20:12technomancydoesn't count; will have to go back
01:20:28brixenheh, indeed: http://maps.google.com/maps?q=webb
01:20:52brixenwebb, tx no less
01:21:21brixenI like how google gives me the option of "make this my default location"
01:21:37lopex leaves the room.
01:21:40brixenunfortunately, there's no link below that which says "texas, yeah right"
01:21:51evanhah
01:22:00brixenno offense to texans of course
01:23:48evani've got texas in my blood actually
01:24:07evanmy mom's mom is from texas
01:24:27evanthe granddaughter of an English adventure seaker, last name Whitehouse
01:24:28brixenwow, and she doesn't mind the cold, huh?
01:24:39evanhe some how ended up in Texas
01:24:59evanmarried a texas girl, inherited a bunch of land.
01:25:59technomancyadventure seekers are a rare breed; we could use more of them
01:26:07evanmy grandma describes him as "a real rapscalian"
01:26:58KirinDave enters the room.
01:28:33twbray_ enters the room.
01:32:17twbray leaves the room.
01:32:57DefilerThat would be an awesome profession
01:33:02DefilerTo be able to put on your business card
01:39:05evanhrm
01:39:12evani'm getting ci failures for asinh again.
01:40:16KirinDave leaves the room.
01:41:00brixenevan: did you fetch drbrain's excludes? rue said he thought the method_table change may have affected #inspect
01:41:15twbray_ leaves the room.
01:41:22evanhm, i thought i did...
01:43:04wifelette leaves the room.
01:44:21wifelette enters the room.
01:46:10enebo enters the room.
01:47:07technomancy leaves the room.
01:47:43headius leaves the room.
01:52:06headius enters the room.
01:53:43radarek leaves the room.
01:54:21Smirnov leaves the room.
01:55:33Smirnov enters the room.
01:57:11agile enters the room.
01:58:13mtodd_ leaves the room.
01:59:43headius_ enters the room.
02:00:34turtletime enters the room.
02:05:16enebo_ enters the room.
02:06:03enebo_ leaves the room.
02:06:32drbrain leaves the room.
02:06:56TheVoiceevan: git pull ; rake rebuild . Would that be the correct way to update rubinius?
02:07:09evansure.
02:07:35TheVoicek just making sure, I'm doing that daily looking for bugs.
02:08:23boyscout4 commits by Ryan Davis
02:08:24boyscout * Fixed Marshal#dump for Range - needed quasi-ivars in marshal stream; 238b595
02:08:25boyscout * Refactored Marshal#dump specs and merged with fixtures/marshal_data.rb; 7f124cb
02:08:26boyscout * Added fixture mapping; c5b3580
02:08:27boyscout * Refactored specs for Marshal#load; 3766b3e
02:08:51zenspiderYAY! so much cleaner!
02:09:47evanyou and drbrain do those I take it?
02:10:19zenspiderhell no
02:10:25zenspiderI did that all by myself
02:10:32zenspiderhe's lazy
02:10:32evani was in the middle of working on those
02:10:36zenspiderand doesn't ever work
02:10:39evanhopefully you didn't redo what he was doing.
02:10:42zenspiderI do everything over here...
02:10:52zenspiderI just commit as him sometimes so he doesn't look bad
02:10:56evanso you keep telling us :)
02:11:02zenspiderexactly
02:11:16zenspidermodesty is the something something
02:11:22drbrain enters the room.
02:11:28zenspiderwhat were you working on?
02:11:42zenspideron the impl side we only fixed one small thing
02:11:57evanwhat was I working on?
02:11:59drbrainyes
02:12:01zenspider /whisper (notice it is "we" now that drbrain is in the room)
02:12:07evanheh
02:12:26zenspiderevan: you said you were in the middle of working on those
02:12:55evanno
02:12:57evandrbrain.
02:13:04evanthat was a mistype
02:13:06drbrainI was his wingman
02:13:08enebo leaves the room.
02:13:10zenspiderah. k
02:13:18zenspidernot wingman
02:13:22zenspiderCPRG
02:13:43zenspiderthe EXTREMER programming term
02:14:14evanCardio Pulminary Role Gamer?
02:14:21dysinger leaves the room.
02:14:49drbrainCo-Pilot/Rear Gunner
02:15:08evanah
02:15:10drbrainoh, right, corundum can't join because somebody drug an anchor through my internet
02:15:12evanhopefully not the belly gunner
02:15:17evanthat guy is always getting killed.
02:15:19lstoll enters the room.
02:15:22headius leaves the room.
02:15:24drbrainonly if you can't get the gear down
02:15:48evani thought they got killed by flak and bullets alot
02:15:49evanor fall out.
02:16:02drbrainheh, probably
02:16:18evanthe video of getting in the belly gun is nuts.
02:16:33evanyou're hanging over the world with a tiny plate of glass below you
02:16:45drbrainupside down, too, right?
02:16:51turtletime leaves the room.
02:17:27zenspiderI'm crazy... but that'd be fun as fuck
02:17:42evanyeah
02:17:44evanupside down.
02:17:47evani'm sure it was fun
02:17:55evanotherwise no one would volunter to do it
02:18:05zenspideralmost as fun as the industrial robot with the chair attached
02:18:15zenspiderI'd soooo program a spirograph into that fucker
02:18:33drbrainhttp://en.wikipedia.org/wiki/Ball_Turret
02:18:48drbrainsays here you volunteered by being short
02:18:53rubuildiusRyan Davis: 238b5952d; 4652 examples, 17056 expectations, 0 failures, 0 errors
02:19:02zenspiderbtw, autotest is really working nicely now...
02:19:06zenspiderYAY!
02:19:18headius_ leaves the room.
02:19:39evandrbrain: OUCH
02:19:49evandrbrain: they shoved you in at the beginning of the mission
02:19:56evanand there you sat for the whole mission
02:20:03evanbecause it had to be attached externally
02:20:12drbrainI think it depends on the airplane
02:20:15zenspidermmmm catheter
02:20:39drbrainsince this one was retractable on the B-24
02:20:57evanzenspider: probably diaper
02:22:31drbrain"Even though this position was cramped and confining to the operator, it was proven after the war -- following the gathering of statistics, that the ball turret was in fact, the SAFEST position on both the B-17 and the B-24 bomber -- contrary to popular belief."
02:22:56evanhuh
02:23:10evanthe lucky short guy i guess then.
02:23:10bburcham enters the room.
02:23:57evanhrm.
02:24:03evanwell, this might be beyond me for now.
02:24:16headius enters the room.
02:24:17evani can't figure out a way to eliminate using % in the hash table implementation currently
02:25:04zenspiderevan: I think that is actually preferable
02:25:10zenspideras horrid as it is
02:25:18zenspiderok. pretty girl just walked in... you guys lose
02:25:26evanbye.
02:30:40obvio171 enters the room.
02:31:45turtletime enters the room.
02:33:58turtletime leaves the room.
02:37:39twbray enters the room.
02:42:23aotearoa enters the room.
02:46:30VVSiz_ enters the room.
02:47:07_mutle enters the room.
02:47:08drbrain leaves the room.
02:48:31DefilerWhoa, this paper is hard-boiled http://64.233.167.104/search?q=cache:ysj7duFbPOkJ:www.cag.lcs.mit.edu/~saman/papers/mdopt-tech00.p s+pipelined+modulo+operation&hl=en&ct=clnk&cd=5&gl=us&client=firefox-a
02:50:25evanhah
02:50:26obvio leaves the room.
02:50:27evani was just reading that!
02:51:04Defilergoogle will eventually turn us all into clones of each other
02:51:43DefilerI was all "hey cool I am grooving on this paper" until I got to the damn proof / squiggles. ;)
02:52:17evani skipped that part
02:52:19evanand read the optimizations
02:52:23evannone of them work for this case
02:52:33evanthey're all for optimizing using % and / in loops
02:52:55DefilerThe power of two denominator thing is interesting, at least
02:53:03evanthats the most promising
02:53:13evanbut our hash tables don't have a power of 2 bin size.
02:53:28evanwe could try that I guess.
02:53:34aotearoa_ leaves the room.
02:53:39evani'm guess we'll get some giant tables really quickly though
02:54:02DefilerPresumably some medium-giant thing would be the most any sane program ever used, though
02:54:06bburcham leaves the room.
02:54:16evanthis is true.
02:54:24DefilerOr we could have an alternate algorithm for ridiculous edge-case hashes
02:54:50VVSiz leaves the room.
02:55:42rueevan: Wandering in and out but can you give a brief, two- to three-letter answer to whether we will implement a Rubinius extension API and in addition to that, use Subtend to map MRI API to ours?
02:56:25evan*shrug*
02:56:37rueThat was at least two extra letters right there
02:56:49evan*srg*
02:56:58evanif we think we need one
02:57:02evani'm open to it
02:57:42brixenI'd like our extension api to be Ruby :P
02:57:48mutle leaves the room.
02:59:30evani wonder if float mod is faster than integer mod
03:00:40ruebrixen: Yeah well :)
03:00:50rueevan: Looking for hash algorithms?
03:01:31evanrue: yeah
03:01:43DefilerSee, this is why C is awesome http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=961
03:01:47evani've improved the default Object#hash
03:02:00evanto have better distribution
03:03:11evanbut profiling things
03:03:20evanhash_find_entry is taking 6% of the time
03:03:29evanand just the hv % bins
03:03:34evanis 50% of the time of the function
03:03:47evan6% of the total program time, btw.
03:04:13rueYeah
03:04:25rueActually that is why I was asking about object IDs earlier
03:04:40evanI pushed that fix right?
03:04:47evanah yep.
03:04:54evanthey shouldn't collide now.
03:05:10evanSymbol#object_id and Fixnum#object_id might though.
03:05:11aotearoa_ enters the room.
03:05:25Defilerhttp://burtleburtle.net/bob/hash/perfect.html
03:05:28DefilerThis is interesting too
03:05:45rueCould use cuckoo hashing
03:06:37maduyb__ enters the room.
03:06:48evanit's worth it to spend a little time on it
03:06:55evansince all our methods and constants are in hash tables
03:07:21rueThe object ID could be bucketed, bound by max_obj_id
03:07:42rueBut see http://en.wikipedia.org/wiki/Cuckoo_hashing
03:08:01technomancy enters the room.
03:08:55rueIt, reportedly, responds well to caching
03:10:19ruehttp://cs.nyu.edu/courses/fall05/G22.3520-001/cuckoo-jour.pdf More official
03:10:28evanrue: it's more about how to take a number between 0 and INTMAX
03:10:35evanand map it to the initial slot.
03:10:42evanevery algorithm seems to use %
03:12:22evandealing with collisions is yet another problem
03:12:42ezmobiusis % slow in rubinius? is that why you are looking for another way?
03:12:49evanit's slow in computers.
03:12:50Defiler% is slow in hardware
03:12:51evannot rubinius
03:13:04evan% completely flushes the pipeline on x86 platforms
03:13:13evanso
03:13:17evandiv %eat
03:13:18DefilerWhich is.. freaking expensive
03:13:19evandiv %eax
03:13:25evanmov %eax, %edx
03:13:33evanthat mov is about 1000x slower than a normal mov
03:13:47evanbecause the div completely monopolizes the pipeline
03:13:55nicksieger leaves the room.
03:14:08rueCuckoo does away with bins, sort of
03:14:20evanrue: but you have to do some kind of mapping..
03:14:29ezmobiusahh
03:15:53evanrue: it has slots though
03:15:58twbray leaves the room.
03:16:02evanthe hash function has to pick a slot
03:16:08evanseems like everyone picks a slot using %
03:16:16evanor << if you have 2 ** n slots
03:17:05evancuckoo tables do look interesting though
03:17:21evansince the 2nd hash function can just be h(h(k))
03:18:53evanhttp://domino.research.ibm.com/library/cyberdig.nsf/papers/DF54E3545C82E8A585257222006FD9A2/$File/ rc24100.pdf
03:19:42pkondzior enters the room.
03:19:54nicksieger enters the room.
03:22:09rueNice paper
03:22:32maduybevan, ezmobius: what versions of rubinius and merb should I have for next friday's talk? rubinius head and merb 0.5.3?
03:22:38turtletime enters the room.
03:23:22evanmaduyb__: yeah, probably.
03:23:29evanok, i'm off to soccer.
03:23:38maduybevan: okay, thanks.
03:23:46ezmobiusmaduyb__: im hoping to release merb-core 0.9 at the conference
03:23:57ezmobiusbut 0.5.3 will be fine too
03:24:26maduybthanks!
03:29:10ezmobius leaves the room.
03:32:02MenTaLguY enters the room.
03:32:11aotearoa leaves the room.
03:37:26twbray enters the room.
03:39:13smtlaissezfaire enters the room.
03:42:43smtlaissezfaire leaves the room.
03:49:32aotearoa_ leaves the room.
03:51:48twbray leaves the room.
03:54:15tonka leaves the room.
03:56:18tongueroo leaves the room.
04:00:42brixenhmm, microwave seriously fucks with the bluetooth keyboard and mouse on this imac
04:08:22up_the_irons leaves the room.
04:08:22maharg_ leaves the room.
04:08:22mass leaves the room.
04:08:22nro leaves the room.
04:08:24turtletime leaves the room.
04:08:24nicksieger leaves the room.
04:08:24lstoll leaves the room.
04:08:24agile leaves the room.
04:08:24geekounet leaves the room.
04:08:24RyanTM leaves the room.
04:08:24rue leaves the room.
04:08:24maduyb leaves the room.
04:08:24rightondev leaves the room.
04:08:24dgtized leaves the room.
04:08:24goodney leaves the room.
04:08:24pastie leaves the room.
04:08:24goodney_ leaves the room.
04:08:24boyscout leaves the room.
04:08:24matthewd leaves the room.
04:08:24lenbust leaves the room.
04:08:38GMFlash leaves the room.
04:09:20GMFlash enters the room.
04:10:23rue enters the room.
04:11:28dgtized enters the room.
04:15:01nicksieger enters the room.
04:15:40turtletime enters the room.
04:16:23lstoll enters the room.
04:16:37maduyb__ enters the room.
04:16:47matthewd enters the room.
04:18:28lenbust enters the room.
04:18:28nro enters the room.
04:18:28mass enters the room.
04:18:28maharg_ enters the room.
04:18:28up_the_irons enters the room.
04:20:57twbray enters the room.
04:21:25twbray leaves the room.
04:21:55goodney_ enters the room.
04:22:23RyanTM enters the room.
04:23:13rightondev enters the room.
04:25:42pergesu enters the room.
04:25:56agile enters the room.
04:30:11rueAvoid the microwave
04:32:16MenTaLguYyes, look at all the damage you did
04:32:20MenTaLguYyou even split the IRC network
04:33:08UncleD enters the room.
04:34:16rueMegawave, I call that
04:34:28pergesuis bin/ci -i the best way to see what specs are failing?
04:35:00pergesuI'd like something less verbose...just to see at a glance what classes/methods are failing
04:36:34rueThere really is nothing like that, I think
04:37:32rueYou can use bin/ci on individual directories too
04:37:36rueOr just bin/mspec
04:41:28twbray enters the room.
04:50:27dysinger enters the room.
04:57:11twbray leaves the room.
05:00:48aotearoa enters the room.
05:17:45wmoxam enters the room.
05:25:13skaar leaves the room.
05:37:02RyanTM leaves the room.
05:38:59squeegy enters the room.
05:43:54aotearoa_ enters the room.
05:46:18Ingmar_ enters the room.
05:58:16aotearoa__ enters the room.
05:59:22aotearoa leaves the room.
05:59:55tongueroo enters the room.
06:00:54Ingmar leaves the room.
06:02:23__johan__ enters the room.
06:10:14__johan__ leaves the room.
06:14:44aotearoa_ leaves the room.
06:15:13dodecaphonic leaves the room.
06:15:40goodney enters the room.
06:15:56twbray enters the room.
06:19:37tongueroo leaves the room.
06:21:27hornbeck enters the room.
06:28:59tmpk enters the room.
06:43:40dysinger leaves the room.
06:47:50dysinger enters the room.
06:50:23dysinger leaves the room.
06:53:05aotearoa enters the room.
07:03:13aotearoa__ leaves the room.
07:04:50turtletime leaves the room.
07:07:35wmoxam leaves the room.
07:10:38MenTaLguY leaves the room.
07:13:35evanwierd
07:13:38evanboyscout is being odd.
07:14:46boyscout enters the room.
07:15:08boyscout2 commits by Evan Phoenix
07:15:08boyscout * Improve hash performance; 6740b79
07:15:10boyscout * Fix object_id collisions, improve method cache code; f4ac60d
07:17:44aotearoa_ enters the room.
07:18:39rueHe is fretting about selling enough cookies
07:18:49evanthats girlscouts
07:18:55evanhe's making a pinewood derby car
07:19:39rubuildiusEvan Phoenix: 6740b7937; bin/ci failed! http://rafb.net/p/SUsNOu54.html
07:19:53evanoh ho.
07:20:04evanyikes.
07:20:11evancould anyone else try ci?
07:20:38rueloader missing?
07:20:52evanyou getting that?
07:21:14rueNot yet
07:23:51twbray leaves the room.
07:24:45rueNo, actually I get a segfault
07:24:53evanarg.
07:25:03aotearoa leaves the room.
07:25:13brixenI get 1 error on leopard
07:25:21rueHm, lemme verify that everything is clean
07:25:28rueThere has been something funky about that lately
07:25:35brixenProcess.setrlimit something
07:25:44evanthat damn thing.
07:26:00brixenbut otherwise bin/ci runs
07:26:09evanok.
07:27:44rueNope, same after distclean
07:27:55evanvery odd.
07:28:01evancould you use --gdb and get a backtrace?
07:28:15ruehttp://pastie.org/146539 is Ruby side
07:28:55evanstrange.
07:29:26aotearoa enters the room.
07:34:08rueThe error inside GDB is different
07:34:43rueRefresh pastie
07:35:08rueAlso, having to kill -9 gdb is a pain in the ass :P
07:35:29evanvery.
07:36:13twbray enters the room.
07:39:41__johan__ enters the room.
07:42:25rubyconsumer leaves the room.
07:42:35evanrue: getting anything?
07:43:51rueNot really, looks like this would take a bit longer than I have right now. Looking at the diffs
07:44:56technomancy leaves the room.
07:46:00evanrue: try reverting my last commit
07:49:27smtlaissezfaire enters the room.
07:51:55brixenevan: reverting the last one didn't fix it, but reverting them both did, I'm going to try just reverting the "fix object_id collisions" as soon as this build finishes
07:52:09evanhrm. ok.
07:52:19evanfeel free to check in the reverts
07:52:24evani'll fix them tomorrow
07:52:30evani got a brain storm at soccer
07:52:32evanthat i'm working on
07:52:36brixenok
07:57:03aotearoa_ leaves the room.
08:05:30evanalright
08:05:33evani'm headed to bed
08:05:42evansky diving tomorrow! (hopefully)
08:05:45evan(stupid weather)
08:05:52brixenfun!
08:05:54evan(this is supposed to be southern california!)
08:06:07evani'll be back around tomorrow evening
08:06:09evanlike i said
08:06:18evanfeel free to revert those commits if they're causing troubles
08:06:37brixenok, I was trying to isolate it a bit, but isn't looking too successful
08:06:37evannite!
08:06:40brixennite!
08:06:42aotearoa_ enters the room.
08:07:28smtlaissezfaire leaves the room.
08:12:32rueFirst one breaks
08:20:17jessop enters the room.
08:23:59geekounet enters the room.
08:26:59thehcdreamer enters the room.
08:34:01aotearoa leaves the room.
08:35:48boyscout2 commits by Charles Nutter
08:35:49boyscout * Additional IO#sysseek spec for the warning after buffered writes; bf6348c
08:35:50boyscout * Modify IO#seek specs for IO#sysseek, adding appropriate error tests; 5241316
08:39:46aotearoa enters the room.
08:41:05headius leaves the room.
08:43:27pergesu leaves the room.
08:44:30rubuildiusCharles Nutter: bf6348c93; bin/ci failed! http://rafb.net/p/pvYfpf36.html
08:55:01defunkt enters the room.
09:03:56imajes enters the room.
09:04:45aotearoa_ leaves the room.
09:09:09headius enters the room.
09:14:11aotearoa_ enters the room.
09:14:28twbray leaves the room.
09:16:54ttmrichter enters the room.
09:18:48__johan__ leaves the room.
09:19:44pkondzior leaves the room.
09:22:43dbussink enters the room.
09:27:01aotearoa leaves the room.
09:29:46aotearoa enters the room.
09:34:11geekounet leaves the room.
09:35:07TheVoice leaves the room.
09:58:15aotearoa_ leaves the room.
10:09:27tmpk leaves the room.
10:10:16headius leaves the room.
10:11:47geekounet enters the room.
10:31:12headius enters the room.
10:41:42headius leaves the room.
10:48:30perplexes leaves the room.
10:52:33jessop_ enters the room.
10:53:28nutrimatt enters the room.
10:57:51rueNite
10:59:09jessop leaves the room.
11:01:11nutrimattanyone help me understand an exception being thrown from rbx? http://pastie.caboo.se/146560
11:01:28nutrimattthe language is slightly different to MRI so "No Method != on an instance of String"
11:03:02Phoop enters the room.
11:03:45nutrimattwell heh, of course i can go look at kernel.rb ;-)
11:09:22dbussinknutrimatt: are you able to isolate the problem?
11:09:38nutrimattdbussink: that one liner in the paste is breaking
11:10:06nutrimattbut i am totally new to Rubinius so i'm still looking at kernel.rb
11:10:10dbussinknutrimatt: yeah ok, but are you able to minimalize it?
11:10:42dbussinka minimal test case would be useful as a spec
11:11:09dbussinkthe one liner uses expand_path, join and dirname
11:11:16nutrimattseems it's File.expand_path that is broken
11:11:27dbussinkah ok
11:11:43nutrimatthttp://pastie.caboo.se/146561
11:11:46dbussinkdid you check whether there is already a spec for that?
11:11:52nutrimattdbussink: give me a chance
11:11:59dbussinkno rush :)
11:12:04nutrimattthis morning is the first time i've gotten Rubinius to build
11:12:07nutrimattand actually run any code
11:12:25nutrimattso i'm new to it all
11:12:51dbussinkhmm, it's not failing for me
11:12:57dbussinkwhat platform are you on?
11:13:01nutrimattMacOSX
11:13:04nutrimatt10.5.1
11:13:16dbussinkthat's weird, because that's what i have too
11:13:26nutrimattmine is built today from a git pull
11:13:40dbussinkyeah, mine too
11:13:50nutrimattrubinius 0.8.0 (ruby 1.8.6 compatible) (bf6348c93) (02/02/2008) [i686-apple-darwin9.1.0]
11:13:54chris2 enters the room.
11:13:55dbussinklet me try with a distclean version
11:19:30dbussinknutrimatt: strange, i don't get that error
11:19:42dbussinknutrimatt: could you try a rake distclean build ?
11:20:02nutrimattsure
11:21:40nutrimatti did try and build it a couple of weeks ago when the build was failing
11:21:46nutrimattmaybe it left something bad behind
11:23:29nutrimattreinstalling now
11:25:57nutrimattokay seems that was the issue
11:26:10nutrimattso should i always distclean before building?
11:26:20nutrimattgit pull; rake distclean build install
11:26:21nutrimatt?
11:27:43dbussinkwell, it depends, there have been a lot of changes in external libraries lately
11:27:51dbussinkso that means a distclean is necessary
11:28:15dbussinkwhat i usually do when something is acting up, is to do a distclean just to be sure
11:28:36nutrimattokay, thanks
11:28:37dbussinkbut the build hasn't been failing the last few weeks afaik
11:32:30nutrimattaha, new bug ;-)
11:32:38nutrimatt FalseClass can't be coerced into Fixnum (TypeError)
11:32:51nutrimattokay so whats the general procudure now
11:33:06nutrimatti ahould be looking for a spec that is running, essentially, the same code?
11:35:38lopex enters the room.
11:41:09nutrimatthrmm.. this is not so easy
11:41:37nutrimattthe difficulty is knowing whether ruby and rbx are executing the same code
11:44:48nutrimattwhen i find a spec file that contains just the require of spec_helper
11:44:58nutrimatti guess that means i am in uncharted territory...?
11:50:34dbussinkhmm, i don't really get what you mean
11:51:22dbussinkif you want to add a spec, you need to put a new spec file into the appropriate directory
11:51:56dbussinkprobably somewhere in spec/ruby/1.8/core/false/ in this case
11:52:40dbussinkyou can run them in rubinius by ./bin/mspec spec/ruby/1.8/core/false/new_spec_file.rb and in ruby with the -t ruby option for mspec
11:52:53dbussinkdid you look at the lighthouse pages that cover this stuff?
11:53:09nutrimatti mean i have an error in Markshall#restore
11:53:13nutrimattand the spec file is empty
11:54:03nutrimattbut in the case of the false error i think it might be a red herring
11:54:19nutrimatti think a previous issues means that the MRI and Rubinius end up evalauting a different expression
11:54:51dbussinkwell, there have been some changes to marshalling, i don't know what state it's in right now
11:55:46cjheath enters the room.
11:59:54lopex leaves the room.
12:06:11aotearoa leaves the room.
12:07:00defunkt leaves the room.
12:16:45dbussinknutrimatt: looks like load and restore are the same, and all specs are ok for me for marshal
12:24:25dgtized leaves the room.
12:32:46UncleD leaves the room.
12:34:27Phoop_ enters the room.
12:35:02Phoop leaves the room.
12:35:08Phoop_ leaves the room.
12:43:07Phoop_ enters the room.
12:47:33lopex enters the room.
12:59:12radarek enters the room.
13:06:22Phoop leaves the room.
13:10:01maharg enters the room.
13:26:26maharg_ leaves the room.
13:35:06RyanTM enters the room.
13:38:25lorenzod8n enters the room.
13:59:28Phoop enters the room.
14:56:20RyanTM leaves the room.
14:57:13nicksieger leaves the room.
14:57:24RyanTM enters the room.
14:57:55olabini enters the room.
15:08:07jessop_ leaves the room.
15:18:09agile leaves the room.
15:19:31agile enters the room.
15:24:44geekounet leaves the room.
15:30:11hornbeck leaves the room.
15:32:42aotearoa enters the room.
15:41:06headius enters the room.
15:50:43geekounet leaves the room.
15:54:40__johan__ enters the room.
15:58:40wmoxam enters the room.
16:00:04Phoop leaves the room.
16:04:16pergesu enters the room.
16:08:07turtletime enters the room.
16:09:18GMFlash leaves the room.
16:09:23GMFlash enters the room.
16:10:36twbray enters the room.
16:15:47twbray leaves the room.
16:27:34jessop enters the room.
16:28:11wmoxam leaves the room.
16:31:18pkondzior enters the room.
16:31:28wmoxam enters the room.
16:37:59robinhoode enters the room.
16:39:14lopex leaves the room.
16:45:32boyscout1 commit by Charles Nutter
16:45:33boyscout * Repair IO#sysseek spec to not write to fixture file; uses a tmpfile now.; 8edd73d
16:47:33lopex enters the room.
16:54:31rubuildiusCharles Nutter: 8edd73d99; bin/ci failed! http://rafb.net/p/ol17pT82.html
17:05:50mad_phoenix enters the room.
17:07:01twbray enters the room.
17:13:29wmoxam leaves the room.
17:26:29pkondzior leaves the room.
17:31:23jessop leaves the room.
17:36:53enebo enters the room.
17:38:36twbray leaves the room.
17:42:59nutrimattanyone know if Matz has made any public comments about Rubinius?
17:47:04mad_phoenix leaves the room.
17:47:23ttmrichter leaves the room.
17:50:44brixennutrimatt: at rubyconf he said competition is good, if I understood correctly
17:51:03brixenso, I'm trying to pick evan's commits apart a bit rather than reverting them
17:51:12octopod enters the room.
17:51:25nutrimattbrixen: right someone else said his said something all the lines of "spend more time worrying about the language development and leave the perf/scale/etc implementation details to other peope"
17:51:31brixenbut if you folks on linux are blocking on them, just check in the reverts, per evan
17:51:52brixennutrimatt: yeah, I seem to recall something like that
17:51:57nutrimatti was musing earlier about him dumping MRI altogether
17:52:04nutrimattwhen Rubinius catches up with MRI
17:52:11brixenthat would be... awesome :)
17:52:15nutrimattand is better implemented, faster, better spec'd, etc...
17:52:24brixen'course
17:52:26nutrimatthttp://matt.blogs.it/entries/00002788.html
17:52:31nutrimatt(is what i wrote)
17:53:16nutrimattit just seemed odd to me to think he might continue when the state of the internals of the MRI mean that language evolution would actually end up being much slower
17:53:33nutrimattwell that's my hypothesis anyway
17:53:39nutrimattbut i think it could be easily proved
17:54:03nutrimatti read the source to kernel.rb this morning tracing something that wasn't working (turned out i needed a distclean)
17:54:19brixenyes, I think 1.9 is a very unfortunate choice, but until we are a contending, I guess we'll just see
17:54:19nutrimatti wouldn't even have bothered (although i have delved into the MRI source before) with the MRI
17:54:31brixengotta grab some breakfast, bbiab...
17:55:45twbray enters the room.
18:18:09twbray leaves the room.
18:19:17octopod leaves the room.
18:20:02octopod enters the room.
18:22:05turtletime leaves the room.
18:26:20Phoop enters the room.
18:27:25headiusI think 1.9 is a pragmatic choice
18:27:40headiusit's faster than 1.8 and saner in a lot of areas
18:27:46headiusand rubinius has a long way to go
18:30:02nutrimattheadius: doesn't 2.0 have a long way to go also?
18:30:16nutrimatti'm not trying to be argumentative
18:30:31headiuswell, rubinius isn't even targeting 2.0...so it's still catching up with 1.8
18:30:33nutrimatti'm just musing that continued evolution of the MRI may not be in Ruby's best interests
18:31:18nutrimattit will be interesting to see where this kind of discussion is in 6-8 months time
18:31:35headiusyes, certainly will
18:31:49nutrimattwatching from the sidelines i've developed a great deal of confidence that there *will* be a Rubinius 1.0
18:31:58nutrimatti have somewhat less confidence that there will be a Ruby 2.0
18:32:35nutrimattwe live in interesting times
18:34:40nutrimattit was certainly a good feeling to finally get Rubinius running on my Mac
18:34:50nutrimatteven if it didn't take me long to run into problems ;-)
18:36:38headiuswell, I'm sure there will be both
18:37:10headiusrubinius's challenges don't lie as much in becoming compatible as in becoming a fast enough implementation to be useful
18:37:45headiusthis is my opinion of course
18:38:19nutrimatti'm not at a point where i could debate you ;-)
18:39:09nutrimattmy guess is that even if this is a hard problem, a working Rubinius will attract the kind of people who know how to solve those problems
18:39:25nutrimattso probably getting there with a sane VM is the right goal
18:40:00thehcdreamer leaves the room.
18:40:27nutrimatti mean we have plenty of evidence that VM's *can* be fast, right?
18:40:29nicksieger enters the room.
18:42:03tmpk enters the room.
18:44:35dbussinkwell, java is an example of that
18:45:05nutrimattexactly
18:45:25headiusit could be counter-argued that there are other fast VMs that would be better targets
18:45:26nutrimattso what if it took them 8 years ;-)
18:45:51headiusrubinius is an attempt to not only specify existing ruby behavior, not only implement that behavior, but implement a solid VM at the same time
18:45:58nutrimattheadius: you mean retarget the Rubinius compiler to output bytecode for a different faster VM
18:46:02headiuswhich is, how shall we say...ambitious
18:46:25nutrimattheadius: i believe Tom Peters when he said you have to for after "big ideas" ;-)
18:46:27turtletime enters the room.
18:46:39headiusyes, like perl 6 and duke nukem forever
18:46:49nutrimattbig, not vast ;-)
18:46:52headiusit's also important to know when big is too big
18:46:56dbussinki think a major factor is that there are actually people working on this full time
18:47:04dbussinkwhich is a problem for a lot of open source projects
18:47:51headiusI'm not arguing against rubinius, it's a great project...I'm just saying it's not so insane that Matz went with YARV, since it was really the only option a year or six months ago when such decisions had to be made
18:48:03nutrimattheadius: right, i agree with you
18:48:21nutrimattand i wouldn't expect him to change right now although i would like him to have thought about it
18:48:33nutrimattand to be weighing if such a thing makes sense for Ruby
18:48:51UncleD enters the room.
18:48:51dbussinkwell, everyone in here would at least love it if the mri people take part in discussions on for example the specs
18:48:58headiusI think there's a benefit to having several implementations, at any rate...everyone settling for MRI or YARV or Rubinius would be counter-productive
18:49:15nutrimattheadius: i am not sure i agree
18:49:28nutrimattwhat is the benefit to having several implementations ofthe same language?
18:49:50nutrimatti mean intrinsic benefit, not in the context of the specific implementations we might find available to us with Ruby right now
18:49:54headiusif JRuby hadn't made great strides in implementing Ruby, there might be no Rubinius
18:50:03headiusif no Rubinius, no effort to formalize the specs
18:50:10nutrimattheadius: that's a pretty big if
18:50:12headiusif no YARV, no drive to improve performance in JRuby
18:50:38headiussure it is
18:50:51headiusbut we're each paving the way forward for each other to accomplish more things
18:50:54nutrimattand i don't see these as intrinsic benefits to having multiple implementations
18:51:03nutrimattso much as specific events within the ruby community
18:51:18nutrimatti see a lot of benefit to people experimenting outside the norm
18:52:29nutrimattbut should they all turn into "real" implementations? I'm less certain
18:53:18enebonutrimatt: Also having multiple compatible implementations of the same technology improves the business buy in of a language as well...no one likes being beholden to one group
18:53:18dewd_ enters the room.
18:53:54eneboIt also helps expose poorly specified aspects of a language and the libraries around the language
18:54:17nutrimattI don't disagree with your points
18:54:33eneboJust a few more points for multiple impls being good
18:54:40nutrimattand maybe it is healthy to have MRI, JRuby, Rubinius, and a host of others all as viable choices
18:54:57headiusthe benefit of having multiple C impls is perhaps less clear, though competition is a driving force there
18:54:58enebonone by themselves justify the effort but together I think is a net positive
18:55:04nutrimatti just wonder how much more might be achieved if, at some point, a winner was selected and efforts pooled
18:55:13headiusit's fairly obvious why having JRuby, IronRuby in addition to C impls is important
18:55:17enebonutrimatt: Absolutely nothing
18:55:26eneboI think that is a great fallacy of open source
18:55:34headiusnutrimatt: nobody likes a winner :)
18:55:40nutrimattenebo: you say that with a great deal of confidence. i am sure you have evidence to back that up.
18:55:40eneboThe good pieces of software rarely scale by having more talent
18:56:31nutrimattheadius: ;-)
18:56:44eneboAlmost every project I have ever worked on or have acknowledged as being a great implementation has been done by a relatively small number of tight members
18:56:44nutrimattWell it's a moot point I guess. At least for now.
18:57:03eneboThat is not to say a large number of people focusing cannot work but I don't think it is very likely too
18:57:05nutrimattenebo: extension from a small number of cases to the wide world is a common source of fallacy
18:57:38nutrimatti'm not really disagreeing with you, i just find your outright confidence in that judgement off-putting
18:57:38headiusnutrimatt: so is assuming that everyone focusing on a single project produces better results
18:58:14eneboI just get a little bristly when I hear about picking a winner and focusing since I have never seen an example of anyone doing it
18:58:16nutrimattheadius: if you will look at what I wrote it was in the form of a question, not a statement
18:58:35nutrimattenebo: sure
18:58:39headiuswell, it came across as a rhetorical question to illustrate a point :)
18:58:47nutrimattheadius: you read it wrong ;-)
18:59:12headiusif it were better to focus on a single implementation, it would have made more sense a year ago for everyone to work on YARV
18:59:17nutrimattBut it was, i admit, a poorly worded question
18:59:17headiusit was by far the furthest ahead
18:59:25eneboIt is not an absolute either...there are certainly probably examples when doing that is reasonable...but it seems like everytime there is an extended debate about email clients (or something like this) the argument to pick a winner and focus seems to pop up
18:59:51nutrimattenebo: what made me wonder was that, as a vehicle for language evolution, a clean VM with a great set of specs
19:00:00nutrimattseemed a better choice than the ball of earwax that is the MRI
19:00:22eneboheh...yes. but the primary implementor of the language is tied to that ball
19:00:25nutrimatti have navigated the MRI sources a few times and it's just not pretty
19:00:31nutrimattenebo: yes but even he can't fix the problems with it
19:00:55nutrimattand patches from smart guys who can go unimplemented
19:01:04eneboyeah. I agree with that. He is even starting to divorce himself form the impl and focus more on semantics
19:01:08nutrimattwhereas i can, with no background, open and read the Rubinius sources
19:01:11eneboof the language
19:01:19nutrimatt(not the VM, the library)
19:01:40nutrimatthence my comment about language evolution
19:01:51eneboSo I think his opinion on impls will get less pronounced over time, but I highly doubt he will say stop working on that and work on this instead. Stalemate in a way
19:02:00nutrimatteven Matz ought, surely, to prefer to evolve the Ruby language using Ruby than wicked C
19:02:07enebonutrimatt: I think I jumped in late
19:02:14nutrimattenebo: ?
19:02:35eneboOh you just repeated your comment about language evolution?
19:02:39eneboSorry
19:02:55nutrimattYes sorry, i was just trying to put it into context
19:03:23eneboyeah. I would imagine that Matz may enjoy Ruby more than C. Not positive though
19:04:04nutrimattWhenever I had to delve into the MRI I would find myself wondering how the author of Ruby, a language he built for his own use, could possibly want to spend so much time in such with all that C code ;-)
19:04:37nutrimattok i need that extra 2GB of RAM in my MBP
19:04:45nutrimattVMWare is kiling this thing
19:04:50eneboor C macros as the case may be :)
19:05:06nutrimattright, i mean it's not just C it's horrible-C
19:05:07nicksiegernutrimatt: I just did that, I recommend http://www.crucial.com
19:05:17nutrimattnicksieger: yeah I use Crucial too ;-)
19:05:35nicksiegerbeen a flawless upgrade
19:05:56nutrimatti think Apple do too, i wish they charged the same ;-)
19:05:56enebo4Gb!?!!? nicksieger has the power
19:06:09nicksieger;)
19:06:23eneboI would have to tape mine to the top of my older MBP :(
19:06:49d2dchat enters the room.
19:07:03nutrimatt$130
19:07:14nutrimattman RAM is so cheap these day
19:07:18headiusMRI's C code is nowhere near the worst I've seen
19:07:32eneboheadius: HEH...of ruby impls? :)
19:07:34headiusit's sparsely commented and variable names could be more descriptive, but it's mostly pretty clean
19:07:35nutrimattheadius: that's not a competition i want to be an active player in ;-)
19:08:27nutrimatt£72
19:08:39eneboWe should not beat up on it too much...most code bases after so many hands and 13 years does not look so great
19:08:43nutrimattwow they didn't take the opportunity to do the usual $ -> £ conversion !
19:08:54nutrimattenebo: fair point
19:13:48dewd_ leaves the room.
19:17:01tizianobis enters the room.
19:18:14MenTaLguY enters the room.
19:26:09turtletime leaves the room.
19:37:10chris2 leaves the room.
19:39:45rueenebo: Agree on the completing implementations, but then standardisation becomes important
19:40:33brixenalso, adding more people to this project has scaled pretty well
19:40:36eneborue: Yeah for sure. So far I can say Rubinius and JRuby are banding together in a positive way
19:40:53eneboHopefully we can get MRI more into the fold
19:40:58rueYeah
19:41:14brixenand maybe some C code is clean, but Dir.glob and the various type conversion functions are not
19:41:25brixenthe latter are broken into so many fragments
19:41:33brixenand of course, then use inconsistently in various places
19:41:37rueIt seems such a pain to keep nagging them about it. If someone dumped a ton of tests on any of my projects, I would be happy but maybe I am just weird
19:42:18noclue123 enters the room.
19:42:21brixenthe sheer volume of C code is overwhelming to most devs, as is clearly evidenced by the number of yarv contributors
19:43:12MenTaLguYthe more we can get written in Ruby the better, IMO
19:43:18MenTaLguYwhich of course is what Rubinius is all about :)
19:43:24headiusI think it has to be a pragmatic approach
19:43:47headiusif you have an implementation entirely written in ruby that's totally unusable, you haven't accomplished much
19:43:48brixennot being a lisper, is not sbcl a dyn lang?
19:44:04brixenheadius: that goes without saying, I think
19:44:11brixenwho would suggest that?
19:44:27brixenMenTaLguY: do you know if sbcl is a dyn lang? I hear it has very good performance
19:44:34headiusI'm just saying that getting things written in ruby shouldn't be the only driving force
19:45:42radarek leaves the room.
19:45:43brixenI think it is a given that a very fast vm for a dyn lang is possible
19:45:55brixenthe only question is the most expedient route to get there
19:46:29MenTaLguYwell, I think if Ruby-implemented bits are too slow, then you need to use implementation tricks
19:46:32brixenand I think the language you use is a hugely important, too easily disregarded, factor
19:46:34MenTaLguYe.g. an optimizable Ruby subset
19:46:36MenTaLguYat that point
19:48:44brixentrue
19:48:56brixenand this project really has two fundamental parts, the libs and the vm
19:49:21brixenif our libs were 100% semantically correct for Ruby behavior, we could refactor them much easier, being in ruby
19:52:42brixenrue: I pulled the first of evan's commits, created diffs for each file, and applied them in pieces. I most often get a sigsegv in cpu_marshal_to_file
19:53:43headiusbrixen: is this why ci is busted? I noticed it after a commit of mine last night, didn't figure it was anything I did
19:54:13brixenheadius: yeah, busted on linux
19:54:17brixenworks ok on leopard for me
19:55:09headiusok
19:55:12headiushadn't tried on leopard
19:55:54maduyb__ enters the room.
19:58:24dbussinkon 64 bit, even rake build is broken atm
19:58:59headiusbummer
20:01:37noclue123 enters the room.
20:02:43turtletime enters the room.
20:11:06antares enters the room.
20:11:58__johan__ leaves the room.
20:18:58tmpkbrixen: it's dynamically typed, but you can add type annotations.
20:19:07brixentmpk: ok, cool
20:19:19brixentmpk: so, technically, it has to deal with the cost of lookup
20:19:24brixentmpk: it's really fast, right?
20:19:36tmpkUnless you give it types.
20:19:47brixenok
20:19:53octopod leaves the room.
20:20:01tmpkI don't know the details, but I believe the type checks are skipped in this case, which gives unsafe code.
20:20:24tmpkIt's not like there's a type inference engine in there. :)
20:20:31brixenthe only thing I'm going on is the stuff I've read about strongtalk, where performance was not significantly improved by using the typed st langs
20:20:59octopod enters the room.
20:21:04brixenI was just curious what other fast dyn langs there are we could examine
20:21:07tmpkI'm not sure how well Smalltalk lends itself to static typing.
20:21:11Maledictus enters the room.
20:21:15tmpkWell, if you want that, look at Lua.
20:21:25tmpkParticuarly what Mike Pall has been up to.
20:21:29brixentmpk: have you looked at strongtalk.org?
20:21:30tmpkPsyco is another option.
20:21:41brixentmpk: yeah, been looking at the lua 5.1 C code
20:21:45brixenreally pretty small
20:21:59tmpkTake a look at LuaJIT.
20:22:10brixentmpk: one thing is, lua 5.0+ is a register based vm
20:23:09tmpkAh, you want to use this for Rubinius?
20:23:17tmpkRubinius is stack-based?
20:23:37tmpkAlso, regarding Strongtalk, no I never actually looked at it.
20:24:13brixentmpk: yeah, for ideas, and in general understanding dyn lang issues
20:24:36brixenthe "dyn langs are slow" meme dies a horrible, agonizing, slow death, unfortunately
20:24:52tmpkYou'd be well-off looking at Mike Pall's code then. It's fairly small and yet decently fast.
20:24:59brixenok, sweet
20:25:02brixenthanks
20:25:02tmpkAlso, look at some tracing-tree papers.
20:25:18tmpkJITs and tracing trees lend themselves well to dynamically-typed languages.
20:25:30tmpkJava having a JIT is actually a bit idiotic, but I digress.
20:26:03brixenok, interesting
20:26:09agile leaves the room.
20:26:18brixentracing tree google search turns up plenty of geneology sites, heh
20:26:40tmpkHang on, I'll find some links.
20:26:59agile enters the room.
20:27:49jkh enters the room.
20:28:07tmpkCheck the three links at the bottom: http://lua-users.org/lists/lua-l/2007-08/msg00564.html
20:28:27brixennice, thanks!
20:28:42brixenoh, to answer your Q above, yes Rubinius is stack-based
20:28:44tmpkThey're pretty easy reading, and the dynamo one is particularly good for the big picture.
20:28:50jkhI have a FAQ, which I'd look up on http://rubini.us/faq except it's empty. :)
20:29:03tmpkbrixen: okay.
20:29:04turtletime leaves the room.
20:29:13jkhIs rubinius making any conscious attempt to track language changes in ruby 1.9?
20:29:21brixenjkh: yes, have a look at http://rubinius.lighthouseapp.com/projects/5089-rubinius for now