Latest Posts

  • A Dependency Checklist

    Unless you’re working for a large corporation with strict security guidelines, you may not think too much about adding a new third-party dependency to your project. However, even if you’re the sole developer or working on a small team, choosing dependencies should not be taken lightly.

    Read more
  • Avoid Ruby Hash Defaults

    In Ruby, like most languages the default value for a hash is nil or empty. You can override this behavior with your own default. Here are some reasons to avoid using this feature.

    Read more
  • Why I Love Code Comments (Now)

    Should I add comments to my code? It turns out this is a controversial topic that has much more nuance than you’d think at first glance. Here are the various approaches I’ve used and why I now write a lot of comments.

    Read more
  • Start Thinking About Connection Timeouts

    When an application makes an HTTP request to another service, the application surrenders control of its performance to that external service. If it takes 10 seconds to respond, the application waits for 10 seconds. To stay healthy the application needs to set appropriate timeouts to limit the impact of flaky external services.

    Read more
  • A Portable Shell Script Template

    Often write small utility scripts to perform repetitive tasks. More often than not, throw-away scripts become tools I come back to over and over. I’ve decided to spend a bit more time on polish so that when I use the script again, it is documented and easy to use.

    Read more
  • How to Fail Better

    Software development is like an art. Every project starts with a concept, an idea that organically unfolds into something beautiful. That is the creative process that makes my work worthwhile. However, for every masterpiece there are a thousand failures. How should software developers deal with failure?

    Read more
  • How I Set Up GitHub Pages

    I was suffering from analysis paralysis trying to choose a platform for this blog. Out of the hundreds of options, GitHub Pages and Jekyll provided the right balance power and simplicity. I’ll explain why, and how to get started.

    Read more