Starter AWS stack

I was recently giving a friend some advice on how to set up a minimal stack for a starter project, and somewhere along the line realized that my MVP was approaching a dozen different AWS services. Time to stop and start reevaluating life decisions, people. So, I went back to the drawing board, and set up […]

The PERN stack

For the last year or so, I’ve been working in a pretty standard Javascript stack – Mongo, Node, Express, React. Modeled on the so-called MEAN stack, this has the advantage of a native Javascript data store along with some reasonably mature tooling. But I wondered – why didn’t this have its own four letter acronym? […]

Special Skills

Consider the generalist software engineer. She has a solid grasp of CS fundamentals, knows several programming languages, can write scripts, program user-facing front-end code, and work on deep algorithmic problems in the backend. For her, coding is a set of logic puzzles, debugging, patterns and anti-patterns, architecture, and tradeoffs between fast, cheap, and good. Most developers […]

Full-stack Javascript

I’m a Java guy. Or rather, I’m a C++ guy who ended up in Java. I like statically-typed languages, and think it would be cool if Java had double pointers (or at least reference parameter types) and explicit memory deallocation. I spent the better part of a decade coding video games in C++, and twelve […]

Linux commands: find

I’m not a Linux guru. I’ve always known just enough to get the job done, but was never focused on getting deep into the command line for its own sake. Ever since joining the devops team at TripAdvisor almost two years ago, though, and more recently taking responsibility for operations at Scratch, I’ve had to learn a much broader array […]

Cleverness kills

We had a problem. Facebook had just come out with the Like button, and had provided code snippets that allowed you to badge pages with Like counts. The problem was that it took a couple seconds for the number of Likes to load, and in some cases the resulting text was bigger than the allowable […]

The Technologist’s Dilemma

In 1997, Clay Christensen published the landmark book The Innovator’s Dilemma. In this book he went through a variety of industries (hard drives, backhoes, steel mills) and demonstrated the frustratingly similar pattern of how companies innovated, then stagnated – for entirely rational reasons. The key graph looks like this: The idea is that for any product, […]