Thanks to all of you who have followed my blog this year. More people visited the blog this year than in its previous 2 years of existence combined. I'm excited to continue writing and starting conversations in 2016.

Most Read Posts of 2015

  1. What Backbone Developers Can Learn From React - A look at lessons that Backbone developers can take from the React community.

  2. Building Modular Web Apps With Backbone.Radio - A deep dive into Backbone.Radio, a messaging system for Backbone and Marionette applications.

  3. ES5, ES6, ES2016, ES.Next: What's going on with JavaScript versioning? - An explanation of the weird and confusing naming conventions for JavaScript versions

  4. Why Backbone.js and ES6 Classes don't mix - An examination of the problems that developers face trying to use ES6 classes and Backbone together. A followup article explored some potential solutions.

Code I wrote in 2015

Most of the code I wrote this year was for my work at Windsor Circle and on a React based side project that is not yet ready for prime time. But I did get

to release a small service library for Marionette developers, and made several contributions to the core Marionette library.

Languages and Libraries I started using in 2015

  • Babel has had by far the biggest impact on my code in 2015. Being able to write modern JavaScript without compatibility concerns has been a breath of fresh air
  • My team switched from Underscore to lodash at the end of 2014, and I've been using it a lot more this year. Like Babel, it changes the way I write code.
  • I don't use it day to day, but I've loved playing with React and Redux. I think UI as a pure function of state with a defined set of user actions/mutations is the future.

Languages and Libraries I stopped using in 2015

  • With ES6 becoming a valid option, I've moved on from Coffeescript. It's a beautiful, non-standard language that is never going to develop the tooling that is building up around the standard JavaScript language.
  • I haven't stopped using jQuery, since Marionette uses it for event handling and ajax, but I've begun looking at direct jQuery-style DOM manipulation as a code smell
  • This mainly happened early in 2014, but 2015 was the first year I didn't write a single line of Java. I haven't missed it.

Languages and Libraries I used (more or less) every day in 2015

JavaScript (ES6), Python, Backbone, Marionette, lodash

Languages and Libraries I want to try in 2016

Elm or ClojureScript, Rust or Go, Flow, Ember, Pandas and other python data analysis libraries

Blogs I started following in 2015

  • 2ality is a great blog by Axel Rauschmayer focused on the JavaScript language
  • is not updated often, but all 3 posts so far have been fantastic
  • is a great resource for functional programming fans who write JavaScript

Blogs I read every post from in 2015

Rands In Repose, Stratechery,,, Little Big Details, Bull City Rising

Software I started using in 2015

  • I started using Atom this fall as my primary code editor. There are things about it I like less than Vim or Sublime Text, but it's configurability and the fact that people have used it to make beautiful, intuitive UIs for tools that I use have sold me for now. I still use Vim on a regular basis when I want to stay in the terminal, and am keeping an eye on Neovim

  • Ghostery is a fantastic ad blocker that focuses on transparency, showing you the ad networks and trackers that are running on a page and allowing you to selectively block ad networks or sites, helpful for those of us who want to support sites we use and allow analytics but are overwhelmed by the slimy, slow state of the web.

  • Overcast is a great podcast app for iOS that has convinced me to start listening to podcasts. (I've enjoyed The Changelog, Exponent, and Serial).

Software I stopped using in 2015

  • Mailbox: RIP
  • OneNote: I made an effort to switch from Evernote to OneNote this summer, but it failed because it's much harder to get stuff into OneNote for those of us who live in Apple-Land. Not enough integrations

Software I used (nearly) every day in 2015

OSX/iOS, Google Search, Chrome/Safari, Gmail, Twitter/Tweetbot, Feedbin/Reeder, Instapaper, iMessage, Slack, Trello, 1Password, Atom/Vim, iTerm, Fish Shell, tmux, Bitbucket, Fantastical