Of all the peojects I've made over the years, not many deserve their own standing blogpost either because (a) it is too ephemeral and a thread of 512-character long microblogs is enough or (b) it is more fitting to write proper documentation for it instead (ironic when I build my blog with MkDocs). But the few that do, are here.

Projects below are sorted reverse chronologically (most recent first).


A stack of bare-copper PCBs carrying a logo

Imma hand them out at the IDKHOW show on April 5th.

blobcat PCB

Yellow PCB standing, colorful LEDs in marquee mode. Printed on PCB:
"TechJI 2023" and "owo :blobcat:"

Fun? Yes. Stupid? 100%. It has no value other than blinky blinky.


Both sides of a soldered PCB

Sequel to Bikeblinkers, and a cautionary tale of why you shouldn't overcomplicate your project.

Reflow Workshop: A Journal

Two PCBs with a cat printed on the silkscreen

My first DIY workshop, adapted from CyberSaturday: SMD for terrified beginners.

First I watched the video and taught myself. One month later, I taught two friends. Another 2 days hence, we taught 17 people. In total, 20 terrified beginners are now ex-terrified beginners.

bash workshop

Photo of workshop

My first workshop made from scratch. Well prepared tech-wise but not social-wise.


Part 1

Diagram of a simple computer

In July 2022 I enrolled in a course called nand2tetris. In part one of this course I built a computer from NAND gates and ran assembly on it. It was great fun.

Part 2.1

Diagram of a stack

A few days after Part 1 was finished, I entered Part 2. There were so many things ahead of me that I decided to split it into multiple blogposts. In Part 2.1 I learned about the stack machine and wrote a VM translator.

Part 2.2

In nand2tetris 2.2 I built a tokenizer for a simple language, Jack.


Screenshot of SIRTET mid-game

In June 2022 I made a game in C. It was my first time using ncurses. Also, I no longer fear pointers (although I'd still keep away from them).

One tøp song

Screenshot of desktop UI

On April 19, 2022, I released a web game made out of words that only appear in one twenty øne piløts song. It involves automation using curl, Python, and Unix utilities, but on top of it there's a lot of manual work. Here are the steps I took over the course of this project, from downloading the lyrics, to generating a dataset, and finally making a game.


Screenshot of Kanvas 0.1.1

In April 2022 my friend released a Canvas LMS desktop widget for the Wallpaper Engine. I feel happy for him, but I'm disappointed that I can't use it. So I went ahead and wrote my own Plasma widget (or applet, or plasmoid).


        All PCBs, soldered and unsoldered, and 3D printed case all laid out
        on the desk

In September 2021 I broke my wrist in a (fairly stupid) cycling accident. This led to a two-month-long quest for a pair of blinkers for my bicycle. I made all sorts of mistakes along the way, as I always do, and this blogpost has all that yelling-at-past-myself covered. It also covers some actual project details.

Grid of icons used on homepage

You're reading it right now!

The blogpost is on the history and design of my blog — how it came into being, what changed, and how it's going.



On April Fool's Day, 2020, I launched a mock Mastodon login page at (now defunct) that rickrolled anyone that clicked the links or buttons. It was more sophisticatedly designed than most other rickrolling attempts (it's weird to compare trolling technique, I know) in that hovering your cursor over the links doesn't immediately reveal your evil intent; the URL shown is totally legit, and it takes another round of carefully set-up nginx configs to redirect you to the classic music video.

Because of restrictions in AGPL that Mastodon is distributed under, I decided not to release the code itself but rather to write a guide on how I made it. The codeberg repo that came along was unlicensed.

As I said, this was a impulse project that's faded into the past. It is 2022 as I write this. Isn't this crazy?