Update (April 5, 2026, ~09:40 CEST): The BSI has fixed the issue. The server now sends a cross-signed certificate for D-TRUST BR Root CA 2 2023, issued by D-TRUST Root Class 3 CA 2 2009 (which Apple trusts). The leaf certificate is unchanged – they added a bridge cert to the chain. Safari and /usr/bin/curl on macOS now verify successfully. The cross-signed certificate is byte-for-byte…
I’ve spent the last few months living inside the rapidly expanding universe of AI coding agents. Not just reading about them - actually running them, breaking them, watching them break things, and occasionally being genuinely impressed by what fell out the other end. What struck me isn’t the capability differences between tools. It’s that these systems have personalities . Not in…
Just over a week ago I wrote about why I built OCI Image Explorer . The first version was a Go backend with a single embedded HTML file. Enter an image, see its layers, referrers, graph. It worked. Then I kept using it and kept finding things that were missing. 10 releases across two weekends. The 1,757-line inline JavaScript frontend is now a Svelte 5 SPA with TypeScript and Tailwind CSS 4 .…
“Can you confirm that our production container images have valid SBOMs, signatures, and attestations?” Should have been routine. Quick check, thumbs up, move on. Instead I spent the next hour copying digests between terminal windows, mentally mapping relationships between image indexes and their referrers, and wondering why verifying a container’s supply chain felt like…
When I first started experimenting with AI-assisted development — and was listening to the echo chamber of how “AI will replace human developers soon” — I couldn’t quite agree with the hype, but I also couldn’t fully explain why. In some projects, AI worked brilliantly . It felt like a very knowledgeable (if slightly unimaginative) assistant — quick to refactor, eager to…
Part 5: Feedback Loops Beyond Boundaries – When Customers Are in the Loop Link to heading Feedback Doesn’t Stop at the Org Chart Link to heading Up to now, we’ve talked about feedback loops inside the walls of your startup: devs to PMs, QA to engineers, logs to on-call. But sometimes the most powerful loops are the ones that extend across business boundaries—when your systems proactively surface…
Part 4: Measure, Improve, Repeat – Using Golden Signals and DORA Metrics to Drive Growth Link to heading From Gut Feel to Data-Driven Improvement Link to heading In the whirlwind of startup life, it’s easy to judge your engineering performance by gut feel: “We’re deploying pretty fast, right? Our quality seems okay, I think.” But as we grew from 5 to 50 engineers, we realized that what gets…
Part 3: When Production Speaks, Listen – Structured Logging for Rapid Debugging Link to heading Structured logs (in a searchable JSON-like format) turn your production into a story you can read. Each line of green text here is packed with context – making it easy to trace what happened and why. 2 AM on a Saturday – The Nightmare Scenario Link to heading The scene: It’s late Saturday night, and…
Part 2: Preview Environments – Early Feedback, No Surprises Link to heading Spinning up a full preview environment for every feature branch gives teams a crystal ball – see into the future of a release before it hits production. The Waiting Game Between Dev and Prod Link to heading Fast forward a few months: our startup’s user base is growing, and so is our team. We now have a salesperson eager to…
Startups live and die by how quickly they can ship and how reliably they can execute. In this five-part series, we’ll journey through the key feedback loops that help a software team move fast without breaking things. Expect relatable stories from the startup trenches and practical techniques using a sample app (TypeScript/Node.js backend, React frontend, Kubernetes infrastructure). Each feedback…
Businesses as Layered Feedback Systems Link to heading Think of your SaaS business not as a rigid hierarchy, but as a layered system of ongoing conversations and feedback cycles. Every part of the company – product, design, sales, leadership, team culture – performs its own feedback loop, and these loops link together into larger loops. The speed and quality of each loop’s operation determine…
Hello! Welcome to “Echoes from the Shell” , my personal blog about building great software products and the infrastructure plumbing it takes to get there. I’m Hanno, a product engineer at heart who somehow keeps ending up deep in cloud architecture and DevSecOps. What I Do Link to heading I love building products that feel right the moment you use them. But over a decade in tech has…