All blog posts.
- Sep, 2024
- SQL Performance Crash Course - Indexes
- Oct, 2021
- Certbot, DNS Challenges (Part I)
- Sep, 2021
- Good Enough Continuous Delivery with Ansible and GitLab
- May, 2021
- Web and SSH reverse proxies over the Internet
- Multi-stage Docker builds for build-time toolchain isolation
- Apr, 2021
- About Docker, Reverse Proxies, and Client IPs
- Jul, 2020
- ASP.NET Core Localization with JSON
- Jun, 2020
- Better Feature Directories
- Feature Directories in ASP.NET Core
- May, 2020
- Time and Tests (and xUnit)
- Apr, 2020
- psql Introductory Notes
- May, 2019
- http4k - a Kotlin FaaS library
- Dec, 2018
- Angular 6 by Example Notes
- Oct, 2018
- PyCharm and Docker Compose remote debugging
- An Improved Python Pip Workflow
- Flask BIG and small
- Sep, 2018
- Setting-up Fastmail with a custom domain, DKIM and SPF
- "Advanced Kotlin Programming" Notes
- Covariance and Contravariance in Generics
- "Introduction to Kotlin Programming" Notes
- Aug, 2018
- Better Windows Services with TopShelf
- May, 2018
- YubiKey Manager and Void Linux
- Apr, 2018
- YubiKey, Void Linux and GPG
- Curing zzz insomnia in Void Linux
- Reverse Proxy and Remote Addr
- Firefox and ALSA
- Mar, 2018
- Deploying Flask in Ubuntu, with virtualenv, Gunicorn, and Nginx
- Managing Virtual Environments on Python
- Installing Python 3.6 inside a Ubuntu 16.04LTS VPS