You are the worst person to test your product

    I was wiring up exciting new features for my language learning platform. I spent several evenings in the code structuring the database models, writing the backend, and assembling the frontend. By the end, the interface felt obvious and intuitive. I was very proud!

    I asked a friend who had never …


    The "S" in MCP: Scrutinising the Current State of Model Context Protocol

    (Last updated 17-May-25)

    The Model Context Protocol (MCP) is rapidly emerging as a foundational technology for connecting Large Language Models (LLMs) with external tools and data sources. Hailed as the "USB-C for AI," MCP aims to standardise these interactions, making AI assistants more capable and context-aware. However, like any emerging …


    Tweaking The Value Mechanical Keyboard With QMK

    The mysterious 60% mechanical keyboard returns. I had attempted to flash the firmware of several other keyboards in the hopes of enabling more functionality, and had varying degrees of success before finally finding a method for flashing QMK.

    Since getting QMK on the keyboard, i've modified the configuration extensively for …


    How This Blog Works: Static Blogging With Pelican & Cloudflare Pages

    This blog is built using Pelican, a Python-based static site generator. It is hosted on Cloudflare Pages.

    I am lazy and prefer to have as little barrier for entry as possible when working on tech projects, especially when writing. Using Pelican allows me to write each article in Markdown syntax …


    The Value Mechanical Keyboard Revisited: Friendly Foes Foundry FFC61

    I previously wrote about a curiously cheap 60% mechanical keyboard that I procured from eBay. I had attempted to flash the firmware of several other keyboards in the hopes of enabling more functionality, and had varying degrees of success.

    After further research (read: spending several hours reverse image searching keyboard …


    Fixing a problematic SONiX-based keyboard firmware flash with SONiX Flasher

    On a quest to improve the key layout and combinations of my DK61 keyboard, I attempted to flash the stock firmware of several other SONiX-based Bluetooth keyboards - with varying success.

    If you're fortunate, the flash will be successful and most keys will work as expected. If you're less fortunate, the …


    DK61 / Hiwings HI200 / oneone nya / FEKER Machinist 01 / Gamdias Hermes E3

    I was on the market for a keyboard with a reduced footprint for my desk. After a quick, uninformed marketplace search, I purchased a cheap 60% mechanical keyboard from a China-based seller on eBay. I also bought some cheap keycaps to replace the stock "gamer" ones. The keyboard itself is …


    Parallel Desktop Automation on Windows Without Extra VMs

    UPDATE: May 2020 - UIPath have now released "Picture-in-Picture" mode as an experimental feature in UIPath 20.4 using the method detailed in this blog post. I expect that this will be picked up and integrated by other RPA vendors very soon.

    ---

    If you have ever built or supported attended Robotic …