WRITING ARCHIVE
2026
266 published posts.
- Your Caddy Admin API Is a Deployment Interface - Treat It Like Rootwriting
- A Strong Radio Signal Does Not Guarantee Good Communicationwriting
- How Tailscale Keeps My Home Server Reachable When the Operator Machine Changeswriting
- GDEY029T71H vs GDEY029T94 Was Not a Cosmetic Part-Number Detailwriting
- Production Changes Need a Story You Can Reconstructwriting
- Wish You Were Here — Presence, Absence, and the Person Missing From the Roommusic
- Repetition as Satiremusic
- Ego Brain — Love, Ego, and the Stories the Mind Builds Around Attachmentmusic
- Where the search space Analogy Breaksperspectives
- The Cell Through a Systems Architect's Eyesperspectives
- A Tinny Speaker Is Not Automatically a Codec Problemwriting
- IMS Stopped Looking Like a PBX Once I Split P-CSCF, I-CSCF and S-CSCFwriting
- Pin Maps Belong in the Bring-Up Evidencewriting
- Why Caddy Gives 502 When the Backend Works Fine by IPwriting
- Local DNS Failure Can Look Like a Dead Serverwriting
- Pinned Image Digests Turn a Container Tag into a Reproducible Dependencywriting
- Disk Usage Alerts Need Warning and Critical Bandswriting
- The Philosophical Problem Hidden Inside Networksperspectives
- ES8311 and ES7210 Split the Audio Problem in Twowriting
- Measure What the Operator or User Actually Cares Aboutwriting
- Clocked Playout Beats Packet-Driven Audiowriting
- How Far Does Calling Music a Signal Get Us?music
- A Tinny Speaker Is Not Automatically an ES8311 Problemwriting
- Ten Kilometres Starts with a Link Budget, Not Maximum TX Powerwriting
- Human Identity and Workload Identity Should Not Share an Auth Methodwriting
- Weather Models and Field Observations Are Different Kinds of Datawriting
- How We Learned to See Languageperspectives
- Dead Synthetic Targets Should Be Removed, Not Hiddenwriting
- Why UDP Arrival Should Not Be the Speaker Clockwriting
- Why “Up” Is One of the Weakest Signals in Productionwriting
- IP Addresses Belong in Log Content More Often Than Labelswriting
- The Voiceware Service Template: Small YAML, Big Responsibilityperspectives
- What a Switch Actually Learns from a MAC Addresswriting
- Pow R. Toc H. — What Happens When Sound Arrives Before Meaningmusic
- First Boot After OTA Is Still a Transactionwriting
- Lost in Hollywood — The Dream That Eats the Dreamermusic
- Removing the Downlink Suppressor Improved the Stable Buildwriting
- Putting a PBX in Docker Did Not Remove the Networkingwriting
- Der Voghormia — Grief, Ritual, and Memory Without a Conventional Rock Endingmusic
- STABLE Requires Evidence from ACTIVE Deviceswriting
- Separate Codec Bring-Up from Acoustic Tuningwriting
- Run Like Hell — Fear Turned Into Command and Momentummusic
- Two-Device Local Calling Is the Fastest Telephony Sanity Checkwriting
- Mudmen — Instrumental Weight Without a Verbal Storymusic
- Device Provisioning Is an Identity Problem Disguised as Wi-Fi Setupwriting
- Jugband Blues — When Self-Awareness Turns Into Distancemusic
- Science — Reason, Spirit, and the Problem of Treating One as the Enemy of the Othermusic
- A Docker Healthcheck Must Test the Dependency You Actually Needwriting
- SIP Load Balancing Became an Architecture Problem, Not a Proxy Rulewriting
- SQN Sync in IMS AKA Was the Authentication Detail I Kept Missingwriting
- My First Asterisk Lab Was Mostly a Networking Labwriting
- Two OpenBao Services on One Host Are Still Not High Availabilitywriting
- Kamailio Diameter Integration Exposed the Limits of Reusing SIP Assumptionswriting
- The Ignored zconf.h Incident Was a Release-Provenance Failurewriting
- The Philosophical Problem Hidden Inside Consciousnessperspectives
- Block I/O per Container Exposes Noisy Neighborswriting
- Spiders — Surveillance, Thought, and the Feeling of Being Watchedmusic
- Label Freedom Comes With a Time-Series Costwriting
- When Downlink Suppression Makes Speech Worsewriting
- USB-C Charging Is Not a Factory Debug Strategywriting
- One RGB LED Is Enough When Its States Are Designedwriting
- Bounce — Juvenile Energy Used as Deliberate Excessmusic
- Why publish technical notes as an onion service?writing
- Why Subnetting Felt Hard Until I Stopped Memorizing Tableswriting
- Speak to Me — Beginning With the Evidence of a Life Already in Motionmusic
- Innervision — Searching Inward Without Pretending the Answer Is Simplemusic
- Monitoring Secrets Without Monitoring Secret Valueswriting
- AEC Starts with the Correct Far-End Referencewriting
- Information and Meaning Are Not the Same Measurementperspectives
- Thermals on a 2014 Mac mini Are a Production Signalwriting
- Networks Through a Systems Architect's Eyesperspectives
- Why Observability Workloads Keep Ending Up in ClickHouseperspectives
- Programming Can Start With a Communication Systemwriting
- Contact Authorization Belongs to Backend Policy, Not Dialing Logicwriting
- Using Tailscale as the IP Underlay for Reticulumwriting
- What Complexity Really Isperspectives
- Secure ESP32 OTA Is a Chain of Trust, Not an HTTPS Downloadperspectives
- Redis RDB vs AOF Is Really an RPO Decisionwriting
- What Time Really Isperspectives
- A Known-Good Binary Is a Release Asset, Not a Temporary Buildwriting
- Why the Firmware Has to Stay PBX-Agnosticwriting
- IfNotPresent Can Hide Image Changes During Testingperspectives
- Wi-Fi CSI Looked Like a Sensor Hidden Inside the Radiowriting
- Failure Isolation in a Voice Platform Is a Product Featureperspectives
- Comfortably Numb — Sometimes You Discover a Song After You Have Heard Itmusic
- Warning and Critical Are Different Response Contractswriting
- Internal CA Trust Is an Operator Onboarding Problemwriting
- U-Fig — Crowds, Ideology, and the Violence of Simplifying Peoplemusic
- Sticky Heartbeat Results Must Not Rewrite a New OTA Assignmentwriting
- A Fresh Backup Can Still Be Corruptwriting
- Why I Prefer a Separate Edge Layer Over Hiding Routing in the Appperspectives
- The Philosophical Problem Hidden Inside Mathematicsperspectives
- Aerials — Identity, Ego, and the Freedom of Letting the Self Become Smallermusic
- Self-Hosted ntfy Removed an External Delivery Dependencywriting
- The Default Route Is a Fact, Not a UI Guesswriting
- The TOTP QR Code Is a Secret-Enrollment Ceremonywriting
- Rollback in GitOps Is Simple Only When Releases Are Identifiableperspectives
- terraform show -json Is an Automation Interface With a Security Footgunwriting
- Back Up and Define Rollback Before You Touch Productionwriting
- Automation Needs a Permission Modelwriting
- Roulette — Intimacy Made More Unstable by Restraintmusic
- Waiting Sessions Tell Me More Than CPU During Database Contentionwriting
- Firing, Pending and Rule Count Tell Different Alerting Storieswriting
- The Best Postmortem Output Is a New Invariantwriting
- An Operations Portal Should Not Become a Web Terminalwriting
- Evolution Through a Systems Architect's Eyesperspectives
- My First Kamailio Lab Changed How I Thought About a SIP Serverwriting
- How We Learned to See Multicellularityperspectives
- Jitter Buffer Depth Is a Latency Budgetwriting
- Critical systemd Units Need Their Own Health Signalwriting
- GTP-C and GTP-U Finally Separated Control from Subscriber Trafficwriting
- Matilda Mother — How Childhood Stories Become Private Worldsmusic
- Ingress Telemetry Is a Boundary You Must Testwriting
- Deer Dance — Power, Protest, and the Distance Between Order and Violencemusic
- Why I Later Exposed Voiceware on NodePort 30080perspectives
- Ecosystems Through a Systems Architect's Eyesperspectives
- How We Learned to See Feedbackperspectives
- Same Place, Different Coordinatesperspectives
- Money — When Value Becomes a Language for Everythingmusic
- Via, Contact and NAT: Three SIP Addresses I Kept Mixing Upwriting
- Container Running, Healthy and Useful Are Three Different Stateswriting
- 36 — A Fragment That Refuses the Expectation of a Full Songmusic
- Linux PSI Changed How I Think About Saturationwriting
- mDNS and Tailscale Fail in Different Wayswriting
- The Philosophical Problem Hidden Inside Gene Regulationperspectives
- Culture Shows Up in the Default Pathwriting
- How cAdvisor Became One of My Largest Workloadswriting
- DFM Means Alignment Cannot Depend on Human Guessworkwriting
- Flaming — Imagination Before It Learns to Behavemusic
- A Green Dashboard Can Hide a Dead Data Pipelinewriting
- Evolution Does Not Have a Product Roadmapperspectives
- The RTP Port Range Is Part of the Deployment Contractwriting
- Monitoring Redirects Can Create False Green Probeswriting
- Terraform sensitive Does Not Mean Secretwriting
- One Microphone or Two Is a System Decisionwriting
- Factory Programming Should Produce Traceable Device Identitywriting
- Presence Detection Needs Repetition, Not Just a Good Demowriting
- Unused AXP2101 Rails Should Be Explicitly Disabledwriting
- How We Learned to See Causalityperspectives
- RTPEngine Failure Reasons Are Better Than One Failure Totalwriting
- Process Health and Protocol Health Are Different in VoIPwriting
- The ESP32-C6 Bridge Was a Transport Tool, Not the Radio Nodewriting
- SSH Access Is Infrastructure, Not a Deployment Stepwriting
- Laptop-to-Desktop Failover Needs Agent State, Not Hopewriting
- Signed Dual-Slot OTA Needed an Acceptance State, Not Just a Boot Flagwriting
- A Sealed Secret Server Can Be Secure and Still Be Downwriting
- My First Packet Tracer Lab: Two PCs, One Switch, No Magicwriting
- Killing sngrep Was Not Enough: Finding the Orphan Process Behind 80 ms Burstswriting
- From Demo-Ready Audio to Production Acceptancewriting
- Combining an RNode LoRa Link and a Tailscale TCP Link in One Reticulum Systemwriting
- Holy Mountains — Historical Memory, Sacred Geography, and the Refusal to Forgetmusic
- Rollback Is a Product Feature, Not a Bootloader Detailwriting
- How We Learned to See Memoryperspectives
- Jitter Buffers Are a Trade Between Missing Audio and Late Audiowriting
- How I Would Separate Dev, Staging, and Production Nextperspectives
- Waiting for the Worms — How Authoritarian Thinking Grows Inside Isolationmusic
- Human SSO and Machine Authentication Should Not Share One Gatewriting
- AEC Reference Is the Far-End Signal, Not Another Microphonewriting
- The Trial — Putting the Self on Trial Using Every Voice Already Inside Itmusic
- Keep Device Firmware PBX-Agnosticwriting
- V126 to V127: What 68.201 ms to 0.457 ms Actually Provedwriting
- When You're In — Momentum as a Form of Presencemusic
- Exit Node or Subnet Router? I Choose Based on Which Traffic Must Movewriting
- What Information Really Isperspectives
- What The Microbiome Really Isperspectives
- One Ingress Is Easier to Reason About Than Threewriting
- Why Green Dashboards Can Still Liewriting
- San Tropez — Leisure as a Temporary Alternative Realitymusic
- Kill Rock 'N Roll — Guilt Made Absurd Without Becoming Meaninglessmusic
- Dashboards Should Follow Troubleshooting Workflowswriting
- What Entropy Really Isperspectives
- My First SIPp Load Test Was Mostly About Defining a Useful Scenariowriting
- Mind — The Violence of Losing Control Over Your Own Thinkingmusic
- Production Acceptance Requires Live Evidence, Not Code Review Alonewriting
- Where the control loop Analogy Breaksperspectives
- Reconcile: Returning Again and Again to the Gap Between Intent and Realityperspectives
- How We Learned to See Evolutionperspectives
- Why the First Voiceware Web Service Used ClusterIPperspectives
- Inode Exhaustion Can Break a Filesystem with Free Gigabyteswriting
- Prometheus Labels Are Part of the APIwriting
- Wi-Fi Provisioning Is the First Real Device-Onboarding Boundarywriting
- Calibration Defines Zero; Detection Measures Deviationwriting
- Memory Through a Systems Architect's Eyesperspectives
- The Rotary Encoder Datasheet and the Desired Feel Disagreedwriting
- Operations Feedback Should Reach Designwriting
- Grouping and Inhibition Stop One Failure Becoming Twenty Pageswriting
- Health Probes Should Not Follow Redirects Blindlywriting
- Latency-Sensitive Work and Batch Work Should Not Share Every Knobperspectives
- Anchoring RTP with rtpengine Solved a Different Problem Than SIP Routingwriting
- Remote Terminal States Should Stop Re-Publishing Logicwriting
- Shine On You Crazy Diamond (Parts 6-9) — Returning to an Absence Without Solving Itmusic
- Separate Raw Sensor Data from Interpreted Statewriting
- Several Species of Small Furry Animals Gathered Together in a Cave and Grooving with a Pict — When Experiment Becomes Its Own Jokemusic
- Desired and Observed State Should Never Share a Fieldwriting
- The Gold It's in the... — The Fantasy That the Next Place Will Solve the Presentmusic
- Crying Song — Sadness Without the Need to Escalatemusic
- Spanning Tree Stopped Looking Weird Once I Built a Loop on Purposewriting
- Git, Runtime State and Secrets Need Different Jobswriting
- Tailscale Connectivity and Tailscale SSH Are Different Permissionswriting
- Preserve Working Audio Before Adding Product Featureswriting
- I2S Clocking Is the Backbone of the LOUP Audio Pathwriting
- A Network Map Should Show Boundaries Before Serviceswriting
- Clock Synchronization Is a Monitoring Dependencywriting
- I2S Auto-Clear Prevented Old Samples from Becoming New Noisewriting
- When I Would Replace NodePort With Ingress or a Load Balancerperspectives
- Active Call UI Should Show State Without Competing with the Conversationwriting
- Why the Backend and PBX Need an Adapter Boundarywriting
- Know — When Certainty Becomes a Performancemusic
- Terraform Policy Is Not Just Sentinel Rewritten in HCLwriting
- Restore Verification Is the Most Important Backup Metric I Havewriting
- Git Became Part of the Voiceware Control Planeperspectives
- Errors Reveal the Assumptions We Forgot We Madeperspectives
- How We Learned to See Metabolismperspectives
- How We Learned to See DNAperspectives
- Have a Cigar — Success as Something Other People Learn to Monetizemusic
- Why I Started Saving Packet Captures with the Incident Noteswriting
- Encoding Nature in Binary Does Not Make Nature Binaryperspectives
- Content Is Not the Same Thing as Delivery Statewriting
- ADC Resolution Is Not Measurement Accuracyperspectives
- Multi-Window Burn-Rate Alerts on a Tiny Self-Hosted Stackwriting
- Kamailio Transactions: Why Stateful Forwarding Changed My SIP Debuggingwriting
- Where the nervous system of civilization Analogy Breaksperspectives
- V132A Became Golden Because It Was Reproducible in Binary and Sourcewriting
- The Philosophical Problem Hidden Inside Communication Technologyperspectives
- SF, Bandwidth and Coding Rate Are a Three-Way Tradewriting
- Where the factory Analogy Breaksperspectives
- How We Learned to See Entropyperspectives
- My GitOps Debugging Order When ArgoCD Says Something Is Wrongperspectives
- QCI 5 for IMS Signalling and QCI 1 for Voice Made QoS Concretewriting
- Kernel OOM Logs Are the Ground Truth for Host Memory Killswriting
- Compatibility Metadata Is Release Policy, Not Tribal Knowledgewriting
- Volume Reference Counts Help Detect Orphaned Docker Statewriting
- Proxy Retries Can Save a GET and Duplicate a POSTwriting
- Network Reliability Starts by Naming the Failure Domainwriting
- SIP Registration Success Does Not Mean Calls Will Workwriting
- Status Heartbeats Need Identity, Version and Health Contextwriting
- The Observability Dashboard That Watches the Observability Stackwriting
- DNS Is a Production Dependency, Not Plumbingwriting
- Pigs on the Wing, Part 2 — Love as the Small Thing That Makes the Larger World Bearablemusic
- Soldier Side — The Human Cost Waiting at the End of the Double Albummusic
- Reconciling Concurrent Git Changes Without Force Pushwriting
- V117 Taught Me to Revert a Bad Audio Architecture Quicklywriting
- OTA Required Is a Policy State, Not Just a Notificationwriting
- Partition, Bootloader and Security Changes Are Not Normal App OTAwriting
- RTP Playout Got Better When I Stopped Letting Packet Arrival Drive the Speakerwriting
- A LAN TCP Server and a LoRa Interface Solve Different Reachability Problemswriting
- Why Distortion Does Not Erase Melodymusic
- Main Theme — How Instrumental Music Creates Place Without Naming Itmusic
- Device Enrollment and Heartbeat Are Different Eventswriting
- The Future Reader of Your Code Is a User Tooperspectives
- Certificate Expiry Is an Availability Signalwriting
- Heartbeat Is Observation, Not Enrollmentwriting
- Schema Migration Policy Belongs in the OTA Safety Modelwriting
- Publisher Retries Need Idempotency or They Create Duplicate Postswriting
- Toxicity — Precision Without Losing Chaosmusic
- A Saved Terraform Plan Is a Deployment Artifact, Not Just Pretty Diff Outputwriting
- Humor as a Delivery System for Angermusic
- Monitoring SIP Is Not Monitoring RTPwriting
- PSI Made Short Resource Spikes Easier to Interpretwriting
- The Production Hardening Pass I Would Apply to Voicewareperspectives
- Why V116–V131 Did Not Automatically Replace V115writing
- Why docker.io/library/voiceware-web-app Is More Explicit Than voiceware-web-appperspectives
- Scaling from a Lab Pair to a Reticulum Mesh Changes the Acceptance Testwriting
- Turning SSH Failures into a Production Security Signalwriting
- Where the graph Analogy Breaksperspectives
- ArgoCD Green Does Not Mean Voiceware Is Healthyperspectives