Technical insights and observations on software development, digital craft, and technological evolution.
Expect content that balances technical insight with measured reflection, seasoned with just the right amount of humour. These ideas and observations refused to stay quietly in mind, now shared to spark meaningful discussions and fresh perspectives.2025 (11)
Reproducible build pipelines, calmer velocity metrics, and unapologetic debt triage defined 2025—ambitious launches stayed trustworthy for teams and clients alike.2024 (5)
Lightweight dnsmasq tweaks, tmux muscle memory, and a renewed obsession with simple tooling made 2024 about clearing friction so experiments actually shipped.2023 (3)
Grounding habits around uptime math, disciplined dotfiles, and dependable SSH pathways kept 2023 focused on humble craft that scales when incidents inevitably strike.All (19)
View all blog posts across all years
10 min read
Avoiding overkill: embracing simplicity
A contact form implemented with React, Redux, Webpack, TypeScript, and elaborate CI/CD pipelines—2.3MB production bundle for three fields and a submit button. Two days to set up the development environment. Thirty-five minutes to change placeholder text. This is overengineering: enterprise solutions applied to problems that need HTML and a server script.
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.
10 min read
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.
10 min read
Turbocharge development: the magic of SSH port forwarding
Security policies block database ports. Firewalls prevent external connections. Remote services remain inaccessible except through carefully controlled channels. SSH port forwarding creates encrypted tunnels that make distant services appear local—you connect to localhost whilst traffic routes securely to remote resources, maintaining security boundaries without compromising workflow efficiency.
9 min read
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.
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.automation (6)
Systematic approaches to eliminating repetitive tasks through intelligent scripting and workflow optimization.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 (4)
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 (5)
Workflow optimizations and tool mastery that multiply developer effectiveness without sacrificing code quality.quality (7)
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.