Alert Fast

A dichotomy I often see in many different teams and projects, is the dilemma between “failing fast” and “failing gracefully.” Here’s a simplified example of what I see far too often, and gets to the core of the dilemma. public String generateGreeting() { try { return “Hello ” + getName(); } catch (Exception e) { … Continue reading Alert Fast

SSH Considered Harmful – Why you shouldn’t be using raw ssh sessions

No, there hasn't been any new vulnerability found in SSH, nor am I denying the usefulness of SSH as a building block in the dev toolchain. This article is about why you shouldn't be (and how you can avoid) using raw SSH sessions for development work. Here’s a little story. I spent many years working … Continue reading SSH Considered Harmful – Why you shouldn’t be using raw ssh sessions

Rethinking Software Testing: Perspectives from the world of Hardware

The conventional view of Software Testing The hardware and software worlds may seem poles apart, and in many ways, they indeed are. But there’s a wealth of knowledge that each can learn from the other. Despite the seemingly massive differences in the final product, they share more in common than you might expect. Computer engineers … Continue reading Rethinking Software Testing: Perspectives from the world of Hardware

An Alternative to Dependency Injection Frameworks

I have a confession to make. I hate Dependency Injection (DI) frameworks. My very first job as a Software Engineer involved working with a very complex system that powered a ~100 person hedge fund. We made extensive use of Dependency Injection… but only via Constructor or Setter Injection. We did not use any DI frameworks … Continue reading An Alternative to Dependency Injection Frameworks

Building a WebApp from A-Z: The Caucus Tech Stack

When building Caucus, my first personal project, I had a couple of core goals and philosophies that I used to guide all my decisions. Keep it simple. Keep it small. Be very lazyFocus ruthlessly on your user experience and value add. For all other distractions: Outsource and minimizeEnable rapid scalability to millions of visitors if … Continue reading Building a WebApp from A-Z: The Caucus Tech Stack