For the third successive year, I’m doing a quick digest of what tools I used for the first time in the past year. I subscribe to the idea that your capacity to be productive (as an individual, team, firm, or society) will asymptote relative to your ability to utilize (and build) specialized tools. And I think software is a microcosm of this; each layer of the stack has different components that are good at different tasks, and by composing a mesh of these tools, you can build high-quality applications.

Usual caveat: my goal with each of these was to learn just enough to see how they work at a basic level, and it’s safe to say that I am a noob at all of them…

  • Redis

    I am late to this party, but Redis is delightful. To learn the basics, I was using the CLI, then added it in as a cache to a containerized Flask app. Redis could be a case study in how to build an open source tool that does its job really well and won over the hearts of developers. It’s some of the best user experience I have seen for developers: a beautifully-clean API, and awesome CLI, and great documentation.

  • Gatsby

    Site generators and decoupled app architectures are really interesting to me. I’m extremely bullish on the JAMstack paradigm/ecosystem, and I have spent time with Jekyll and Hugo. Gatsby is very popular and I wanted to check it out. The good: React and GraphQL, along with Gatsby’s excellent documentation and generally easy-to-use CLI. The bad: I just don’t love the JS tooling world. It feels overly-complicated and bloated to me. That said, I wouldn’t bet against JavaScript.

  • A little bit of kubernetes

    This was just enough to familiarize myself with it. At a 100k foot level, I find a lot of conceptual appeal in the idea of portable, scalable orchestration. But the devil is in the details here, and the current state of k8s feels like an interim step with too much complexity. Cindy Sridharan said it well:

    Right now the cloud native ecosystem is a bit of an embarrassment of low level riches. As an industry we need to innovate, experiment and educate more on what the right “highest level abstraction” would look like.

    I’m bullish on ideas that are pushing toward that higher-level of abstraction to make this process less painful while still realizing some of the benefits.

  • Power Laws

    One of the things that I spent a lot of hours on this past year was understanding some of the more nuanced traits of a power law distribution. There has been extensive writing about how venture returns follow a power law (or perhaps lognormal) distribution, and I wanted to play with the math to better familiarize myself. I generally prefer to use Python for any numerical analysis, and the powerlaw package was where I spent most of my experimenting time. Investing in startups is a simple concept with a lot of nuance behind it, and the portfolio theory matters a lot. Jerry Neumann had a couple of great pieces on this topic, and AngelList just came out with an interesting study along the same lines.