Index

Show enters and exits. Hide enters and exits.

00:01:59ruebin/ci -C -V: ~95s, bin/ci: ~37s. This is an old-ish amd64 3000+ so something like 1.6GHz. I always run -C -V ;)
00:05:56wmoxam leaves the room.
00:06:40chris2 leaves the room.
00:06:54brixenevan: yo, just got back from class
00:09:08enebo leaves the room.
00:14:35perplexes enters the room.
00:16:40ruebrixen: You just missed him
00:16:54evani'm here.
00:17:09rueDamn it, ruining a good joke set-up
00:17:11brixenrue: me too
00:17:12brixenheh
00:17:34rueIm in ur ircs ruining ur j/k
00:18:21brixenrue: oh god, if you could only see this kitten
00:18:30brixenshe in *everything* on my desk all day long
00:18:50vintrepid enters the room.
00:19:10rueHeh, kittens are good for that
00:19:15evanhehe
00:19:17evantake a picture!
00:19:30rueMy cats are so big that they just get annoying when I cannot see half the monitor
00:19:51binary42 enters the room.
00:23:06agile leaves the room.
00:24:24rueOK, watching election coverage and trying to work /irc
00:25:39evanhehe
00:28:29brixenevan: interestingly: "len = other.size; len = size if size < len" (in String#<=>) is slightly, but measurably slower than len = size < other.size ? size : other.size
00:28:41brixeneven with the two other.size in the second version
00:28:50RyanTM leaves the room.
00:28:52brixenwhy do you think that might be?
00:29:21evanyeah
00:29:25evanyou called other.size twice
00:29:37brixenno, that version is faster, sorry!
00:29:41evanoh
00:29:42brixen*faster*
00:29:43brixenheh
00:30:02evanthe ternary his shorter in bytecode maybe
00:30:15evanbecause the compiler has a better view of the control flow
00:30:21evannot sure otherwise
00:30:23brixenyeah, wondering about the 2 assignments in the first
00:30:25evanbecause it uses the same stuff
00:30:30evanmaybe
00:30:30evanyeah
00:30:34brixenok, something to ponder
00:31:39brixenprobably the object creation, not the assignment, huh? assignment to locals should be fast, right?
00:32:57ruebrixen: Can you try len = if ... else ?
00:33:24brixenhmm, le'me see
00:36:04rueApparently everyone else is watching too, it is quiet :)
00:36:33rueAlso, got free tickets to The Body exhibition, sweetness
00:37:37brixenrue: seems to be the same as the ternary
00:38:02brixenI'm guessing it produces the same bytecode, but I haven't looked
00:38:12smartocci leaves the room.
00:38:38lstoll enters the room.
00:38:55lstoll_ leaves the room.
00:39:12octopod leaves the room.
00:40:16radarek leaves the room.
00:42:01fizx leaves the room.
00:44:17rueIt should
00:44:36rueWell, ~ish anyway. It may be shifting the lasgn
00:48:20ruebrixen: I think it is just the extra lasgn. All three forms only have one branching instruction and the slower version has two lasgns instead of on
00:48:22rueOne
00:48:53brixenmakes sense
00:49:05brixenwhat doesn't make sense, at all, is compare_bytes primitive
00:49:23evanoh?
00:50:59brixenevan: do you know why bytearray.h has both a #define for bytearray_bytes and a function prototype?
00:51:23evanheader bug.
00:51:30brixenok
00:52:31smartocci enters the room.
00:53:39brixenyeah, no wonder no one is using ByteArray#<=>, it returns -1 if self.size < other.size, down the line
00:53:50brixenI cannot see how the memcpy would ever get executed
00:54:16brixenoh, yeah I can
00:54:35brixenbut those earlier shortcircuits on size can't work
00:54:40evanyeah
00:54:45evanyou'll need to nuke them
00:54:49evanbecause you're passing in the size.
00:54:49brixenyep
00:54:58evanbut you probably need to clamp the length the user passes in
00:54:59brixenok, just a moment of wtf hehe
00:55:05brixenyeah, doing that now
00:55:19evanto make sure it's not bigger than either ByteArray
00:55:23brixenyep
00:56:25brixenthe new bootstrap method is Bytecode#compare_bytes(other, a, b) where a is lenght of self, b is length of other, and (essentially) it's clamped at abs(a-b)
00:56:46brixenwell, smaller of a and b
00:56:58evanok.
00:59:43evanmin(a,b)
00:59:44evan:)
01:00:01brixenheh, yeah
01:00:11Defilerevan: What IS the command to make gdb disassemble the current instruction?
01:00:52evandisplay /i $pc
01:00:54evanis the best one
01:00:59evanbecause then it updates as you move around
01:01:10evanx /i $pc
01:01:12evandoes it just once
01:01:49DefilerCool
01:03:18evani hope wolf blitzer is wearing fresh undies
01:03:21evanhe's going to be up alllll night
01:04:29Defilerevan: Just to confirm.. this updated version of this test program you pasted still totally shows the wrong behavior, right?
01:04:38evannope
01:04:40evanworks perfectly.
01:05:10evanseems that uc_stack.ss_sp is stomped on over time
01:05:21evanwhich is ok, because it still does the right thing
01:05:26evanyou just have to save another pointer to the memory
01:05:42DefilerOhhhhh ok
01:06:28Defilerevan: https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=19915
01:07:14evanooh
01:07:21evani wonder how you link against them.
01:07:24evanthat would help a ton
01:07:32evanbecause i could step into libc functions
01:08:13Defilerevan: http://developer.apple.com/technotes/tn2004/tn2124.html#SECDEBUGLIB
01:08:51evanNICE
01:08:53evanone ENV var.
01:08:56evanthats so awesome.
01:09:02evanbecause it's a PITA on other unices
01:09:08DefilerThat is intensely cool, yeah
01:10:07skaar enters the room.
01:10:11d2dchat enters the room.
01:18:12tonka leaves the room.
01:22:30agardinerhey evan, i'm curious about the callsite and selector changes...
01:22:50agardineri gather this is planned to replace the inline cache?
01:23:23evanyep
01:23:27evani'm working on it now.
01:23:35evanthe code in HEAD right now isn't used yet
01:23:49agardineris this inspired by the .net dynamiccallsite stuff?
01:23:56evanyep
01:24:02evanand jruby's CallSite class
01:24:22evanthe idea is that the function pointer in the SendSite object can be patch to have different behavior
01:25:00evanfor methods that are primitives and FFI functions, the SendSite will be patched with a function pointer than does a quick test, then executes the code code directly
01:25:03agardinerahh - so it doesn't need only point at the target method
01:25:33evanthat will eliminate going through a few lookup tables for each send in those cases
01:26:00evanbasically, it will return those SendSites into very similar execution to what the old java had
01:26:04evanold java == pre-jit
01:26:35evanie, the send site will have the address of the implementation to run on hand
01:26:47agardinercool
01:27:08agardinerwill sendsites be stored in CM's cache?
01:27:13evanthe Selector objects let SendSites' be purged properly
01:27:15evannope
01:27:19evanthe cache field is going away entirely
01:27:35evana SendSite object will be stored in the literals
01:27:41evanso each send will get a unique literal slot
01:27:49evanthat contains a SendSite object
01:28:23evani realized having the cache as another level of indirection isn't important.
01:28:46djwhitt enters the room.
01:29:30agardinerok - so callsite's will exist always, they won't be optional like cache was
01:29:40rueHurray for mutation over selection
01:30:04evanSendSite
01:30:05evanyeah.
01:30:18evani'm trying to focus the vocab
01:30:30agardineryeah, my bad :-)
01:30:38evanrather than using call and send
01:31:54DefilerIs there a whole book on gdb out there?
01:31:56agardinerooh - is the SendSite in the literal's tuple going to replace the literal that was previously the name of the method?
01:31:57technomancy leaves the room.
01:32:04DefilerIt is an awesome tool and I want to know everything about it
01:32:06evanagardiner: yep
01:32:23evanthe name of the method is inside the SendSite
01:33:04agardineryeah, gotcha
01:33:10agardinerthat is neat
01:33:18rueDefiler: There are a few and they all suck
01:33:25evanyeah, it opens up a lot of flexibility
01:33:37rueDefiler: The "debugging with GDB" book by Stallman is online but it is from 2002
01:33:58rueThe pocket reference is OK, and there is a new one coming out this spring
01:33:59agardinerdefinitely - a whole world of it!
01:34:01DefilerOK. Good to know. I will just stand under the waterfall until I am the perfect weapon
01:34:05rueErm, a new bigger book
01:34:10evanone lookup optimization i'm going to make is Selector based
01:34:36evanie, if there is only one method in the system called evan_rocks_the_house, then the Selector object for that method name will contain a reference to the implemenation of that method
01:34:56evanthat will let us dispatch directly to it very quickly
01:35:33agardinerso where are selectors stored? are they referenced in the sendsite?
01:35:42evanthere is a global selectors Hash
01:35:49evani'm exposing it as
01:35:51evanSelector::ALL
01:36:01evanyes
01:36:08evana SendSite has a name field and a selector field
01:36:17evanthe selector also has a send_sites Array
01:36:40agardinerwhen is the send_sites array populated?
01:36:52evanwhen a SendSite object is created
01:36:59evanit adds itself to the selector's array
01:37:15evanthat array is going to have to be made into a WeakArray, once I add that class
01:37:30evanso that dynamic code doesn't kill us, memory wise.
01:37:58evanthere is a lot of cool information you can get out of this though
01:38:02agardinerDoes that mean you could find out all locations where a method is called from?
01:38:15agardiner'cause that would be freakin' awesome!
01:38:18evanlike, you can look at all the Selectors and figure out whats called a lot
01:38:20evanyep
01:38:24evanyou can do exactly that
01:38:42agardinerwow! that is awesomely powerful
01:39:05agardinerare you going to track hotness in the selector and/or sendsite?
01:39:25evanyeah
01:39:29evanonce i get the sendsite code in
01:39:31evanand working
01:39:34agardinersweet!
01:39:36evani'm going to add hotness and misses
01:39:54evanthe thing thats cool about this
01:40:05evanis that we can revise and optimize the functions that SendSite's use
01:40:16evanso we can only pay for checks and such when we need it
01:40:25evanbasically completely specialize each SendSite
01:40:52evaneventually, we'll begin dynamically generating functions at runtime
01:41:00evanlike DLR does
01:41:03agardinerman, the potential for optimisations here is amazinf
01:41:19evanyeah, i think it's going to be awesome.
01:42:02evanagardiner: something you'll LOVE
01:42:13evanagardiner: is that hitting a breakpoint
01:42:19evanif that send has already been one
01:42:36evanthere is a very good chance you can just look in the SendSite object to figure out where the control flow will go next
01:43:09blowmage enters the room.
01:43:15agardinerhmm...
01:43:29evanomg, i'm going to have to murder my upstairs neighbor again.
01:43:33agardinerits not guaranteed though, it it?
01:43:44evanno
01:43:45evanit's not.
01:44:05agardinerwon't the police be suspicious of *another* murder? :-)
01:44:10evanbah.
01:44:12evanit's los angeles.
01:44:14evani'm a white man.
01:44:16evanit's fine.
01:44:19evan:P
01:44:21agardinerhehe!
01:44:56agardinerre the send, if it isn't 100% deterministic, i can't rely on it
01:45:09evanthe info to find out if it's correct is in the SendSite though
01:45:29evanso you could try it, and fall back.
01:46:04agardinerif i still might need to fallback to setting a flag to be checked on the context change, why would i bother?
01:46:18evantrue
01:46:37agardineri tell you, the stepping logic is a bitch
01:46:55agardineri've got a 500 line commit i'm working on at present
01:47:13agardinerits a real double-edged sword...
01:47:20evanyeah
01:47:24evanstep is a pain.
01:47:42agardinerthe speed is fantastic, but having to know exactly where to place the next yield is a bitch
01:47:54evanooooh
01:47:57evanhow about this idea
01:48:01evanwhen you want to step
01:48:12evanyou install a special function pointer in the send's SendSite object
01:48:28evanthat special function does the normal logic, then yields
01:48:45evanthat would mean we only pay for the yield soon logic when we ask for it
01:48:57agardinerooh - instead of the flag check
01:49:00evanyeah
01:49:01agardineryeah, sounds great
01:49:43agardinerthe elephant in the room i don't even want to consider though is exceptions
01:50:06evanhm
01:50:10evanso
01:50:12agardinerhow the fuck do i know a) when one will be raised, and b) where it will be handled?
01:50:20evanwhy not take this idea of customizing logic to the next step
01:50:31evanuse function pointers for a couple more things
01:50:35evanlike raising exceptions
01:50:56evanyou could tell a task to use raise exception function that yields to the debugger
01:51:04d2dchat leaves the room.
01:51:05agardinerit would have to be on the task or context... but yeah, i like the sound of that!
01:51:13evanright
01:51:17evanit would be on a Task
01:51:28evanso you could basically put a task in debug mode.
01:51:36evanwhere it uses debug versions of functions
01:51:45agardinerfuck yeah! that would rock!!!!
01:51:55evanit's a done deal then.
01:52:03agardineralright!
01:52:06agardiner^5s evan
01:52:24evan^10s agardiner
01:52:39evanagardiner: you're going to be at the .au sprint, right?
01:52:41agardinerman, i'm takin off my socks...
01:52:44agardiner:-)
01:53:03agardinerevan: doesn't look good...
01:53:13evandang.
01:53:19evanyou're in Melbourne, right?
01:53:23agardineryeah
01:53:29evani'm going to be there for a few days
01:53:34agardinerreally?
01:53:35evanwe should kick it then
01:53:36evanyeah
01:53:38agardinerthen we have to hook up
01:53:40evani get in on the 4th
01:53:45evanhead up to Sydney an the 7th
01:54:06agardinerthat is great news
01:54:34agardineri could take a day off work if you're free one day
01:54:36evani'll bring the code, you bring the beer.
01:54:36evan:D
01:54:47agardinerno prob! :-)
01:54:57evansure
01:55:05evani'll be crashing at crafterm's place
01:55:25agardinerk
01:57:40agardinerhe's not far from me - 10 min drive is all
01:58:15evansweet
01:58:28agardinertotally!
01:59:13evando you hang out with crafterm?
01:59:42agardinerwe've caught up once
01:59:52agardinercoupla weeks back
02:00:13evancool, just curious.
02:00:51d2dchat enters the room.
02:01:11brixenevan: http://pastie.org/147861
02:01:14brixencheck out the bottom
02:01:32brixenit's quite interesting that a while loop in ruby vs memcmp is only 2x slower
02:01:39evanawesome.
02:01:44brixenit'd be interesting to isolate just those 2 things
02:01:48brixenbut that's pretty cool
02:01:51evanyeah, that is interesting
02:02:03kofno_ enters the room.
02:02:04evanprobably because large memory comparison is slow no matter how you do it
02:02:13brixenyep
02:02:51Defilerbrixen: Dude that is awesome progress
02:03:12brixenDefiler: thanks man, although, not much work actually :P
02:03:21DefilerYeah that is what I mean :)
02:03:25brixenspent a good 2 hours just looking at how ruby code performs
02:03:32DefilerIt would be less awesome if you had needed to tear the whole thing apart
02:03:35agardinerholy cow! 12.7 -> 2.4!!! fantastic!
02:03:41nicksieger leaves the room.
02:03:50kofno leaves the room.
02:04:09brixenthe big on is this, do you guys see how rbx smokes ruby on Fixnum#<=> ?
02:04:15brixens/on/one/
02:04:29agardineryeah, 4x faster
02:04:31DefilerWe should make the compiler handle inlining the block-argument-having version of Integer#times
02:04:34DefilerI will look at that tomorrow
02:04:44brixenDefiler: yes, but also a for loop
02:04:48Defilerhaha yeah
02:05:01brixenthat translates directly to a while
02:05:18brixenthen the code looks quite clean
02:05:38brixenthe two big things that seem to affect perf right now are object creation and lookup
02:05:45brixen(not surprising)
02:05:53Defileryielding isn't all that fast either, right?
02:06:02DefilerOr is that not the bottleneck in Integer#times?
02:06:09brixennot sure actually
02:06:12brixengood question
02:07:01brixenI should be able to bench yielding to an empty block with a while with empty body
02:07:26DefilerBe careful, though.. we have some compiler code that tosses out things that are empty and useless
02:07:39DefilerCan't remember if there is one for empty blocks
02:07:44perplexes leaves the room.
02:07:55DefilerSo maybe just put "hello" in it. :)
02:08:05evan#times is slow because you're creating a BlockContext open for each loop
02:08:21evanthe compiler inline code makes that not necessary
02:09:15DefilerWould it be dumb to consider a BlockContext pool or something, for situations where the next one is almost identical to the last?
02:09:26evani've thought about that
02:09:27brixenwell, for the core libs, I think one big goal should be keep the code as idiomatic and clear as possible, while still being optimized and optimizable
02:09:37evanit's not worth it generally
02:09:40DefilerI would expect that the 10_000 BC objects created by 10_000.times {|i| ... } are pretty damn similar
02:09:47evanwell
02:09:53evanwe already optimize their creation a bit
02:10:04KirinDave leaves the room.
02:10:43evanfires up the Shark
02:10:59agardinerola bini blogged on this recently...
02:11:26DefilerI should get you to show me the ways of The Shark this weekend
02:11:31tom__ enters the room.
02:11:34evanDefiler: ok
02:11:48evani want crafterm to show us how he's used the dtrace hooks
02:11:59evanso we can profile rubinius via dtrace
02:12:30tarcierievan: you should ask htonl... he did the dtrace support for MRI that Joyent released
02:12:34agile enters the room.
02:13:31evanask where?
02:13:34evanis he on IRC?
02:13:50tarcieriI can ask him
02:13:57evanok
02:14:01tarcieriI see him on IRC... on a different network
02:15:39evanok
02:15:55tarcieriI asked him... he's not responding for now, we'll see
02:17:13evanok
02:17:35brixenevan: why does String#== in core have Ruby.primitive :string_equal in it?
02:18:01evancause i added a primitive to make it more performant
02:18:13evanthe primitive handles the simplest/easiest case
02:18:13brixenis it ok if I tweak that a bit?
02:18:16evanthen the bytecode handles the rest
02:18:18evango fo rit.
02:18:21brixenjust to push the primitive out of core?
02:18:21brixenok
02:18:25evanno
02:18:28evanyou have to leave it in core.
02:18:31evanotherwise it wont be used.
02:18:55brixenoh yeah, gotcha
02:18:56evanif you redefine a method, the fact it was a primitive before doesn't carry through
02:19:10vintrepid leaves the room.
02:19:21brixenyeah, I was thinking calling the bootstrap method, but that's more machinery
02:19:38brixenwell, at the least we'll use the new compare_bytes
02:19:54evanyeah, go for it.
02:19:57kAworu enters the room.
02:19:57brixenk
02:19:59kAworu leaves the room.
02:20:06evanfeel free to change those however
02:20:09brixenk
02:20:17evani added a couple of those primitives just to make stuff a little faster
02:20:21evanif you have a better way, do it.
02:20:29brixenit'd be interesting to have data on e.g. how often is String#== called that 'other' isn't a string
02:20:35kAworu enters the room.
02:20:53lopex leaves the room.
02:21:08evanbrixen: change it to raise an exception if it's not a String
02:21:11evanand see what happens
02:21:11evan:D
02:21:16brixenheh
02:21:21brixenthat won't get very far
02:21:31evanthats still data!
02:21:48brixenindeed
02:21:52agardineryou need that sendsite functionality... then hook up a method that tells you! :-P
02:22:02brixenagardiner: exactly what I was thinking!
02:22:04evan:D
02:22:06evansoon!
02:22:07brixenhanging some info off that
02:22:32agardinerthat will rock, no doubt about it...
02:23:26agardinerwe just need an easy way to be able to hook into it
02:23:52brixenyeah, this is quite exciting
02:23:55evanhook how?
02:23:56evani'll add it.
02:23:57evan:)
02:24:47agardinerwell, we need a way to say insert my function pointer at the call site, and that function pointer then calls the one that was there before
02:25:03agardinerafter doing whatever it needs to do
02:25:48agardinerthis is essentially AOP... but at the send site
02:26:28evanso
02:26:36htonl enters the room.
02:26:37evanyou want the ability to install a trampoline in a send site
02:26:43agardinerits a huge new source of evil! i love it!!
02:26:44evanhtonl: well hello
02:26:47htonlhowdy
02:27:11evanso, I was curious how you're using the dtrace probes in ruby
02:27:20obvio171 leaves the room.
02:27:26evando you use them in Instruments? or just on the command line
02:27:42htonlat this point just the command line - but i'm looking to get something up in Instruments before railsconf
02:28:05kAworu leaves the room.
02:28:29kAworu enters the room.
02:28:35evanok
02:28:39evando you use dtrace to profile ruby code?
02:29:23htonlthat's mostly what i use it for these days - i don't do much work in actual production environments lately so i'm using it developer-side
02:29:35VVSiz_ enters the room.
02:29:41evanhtonl: sure, thats expected.
02:29:47evando you have a dtrace script I can see that you use?
02:30:10htonli've been building up a set of scripts and a rails plugin for all of this that we're going to release real soon
02:30:13blowmage leaves the room.
02:30:19evanok
02:30:32htonlok - i gotta eat but i'll be back on in a bit
02:30:34evani'm looking to adapt some to the rubinius probes we added
02:30:35evanok
02:31:28htonlcool - yeah i was thinking recently about probes in the emerging ruby implementations - i'm sure you guys have some specific points of interest that differ
02:32:52evanyeah, any insight you have would be great.
02:37:33rueevan: Liking the mutation-based logic changes
02:37:42rueagardiner: Some credit for you too! Here you go :)
02:38:03evan:)
02:38:19agardinerrue: thanks... huh?
02:41:00ruebrixen, evan: Actually, you *could* push the primitives to bootstrap: just have the primitive call blah_cv directly (or better yet, inline it somehow)
02:41:50agardinerrue: ah... you're reading the scrollback?
02:41:51ruebrixen: Change Type.coerce_to to keep a tally of what it is called with
02:41:56macournoyer enters the room.
02:42:45rueagardiner: Heh, yeah :)
02:43:12agardinerhehe... i was happy to take your credit, just a little confused about the context! :-D
02:43:23rueagardiner: Time.now - 10.minutes*i for each of my messages
02:44:07agardineryeah, let me just go re-sort based on that... :-)
02:44:30rueOh, you are not using the Magical IRC Client yet?
02:44:52rueI prototyped something like that back several years ago, although it WAS C++ :P
02:45:26agardinernah... i'm using an old teletype printer - no terminal for me!
02:45:42rueHehe, you know sic?
02:45:56agardinerno...
02:45:57technomancy enters the room.
02:46:00rueTHE greatest IRC client ever: http://www.suckless.org/cgi-bin/man/man2html?query=sic
02:46:19rue"It multiplexes also all channel traffic into one output, that you don't have to switch different channel buffers, that's actually a feature."
02:46:26VVSiz leaves the room.
02:46:40agardinerhaha!
02:46:44_mutle leaves the room.
02:46:48agardineryeah, i should upgrade to that
02:47:01DefilerThat is awesome
02:47:05rueI was going to try it out when I get home.. it seems awesome
02:47:07DefilerIt's like 'cat', for IRC
02:47:15rueExactly, netcat
02:47:16technomancysuckless has good stuff
02:47:22mutle enters the room.
02:47:25rueattests to dwm
02:47:29Defiler'extremly fast'. So fast it doesn't have TIME for the third 'e'
02:47:46agardiner:-D
02:48:08rueDefiler: At velocities close to C you start losing vowels faster than at newtonian speeds
02:48:08agardinerguess it got clobbered by a backspace on another channel...
02:48:26Defilerrue: That is really clever
02:48:36Defilernice
02:48:44rueTee hee
02:50:27headius enters the room.
02:50:43DefilerI wonder what the 'netcat' of Ruby implementations would be like
02:52:54dean_ero enters the room.
02:53:38RyanTM enters the room.
02:56:55headiusnetcat?
02:57:27Defilerheadius: rue linked this: http://www.suckless.org/cgi-bin/man/man2html?query=sic
02:57:39Defiler..and I declared that it was the 'cat' of IRC clients
02:58:05KirinDave enters the room.
02:58:24headiushmmm ok
02:58:27ruetechnomancy: You a wmii user?
02:58:37technomancyrue: used to be before I went dual-head
02:58:48technomancyits xinerama support is sadly ignored
02:58:57ruetechnomancy: Really? That is quite surprising
02:59:11rueWas there not another separate program for that? Synergy or something?
02:59:15technomancynow i fake it with devilspie and emacs window splits
02:59:30rueHeh
02:59:32technomancysynergy is for if you want to treat an extra machine like another display
02:59:44technomancyunfortunately there's no window splits for gecko
02:59:47rueI thought it could use any X server/client combo
03:00:27technomancyoh, interesting. i hadn't thought of that
03:00:39rueheadius: This is netcat: http://netcat.sourceforge.net/
03:00:44technomancyit could work. but honestly this gets me pretty close to the same effect
03:00:46headiusI know netcat
03:01:01rueAlthough I suppose you just meant it as "what does that have to do with anything"
03:01:05rueHeh, ^
03:01:12ruetechnomancy: Sure
03:01:28technomancyi should write an FF extension to allow buffer splits
03:01:40technomancythat would significantly reduce the suckage of having a widescreen laptop at work
03:01:42rueThat would be.. interesting
03:01:47rueAlso possibly suicidal
03:01:52technomancyaka shortscreen. =(
03:02:15technomancyrue: eh; i've already had my neurons fried by high-volume ecmascript exposure
03:02:32technomancyi'm dulled to the pain of requiring explicit returns in every function
03:02:36rueNothing quite compares to the mozilla browser codebase
03:02:52headiusrue: yes, that's more what I was asking :)
03:03:17headiuswondering what the 'netcat' of ruby implementations would be seems like asking what color thursday is
03:03:23technomancyrue: i've hacked conkeror before; it was actually pretty fun
03:03:25rovar enters the room.
03:03:28technomancyif you could ignore the lack of a test suite
03:04:04rueheadius: I have to admit that I am in that boat right with you ;)
03:04:24technomancyi'd prefer to do it with webkit of course, but the gtk impl leaves a lot to be desired
03:04:33rueHeh
03:06:10rueElection returns looking very interesting
03:06:49technomancyuh oh... what's that mean? =)
03:06:49evanyep
03:07:07evanit's close for both parties
03:07:46rovarRon Paul is winning Minnesota
03:07:50rovar:)
03:07:57evanget the fuck out
03:07:58evanREALLY?
03:08:15rovari don't see the sarcasm quotes, not sure how to interpret
03:08:32KirinDave leaves the room.
03:08:33evanno he's not
03:08:35evannot according to cnn
03:09:07headiusobama's probably going to get minnesota
03:09:15rueThey thought Paul might take AK
03:09:27headiusour precinct was 147 for obama and 74 for clinton
03:09:40evanrue: no way. The Huckster was governer
03:10:01rueI am liking Obama's numbers so far. Looks like a lot of early voters are mixing up the predictions from exit polls
03:10:04rovardamn.. he was last time i checked..
03:10:05headiusAK = alaska
03:10:15rueevan: What he said :)
03:10:20rueAR is Arkansas
03:10:31evanoh.
03:10:36evani haven't had dinner yet
03:10:38evani blame that.
03:10:41headiuscrackabee is speaking from arkansas
03:10:43rueClinton has crazy leads in early ballots
03:11:15headiusclinton seems to have an edge, but I think it's going to be close enough to keep it a two-horse race
03:11:18evanit will be hilarious if Paul wins MT
03:11:35evannothing will be decided for the Dem's tonight
03:12:40headiusromney took utah, surprise surprise
03:13:11evanheh
03:13:18rovarobject.d?
03:14:07evanrovar: it's the Makefile dependencies
03:14:28rovarahh
03:14:40rovarI'm a huge D fan.. confused me
03:14:54rovari was like no wai! gtfo!
03:16:14rovarin attempting to build the daily I get:
03:16:17rueHehe
03:16:18rovarfastcgi.server = (".fcgi" => ( "railsapp" =>
03:16:22rovar ( "min-procs" => 1,
03:16:26rovar "max-procs" => 5,
03:16:26rovar "socket" => "/tmp/ruby-railsapp.fastcgi",
03:16:26rovar "bin-path" => "/path/to/dispatch.fastcgi"
03:16:26rovar )
03:16:26rovar))
03:16:27rovargoddammit.. sorry
03:16:37rueThat is the weirdest error ever
03:16:58rovarrake is so smart it spits out lightty configs as errors
03:17:10rovarmake[2]: Entering directory `/home/rick/Desktop/rubinius-daily/shotgun/lib'
03:17:10rovarobject.d:1: *** missing separator. Stop.
03:17:20rovarit seems to me that object.d doesn't exist at all
03:18:07evanrovar: thats just running rake?
03:18:11rovarrake build
03:18:34evanodd
03:18:37evanit should build them
03:18:39evando a
03:18:40evanrake distclean
03:18:43evanthen
03:18:44evanrake build
03:19:05rovar-funroll-loops heh..
03:19:15rovarnot taking any chances with benchmarks, eh? :)
03:19:38rue-funroll-all-the-goddamn-loops -fquantum-pipe
03:19:50evanuse the tools when ya got them.
03:19:54ruerovar: Make sure you are using gmake
03:20:02ruegmake sure, I should say
03:20:05rovarit's my only option on this box
03:20:24MenTaLguYsometimes loop unrolling can be a pessimization
03:20:34MenTaLguYtrading off branches for icache
03:20:45ruerovar: Time to try clean, then distclean
03:20:49MenTaLguYor rather icache for branches
03:21:17rovarokay.. clean -> distclean -> build
03:21:21rovarthinking...
03:22:40rovarso is there some sort of a feature wishlist somewhere? specifically one aimed at running rails?
03:23:17rovarerrored out again.. same error
03:23:23evanrovar: what platform?
03:23:32rovarubuntu 32 bit
03:23:44evanthats pretty strange.
03:23:53MenTaLguYtry both pristine and distclean
03:23:53evanwhat does
03:23:54evanmake -v
03:23:55evansay?
03:24:00evanpristine is done
03:24:02evaner.
03:24:02evangone.
03:24:05MenTaLguYah, k
03:24:07evanit's clean:rbc now
03:24:11rovargnu make 3.81
03:24:35evanrovar: have you built rubinius before?
03:24:39rovarnegative
03:24:54evanhm
03:26:22RyanTM leaves the room.
03:27:09evanok, foooood time.
03:28:20rovarso this lighthouse ticket list? is that the closest thing to a wish list?
03:28:35rovarthe TODO or somesuch?
03:32:27headius leaves the room.
03:34:42headius enters the room.
03:35:47ruerovar: Use a [FEATURE] or [TODO], plus tag the same
03:36:45rovari see TODO but not feature tag
03:54:13Fullmoon_ enters the room.
03:56:40lrz enters the room.
03:56:43lrz leaves the room.
03:56:52rueThere may not be enough of those for the tag to appear yet, just write it in :)
03:57:22ruebrixen: I need to do a bit of time juggling this week--how is it looking for the mspec changes?
03:57:42ruebrixen: If it looks like not this week, I will push some other stuff ahead
03:58:14brixenrue: likely tomorrow
03:58:31brixenrunning Dir.glob in rbx was adding 18 sec to a 24 sec run
03:58:42brixenso I diverted to trying to fix that a bit
03:59:02brixenI'm going to push a couple changes and then study for my midterm tomorrow :P
03:59:34brixenevan: the string_equal primitive ends up being 3x faster: http://pastie.org/148071
04:00:11KirinDave enters the room.
04:03:13djwhitt enters the room.
04:03:34ruebrixen: Hehe, yeah
04:03:50rueWe are exploring the new theory of Diversion Driven Development
04:04:29ruebrixen: If you can get me something to work with, that would be fantastic! If not, no problem either.. I just need to get my schedule straight
04:04:36rueIt is hectic this week
04:06:43wifelette_afk leaves the room.
04:07:33rovarestimating completion dates is hard enough when your work hours are consistent :)
04:08:25RyanTM enters the room.
04:09:27rovarhrrm.. latest git repo has the same error :(
04:09:34rovarwonder if I can upgrade gmake
04:09:38GMFlash leaves the room.
04:09:43GMFlash enters the room.
04:09:49rueIt seems like a strange problem
04:10:23brixenrue: I was going to paste you the whole diff, but pastie won't let me paste more than 125,000 chars
04:10:27boyscout1 commit by Eric Hodel
04:10:28boyscout * Make StructGenerator preserve line numbers and be pretty.; 99fe4d8
04:10:28brixenrue: want me to email it to you?
04:10:40brixenrue: or, wait till tomorrow :P
04:10:58ruerovar: Can you make sure that all the .d files are deleted, by hand if need be?
04:11:01ruebrixen: Tomorrow is fine
04:11:07rueTonight is elections stuff :)
04:11:32brixensweet, profile of full bin/ci run only takes it from 23 to 28 seconds
04:11:45ruerovar: Also `which make`
04:12:02rovarusr/bin/make
04:13:14rovarfind . -name '*.d' now returns nothing .. trying again
04:13:20hornbeck leaves the room.
04:13:30hornbeck enters the room.
04:14:08rueDoes /usr/bin/make -v print anything?
04:14:53rovargnu make 3.81
04:15:14rueVersion is fine, then
04:17:36rueAll the .d files are generated BY make so it is bizarre that there would be any issue there
04:18:02rueHm, also double-check that you have no previous Rubinius installs in /usr/lib, /usr/local/lib etc
04:18:07rueAnd check your PATH
04:18:35rueJust to make sure there is no bizarre directory being picked up
04:18:46rovari'm sure that's not the case..
04:19:07rueYou want to get the finest comb you have :)
04:19:30rueThe only situation I have ever seen that error is trying to use BSD make on a gmake file
04:19:48rueAnd if at this point we have ruled that out, anything is possible.
04:19:57nicksieger enters the room.
04:20:04rovarmy path is tiny
04:20:11rovarno previous rubinius installs
04:22:12rueAlright, I am afraid we will have to confiscate your computer
04:22:34rueWhich OS, incidentally?
04:22:45rovarubuntu
04:23:01rovari'm about to wipe it and install fedora 8
04:23:07rueHeh
04:23:14rovari've been using it on slicehost - <3
04:23:16rueInstall a BSD for a change of pace
04:23:21rovari do like BSD too
04:23:35rovari also like it when stuff works
04:23:42rovar*ducks*
04:24:03rueHah
04:24:18rueWe are not taking the blame for this one yet ;)
04:24:29rovarI was referring to BSD :)
04:24:34rubuildiusEric Hodel: 99fe4d88f; 4671 examples, 17094 expectations, 0 failures, 0 errors
04:24:56brixenrue: our loop smokes ruby: http://pastie.org/148071
04:25:01boyscout3 commits by Brian Ford
04:25:03boyscout * Ensure Sampler doesn't try to call #name on nil.; 6b7d357
04:25:03boyscout * Fix string_equal primitive to not compare beyond either string.; ddc0d65
04:25:04boyscout * Exposed ByteArray#compare_bytes.; 56e4629
04:25:08brixenI think we can get String up to speed pretty easily
04:25:18rueIs that illegal?
04:25:35drbrainrovar: I've had the stuff-doesn't-work experience mostly with linux
04:25:42ruebrixen: Hm, how does the logo factor in there? :P
04:26:16brixenlogo?
04:26:17brixenlego?
04:26:26rovardrbrain: I like fbsd's ports system.. and have found that they are, in general, better managed and configured than apt packages
04:26:29ruedrbrain, rovar: Not to get into a distro war but I find that BSD > Linux for the core and Linux > BSD for third-party stuff
04:26:47ruebrixen: I have no idea how I read "loop" as "logo"
04:26:53brixenahh
04:27:04rueAlthough
04:27:13rueIf we do take that BMX bike logo
04:27:15rovarthat's pretty accurate.. i actually went back to linux from bsd because I was doing some coding specifically for epoll
04:27:28rueAnd add red racing stripes, I bet it WILL make it faster
04:27:55rovarand then did some 3d stuff.. which isn't exactly fbsd's strong suit :)
04:27:59brixenred racing stripes makes anything fster
04:28:21agardinerexcept light
04:28:22Fullmoon_ leaves the room.
04:28:28rueTotally, but BMX bikes have special properties that respond really well to red racing stripe therapy
04:28:37brixenagardiner: light inherits from red racing stripes :D
04:28:37rueagardiner: I do not think we can conclusively say that yet
04:29:19agardiner:-D
04:29:39rueAlso, you forget the redshift
04:29:54agardineractually, that's what i was referring to
04:30:02agardinerred light < blue light
04:30:27agardinerso don't add red stripes to blue light! :-P
04:30:32drbrainrue: depending on distro, I would probably agree
04:30:55drbrainI couldn't use a distro that doesn't install include files by default
04:30:59brixenagardiner: unless your rushing toward them really fast
04:31:06brixens/your/you're/
04:31:26rueagardiner: Wait now, the source is moving away and the blue is filtered--OBVIOUSLY because the red stripes are moving faster
04:32:02rueI wonder how far in peer review a GUT based on racing stripes would get
04:33:34agardinerbrixen: so, did those string optimisations make a difference to Dir.glob?
04:33:48agardinersorry, s/string optimisations/red stripes/
04:34:20brixenagardiner: probably not for dir.glob, but definitely for sorting the resulting list
04:34:24brixenI'll know more tomorrow
04:34:31agardinerneat
04:34:33brixenbut for now, must study :P
04:34:34rueHehe
04:34:37rubuildiusBrian Ford: 6b7d3576d; 4671 examples, 17094 expectations, 0 failures, 0 errors
04:34:41rueStudy, study..
04:34:55rueMan, I want to write specs just so we can hit 5k
04:34:58agardinerstudy... one thing i defintely do NOT miss from my uni days!
04:35:04agardinerhave fun!
04:35:11brixenyeah, I'm not missing it either
04:35:14rueOnly ~300 to go
04:35:23brixenand it's having a decidely deleterious effect on my grades :P
04:35:42brixenrue: ah, that's nothin, you could knock it out in an hour :D
04:38:20ruebrixen: I think writing 300 different TrueClass specs might get my bit temporarily revoked
04:38:47rueMaybe if I am veewy vewy quiet..
04:39:32brixenhah
04:40:33rovarsleep has won this three way battle, i'll fight with make tomorrow
04:40:41rovarthanks for your help
04:43:20dewd leaves the room.
05:01:33KirinDave leaves the room.
05:02:41MenTaLguYevan: OOC, in the (very?) long-term, what do you think the prospects are for Rubinius on different VMs?
05:02:51MenTaLguYevan: I'm thinking specifically of Adobe Tamarin at the moment
05:03:11evani'm totally open to it.
05:03:35MenTaLguYcool, though I was thinking more in terms of technical hurdles
05:03:38evanputting the kernel on another platform
05:03:42evanah.
05:04:04MenTaLguYso it is mostly just an issue of porting kernel?
05:04:23evanwell, eventually, hopefully we have the C parts written into ruby, so that we can reprogram it to output to some other language besides C
05:04:35MenTaLguYnods
05:04:58KirinDave enters the room.
05:05:01evanit would be pretty easy to hard port the VM to another language, if it was so desired.
05:18:14KirinDave leaves the room.
05:20:11RyanTM leaves the room.
05:20:47dysinger leaves the room.
05:25:44jero5 leaves the room.
05:26:52dean_ero leaves the room.
05:27:42dean_ero enters the room.
05:27:54dean_ero leaves the room.
05:29:59technomancy leaves the room.
05:34:27wifelette enters the room.
05:48:47headiusMenTaLguY: the hard port is interesting to me since the low-level VM is going to be wasteful/inefficient atop the JVM proper
05:49:03headiusI'm mostly waiting for it to get to a more stable point before looking at that
05:49:22MenTaLguYright
05:50:32macournoyer leaves the room.
05:51:02smartocci leaves the room.
05:51:15arzoNaN leaves the room.
05:53:26ADS_ enters the room.
05:57:06_ADShello?
05:57:21noclue123 enters the room.
05:57:36drbrainI found a bug in super
05:58:47drbrainor, maybe instance_variables
05:59:20drbrainhrm
06:01:20_ADShi - I just download rubinius to a WinXP machine. I'm looking at INSTALL... what's the preferred gcc port? cygwin?
06:01:40drbrainnope, it's a bug in FFI::Struct
06:01:46drbraincan only be subclassed once :(
06:02:00KirinDave enters the room.
06:12:42agardiner leaves the room.
06:20:49KirinDave leaves the room.
06:24:53tom__ leaves the room.
06:24:53eventualbuddha enters the room.
06:28:53kofno_ leaves the room.
06:32:09evandrbrain: eh?
06:34:52headius leaves the room.
06:44:29rueHallo
06:44:39rue_ADS: There is really no preferred version
06:45:15rue_ADS: Not sure if anyone has tried to get it to run at all, in fact. Cygwin would be a safer bet than MinGW. Native like VS is definitely a no-go
06:50:12_ADSthanks. I'm installing cygwin now.
06:50:24_ADSI'll update with my results
06:50:30ezmobius leaves the room.
06:57:39nicksieger leaves the room.
06:57:43geekounet enters the room.
07:10:46rueCool beans
07:11:12rue_ADS: We are definitely not focusing on Win32 at all at this point so any info you have will be valuable
07:12:12_ADSfirst data point: `rake build` in downloaded rubinius-daily gives error:
07:12:39_ADSsvn: '.' is not a working copy
07:12:53evanwe don't use svn.
07:13:09evani don't see what ya mean
07:13:10tarcieriheh
07:14:15_ADSI downloaded the rubinius-daily, installed cygwin, with all the tools listed in install....
07:14:34_ADSchanged to the download directory and typed rake build
07:14:41_ADS... got the svn error
07:15:19evanthats
07:15:22evan...
07:15:24evanimpossible.
07:15:26evan:)
07:15:33evanwhere did you download the tar.gz from?
07:15:35evanwhat url
07:15:53dean_ero_ enters the room.
07:16:24_ADShttp://rubini.us/releases/daily/rubinius-daily-current.tar.gz
07:16:31evandoes
07:16:32evanrake build
07:16:35evanoutput anything else?
07:17:00_ADSyeah, but it's scrolled off now - wait a sec
07:17:14evandon't paste it in channel
07:17:17evanplease use a paste site.
07:17:25_ADSok
07:19:38_ADSstrange: same final error, but no svn error this time
07:19:49evanfinal error?
07:20:16_ADSyeah, rake aborted, line 97
07:20:24_ADShangon while i figure out pastie
07:21:26_ADShttp://pastie.caboo.se/148131
07:21:47evando you have gcc installed under cygwin?
07:21:58_ADSyes on gcc
07:21:58evanor make
07:22:19_ADSI'm guessing the svn error was something else being configured for the first time
07:22:26evandoubtful
07:22:30evannothing uses svn in the build.
07:23:22rueHaha, I thought nothing could best sic
07:23:40ruehttp://www.suckless.org/wiki/tools/irc/irc_it: "ii is a minimalist FIFO and filesystem-based IRC client. It creates an irc directory tree with server, channel and nick name directories. In every directory a FIFO in file and a normal out file is created."
07:23:41_ADSI wish i saved the text - I went ahead and did a git clone - wipedout my scroll buffer
07:24:50rueevan: The tarballs do not contain .git, do they?
07:24:57evanhm.
07:25:00evanno
07:25:45rueShould wire up a changelog creation at least, I think.. sanity check of sorts (plus obviously seeing the changelog)
07:26:01evannot a bad idea
07:29:37rueThink there is a git2cl if you want to go hardcore ChangeLog but just dumping it in a file might work fine
07:31:10MenTaLguY leaves the room.
07:31:16_ADSi did a git clone, rake build, got almost the same set of errors as the first time, except no SVN error
07:31:28_ADSpasted at the bottom of http://pastie.caboo.se/148131
07:31:59evanit doesn't look like you have make or gcc installed
07:32:25_ADSgcc but not make, it looks like
07:32:31pergesu enters the room.
07:32:40_ADSthought I selected that.
07:32:46_ADSex
07:33:03headius enters the room.
07:36:00evanrue[sic]: heh
07:36:05evanrue[sic]: I'M IN YOUR FIFO
07:36:48rueColours would help.. :)
07:37:21tarcieripopping your queues?
07:38:19rueNeed to filter out the Freenode stuff and looks like it would actually work reasonably well
07:39:44rueMy weechat setup is not much more high-tech except for highlighting and split windows
07:40:38pkondzior_ leaves the room.
07:40:46lstoll leaves the room.
07:43:01_ADSzomg, it's compiling!
07:43:58rueHurray
07:45:51_ADSunder cygwin, I get a "warning -fPIC ignored for target" on every file
07:46:14_ADShow many times does this run autoconf?
07:47:38scooprhm, I might have to try rbx under cygwin too, if it works out that easily =)
07:47:39evanthose are for the external_libs
07:48:15scoopr(I bet the hardest part is getting git working)
07:48:26_ADSgit was super simple
07:48:49scooprok
07:48:56scooprgood to hear
07:48:58_ADSbut I forgot to install 'diff'
07:52:48rueBe back, configuring new dwm
07:52:53rue leaves the room.
07:56:18pkondzior enters the room.
08:01:50pkondzior_ enters the room.
08:01:50pkondzior leaves the room.
08:04:13rue enters the room.
08:04:42rueBetter
08:08:18ragge enters the room.
08:15:49TheVoice enters the room.
08:16:07ezmobius enters the room.
08:19:42headiussometimes I'm amazed by the obvious gaps in posix
08:19:58headiusyou can set umask, and in setting it get the previous value, but you can't query it
08:21:38thehcdreamer enters the room.
08:21:38pergesu leaves the room.
08:22:05scooprdouble-set-query-combo-bonus
08:22:28headiusyeah, i.e. gross
08:26:22wifelette leaves the room.
08:27:02_ADScompiling under cygwin, got an error compiling i386-dis.c: _VOID redefined
08:28:20rueMorning
08:30:08pkondzior_ leaves the room.
08:30:24VVSizhi guys :)
08:30:46wifelette enters the room.
08:31:19obvio171 enters the room.
08:32:51_ADSexternal lib lightning won't compile under cygwin as-is :(
08:33:16evanhrm
08:33:42wifelette leaves the room.
08:33:46_ADSit redefines _VOID in conflict with cygwin's _ansi.h
08:34:00evanhrm.
08:34:09evando an #undef before the _VOID in lightting
08:34:12evansee what happens
08:34:15evan#undef _VOID
08:34:52scooprlightning was the culprit of not getting rbx compiled on arm9 linux
08:35:21scooprthough different reasons
08:35:27pkondzior enters the room.
08:37:42_ADSstill a problem
08:38:15_ADSlooks like it uses it's own header before stdlib.h
08:38:23_ADSwill investigate tomorrow. sleep now
08:38:48_ADS leaves the room.
08:40:44jtoy enters the room.
08:42:41rueInteresting
08:42:48ruehttp://firepear.net/olive/
08:42:59rueExactly what I might need to start using RSS
08:45:40aotearoa_ enters the room.
08:48:19eventualbuddha leaves the room.
08:50:54boyscout1 commit by Charles Nutter
08:50:55boyscout * Tidy up an apparent copy/paste mistake in IO#syswrite spec; 1fde018
08:57:38headius leaves the room.
08:58:55pkondzior leaves the room.
08:59:45rueUgh, just a warning--seems like the Firefox theme named iFox Metal is *horribly* slow
09:00:55scooprI've found it to be bust not to use any odd themes or skins, they are always either ugly or outdated or just badly made like that
09:04:36rubuildiusCharles Nutter: 1fde018b9; 4671 examples, 17094 expectations, 1 failure, 0 errors; http://rafb.net/p/fMCXlO16.html
09:05:13scooprbust? best :)
09:05:41defunkt enters the room.
09:06:53pkondzior enters the room.
09:07:01rueYeah. The default theme just annoys me
09:07:02aotearoa leaves the room.
09:07:44rueUgh, I bet there was an auto-yes option to cpan that I did not read up on
09:11:49Arjen_ enters the room.
09:13:28jtoy leaves the room.
09:15:59boyscout1 commit by Vladimir Sizikov
09:16:00boyscout * Excluded rbx failure after spec rename.; e1cb441
09:18:55ragge leaves the room.
09:21:30zenspider leaves the room.
09:24:53octopod enters the room.
09:28:05thehcdreamer leaves the room.
09:28:06d2dchat leaves the room.
09:29:35rubuildiusVladimir Sizikov: e1cb4410b; 4670 examples, 17093 expectations, 0 failures, 0 errors
09:30:39thehcdreamer enters the room.
09:34:45ezmobius leaves the room.
09:37:39lstoll enters the room.
09:46:30boyscout1 commit by Vladimir Sizikov
09:46:30boyscout * New rubyspecs for IO's sysread and read with buffer argument.; cdbbeba
09:59:36rubuildiusVladimir Sizikov: cdbbeba8f; 4670 examples, 17093 expectations, 0 failures, 0 errors
10:02:36zimbatm enters the room.
10:10:21radarek enters the room.
10:11:48hassox leaves the room.
10:21:24dean_ero_ leaves the room.
10:24:35hassox enters the room.
10:25:31hassox leaves the room.
10:25:43hassox enters the room.
10:26:02hassox leaves the room.
10:26:16hassox enters the room.
10:30:16lstoll leaves the room.
10:30:20hassox enters the room.
10:32:18ragge enters the room.
10:51:04imajes leaves the room.
11:05:46chris2_ enters the room.
11:12:52zenspider enters the room.
11:14:56rue*sigh*
11:15:03rueWhy can nothing ever be easy
11:16:26scooprjust yesterday I pondered, would the world economy go haywire if suddenly computers were easy and they worked?
11:17:19rueWell, I have more modest goals
11:18:54rueI am just trying to find a feed reader that organizes by time, not site
11:19:46scooprhm, don't most of them have a composite view in addition to the site-tree?
11:20:11scoopr(that is, selectin the root of the tree)
11:20:28rueCould not begin to say
11:24:15lstoll enters the room.
11:24:40scooprheh, maybe you can hack this one to suit your needs :P http://raggle.org/about/
11:25:34rueNah, there is feed-normalizer
11:25:45rueI found this one but it seems to have an issue with posix mutexes
11:29:45hassox leaves the room.
11:29:59hassox enters the room.
11:35:32mfp leaves the room.
11:41:38skaar leaves the room.
11:42:38ragge_ enters the room.
11:42:38ragge leaves the room.
11:42:51ragge_ leaves the room.
11:43:18ragge enters the room.
11:46:24aotearoa enters the room.
11:48:07defunkt enters the room.
11:50:33defunkt leaves the room.
11:54:21imajes enters the room.
12:07:24ragge leaves the room.
12:07:39Fullmoon_ enters the room.
12:10:10kamal_farizrue: newsfire does
12:15:05aotearoa_ leaves the room.
12:15:54ruekamal_fariz: Yeah, need to get that Mac first though :)
12:17:37radarek leaves the room.
12:19:59yaroslav enters the room.
12:24:10yaroslav leaves the room.
12:30:13kamal_farizrue: google reader under the 'All' tab is by time
12:32:46ctennis leaves the room.
12:32:58ctennis enters the room.
12:38:51boyscout1 commit by Vladimir Sizikov
12:38:51boyscout * New rubyspecs for IO#foreach.; 9c49478
12:39:52skaar enters the room.
12:41:28ruekamal_fariz: I do not trust Google. Plu