<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Fabio Ellena — Writing</title><link href="https://fblln.github.io/articles/feed.xml" rel="self"/><link href="https://fblln.github.io/articles/"/><id>https://fblln.github.io/articles/</id><updated>2026-07-30T00:00:00Z</updated><author><name>Fabio Ellena</name></author><entry><title>Who Pays for the Pressure</title><link href="https://fblln.github.io/articles/who-pays-for-the-pressure/"/><id>https://fblln.github.io/articles/who-pays-for-the-pressure/</id><updated>2026-07-30T00:00:00Z</updated><summary>Bad API design is rarely bad taste. It is pressure correctly identified and incorrectly located — real forces from inside the implementation escaping into the contract, where every caller pays for them forever. Read through Google Cloud IoT Core, Datadog monitors, and the designs that got the same problems right.</summary></entry><entry><title>The Lookup That Saves the Handshake</title><link href="https://fblln.github.io/articles/the-lookup-that-saves-the-handshake/"/><id>https://fblln.github.io/articles/the-lookup-that-saves-the-handshake/</id><updated>2026-07-29T00:00:00Z</updated><summary>RFC 9146 adds a connection identifier to DTLS 1.2, usually summarised as NAT rebinding support. That summary hides the design: what the CID really does is move where the protocol anchors its state, from an address it never chose to an identifier it owns. Nine bytes, and a case study in deep modules and interface ownership.</summary></entry><entry><title>Risk, Complexity, and Pressure</title><link href="https://fblln.github.io/articles/risk-complexity-and-pressure/"/><id>https://fblln.github.io/articles/risk-complexity-and-pressure/</id><updated>2026-07-28T00:00:00Z</updated><summary>Architecture Must Follow Pressure sits between George Fairbanks's risk-driven architecture and John Ousterhout's philosophy of software design.</summary></entry><entry><title>Two Kilobytes and No Operating System</title><link href="https://fblln.github.io/articles/two-kilobytes-and-no-operating-system/"/><id>https://fblln.github.io/articles/two-kilobytes-and-no-operating-system/</id><updated>2026-07-25T00:00:00Z</updated><summary>Part one of a series writing Rust on an Arduino Uno R3. Before any code: what the machine actually is, why compiling for it needs two separate toolchains, and which of its failure modes the type system can catch — because on a chip with no MMU and no guard page, every safety property is either in the types or in your head.</summary></entry><entry><title>Architecture Must Follow Pressure</title><link href="https://fblln.github.io/articles/architecture-must-follow-pressure/"/><id>https://fblln.github.io/articles/architecture-must-follow-pressure/</id><updated>2026-07-19T00:00:00Z</updated><summary>Not fashion, not diagrams, not whatever book the team read last quarter. Architecture should emerge as a response to real constraints — and the sharpest of those constraints is failure. A failure-mode-driven view of software design.</summary></entry></feed>
