Systematic approaches to eliminating repetitive tasks through scripting, version control workflows, and intelligent tooling.
Discover the satisfaction of watching machines handle the mundane while you tackle the meaningful. Every automation story here started with frustration at repetition and ended with scripts, hooks, and version-controlled workflows that feel like trusted colleagues working the night shift.
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.
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.
Terminal multiplexing: beyond the basics
Network drops during critical database migrations. SSH connections terminate mid-deployment. Terminal crashes destroy hours of workspace setup. tmux decouples your terminal interface from persistent sessions that continue running independently—network failures become irrelevant interruptions rather than catastrophic losses, whilst organised workspaces survive crashes and reconnections.
SSH keys in 1Password: eliminating the file juggling ritual
SSH keys scattered across machines create a familiar nightmare—copying files between systems, remembering which key lives where, and the inevitable moment when you need to connect from a new laptop without access to your carefully managed ~/.ssh directory. 1Password's SSH agent transforms this by keeping encrypted keys available everywhere whilst ensuring private keys never touch disk outside the vault.
SSH dotfiles: unlocking efficiency
Managing dozens of SSH connections means remembering complex hostnames, multiple keys, and elaborate commands you copy from text files. The .ssh/config file transforms this chaos into memorable aliases that map mental shortcuts to complete configurations, reducing cognitive load so you can focus on actual work rather than SSH incantations.
Dotfiles: why and how
Working on someone else's machine feels like writing with their hands—common commands fail, shortcuts vanish, and everything feels wrong. Dotfiles transform this by capturing your accumulated workflow optimisation in version-controlled configuration files, turning any terminal into your terminal within minutes rather than days of manual reconfiguration.