Your README lies. So I built a bot that opens a docs PR every time you merge.
The README lies. Not on purpose. It was true the day someone wrote it. Then the function got renamed, the flag got removed, the env var changed, the e…
Latest Web news from Tech News
The README lies. Not on purpose. It was true the day someone wrote it. Then the function got renamed, the flag got removed, the env var changed, the e…
Every team has that Confluence page. The one that was carefully written to explain what the service does, what the API looks like, what each DB column…
Last week, I watched a senior dev spend 45 minutes just trying to figure out if an API endpoint was deprecated or not. He had to dig through Slack thr…
A broken doc still renders. That is the whole reason documentation rot is so dangerous. The page looks fine right up to the moment someone clicks the …
I just shipped a 12-part video series on cloud economics - depreciation schedules, lock-in, licensing disputes, bundling cases. The kind of material w…
Somewhere in your organization, there's an architecture diagram that's wrong. Maybe it shows a microservice that was merged into another six months ag…
Most database diagram tools stop at documentation. They connect to your database, inspect the schema, and generate a report or a picture. That is usef…
"Wait: How many Terraform repos do we actually have? And what's in them?" If that question makes you wince, this post is for you. It started as a bori…
Your docs live next to your code. That's the docs-as-code promise — version control, pull request reviews, CI/CD pipelines. It works beautifully. Unti…
Every developer hits this wall eventually. You know you should document your code. You've heard the lectures. But then you're staring at your project …
For context: in the previous piece , I worked through a five-dimension review framework for documentation, covering clarity, readability, style, compl…
"If you don't document it, the next person inherits your confusion—and that next person is often you, six months later, in a different city, wondering…
TL;DR If your README diagrams look like every other open-source repo's, that's because they all use the same four defaults. Switching to theme: 'base'…
Two files, one discipline, and a measured 10-13% of my Claude Code budget. A while back, mid-session with Claude Code, I typed a pushback in the kind …
There was this consideration to replace OpenLDAP with FreeIPA in the university authentication infrastructure. The main motivation for this was to imp…
AI coding agents are getting good at changing code. That creates a new problem. The code changes, but the repository often stops telling the truth. Th…
Building ARCHITECTURE.md Files That Prevent AI From Making Silent Architectural Decisions A few weeks into our experiment with an AI coding assistant,…
In my last piece , I wrote about how AI changed my work as a technical writer. I closed with a line I keep coming back to: technical writing is shifti…
I had 55 pages of documentation to write, 59 screenshots to capture, and a product that was still shipping features and being rebranded weeks before r…
We've all been there. You build an API, you're proud of it, and then someone asks: "Hey, where are the docs?" And you paste them a GitHub link to a ma…
You know the feeling. You are deep in a debugging session, finally making progress on that memory leak, and a Slack notification pulls you out. A cust…
How many times have you faced code nobody can explain anymore? A strange architectural choice. A cache TTL of 17 minutes that nobody can justify. A wo…
It was a Monday morning. A partner pinged us because their integration had broken overnight. Turns out, someone had merged a PR that renamed a respons…
For a long time I operated under a quiet assumption: portfolios are for developers. They're for people who build things — apps, tools, open source pro…
Your service is down. Latency spiked to 30 seconds. You pull up the architecture wiki, desperate to trace the failure path, and find... a messy Visio …
AI captions can make field reporting faster. They can also create risk if teams treat them as final truth. That is the tension. In field documentation…
Python has optional type annotations - also called "type hints". Like this: def entry_to_dict ( entry : Entry ) -> dict : return { ' title ' : entr…
Notes written in the field are good at recording results and reflections, but keeping the flow that led to those results as structure is surprisingly …
Introduction In Part 1 , we successfully moved the resume from a local editor to a live URL . But an empty repository is like a house without a front …
LeafWiki - A self-hosted wiki for long-lived documentation. Built for engineers, self-hosters, and small teams. LeafWiki v0.9.0 is out. This release f…