Set up JAVA_HOME to track Java Preferences.app on Mac OS X

/Applications/Utilities/Java Preferences.appMac OS X’s Java Preferences.app has a pane for switching between versions of the JDK, but I just found out from a coworker (thanks, Mike!) that you can make your shell match that preference easily — just add this to your ~.bashrc:

export JAVA_HOME=$(/usr/libexec/java_home)

If you change your JDK priority preference, you’ll need to re-source your ~/.bashrc or just open a new terminal window.

Deliberate Change Management

Software engineering can be described as the orchestration of a quasi-denumerable set of moving parts.

With so many moving parts, breakages occur. One main goal as a “software craftsperson” is to never expose customers to the affects of these breakages. Test-driven development rose from this desire. Accepting that systems break, even in production, motivated loosely coupled and shared-nothing system architectures.

Continue reading

Defensibility as an touchstone for development decisions

The topic for this “Software Development Mantras” post is “defensibility.”

First, let me introduce the concept of “TIMTOWDI” (pronounced “tim-toady”). It’s an acronym for “there is more than one way to do it,” and software development may be unique in that for any given task, this holds true.

Continue reading

Completely Correct DRY Simplicity

This is the first in (what may be a series) of posts where I’ll share some concepts, or mantras, that I’ve found helpful in my experiences with software development.
The following are some of the lowest hanging fruit. These should be (but aren’t necessarily) common sense for all software developers:

Continue reading

How to fix the wifi on a HP Mini 110 Netbook running Ubuntu 9.10 (Karmic Koala)

Installing Karmic Koala from a USB drive proved to be a bit less than effortless. First off the http and ftp servers for the netbook-reloaded ISO images were really slow, and for some odd reason there aren’t any bittorrent links for the netbook-reloaded image. You need to go to http://releases.ubuntu.com/9.10/ to find the .torrent link (which is here).

The installation instructions need some editing, too, but the jist is if you’ve got a linux box, use usb-creator — and don’t panic when the usb-creator main window disappears (and doesn’t get replaced with a progress window for several minutes).

So the main glitch was wireless — it didn’t work out of the box on my HP 110 netbook.

Continue reading

Speed up Firefox!

My Firefox on Mac was getting pretty lethargic — almost a minute to spin up, and multiple seconds to just open a new tab. I installed the new beta of Google Chrome, and remembered how nice a speedy browser was.

Google Chrome for Mac is a nice first effort, but without custom search engines, and all the other firefox add-ons, the shininess gets pretty tarnished. I needed my fast firefox back!

I made just a couple changes, though, and my Firefox is back to it’s prior speedy self!

Continue reading