Will Larson's Blog, page 33
November 6, 2019
HMAC SHA256 signatures in Python and Flask.
I'm playing around a bit with the Slack API, which I'll have a longer post on in a bit. One part of the integration requires generating an HMAC SHA256 signature to verify requests are from Slack. There weren't too many helpful search results, and some of them like the hmac module docs don't include examples. Here are some quick notes for folks in future attempting the same thing.
h/t to Joe Kampschmidt's post which covers signing well.
First step is to instrument your test application is capturing the full headers an...
November 5, 2019
Forecasting synthetic metrics.
Imagine you woke up one day and found yourself responsible for a Site Reliability Engineering team. By 10AM, you’ve downloaded a free copy of the SRE book, and are starting to get the hang of things. Then an incident strikes: oh no! Folks rally to mitigate user impact, shortly followed by diagnosing and remediating the underlying cause. The team's response was amazing, but your users depend on you and you feel like today you let them down. Your shoulders are a bit heavier than just a few hours ago...
November 3, 2019
Sending weekly 5-15 updates.
The trendy thing to do on the internet is to start publishing a newsletter. Trendy enough that even I started sending out my blog posts each week in email format.
I've consistently noticed that emails generate far more discussion than other distribution methods, which really shouldn't have surprised me: I've been sending company-internal updates for some time and they've frequently created important, spontaneous conversations.
About a year ago I started my most recent approach to sending weekly updates to relevant public (within the...
October 31, 2019
Investing in technical infrastructure @ SRECon EMEA 2019
Earlier this year I wrote How to invest in technical infrastructure, which I got to present at SRECon EMEA 2019 at the beginning of October, and now the video is up.
I've really enjoyed giving this talk, and really enjoyed the talks, atmosphere and attendees at SRECon. There was a real spirit of practioners coming together to learn together that I appreciated.
I also got the chance to give this talk at Velocity earlier this year although I'd just strained my calf and was walking with crutches, so I was glad to get a redo whe...
October 27, 2019
Healthchecks at scale.
A couple of days ago at Stripe's weekly incident review, we started a discussion on a topic that is always surprisingly controversial: healthchecks. I've been thinking about them since and have written up what I've learned about healthchecks.
When I joined Uber, we relied on HAProxy to route traffic between processes. HAProxy was configured in what might now be described as the sidecar pattern.
We ran one instance of HAProxy on every server, and generated a server's routing configuration by inspecting metadata stored...
October 23, 2019
An Elegant Puzzle by the numbers, five months later.
An Elegant Puzzle was released on May 20th, 2019 by Stripe Press. In June, I summarized what I learned writing and publishing it: it was amazing. Now that the book's been in market a bit longer, I wanted to recap An Elegant Puzzle by the numbers across its first five months.
One article in First Round Review One bookclub orchestrated by Charity One Atlas AMA on the Stripe Atlas Forum One mention in Forrester in Beware the Automation Paradox One other Stripe Press book released, the excellent Get Together One to two daily emails or DMs regarding AEP $2, roughly my share per...October 22, 2019
Founding Monocle Studios.
Waiting to hear if I would be hired by Yahoo! in 2008, Luke Hatcher and I founded Monocle Studios. Between June 14th and November 7th, we designed and released our iOS game touchDefense. Unlike the story of Digg V4, this story has no industry relevance.
However, it's a period I personally look back on rather fondly.
The opening menu included animated towers and creeps that would periodically spawn and be vanquished. This was my favorite feature.
In 2008, I had just completed my year-long contract teaching English in the Japan Exchange and Teaching Program. W...
October 12, 2019
Nobody cares about quality.
You’re grabbing coffee with a coworker, and they’re caught deep in a rant loop, “Nobody cares about quality. They say they care, but they don’t care.” You helpfully decide to snap them out of the rant by providing some counter-examples, measuring your memories of the last few months and recounting some examples of slowing down for quality. Moments later, your contribution to the conversation is an easily traversed speed bump as the rant metastasizes, “They just don’t care.”
This is a quintess...
October 8, 2019
A forty year career.
The Silicon Valley narrative centers on entrepreneurial protagonists who are poised one predestined step away from changing the world. A decade ago they were heroes, and more recently they’ve become villains, but either way they are absolutely the protagonists. (Although, perhaps the role of protagonist is expanding a bit.) Working within the industry, I’ve worked with quite a few non-protagonists who experience their time in technology differently: a period of obligatory toil required to pry...
September 13, 2019
Notes on data modeling from Handbook of Relational Database Design.
I’ve been working through Handbook of Relational Database Design by Candace Fleming and Barbara von Halle, first released in 1989, which ambitiously attempts to define best practice for both modeling data in a database agnostic way and also address implementation concerns for implementing and tuning databases. I’ll write up note for both eventually, and these are my notes on the first half of the book on defining data models.
Quick summary: I haven’t taken a college-level databases course, an...