Index

Show enters and exits. Hide enters and exits.

00:00:35crafterm enters the room.
00:02:53benburkert leaves the room.
00:11:53imajes_ enters the room.
00:13:19atmos enters the room.
00:33:17wyhaines enters the room.
00:33:52NoKarma leaves the room.
00:39:05wmoxam enters the room.
00:51:54crafterm leaves the room.
00:55:10imajes_ leaves the room.
01:00:55lstoll leaves the room.
01:13:12kevwil enters the room.
01:20:49trythil leaves the room.
01:27:06rubuildius_amd64 leaves the room.
01:28:31shame enters the room.
01:35:35lstoll enters the room.
01:36:26seydar enters the room.
01:36:40seydarhowdy, y'all
01:41:04mutle enters the room.
01:48:45mutle_ leaves the room.
01:57:54octopod leaves the room.
01:59:49heycarsten_ enters the room.
02:01:16heycarsten___ enters the room.
02:02:04trythil enters the room.
02:04:06ezmobius leaves the room.
02:06:19jtoy enters the room.
02:08:32loincloth enters the room.
02:14:47loincloth leaves the room.
02:15:43heycarsten leaves the room.
02:15:56heycarsten_ leaves the room.
02:24:16VVSiz_ enters the room.
02:29:05yugui enters the room.
02:31:53cored enters the room.
02:32:04obvio171 enters the room.
02:38:11octopod enters the room.
02:38:17jtoy leaves the room.
02:41:44VVSiz leaves the room.
03:22:39lstoll_ enters the room.
03:24:40lstoll_ leaves the room.
03:30:13lstoll leaves the room.
03:33:02Fullmoon leaves the room.
03:45:34crafterm enters the room.
03:49:37octopod leaves the room.
03:51:20kevwil leaves the room.
03:53:06rubuildius_ppc enters the room.
03:57:17Fullmoon enters the room.
03:58:04atmos leaves the room.
04:05:59stepheneb enters the room.
04:15:12Fullmoon leaves the room.
04:18:04seydar leaves the room.
04:20:36lchin enters the room.
04:43:32cheaproc leaves the room.
04:51:18heycarsten___ leaves the room.
04:51:34heycarsten enters the room.
04:52:21benburkert enters the room.
05:01:49wmoxam leaves the room.
05:08:45lchin leaves the room.
05:13:02stepheneb leaves the room.
05:15:09brapse enters the room.
05:15:26benburkert leaves the room.
05:16:04benburkert enters the room.
05:18:16blakewatters leaves the room.
05:24:42Brazen enters the room.
05:25:46lchin enters the room.
05:32:50headius enters the room.
05:43:20gnufied enters the room.
05:45:11lchin leaves the room.
05:47:16mae enters the room.
05:48:14Brazen leaves the room.
05:48:17gnufied leaves the room.
05:50:29maeyo
05:53:14brixenheh, look what the cat dragged in!
05:53:21brixensup yo?
06:05:11ezmobius enters the room.
06:08:46lchin enters the room.
06:14:59headiushey, if I wanted to build cpp branch, what's the best way to get the right llvm
06:16:13benburkert leaves the room.
06:23:08brapse leaves the room.
06:23:11heycarsten leaves the room.
06:23:30headiushmm, vm/README seems to be missing some steps or something
06:23:38headiusffi.h not found
06:40:23crafterm leaves the room.
06:44:42blakewatters enters the room.
06:45:32trythil leaves the room.
06:53:38thehcdreamer leaves the room.
06:57:40blakewatters leaves the room.
06:58:31rudebwoy enters the room.
07:02:48xhanjian_ enters the room.
07:07:01xhanjian_ leaves the room.
07:15:07jtoy enters the room.
07:18:16robin_dewd_ enters the room.
07:19:56ezmobius leaves the room.
07:23:58dbussinkheadius: quick fix is to run ./configure in external_libs/libffi
07:25:29headiusI see
07:27:56headiusand how to point it at llvm?
07:28:47xhanjian_ enters the room.
07:29:36dbussinkyou need llvm 2.3 installed for it to build
07:29:40dbussinkit's integrated with it
07:29:48dbussinkit's not in external_libs because it pretty huge
07:30:10dbussinki installed the source code and did ./configure && make && sudo make install
07:30:15dbussinkwas the easiest way
07:32:12xhanjian_ leaves the room.
07:33:27atduskgreg enters the room.
07:33:38robin_dewd leaves the room.
07:34:53headiusmmm ok
07:35:04headiusI don't like doing hard installs very much
07:38:59headiusis cpp+llvm working at all?
07:39:55robin_dewd__ enters the room.
07:41:00xhanjian_ enters the room.
07:49:07xhanjian_ leaves the room.
07:53:14robin_dewd_ leaves the room.
07:54:15xhanjian_ enters the room.
07:57:51xhanjian_ leaves the room.
08:06:09atduskgreg leaves the room.
08:07:59imajes_ enters the room.
08:08:28headius leaves the room.
08:12:36robin_dewd_ enters the room.
08:14:00imajes_ leaves the room.
08:19:39thehcdreamer enters the room.
08:22:48ljulliar enters the room.
08:25:37dbussinkwell, it runs some of the tests now
08:25:44dbussinkit still fails at a certain point
08:26:14crafterm enters the room.
08:26:20robin_dewd__ leaves the room.
08:27:03gnufied enters the room.
08:33:49ljulliarI'm trying to declare ARGF in global.rb (:$< => ARGF) but it (logically) causes a const missing error
08:34:29ljulliarARGF is a class implemented in kernel/core/argf.rb
08:34:51ljulliarShall I initialize $< in the ARGF class itself ?
08:35:00ljulliarinstead of global.Rb
08:35:02ljulliar?
08:47:21w1rele55 enters the room.
08:47:44w1rele55 leaves the room.
08:47:50w1rele55 enters the room.
08:58:42evanljulliar: sure, thats fine. set it in argf.rb
09:02:54joachimm enters the room.
09:16:42octopod enters the room.
09:17:46pauldix enters the room.
09:38:32joachimm_ enters the room.
09:44:32joachimm leaves the room.
09:46:00robin_dewd__ enters the room.
09:48:49robin_dewd_ leaves the room.
10:01:14imajes_ enters the room.
10:03:26ljulliarevan: shall I also add a 'ARGF.after_loaded' in loader.rb ?
10:05:29imajes leaves the room.
10:09:05goodney leaves the room.
10:09:14pauldix leaves the room.
10:09:29Maledictus enters the room.
10:14:20joachimm_ leaves the room.
10:22:00michalw enters the room.
10:52:48lstoll enters the room.
10:53:32lstoll leaves the room.
10:54:18cored leaves the room.
11:04:55chris2 enters the room.
11:17:02jtoy leaves the room.
11:19:03jtoy enters the room.
11:20:40jtoy leaves the room.
11:27:19nzkoz enters the room.
11:32:23obvio enters the room.
11:43:14yugui leaves the room.
11:46:13pauldix enters the room.
11:46:37obvio171 leaves the room.
11:56:54Fullmoon enters the room.
12:00:25pauldix leaves the room.
12:05:38crafterm leaves the room.
12:29:31mutle leaves the room.
12:30:44Fullmoon leaves the room.
12:38:26joachimm enters the room.
12:39:09mutle enters the room.
12:41:51gnufied leaves the room.
12:48:06yugui enters the room.
12:51:36pauldix enters the room.
12:54:16EugZol leaves the room.
12:58:54neelance enters the room.
13:00:01crafterm enters the room.
13:00:15ljulliar leaves the room.
13:32:53benny leaves the room.
13:45:54robin_dewd__ leaves the room.
13:46:09robin_dewd__ enters the room.
13:52:41imajes leaves the room.
13:55:58heycarsten enters the room.
13:56:45imajes enters the room.
14:05:44joachimm leaves the room.
14:16:42neelance leaves the room.
14:17:55lchin leaves the room.
14:22:24gnufied enters the room.
14:28:16cremes_ enters the room.
14:36:11benny enters the room.
14:39:07hemulen enters the room.
14:53:50ryanlowe enters the room.
14:54:35ryanloweEngine Yard is taking over the world! congrats guys
14:55:31moofbong enters the room.
15:04:54joachimm enters the room.
15:05:30benburkert enters the room.
15:09:11wmoxam enters the room.
15:13:25fbuilesv enters the room.
15:15:45wyhaines leaves the room.
15:35:45crafterm leaves the room.
15:40:28mutle leaves the room.
15:49:14neelance enters the room.
15:50:11mutle enters the room.
15:50:32nicksieger enters the room.
15:51:58blakewatters enters the room.
15:56:42brapse enters the room.
15:57:26ljulliar enters the room.
15:58:42jtoy enters the room.
16:08:22robin_dewd_ enters the room.
16:12:01fbuilesv leaves the room.
16:14:59fbuilesv enters the room.
16:15:57gnufied leaves the room.
16:20:39NoKarma enters the room.
16:21:02neelance leaves the room.
16:23:15robin_dewd__ leaves the room.
16:24:56nicksieger leaves the room.
16:30:45Illocution enters the room.
16:33:53nicksieger enters the room.
16:36:46jtoy leaves the room.
16:41:17hemulen leaves the room.
16:42:14robin_dewd_ leaves the room.
16:42:20lopex enters the room.
16:42:38robin_dewd_ enters the room.
16:46:33AndrewO enters the room.
16:50:06blakewatters leaves the room.
16:57:49hemulen enters the room.
16:59:24c0sin enters the room.
17:04:22jbarnette enters the room.
17:06:20pauldix leaves the room.
17:07:38joachimm_ enters the room.
17:09:34pauldix enters the room.
17:10:37yugui leaves the room.
17:13:45benburkert leaves the room.
17:14:04benny leaves the room.
17:14:15pauldix leaves the room.
17:14:22benburkert enters the room.
17:14:53pauldix enters the room.
17:17:53pauldix leaves the room.
17:20:08pauldix enters the room.
17:20:22headius enters the room.
17:20:22joachimm leaves the room.
17:21:37pauldix leaves the room.
17:21:56pauldix enters the room.
17:22:26pauldix leaves the room.
17:24:07loincloth enters the room.
17:26:16jptix leaves the room.
17:26:51jptix enters the room.
17:26:54jptix leaves the room.
17:27:05jptix enters the room.
17:27:48brapse leaves the room.
17:30:26chris2 leaves the room.
17:31:37jptix leaves the room.
17:31:57jptix enters the room.
17:32:25jptix leaves the room.
17:32:25benburkert_ enters the room.
17:32:40jptix enters the room.
17:33:52jptix leaves the room.
17:34:03jptix enters the room.
17:39:37atduskgreg enters the room.
17:41:38thehcdreamer leaves the room.
17:41:47imajes_ enters the room.
17:42:00benburkert leaves the room.
17:44:53robin_dewd__ enters the room.
17:45:15atmos enters the room.
17:45:20atmos leaves the room.
17:45:34atmos enters the room.
17:45:40imajes leaves the room.
17:48:23blakewatters enters the room.
17:53:28evanmorning.
17:55:34joachimm enters the room.
17:55:35nexcastellanGood morning.
17:57:42michalw leaves the room.
17:57:50michalw enters the room.
17:59:47robin_dewd_ leaves the room.
18:02:30joachimm_ leaves the room.
18:05:10headiushowdy
18:05:50Defilerhow-dee
18:07:12headius leaves the room.
18:08:03headius enters the room.
18:13:15gnufied enters the room.
18:16:50enebo enters the room.
18:19:46chad enters the room.
18:24:07roo enters the room.
18:24:51dbussinkyeeehaaa
18:25:15michalw leaves the room.
18:26:31wyhaines enters the room.
18:30:17fbuilesv leaves the room.
18:31:39nzkoz leaves the room.
18:33:34Fullmoon enters the room.
18:33:46roo leaves the room.
18:33:54eventualbuddha enters the room.
18:34:30rue leaves the room.
18:35:53binary42 leaves the room.
18:39:39roo enters the room.
18:39:45ezmobius enters the room.
18:44:08gnufiedcongrats to EY folks!
18:47:16evanthanks!
18:48:46nexcastellanWhat happened at EY recently?
18:48:48ijcd enters the room.
18:51:33TheProkrammerindeed, congrats :) http://brainspl.at/articles/2008/07/14/engine-yard-takes-15mill-series-b-round-from-nea-amazon-and -benchmark
18:52:35nexcastellanAh! Yes, congrats. :)
18:52:57Fullmoon leaves the room.
18:53:22ezmobius leaves the room.
19:00:48ijcd leaves the room.
19:01:11ijcd enters the room.
19:12:59ezmobius enters the room.
19:26:49eventualbuddha leaves the room.
19:27:54joachimm_ enters the room.
19:27:58joachimm_ leaves the room.
19:33:58edwardam enters the room.
19:35:30nexcastellanIs Rubinius's support for Thread fully baked? I seem to have tracked down a udp spec problem to the fact that Rubinius seems to lock up on a blocking call which should be inside a thread, and MRI does not.
19:36:13evani'd believe there are a few places missing.
19:36:25evanit's not implicit how IO interacts with Threading
19:36:28evanit's explicit
19:36:37joachimm leaves the room.
19:36:47nexcastellanSo you can't necessarily do a blocking call in a thread and expect other threads to continue?
19:36:47evanso most IO methods use special versions internally to let Threads switch
19:36:59evanif something in a Socket method didn't do that, it could block
19:36:59evanyes.
19:37:11nexcastellanOkay. I'll see if I can implement recv_nonblock or something. :)
19:37:31evannexcastellan: it's important to understand that "blocking" to ruby is really "nonblocking" to C
19:37:38nexcastellanThis also means the spec is borked, then. I'll fix that, too.
19:37:42evanwith rubinius' blurred boundry
19:37:46nexcastellanAh!
19:37:48evanit becomes a little confusing
19:37:48nexcastellanOh!
19:37:54nexcastellanYes, that is a little confusing.
19:38:15evanthe jist is that a "blocking" ruby method must not use a "blocking" C function
19:38:21evanvia FFI for instance
19:38:23nexcastellanBut what you seem to be saying is that Rubinius shouldn't be making blocking C calls, only non-blocking calls. And then things will work as I naively expect wrt threads.
19:38:39evanit must use Scheduler methods, for instance, to let the VM scheduler switch threads
19:38:47evannexcastellan: exactly.
19:38:56evanthats the situation with green threads
19:39:06Fullmoon enters the room.
19:39:06tarcieritoo bad C extensions like to make blocking calls
19:39:10nexcastellanOkay, great, got it. I wonder if this is possible in all cases. Seems to be possible in this specific case.
19:39:15evantarcieri: yes.
19:39:18evantarcieri: very too bad.
19:39:25drbrainour Socket is pretty lame in that respect right now
19:39:30drbrainoff to lunch
19:39:32tarcieriespecially when they don't even handle signals correctly so you can't interrupt them
19:39:37tarcierithe MySQL gem springs to mind
19:39:38evantarcieri: 1.8's "hack" for getting around that is really ugly too
19:39:46evanyep.
19:39:50drbrainFWIW, in my sendfile extension I correctly used non-blocking
19:39:53drbrainwoo me!
19:39:58evandrbrain: go you!
19:40:08tarcierijust monkeypatched into the internals of rb_thread_schedule()
19:40:24tarcieriin 1.8, anyway
19:40:25tarcieriugh
19:40:31evanALL YOUR BITZ BELONG TO tarcieri
19:41:08nexcastellanOh. No recvfrom-nonblock. Gah. I can work around it by setting the socket to non-blocking and polling. But that's kind of nasty, no?
19:41:24nexcastellanWhich is worse, a polling version of recvfrom or a blocking version which does not poll?
19:41:28evannexcastellan: recvfrom_nonblock is pretty easily to write
19:41:33evanif you want to
19:41:39tarcieriin C?
19:42:26nexcastellanI agree that recvfrom_nonblock is easy enough to write, but send_spec.rb does @server.recvfrom().
19:42:43nexcastellanSo I can keep recvfrom blocking, and change the rubyspec to use recvfrom_nonblock.
19:42:57nexcastellanOr change recvfrom to polling, and then the spec will work unaltered.
19:43:10evanwell
19:43:16nexcastellanI'm thinking altering the spec and implementing recvfrom_nonblock is the better approach.
19:43:18evanrecvfrom blocks
19:43:20evanas it's API
19:43:25evanso we shouldn't change that.
19:43:40evannexcastellan: well, this is a spec for send, right?
19:43:47nexcastellanSpec for send, yes.
19:44:02nexcastellanrecvfrom blocks, but does not stop other threads running. Just to be clear. In MRI.
19:44:27nexcastellanEvan, is your point that whether we use recvfrom or recvfrom_nonblock in this spec, it's not relevant TO TESTING SENDING?
19:44:51tarcieriyeah, it probably calls rb_thread_wait_readable() or whatever, which calls rb_thread_select()
19:47:05gnufiedjust trying to follow the discussion, why should C extensions make non-blocking calls, and even if they do, isn't it complex to handle non blocking calls there?
19:47:58evannexcastellan: right
19:48:12evannexcastellan: since this a spec for send, use whichever recvfrom you'd like.
19:48:20evanif you need to implement recvfrom_nonblock, thats fine.
19:48:24nexcastellanGreat! Will do.
19:48:46nexcastellanI have a whole heap of socket.rb changes I hope to push out later today, want to get all the specs working first.
19:48:53evanexcellent!
19:53:33binary42 enters the room.
20:00:24dysinger enters the room.
20:02:12ijcd leaves the room.
20:02:38brapse enters the room.
20:09:09mutle leaves the room.
20:09:15robin_dewd_ enters the room.
20:09:45mutle enters the room.
20:10:38ijcd enters the room.
20:18:47atduskgreg leaves the room.
20:19:24Yurik leaves the room.
20:22:13robin_dewd__ leaves the room.
20:33:31roo leaves the room.
20:34:09roo enters the room.
20:35:45ljulliarbrixen: try adding include Enumerable for instance
20:36:26brixenk, one sec
20:36:42ljulliarno problem
20:37:04ijcd leaves the room.
20:40:01brixenljulliar: this is a load order dependency
20:40:15brixenadd enumerable.rb to the # depends on: line in argf.rb
20:41:23ljulliarWorks much better!
20:41:30brixen:)
20:41:38ljulliarIt's my first coding session in the kernel and it shows !!
20:41:50ljulliarsorry for the noise
20:41:55brixenn/p at all
20:42:20brixenbetter to ask a question than spend too much time beating your head
20:42:24brixenunless you like that sort of thing :P
20:42:48ljulliarnot that much... :-)
20:43:04brixenheh
20:48:23Fullmoon leaves the room.
20:50:50Fullmoon enters the room.
20:51:37ijcd enters the room.
20:52:04Fullmoon leaves the room.
20:52:29ijcd leaves the room.
20:53:22ijcd enters the room.
20:53:57ijcd leaves the room.
20:54:29ijcd enters the room.
20:57:11fbuilesv enters the room.
21:00:08blakewatters leaves the room.
21:06:03ljulliaranother question
21:06:18ljulliar$< must be initialized to ARGF
21:06:27ljulliaridelally it should go in global.rb
21:06:32ljulliar :$< => ARGF,
21:06:45ljulliarproblem is: ARGF is unknown at that stage
21:06:51binary42 leaves the room.
21:10:14drbraindamn, I could work here while vivace is closed
21:10:23drbraintoo bad it's on beacon hill
21:19:42EugZol enters the room.
21:20:18dfg59 enters the room.
21:22:42ljulliarIs it legel to declare class variable in kernel class?
21:22:45ljulliarlegal
21:22:48ljulliarlike
21:22:51ljulliar @@lineno = 0
21:24:45Arjen_ enters the room.
21:28:08drbrainno
21:28:19drbrainit is allowed, though
21:28:49drbrainwhy do you want @@lineno?
21:29:05ljulliarSo what should be used for a class variable?
21:29:11ljulliarany substitute?
21:29:28drbrainwhy would you want to put the cvar in Kernel?
21:29:47drbrainI think that's something we really shouldn't do at that level in rubinius
21:30:29ljulliarI'm currently writing the content of class ARGF
21:30:54ljulliarI need a couple of variables that must be shared across ARGF class methods
21:31:01drbrainand you wanted to put ARGF.lineno somewhere?
21:31:10ljulliaryes
21:31:34drbrainwhy isn't it just @lineno on the ARGF class?
21:31:42drbrainerr, object, not class
21:31:58seydar enters the room.
21:32:01fbuilesv_ enters the room.
21:32:06ljulliarThat's right ARGF is actually of class Object
21:32:23drbrainok :)
21:32:29ljulliarso I think I'm going to extend the ARGF object and use instance variable
21:32:58ljulliarSomething like
21:33:04ljulliarARGF = Object.new
21:33:10ljulliarclass << ARGF
21:33:12ljulliar...
21:33:14ljulliarend
21:33:21fbuilesv leaves the room.
21:33:22roo leaves the room.
21:33:26drbraindef ARGF.lineno
21:33:30drbrain:)
21:33:36drbrainit's prettier
21:33:53ljulliarsure but there are twenty methods to define
21:34:04drbrainalthough, it really wouldn't hurt to make an explicit class for our ARGF
21:34:07drbrainARGFClass
21:34:31seydarwhat exactly *is* ARGF?
21:34:33ljulliarProblem is: it doesn't comply with MRI
21:34:41ljulliarARGF.class
21:34:43ljulliarObject
21:34:44drbrainhow?
21:34:51seydarim reading that its just a concatenation of all files on the command line
21:34:54drbrainthat's an implementation detail
21:34:55seydarbut that doesnt make any sense
21:34:59drbrainseydar: yes
21:35:24drbrainruby -e 'puts ARGF.read' < a b c
21:35:29drbrainprints out a b and c
21:35:39drbrain* the contents of
21:36:06drbrainljulliar: there's no IO::BidirectionalPipe for supporting popen in MRI
21:36:13drbrainbut we have it because it's saner for us
21:36:51ljulliarWell my first intent was to make it a class... so I have no problem with this scenraio
21:37:27drbrainso I've convinced you to make ARGFClass? cool
21:37:40ljulliarSo how would you declare ARGF exactly on the basis of ARGFClass ?
21:37:58drbrainARGF = ARGFClass.new
21:38:25ljulliarBut we must make sure ARGF is a singleton
21:38:50drbrainyou could include Singleton
21:39:17ljulliarok
21:39:34ljulliarand shall I put 'ARGF = ARGFClass.new' in an after_loaded hook ?
21:39:41roo enters the room.
21:39:43drbrainit's ok for people to shoot themselves in the foot if they should know better
21:40:01zenspidersomeone else was talking about working on ARGF recently... beware
21:40:06drbrainI think people calling ARGFClass.new and getting a new instance is ok
21:40:16zenspiderand funny
21:40:28ljulliarThat must be me I have just committed the full specs
21:40:33drbrainyeah, I think it would need to be in after_loaded
21:40:36ljulliarand the code for ARGF is 99% complete
21:40:44zenspiderARGF = ARGFClass.new; Object.const_remove ARGFClass
21:40:47zenspiderrad
21:40:56zenspiderkk
21:41:04zenspiderfirst one wins. :)
21:41:26seydarkickass
21:41:48zenspiderexcept seydar... he never wins. :P
21:41:53seydarlame
21:42:33rue enters the room.
21:43:14seydarDefiler: ping
21:43:18zenspiderhaha... it's ok seydar... we love you anyways. :P
21:43:28zenspiderhe seems away on my IM
21:43:39seydardammit
21:43:44seydarbtw, you should all work weekends
21:44:01zenspiderhah. no.
21:44:55seydaryess. its summer and i rarely know what day of the week it is anymore. i came in here on saturday and sunday and _no one_ was here
21:46:28seydaralso, hypothetically speaking, would you all be interested in presenting rubinius (specifically info on the architecture) at a potential conference?
21:48:20drbrainmaybe
21:48:24zenspidermaybe
21:49:13seydarsweet.
21:49:48seydarthats good news
21:50:07binary42 enters the room.
21:51:00zenspiderseydar: no, that's potentially good news
21:51:08seydarah, too true.
21:51:26seydarbut since i'm already in the potential stage, its just good news for me.
21:51:31drbrainwhat kind of bribes do we get?
21:51:40seydaruh, free travel and ticket
21:51:43seydarand stay
21:52:12seydaractually, thats a lie. free ticket, breakfast and lunch, and room and board
21:52:16seydarim not sure about free travel
21:52:36drbraindon't give out free travel, it's $$$
21:52:41drbrainunless you're super successful
21:53:05seydarwell, im hoping sponsors will cover that.
21:53:14zenspiderI dunno man... goruco paid pretty well... :P
21:53:33ljulliarzenspider: can not do 'ARGF = ARGFClass.new' in after_loaded
21:53:36seydardartmouth is looking to beef up their CS stuff, AND i'm writing them new software, so they'll *hopefully* give us the room
21:53:47ljulliarerror: dynamic constant assigment
21:54:00zenspiderljulliar: hrm...
21:55:00drbrainoh, you will have to const_set
21:55:10ljulliarthat's right
21:55:13zenspiderljulliar: gimme a sec... I'll make it work
21:55:37seydaroh, because ARGF is created a long time ago.
21:58:21seydarwhere is ARGF originally defined? in the C?
21:59:19ljulliarzenspider
21:59:24ljulliar def after_loaded
21:59:25ljulliar Object.const_set('ARGF', ARGFClass.new)
21:59:27ljulliar Object.const_remove ARGFClass
21:59:28ljulliar end
21:59:30ljulliarshould do the trick
21:59:44ljulliarseydar: in io.c
22:00:12drbrainI think it'll be Object.remove_const :ARGFClass
22:00:29zenspiderljulliar: yeah. that's the best you're gonna get... the others are all done in C and there is no reason for us to bother with that
22:00:45zenspiderI was kidding about the remove_const part... that won't help with the singleton bit
22:00:51zenspiderjust include Singleton in there
22:01:27zenspiderbesides... you'd still be able to do ARGF.class.new
22:01:29binary42 leaves the room.
22:01:30zenspider:P
22:01:32ljulliardoing both is a bit of an overkill for sure
22:02:30benburkert leaves the room.
22:03:24zenspideryay for overkill!
22:07:02evanallo.
22:07:29ljulliarzenspider: can I do a require 'singleton' in a kernel file or do I have to use the depends on line
22:07:36ljulliar?
22:07:49drbrainI wouldn't even bother with require 'singleton'
22:07:59ljulliarit actually crashes
22:08:32ljulliarbut the include statement alone is not enough
22:09:04evandon't use singleton
22:09:08evanin the kernel.
22:09:09evanever.
22:09:18ljulliarOOOOOkkkkkk
22:09:21ljulliar:-)
22:09:27evandon't use anything thats in stdlib in the kernel
22:09:28evanever.
22:09:29evanas a rule.
22:09:44evanljulliar: don't worry if someone makes another instance
22:09:44ljulliarcopied!
22:09:48evanljulliar: thats their problem.
22:09:57evansince our ARGFClass is custom to rubinius anyway
22:09:59ljulliarok
22:12:59fbuilesv_ leaves the room.
22:14:34blakewatters enters the room.
22:16:49dfg59 leaves the room.
22:18:19neelance enters the room.
22:19:12seydarevan: How do you get singletons then?
22:19:27evandef self.instance
22:19:32evan @inst ||= new
22:19:33evanend
22:19:35evandone!
22:20:06seydarwow
22:20:29evanif you want protection as well:
22:20:32evanclass << self
22:20:36evan private :new
22:20:38evan def instance
22:20:42evan @inst ||= send(:new)
22:20:44evan end
22:20:44evanend
22:20:53evanbut protection is rarely needed.
22:21:03seydarnice
22:21:11evanor, invisible singletons:
22:21:17evandef self.new
22:21:17seydarwhen is #instance ever called, though?
22:21:25evan @inst ||= super
22:21:25evanend
22:21:32drbrainI have non-singleton singletons in RDoc
22:21:40evanme to
22:21:42evanlots of places
22:21:44drbraindef self.fetcher() @fetcher ||= new; end
22:21:48evani never use singleton.rb either.
22:21:54drbrainerr, RubyGems is that one
22:21:54tarcieriheh
22:22:09evanseydar: you call it when you want an object
22:22:13evanseydar: thats how singleton.rb works too
22:22:13seydaris #instance a rubinius addition or is it used in MRI?
22:22:22evanthats the API that singleton.rb introduces
22:22:29evanyou call Blah.instance
22:22:31evaninstead of Blah.new
22:24:44evanI define the singleton pattern to be "an API that always returns the same object"
22:25:05tarcierisingleton.rb is silly
22:25:41evanintensly so.
22:28:43antares enters the room.
22:29:03w1rele55 leaves the room.
22:30:19octopod leaves the room.
22:32:11benburkert enters the room.
22:33:10evanbrutalization?
22:33:21seydarno one is above a beatdown
22:33:40drbrainI am the beatdown
22:34:07roo leaves the room.
22:34:59seydardrbrain: you're only fooling yourself... know where defiler is?
22:35:07evanheadius[2661]: ok.
22:35:14roo enters the room.
22:35:24drbrainseydar: yes, he's away from his computer
22:35:32drbrainseydar: movie reference!
22:35:41seydardrbrain: he doesnt even supply a different away message
22:35:42seydar?
22:38:09evanhrm
22:38:18evani must not be in the proper mindset
22:38:22evani don't see the problem.
22:38:46drbrainheadius[2661]: what's the 2661 about?
22:39:01cremes_ leaves the room.
22:41:52Defilerseydar: yo
22:42:04evanheadius[2661]: ah
22:42:08seydarDefiler: ready to continue hunting said Wumpus?
22:42:22seydarDefiler: did you happen to see my stuff from saturday, btw?
22:42:25drbrainseydar: that's not the real Defiler! he's still away from his computer
22:42:32drbraindon't be fooled by cheap imitations
22:42:40zenspiderhaha
22:42:44seydardrbrain: ooh good point. probably a bot
22:42:46Defilerseydar: i saw you talking about your stuff, but not your actual stuff
22:42:50evandemand Defiler(tm) at your local supermarket today!
22:42:52Defilerloading
22:42:53Defilerloading
22:42:54seydarDefiler: SFs234Sdf
22:43:04Defilerprocessing revision
22:43:29seydaranyways, i *think* i posted the code i was using.
22:44:09DefilerI don't see that.. are you sure you pushed it?
22:44:28seydaroh, i didnt push it because it didnt work. i think i pastied it and put the link here
22:44:41seydarbut the point is, i was unable to get enough unique information to identify the Autoload objects.
22:45:00seydarbut couldn't we do a multi-value hash?
22:45:25DefilerDo you still have a copy of it?
22:45:52Defilerbut yeah we can have an array of values in the hash or something
22:46:17AndrewO leaves the room.
22:46:20seydarlemme check to see if i have a copy. its not too useful, in retrospect
22:46:24benburkert leaves the room.
22:46:25gnufied leaves the room.
22:46:28Defileroh
22:46:44seydarit relied on Autoloads being FIFO, which i doubt they are
22:46:58Defileryeah
22:47:04seydarno, i dont have the code :-(
22:47:12seydarbut lets test out the multivalue hash idea!
22:47:20DefilerThat's OK. Did you see the bug ticket I made for it?
22:47:23seydaryea
22:47:29seydarmakes fondue
22:47:59Defilerit would be cool if we could auto-log an irc conversation to a bug ticket
22:48:02Defilerby ticket number
22:48:27heycarsten leaves the room.
22:49:21moofbong leaves the room.
22:49:31benburkert enters the room.
22:50:08Defileroh haha is that really what you already do?
22:50:09Defilercool
22:50:17Defilerthat's some organized shit
22:50:35zenspiderDefiler: like I want MORE proof of my mouthing off. :P
22:50:54Defilerzenspider[dongs]
22:51:44Defilerseydar: So, I think the next step is to figure out which two or three print statements will show us where it all goes wrong, exactly
22:52:02wmoxam leaves the room.
22:52:08Defilerhaha
22:52:48seydarreturns
22:52:54NoKarma enters the room.
22:54:07evanhrm
22:55:45seydarDefiler: is it worth me writing a new multi value hash class or should i just hack it all into place?
22:56:04DefilerI think we should make sure this is the correct fix first
22:56:06drbrainseydar: I'd make it pretty
22:56:10DefilerI'm not 100% sold yet
22:56:27evanweird
22:56:34seydarDefiler: see, you get paid to do this. my time is ready to be wasted.
22:56:35evani'm trying to figure out why the Timeout::Error is getting out.
22:56:45seydarDefiler: i'll just try this and see if it makes things better
22:57:10Defilerdon't you want to pin down the exact bug, so that it can go into the trophy case?
22:57:23Defilerthis younger generation..
22:57:30evanheh
22:58:00drbraindon't even know about the underpants gnomes
22:58:21seydarim about 95% sold that this is the exact bug
22:58:24boyscout1 commit by Ryan Davis
22:58:24squeegy leaves the room.
22:58:25boyscout * Fixed empty build hashes so there is always a build to do (assuming triggered by ...; a18c57b
22:58:41seydarand besides, haven't you ever just had fun spraying a can of Raid around your house?
22:58:54drbrainseydar: no
22:59:04drbrainit makes it hard to breath
22:59:08DefilerOK, so how will we decide which entry in the multi-value to remove
22:59:10drbrainand doesn't get you very high
22:59:13Defilerwhen 'require' happens?
22:59:25seydarDefiler: is it wrong to remove both?
22:59:44Defilerlet's say it isn't wrong..
22:59:56DefilerIn that case, isn't there no need to have a mulit-value hash?
23:00:07seydarthere is, though
23:00:14seydarbecause we need to call #discard
23:00:23DefilerAha, yes
23:00:36DefilerSo Autoload.remove needs to call #discard in both (say) autoload objects
23:00:38Defilerinstead of just the last one
23:00:42seydaryea
23:00:53DefilerI agree; that is the bug
23:01:15DefilerThe scalpel is yours, doctor
23:01:16benburkert leaves the room.
23:01:22seydarthank you
23:01:38seydarlets get fuckin' awesome in here
23:02:04Defilerset alert level "fuckin' awesome" throughout the ship
23:03:08evandecending to "fuckin' awesome" level sir!
23:03:17ljulliarprim_reopen seems to refuse to reopen STDIN
23:03:24ljulliarthat works on MRI
23:03:36squeegy enters the room.
23:04:11zenspiderevan: descending? haha
23:04:20rubuildius_ppcRyan Davis: a18c57b40; 2539 files, 8461 examples, 28479 expectations, 0 failures, 0 errors
23:05:06evanyeah, whatever.
23:05:32evanthe sub captain doesn't have to spell, he just have to have balls of solid granite.
23:05:46DefilerI like the implication that we were previously at a higher level
23:05:55Defilerand that we were standing down to "fuckin' awesome"
23:06:01evanhah
23:06:19Defilerfrom "awesomepocalypse"
23:06:20zenspidersub eh? at least you weren't implying that you personally were above "fucking awesome"
23:06:45zenspider"fucking awesome" at least implies "able to spell". :P
23:06:53boyscout1 commit by Evan Phoenix
23:06:54boyscout * Detail elle, a ci client; d981af1
23:07:39evanon friday, i got all my apple store details from using tweetscan and searching for ipocalypse
23:11:55boyscout1 commit by Ryan Davis
23:11:56boyscout * Finished detailing CI; 71c1ea8
23:11:56rubuildius_ppcEvan Phoenix: d981af1f0; 2539 files, 8461 examples, 28479 expectations, 0 failures, 0 errors
23:16:08rubuildius_ppcRyan Davis: 71c1ea852; 2539 files, 8461 examples, 28479 expectations, 0 failures, 0 errors
23:16:19boyscoutpounds it
23:16:31Defilerseydar[awesome]: awesome
23:17:49evanseydar[awesome]: put MultiHash inside module Autoload
23:18:15nexcastellanI just didn't change my code and now it is passing a spec. How come things don't always work like that?
23:18:17evanotherwise it will likely collide with something later on
23:19:31seydarsweet
23:19:37seydarcommitting now
23:19:42seydarman, this is so empowering
23:19:47boyscout1 commit by Ryan Davis
23:19:47boyscout * Trying not to SUCK so much; 07b8364
23:20:17DefilerWe could use the block-taking variant of Hash.new here to do this, probably. Heh
23:20:28drbrainbest commit message to ever follow seydar's line
23:20:46DefilerHash.new {|h,k| h[k] ||= [] }
23:20:53seydarohoh
23:20:57seydaryea, we probably should
23:21:53Yurik enters the room.
23:22:31seydarnow i need an equally awesome commit message
23:23:50brixenHash.new { |h,k| h[k] = [] } should do it, yes?
23:23:56robin_dewd enters the room.
23:23:58brixenblock only gets called if the key does not exist
23:24:09brixenor is there something more subtle in this case?
23:24:17rubuildius_ppcRyan Davis: 07b83642f; 2539 files, 8461 examples, 28479 expectations, 0 failures, 0 errors
23:24:20brapse leaves the room.
23:24:22Defileraah, yes
23:24:25DefilerI guess you are right
23:25:46robin_dewd_ leaves the room.
23:26:59seydarshould i change anything?
23:27:20seydarugh, i deleted two files because i thought git was telling me to. and now its playing havoc with my life
23:27:36seydarhow do i pull down two specific files?
23:27:46ljulliar leaves the room.
23:28:01Defilerhttp://pastie.org/233355.txt
23:28:06DefilerI propose that
23:28:56boyscout1 commit by Wilson Bilkovich
23:28:57boyscout * Fix multiple autoloads registered for the same file; 7d3c700
23:29:12seydarok, you know what? you just stole my kill
23:29:18seydars/kill/commit
23:29:25DefilerOh, I did. Sorry. I got distracted
23:29:32Maledictus leaves the room.
23:29:42Defilerby figuring out whether Hash#delete triggers the default value
23:29:43seydarim gonna add a newline to it and then commit, k?
23:29:50Defilerhaha ok
23:30:02DefilerYou could double-check the comments
23:30:13seydari'll do that too
23:30:19ijcd leaves the room.
23:30:29DefilerSorry, I am a bad person
23:30:46seydarnext time you fix something hardcore, like "completed LLVM support and cured cancer", I get to commit it
23:31:02Defilerok
23:31:12evanhah
23:31:18evansounds fair to me.
23:31:45DefilerHey you did lose the code you wrote yesterday haha
23:31:50DefilerIt's not all my fault :)
23:31:55seydarbut it didnt work!
23:31:58seydarso i trashed that code
23:33:49roo leaves the room.
23:34:12rubuildius_ppcWilson Bilkovich: 7d3c70060; 2539 files, 8461 examples, 28479 expectations, 0 failures, 0 errors
23:34:24seydarbtw, did you add the spec?
23:34:49Defileroh, no. crapst
23:34:56DefilerI guess I didn't mean to push haha
23:35:30antares leaves the room.
23:35:49drbrainfailbuckets
23:36:01seydaryes. lots of fail in many buckets
23:37:42Defiler=(
23:39:21rubuildius_ey64Wilson Bilkovich: 7d3c70060; 2539 files, 8459 examples, 28445 expectations, 0 failures, 0 errors
23:39:22rubuildius_ey64Ryan Davis: 07b83642f; 2539 files, 8459 examples, 28445 expectations, 0 failures, 0 errors
23:39:23rubuildius_ey64Ryan Davis: 71c1ea852; 2539 files, 8459 examples, 28445 expectations, 0 failures, 0 errors
23:39:23rubuildius_ey64Evan Phoenix: d981af1f0; 2539 files, 8459 examples, 28445 expectations, 0 failures, 0 errors
23:39:25rubuildius_ey64Ryan Davis: a18c57b40; 2539 files, 8459 examples, 28445 expectations, 0 failures, 0 errors
23:39:45roo enters the room.
23:41:51brixenhmm, queue much
23:46:21loincloth leaves the room.
23:47:17Arjen_ leaves the room.
23:47:33loincloth enters the room.
23:48:15rubuildius_amd64 enters the room.
23:49:04loincloth leaves the room.
23:49:17boyscout1 commit by Evan Phoenix
23:49:18boyscout * Revise README; 6f44726
23:50:28loincloth enters the room.
23:50:51DefilerOK, spec exists now. heh
23:51:54Defilerand it fails with a stack error before the fix
23:52:19massheya Defiler
23:52:22Defileryo
23:52:39jackdempsey enters the room.
23:53:24loincloth leaves the room.
23:53:33rubuildius_ppcEvan Phoenix: 6f4472691; bin/ci failed! http://rafb.net/p/Pz6w8t82.html
23:53:44evanumm..
23:53:49evani made a change to the Readme...
23:53:59evanok, that.
23:54:10evanok, i'm going to fix that.
23:54:12evannow.
23:54:32massdid you break the spellchecker?
23:55:27Defilerdid you update the README with a negative fd?
23:55:29massI'm jealous of all you iphone-wielding folk, but I get mine on the 12th of next month
23:55:48massDefiler: I think he accidently edited it with mknod instead of vim
23:55:53evanis that when you have enough allowance?
23:56:15Defilerhaha yeah I thought you were a titan of industry
23:56:17massevan: its when I've earned it
23:56:54massI'm trying to be reward-based here
23:57:06massI can have super monkey ball once I get another rubinius commit in
23:57:25massalthough now that I see evan causing test failures by editing the readme, I'm a lil freaked
23:57:50rubuildius_ey64Evan Phoenix: 6f4472691; 2539 files, 8459 examples, 28445 expectations, 0 failures, 0 errors
23:58:16massooh, clang.llvm.org has been updated a bit
23:59:09massI wish I had the free-time to go to the llvm meeting. its been so long since I've had a good information overload headache