Joy Jar

I just released a small web app called Joy Jar. I made it for storing away precious memories and pulling them back out when you need to think happy thoughts. The idea is that when something makes you smile – an inside joke! a bit of nostalgia! a hopeful wish! – take…

Chicago, Where's My Car?

August 24, 2019: This website is no longer maintained. I created Chicago, Where's My Car? to make it easy to find out if your vehicle has been towed or relocated by the City of Chicago, and to where. It utilizes ember-socrata, the Ember addon I recently created, to consume data…

Ember-Socrata

I recently created an Ember addon for consuming Socrata open data resources: ember-socrata. Subsequently, someone over at Socrata found my library and asked me to write a bit on how to use it, so I created a quick follow-along tutorial and live example.…

Ember-Syncano

I was recently hired by a company called Syncano to write their official Ember CLI addon: Ember-Syncano. I'd never written an Ember CLI addon before, so it was a learning experience for me. I feel like I should write more about my experience, but I think I may contemplate my…

Professional, Published Author

I wrote an article for the Code School blog: Dynamic Sorting in Ember.js to coincide with the recent launch of their new Ember courses. My twenty-two-year-old self would be proud! His dream of getting paid to be a freelance tech journalist is finally realized ... ten years later. It feels…

Dynamic Sorting in Ember.js

January 7, 2019: This article was originally published on the now-defunct CodeSchool.com blog. See the Internet Archive snapshot. Most modern web applications that display lists or tables of data often offer the user some mechanism for sorting that data dynamically. From the developer’s point of view, this would…

California Crystal

California Crystal is a simple WordPress brochure site utilizing a purchased, prepackaged theme. Unfortunately, the theme turned out not to that well designed (but it was really cheap, so I guess that's to be expected), so I had to make some heavy modifications to it to make it work. All…