Migrate your Python app to Facebook OAuth 2.0
Facebook recently started enforcing OAuth 2.0 on app developers. Supposedly this was slated for Oct 1, 2011, but in practice it seems to have not started un...
Facebook recently started enforcing OAuth 2.0 on app developers. Supposedly this was slated for Oct 1, 2011, but in practice it seems to have not started un...
This jQuery snippet will turn an INPUT element into a hashtag input control. For example, if the user type "jobs business networking", it will translate it ...
Whenever I get up from my desk, I reflexively lock my workstation. Ever since upgrading to Ubuntu 11.10, this has failed to put my monitors into suspend mod...
One of the great things about Django's caching framework is that you can cache complex objects. Say you have a list of dictionaries representing favorite mo...
Running a java JAR as a daemon in Linux is fairly easy, but it took me some digging to figure out how. This is using the new upstart init script functionali...
What if gmail went away tomorrow, or at least deleted all your mail? It may not be as far fetched as you think. It's always prudent to have a backup.
We recently starting using Varnish to cache un-authenticated requests to our web farm. It even has this great feature called grace mode, where it will keep ...
Typically, I try to implement a dynamic UI feature without javascript on the first pass. Then, I layer in a little javascript goodness to make it more respo...
For the most part, objects allocated by Django are short-lived, and are eligible for garbage collection when the request ends. In our case, we also have som...
Do you know how many database queries your Django pages are making? If you're like me, you probably don't know exactly. That's the beauty of the ORM; it abs...