A platform engineer with a diverse background of experiences, hands-on building and operating scalable SaaS cloud-native systems for over 15 years as both an IC and leader.
I am passionate about building and operating world-class applications that delight its end users.
Connect with me on:
- Core skills: Linux, Terraform, Docker and containers (Swarm/ECS/K8s), Go (Golang), Python, CI/CD, cloud (AWS/GCP)
- I am a developer, but also very close to infrastructure
- I approach software development with an SRE's mindset -- scalability, fault-tolerance, optimizing spend, monitoring and alerting -- these things, and more, are always part of my thinking
- Sometimes good is better than perfect; I like to ship early and ship often
- Let's go!
- BS in Computer Science, Univ. of Puget Sound ('96)
- Early career — Intel factory automation, Hewlett-Packard, a startup (’96-’11)
- MS in Computer Science, Oregon State Univ. ('01)
- Experience at 4 startups
- 12 years writing software for fixed wireless networks in US low-income and throughout East Africa, Haiti, The Philippines
- Co-founded an ISP in Kenya (’13-’18)
- 5 Years as Platform Engineer at Specialized Bicycle Components (’18-’23)
- Principal Engineer at Blueboard, a failed HR SaaS startup (’23-’24)
- My current role is as a Senior Staff SRE Software Engineer at Dexcom
A lot of this is elementary stuff -- sometimes I use these just to prove out a basic concept or maybe to provide myself a template for future use. Some of the Terraform is more sophisticated.
- VS Code Dev Containers -- make your
.devcontainer/devcontainer.json
work for you:
- Basic Go Things
- gRPC -- gRPC example of a "Hello World" server in Go, with clients in Go and Python
- Produce camelCased JSON from a Go Struct -- I was recently asked in an interview how to do this, I've always referred to this as "JSON Hints", but maybe that's incorrect? (I think that
json.Marshal
was all they were looking for!)
- GitHub for doing things with GitHub repos
- s3-static-hosting Very simple web hosting on S3, no https
- s3-remote-state Terraform to create the Terraform backend state on AWS, so meta
- The Docker Swarm section is a series of bespoke Terraform projects I made to create a VPC, subnets, EC2s, ELBs, bootstrap a Docker Swarm cluster, stand up Postgres and MySQL (Serverless) and Elasticache (Redis) instances, as well as SNS for alarms, and more
- aws-alarm-infrastructure
- aws-docker-swarm -- This is the base layer, the others mostly use
outputs
from this - aws-elasticache-redis
- aws-mysql-rds
- aws-postgres-rds
- AWS Guard Duty A truly minimalistic setup of Guard Duty
- Basic Python Things
- Go shared lib -- The Sieve of Sundaram in Python (native) versus it in Python, but with the heavy lifting done in Go (code compiled to a
.so
file) - Quick Python script to delete old branches
- Kubernetes Things -- Hello world stuff (I'm finally learning K8s)
- Simple example of how you might use Docker Compose to run a small Fast API server that can reach a Maria DB database
- Shell script to tag a container with a semvar+sha
- Full example of the GHA 'context' object
- Shell script to delete all workflow runs
- Read Secure Notes from 1Password and push to GitHub Secrets (see above) but in a GHA -- this is the way
- If you must do a nested ternary in GHA
- Trick GHA into revealing a secret -- yes, this is possible!
- This is cool -- use Python in a GHA step
- Trigger a GHA with a
workflow_dispatch
outside of themain
branch like this - I made this Python script to read Secure Notes from 1Password and push to GitHub Secrets -- this is very bespoke but is how I once used 1Password Notes as the "source of truth" for env vars which were stored as GitHub secrets (environment, repository or organization) -- this code was originally forked from someone else's project but heavily modified for my needs
- Example of how you might lint in a GHA -- this example is for Terraform, but could be used to lint Python code with Ruff, etc.
- A few things that I made to make copying a Postgres db from Heroku to RDS a little easier
- List, Copy, Delete S3 Bucket
- Cloudflare maintenance page worker
- tickr-rpi-ws281x -- This was a small side project to control a programmable LED light strip using heart rate data from a Wahoo TICKR heart rate monitor -- I never finished this... the Bluetooth to the TICKR part works, IIRC
- Manage Cloudflare records
- Nexus 7 Deployment Script -- Something I did over 10 years ago to speed up deploying a bunch of Google tablets
- Sort a 1Password Note from the command line, uses the 1Password CLI
- trails.losritchi.es is a tiny SPA (React) I made to help me name my mountain bike rides for Strava, it lives here
Additional other random notes and code snippets that I did not explicitly link to are here
- A neat search and replace shell hack for use with the Silver Searcher
Here are some excellent Gists by Andrew Zurn on how to use Ollama to write your PRs for you (and other things):
- https://gist.github.com/AndrewZurn/8050f8ad5bff2c6826cd71eacaa52fb9
- https://gist.github.com/AndrewZurn/ef633ace2f28828d38bbbcac5cca523a
- https://gist.github.com/AndrewZurn/01f3fa2e8de80a06ab744b39d472e5d4
- https://gist.github.com/AndrewZurn/382d20e58c60e9188ff0b12658200c71