Anti-semitic NYTimes Crossword?

Probably not, but is this puzzle insensitive?

This post is a departure from my typical rantings on technology, but I feel a need to put this out there.

Let me start by saying that I absolutely love the New York Times Crossword Puzzle and Will Shortz is kind of a geek hero to me. I attempt the puzzle every day via their

Read more

AWS Identity and Access Management (IAM) with Python

Flexible access control to AWS cloud services using Amazon IAM, Python, and boto

With all the AWS services that are now available, our opportunities in the cloud are virtually unlimited. But using any of these services requires access to your AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY and unfortunately, these keys provides complete access to the kingdom. This may not be a problem for some, but for large enterprises, granular access control is a necessity.

Up until recently, we would have been out...

Read more

CloudFront object invalidation in Python

Pythonically purge objects from CloudFront via RESTful API

Amazon Web Services enables the management of all AWS services through some pretty powerful REST APIs. CloudFront is Amazon's content delivery network offering which allows you to serve files out of S3 buckets with much better performance. S3 files are cached at edge servers so that users may download them more quickly. The service plays nice with...

Read more

Concatenating strings in Django templates

Cheap ass hack to append a string within Django templates.

You might think that joining two strings in a Django template would have been simple and straightforward. In modern versions of Django, we can achieve it using the add filter.

{{ "Mary had a little"|add:" lamb." }}

However, in...

Read more

Custom Django management commands on Heroku

Quick solution to a common Django/Heroku problem.

Running Django management commands is easy on Heroku. For example, to syncdb you simply execute:

$ heroku run python your_app/ syncdb

Easy enough. But you may find that running a custom management command to be a little trickier. You...

Read more

DCPython: Architecture at PBS

Slides from DCPython meetup on Jun 7, 2011

Edgar and I had the pleasure of presenting at the DCPython meetup last night about how PBS uses Python, Django, Celery, Solr and Amazon Web Services (autoscaling EC2, RDS) to power many of our sites and services. We focused primarily on the COVE (video) and Merlin (content) APIs since those probably have the most interesting...

Read more

Dear Congress...

A note to Congress regarding SOPA and PIPA

Dear Representative Van Hollen, Senator Cardin, and Senator Mikulski:

The “Stop Online Piracy Act” (H.R. 3261) and the “Preventing Real Online Threats to Economic Creativity and Theft of Intellectual Property Act of 2011″ (S.968) are intended to solve a worthy problem, yet the methods recommended by these bills I find to be completely offensive.

I greatly value the protection of intellectual property, yet I place the values of freedom and free speech even higher....

Read more

Deploying with Fabric and Subversion

Deploying sites with Fabric is a cinch.

Here's a sample fabfile for deploying to production and staging systems directly from Subversion.

def production():
    config.fab_hosts = ['', 
Read more

django-openlike v0.1

A Django template tag for easily implementing and extending OpenLike protocol.

Source code available at GitHub:

Release notes (v0.1):

# django-openlike
Django template tag for easily implementing and extending OpenLike protocol.

See for more...

Read more

django-simplegravatar v0.2

Gravatar support for Django projects


A simpler Django template tag to add Gravatar support to your Django projects. This is based on my 2008 post entitled Implementing Gravatar in Django.


To install this app, simply:

  1. pip install...

Read more

Faetus: An FTP interface to Amazon S3 file storage.

An FTP interface to Amazon S3 file storage.


Faetus is an FTP server that translates FTP commands into Amazon S3 API calls providing an FTP interface on top of Amazon S3 storage.



Amazon's S3 API is awesome and there are plenty of excellent libraries that make this very simple. However, sometimes you don't have control over a system,...

Read more

Faetus v0.5 released!

An FTP interface to Amazon S3 file storage.

Faetus is an FTP server that translates FTP commands into Amazon S3 API calls providing an FTP interface on top of Amazon S3 storage.

This project came out of a specific need I have at PBS. I need to put files on Amazon S3 storage, but the 3rd-party file management system doesn't know how to speak to S3's APIs. What the system does understand is FTP. So I decided to write an FTP server that utilizes S3 storage as opposed to local...

Read more