Writing
Articles
Essays on thinking clearly, working for yourself, and doing real work while AI rewrites the rules. Two decades of them.

Dummies Book: SDK Path
Android Dummies book readers hitting a 'Could not find adb' error after an SDK update? Update your Eclipse ADT Plugin to fix the path.
2011.01.11Read →
My Favorite Git Alias
Tired of unreadable git log output, I found the git lg alias -- a one-line git config addition that makes your commit history actually scannable.
2011.01.04Read →Already a Second Pressing of Android App Dev for Dummies
Android Application Development For Dummies sold out its first print run and went back to press in under a month -- thanks to readers who picked it up.
2010.12.30Read →Android App Dev for Dummies & Motorola Droids
Motorola Droid won't connect to Eclipse for debugging? Grab this specific USB driver version and installer link that fixed it for a reader.
2010.12.26Read →IntelliJ Android Layout LiveTemplates
A set of free IntelliJ live templates for Android XML layouts -- shortcuts for buttons, list views and more to speed up writing view code.
2010.12.23Read →An Annoying IntelliJ Android Build Issue
IntelliJ threw a phantom 'apk.res not found' build error after a Git branch switch -- the fix was re-selecting the target Android platform in project settings.
2010.12.21Read →Beyond Dummies: Improving Performance on the ListView
A follow-up to my Android Dummies book showing how view recycling with convertView speeds up ListView rendering on lists with thousands of items.
2010.12.07Read →IntelliJ Keyboard Shortcuts
Why I switched from Eclipse to IntelliJ for Android development, plus a link to the keyboard shortcuts PDF I couldn't easily find anywhere else.
2010.11.15Read →Setting up an Android Build Server – Part 4: Communicating With Github
Part 4: connecting a headless Android build server to GitHub by installing Git, generating SSH keys for the hudson user, and setting identity.
2010.10.26Read →
Setting up an Android Build Server – Part 3: Installing the Android SDK
Part 3: installing the Android SDK on a headless Ubuntu server by tunneling the GUI installer over SSH -X since there's no CLI installer.
2010.10.25Read →
Setting up an Android Build Server – Part 2: Installing Hudson
Part 2 of setting up an Android build server: installing Hudson CI as a Debian package on headless Ubuntu, plus the daemon dependency fix.
2010.10.22Read →Setting up an Android Build Server – Part 1: The Server
Part 1 of building an Android CI server on headless Ubuntu 10.04: getting add-apt-repository working and installing Java before Hudson.
2010.10.21Read →