Testing out Journler

If you can see this, it’s been successfully posted through Journler.? I’d do a test post, but that’s too boring.? I’m in Seattle.? It’s raining.? Oh wait, I’ll have to do better than that if I want to be non-boring.?

Dutch Interactive Voter’s Guide for US Presidential Elections

A Dutch news show has commissioned an online voter’s guide for the 2008 US presidential elections… targeted at a Dutch audience. It’s online, in Dutch and English (for the expats).

Apparently, it’s a huge success. I get consistent results whether I use the English or Dutch version, although I don’t like statement 23 because it lumps together two distinct and contradictory views. Try it and see where you stand.

I Can Has Cheeseburger?

So we’re on vacation on Maui, hanging out in downtown Lahaina. The first night, we wanted something quick after arriving late… so we picked Cheeseburger In Paradise. This turned out to be the wrong choice. They have a great location, but their burgers are atrocious: processed meat product patties cooked well done that taste as if they could be made of anything except cow. Yuk. Their coconut shrimp appetizer is OK, but don’t go there for the burgers.

Tonight, Maui redeemed itself by guiding us to the Cool Cat Cafe. The burgers served in this unassuming fifties themed diner are actually tasty, made of real meat cooked a sincere attempt at medium rare (they managed medium; we didn’t complain), and a good chunk of change cheaper than at the aforementioned tourist trap.

Lahaina itself can be summed up this way: yes there are souvenir shops, jewelry stores and art galleries, interleaved with timeshare sales desks, but one block away the streets don’t have sidewalks. Yes there are resorts but the town’s grammar school is right on the beach and a town that can keep development in check to this extent makes a great place to visit.

Unit Testing Not Necessarily teh suck

I finally took time to read Will Shipley’s impassionate 2005 post about unit testing and why he doesn’t do it. He’s of course exaggerating for effect and the post is best taken in together with BBum’s excellent follow-up where he argues that unit testing made a huge amount of sense for his project, but may be less relevant for software that directly interacts with users.

Unit testing serves to define and enforce the interface that a piece of code presents to the outside world, which makes most sense (and makes a whole lot of sense) when the user of the code is itself a program. Hence: libraries, Frameworks (oh wait, they are also teh suck) and the like. Having a comprehensive set of unit tests gives the folks who have to work with your code confidence in its quality, and gives you liberty to change stuff under the hood as you see fit, with no fear (ok, less fear) of breaking the confidence the other folks have.

Unit tests don’t find bugs. They ensure that there is no unpredictable behavior (bugs) in the bits they test, but they are not as good at finding new bugs that you didn’t know were there. That’s still up to other techniques like exploratory testing that Will likes so much better. Perhaps Unit Testing is incorrectly named, and we should be talking about Unit Verification.

Stretch Desktop With the fglrx Driver

I have a new PC under my desk, and it seems that I now have my X setup the way I want it. The problem was with the dual head support: I wanted one desktop stretched across the two monitors, so I can drag windows across from one monitor to the other.

The default configuration merely mirrored one screen onto two monitors: a waste of desktop real estate. What I had before did put different X displays on the monitors: good but not great because I couldn’t drag across. On my old machine I could use the Xinerama extension to achieve the what I wanted, but turning that on made the driver for the new card (ATI’s proprietary fglrx) crash when the screensaver kicked in.
Continue reading

Installing Subclipse on Mac OS X

I’m very happy to see that Subclipse has come along. Installing it on Ubuntu was a breeze: just get the plugin through Eclipse, and install the svn-javahl package to get the native part. On the Mac, it’s a little more complicated. Even if you specify --with-javahl to ./configure, the Java bindings don’t automatically get built or installed. You have to specifically invoke make javahl and make install-javahl. Then, put symbolic links for /path/to/subversion/lib/libsvnjavahl-1.jnilib and /path/to/subversion/lib/svn-javahl.jar in /Library/Java/Extensions. Now, when you install the Subclipse plugin through Eclipse, it will find its native counterpart in place.

Reading List for ApacheCon Scaling Out Presentation

I gave my Apache Performance Tuning talks last week at ApacheCon in Atlanta. The first one (Scaling Up) has a reading list at the end of the slide deck, but I noticed as I was presenting that the second slide deck (Scaling Out) does not. Two good books on web site scalability are Theo Schlossnagle’s Scalable Internet Architectures and Cal Henderson’s Building Scalable Websites.