yeti logo icon
Close Icon
contact us
Yeti postage stamp
We'll reply within 24 hours.
Thank you! Your message has been received!
A yeti hand giving a thumb's up
Oops! Something went wrong while submitting the form.

San Francisco Django Meetup Recap (#1 - #4)

By
Rudy Mutter
-
March 26, 2014

Since June of 2013, Yeti and myself have been organizing the San Francisco Django Meetup Group.

We've had eight gatherings with speakers and lightning talks as well as several happy hours. I was told by a colleague at Yeti that it might be a good idea to review each meetup after it happens and provide links or resources to slides, videos, repos, etc related to the event. So here I am, inspired, to do a recap of all of the talks we've had so far and going forward will do one for each event hereafter.

See here for the 2nd part of the San Francisco Django Meetup Group Recap.

#1 Django → Flask → Scaling: Story of Growing a Python API Company

Randall Degges, now developer evangelist at Stormpath, talked to us about his startup he grew called OpenCNAM. It is purely an API company that provides caller ID as a service. His talk was inspiring about finding a good idea and running with it (as well as getting some good luck).

Their company first used Django, Tastypie, and PostgreSQL to create their application. They were able to prototype a beta and get users quickly. Once they got feedback and enough people on the service they decided to rewrite the application for performance and maintainability in Flask + DynamoDB. This greatly decreased the time an OpenCNAM call took and helped them scale out as their user base started to grow quickly.

Meetup Event, Speakerdeck

#2 Django 1.6: The Best New Features and the Important Changes

Julien Phalip, a Django core developer, gave us a walk through on the latest and greatest coming out with the Django 1.6 release.

The first notable difference with Django 1.6 was that it was on a shorter release cycle and a major change for Django. Django previously was aiming for 1 year release cycles while 1.6 marked a push for twice a year major releases.

Two of the major changes with Django 1.6 was that python 3 was now “officially” supported and Django's database transaction management  was much more straightforward and clear. This provides a lot more functionality around when your code actually commits a database change or when you can roll back, which was quite confusing previously.

Meetup Event, Speakerdeck

#3 Django Multicolumn Joins

Jeremy Tillman, a software developer at Hearsay Social, gave us a talk on a patch he made to Django involving multicolumn join support.

Working at Hearsay Social, Jeremy was tasked with working on their database scaling issues where they ultimately ended up sharding their database across different customer sets. Unfortunately, when making queries with Django's ORM, it was not very friendly in this kind of database setup.

Jeremy created a new Django model field class called ForeignObject, which is a replacement for ForeignKey, that can hold a reference to multiple columns on the two models being related. This class provides a lot of utility when dealing with multicolumn joins.

Meetup Event, Slideshare, Django Patch

#4 Helpful examples of Django QuerySet & Django, Postgres, Timezones, and You

At this meetup we had two developers from Counsyl give us shorter talks on Django querysets and timezones with Django & PostgreSQL.

First up, we had Jayson Falker give us a talk on Django Queryset efficiency and how to speed up our database calls with the Django ORM. Some of the topics he covered was profiling your queryset code, when you should denormalize your models, and how to avoid some very poor performing patterns.

Next, Dave Peticolas informed us of the pitfalls with Django, timezones, and PostgreSQL. Specifically we learned about the differences between naïve and aware datetimes in Django and how interweaving the two can make for a bad time. Also we talked quite a bit about daylight savings time and how PostgreSQL & Django handle saving datetimes as well as passing them back and forth to each other.

Meetup Event, Jayson's Slideshare + Audio, Jayson's Github Repo, Dave's Blog Post, Dave's Github Repo

Rudy Mutter is a CTO + Founding Partner at Yeti. He found his passion for technology as a youth, spending his childhood developing games and coding websites. Rudy now resides in the Yeti Cave where he architects Yeti’s system and heads up project production.

Connect with Rudy on Linkedin

You Might also like...

code on a computerManaging Persistent Browser Data with useSyncExternalStore

Struggling to keep React state in sync across tabs and sessions? Learn how to use useSyncExternalStore to manage state persistence with localStorage and sessionStorage—without complex state management libraries. Improve performance and streamline your app’s state logic.

software developerReact Hooks 102: When to Avoid useEffect

Overusing useEffect in React can lead to inefficient components and performance issues. In this post, learn when to avoid useEffect and discover better alternatives for managing state, calculations, and user events. Optimize your React code with best practices for cleaner, faster applications.

software developer codingFintech Security with GraphQL Shield

Securing fintech applications is crucial, and GraphQL’s flexibility can be a security risk if not properly managed. GraphQL Shield helps enforce fine-grained authorization using role-based (RBAC) and attribute-based (ABAC) access control. In this post, we’ll explore why authorization matters, how to implement secure, composable rules, and walk through a demo app showcasing best practices.

Browse all Blog Articles

Ready for your new product adventure?

Let's Get Started