Programming is not Performance Art

I’ve been writing code since I was 12 years old, which is a very long time. In that time I’ve seen professional software engineering go from bands of artists to hacker collectives to exclusive MENSA clubs. It’s the latter that I want to address here, particularly the notion that one must have the most unnatural of talents to prove beyond a shadow of a doubt that one can write co…

Read more

rEFInd: Painless Linux installs on Apple hardware

I’ve struggled getting Linux installs to work on my circa-2009 Apple Macbook Pro hardware. This is some of the best hardware on the planet, but it sucks because Apple stopped supporting it with MacOS Sierra. I didn’t like MacOS that much anyhow, so installing Linux was no big deal for me, except that EFI breaks a fair number of nascent Linux distros on Mac hardware. In particular, I&#…

Read more

Stealing: the Future of Retail

You walk into CVS, or Walgreens, or Rite Aid, grab a tube of tooth paste off the shelf, and head for the checkout line. That’s where the suffering begins. There is a line. The British call them queues, as if the average Briton is a computer scientist. They call it the Queen’s English for a reason. But I digress. Why is there a line, you ask? It’s not because of overwhelming dema…

Read more

A Tale of Two Laptops: Linux on Macbook and Chromebook

tl;dr If you have a Macbook Pro or a Chromebook, checkout Linux Mint 18 XFCE beta (for mac) or GalliumOS (for Chromebook). Thankfully, 2016 is the year of Linux on the Laptop, even if it’s not a WinTel laptop! Preamble I’ve run hundreds of Linux installs in the last 20 years, up to and including my own XFCE-based Cobind Desktop, so I’ve got lots of battle scars related to config…

Read more

The Dave Test

Way back in 2001, Joel Spolsky wrote The Joel Test. The Joel Test has become the de facto standard for judging a company’s software development prowess. It was like the Software Engineering Institute’s Capability Maturity Model (CMM) only it could be read and understood by people without a PhD in Computer Science from Carnegie Mellon. Fast forward fifteen years and Stack Overflow is s…

Read more

Obfuscated FizzBuzz

This was a lightning talk that I gave to the Pittsburgh Python Group in the summer of 2014 at Google Pittsburgh.…

Read more

Proxmox: Your Own Private Cloud

You’ve probably heard of terms such as KVM and OpenVZ, but until now, large data center virtualization operations were beyond the reach of most individuals or small organizations. In addition, many individuals and organizations face challenges with data privacy relating to having personal or customer data in a public cloud. A relatively simple and inexpensive solution is to run your own pri…

Read more

Tests Happen: How Metaprogramming Avoids The Drudgery of Testing

Wikipedia defines the mythical man-beast known as metaprogramming thusly: Metaprogramming is the writing of computer programs that write or manipulate other programs (or themselves) as their data, or that do part of the work at compile time that would otherwise be done at runtime. Everyone has heard about it, but few understand it. What makes it worse is that, like calculus, it’s a very use…

Read more