2026

  • AI Makes Deep Expertise More Valuable

    LLMs can produce plausible answers quickly. The harder part is knowing which problem matters and whether the answer fits the system you actually have.

  • On being almost there

    The seduction of near misses with AI coding agents. Why 'almost there' is more exciting than finished, and the addictive nature of imperfect AI assistance.

  • Workman

    My 5-year journey learning the Workman keyboard layout. After 20+ hours of deliberate practice, here's my honest review and why I'm now learning Colemak-DH.

2025

  • Reflecting on 2025

    Navigating burnout, AI fatigue, and organisational cycles during the Year of the Snake. Reflections on six years at a scale-up, principles for using AI without losing critical thinking skills, and experiments with productivity tools.

2020

  • Modding the Keychron K2 Mechanical Keyboard

    Transform your Keychron K2's hollow sound into crisp mechanical satisfaction. A complete modding guide covering O-rings, lubing, and foam padding.

  • Deleting Old Tweets

    Why I decided to delete 13 years of tweets and how I automated the process. A reflection on digital permanence and online identity.

  • A Brief Look at WebMention

    Exploring WebMention as a decentralized commenting solution for static sites. How IndieWeb protocols enable social interactions without centralized platforms.

  • COVID Life Update

    Reflections on life during COVID-19 lockdown. How 2020 became one of the strangest years I've experienced and what I learned from it.

2018

  • Version 7 - GatsbyJS

    Why I completely rewrote my personal website using GatsbyJS and abandoned CMSs for a static site generator. Version 7 brings speed and simplicity.

2016

  • Choosing between Frameworks & Tools

    Essential questions to ask when evaluating new frameworks and libraries for your project. A practical guide for technology selection decisions.

2014

2013

  • Building high performance Java application (Lessons Learnt)

    Lessons learned building an automated rates trading system in Java from scratch. Performance optimization insights from a real-world project.

  • The "Let's just code" mentality

    Why jumping straight into coding is often our biggest mistake as developers. The importance of planning and understanding before implementation.

  • A Midway Checkpoint for 2013

    A mid-year reflection on 2013. Taking stock of progress, challenges, and lessons learned in the first half of the year.

  • Decisions

    When the world gets quiet and only your heart remains. Reflections on making life-changing decisions and listening to your inner voice.