Distributed Ops for Distributed Apps

My proposal for a talk I delivered at Velocity Amsterdam, 2016. Slides are included at the bottom of the page. Description Up to 400 characters In the world of microservices, when things are moving fast and constantly breaking, the accepted wisdom is that teams must own the whole stack and operate their services themselves. But how much stack is “the whole stack”? How do we ensure that operational standards are consistent across the organization?
Feb 10, 2016 | 363 Words | Read more…

Scripting versus automation

This was originally shared with the engineering org of a company I worked for at the time. It’s my stream of consciousness about the type of system my team was building at the time. Reproducing here without modifications, enjoy the chaos of my unedited remblings. Team, It became clear to me in the last few days that there’s not enough clarity about what we’re trying to build. We keep talking about relatively small and specific things, but we never discuss the philosophy behind it all.
Sep 15, 2014 | 825 Words | Read more…

Does It Make You A Better Person?

Does running make you a better person? Does climbing mountains make you a better person? Does becoming a parent make you a better person? Some people seem to believe that it does. And there are plenty of those (especially those that don’t run, climb, or have kids) who believe that it doesn’t. And I tend to agree with them. My deep conviction is that nothing extrinsic can ever make you a better person.
Sep 3, 2014 | 253 Words | Read more…

Key Git concepts

Understanding a few key concepts will help you make sense of how Git works and how to use it effectively. Full history With Git, every repository contains a full copy of the project history, and no repository is inherently more important than any other. Content-addressable Git stores content in files with names that are 40-hexdigit (160-bit) SHA1 hashes. This has some interesting implications. It means for example that Git will never store the same data twice within a repository because identical data would have identical SHA1 hashes and therefore be stored in the same file.
May 23, 2013 | 1439 Words | Read more…

Fitness Proportionate Disk Selection

This is a proposal I made for improving the disk selection algorithm of a distributed file storage system. Current Disk Selection Algorithm The current algorithm randomly selects a disk among the top N percent and assigns it to a given equivalence class. This strategy is suboptimal for a couple of reasons: Even when there’s a great variability of fitness values among the top N percent of the disks, the most suitable disks will have the same probability of being selected as the least suitable disks, thus leading to unbalanced placement.
May 1, 2013 | 507 Words | Read more…

Rock climbing lessons

There are many lessons to be learned from rock climbing, but the following three are the main ones for me. Don’t give up Very often giving up in rock climbing is scarier than persisting—nobody likes falling. Especially if it’s a long and nasty fall. And what you very quickly discover is that in rock climbing, like in life (or Jazz, if you’re a musician), sticking with it for long enough eventually gets you up there.
Nov 5, 2012 | 1337 Words | Read more…

Rock climbing First-Aid kit

Disclaimer: I’m not a doctor, yadda-yadda-yadda. Simply having a first-aid kit in your pack is neither going to keep you safe, nor magically save somebody’s life if you have no idea how to use it. If you climb outdoors, do yourself a favor and take a Wilderness First Aid or a similar class. First of all, your kit should be appropriate for your level of training and for the environment you’re going to find yourself in.
Jun 26, 2012 | 394 Words | Read more…

Markdown + Pandoc Workflow

Requirements This article outlines my setup and workflow for writing documents using Markdown and pandoc. This is a workflow that I personally find natural and convenient. There are some very important limitations (discussed below), but I’ve been successfully using this workflow for quite some time and it seems to be working great. Main requirements for my workflow were: plain text editing keeping track of multiple revisions collaboration with multiple simultaneous remote and offline authors support for multiple target output formats automated publishing (through an external build system and such) Limitations Note that publishing is a one-way process in this workflow.
Jan 15, 2012 | 1274 Words | Read more…

Buckwheat pancakes

This is my favorite recipe for pancakes. I made it a dozen times in the last few months. Please note that ratios are given by weight, not volume. Invest in kitchen scale if you’re serious about cooking, they make getting consistent results so much easier. Buckwheat pancakes are best enjoyed with honey and hot tea. Ingredients (by weight) 1 part organic buckwheat flour 1 part whole wheat flour 2 parts milk 1 part eggs 1/2 part extra virgin olive oil salt and cinnamon to taste Method Separate egg whites from yokes.
Sep 17, 2010 | 212 Words | Read more…

Turtles in my navel

Turtles in my navel are having an argument: “It’s not my turn to take out the trash,” hisses Greg, “why do you insist that it is?” A vein on his right temple is pulsing a steady 60 beats per minute; he manages to stay mostly calm – he loves Patricia, after all. The sun just popped up from behind my left breast. The snails of the morning chill are chased away by the spreading beams of warmth.
Aug 18, 2010 | 232 Words | Read more…