Hello World — In Three Days!

Three days to get Hello World running.

Not because the code was hard — it’s one line of ZX Basic, or a handful of C, but because the *tools* were hard.

New IDE on a new Windows PC. GitBash vs PowerShell fighting over which GCC to use. Vitis installer hanging silently on Ubuntu because `libncurses` wasn’t in the prerequisites list. An AI agent spinning in circles looking for a build output that was right there, just in the wrong directory.

Hello World isn’t a rite of passage you do once. It’s a tool. Every new compiler, every new target, every new IDE — you prove the chain before you write the real code. Debug one thing at a time.

This one ran on a Windows PC, a Linux PC, two different embedded Linux targets with different ARM cores, and CI. Hence three days. … More Hello World — In Three Days!

README.md

README.md — Four war stories about what happens when your setup documentation is wrong, incomplete, or just quietly out of date. From a $1,200 near-miss on an IDE licence to a factory yield that fell off a cliff during someone’s PTO. Ends with a practical template for what a good README actually needs. … More README.md

Content Curation!

Content curation! How do you cope with evolutionary documents? When do you clean up old wiki pages?

Today’s update is about my switch to curation/edit mode on my website, rather than blogging, for the next few weeks. Clean up is something we all stall on doing, but for me, the time to tidy is now. … More Content Curation!

The Perfect Debug UART port

The debug UART port is a critical tool in embedded systems for testing and monitoring. It relies on a solid serial connection for reliable operation. Implementing this port using a UART for serial communications is common, but it comes with challenges like TX/RX reversal and physical fitting issues. Using best practices can help ensure a reliable and effective debug UART port. … More The Perfect Debug UART port