Index

Show enters and exits. Hide enters and exits.

00:46:25evanwoop
00:46:25evanhttp://gist.github.com/262220
00:52:35slavahi evan
00:52:48evanhi slava
00:54:37boyscoutPrecompile all gems that are installed - f0ba657 - Evan Phoenix
00:57:29boyscoutCI: f0ba657 success. 3019 files, 11617 examples, 35755 expectations, 0 failures, 0 errors
16:43:11evanmorning.
17:21:39therealadamhowdy
17:22:07evanhowdy!
17:24:55brixenmorning
17:26:04evanbrixen: so, i'm having to redo how exceptions are saved in nested rescues
17:26:27evanbecause http://gist.github.com/262652 fails
17:28:13brixenhrm interesting
17:28:23brixenno current exception
17:28:26evanright
17:28:38evansee that return in the rescue in foo?
17:28:50brixenyeah
17:28:55brixenohh
17:28:59brixenhm
17:29:09evanat that point, we're suppose to restore the exception that was current before we entered the rescue
17:29:16evanwe currently do a clear_exception there
17:29:18evanthe problem is
17:29:43evanthere is no way to access the exception we pushed at the top of the rescue
17:29:55brixenI see
17:29:58evanbecause it's trivial for there to be code like
17:30:02evan1 and return
17:30:16evanthe pushed exception is an unknown amount of stack away
17:30:24brixengotcha
17:30:34evanso i'm going to just do it the easy way
17:30:40evani'm adding an exception stack to VM
17:30:49brixenthat makes sense
17:31:19brixensometimes easy is just better
17:31:26brixenare there any drawbacks to that?
17:31:27evanyep.
17:41:48brixenhold the phone
17:41:51brixentenderlove is here
17:42:09tenderlovehuh?
17:42:16evanholds the phone
17:42:19evanwhere should I hold it?
17:42:21evanup to my air?
17:42:24evaner. ear.
17:42:24brixenheh
17:42:33evanhello? tenderlove? are you there?
17:42:34brixenyes, your air
17:42:36brixenhaha
17:42:46tenderloveevan: GOOD MORNING!!!!
17:42:52brixentenderlove: good sir, what occasion graces us with your presence?
17:43:20tenderlovebrixen: It's Wednesday! That's why. ;-)
17:43:35brixenOMG it is!
17:43:39brixenhow did I miss that
17:44:03brixenit's a very frosty wednesday here
17:44:07evantenderlove: AND A GOOD MORNING TO YOU SIR
17:44:12brixenbecause frost doesn't like tuesdays
17:59:27rueGood second hour of the Post-Avatar Era
17:59:47rueWas not all that great in reality, decent fun though.
17:59:47evanha
17:59:57evandid you see it in 3d?
18:00:03rueYeah
18:00:29rueYou know, selling people their own 3D glasses would be a good business idea.
18:01:29evanyeah, ones with a soft nose piece would be nice
18:01:36evanthe ones I had were heavy and hard
18:01:51brixenmake them implants, who wouldn't want to see in 3D all the time?!
18:01:59evanthe bridge of my nose hurt about 2/3rds of the way through
18:02:05evanbrixen: BINGO
18:02:51rueThere is a certain amount of charm in clunky, scratched-up, grimy goggles with a very small viewing area and optical flaws built in, granted.
18:05:44evanheh
18:34:37mistergibsonanyone try installing rbplusplus with rubinius
18:34:38mistergibson?
18:34:48brixenI haven't
18:34:52mistergibsonk
18:35:05evanwhats rbplusplus?
18:35:24mistergibsonits a C++ wrapper gem
18:36:00mistergibsonI know rubinius has ffi, but I've heard rb++ is a bit more direct and fully supports C++ name space.
18:36:06evanproviding a C++ extension api?
18:36:10evanor wrapping a specific C++ library
18:36:12mistergibsony
18:36:26mistergibsonwhere ffi does not
18:36:29evanwhich?
18:36:52mistergibsonffi
18:36:58mistergibsonvs. rb++
18:37:15evanit's more like capi than ffi then.
18:37:17evanbut sure.
18:37:27evanif it uses too many R macros
18:37:28mistergibsoncapi? never heard of
18:37:29evanit might not work
18:37:32evanlike if it uses RHASH()
18:37:41evanmistergibson: capi is our name for the ruby C api.
18:37:47evanrb_define_method, rb_funcall, etc.
18:37:47mistergibsonright
18:38:00evani suspect that rb++ is just built on top of that
18:38:16mistergibsondunno, uses rice and another as dep
18:38:19brixenit uses rbgccxml and rice to make writing ext in C++ easy
18:38:23mistergibsony
18:38:23evandamn
18:38:24brixenacording to the docs
18:38:30evanthats a lot of deps
18:38:35mistergibsony
18:38:35evani was going to say "why not use rice"
18:38:42evanby y do you mean yes?
18:38:53mistergibsonlots of deps
18:38:58evana complete word is appreciated.
18:39:02mistergibsonbut, I like the idea
18:39:07mistergibsonhehe
18:39:16brixeny is nice and ambiguous, it can mean yes for OGs and yo for the hipsters yo
18:39:17mistergibsonhaven't had coffee yet, sorry
18:39:18evanunless you're 14
18:39:20evanthen it's ok.
18:39:23brixenhaha
18:39:33mistergibson14 ympfsm
18:39:39brixenheh
18:39:40evannow you've lost me.
18:39:43mistergibsonmore like a mumble
18:39:56evananyway
18:39:58evangive it a shot
18:40:01evanlet us know how it works
18:40:14brixenyeah, we're all about risk taking here
18:40:21mistergibsonyes, I think I'll go down that road a ways
18:40:21brixenif you don't know, just try it
18:40:32mistergibsonI just last night downloaded rubinius
18:40:32evani worry a little about it because of how it might hide references
18:40:41mistergibsonok
18:40:52brixenmistergibson: use rbx from git
18:40:56evanbut if it works fine with MRI, it should work fine with rbx.
18:41:00mistergibsonyup, that's the one
18:41:01brixenwe keep master sane
18:41:11mistergibsonmade a local branch and I'm messing with it now
18:41:18brixencool beans
18:42:37mistergibsonhrm, can I just prop up an fs link from ruby gems dir to my rubinius gems dir? any obvious issues between the two (attempting to avoid two gem reps)
18:43:07evanno
18:43:14evando NOT do that
18:43:25evanthat will not work
18:43:28brixenwhy is that a common question?
18:43:33evani dunno.
18:43:34brixenis the disk space an issue?
18:43:39brixenthe time it takes to install
18:43:49brixeneveryone just really friendly and like to share?
18:44:09brixenwell, one to add to the 5 question FAQ I guess
18:44:15evanyep
18:45:25mistergibsongood idea, might spare you being asked it 20,001 times
18:45:33brixenheh indeed
18:45:39mistergibsonI consider myself warned
18:45:44brixenexcept, almost no one reads the docs I write
18:45:49brixenso, we'll still get asked :)
18:45:57mistergibsonactually, I was just curious about how closely they were on compatibility
18:46:03mistergibsonhow they do things differs
18:46:09mistergibsonthat kind of thing
18:46:15brixenall C ext have to be compiled against our header file
18:46:18evanall native extensions will fail
18:46:19mistergibsonI'm impressed by what I read with rubinius
18:46:21evanALL.
18:46:33mistergibsonoh, interesting
18:46:38evanwe have a completely COMPLETELY different ABI for C extensions
18:46:43evanbut we have the same API
18:46:44mistergibsonok
18:46:49brixenand we pre-compile the gem's rb files
18:46:54mistergibsonis that why all my gem installs so far bust?
18:47:03evanthus you need to compile them specificly for rubinius
18:47:04evanmistergibson: huh?
18:47:09brixenso if you normally sudo install, running as a user rbx can't write a .rbc file to that dir
18:47:12mistergibsonof course, all I've tried is rb++ ;)
18:47:12mistergibsonhehe
18:47:40mistergibsonlike the old .pyc files, got it
18:47:40brixenmistergibson: yes, no gem with a C ext will run
18:47:52mistergibsonbummer
18:47:55brixenyou have to install the gems
18:47:57brixenjust do it
18:48:05brixenbummer schummer
18:48:39mistergibsonhrm, I'm rather used to being able to get a gem installed ... um mysql? you know
18:49:12brixenI don't follow
18:49:35mistergibsonso, is it impossible to build my mysql client gem, or do I have to have a separate gem repo for rubninius ?
18:49:44mistergibsonnoob here, not sure yet what the setup is
18:49:57brixenyou just need to build rbx, then do bin/rbx gem install foo
18:50:04mistergibsonok
18:50:09brixenif you installed rbx, then you just do rbx gem install foo
18:50:21brixenif you sudo installed rbx, sudo rbx gem install foo
18:50:23mistergibsonI was hoping that was the case, but a lot of gems have C extensions. threw me off
18:50:37brixenwhen you install the gem, it will build the C ext
18:50:42brixen*for* rubinius
18:50:49mistergibsongocha
18:50:52brixena C ext built for MRI will not work
18:50:55mistergibsonthat makes perfect sense
18:51:12brixenwe run a lot of C ext
18:52:02mistergibsonseems like the best arrangement for my purposes. a very nice scripting language holding the reigns on a native-code chunk doing heavy lifting.
18:52:29evanin time
18:52:35brixendepends what kind of heavy lifting you're doing
18:52:38mistergibsonas long as the round trip on things isn't overly heavy - I think it will work best.
18:52:39evanthere will be no need for native code to be doing the heavy lifting.
18:52:43brixenwe have a nice and developing JIT
18:52:54mistergibsonnot so sure really
18:53:04evanwe are.
18:53:07brixenmistergibson: what kind of app are you thinking?
18:53:13mistergibsonI'd have to discuss that a while to have confidence in that
18:53:22brixenheh
18:53:26mistergibsonwell, more like an app framework really
18:53:52brixenwell, you should try ruby first
18:53:55mistergibsonI want to access image processing libs, 3d rendering engines, physics engines, etc
18:53:59mistergibsonI did
18:54:00brixenok
18:54:03brixenthere ya go
18:54:13mistergibsonI like the idea of rubinius, that's why I'm kicking the tires
18:54:22brixennow write a good api in ruby and we'll see about making it fast :)
18:54:31mistergibsonheh
18:54:33mistergibsonhehe
18:54:49brixenvalue semantics for arrays in image processing are a perfect example
18:54:58mistergibsonwell, that's why I was wondering about ffi and rb++ and all things between worlds there
18:55:02brixenhave you looked at Factor or read slava's blog posts on that?
18:55:16mistergibsonno
18:55:23brixenwe can do that stuff, but we aren't domain experts
18:55:34mistergibsonwith equal performance?
18:55:35brixenso someone who is needs to explore what a good api looks like
18:55:45brixenwhat equal to what in what?
18:56:11mistergibsonthe only reason I want to strap a harness on native compiled code is for performance
18:56:20mistergibsonpaying a little for the round trip
18:56:33brixenwell, right, that's the proverbial cart in front of the horse
18:56:35mistergibsonif byte code can do that, then I see your point
18:56:39brixenmeasure, don't assume
18:56:45brixenwrite it in ruby and profile it
18:56:47brixenshow us that
18:56:50brixenthen we'll discuss :)
18:57:00mistergibsonyes, I understand - point taken
18:57:07evanmistergibson: rubinius is more than just bytecode
18:57:07mistergibsontime for coffee :)
18:57:21evanour type profiling JIT makes a big difference
18:59:35evani wonder how much slower rubinius dev would be if the compiler weren't so damn easy to work on
18:59:48brixenmuch
19:01:06BrianRice-workhackable compilers are a win, indeed
19:01:07mistergibsonso, the raw speed of the JIT/bytecode is so comparable - as to make lib interfacing depreciated?
19:01:25evanprobably not yet
19:01:28evanbut we're moving in that direction
19:01:29mistergibsonI'll be doing some reading on all this, fascinating
19:01:38evanand it obviously depends on the work being done is
19:01:51evanwe're both bullish and pragmatic
19:01:53mistergibsonhey, if I didn't have to link to ext libs, I probably wouldn't
19:01:57mistergibsonhehe
19:02:14evanif you have some ruby code you want to go fast fast fast
19:02:16evanjust show me
19:02:20evanand we'll figure something out
19:02:29evani've got a huge bag of tricks.
19:02:29mistergibsoncool.
19:02:32evanthat i haven't used yet
19:02:38evanbecause we haven't had the need
19:02:46mistergibsonincidently, what is the speed of rubinius over mri or java vm?
19:03:01mistergibsonk
19:03:06evanfor ruby execution, rubinius is much higher than MRI
19:03:14evanbut because we've got so much more ruby code than MRI
19:03:25evanour class library performance is on par or a little lower
19:03:33mistergibsonk
19:03:38evanwhich means that ruby code is performing the same as C code
19:03:39evanin that case
19:04:22mistergibsonsome time ago I saw a chart comparing performance between scripting languges
19:04:41mistergibsonruby needed a 5x boost to match java from what I saw
19:05:03mistergibsonso, I started looking into ruby-to-C converters, etc looking to close the gap
19:05:08evanwe prefer to target towards python first.
19:05:10mistergibsonbut I'm still sniffing around
19:05:11evanperformance wise.
19:05:14mistergibsonk
19:05:26mistergibsonI LOVE to write ruby
19:05:27evanruby-to-c converters are a dead end.
19:05:31evanimho.
19:05:41mistergibsonbut I'd like to amp up its speed where ever possible
19:05:45mistergibsonk
19:06:23evanif you translate all ruby methods to C functions
19:06:32evanyou get about a 20% speed improvement is all
19:06:45evanand thats what our JIT does at it's most basic level anyway
19:06:46mistergibsonhrm
19:06:52mistergibsoninteresting
19:07:00evanbut the JIT can go much further
19:07:02evandoing inlining, etc.
19:07:07evanthat a static converter can't do.
19:07:22mistergibsonso the main idea to have a wicked efficient vm and just put ruby filling into it?
19:07:40evanwell, sort of
19:07:48mistergibsonnice actually, when I first saw ruby I thought IT worked that way
19:07:48evanthe rubinius VM's bytecode set is designed for running ruby
19:07:58mistergibsonk
19:08:01evanbut the VM actually has no idea what ruby looks lik
19:08:03evane
19:08:09mistergibsonsure
19:08:20evanthe parser, etc are "external" to the VM itself
19:08:21mistergibsonjust its bytecodes I suppose I should have said
19:08:23evanas is the bytecode compiler
19:08:45mistergibsonso, from what I understand the compiler is in rb and its exposed right?
19:09:21evanyep
19:09:27evanit's in lib/compiler
19:09:35mistergibsonso I can store bytecode
19:09:59mistergibsonwell
19:10:51mistergibsonI've been frustrated because I wanted a 'steppable' eval or threading setup where I can do a thread.step() to get it to advance and examine its inner workings live
19:11:00evan.rbc files are serialized bytecode basically.
19:11:07mistergibsonk
19:12:29mistergibsonback to gems, if any gem has a C native ext - it will fail, correct?
19:12:33evanno
19:12:36evannot true
19:12:38mistergibsonk
19:12:47evana lot of extensions work
19:12:50evanbut a subset of them don't
19:12:54mistergibsonah, I see
19:12:56evanyou'll get compile errors.
19:13:02brixenyou have to install the gem in rbx so it compiles it for rbx
19:13:03mistergibsonyes, so far mysql isn't happy
19:13:16evanmm, we should fix that.
19:13:20mistergibsonI understand and I'm happy to do it, I'm just not having much success
19:13:22brixennokogiri for example works
19:13:31evanas does sqlite3-ruby
19:13:35brixenmysql is a bitch to install on mri too
19:13:45brixenmysql is a bitch
19:13:48brixenthere, I said it :)
19:14:01evanhehe
19:14:29mistergibson:)
19:14:38mistergibsonfussy critter to be sure
19:15:01brixenmistergibson: show us a gist of your terminal trying to install mysql
19:15:53mistergibsonhttp://pastie.org/754785
19:17:31evana few missing functions
19:17:34mistergibsonI suppose I could prototype with sqlite3 for a while, but I use mysql as my main db all the time
19:17:37mistergibsonk
19:17:37evanwe should be able to clear that up
19:17:42mistergibsoncool
19:18:32brixennot bad at all
19:18:43mistergibsonI'm going to make it a project to get rb++ on rubinius - I want to get the pipes hooked up, and go hunting for how really test it well for benchmarks
19:19:12mistergibsonI'm not formally trained, and I'm obviously not a professional
19:19:27brixenheh
19:19:32mistergibsonbut I love being able to just prototype, create, and explore
19:20:00brixenyep
19:20:03brixenwe do too
19:20:18mistergibsonI come from the IT world mainly doing support for developers
19:20:27mistergibsonit fascinates me
19:20:34evancool!
19:20:34brixennice
19:20:39evanyou guys using ruby day to day?
19:20:57mistergibsonI'm not working for anyone right now
19:21:07mistergibsonbut if I had my way, we would
19:21:15mistergibsonso to speak
19:21:23evangotcha
19:21:52mistergibsonI've been hunting good scripting languages since ScriptX and before
19:22:00mistergibsonjust before the java thing hit
19:22:22evani'm not famaliar with ScriptX
19:22:38mistergibsonIts a stillborn of Apple, IBM, etc
19:22:48mistergibsonit had a *nix executable
19:23:01mistergibsonit was a scripting language that was intended for multimedia
19:23:05mistergibson3d, the works
19:23:13mistergibsontimers, threads
19:23:25mistergibsonmany called it over-engineered
19:23:31mistergibsonbut I loved the idea
19:23:51mistergibsononce you wrote your code, it would run on Mac, Windows, *nix, etc
19:24:01mistergibsonwith relatively equal performance
19:24:27mistergibsonI wish they'd just release it to open source and allow the code to get retooled
19:24:48mistergibsonbut, absent that option - I'd like to see how far I can take ruby :)
19:25:04mistergibsonhence the focus on heavy lifting interfaces, etc
19:25:18evangotcha
19:25:44mistergibsonruby is way better in many ways - everything an object for instance
19:26:38mistergibsonI would like to have in ruby what some have in squeak - scriptable 3d contexts, etc
19:26:40mistergibsonfun stuff
19:26:54evanwe can easily do all that
19:26:55mistergibsononly with better perfromance, and real thread management
19:27:00evanjust need someone interested to write the interfaces
19:27:05mistergibson:)
19:27:26mistergibsonwell, I'll do what I can - but my effort is spotty as I have 3 projects to get out
19:27:43evan:)
19:27:51mistergibsonwhen it rains it pours
19:28:29mistergibsonhow does the thread managment compare to mri 1.9?
19:28:34evanthe same
19:28:36mistergibsonk
19:28:43evanon our TODO list post 1.0 is removing the GIL
19:28:46mistergibsontherefore way better than 1.8.x
19:28:47evanand having true concurrency
19:28:55mistergibsonyay
19:29:06mistergibsonquick, print the t-shirt :)
19:29:09mistergibsonhehe
19:29:42mistergibsoncan I pretty please get a steppable eval?
19:29:57evanthat does what?
19:30:10mistergibsonprocesses one block at a time
19:30:20evanwhats a block?
19:30:20mistergibsonand stops if set after each
19:30:33mistergibsona block of code - one branch construct I suppose
19:30:56mistergibsonnot sure on the verbage, not my stock and trade
19:30:59justin-georgeeval that returns a lazy enumerable 0_o
19:31:10evanok, what do you want to do with it?
19:31:45brixenwhy not just use a debugger?
19:31:50brixenwe have one
19:31:53mistergibsonI want it to see a great big dirty text block (script) and step through it a chunk at a time, allowing me to monitor variables, etc
19:31:58brixensource level, with step
19:32:06brixensource and bytecode step
19:32:25mistergibsonI would consider it darn handy
19:32:46evansounds like a debugger to me.
19:32:47mistergibsondon't laugh, I got spoiled on one with (don't laugh) Lingo
19:32:53mistergibsonok
19:34:18mistergibsonI also would like to have a primitive run-level security system sort of like an irb obj with settable restrictions, etc - figured it might help that effort as well
19:34:40evanthat does what though?
19:34:44mistergibsonnot exactly sure what I'm talking about, but those sorts of things seem pretty handy
19:34:51evani'm not so interested in the implementation
19:34:56evanmore in why/how you'd use it.
19:35:04mistergibsonruns something in a sub-shell/context/etc
19:35:13mistergibsonnot sure yet, just exploring
19:35:29evanwhat happens in this sub-shell?
19:35:44mistergibsonruns ruby script/bytecode I would imagine
19:35:58evanlike it would normally?
19:35:59evanwe do that now
19:36:01mistergibsonyes
19:36:04mistergibsonok
19:36:07mistergibsongood to hear
19:36:16evanyou mention restrictions though
19:36:19evanyou didn't tell me about that
19:36:57mistergibsonyeah, I was wondering about how to restrict like in java applets or something
19:37:06mistergibsonno fs access, diff namespace maybe - not sure
19:37:20mistergibsonextremely rough idea
19:37:23evansure
19:37:31evanwell, when you get an idea of what you want and why
19:37:32evanlet us know!
19:37:39mistergibsonhaha, sure
19:37:49brixenwell, we can load .rbc files from an archive for example, and run rbx without the compiler, so you can't do eval
19:37:58brixenwe have lots of options and possibilities
19:38:10brixenjust need to see what you need it to do
19:38:15evanbrixen: we should write a bytecode simulator one of these days
19:38:21brixensure
19:38:25evanso that people can subclass it and add whatever crazy logic they want
19:38:26mistergibsonwell just make it >poofy< ... ;)
19:38:31mistergibsonhehe
19:38:31evanit would be slow, but you could do anything you want.
19:38:36brixenyeah
19:38:51evanI smell a holiday project!
19:39:03brixenevan: I wanted to do that anyway to explore a stack vs register machine
19:39:10brixenheh, I'm sure you'll beat me to it
19:39:10mistergibsonI guess I'm thinking a ruby applet
19:39:20brixenI may work an pegarus this weekend
19:39:25brixendon't tell dwaite though
19:39:34mistergibsonpegarus?
19:39:34evanwhats that?
19:39:41brixenlpeg in rbx
19:40:07brixenlua's parsing framework that compiles to stack machine insn
19:40:09justin-georgeooh, shiny
19:40:19evanoh yes
19:40:21evanplease do that
19:40:24mistergibsonyou guys looked at potion?
19:40:28brixenyeah
19:40:32evangets out his APPROVED stamp
19:40:35mistergibsonyour thoughts?
19:40:45brixenI plan to use pegarus to rewrite potion's parser and run it on rbx :)
19:40:45evanmistergibson: it's cute.
19:40:50evanthats about it.
19:40:51mistergibsoncool
19:41:56justin-georgeevan: don't ever get burnt out and quit the internet kthx - that's the major problem with _why's oeuvre
19:42:22evani'm not very mellodramatic
19:42:28evanand everyone knows who I am
19:42:31evanand where I live.
19:42:32mistergibson_why sounds like a trippy dude
19:42:38DefilerYeah, evan's not a burnin' out kind of fellow
19:42:39evanhell
19:42:45justin-georgeheh and has seen where you sleep and sometimes likes to pet your hair at night
19:42:45brixenyeah, if evan starts showing signs of burnout, we'll kidnap him and hide him away in an igloo somewhere
19:42:47evanI use MY REAL NAME on irc.
19:42:51brixenheh
19:42:52evan<=== SEE!
19:42:59justin-georgeis not impressed
19:43:06mistergibsonhaha, nice
19:43:11evanoops!
19:43:12evantopic!
19:43:12brixenstudmuffin was taken, so I couldn't use my real name
19:43:13evanno!
19:43:15evancrap.
19:43:18evanwhat was the topic?
19:43:19brixenheh
19:43:22justin-georgehold on I can rescue it
19:43:22brixenevan: I got it
19:43:28evan_mcclendon_wdarn.
19:43:32evan_mcclendon_wtoo long.
19:43:40mistergibsondidn't see a thing
19:43:44justin-georgefail, scrollback too short.
19:43:46evan_webb_phoenistill too long!
19:44:13BrianRice-workphx
19:44:31evanBrianRice-work: thats my internet username
19:44:32evanevanphx
19:44:36BrianRice-workah
19:44:57mistergibsonI used to live in phx area
19:45:09evanI did not.
19:45:13mistergibsonk
19:45:20evanotherwise i probably would not have changed my name to phoenix
19:47:19evanthe only burn out i'm prone to is the occasional delivering of an ICE BURN
19:47:21mistergibsonI like the west coast better though
19:47:28mistergibsonsomething about the need for moisture
19:47:42brixenmistergibson: where are you at?
19:47:50mistergibsonOregon, the states
19:47:55brixennice
19:47:58brixenI'm in portland
19:48:04mistergibsonme too
19:48:05brixendo I know youL
19:48:07brixener ?
19:48:08brixenheh
19:48:08mistergibsonlove it here
19:48:12BrianRice-workoh, another PDXer
19:48:12mistergibsonprobably not
19:48:20mistergibsonindeed, keep it weird baby
19:48:21brixenyou should come to pdx.rb
19:48:27brixenword up yo
19:48:27mistergibson?
19:48:34mistergibsonhad no idea it existed
19:48:37brixenpdx.rb is first tues of the month
19:48:39brixenoh man
19:48:49brixenyou live under a rock in the upper east side? :P
19:48:55BrianRice-workyeah it's a good group. better than seattle.rb IMO
19:49:03evanICE BURN
19:49:03mistergibsonthese days I'm busy with Transition Town stuff and other things
19:49:06evansee? like that.
19:49:08brixenhttp://pdxruby.org/
19:49:15mistergibsonthanx
19:49:22justin-georgeI keep meaning to go to more meetings, but then I don't. It's a problem for me.
19:49:30brixenmistergibson: also, check out calagator.org
19:49:41mistergibsonyou know Zak?
19:49:57brixennot sure
19:50:08brixenI'm terrible with names and I forget faces
19:50:08brixen:)
19:51:11mistergibsonk, I'm registered
19:51:19mistergibsonthanks for the hook up
19:51:24brixenn/p
19:51:32brixenso, you recently moved here?
19:51:45mistergibsonover a year ago, but I went to HS in pdx
19:51:51brixenahh
19:51:52mistergibsontraveled a bit
19:51:58brixencool
19:52:00mistergibsonbut this is home
19:52:30brixenwell, if you want to colocate and hack on rbx or rb++ in rbx, just hit me up
19:52:41brixenthere's some fine coffee shops around
19:52:47brixenas you probably know :)
19:53:13brixenwe can maybe pull BrianRice-work along
19:53:33BrianRice-workuh, sure. after jan. 3, anyway
19:53:34brixenif we can tear him away from his perl :)
19:53:38brixenheh
19:54:09mistergibsonanyone chat about a mozilla-plugin? with a ruby applet supported, I'd like to play with it
19:54:12BrianRice-workslate, damnit. perl's good for a salary
19:54:33brixenBrianRice-work: yes yes, just teasing :)
19:54:40BrianRice-worknods
19:54:45justin-georgewe should arrange a rbx hackathon
19:54:50mistergibsonis there anything perl can do that ruby cannot?
19:54:51brixentotally
19:54:56mistergibsonsounds fun
19:55:27brixenmistergibson: an rbx plugin would be rad
19:55:37mistergibsonI'd love to play with it
19:55:47justin-georgeoh man, that's the other way to client-server nirvana: write all the code in ruby
19:55:56evanmistergibson: it perl, you can tie a %hash to a package
19:55:59evanyou can't do that in ruby
19:56:00evan:D
19:56:01justin-georgeI was thinking that when ECMAscript got optional typing I'd have to switch to that
20:00:22mistergibsonbixen: I could use a sandbox - I think I'll take you up on the colo
20:00:39mistergibsonI'm basically running on POS FreeGeek castings :)
20:01:11mistergibsonah, the simple pleasures of being a have-late
20:01:21brixenmistergibson: you mean right now
20:01:22brixen?
20:01:31mistergibsonwhenever
20:01:35brixenoh, ok
20:02:08brixenI'm trying to crank out some tedious spec fixups today
20:02:16brixenmaybe after jan 1
20:02:18mistergibsonlucky you
20:02:21mistergibsonno worries
20:02:26brixenk
20:02:54boyscoutAdded file system helpers to mspec. - fd6a46d - Brian Ford
20:02:54boyscoutUse #touch helper in specs. - 59a78c3 - Brian Ford
20:02:54boyscoutRewrote File#flock specs. - 7594f61 - Brian Ford
20:02:54boyscoutFixed #rm_r helper to delete links and sockets. - 05116f9 - Brian Ford
20:02:54boyscoutUse #rm_r helper in specs. - 903566d - Brian Ford
20:02:55boyscoutFixed up IO#gets specs for 1.9. - b0588c3 - Brian Ford
20:02:58justin-georgemistergibson: brixen: I think you had a communications error. 'colocate' as in 'put your butts in the same coffee shop' not 'place servers in the same facility'
20:03:09brixenjustin-george: yes, that
20:03:11mistergibsonoh
20:03:13mistergibsonfunny
20:03:16brixenheh
20:03:20mistergibsonboth sound good though
20:03:38brixenif you need colocation, I have a friend though
20:03:50brixenhe's got a bunch of spare servers and would give you a good deal
20:04:05mistergibsoncheapest mocha in town: (my kitchen) Trader Joe's French Roast, cinnamon, nutmeg and ovaltine :P
20:04:15mistergibsoncool
20:04:47brixenmistergibson: heh, I thought you meant you were tired of hanging out at FreeGeek
20:05:07mistergibsonno, love the place - always an adventure
20:05:11brixenyeah
20:05:15mistergibsonbut my gear is long in the tooth
20:05:53mistergibsonI want to get a miniITX mb that can support laptop quad cores, an experiment in low power computing
20:05:54boyscoutCI: b0588c3 success. 3019 files, 11619 examples, 35755 expectations, 0 failures, 0 errors
20:06:30brixenall that typing and I couldn't cause a single failure
20:06:32brixenle sigh
20:09:12evangives brixen a prize
20:09:18evanalmost got the new exception code working
20:09:20evanbut first
20:09:21evanlunch.
20:09:33brixenlunch well, lunch often
20:09:38brixenthat's my motto
20:09:48brixenis a dork
20:09:53mistergibsonbrixen: I think pdx.rb is beset by bots
20:10:03mistergibsonlooking at the bot registrations
20:10:49brixenmistergibson: you mean pdxruby.org or the ml or the actual meetups?
20:11:06brixenthe website is a very old rails app iirc
20:11:19brixenprobably has poor security
20:11:59brixenhaha, ok, the website
20:12:08justin-george*veeerrry* old
20:12:51brixenthat's hilarious
20:12:54mistergibsonI've turned my back on rails
20:13:16mistergibsonI'm excited about sinatra though - very interesting
20:13:35brixensinatra is but a plugin on rails3
20:13:44brixendidn't you see wycats' post? :)
20:13:53mistergibsonnope
20:14:24brixenhttp://yehudakatz.com/2009/08/26/how-to-build-sinatra-on-rails-3/
20:20:24mistergibsonI suppose I ran to sinatra to strip down a bit
21:03:38evanmmm
21:03:42evanthat was a yummy sandwich.
21:55:01evanhm, now i think i've confused mspec...
21:55:12brixenuh oh
21:55:15brixenhow so?
21:55:32evanhttps://gist.github.com/92e76ea1bdfe540a463a
21:55:45brixenhrm
21:56:31brixenstale rbc maybe?
21:56:42evanhm.
21:56:44evani'll double check.
21:56:52brixenI see that error pop up at the weirdest times
21:57:18justin-georgehow onerous would it be to check .rbc times against the .rb files' timestamps?
21:57:32brixenjustin-george: don't need to
21:57:39evannope, still pop up.
21:57:39brixenwe have a compiler signature
21:57:43evanjustin-george: we already do that.
21:57:45justin-georgeeven better.
21:57:45evanthats not the issue.
21:58:01evani'm changing the compiler
21:58:03brixenjustin-george: it's not actually hooked up yet, trying to get to that
21:58:08evanso the .rb timestamp doesn't change.
21:58:18evanso we need another check, which is what brixen is talking about
21:58:30justin-georgeyeah, I knew you guys had some other provision for that, just curious
21:58:39evanbrixen: we'll still check the .rb mtime, even with a compiler signature.
21:58:45brixenyeah
21:58:51brixenI meant for compiler changes
21:58:52evanthey're different cases.
21:58:55brixenstale rbc specifically
21:58:56brixenyes
21:59:09brixenwell, stale == compiler changed the bytecode output
21:59:30brixennot .rb file changed so .rbc needs to be compiled
22:00:11evanbrixen: so, i got it to happen running just 2 spec files one after another
22:00:15evanso i'm getting there.
22:00:20brixenok
22:00:57evanoh
22:00:59evander.
22:01:04brixenmocks use class_eval
22:01:08evanno no
22:01:15evanit's "wierd" because of the exception stack
22:01:19evanit's not being cleared propely
22:01:22brixenok
22:01:26evanso at some random time in the future
22:01:33evansomething that should have been removed appears again
22:01:41brixengotcha
22:04:02evanok, yep.
22:04:12evanit's caused by raising an exception in a rescue
22:04:14evangot it.
22:06:26mistergibsonouch
22:12:23dbussinkevan: wasn't that what you were trying to fix? :)
22:12:31evanheh
22:12:32evansort of.
22:12:44evanthese semantics are all intertwined.
22:12:52boyscoutEnumerator#each_with_index doesn't need a splat - 346cd0e - Dirkjan Bussink
22:12:52boyscoutRemove tags for Enumerator that pass - 13e05f0 - Dirkjan Bussink
22:13:10brixendbussink: what do you know of ruby software that opens a file, unlinks it, and uses the descriptor?
22:13:35dbussinkbrixen: that keeps working because the descriptor is still open
22:13:41brixenI know
22:13:51brixenbut do you know of software that does that on purpose?
22:13:57brixenand what is the purpose?
22:14:06dbussinkbrixen: and thus the file is not really removed yet, that only happens when all references are closed
22:14:19brixenI know how fs's work :P
22:14:30brixenI'm wondering why someone would do that on purpose
22:14:32evandbussink: what ruby code does that
22:14:34dbussinkbrixen: well, afaik that was a deliberate decision
22:14:38dbussinkno ruby code i know
22:14:50brixenwhat was a deliberate decision?
22:14:50dbussinkevan: didn't we have someone here report it?
22:14:56dbussinkevan: or wasn't it on the mailing list?
22:15:06evanthat was what I was trying to remember
22:15:09evanyou fixed a bug about that
22:15:17dbussinkevan: ah, unicorn uses it
22:15:25dbussinkeric wong on the ml
22:15:25rueThat is correct behaviour, I do not see the problem
22:15:29brixendbussink: ok, do you know why?
22:15:39evanrue: we're just curious why people do that
22:15:40evanis all.
22:15:48evanwe know it's valid.
22:15:55brixenthe fs behavior is correcty
22:15:59evanbrixen and I were having a discussion about it yesterday
22:16:00dbussinkbrixen: http://groups.google.com/group/rubinius-dev/browse_thread/thread/ce8226b123dc7f4a/ee54e3d77d9824ec ?hl=en&lnk=gst&q=wong#ee54e3d77d9824ec
22:16:00brixen-f
22:16:24dbussinkevan: " We also buffer
22:16:24dbussink large uploads to unlinked File objects."
22:16:43evanso, anonymous buffers
22:16:48evancould be using normal tmp files just as easily
22:17:00evanbut by using anonymous buffers
22:17:04evanyou don't have to worry about cleaning them up
22:17:28evanbecause it's cleaned up by the kernel automatically, when there are no more fds for it.
22:17:40brixenfair enough
22:18:09evanactually, that is especially nice in ruby
22:18:14evanbeacuse then when a File object is GCd
22:18:22evanthe kernel cleans up the fs storage too
22:19:42mistergibsondoes that present any security vulnerabilities?
22:20:40dbussinkgood thing that i remember weird stuff like this
22:21:10brixendbussink: indeed, thanks
22:21:57dbussinkbrixen: basically added the specs + fix for rubinius after this mail
22:21:59evandbussink: all those stroopwaffles
22:22:02evankeep your memory strong.
22:22:15dbussinkevan: haha, i don't eat them that often actually
22:22:20dbussinkthe price of commodity
22:22:52brixendbussink: you should send the ones you don't eat over the pond :)
22:23:06evanI only eat them maybe once a year
22:23:07brixenit is xmas after all
22:23:07evanif that.
22:23:27dbussinki could start a fund raiser to send a container across :P
22:23:29evanhave black pete send some over!
22:23:30brixenif someone would make me a nice cup of coffee every morning, I'd eat one a day
22:23:34evanhe's got nothing else to do.
22:24:24evanfor those unfamaliar with Dutch christmas tradition, I suggest you lookup black pete.
22:24:29evanesp. if you're american.
22:24:39brixeneveryone quiet down, lypanov is here
22:24:46dbussinkevan: it has nothing to do with christmas though ;)
22:24:51evanwhy? we're talking about the dutch!
22:24:52lypanovomdogz!
22:24:55brixenquit talking about delicious dynamic typing
22:24:59evandbussink: no? I thought it did.
22:25:06lypanovrandomly throws up on the floor
22:25:09brixenheh
22:25:15evanlypanov: you have to clean this up
22:25:23lypanovit was random!
22:25:24evanthat, rather.
22:25:31evani only cleanup the vomit of my cat
22:25:48lypanovthrows a bucket of water at it and in the same manner as a ruby refactoring tool, spreads it all over the place
22:25:49mistergibsontook me a while to get used to black pete, I miss Amsertdam
22:25:56justin-georgeIf you dutchfolk don't hate the Belgians that much, I'd chip in if you could ship some Westvleteren over ;)
22:26:03dbussinkevan: nope, it's a completely different holiday / tradition
22:26:10evandbussink: shows you what I know.
22:26:28dbussinkjustin-george: it's not hate, just healthy mockery :p
22:26:44justin-georgethem and their soft, ladylike 'g's
22:26:49lypanovnaah, its hate.
22:27:31dbussinkjustin-george: we have people with soft g's too
22:27:52Defilerjustin-george: Oh god Westvleteren is so good
22:27:57Defilerso. good.
22:28:00brixensoft g's are more civilized
22:28:01dbussinkit's a lot better than hearing girls / women talk with the local accent here :P
22:28:05justin-georgeDefiler: I wouldn't know :(
22:28:15evanhow can people with wooden shoes that live before sealevel make fun of anyone?!
22:28:20evans/before/below/
22:28:21Defilerapt 12 and apt 6 are both ridiculously good, 8 is merely superb
22:28:25justin-georgeit's the only trappist I haven't tasted yet.
22:28:28evaneyerolls at himself.
22:29:21Defilerhttp://shop.belgianshop.com/cgi-bin/sh000002.pl?REFPAGE=http%3a%2f%2fshop%2ebelgianshop%2ecom%2f&a mp;WD=westvleteren&PN=Gifts%2ehtml%23a2_21PB28046#a2_21PB28046
22:30:06evandaaaaaaaaaaaaaaaamn
22:30:09evan$700
22:30:17evanyou know how much natty ice you can get for $700?!
22:30:29evana swimming pool full
22:30:30DefilerYeah, this is the most exclusive beer in the world
22:30:33evanit's cheaper than water.
22:30:44DefilerOnly sold at the tavern across the way from the abbey that brews it
22:30:45justin-georgemy friend had some in belgium... he wouldn't let me try it :( :(
22:30:54Defilerand they stop brewing it for the year when they have enough funds gathered for their charitable works
22:30:58justin-georgeDefiler: not true, you can also pick up cases by delivery
22:31:01justin-georgebut yes
22:31:04DefilerOh really?
22:31:07DefilerIs that new?
22:31:20justin-georgeDefiler: Everyone waits in the same line, be they mayor or prime minister
22:31:26justin-georgenope, same as ever
22:31:27DefilerAwesome
22:31:36mistergibsonI'll keep that in mind if I ever jump or sail the pond again
22:31:36DefilerOK, pleased to be corrected about that :)
22:31:47justin-georgemistergibson: Well worth it, I'm told.
22:31:50mistergibsonactually, I'm nicely spoiled with micro-brews right here in town
22:31:52mistergibsonk
22:34:57mistergibsonI think I'm done flying though, I think I'd rather jump onto a ship - better food :P
22:35:08mistergibsonI have the time
22:38:06mistergibsonseems like flying these days is all about: get into your jammies, pee in the cup, turn your head and cough ... not about relaxing travel
22:39:00evani guess it's all about how much you can tolerate
22:39:02evani don't mind it.
22:39:10evani do it often enough that it's not a big deal
22:39:13rueYou wear pajamas to the plane too?
22:39:17evansecurity isn't bad
22:39:23evani wear jammies sometimes
22:39:24dbussinkevan: my grandfather actually wore wooden shoe
22:39:24mistergibsonyeah, seems 'all up in yo bidnez' to me, can't take it
22:39:25dbussinkshoes
22:39:29evancourse he did!
22:39:31evanHE WAS DUTCH.
22:39:41mistergibsonnice
22:39:42dbussinkevan: one of the last real ones apparently :p
22:39:58mistergibsondid they have issues with the ground water splitting the shoe?
22:40:20evanhehe
22:40:44dbussinkmistergibson: nah, we know how to handle that, unlike some people in other countries
22:40:50mistergibson:)
22:40:51mistergibsonoils?
22:41:01mistergibsonI'm curious
22:41:10dbussinkbegins with new and ends in orleans
22:41:29mistergibsonseems like oil saturated hard wood would be ideal
22:41:40dbussinkthose shoes can actually handle a lot
22:41:46mistergibsoncool
22:41:48dbussinkthey are made in line with the structure of the wood itself
22:42:02mistergibsonwell, if you see me clomping around in a pair - I'm just curious
22:42:10mistergibsonk
22:44:14dbussinkmistergibson: haha, i've tried them, not very comfortable, i've heard it's like an acquired taste
22:45:06mistergibsonyes, I was thinking gel insoles
22:47:53dbussinkbut anyway, i'm going to get some sleep
22:47:55dbussinknight ppl
22:59:13lypanovwonders why people think clogs are a dutch thing
23:01:55evanbecause wooden shoes look like clogs.
23:02:09lypanovwah?
23:03:03evanomdat klompen lijken op klompen
23:03:10lypanovlol
23:03:17evanduh.
23:03:28evan:)
23:03:42lypanoverg indrukwekkend
23:04:15evanis that dutch shorthand for "a drunken weekend" ?
23:04:19evanbecause it looks like it.
23:04:23lypanov;)
23:04:38mistergibsonindruk ... forgot
23:04:51lypanovindruk == imprint
23:05:33lypanovwekkend == waking, very non literal
23:05:44lypanovsummary, something that makes an imprint.
23:05:45mistergibsonimpression, k
23:05:49lypanovas in, something impressive.
23:05:57mistergibsonk
23:05:58lypanovimpressive.
23:06:10lypanovdutch is teh fun.
23:06:18evanmy ability to use translate.google.com is not impressive
23:06:20evanbut thank you.
23:06:29lypanovtranslate.google.com sucks
23:06:36lypanovbrb 2 proof
23:07:05lypanovis there any coffee left -> este o orice cafea stânga
23:07:24lypanovand back again
23:07:35lypanov-> is there any coffee on the left
23:07:40evanhah
23:07:51evanmore! again!
23:07:52evankeep going
23:08:17lypanovthis was a real world example.
23:08:20lypanovi needed to know.
23:09:09lypanov"este o orice rămase de cafea" makes some sense
23:09:19lypanov("is there any remaining coffee")
23:10:52evanthis exception stack sucks.
23:11:15lypanovexception stack?
23:11:29evanruby's logic for what the value of $! is
23:11:37evanwhen and where
23:11:40evanis complicated.
23:11:51lypanovah yeah, crazy shit.
23:14:36justin-george$! has bitten my ass *repeatedly*.
23:16:14brixenwait, wouldn't this just be tested somewhere?
23:16:21brixenoh ha ha ha, what am I thinking
23:16:26brixensilly me
23:17:17evanha
23:17:46justin-georgewhat are these 'tests' you speak of. My people are unfamiliar with them.
23:18:08brixenjustin-george: and by your people, you mean most of the world, yes? :)
23:18:13justin-georgehumans.
23:18:42brixenI haven't met any TDD'in dogs yet either, so I'll go with world
23:19:06justin-georgemy dog knows test. He tests my patience *all the time*.
23:20:31brixenheh
23:20:35brixenI stand corrected
23:29:46brixenWJW
23:30:17brixenwhy does this spec use both system("chmod 0777 foo") and File.chmod in the same spec
23:30:30brixenand the spec is for Dir.mkdir
23:30:38brixenshoots himself
23:31:18brixencomplete with nested (ie *inside* the it block) guards for platform_is_not :windows and platform_is :windows
23:31:46evanrad.
23:32:22justin-georgeso it'll never work? nifty.
23:32:35brixenit works
23:32:48justin-georgeset of functioning platforms: ø ?
23:33:02brixenthe same way that old smoke puffin 1973 ford station wagon with faux wood sides works
23:33:23brixenlooks like shit, smells like shit, sounds like shit
23:33:26brixenstill runs
23:34:09brixenjustin-george: the guards are not nested, they are nested inside the 'it' block
23:34:14brixenwhich is a big no-no
23:34:20justin-georgeoh, okay, heh, I was thinking:
23:34:27brixenbecause it fucks up guard reporting and other things
23:34:35justin-georgeif a; if !a; something; end; end;
23:34:41brixenyeah, not an intersection is the null set thing :)
23:36:29brixenI am completely lost looking at this spec
23:44:14evanponders.
23:44:39tenderloveponders.
23:45:20rueHe is stealing your ponder.
23:45:23brixenponders tenderlove pondering evan
23:45:37justin-georgedef ponder; ponder; end
23:45:48brixenouch, my head
23:46:01tenderloveponderosa
23:46:02evanponders <rec>tenderlove pondering evan pondering \rec
23:47:23evanok
23:47:43tenderlove:'(
23:47:56tenderloveThe only Chili's in western washington closed
23:47:58brixenhttp://www.box.net/shared/0bx44f6m04
23:48:05brixenyou all should listen to that
23:48:20justin-georgetenderlove: you're better off without it. f'reals.
23:48:27tenderloveno!
23:48:30tenderloveit looks delicious
23:48:44justin-georgeit's all reheated frozen food. and not even good reheated frozen food
23:49:21tenderloveI guess there's one in the airport. But I don't want to buy a plane ticket
23:49:26tenderloveI *will* eat chili's someday
23:49:33evantenderlove: we can go down here
23:49:48justin-george0_o come to portland, eat at Le Bistro Montage. It's the same food, only actually good
23:50:00tenderloveevan: I kinda want to make a thing out of it. Like get in a chili's ad
23:50:05evanhah
23:50:24tenderlove"The man who had never been to a Chili's"
23:50:47evanyou've never been?
23:50:53tenderloveno
23:50:54tenderlovenever
23:51:12evanwell then.
23:51:28evandon't go now!
23:51:29evanhold out!
23:51:34justin-georgef'reals.
23:52:53tenderloveevan: I want to go to that pirate themed restaurant in LA
23:53:04evanhm
23:53:08tenderlovenext to medieval times
23:53:11justin-georgetenderlove: I've been to that one, it's actually decent
23:53:27justin-georgewell worth the piratical themed eatin's
23:53:41tenderlovehttp://www.piratesdinneradventure.com/
23:54:10evani'd go
23:54:11evannever been.
23:54:57evandud
23:54:59evandude
23:55:07evanthey're open xmas eve and xmas
23:55:10tenderloveI can't go without my gf
23:55:11tenderlovewow
23:55:12tenderloveawesome
23:55:14evanpirates never go on holiday
23:55:27justin-georgetenderlove: you gotta go to Excalibur in Vegas, they have the best 'medieval times' type show
23:55:30evanoh maybe not.
23:55:31evananyway
23:55:38justin-georgenever been myself, but everyone says it's awesome
23:55:45rueWe have several Chili's'
23:55:50justin-georgeplus rooms are like $20 right now.
23:55:54tenderlovejustin-george: awesome. I will have to go and compare it to regular Medieval Times
23:55:57evanwhat is plural of chili's?
23:56:03evanchili's'?
23:56:07justin-georgechilii
23:56:07evanchili'ses?
23:56:07tenderlovechilii
23:56:19tenderlovechilleye
23:56:22evanbut the name is "Chili's"
23:56:29evanyou can't just leave off the 's
23:56:32evanit's part of the name
23:56:43tenderloveChili's: The place that belongs to Chili
23:56:51justin-georgeChili's + "'s" * 3
23:57:04tenderloveLike "Carl's Jr": The Jr that belongs to Carl
23:57:19evanright
23:57:32evanand more than one is Carl's Jrs
23:57:40evanconfusingly.
23:59:07tenderloveI want to start a restaurant called "Attourneys General"
23:59:25justin-georgeit's like the old french pluralities. Precisely.
23:59:42justin-georgemany sets of attorneys general are attorneys generals