Thoughts and Code
2025
- Controlled Failure / Practice Before It Breaks June 27
- Performance First Rails – Lessons From Production June 07
- Improving Asset Delivery Times with gzip_static May 24
- Cleaner Mailer Views in Rails with the Presenter Pattern April 19
- Daily Docker Prune with Systemd April 10
- No Appreciable Difference April 09
2024
- 5 Gems That I Use to Simplify Development on HTTPScout October 19
- Nginx and Rails: Optimize Production Config Like a Pro October 05
- Rails 8, Kamal, and Securing Your VPS: The Ultimate Guide to Hardening SSHD September 30
- Incident Naming Matters: A Simple Practice for a Better Incident Response May 10
- Reducing Outages and Delivering Faster: The Power of Weekly Operations Reviews April 28
- High Performance Indexing in PostgreSQL April 09
- How a Mistake Led Me to Discover Better Observability with Rails and SigNoz April 02
- Introducing HTTPScout.io: A Better Way to Monitor Your Website’s Uptime March 20
- Stripe Integration with Rails: Pay Gem Tips and Fixes March 12
- Hiring is Broken: A Guide for Early Stage Startups February 01
- Reflecting on Building an App January 17
2023
2022
- Logging for Data Scientists September 16
- Retries in Python August 09
- Speed Up PostgreSQL Queries by Tuning work_mem per User April 26
- Modern Data Stack Diagrammed March 30
- Airbyte User Management Workaround With OAuth2 Proxy March 17
- Tips for Surviving Engineering Management February 14
- Consulting Advice I Gave Myself February 13
2021
- Python Wrapper for ListHub's Syndication API November 09
- High Availability Vault with Consul Backend August 01
- Mirrored Queues in RabbitMQ July 11