Musings about the theory and practice of writing software. Not necessarily code-focused, but may occasionally have code.
  • print('foo')

    The humble print statement is probably the unsung hero of many a debugging session in my career: it’s what I reach for first before breaking out the debugger.

  • Failure Modes

    The software we write is fallible, precisely we’re fallible. That’s not to say that all software is unusable though. Failure is always an option.

  • Journaling

    Since November, I’ve been keeping a journal of my work, as a means of data gathering on my own productivity; it also gives me a sort of timeline of events, should I need to look back.

  • Models

    The map is not the territory, and often when writing software we’re building maps and models of things – which inevitably encodes our own assumptions.

  • On Call

    The operations side of writing software.

  • Taking A Chance

    I’ve been pretty lucky in my career so far, and if there’s one thing I’ve learned: you have to take a chance on yourself.

  • Emacs as a Java IDE

    Into the forays of using Emacs as Java almost-IDE.

  • Trying to get Emacs to work with a whole environment of tools is a lot of work; it pays to look for other Emacs users and ask them how they fit Emacs into the environment.

  • Vocabulary

    Observations on a shared work vocabulary.

  • Firehose

    Diving into the deep end: moving into a new city, and starting a new job.