Skip to main content

Posts

All writing organised for quick scanning, with consistent metadata and accessible article summaries.

2026

  • Redesigning My Blog, GOV.UK Style

    I recently redesigned this blog. The visual direction came from GOV.UK Design System. I checked alphagov/govuk-frontend for implementation details, then asked codex-cli with gpt-5.4 to do most of the coding.

2025

  • A Finder Resume Copy Issue

    I hit a weird Finder copy failure the other day. This was on macOS Sequoia. The copy failed halfway, and Finder said I could resume it. I didn’t really want to trust that.

2024

  • Mesa EGL Notes

    Mesa sits in the middle of most Linux graphics stacks. On a modern desktop it is usually the layer that turns EGL calls into driver operations, talks to DRM/KMS, and connects rendering APIs to the native window system.

  • Android Photo Export Pitfall

    adb pull can mess up file timestamps when exporting photos from Android if you forget -a. adb pull -a /storage/emulated/0/DCIM ./DCIM That flag is easy to miss. It saves a lot of cleanup later.

2023

  • How KDE Plasma Badge Counts Work

    Today I logged into Telegram on KDE Plasma and noticed something hard to ignore: the badge count on the taskbar icon updates really nicely. It’s a small detail, but also very visible, because badge counts are meant to …

  • Emacs Dired Mimeicon mode

    This extension displays file and folder icons in dired mode. It uses mimetype as the displayed logo and follows the icon-theme-spec file naming convention, so you can use icon themes downloaded from the internet in your …

2022

  • A Notification Design Idea

    I recently saw the new front-screen design on the iPhone 14 pro series, which Apple calls “Dynamic island”, and that’s where I got the idea.

  • Cutefish Menu Bar Chameleon

    macOS Big Sur introduced a new top menu bar behavior: the menu bar background color adapts to the desktop wallpaper, so it feels more integrated than before.

2018

  • C++ PIMPL Pattern

    PIMPL means pointer to implementation, or private implementation. It shows up a lot in C++ projects and libraries. The basic idea is simple: keep private data and methods out of the public interface. Put the class …