Here is a list of all the technology, tools, and processes that I use to get the job done.

I often get asked about the technology, tools, and processes I use to build software, work with people and teams, and stay productive. Perhaps more honestly, the stuff that I buy to fool myself into thinking I'm being productive when in fact, I'm really just procrastinating. Here's a list of things that help me procrastinate as well as my favourite daily driver stuff.


  • 14" MacBook Pro, M1 Max, 32GB RAM (2021)

    I have been using Macs since the early 00's. As infuriating as Apple products can be from time to time, they are still -- by a substantial margin -- the least infuriating pieces of technology that I deal with on a regular basis.

  • Dell U3219Q

    A great Goldilocks monitor. Not too cheap. Not too expensive. Just right.

  • UHK 60 v2

    The UHK 60 v2 is a fully programmable, impeccably built, open-source, split mechanical keyboard designed for extreme productivity and ergonomics. It is an idiosyncratic beast with hot-swap sockets, per-key RGB backlighting, double-shot PBT keycaps, USB-C, and braided cables.

  • Apple Magic Trackpad

    This sits on the left hand side of my keyboard just under the monitor. It's getting on a bit now, so its main use is to save me if the Apple Magic Mouse ever runs out of charge.

  • Herman Miller Aeron Chair | Secret Lab Omega 2020 | Cloth-covered Exercise Ball

    I spent a lot of time in front of the computer so I might as well be comfortable. I oscillate between the impeccably constructed Aeron and the rugged Secret Lab depending on the day. And I use the exercise ball occasionally when I want to convince myself that it passes as exercise.


  • Doom Emacs

    Emacs was the first editor I used as an engineer (back in the early 90s). Over the years, I have tried just about everything, but I have always ended up back in Emacs. These days, I switch around between Emacs and Obsidian (which has great mobile support) as needed, but I always seem to find myself back in Emacs.

  • Obsidian

    Obsidian is the closest I have come to switching away from Emacs on a permanent basis. If only it used Elixir instead of JS for customisation, it would be a no-brainer conversion. It also has a raft of community plugins that enable everything from mind maps to data tables.

  • Warp Terminal

    I change terminals about as often as I change editors, so when I tried out Warp in early 2024 it was an almost epochal moment. Warp has some really nice features, but its biggest drawback is that it is not available everywhere. I'll see how this experiment goes.


  • Elixir

    I started out with functional programming (Scheme, Lisp) at Uni, and then moved on to C++ and Java as a professional programmer. I switched mid-career to Ruby and then slowly drifted away from day-to-day coding. But in 2023, I set myself the goal of getting back into coding with a couple of hobby side projects, and journeyed into the Elixir ecosystem. Elixir is a wonderful platform that manages to combine elegance, performance, sophistication and dare I say it, bring real joy back to programming.


  • Mind Node

    I use mind maps whenever I have an unstructured or uncertain problem that needs to be quickly structured and organised into a format that can be easily communicated.

  • Anything that produces or consumes Markdown

    The ability to ignore everything other than the text you are writing is a powerful self-hack that lets me concentrate on the content and not the format. Using raw text as the underlying format for documentation means that it can be checked into source control as if it were software. It is hard to overstate how important that is to an engineering team.

  • Divvy

    Divvy is another utterly game-changing addition to macOS UX. The ability to move windows around on a grid with a couple of keystrokes (and not the mouse) saves me minutes per day which really starts to add up over time.

  • Moom

    Moom allows you save the window locations of apps on your desk top so that they can be snapped back with a click. Because I move around between two different desks and my laptop on the go, the ability to quickly get all of my windows back to where they are supposed to be quickly is functionality that I don't think I can do without.

  • Alfred

    I have been Alfred for almost as long as I have been using a Mac. It is just second nature now.