Teach Me, Don’t Tell Me: A Single-Page Sudoku Trainer

Last summer I let Google’s CP-SAT solver crack Sudokus in fractions of a second. Deeply satisfying. Educational? Not really. The solver learned nothing, and neither did I. It just knew. That is also my problem with every Sudoku app I have tried. You get stuck, you tap “hint”, and the app says: “Row 4, column… Read more Teach Me, Don’t Tell Me: A Single-Page Sudoku Trainer

Vibe Coding the C64: Maximum Nostalgia Under Minimal Constraints

If you ever typed LOAD “*”,8,1 without looking it up, this one’s for you.This is a small experiment in vibe coding: using HTML, JavaScript, and a bit of Antigravity to build a deliberately stripped-down C64 “emulator” that doesn’t aim for accuracy — just for maximum nostalgia. No full emulation, no perfection, just the feeling of… Read more Vibe Coding the C64: Maximum Nostalgia Under Minimal Constraints

Turning Light into Clicks

I recently hacked together a delightfully simple micro:bit app that converts ambient light into sound. Think of it as a poor man’s photodiode oscilloscope — or, more accurately, a light-controlled Geiger counter for photons. The idea is straightforward: more light → faster clicks. What the Code Does (in Human Terms) The micro:bit constantly reads the… Read more Turning Light into Clicks

Solving Sudoku with Constraint Programming

Over the past few months, I’ve shared a couple of Sudoku solvers here — some built with Dynamic Programming, others with Mixed-Integer Linear Programming (MILP). Both approaches work and are great learning exercises, but they each have their quirks when it comes to constraint formulation: This time, I wanted something cleaner — so I turned… Read more Solving Sudoku with Constraint Programming