January 2006 Archives

Why Can't I be Mormon??

| | Comments (2)

In response to "Teach Me Something":

1:49:34 PM eylerpm: dude, why can't you be lds (rhetorical question) ... I just read your blog entry, and I so wish you worked here.
1:50:30 PM zenspiderrwd: awesome
1:50:34 PM zenspiderrwd: I might have to blog that. :P
1:50:50 PM eylerpm: blog away.

Teach Me Something...

| | Comments (0)

"Teach Me Something..."

I say this. A lot. I'll walk into someone's office, sit down, and bellow it. Poor Tom heard this way too many times. Sometimes I learn really neat stuff, but most of the time I get rather blank looks. Why? Do these people not know anything that I don't already know? Hardly! I've been blessed to work with really intelligent people over the years.

I think it is because most people are thrown off by improvisation. They'd rather have time to prepare so they don't stumble or feel dumb or so they are simply more comfortable or... something. I dunno. There is something to be said about the power of improvisation, but I'll leave that to the likes of Malcolm Gladwell and other smarter people.

Me? I was a drama fag. In fact, I was Queen of the Drama Fags in High School (although we couldn't print that title in the yearbook, that was the real title). I didn't get too much out of the experience (besides an inordinate amount of personal bullshit that is rightly associated with drama fags), but I don't have much of a problem with improvisation or public speaking.

So one day Tom, sure he's got me, comes into my office and bellows "teach me something!" and without missing a beat I say "So I know you know Objective-C's reference counting, but have you ever heard of a Baker Two-Space Copying Collector?" and walk up to the whiteboard and start to draw.

Gotcha Tom.

move over test/unit

| | Comments (2)

I love testing. I just do. I do it all the time. I'm a big TDD dork. I push for it because it makes my life and my code easier. That said, there are times when I really dislike test/unit. It is a lot bigger and more complex than it needs to be.

Working on metaruby it is our very first hurdle for every class we try to reimplement (nuke all of the methods in Array and see how far YOU get :P) We have to do a phase where we figure out what essential core methods are needed for test/unit to run the rest of our tests.

Sometimes, "essential" is subjective and it gets in our way.

Regardless, test/unit is 3300 lines of complex code for a system that as originally described is not that complex at all. To be fair, test/unit has a lot of bells and whistles, but I'm guessing most people never ever touch most of them. Me? I use the basics + regular expression filtering. That's it. No GUI, nothing extra. And it does great (*).

So, while working on BFTS (Big "Formal" Test Suite--our fork/port of the rubicon test suite), I wrote a drop-in compatible replacement for test/unit. This will let us have a much smaller set of essential core methods for our metaruby work. I've got the newly ported tests for Array, Hash, String, and Time running with it.

So... the clencher? What really makes me love this code to the point that I smile every time I read it? It is a beautifully clean 71 LOC long!!! (92 with whitespace and comments!) The bells and whistles in test/unit might be nice, but I highly doubt you get 36x (92 vs 3300) the functionality from it.

*) My only complaint about test/unit, besides its complexity, is the error when you have a TestCase subclass that doesn't have a test method in it. That is just wrong in my opinion. I don't think you get that much out of that type of error, and I don't have a single project that doesn't refactor test code into an abstract superclass.

Eric was right, this guy isn't (just) xenophobic, he is paranoid:

"[...] But just 'HAPPENING' to be at the PHP meetup and just 'HAPPENING' to run the RUBY meetup and taking the time to pass out business cards and come to our forum and talk about how RUBY can handle 4 millions hits a month? That's not coincedence... that's just plain RUDE."

I was just happening to have dinner sitting 10 feet from them at a cafe literally 2 blocks from my house on the night that they had their meeting... Coincedence? Yeah, right. It must be a conspiracy!

Poor little fragile blossom...

I'll leave you with the only proper summary of this guy's brain, courtesy of Jello Biafra:

"Must be some kind of conspiracy
The whole world's a God damn conspiracy
Look anywhere long enough, you're gonna find a conspiracy
Man, LIFE is a conspiracy!"


Can God Fill Teeth? by Lard on The Last Temptation of Reid

I found the following post on the local PHP group's meetup blog recently:

"[...] we had the wonderful experience of having one of the people who runs the Seattle RUBY Meetup stop on by and preach about how great RUBY was and pass out business cards to invite people to the RUBY meetup. [...] Still I have to ask... for that kind of blatant, ballsy kind of self promotion, is this something that we should ask them to leave?"

and from a different guy:

"[...] I pretty much pigeonholed him as a language bigot, which IMO is just about the most worthless brand of developer there is. So while I don't have a problem with Ruby developers, I had something of a problem with THAT developer. [...] I think any developer who uses one and only one language is just being stupid, and when he stops looking at other languages altogether he goes tumbling into the abyss of loserdom. I think we can all recognise a loser when we see one, so let's just trust everyone to know who the losers are and ignore them."

(emphasis, of course, is all mine)

WOW! Talk about xenophobia! I went from having dinner (btw, Red Line Cafe in Seattle has really good sammiches) to mortally offending some fragile blossoms! A completely unintended consequence simply by having an external viewpoint from theirs!