All blogs / DevOps / SRE / infrastructure
Pete Keen
Pete Keen's essays and projects.
- Posts
- 142 from 28 Mar 2010 to 11 Aug 2026
- Posting
- now and then (3 in the last year)
- Kind
- personal blog
- Feed
- https://www.petekeen.net/feed.xml
2026 2
2025 3
2024 7
2023 6
2022 4
2021 1
2020 1
2019 2
2018 7
2017 2
2016 2
2015 9
2014 19
- Email: The Good Parts
- Your DNS Provider Should Not Be Your Registrar
- What is the best modern payment provider?
- Stripe removed SSLv3 support. Here's how to fix the HTTP 401 errors.
- Payola v1.2: Now with Subscriptions
- Building Payola Extensions
- Introducing Payola
- Building a Private Backplane Network for your VPSs with ZeroTier
- Five business lessons from an idle game
- Let's Begin Again
- Fix Your Email Deliverability with DMARC
- Know How To Roll (Your SSL Certificates)
- Command Line Faxing
- Start a VirtualBox VM at Boot on Mac OS X
- Stripe Account Balances for Service Credits
- Using Stripe Checkout for Subscriptions
- Self-hosted Git Server
- Using the Mailchimp API for Sales
- The Life of a Stripe Charge
2013 26
- A Practical Exercise in Web Scraping
- Simple Git-backed Microsites
- Simulating a Market in Ruby
- Little Data: How do we query personal data?
- Software
- Post-mortem of a Dead-on-Arrival SaaS Product
- DRY your Rails CRUD with Simple Form and Inherited Resources
- Essential Tools for Starting a Rails App in 2013
- Adventures in Self Publishing
- Mastering Modern Payments Is Out Today!
- DNS: The Good Parts
- Announcing: Mastering Modern Payments: Using Stripe with Rails
- Shipping with Stripe and EasyPost
- Making eBooks with Docverter
- Page Viewer, a Simple Markdown Viewer
- Book Review: The Box
- How and why I'm not running my own DNS
- Cancer
- Blog Relocation
- Design for Failure: Processing Payments with a Background Worker
- Book Review: Tubes: a Journey to the Center of the Internet
- New Blog Design
- Mounting a Magic Trackpad on a Kinesis Advantage Keyboard
- Distributed Personal Wiki
- Increasing the Encryption Noise Floor
- Full Text Search with Whistlepig
2012 14
- How I run my own DNS servers
- Deploy 12-Factor Apps with Capistrano::Buildpack
- Docverter is now Open Source
- Deploying a 12-Factor App with Capistrano
- Run Anything on Heroku with Custom Buildpacks
- Private Git Repositories with Gitolite and S3
- On-the-fly Markdown Conversion to PDF and Docx
- Keeping a Programming Journal with Marginalia
- Marginalia: A web-based journaling and note taking tool
- Task-oriented Dotfiles
- Dokuen 0.0.8, Now with Linux Support
- Dokuen Update
- Dokuen, a Personal App Platform
- A Robust Reporting System for Ledger
2011 18
- Program Your Finances: Automated Transactions
- Yet Another (not very) Static Blog Generator
- Another Tiny Webapp
- Concurrency on Heroku Cedar
- Introducing FivePad
- What sucks about apartment hunting?
- Remindlyo is a Go
- Random Remindlyo Things
- Quadrotor Update 3
- Quadrotor Update Part 2
- Quadrotor Update
- Bootstrapping a Side Business - First Steps
- Program Your Finances: Vacation Tracking
- Program your Finances: Reporting for Fun and Profit
- Quadrotor Motors Are Alive!
- ProcLaunch v1.2
- ProcLaunch Improvements and v1.1
- I Soldered Something!
2010 15
- ProcLaunch v1.0
- Perl with a Lisp
- Managing Your Processes with ProcLaunch.
- Blog Generator Updates
- Daemons are Our Picky, Temperamental Friends
- Data Mining "Lost" Tweets
- Iterating Elements in boost::tuple, template style
- Everyone Needs Goals
- Program your Finances: Command-line Accounting
- Building Battle Bots with Clojure
- Actionable Information
- Moose vs Mouse and OOP in Perl
- Calorific, a Simple Calorie Tracker
- Adding RSS and Other Things
- Yet Another Static HTML Blog