When Docker altered Docker Desktop licensing in 2021, teams received emails from procurement to stop using it or buy seats. Switching a Mac to Lima after such emails, the command line remains nearly unchanged. Containers run, ports forward, and bind mounts appear inside the container. That leaves a question: what is doing the work now? Docker Desktop feels like one thing. Lima seems like tangled…
Quick Start: This guide gets you writing Mermaid diagrams that render on GitHub in about 15 minutes. Learn the two diagram types that cover most real work, then build a deployment pipeline diagram you can drop into any README. What You’ll Learn What is Mermaid, and what problem does it solve? What are the use cases for Mermaid? When is Mermaid not the right tool? Which two diagram types…
Lima enables you to run a Linux machine on your Mac for free. This tutorial helps you install Lima, launch a Linux VM, verify shared files, and run a web server in a container accessible via your browser. If you want the concepts first, read What Is Lima? and come back. This article stays hands-on. What You’ll Build A working Lima setup: an Ubuntu virtual machine (VM) running on your Mac,…
Run kubectl get pods in a Kubernetes cluster with Istio installed, and every application pod shows 2/2 containers. You deployed one container. The second is Envoy, and it now handles every byte of network traffic your application sends or receives. Envoy is an open-source, high-performance proxy for cloud-native systems. It handles networking tasks like routing, retries, timeouts, load balancing,…
Introduction Every if statement relies on ideas humans learn before talking. Booleans seem simple: one bit, two values. But explaining a boolean to someone with no programming background is difficult. Boolean logic is a reasoning system based on two values, true and false, with three operations: AND, OR, NOT. It underpins all digital computers and program conditionals. By the end of this article,…
I just got off a 27-minute call trying to understand and fix a credit card decline problem with my Flexible Spending Account (FSA), not to be confused with my Health Savings Account (HSA). Thank you, government, for creating two accounts that sound very similar. It was a wonderful adventure. If I were playing a game of Zork, it might have been fun pressing 1, 2, 3, or 4, or entering random words…
Introduction Why does “it works on my machine” stop being an excuse the moment a team adopts containers? Because a container ships the machine along with the code. That single shift, packaging an application together with everything it needs to run, is the heart of containerization. A container is an isolated process that carries its own filesystem, libraries, and configuration while…
Most claims about how to build software are opinions wearing the costume of fact. “Pair programming catches more bugs.” “Microservices scale better.” “This linter improves quality.” Each sounds authoritative, and each is testable. Empirical software engineering is the discipline that does the testing: it studies how software is built, maintained, and used by…
Introduction Someone on r/dataengineering asked if there’s a standard for modern data architecture. With 20 years of experience, they had a batch pipeline pulling 200MB files into a data lake and a new source as a serialized Kafka stream. They wondered if streaming was the new paradigm or if they were becoming dinosaurs. The best answer cut to the confusion: the question asked about…
Introduction A team spends three weeks debating whether to use PostgreSQL or MongoDB. Six months later, nobody remembers why they chose one over the other, a new hire proposes switching, and the whole argument starts again from zero. The database was never the hard part. The team had no way to make the decision, agree on it, and remember it. Most software failures are not coding failures. They…
Introduction Most data teams hit the same wall. The pipelines run, the warehouse fills up, and yet nobody trusts the numbers. Two dashboards report different revenue. An analyst spends a morning rebuilding a definition of “active user” that someone already wrote last quarter. The data exists, but the data nobody argues about does not. Analytics engineering is the work that closes that…
A new paradigm is emerging in the age of AI-led software development. I’m calling it Are We There Yet Development . Last week a developer walked over to another developer asking for something they felt they needed to proceed with their critical greenfield project when the developer was in the middle of troubleshooting a production incident. Looming over nearly every developer is a…
Quick Start: Learn five mental models that cover every HTTP response, then read live codes with curl . Total time: 20 minutes. What You’ll Learn What an HTTP status code is, and what problem it solves. Five mental models that make any code readable, not just the ones you’ve memorized. The mnemonic for all five classes, and four more models for the hard cases. The handful of codes…
I admit it: I’m an operating system addict. I’ve installed countless operating systems over my life, and I still use many of them. It may seem like a bad idea. It isn’t. I jump between macOS, Linux, Windows, and Chrome OS across many devices, and that’s just on desktop. On phones, my first was a Google Nexus One then a couple pit stops with Nokia Lumia 521 and 620 Windows…
Most data starts as rows in tables: customers, orders, tickets. To see how a customer links to a product they refunded through a support ticket, you write joins. The connections exist, but the tables hide them; they surface only when you go looking. A knowledge graph puts those connections first, treating the relationships between entities as the main thing. By the end of this article,…
You have read what a knowledge graph is. Now build the smallest one that works. This tutorial uses plain Python, a list, small functions, no database, libraries, or setup beyond Python. By the end, you’ll have a runnable file that stores facts, answers questions, and navigates between facts. If the words triple , node , or edge are new, read What Is a Knowledge Graph? first. This guide…
The interviews are done. Someone sat with the domain expert and committed ontology.md next to the code. Then the quarter got busy. Six months later a report counts the same Customer three times, and the model built to prevent exactly that has not changed since launch. An ontology earns its keep only when a team uses it. A software ontology is a shared model of a domain: its entities, their…
Two senior engineers argued for an hour over a bug. The fix took ten minutes, but the argument lasted fifty. One meant “active subscription” when saying customer , the other meant “any account.” Both were correct but lacked a shared model. A software ontology is an explicit, agreed-upon domain model, including concepts, meanings, and relationships. In DDD, it covers…
Open a mature codebase and grep for Customer . In billing, it means an active, paid account; in support, anyone who has sent an email; in analytics, a deduplicated household. The bug isn’t in one module, but in three teams misunderstanding they’re referring to the same thing. A software ontology is a clearly defined, shared model of a domain that includes concepts, meanings, and…
Your job as a software engineer in 2026 differs from 2020, beyond just using chat tools. Every system component, review queue, test runner, version control, release process, and on-call rotation must handle more load than they were designed for as demand continues to rise. This article discusses AI’s impact on software engineering through the lens of software ecology, citing Adam…
Most social networks use a single database with an app, storing usernames, posts, algorithms, moderation rules, and HTML within the same company. Building on top means relying on the vendor’s rate-limited API, which can change or disappear unexpectedly. The AT Protocol (ATproto) divides the monolith into parts that different people can run, use different languages for, and swap out without…
The pattern The team is three weeks away from shipping. The demo went well. Estimates are tight. Velocity is trending up. The product manager is drafting the launch email. Then the integration tests hit, the third-party API rate-limits at production volume, a database query takes four seconds instead of two, a security review finds an authentication gap, and the analytics team sees a schema…
Conway’s Law is the observation that systems mirror the communication structures of the teams that build them. Applying it in practice splits into five different tasks, each with its own evidence, levers, and audience. This page is the index. Pick the guide that matches the situation in front of you. For the theory and why the law holds, read What Is Conway’s Law? first. Pick your…
Prerequisites This guide assumes: Familiarity with Conway’s Law. Read What Is Conway’s Law? first if “communication structure shapes system structure” sounds new. You work on or with a platform team. This means a team that owns shared infrastructure consumed by multiple product teams. Visibility into platform PR queues, product-team workflows, and meeting calendars. Without…
Prerequisites This guide assumes: Familiarity with Conway’s Law. Read What Is Conway’s Law? first if “communication structure shapes system structure” sounds new. Access to git history. You will read commit patterns over the last quarter. Visibility into the org chart. You need to know which engineers belong to which teams. Influence over team boundaries, or a stakeholder…
Prerequisites This guide assumes: Familiarity with Conway’s Law. Read What Is Conway’s Law? first if “communication structure shapes system structure” sounds new. Concrete evidence from your own org. A diagnosis from How Do I Diagnose Delivery Friction? or a deployment decode from How Do I Decode a Deployment? gives you the artifacts to point at. Without evidence, the pitch…
Prerequisites This guide assumes: Familiarity with Conway’s Law. Read What Is Conway’s Law? first if “communication structure shapes system structure” sounds new. A local clone of the repository you want to analyze. The diagnosis below is a git query. A POSIX shell with awk , sort , uniq , and cut . Standard on macOS and Linux. Visibility into the org chart. You need to map…
Prerequisites This guide assumes: Familiarity with Conway’s Law. Read What Is Conway’s Law? first if “communication structure shapes system structure” sounds new. Access to the deployed system. You need to see the service list, runbooks, and on-call rotations. Visibility into pipelines and release boundaries. You need to know which services ship together and which ship…
The pattern You redraw the org chart. Six months later, the codebase has grown new seams along the new team boundaries. The teams reshaped the software without intent. That pattern has a name: Conway’s Law . Any system you ship will reflect the communication structure of the people who built it. Modules align with teams. Interfaces form along reporting lines. Coordination friction shows up…
Cloud bills are scrutinized to the cent. AI coding tool spend analysis is complex, with token-based pricing, multiple subscriptions, and quick pilots hiding total costs until reviewed by finance.