jon black

"I am in a charming state of confusion"

What are the best headphones for programming?

When we sit down to write code we all desire coding nirvana, where the world around us melts away and we achieve an inner peace, the code appearing to write itself.

One of the obstacles to reaching such a relaxed and focused mental state is distraction from noise. Like a toddler incessantly poking your arm, it robs you of your attention.

This is why headphones are essential gear for programmers.

They enable us to shut out the world and concentrate on the code, making coding nirvana easier to attain. But with so many different types of headphones on the market, how do we know which ones to choose? Are some better than others for programmers?

Types of headphones

There are four different types of headphones, and knowing how these types affect sound isolation is essential for understanding which are more suitable for programmers.

Earbuds sit loosely in the outer-ear facing,

The humble developer rig (2015)

Seven years have passed since I built my last desktop PC and it's showing it's age. I've been surviving on a 32-bit CPU and 2GB ram for long enough - it's time for an upgrade!

The humble developer rig is a balance between form and function, price and power. It doesn't need to be the absolute best, but it does need to shine if it's going to be compiling code for at least the next 7 years.

Case NZXT H440 €112.80
CPU Intel Core i7-5820K 6-Core 3.3GHz €400.80
CPU Cooling NZXT Kraken X61 Liquid Cooling €132.80
Graphics Card EVGA 02G-P4-2966-KR GeForce GTX 960 €239.80
Memory Crucial Ballistix Sport 16GB DDR4-2400mhz €209.80
Monitor Dell UltraSharp 34 Curved 21:9 Monitor (U3415W) €741.45
Motherboard Asus X99-DELUXE €359.20
Power Supply Corsair RM550 €108.90
Storage 120GB OCZ Agility 3 SDD re-used
500GB Western Digital Velociraptor

Mouseless programming

In large display paradox resolved I made a tongue-in-cheek claim that mouseless tiling windows managers were the future:

In the not-too-distant future, every user will have adopted a mouseless tiling window manager to make managing windows on a large display a breeze.

It's unlikely that my prediction will come to pass, but perhaps programmers can be convinced to go mouseless? To explore that question we need to answer another: why do we use a mouse in the first place?

The very first Apple Macintosh was realeased in 1984. It was the second Apple computer to come with a mouse1:

In a New York times review of the Macintosh, Erik Sandberg-Diment had to explain how the mouse was used:

As to the mouse, it is part and parcel of the Mac revolution, and it will probably be the reason you either sign up for or turn your back on this

Large display paradox resolved

In The Large Display Paradox, Jeff Atwood describes a paradox where large displays cause an increase in productivity up to a certain size, after which productivity drops because users spend more time managing the space:

That's the large display paradox. Having all that space can make you less productive due to all the window manipulation excise you have to deal with to make effective use of it.

Dual monitors have been a staple of my development environment for as long as I can remember. When one of my monitors recently broke (I dropped it), I was forced back into the dreaded world of single monitor development, and remembered how painful it is to constantly switch windows.

Even before the monitor broke, it wasn't perfect. I was never satisfied with one-window-per-screen, but placing windows side-by-side was, as the paradox describes, tedious and time-consuming. That's when I found i3, a tiling window