(This post has nothing to do with software, move along if you aren’t into woodworking…) Here’s my somewhat different workbench design (based on Christopher Schwarz’s “…| Havoc's Blog
If your build depends on a non-exact dependency version (like “somelibrary >= 3.1”), and the exact version gets recomputed every time you run the build, your project is broken. You c…| Havoc's Blog
Our APIs for arranging elements on the screen are stuck in the stone age. Using these APIs in the simplest way results in an ugly layout. To achieve pretty layouts we deploy tricks that aren’…| Havoc's Blog
Steve Jobs famously cared about the unseen backs of cabinets. Antique furniture built with hand tools isn’t like that at all. Cabinetmakers made each part to the tolerance that mattered. The …| Havoc's Blog
Background: customers hire products to do a job I enjoyed Nikkel Blaase’s recent discussion of product design. In this article he puts it this way: In another article he puts it this way: Thi…| Havoc's Blog
Cynics might say that overengineered means I didn’t write it and don’t understand it yet. I found a nice real-world example, JSON-like configuration file formats, where reasonable devel…| Havoc's Blog
For the last month or so, I’ve been working at Continuum Analytics, doing product design and development to help out data scientists. I would be overjoyed to hire a few more awesome people to…| Havoc's Blog
If you’ve ever written a technical article, or announced some software you created, chances are someone commented “this isn’t new, it’s just like _____.” Commenters of…| Havoc's Blog
Before buying a T440s I kept asking people on Twitter to tell me how it works with Linux, so I figure I should write down the answer. Note: this is a beta distribution on a brand-new laptop model. …| Havoc's Blog
Have you ever screwed up a talk or high-stakes presentation? You thought it would be fine, had a plan, did well in practice runs, but under pressure you fell apart and fell flat. In short: you chok…| Havoc's Blog