Containers, reproducible environments, and operational practices bridging the gap between development agility and production stability.
Experience the harmony when development and operations dance together instead of stepping on each other's toes. From Docker containers and Nix reproducibility to deployment pipelines and environment parity, these DevOps journeys capture the transformation from siloed suffering to collaborative success.
architecture (5)
System design principles and architectural patterns that shape resilient, maintainable software solutions.automation (6)
Systematic approaches to eliminating repetitive tasks through scripting, version control workflows, and intelligent tooling.configuration (5)
Configuration management strategies that bring order to chaos across development environments and production systems.devops (6)
Containers, reproducible environments, and operational practices bridging the gap between development agility and production stability.industry (2)
Workforce trends, market shifts, and systemic forces reshaping who builds software and how the profession evolves.infrastructure (6)
Networks, cloud platforms, monitoring, and the foundational systems that determine whether digital services scale or collapse.patterns (6)
Design patterns and anti-patterns that separate maintainable codebases from technical debt graveyards.productivity (7)
Workflow optimisations, terminal mastery, and tool choices that multiply developer effectiveness without sacrificing code quality.quality (12)
Software quality principles—from debugging and testing to the practices that distinguish robust systems from those held together by hope.security (5)
Security engineering, credential management, and the defensive practices that protect systems from threats both obvious and obscure.ssh (4)
Secure shell mastery and remote access patterns that turn distributed systems into a unified workspace.standards (7)
Coding standards, process conventions, and the governance practices that transform individual preferences into collective consistency.
The microservices tax: when distributed systems cost more than the problems they solve
The industry adopted microservices as the default architecture for modern systems, but the tax is coming due. When the company that helped popularise distributed services publishes a 90% cost reduction by returning to a monolith, the assumption deserves reexamination.
AWS sub-accounts: isolating resources with Organizations
Most teams dump client resources into their main AWS account, creating an administrative nightmare when projects end or security issues arise. AWS Organizations sub-accounts provide hard security boundaries that separate resources, limit blast radius from incidents, and make cleanup trivial—yet many developers avoid them, assuming the setup complexity outweighs the benefits.
Environment reproducibility: Docker vs. Nix vs. Vagrant
Production threw segmentation faults in unchanged code. Four hours revealed the cause: Node.js 18.16.0 versus 18.17.1—a patch version difference in native addon handling exposing a memory corruption issue. Environment drift creates space for bugs to hide. Docker, Nix, and Vagrant solve reproducibility at different levels with distinct trade-offs.
Reproducible development environments: the Nix approach
Dozens of Go microservices in Docker, almost a dozen Node.js UI applications, PostgreSQL, Redis. Extensive setup process. Docker Desktop, Go 1.21 specifically, Node.js 18 specifically, PostgreSQL 14, build tools differing between macOS and Linux. When it breaks, debugging requires understanding which layer failed. Developers spend 10% of working time fighting environment issues.
Streamlining local development with Dnsmasq
Testing on localhost hides entire categories of bugs—cookie scope issues, CORS policies, authentication flows that behave differently on real domains. These problems surface after deployment, when fixing them costs hours instead of minutes. Dnsmasq eliminates this gap by making local development behave like production, turning any custom domain into localhost whilst preserving domain-based security policies.
Downtime of uptime percentages, deciphering the impact
Understanding the real-world implications of uptime percentages is paramount for businesses and consumers alike. What might seem like minor decimal differences in uptime guarantees can translate to significant variations in service availability, impacting operations, customer experience, and bottom lines.