• Django inclusion tags can modify page context

    Django inclusion tags are super useful, but they have a fun quirk that could create some havoc.

  • Django Reversion + Wagtail = magic

    Track versions of Wagtail snippets for an automatic audit trail to find the bad guys.

  • Optimize the Django ORM

    Recently, I have been optimizing some functions that were slower than expected. As with most MVPs, the initial iteration was to get something working and out there. Looking at Scout APM revealed that some of the database queries were slow, including several n+1 queries. The n+1 queries happened because I was looping over a set of models, and either updated or selected the same thing for each model. My goal was to reduce any duplicate queries, and squeeze out as much performance as I could by refactoring the naive, straight-forward operations into more performant equivalents.

  • Sprinkling some Magic into Django

    I (mostly) love Python and I have a lot of experience building sites in Django, so it is my go-to framework. The database ORM, request, response and templating fundamentals of Django are rock-solid, however, using it with a more modern JavaScript framework does not always feel as seamless. The work being done in for channels is intriguing, but fundamentally Django is a server-side webstack. I was having a hard time finding best practices for using the best of Django for its strengths, but also create the interactive experience that users expect in a modern web application.

  • Searching within an area with GeoDjango and PostGIS

    One feature of that has been proved to be extremely useful is the ability to use location as a filter when exploring potential companies. Luckily, we are using Django and PostgreSQL which has robust support for geographic querying using GeoDjango and PostGIS. I also utilize the awesome django-cities package for an astounding amount of data related to places.

  • Curated list of software bootstrapping resources

    Bootstrappers, microISVs, micropeneurs, small software businesses — whatever you want to call them, they are way more interesting (to me, anyway) than the over-hyped Silicon Valley bullshit that so many are infatuated with.

  • Callbacks considered a smell

    Here are the ways I have approached dealing with nested callbacks in my own JavaScript code. My samples all set 3 keys in a fake database, then retrieves those 3 keys and prints the values as a decent approximation of dealing with callbacks and I/O. These samples were part of a Intro to Node.js talk I gave at The Motley Fool. The code is located at

subscribe via RSS