All posts
2026
- Tailscale. A VPN you forget is even there.
- GitHub Actions for AWS deployments. A small, sane setup.
- OpenTofu vs Terraform. Should I switch?
- IAM roles for service accounts on EKS. A small primer.
- Kubernetes in 2026. What changed since the last post here.
2025
- Docker multi-stage builds and BuildKit. Shaving off the megabytes.
- A few git commands I wish I knew sooner.
- From Disqus to giscus. Comments without the bloat.
2018
- How to test Terraform built-in functions locally.
- How to build a CI/CD pipeline using Kubernetes, Gitlab CI, and Helm.
2017
- How to visualize your workflow with GitHub projects using AWS Lambda.
- Master Linux CLI (part I). Useful Linux commands.
- What are Docker OS images and why would I want to use them in my Dockerfile?
- Iterm2 + Tmux = Awesome
- AWS Roles. When and how I can use them?
- Master Git (part V). Change commits in your history. Interactive rebase.
- How to work with multiple AWS accounts.
- Master Git (part IV). Stash your changes
- Master Git (part III). Restore undone commits.
- Master Git (part II). Viewing and undoing commits.
- Master Git (part I). Commit search.
- log-shippers-part2
- log-shippers-part1
- Building a centralized logging system. Choosing the architecture.
- Configure failover with Keepalived for services on AWS
- Set up Cisco ASA AnyConnect VPN with 2FA to multiple AWS VPCs (part II)
- Set up Cisco ASA AnyConnect VPN with 2FA to multiple AWS VPCs (part I )