Field Notes
Real incidents on a real web server and VPS, written up as blameless postmortems, and hands-on projects with real hardware: what happened, how it was solved, and what it taught.
9 notes
About these notes
The rest of this site explains how things are supposed to work. These notes are about what happens when they do not: a security release with a deadline, a protection that silently did nothing, a server nobody had updated in months. Each one is written up the way a team writes up an incident, as described in Postmortems: a short summary, a timeline, the cause, what was done, how the fix was checked, and what changed afterwards.
Next to the incidents are notes about hands-on projects, such as building a pen plotter: what it took, what went wrong, and what I would tell someone starting out.
The commands and output are real, with one change: host names, IP
addresses and file paths that could identify the server are replaced
by example values such as example.org and
203.0.113.10, an address reserved for documentation. A
note is only published once the problem it describes is fixed.
Notes
- 09Plotting a Map: OpenStreetMap Data on a Pen PlotterDrawing with data instead of chance: a vsketch sketch that downloads a neighborhood from OpenStreetMap and turns its buildings, water, parks and tram tracks into lines at a fixed scale, and the step-by-step route from that map to the LY Drawbot.
- 08Turtle Graphics on a Pen Plotter: Keeping the Pen DownThe turtle's commands are almost a plotter's commands: a small Python class that turns turtle programs into an SVG in millimeters, why a tree that looks right on screen draws every line twice on paper, and a curve drawn as one unbroken line.
- 07Turtle Graphics: Drawing from the Turtle's Point of ViewGo forward, turn left: what turtle graphics is, how a robot on a classroom floor grew out of the Logo language, why it helps to play turtle yourself, and first drawings with Python, from a square to spirals and a recursive tree.
- 06The Forgotten Port Forward: When “Local Only” Was NotA routine Node.js upgrade turned up an old port forward that exposed a development server with a known PHP flaw to the internet: how it was found by testing from outside, closed and checked for damage, and what it taught.
- 05Paper.js: Hidden Lines and Hatching for a Pen PlotterA vector library that remembers every shape: what Paper.js is, why cutting shapes is the plotter's way to show depth, and overlapping hatched circles that come out in millimeters, ready for the LY Drawbot.
- 04p5.js: Drawing for a Pen Plotter in the BrowserGenerative drawings in JavaScript: what p5.js is, how to start with nothing more than a browser, saving lines instead of pixels, and a flow field that comes out in millimeters, ready for the LY Drawbot.
- 03vsketch: Drawing for a Pen Plotter with PythonGenerating plotter drawings with code: a first vsketch sketch, what finalizing does for the plot, and the step-by-step route from a sketch to the LY Drawbot, including the conversion from pixels to millimeters.
- 02LY Drawbot: Building a Pen Plotter and Making a First PlotWhat a pen plotter is and what it is not, assembling a low-cost A4 kit, the chain from drawing to G-code to moving pen, and the small things that decide whether a first plot works.
- 01php2shell: Patching a Critical PHP FlawTwo leaked remote code execution flaws in PHP, getting a VPS ready to receive the fix, taking PHP offline behind a clean maintenance page, and installing the patch the moment it landed.