Going Nuclear with Git Removal

We recently had a developer commit several large movie files into the git repository. Although this can be reverted with a simple call to git rm, it doesn’t entirely solve the problem. Since git is just tracking snapshots, the mp4 is still in the repository’s history. Every time you initiate a git clone, you will be pulling down that mp4 file. This is unnecessary bloat and should be removed. Here’s a guide to completely torch a file from git so that it is as if it never existed in the first place. »

Django Caching with Redis

Django has a pretty good documentation page for enabling caching on the framework. It gives an overview of why caches are a good idea, when to use them, and the various configuration options to make your backend play nice with Django. However, of the four backends mentioned in the docs (memcached, database, filesystem, local-memory), Redis is not listed as an option. This is surprising as Redis is a key-value store that works very well as a cache server and compares favorably to memcached. »

The End of Object Inheritance

Here are my notes from the PyCon2013 talk given by Augie Fackler & Nathaniel Manista titled The End Of Object Inheritance & The Beginning Of A New Modularity. That link will bring you to a youtube video of the talk. Three Premises for Software Augie & Nathaniel first discuss three basic concepts that are “uncontroversial” in software development. Use types for nouns When we are talking about data and components that we need in the system, we are using types to refer to them. »