skip to content

Search

Writing — 104 posts · 2007–2026

Posts

Linux and sysadmin notes from the late 2000s, Ruby, PHP and Git from the years after, and lately code agents, team leadership and web performance.

Subscribe via RSS

2026

2025

  • A curated selection of essential books for web developers, covering everything from practical programming wisdom to scaling systems and productivity tips. These books shaped my development career and offer timeless insights for both beginners and seasoned developers.

  • Key insights from years of software development experience, covering clean code practices, the importance of testing, effective communication, architectural decisions, and continuous learning - essential lessons that shaped my professional growth.

  • Ignoring files in a shared repository without touching the shared .gitignore — the two ways Git offers, and the one that silently switches off your global ignores if you are not expecting it.

  • Are coding interviews still measuring anything now that candidates practise with ChatGPT and Codex? The case for and against technical tests in the GenAI era.

  • Learn practical strategies for leading a software development team without losing your technical skills. This article covers common challenges such as time management, delegation, staying updated with technology, and maintaining code quality. Discover actionable tips to balance leadership duties with hands-on coding, foster a strong engineering culture, and continue growing as both a developer and a leader.

2024

  • A step-by-step guide to running Oracle Database XE on Apple Silicon Macs using Colima and Docker, overcoming architecture compatibility issues and enabling persistent database storage.

2020

  • A detailed guide on building a Lily58 Pro split mechanical keyboard, covering parts selection, assembly steps, soldering, switch lubing, firmware programming with QMK, and tips for overcoming common challenges. Includes personal experiences, photos, and useful resources for DIY keyboard enthusiasts.

2019

2015

  • The gap between something that works and something you can be responsible for is not features. It is backups you have restored, deploys you can undo, logs that survive the crash, and alerts that reach a human.

2014

  • POODLE killed SSLv3 for good. The nginx configuration that follows from that — protocols, cipher suite, forward secrecy, OCSP stapling and HSTS — and the two lines that matter more than the cipher list everyone copies.

  • Five years at Openhost: marking a milestone from craftsmanship to enterprise solutions, navigating through challenges and growth in a dynamic environment.