Latest posts
- HN Skins 0.2.0Feb 28, 2026
HN Skins 0.2.0 is a minor update of HN Skins. It comes a day after its initial release in order to fine tune a few minor issues with the styles in the initial release. HN Skins is a web browser userscript that adds custom themes to Hacker News and allows you to browse HN with different visual styles. This update removes excessive vertical space below the 'reply' links, sorts the sk
- HN Skins 0.1.0Feb 28, 2026
HN Skins 0.1.0 is the initial release of HN Skins, a browser userscript that adds custom themes to Hacker News (HN). It allows you to browse HN in style with a selection of visual skins. To use HN Skins, first install a userscript manager such as Greasemonkey, Tampermonkey or Violentmonkey in your web browser. Once installed, you can install HN Skins from github.com/susam/hnskins.
- Nerd Quiz #4Feb 22, 2026
Nerd Quiz #4 is the fourth instalment of Nerd Quiz, a single page HTML application that challenges you to measure your inner geek with a brief quiz. Each question in the quiz comes from everyday moments of reading, writing, thinking, learning and exploring. This release introduces five new questions drawn from a range of topics, including computing history, graph theory and Unix. Vi
- Deep Blue: Chess vs ProgrammingFeb 15, 2026
I remember how dismayed Kasparov was after losing the 1997 match to IBM's Deep Blue, although his views on Deep Blue became more balanced with time and he accepted that we had entered a new era in which computers would outperform grandmasters at chess. Still, chess players can take comfort in the fact that chess is still played between humans. Players make their name and fame by bea
- Soju User Delete HashFeb 14, 2026
In my last post, I talked about switching from ZNC to Soju as my IRC bouncer. One thing that caught my attention while creating and deleting Soju users was that the delete command asks for a confirmation, like so: $ sudo sojuctl user delete soju To confirm user deletion, send "user delete soju 4664cd" $ sudo sojuctl user delete soju 4664cd deleted user "soju" $ sudo sqlite3 -table /var/lib
- From ZNC to SojuFeb 12, 2026
I have recently switched from ZNC to Soju as my IRC bouncer and I am already quite pleased with it. I usually run my bouncer on a Debian machine, where Soju is well packaged and runs smoothly right after installation. By contrast, the ZNC package included with Debian 13 (Trixie) and earlier fails to start after installation because of a missing configuration file. As a result, I was f
- Twenty Five Years of ComputingFeb 06, 2026
Last year, I completed 20 years in professional software development. I wanted to write a post to mark the occasion back then, but couldn't find the time. This post is my attempt to make up for that omission. In fact, I have been involved in software development for a little longer than 20 years. Although I had my first taste of computer programming as a child, it was only when I e
- Jan '26 NotesJan 29, 2026
In these monthly notes, I jot down ideas and references I encountered during the month that I did not have time to expand into their own posts. A few of these may later develop into independent posts but most of them will likely not. In any case, this format ensures that I record them here. I spent a significant part of this month studying the book Algebraic Graph Theory by Godsil a
- QuickQWERTY 1.2.1Jan 27, 2026
QuickQWERTY 1.2.1 is now available. QuickQWERTY is a web-based touch typing tutor for QWERTY keyboards that runs directly in the web browser. This release contains a minor bug fix in Unit 4.3. Unit 4.3 is a 'Control' unit that lets you practise typing partial words as well as full words. In one place in this unit, the following sequence of partial and full words occurs: l li lime
- Attention Media ≠ Social NetworksJan 20, 2026
When web-based social networks started flourishing nearly two decades ago, they were genuinely social networks. You would sign up for a popular service, follow people you knew or liked and read updates from them. When you posted something, your followers would receive your updates as well. Notifications were genuine. The little icons in the top bar would light up because someone had
- Nested Code Fences in MarkdownJan 19, 2026
Today, we will meet a spiky-haired nerd named Corey Dumm, who normally lives within Markdown code fences. We will get to know him a bit, smile with him when his fences hold and weep quietly when misfortune strikes. One of the caveats of the Markdown universe is the wide variety of Markdown implementations available. In these parallel universes, the rules of Markdown rendering diffe
- Minimal GitHub WorkflowJan 15, 2026
This is a note where I capture the various errors we receive when we create GitHub workflows that are smaller than the smallest possible workflow. I do not know why anyone would ever need this information and I doubt it will serve any purpose for me either but sometimes you just want to know things, no matter how useless they might be. This is one of the useless things I wanted to know
- Three Inverse Laws of AI and RoboticsJan 12, 2026
Introduction Contents Introduction Pitfalls Inverse Laws of Robotics Non-Anthropomorphism Non-Deference Non-Abdication of Responsibility Conclusion Pitfalls Three Laws of Robotics devised by Isaac Asimov, which recur throughout his work. These laws were designed to constrain the behaviour of robots in order to keep humans safe. As far as I know, Asimov never formulated any equivalen
- Writing First, Tooling SecondJan 10, 2026
I am a strong proponent of running independent personal websites on your own domains and publishing your writing there. Doing so keeps the web diverse and decentralised, rather than concentrating most writing and discussion inside a small number of large platforms. It gives authors long term control over their work without being subject to changing policies or incentives. I thin
- A4 Paper StoriesJan 06, 2026
I sometimes resort to a rather common measuring technique that is neither fast, nor accurate, nor recommended by any standards body and yet it hasn't failed me whenever I have had to use it. I will describe it here, though calling it a technique might be overselling it. Please do not use it for installing kitchen cabinets or anything that will stare back at you every day for the next t
- Circular Recursive Negating AcronymsJan 05, 2026
One of my favourite acronyms from the world of computing and technology is XINU. It stands for 'XINU Is Not Unix'. The delightful thing about this acronym is that XINU is also UNIX spelled backwards. For a given word W, a recursive acronym that both negates W and reverses it is possible when W has the form W = '?NI?' where each '?' denotes a letter. Some fictitious examples make
- NowJan 02, 2026
Now now page where I keep a brief record of what I am up to these days. As of 03 Jan 2026, I am: Algebraic Graph Theory by Godsil and Royle. see here). Read on website | #meta
- My Coding Adventures in 2025Dec 24, 2025
In this post, I return with a retrospective on my coding adventures, where I summarise my hobby projects and recreational programming activities from the current year. I did the last such retrospective in 2023. So I think this is a good time to do another retrospective. At the outset, I should mention that I have done less hobby computing this year than in the past few, largely bec
- Nerd Quiz #3Dec 23, 2025
Nerd Quiz #3 is the third release of Nerd Quiz, a single-page HTML application that invites you to test your nerd level through a short quiz. Each question is inspired by everyday moments of reading, writing, thinking, learning and exploring. This release introduces five new questions drawn from a range of topics, including computing history, graph theory and Unix. Visit Nerd Quiz t
- Mark V. Shaney Junior 0.2.0Dec 14, 2025
Mark V. Shaney Junior 0.2.0 is the second release of this little Markov gibberish generator. This release brings two small changes. First, it now reads the training data from standard input instead of a hardcoded file. Second, the program filename has been changed from mvs.py to mvs to reflect that it is an executable file and can be run as ./mvs on most Unix and Linux systems. T