Systematic approaches to eliminating repetitive tasks through intelligent scripting and workflow optimization.

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 that feel like trusted colleagues working the night shift.
10 min read

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.
9 min read

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.
10 min read

The hidden cost of free tooling: when open source becomes technical debt

Adding file compression should have taken a day. Three packages needed different versions of the same streaming library. Three days of dependency archaeology, GitHub issue spelunking, and version juggling later, we manually patched node_modules with a post-install script. Open source is free to download but expensive to maintain.
10 min read

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.
7 min read

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.
11 min read

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.

Topics for the properly obsessed

  • 1password (1)

    Technical insights and practical approaches to 1password in modern software development.
  • architecture (4)

    System design principles and architectural patterns that shape resilient, maintainable software solutions.
  • aws (1)

    Technical insights and practical approaches to aws in modern software development.
  • configuration (3)

    Configuration management strategies that bring order to chaos across development environments and production systems.
  • debugging (1)

    Methodical approaches to hunting bugs and understanding why systems behave in mysteriously broken ways.
  • devops (2)

    Cultural practices and technical solutions bridging the gap between development agility and operational stability.
  • docker (1)

    Container-based development and deployment strategies for consistent environments across the entire software lifecycle.
  • git (1)

    Version control mastery and collaborative workflows that transform chaotic code changes into organized development history.
  • infrastructure (3)

    Foundation-level systems and architectural decisions that determine the scalability and reliability of digital services.
  • linux (1)

    Deep dives into Linux systems, from kernel behavior to command-line wizardry that powers modern computing.
  • monitoring (1)

    Observability practices and monitoring strategies that transform silent failures into actionable intelligence.
  • networking (2)

    Network engineering insights exploring the intricate dance of packets, protocols, and connectivity solutions.
  • nix (1)

    Functional package management and reproducible systems that bring mathematical precision to dependency chaos.
  • patterns (3)

    Design patterns and anti-patterns that separate maintainable codebases from technical debt graveyards.
  • performance (1)

    Performance optimization techniques that transform sluggish systems into responsive experiences users actually enjoy.
  • productivity (4)

    Workflow optimizations and tool mastery that multiply developer effectiveness without sacrificing code quality.
  • quality (6)

    Software quality principles and practices that distinguish robust systems from those held together by hope.
  • security (6)

    Security engineering practices that protect systems from threats both obvious and obscure.
  • ssh (3)

    Secure shell mastery and remote access patterns that turn distributed systems into a unified workspace.
  • standards (1)

    Coding standards and conventions that transform individual preferences into collective consistency.
  • terminal (1)

    Command-line excellence and terminal workflow mastery that transforms text interfaces into productivity powerhouses.
  • testing (2)

    Test engineering strategies that catch bugs before users do and ensure code behaves as intended.