Posts

  • 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 InHerSight.com 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

    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

subscribe via RSS