Posts
-
My favorite design patterns
Summary of a lecture i gave on the software design patterns: Factory, Singleton, Strategy, Controller–Service–Repository, Dependency Injection.
-
Infrastructure as Code, End to End: Provisioning with Pulumi and Configuring with Ansible
An opinionated, full IaC stack: provisioning machines with Pulumi (and Terraform/OpenTofu), configuring them with Ansible, keeping secrets in a public repo with SOPS, deploying workloads via Docker Swarm + Jinja2, and smoothing it all out with just and Dagger.
-
Building a Home Server
A practical guide to home lab setup: media servers, reverse proxies, SSO, private DNS, VPN, NAS storage, photo libraries, and low-code automation — built and refined over two years
-
Reverse Proxy and OIDC: Your First Line of Defence
How to stop writing auth from scratch: routing with Caddy, dropping Authentik in front of services, doing OIDC and JWTs properly, and putting Cloudflare on top of all of it.
-
Production Logging, Monitoring, and Compliance
How to go from console.log to a real logging stack: structured JSON logs, request tracing, WORM storage for compliance, and Grafana dashboards.
-
Testing Methodologies and best practices
A walkthrough on testing — why it matters, the testing pyramid, tools like Vitest, Cypress, and Testcontainers, mutation testing with Stryker, and best practices for writing maintainable tests.
-
Claude Code CLI: Hooks, Agents, and Cost Control Guide
Practical guide to using Claude Code effectively — managing costs with API keys and subscriptions, securing your workflow with hooks, scaling with custom agents, and composing atomic AI operations.
-
Dotfile Management and Terminal power tools
A practical guide to modern terminal tools, dotfile management, and workflow automation that will make your command-line experience significantly more productive.
-
A rant about Docker, Swarm and K8S
This is a summary of a lecture I gave on: A practical guide to Docker image optimization, multi-stage builds, Docker Compose, deployment strategies, and when (not) to use Kubernetes