Hexagonal Architecture in Action

I’ve been an advocate of the single-responsibility principle for a long time. I’ve used it effectively on several projects to make sure that each individual class or function has a singular purpose. It’s definitely kept me from making an unholy mess out of some of the more complicated projects I’ve worked on. However, particularly with […]

Time and Relative Distance in Source (Code)

Reasoning about a program’s behavior is extremely tricky in the best of circumstances. When you throw in asynchronicity, it is the absolute worst. It’s like your code is trapped in a convoluted time travel movie. You want to perform some operation, but that requires stepping into a time portal and coming out at some indeterminate […]

My 2017 Developer Resolutions

We’ve just started a new year, so I think it is a good time for us software developers to give some thought to where to focus our learning efforts in the coming months. In the spirit of making overly ambitious resolutions, here are the software development topics I intend to explore in 2017.

Making Ember Objects More Strict: Only Access Defined Properties

Ember.Object provides a flexible starting point for creating models in a single-page web application. It can hold simple data members, define computed properties that automatically update when dependencies change, run a callback when properties change, and extend parent “classes” to create new types with additional members. That said, I think Ember can be a bit […]