Other articles


  1. Upgrading Django

    Upgrading Django

    For the second time in a few years I’ve found myself doing a number of Django upgrades. It’s a good thing: I’m happy the framework I chose to base most of my work on when I went solo has stayed relevant. But this time I …

    read more
  2. Debugging a Vue.js Error

    Debugging a Vue.js Error

    I know it’s been a while and I really should write more often, but this is just a quick one for Google to index in case it happens to someone else: I recently wrote my first vue.js component and was really pleased with …

    read more
  3. Ground Energy: Ground Energy

    Ground Energy: Ground Energy

    2014-10-21

    Internet of Things project optimizing ground source heat pumps for homeowners and businesses

    Built and currently maintain (and extend) the Django codebase that powers Ground Energy. The system receives status reports from geothermal installs once per minute, logs them to the database and provides both …

    read more
  4. Django Profiling Bug

    Django Profiling Bug

    I’m doing some work profiling a large Django application and I was running into this weird error when I tried to aggregate the stats with gather_profile_stats.py which comes with Django. It kept throwing TypeError: zip argument #1 must support iteration if there were two profile …

    read more
  5. Checking on memcache’s health

    Checking on memcache’s health

    From time to time a client on WebFaction will experience a hiccup in their memcache process. It’s not obvious at first unless the site is under heavy load (New Relic is a huge help in diagnosing the problem); this post is just a central …

    read more

social