Writing
Articles
Essays on thinking clearly, working for yourself, and doing real work while AI rewrites the rules. Two decades of them.
Mobile Software Development
Why a .NET developer dove into Android in 2009: mobile is the future, relearning Java, and getting Android talking to .NET over REST/JSON.
2009.08.21Read →Android & ASP.NET MVC
Paired Android with ASP.NET MVC and Spark to build a REST/JSON backend instead of wrestling with WCF's REST implementation -- worked great.
2009.08.19Read →Auto-Creating Your DB with Active Record
How to auto-create a SQL Express database and schema on the fly with Castle ActiveRecord, so new devs can spin up a working DB with zero setup pain.
2009.07.13Read →ASP.NET MVC – Windsor Container Controller Factory
How to build a custom ASP.NET MVC ControllerFactory backed by the Windsor container, so controllers can take dependencies via constructor injection.
2009.07.10Read →Unit Testing you Container Dependencies
A unit test that catches missing Castle Windsor container registrations before runtime, by walking every handler and forcing resolution.
2009.07.10Read →A True Life Git Story …
A week with zero WiFi in rural South Carolina turned me into a Git convert -- full branch, merge, and revert history with no connection required.
2009.07.07Read →Running Your Android App on a Device
The Android dev guide's device-testing steps left out one thing: switching Eclipse's Run Configuration target to manual to get the device chooser.
2009.06.29Read →Could Not Import Contacts Into G1 From CSV…
Google Contacts CSV import silently dumps phone numbers into Notes unless you fill the Section 1/2 Description fields with 'Personal'.
2009.06.26Read →Twin Cities Pragmatic/ALT.NET Beer Tomorrow
Reminder: the Twin Cities Pragmatic Beer meetup, also known as Twin Cities ALT.NET Beers, happens tomorrow at the Herkimer in Uptown Minneapolis.
2009.06.24Read →LINQ: Single() vs First()
First() and Single() look similar but throw under different conditions. A quick reference table for when each LINQ method fails or succeeds.
2009.06.23Read →LINQ: Any() vs. Count()
Checking Count() > 0 enumerates your whole LINQ sequence. Any() stops at the first match. Here's why that swap matters for performance.
2009.06.22Read →Beginning Google Android Development
First steps into Android development with Eclipse, the ADT plugin, and the emulator, plus early plans to experiment with the accelerometer.
2009.06.19Read →