Havoc's Blog

this blog contains blog posts

Category: Uncategorized

Layout APIs don’t have to be terrible – lessons from Bokeh

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’t obvious to newcomers, though many of us have internalized them and don’t notice anymore. If you ask a designer to […]

Professional corner-cutting

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 invisible parts were left rough, with plane and saw marks, to save time. The visible parts, however, were cleaned up and polished. Some surfaces were […]

The dangerous “UI team”

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: This isn’t a new insight, but it’s still important, and well-stated here in these graphics. The product has to work and it […]

JSON-like config, a spectrum of under/overengineering

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 developers have implemented many points on a complexity spectrum. (Full disclosure: I implemented one of these.) STOP. Don’t take this post as an excuse to defend the answer you […]

Working on Data Science User Experience

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 work with, and I’m hoping some of you reading this will be interested enough to learn more about it. If you’re […]

It’s not new

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 the world, slow down. Think about why you would say that. Readers, ask why you would think it, even if you don’t comment. Do you mean: “I have already […]

Fedora 20 Beta on Thinkpad T440s Report

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. Punchline: Lenovo’s new clickpad is worse than the old physical buttons for me with the trackpoint, but […]

Don’t screw up your next presentation

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 choked. There’s almost a binary switch: sometimes you can tell a few minutes into an hour-long talk whether it’s […]

What Matters In Software Development

Lots of traffic on Twitter about Steve Yegge’s post defining a “software ideology” spectrum. Myles Recny made a survey to help you place yourself along said spectrum. Thinking about it over the weekend, I can’t identify with this framing of software development. Those survey questions don’t seem to cover what I think about most in […]

Developers: request for complaints

I’m looking for a new personal weekend project that would be useful to others. Maybe there’s a useful book or useful piece of software I could create for fellow developers, tech leads, project managers, etc. Doesn’t have to be anything related to any of my current or past work (Linux, C, GTK+, Scala, etc.), but […]