Filter:
  • Do You Trust This Document? No, I Have to Read It First. ⚙️ technical

    The WASM sandbox puts the security boundary in the Gutenberg layer where it can be enforced structurally. The 'do not click external links' policy puts it in the Semantic layer — the user's judgment — where it degrades under pressure and fails predictably at scale. One is engineering. One is hope.
  • Ambiguity Is Not a Bug: Trust, Provenance, and the Resolver That Cried Wolf ⚙️ technical

    The resolver that presents false certainty is more dangerous than the resolver that honestly says 'I'm not sure.' WhatsApp fraud, npm hijacking, DNS propagation gaps, QR codes, SMS links — all the same problem: the Gutenberg state changed, the Semantic layer did not update, and the resolver showed no ambiguity. The user was taken for a ride.
  • Muddy Water(line)s, Shady User Experience 🌐 general

    Muddy Waters sang about power imbalance and the authentic signal buried under noise. Muddy waterlines are the same pattern in software: the Gutenberg/Semantic boundary obscured deliberately so the Use side cannot navigate. The disappearing close button. The cookie banner designed to confuse. Chrome: the user agent that became the server spy.
  • Nothing Is Confusing to Me: The Inmates Are Running the Asylum 🌐 general

    Alan Cooper's 'The Inmates Are Running the Asylum' names the failure mode precisely: the engineers who built the software are now designing the interface. Not malicious. Genuinely blind to the gap between their own mental model and the user's. Proximity creates blindness. The fix is not smarter engineers — it is exposure to actual users.
  • Every 'Where Is the Close Button?' Is a Bug 🌐 general

    Steve Krug's 'Don't Make Me Think' is the Use-Pull manifesto for interface design. Every moment of hesitation is a design failure. Every 'where is the close button?' is a bug. The interface that requires no thought is not simple — it is deeply considered, shaped entirely by the Use signal of what people actually do.
  • I Didn't See the Bore-Out Coming. Don't Ask Me to Park Cars. 🌐 general

    Bore-out is not burnout. Burnout is too much demand. Bore-out is too little meaning — the slow accumulation of capability misallocation that nobody notices until it is well advanced. Marvin the Paranoid Android had a brain the size of a planet and was assigned to park cars. The missing piece was not motivation. It was a resolver between capability and task.
  • Going to the Gemba: Getting Your Feet Wet at the Waterline 🌐 general

    The Gemba is the actual place where work happens. The sticky note next to the monitor is a bug report nobody filed. The workaround in the onboarding documentation is a design failure nobody admitted. Go to where the Use signal is generated. Watch without helping. Get your feet wet at the waterline.
  • The Complaint Department Has Been Transferred to Another Dimension 🌐 general

    Enshittification is what happens when the platform that built a clean external resolver discovers the resolver is an extractable resource. The Sirius Cybernetics Corporation's complaint department was the first to be transferred to another dimension. Google, Amazon, Apple, and Meta are following the same arc. The structural fix is always the same: open resolvers, portability, and competition.
  • Gutenberg: Your Next Phone Will Be a Different Make on a Different Carrier. Your Number Is Still Yours. 🌐 general

    Your phone number survived every phone you have ever owned and every carrier you have ever used. That is not an accident — it is an external resolver. The mechanism that lets the Gutenberg layer change while the semantic layer stays yours. And it is the model for everything else that should work this way but doesn't yet.
  • 31 Days, One Framework, One Conversation 🌐 general

    A one-month reflection on how a morning coffee question about ESLint configs became 30 posts on software architecture, deployment practice, and why the user does not sux. What the process itself demonstrated about the framework it produced.
  • Don't Go Down With Your Iceberg 🌐 general

    The iceberg moves. Moore's Law moves the Gutenberg layer every few years. The 10% overhead of keeping the waterline clean is what lets you steer. The architect who collapsed the waterline cannot move at all — they go down with the iceberg they optimised for.
  • Famous Last Words: 640K, 65536, and the Ceiling You Are Drawing Right Now ⚙️ technical

    Moore's Law doubles the Gutenberg layer every two years. The waterline overhead stays at 10%. Every generation draws a ceiling at the Gutenberg layer and forgets the semantic layer keeps growing. 640K. 65536 code points. Whatever you just said will be enough.
  • After 25 Years SQL Still Wins: Tweaking Queries After the Architect Has Left ⚙️ technical

    Hadoop, NoSQL, ORMs, object databases — all promised to improve on or replace SQL. All lost. SQL survived because the separation between what you ask (semantic) and how it executes (Gutenberg) was correct from the start. And the DBA tweaking queries five years after the architect left is the proof.
  • Revisiting the Waterline: Small Fixes, Five Years Later 🌐 general

    The waterline between your code and the platform it runs on shifts slowly. You do not notice until something degrades. A small fix, five years later, at exactly the right layer, can recover years of lost performance — if the layers were kept separate in the first place.
  • The Brick That Sticks Out: Why {} Beats Indentation 🌐 general

    Scanning for landmarks is O(1). Taking measurements is O(n). The curly brace is the brick that sticks out of the wall. Significant whitespace makes every brick flush — and hides the loose one until brick 98.
  • Hiding the Waterline Makes You Drown Without Knowing Why 🌐 general

    Making the technical layer invisible feels like good UX. It isn't. When the seam disappears, the semantic layer has to carry both jobs — and when something breaks, there is nothing to inspect. Legibility at the waterline is a feature, not a leak.
  • Deprecation Considered Harmful ⚙️ technical

    Deprecation is only warranted for security reasons. Old stars fade — you do not outlaw them. Python 3, .mjs, and UTF-16 are what happens when the future expert is arrogant about the past. Dijkstra deprecated goto correctly. The dual-track strategy is how you move fast without breaking things.
  • Working on the Same Page ⚙️ technical

    The web stack spent thirty years building clean Def-Use seams between HTML, CSS, JS, and HTTP. ES modules, CSS custom properties, and OpenAPI are what made specialist crafts possible. CSS-in-JS was a regression.
  • The Postman Reads the Envelope, Not the Letter: How Gutenberg 2.1 Bounds Complexity ⚙️ technical

    Gutenberg 2.1 did not fix the page size — it standardised the range. 512 to 4096 bytes, powers of two, comparable by design. The postman stays fast because the envelope is simple. Deep packet inspection, XML namespaces, and SOAP are what happens when you make the postman read the letter.
  • The Postman Reads the Envelope, Not the Letter 🌐 general

    Why a bigger page never scales but turning it over does. Books, envelopes, and UTF-8 explained through the separation that Gutenberg got right in 1450.
  • Your Lights Don't Know Your Name: Bluetooth, Matter, and the Semantic Web That Wasn't ⚙️ technical

    Your lights do not know your name. Bluetooth PINs, Matter fabrics, and RDF triples all push Gutenberg identifiers across the boundary.
  • Ten Users Saying It Sux Means It Sux: Population Scaling and the Def-Push Distortion 🌐 general

    90 percent reasonable, less than 10 percent jerks, less than 1 percent saints. Ten independent users saying the same thing is a bug report.
  • Worse Is Better Because the Gap Is Where Evolution Happens ⚙️ technical

    Gabriel was right that worse beat better. The semantic gap is where evolution happens. Lisp machines, RISC/CISC, C++ versus C and Rust.
  • The Compiler That Knew Where It Was: SNR in Intermediate Representations 🔬 deep dive

    A 1988 Atari ST compiler that beat hand-coded assembly by keeping source structure intact. LLVM IR as a newspaper without headlines.
  • Moore's Law as an Architectural Principle ⚙️ technical

    Accept the 10% abstraction overhead. Collect the 2x improvement every few years for free. Portability is a basket option on unknown future hardware.
  • Competition Is Use-Pull. Monopoly Is Def-Push. Government Is Both. 🌐 general

    Competition transmits the Use signal. Monopoly suppresses it. Government has no exit by definition. Lidl kept the supermarket honest.
  • Why IPv6's Def-Push Failed: NAT Was Not a Hack ⚙️ technical

    IPv6 tried to eliminate NAT as an ugly hack. NAT was load-bearing. Chesterton's Fence and Conway's Law explain why removing it failed.
  • UUIDs Are Not Names 🌐 general

    UUIDs belong in databases, not conversations. DNS solved this in 1983. Mum and Mrs Kervel are the same Gutenberg address seen through different semantic contexts.
  • The Boundary Has a Lifecycle: From Unix Portability to WebAssembly ⚙️ technical

    Boundaries form, stabilise, drift, break, and reset. Unix to POSIX to Android Mainline to WASM. gRPC is CORBA in a hoodie.
  • Your Email Address Is Hostage. It Does Not Have to Be. 🌐 general

    Your email address is tied to someone else's domain. Own your domain, make the carrier replaceable. XS4All, Gmail, and enshittification.
  • Your Music Survived Six Formats. Why Did Your Bank Account Number Stay Behind? 🌐 general

    Your music survived six formats. Your bank account number has not moved since you opened the account. Why the difference matters.
  • Exceptions, Result/Option, and HTTP: Error Handling as Def-Use ⚙️ technical

    Exceptions are Def-push error handling. Result/Option and HTTP status codes are Use-pull. Thirty years of the Use signal delivering its verdict.
  • DuckDB: The Gutenberg/Semantic Model Done Right ⚙️ technical

    DuckDB separates storage from SQL cleanly. Parquet on S3, Excel, CSV all queryable with the same SQL. The dual-track strategy done right.
  • YAML, JSON, and the Config File That Fights Back ⚙️ technical

    YAML significant whitespace is an O(n) boundary problem. JSON was designed for machines, forced on humans. JSON5 and TOML fix the Use complaints.
  • The Linux Paradox: A Gutenberg Kernel and a Semantic Desktop ⚙️ technical

    The kernel is Use-pull because hardware is an unambiguous oracle. The desktop is Def-push because taste is not. Android shows what Linux desktop could have been.
  • Sonos, Intel, and Apple: When the Tribe Breaks the Product 🌐 general

    Sonos broke the semantic layer while the hardware was perfect. Intel's fabs fell behind. Apple switched processors three times by separating the layers cleanly.
  • CarPlay, Nokia, and the Certification Tribe 🌐 general

    Certification as the tribal weapon. Nokia, BlackBerry, and car infotainment all kept users locked in by owning the certification process.
  • MDI versus Tabs: Why Microsoft Kept Getting It Wrong 🌐 general

    MDI window management as a tribal Def defended for twenty years while tabs won everywhere else.
  • Def-Use, Lean Pull, and Why the User Does Not Sux 🌐 general

    Authors define, users interpret. The gap between them is where waste lives. Lean Pull, the Train-ing problem, and why the user does not sux.
  • The Gutenberg/Semantic Model 🌐 general

    Every information system operates on two parallel layers: physical/positional (Gutenberg) and logical/meaningful (Semantic). The foundational framework for the series.