FIELD LOG — Blog

Blog

Every bug, build note, and half-finished theory that made it past the daily log and into something worth reading properly.

SPECIMEN — Mistakes — collected 8 Jul 2026

The Pointer I Never Touched Was Still Undefined Behavior

I argued that a pointer nobody dereferences can't be a bug. The C standard doesn't care what you do with a pointer — only whether you were ever allowed to compute it in the first place.

cundefined-behaviorpointers
5 min readRead the full entry →
SPECIMEN — General — collected 8 Jul 2026

Why I'm Learning C Before Touching a Framework

Every framework eventually leaks its abstractions. I'd rather know what's underneath before I need it in an emergency.

cdsacareer
4 min readRead the full entry →
SPECIMEN — Mistakes — collected 5 Jul 2026

The Format Specifier That Hid My Own Bug From Me

The exercise existed to prove unsigned integers wrap around correctly. The number on screen said they didn't — and the number on screen turned out to be the only thing in the whole program that was wrong.

cunsigned-integersprintf
4 min readRead the full entry →
SPECIMEN — Mistakes — collected 2 Jul 2026

What Copying My Own Working Code Taught Me About Copying Code

My singly linked list worked, fully tested. Adapting it into a doubly linked one should have been the easy fifteen minutes of the session. I put three bugs into it instead, all from the same bad habit.

cdata-structureslinked-list
6 min readRead the full entry →
SPECIMEN — Mistakes — collected 1 Jul 2026

The Missing Parentheses That Turned My Callback Into Something Else

I wrote a function-pointer parameter, minus two parentheses. It compiled without a single complaint — because what I'd actually written was still a pointer, just one aimed at a function with the wrong return type.

cfunction-pointers
5 min readRead the full entry →
SPECIMEN — Mistakes — collected 30 Jun 2026

The Macro That Took Five Tries to Even Compile

A three-argument max macro should be a two-minute exercise. Mine took five tries just to get the preprocessor to accept it, and two more after that to get the right answer out.

cpreprocessormacros
6 min readRead the full entry →