A slow journal of embedded systems, hardware, and low-level craft.
Long-form writing about microcontrollers, assembly language, driver development, and the strange specific corners of hardware that most publications no longer cover.
Issue 01 · April 2026
Welcome back. We are restarting a quiet publication that used to live at this address, and we think you will find the new work familiar in spirit.
The site you are reading was, for most of two decades, the home of a small and widely used piece of Windows software. The software is gone. The URL stays. We think there is still an audience for the kind of careful technical writing the old site tried to produce, and we think that audience has been badly served by the last few years of hardware publishing.
We are going to publish slowly. We are going to publish long. We are going to publish when it is finished. If that sounds like what you were hoping existed, pour some coffee. There is a primer below.
Three places to start reading.
If you are new to the journal, these three pieces give you the shape of the thing.
Why we still write about the parallel port.
It is not the hardware that is interesting. It is the specific thinking a direct I/O port still demands of the person using it.
The weight of a single instruction.
Assembly language has not gotten easier. The questions it lets you ask about a program have not gotten less useful.
Notes from a year of firmware postmortems.
Twelve bugs. Six fixed in software. Two fixed in hardware. The rest were fixed, quietly, in the documentation.
The datasheet said the pin could sink 25 mA. The application note, published by the same company six years later, said the pin could sink 25 mA only if. The bug was in the gap between the two documents.
What a datasheet will not tell you about the MCP23017
Read the full piece8051·Z80·68HC11·PIC16F84·AVR ATmega·STM32F4·RP2040·ESP32·MSP430·Parallax Propeller·Raspberry Pi·Arduino Due·BeagleBone·MAX7219·MCP23017·DS1307·Parallel Port·USB-to-Serial·JTAG·SWD·I²C·SPI·CAN·UART·RS-232·RS-485
From the workbench, in passing.
On noise, and the difficulty of finding where it is actually coming from.
A one-afternoon investigation that turned into a two-week chase through the analog front end of a temperature logger. Notes before the formal writeup lands.
The PIC programmer that keeps refusing to die, and what that actually means.
A decade-old programmer, still in daily use, still reliable. The lesson is not nostalgia. The lesson is what made the thing well-engineered in the first place.
What we actually mean when we say “production firmware.”
A short terminology note. The difference between firmware that works and firmware that ships matters more than most engineers quietly acknowledge.
From the journal.
Recent writing. Unscheduled. Arrives when it is finished.
- 10 Best Table Tennis Paddle Cases for Travel (October 2026) Top TestedIf you have flown with a table tennis paddle before, you already know the real problem is not the paddle. It is everything around it. … Read more
- 7 Best Ball Hoppers for Pickleball Coaches (October 2026) Top TestedShort answer: the Tourna Pickleball Pickup Tube is the best ball hopper setup for most pickleball coaches, because it clears your back, feeds smoothly at … Read more
- 10 Best Hammer Drills for Brick Walls (October 2026) Top TestedShort answer: for drilling into brick walls, the DEWALT DCH273B cordless SDS rotary hammer is the strongest all-round pick, and the ENEACRO ENRH3201 corded 13 … Read more
- 10 Best Cordless Ratchets for Tight Engine Bays (October 2026) Top TestedThe hardest part of many engine bay jobs is not the bolt. It is the 40 degree slice of open space where the bolt lives, … Read more
- 12 Best Oscillating Multi Tool for Tile Removal (October 2026) Top TestedStripping grout is one of those jobs that looks like it should take twenty minutes and quietly eats an entire Saturday. The grout is harder … Read more
- 10 Best Table Saws Under $1000 (October 2026) Top ReviewedThe best table saw in this price range right now is the DEWALT DWE7491RS 10 Inch Jobsite Table Saw with Rolling Stand. It pairs a … Read more
- 10 Best Portable Table Saws for Job Sites (October 2026) Top TestedChoosing the best portable table saws for job sites comes down to five things that spec sheets barely mention: how you get power to the … Read more
- 10 Best Miter Saws Under 500 (October 2026) Top ReviewedThe DEWALT DWS715 is the best miter saw in our sub-500 line-up, and the reason is simple: a 12 inch blade running at 4500 RPM, … Read more
- 12 Best Sliding Compound Miter Saws for Crown Molding (October 2026) Top GuideCrown molding is the least forgiving cut in finish carpentry. A gap of half a degree at a ceiling corner is visible from across the … Read more
- 8 Best Reciprocating Saws for Demolition Work (October 2026) Top GuideShort answer: the best reciprocating saw for demolition is the DEWALT 20V MAX XR DCS367B if you already run 20V MAX packs, and the DEWALT … Read more
- 10 Best Jigsaws for Curved Cuts in Plywood (October 2026) Top TestedYes, you can cut plywood with a jigsaw, and a jigsaw is the right saw for curves where a circular saw or table saw would … Read more
- 9 Best Benchtop Planers for Rough Lumber (October 2026) Top GuideA benchtop thickness planer is the single machine that turns cheap rough-sawn boards into flat consistent stock, and picking the right one comes down to … Read more
- 10 Best Router Tables for Small Shops (October 2026) Top ReviewsA router table turns a handheld router into a machine tool you push wood across instead of a tool you drag through wood. That single … Read more
- 10 Best Spindle Sanders for Curved Edges (October 2026) Top TestedA spindle sander is a machine that spins a vertical, sandpaper-covered cylinder while that cylinder oscillates up and down, so you can press a workpiece … Read more
- 10 Best Impact Wrenches for Truck Lug Nuts (October 2026) Top GuideMost truck lug nuts give up to about 400 ft-lbs of breakaway torque. After a few winters of road salt and one too many “just … Read more
The catalog.
Four subjects. Every piece on the site lives under one of them.
This domain was first registered in January 2003 as the home of inpout32.dll, a Windows DLL and kernel-mode driver that gave user-level programs direct access to hardware ports on the NT line of Windows. It was written at the moment Microsoft started locking down ring-zero access, and hobbyists still needed a way to talk to the parallel port.
The software was hosted here for the better part of two decades. It was forked many times, academic papers cited it, university coursework linked to it, and every hobbyist project that needed to toggle a pin from user space eventually found its way to the original download page. It quietly became the de facto standard for hardware port access on Windows in an era that no longer exists.
The original site eventually lapsed. The domain became available.
We took the name because the work that happened here mattered, and because the URL had been pointing at a particular kind of technical writing for more than twenty years. Plain, accurate, and useful to the person on the other end of the screen. We intend to keep it pointing in the same direction.
About this journal
Written by a small group who read datasheets for fun and think the best technical writing has been getting rarer, not better. New dispatches arrive when they are finished. The archive grows as it grows.














