OMG

June 29th, 2007  |  Published in Uncategorized

I’m blogging from my new iPhone.

Steve Jobs apparently owns my soul.

My Name Is Rachel Corrie

April 10th, 2007  |  Published in Uncategorized

I went and saw the play My Name Is Rachel Corrie this evening with my mom. I wasn’t expecting much from it.

When Rachel Corrie was killed it horrified me; that’s why I was interested in seeing the play. I wanted to know something about her, something more than I’d gotten from the fairly feeble media coverage around her death.

Like I said, though, I wasn’t really expecting much from the play. Given that the script is compiled from the diaries of a woman in her young twenties, and given that she was political enough to travel to Gaza and stand around in front of IDF bulldozers, and given that the script was co-edited by a Famous Movie Star (Alan Rickman), I expected a shrill and self-indulgent anti-Israel screed. That wasn’t what it was at all.

She wrote beautifully, she was clever, she was funny. She reminded me of people I knew in college. She dedicated herself to doing real things to improve people’s lives. She travelled halfway around the world to put herself in danger on behalf of strangers, because she was worried about them. It’s a good play, and a fitting tribute.

Today would have been her twenty-eighth birthday.

Baked Pancake

March 25th, 2007  |  Published in Uncategorized

Made one of these this morning for breakfast. They’re pretty similar to a Dutch baby, slightly less eggy. The cooking method is simple but clever: you heat the butter in the skillet on the stove prior to putting it in the oven, so the pancake crisps a bit on the bottom. The whole thing’s dead easy, too, you just mix four things, heat the pan, pour in the batter, pop it in the oven.

When I moved five years ago from an apartment with a difficult kitchen to a house with a really useful kitchen, I thought I’d be doing a lot more project cooking, i.e. handmade pasta. In the end I’m doing a certain amount of that sort of thing, mainly barbecued brisket, but really I’m just cooking tons of breakfast stuff.

Which I guess fits me solidly into the stereotype of “dad cooking”…I suppose there are worse things.

IKEA will break you

March 24th, 2007  |  Published in Uncategorized

I’m increasingly fascinated by the psychological effect of a visit to Ikea.

Old friends of mine know that I’m hugely interested in Vegas casinos, not because I’m a huge gambler, but because of all the little psychological angles. The fact that you when you enter a hotel there isn’t a path straight to the front desk, but rather you have to wind your way through banks of slot machines, and it’s hard not to sit down and try your luck. The cocktail waitresses, wearing skirts that end just under their forehead, who bring you complimentary drinks, make you feel important. The complete lack of clocks and windows, with the artificial light set just right so that you have no idea how much time you’ve spent there, pumping money into the slots. There are all these incredibly subtle and devilish things they do to encourage you to stop just for a second to lose money, and then there are all these other diabolically clever things they do to keep you there, losing money, until your wallet is finally dry.

They do an analogous thing in slaughterhouses, with the environment designed to calm the cow until it’s in the killing pen.

Ikea is interesting because it has the opposite effect, at least on me.

The typical Ikea visit for my wife and I goes something like this: on a Saturday, my wife mentions that there’s some piece of furniture that we really need to replace–an end table, let’s say. I think about it for a second and decide, yes, I think I can handle going to Ikea today. It might even be kind of satisfying, I think to myself, to go there and consider how some element of Nordic design might make our lives a little simpler, a little more organized, a little more comfortable.

We drive down, fight for a parking space, look at a few of their room displays, find a bookcase that looks surprisingly nice–no, it’s not the end table we were looking for, but it really is nice. We’re maybe fifty yards into the store at this point, and it is at this point that I often am overcome with hubris. At this point, I imagine that this will be an easy trip.

You may recall from your eleventh-grade literature class that Oedipus had plenty of hubris, and that it ultimately lead him to stab out his eyeballs. Ikea hubris works out pretty much the same for me, except without the maternal boning and patricide.

Anyway, at this point I’m feeling good. We wander a bit further into the store. I’m frantically scanning all these room displays, my brain’s pattern-recognition engine furiously working to pick out an acceptable end table from amidst the sea of couches, TV stands, file cabinets, ottomans, etc. My eyes start to get tired, and my head starts to hurt.

We round several bends on the meandering linoleum-clad main Ikea thoroughfare, and I start to feel edgy, anxious. I don’t realize it yet, but after losing sight of the windows and turning several times, I have completely lost my sense of direction. I have no idea how to get out of this place, other than by following this damnable path.

Further in to the dark fortress of our Swedish overlords, and my brain is starting to shut down from sensory overload. There is crap on every inch of every wall, and crap strewn artfully all over the floor. Some of the crap is organized into little rooms, some of it is organized by item type. All I want is a God-damned end table. I don’t want to look at four thousand couches and office chairs and kitchen organizers, but I have to, and it exhausts me.

The path turns again, and I realize that I’m far too fried to rationally evaluate a purchase at this point. I don’t want the end table any more, I just want to go home. I don’t know how to get out, though. In desperation, I look around, trying to find something recognizable, and I spot the entrance to the cafe. Food! I could just get some Swedish meatballs, find a seat facing a blank wall, decompress until I feel strong enough to make it to the exit. And yet, the cafeteria line, which zig-zags and turns back on itself to reach the cashier, is far more than I can cope with in my reduced state. Its complexity seems unimaginable. I have no means to evaluate how long it will take me to navigate this queue, and I feel that my brains are starting to liquefy and run out my ears.

I panic and flee from the cafe, walking quickly now, desperate for the exit. It takes every ounce of self control not to break into a run. Now, however, when I need speed the most, I find my route blocked at every turn by oblivious, overweight shoppers who come to a dead stop in a narrow space and gravely ponder a package of tea lights.

Resisting the urge to elbow them aside, to kick their cart out of my way, to trample their whining children underfoot, I break into a punctuated jog, now running, now forced to stop. I hope that my whimpering is just under my breath and is not audible to those around me; if they smell my fear, they will surely turn on me and tear me to pieces.

Finally, the generic potted plants, and the warehouse, and the interminable checkout line. We stand there, with our flat-packed attractive bookcase, fully aware that we failed in our intended mission to locate an end table. Somehow I resist the urge to hurl our purchase into an end-cap display of Easter bunnies and vault over the conveyor belt, yelling “Fire!”

And then, finally, it’s over, and we’re out in the car, fighting through parking-lot traffic to try to leave this godforsaken place. We vow never to return.

The obvious question posed by all of this being:

How the hell does my mental and emotional ruination make them money?

Opportunities for entrepreneurs

March 22nd, 2007  |  Published in Uncategorized

Re: http://radar.oreilly.com/archives/2007/03/sfearthquakes_o.html

I’m starting a Web 2.0 company to implement “cd” in a browser.

I’m going to call it Seedee (beta).

When I flip it to Yahoo for $500 million, I’m going to go on a whiskey bender for six months and then sober up and hire forty people to implement Arrem (beta).

LiteSpeed kicks ass

March 16th, 2007  |  Published in Uncategorized  |  Comments

It used to always strike me as odd that people would bother using anything besides Apache for serving up web pages. It’s kind of a pain to configure, but it’s well understood, everybody uses it, it’s open source, and it works.

Upon entering the Rails world, though, if you run Apache, it feels like you’re a football player in a cowboy hat trying to hang with the scenester kids. Sure, you’re tough, solid, widely respected by the mainstream, but all the goth kids who run lighttpd are never going to be impressed by you. Nor are the straightedge kids running nginx, or the…I don’t know, I can’t think of a good subculture for LiteSpeed. It’s fast, good, polished, but not open source? Kind of a sellout, given that it’s proprietary? The kids who listen to Kanye West, maybe? Once again my metaphors fly off a cliff and explode in a flaming ball of aborted meaning, ripped from the womb untimely.

It might be simpler and shorter to say that I think LiteSpeed is a very good web server.

I haven’t run stress tests yet, so I can’t speak to its performance, but I’m really impressed by how easy it is to use. The web admin interface is a bit Byzantine, but in 3.0 they’ve improved it enormously over the ungainly (but nonetheless useful) UI mess that shipped with 2.2. The truly great things about it, though are LSAPI and autoupdate.

LSAPI is handily packaged as a gem, and provides LiteSpeed the ability to spawn Rails processes as needed to handle requests, without having a pool of standalone Mongrels running all the time. It gets Rails a step closer to the straightforward quality of something like mod_php.

Autoupdate does pretty much what you’d expect, only I wouldn’t expect it of a web server. It checks at a configured interval to see if there’s a new version of LiteSpeed, and then it downloads and installs it for you. To upgrade, you just go into the admin interface and click a link, and it switches over to the new version–while considerately retaining the old version, so you can switch back to it if necessary. Bad ass.

It’s only free as in beer, though, not as in speech. Does it make me a bad, unprincipled person if I give up my essential software liberties for a little temporary software simplicity? Yeah, probably. I guess I’ll drown my ethical qualms in all that free beer.

It actually can be fun to work, if nobody gets in your way

February 20th, 2007  |  Published in Uncategorized

I’m kind of fried after spending all weekend staying up till 5 AM writing code. Code for a personal project, no less. I haven’t done anything like it in quite a while.

It should be a useful little app–it screen-scrapes our employee directory every night, stores the info in a database, and sends out an email notifying me (and ultimately whoever wants to subscribe) who’s left the company, who’s newly hired, who’s changed groups, who’s been promoted, who’s gotten married and changed their name, who’s converted from a contractor to full time, etc.

I wish I could work like this all the time…get the kernel of an interesting idea, and then just sit down and implement madly for a few days or a week. No boss to go ask for permission, no external groups that I’m dependent on for platform code, no waiting for people to email me back while I’m losing steam every second, no arguing over requirements, no meetings.

Given that the capitalist system is purported to be the most efficient, it’s bizarre to me that the corporation–the apotheosis of capitalistic structures–is such a staggeringly bad productivity killer.

Perhaps that’s not true in other industries. Maybe there’s something special about development as a discipline that doesn’t mesh well with the corporation…but I just don’t find that believable.

My gut feeling is that the world, or at least my little corner of it, is changing from an environment where a few huge corporations dominate to one where many tiny ones thrive. Instead of one massive body made up of thousands of contrary cells that each have their own agenda and their own purpose, those cells may split off singly, or in small groups of genuinely like-minded individuals, and prove to be more effective and productive than the huge body they left behind.

No one person wants to pick a fight with a whole 46-man football team, but if you’re in a footrace, not a fistfight, and all those huge guys have their legs tied together like some hideous extrapolation of a three-legged-race team, would you rather be on the team, or by yourself?

In a world of powerful open standards, I’d argue that the competitive landscape is much more analogous to the footrace than it is to the fistfight.

This has become entirely too serious and ivory-tower abstract, so let me conclude by saying that it would be God-damned hilarious to see a 45-legged race. I would pay to see that shit. It would be even better if they were required to all do a shot of tequila every time they fell down.

All themed up

February 14th, 2007  |  Published in Uncategorized

Alternately, the title could be “All themed out.” This is the third port I’ve done of this theme, and I think that’s enough for a while.

On the plus side, this is the first time I’ve gotten to develop on the Mac, while unit testing on WIndows IE6/IE7/FF2 by running XP in a VMWare window. It’s really a nice way to work. Now if I just had a monitor large enough that I could run all three browsers side-by-side in the VMWare window, and if I had some way that I could cause all three browsers (and Firefox on the Mac) to refresh at the press of a button…it bears researching.

Argh, revisited

February 3rd, 2007  |  Published in Uncategorized

So this theme does, in fact, have archive links, they’re just commented out by default. Fair enough. Things are better now.

The weird thing about jumping from one blog package to another, to another, to another, is that…you’d expect that they’d all be pretty similar, right? I mean the function they’re fulfilling is basically the same, the data they’re storing is roughly the same, etc. And that’s mostly true.

The subtle differences when moving from one to another, though, almost make it more annoying than if you had to roll up your sleeves and migrate all your data manually. As it is, you run a migration script, take a quick look at the site using your new software, it looks pretty good, you put it up in production…and then realize that all your archives are gone, because one platform has a “Show archives” checkbox in the admin interface, and the other expects you to uncomment code in the template. Or your tags are screwed up, because one platform expects them to be comma-separated, and one expects comma-and-space-separated. Or one platform has the concept of static pages (for things like About the Author), and one doesn’t.

I suppose I shouldn’t whine about it too much, though. I doubt I would have had as much luck translating a WordPerfect document to Word circa 1990.

In some ways it would be pretty great if there was some kind of open, standard schema for blog data. I mean, if you consider that all this stuff really is designed to be consumed via Atom or RSS, that’s sort of true already. If there was some way you could easily do a full site dump (essentially an RSS feed of all posts, with comments included and properly nested under the appropriate post, and all common metadata like author, publish date, etc. preserved), it would be trivial to move your data from one place to another, and the only annoying bit would be migrating your theme.

The Blogger-to-WordPress migration script I used early on in this tedious saga accomplished the same task, but I assume it first pulled down a feed of all the posts, and then went back and got all the comments per post. That works fine, but it means you have to explicitly write a script to do that kind of migration for each new piece of software.

Argh

February 2nd, 2007  |  Published in Uncategorized

Apparently this theme doesn’t include any kind of archive links, so the last three years worth of my crappy posts are not currently accessible.