After having a bit of downtime, CircleCI’s team have been very kind to post a very detailed Post Mortem . I’m a post mortem junkie, so I always appreciate when companies are honest enough to openly discuss what went wrong. I also greatly enjoy analyzing these things, especially through the complex systems lens. Each one of these posts is an opportunity to learn and to reinforce otherwise abstract…
This past week Kyle Kingsbury tweeted about being flooded with pull requests caused by changes to the InfluxDB API. Concidentally, I had just spent several hours over the July 4th weekend dealing with the same problem in go-metrics , albeit on a smaller scale. I think these are symptoms of a very very common problem with OSS projects. A bit of history The Metrics library has a very simple core API…
This is the story of an outage that occurred on September 25th 2014 and has previously been discussed in the context of blameless post mortems on the PagerDuty blog . If you attended Surge 2014, you may have noticed something strange: a man was sitting on one of the cube-shaped stools in the Fastly expo area hunched over his laptop almost the entire day, and well into the evening hours. Even if…
(all info and screenshots are from 09/02/2014) In light of all the recent incidents involving attackers taking control of a company’s root AWS account, myself and most everyone I know that is managing any sort of infrastructure have been re-auditing accounts and stepping up efforts to get everyone within our teams to turn on MFA (multi-factor authentication). MFA makes it impossible for someone to…
First things first: What the shit is tigertonic? Tigertonic is a framework for making webservices in Go written by Richard Crowley (I have contributed a bug fix or a feature here and there). Its defining characteristic is that it allows you to translate functions which take and return specific Go types into http.Handler implementations that understand and return JSON payloads. Define your…
This post about office noise level and distractions came through my inbox, and a particular voice in the comments section caught my eye. “Show me an office with caves and I’ll show you my resume” Plenty of comments followed echoing this sentiment. While I agree that stretches of concentration are important for figuring out a specific task, I think that this chorus is at the heart of a serious…
Perpetually agonized by actually using Keynote or Powerpoint to make slides, I continue to use Showoff to make my slide decks. Unfortunately, the codebase appears a bit neglected, and certain features have stopped working very well over the course of re-installs. I have neither the Ruby-fu nor the time nor the patience to figure out why PDF generation has stopped working (I actually don’t think…
There is lots of talk about what DevOps is and means, even a Wikipedia page , to which I may soon give some much needed love. However, a friend recently asked if I knew anyone worth hiring for a “devops” role, and I found myself asking clarifying questions about the sort of person he had in mind. Seemed worth writing down. The friend was looking for engineers. So what does it mean for an engineer…
I am delighted to let you spread the word about an amazing innovation from Lian Li, the acclaimed maker of computer cases. They have thrown caution to the wind and finally introduced the thing we’ve all been waiting for - the Choo Choo Train Computer Case . Yes. Yes. Let that sink in. It’s a computer case shaped like an old steam-powered locomotive. It has a 300 watt power supply in the front…
Back in the days of fire fighting and database optimizing at Flickr, when I could debate the merits of different MVCC options comfortably, I built a little tool called Ishmael to help us make sense of mk-query-digest data more easily (apparently, the project has been moved to the “Percona Toolit” and renamed pt-query-digest ). Tim Denike made some improvements during his remaining time at Flickr…