Automating Pool Chlorination

After a year of dumping various sorts of chlorine into the pool, I finally got all the bits and pieces together to automate the chlorine addition process. The key element that pushed me over the hump was learning I could open a COD account at Hill Brothers Chemical to buy commercial quantities of high [...]

Carbon dioxide usage for brewing

I was wondering how long the CO2 tank should last when used for both carbonating and serving the beer.  The carbonation consumption is not insignificant.


1 keg is 5 gallons
Carbonating to 2.2 volumes
Dispensing at 40°F
Dispensing at 12 PSI

There’s 0.134 cu ft/gallon. Thus, 5 gallon is 0.67 cu ft.

2.2 “volumes” means there is 2.2*0.67 = 1.47 cu ft [...]

Arduino battery capacity tester

My first Arduino project was to build a battery capacity tester. I’ve got a box of rechargeable AA batteries, and it seams they’ve been less and less effective. Since most applications require 4 batteries, invariably one problem battery makes the rest of them look bad.

The Atmel ATMega328 microcontroller has 6 analog inputs with [...]

Hello Arduino

Success has been had … finally!

A couple of days ago, a tiny little package arrived from Sparkfun Electronics with my first Arduino kit. Valerie’s response upon finding said package in the mail box, “well, so much for seeing my husband for the rest of the week”. In all fairness, I waited [...]

iPhone software 3.0–email full resolution pictures

I just stumbled on a new feature of the iPhone 3.0 software — using the copy/paste feature, you can send a full resolution picture in an email:

In the picture browser, tap the picture to highlight it and make the “copy” button appear. Tap the copy button.
Close the picture browser app.
Open email app
Compose a new email, and [...]

Motorcycle riding leads to coding

Got a quick ride in today — 112 miles. Quickly coming up on the 1K mile mark on the odometer.

First time taking the new bike up highway 9. Must have had half a dozen riders signal to warn that the police were up ahead; this part of the ride was none too spirited.

152 from Watsonville [...]

Cheeky GPS Routing

Recently purchased a Garmin Nuvi 760 GPS for the car/motorcycle. All in all, it’s lived up to expectations and does the advertised job. But, it’s not without quirks and annoyances.

It came with a 3-month teaser introduction to the Clear Channel FM traffic service which allows the GPS to “intelligently” determine how bad traffic is and reroute [...]

On backups and the importance of testing them

I’d really like the last 18 hours of my life back.

Lesson 1) backups are only as good as your backup strategy.

Lesson 2) your backup strategy is useless if its never been tested to recover from bare metal.

Lesson 3) your ill conceived, unproven backup strategy will bite you. And it will not be for a reason that [...]

Notes on my postfix + sasldb + tls settings

There’s a great “how to” here.

Some of the key things that I always forget about my setup that haunt me later:

I’m using sasldb2 (in /etc/sasldb2 )
When using sasldb — saslauthd daemon DOES NOT RUN. The simple DB file replaces the need for it.
The realm I’m using in sasldb2 passwords is ‘’
Thus, add a password is to [...]

Network tar using SSH

Never realized how easy it is to duplicate a directory tree from one machine to another through the network without building an intermediate tarball and finding room for it and the original files all at the same time. Simply pipe the tar command through ssh and untar it on the fly.

For example, suppose we have direcotry [...]