Etched Team Straws

I recently etched reusable metal straws for my team at work. I used a low-tech procedure to etch the metal using electricity after applying a vinyl mask made with a hobby vinyl cutter. The glass straws used food-safe ceramic paint baked in an oven, also using the same vinyl stencil. The results are great. Click on any of the images below for a larger version. The last few are videos.

What Kubernetes Got Right, and Mesos Got Wrong

I've worked at Yelp for about six years, working with our container platform in production for about four of those years. The plaform is called “PaaSTA” and there are a number of public talks about it. It is also open source. When we started PaaSTA, it ran on Mesos, and now we are most of the way through our migration to use Kubernetes (k8s). I'm in a relatively unique position to have production experience with both technologies.

Can Infrastructure Teams Do Better Than AWS? Yes, Sometimes.

AWS likes to use the pharse “undifferentiated heavy lifting” to describe what AWS does best: all the things that everyone hast to do anyway with computers. Commonly these are things like running servers for you, hosting files, and managing a network. Let AWS handle the boring things so that you can focus on what matters most for your business. Sounds great! I certainly do not want a job that could otherwise be commonditized and turned into an API.

Kubernetes as a Universal Infrastructure API

Recently the Kubernetes (k8s) Cluster Lifecycle Special Interest Group (SIG) release their first Alpha of their Cluster API. What does this thing do? It is kinda like a k8s operator (it's a controller) that has custom resource definitions for things to launch another k8s cluster, with a bunch of cloud providers. It is kinda like if Terraform was re-imagined as a k8s operator, but only for launching other k8s clusters, and not general purpose.

epaper-watch: Cleaning the Literary Quotes Database

paper-watch intro My epaper-watch is an attempt to build a watch with an epaper display. It tells time by displaying a quote from a book: (don't mind the graphical glitches) The dataset with all the quotes needs some data cleaning love though. Cleaning The Dataset The CSV has over 1,400 quotes in it. For every minute, there may be multiple quotes (“Midnight” has 26 unique quotes). Some minutes of the day do not have any quotes.

Build Versus Buy: You Are Always Building, Always Buying

TL;DR: “Build-vs-Buy” is a false dichotomy, you are always building, always buying “This is not your ‘Core Competency’” is a faux trump-card, everything is a spectrum Past experience is overrated, what matters for hiring is your ability to learn Understanding The Trade-Off Fully understanding the build-versus-buy trade-off requires a bunch of different context to really get right. At first glance you might think that you only need to really understand:

Configuration as Code - Is It That Good of an Idea?

Kyle's Conclusions: If possible, make your users not care about the intermediate form “Code as Configuration” is not worth it YAML isn't so bad if you can be strict A Brief History of Configuration as Code Configuration as Code is not new. There are a few subtle distinctions that are worth pointing out: Thing Historic Example Modern Example Config as Config Apache2 (.


I recently gave a talk called “Layers” (~35min). Warning: The audio and video quality are horrendous:

Being a Great Engineering Mentor

Here are some thoughts how I think about being a great engineering mentor. To me the most important thing is remembering “who to be”, and not as much as “how to act”. You won't remember how to act. You can look up all the listicles you want on tips on what to do as a mentor, but if you can just “be” the right person, the choices you make and the things you say might just come naturally.

Sutro Tower Vinyl Art

I recently finished a project to make a vinyl mural of Sutro tower: The “source code” of this project is on github and is in the public domain.