Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway. Computer Networks, 3rd ed., p. 83. (paraphrasing Dr. Warren Jackson, Director, University of Toronto Computing Services (UTCS) circa 1985)
Spent a couple of days tracking down a strange error using PHPunit and SQLite for testing a complex application. The test suite kept throwing
PDOException: SQLSTATE[HY000]: General error: 5 database is locked
and halting in test that didn't touch the database. The problem was in an unrelated test that ran before it. The test uses iterators to examine database contents, but didn't iterate all the way through the result set. The iterator left the database locked.
Homebrew changed how it handles PHP. A brew update completely broke my dev setup. This is how I fixed it. My homebrew setup was too fucked to save. I started by backing up mysql (hello mysqldump --all-databases) and a few other important files in /usr/local that seemed important.
Update: None of this will work now. Homebrew has changed all of the PHP formulas and removed a bunch of stuff. Assuming you have xcode and homebrew installed and running, follow these steps.
Blogging this because it took far too long to figure out and because the documentation is spread across too many pages and isn't at all clear.

Generate some signing keys.

keytool -genkeypair  -alias USERNAME  -validity 1000  -keystore FILENAME.keystore Answer some questions. The resulting FILENAME.keystore file must be kept private. This generates a key that's valid for at least 1000 days.