Engineering Notes That Still Have Something to Teach
These guides begin with real implementation problems from the Linux Heart archive: an SSH session that stopped responding, a database connection that failed, or a cache that moved the bottleneck instead of removing it.
The original experience remains part of each article. The November 2026 follow-ups explain what a reader can take from it, distinguish an observation from a general diagnosis, and point to the relevant documentation. They are documentation reviews and worked examples, not claims that the original production incidents were rerun.
PuTTY keep-alive: stopping idle connections from freezing
Find out whether an idle SSH session is being dropped, and distinguish client keepalives from server policy.
First published November 1, 2008 · Follow-up added November 14, 2026
Adding a watermark to a video with FFMPEG
Replace the old vhook command with an overlay filter, with explicit stream mapping and a separate output file.
First published May 23, 2009 · Follow-up added November 14, 2026
memcached between PHP and MySQL: a beginner’s take
Read a real early cache experiment alongside a practical checklist for keys, expiry, invalidation and measurement.
First published November 22, 2009 · Follow-up added November 14, 2026
‘Lost connection to MySQL server at ‘reading authorization packet’, system error: 0′
Start from the observed bandwidth problem, then separate TCP, handshake and authentication failures.
First published May 18, 2010 · Follow-up added November 14, 2026
Yii Framework won’t work with the database without PDO
Check PDO and the database driver in the PHP runtime that actually serves the application.
First published April 16, 2011 · Follow-up added November 14, 2026
Yii CFileCache and disk load: notes from a production incident
Follow a production disk-load investigation, with the limits of the surviving evidence made explicit.
First published June 21, 2011 · Follow-up added November 14, 2026
Reading an old debugging story
Start with the environment and symptom, then separate what was measured from what was suspected. An old package name, command or framework implementation may no longer apply. Where the original note ends with an unresolved hypothesis, the follow-up says so.
The full archive also keeps shorter historical notes and personal writing. For the current business side of building software, see the product and marketing journal.