Slicehost Dynamic DNS

One of the best things about Slicehost is their DNS service. They allow you to host and easily maintain any number of zones you want, even ones that aren’t hosted on a slice. They also provide an excellent RESTful API for automatically modifying these zones and records. This came to mind recently when my free Dynamic DNS host (EveryDNS) was sold to Dyn, Inc.. I decided it was time to grow up and move my dynamic DNS needs to a service for which I was paying. I looked into Dyn’s offerings, but their Custom DNS service is only for a single domain, and seems pricey for what you get. I know a lot of that has to do with their global distribution and uptime guarantees, but I don’t need that stuff.

So, I began writing a little Python CGI that could act as something my home router could use as a Dynamic DNS endpoint. I use Tomato on my Buffalo WHR-HP-G54, and it supports using a custom URL for this purpose. It was surprisingly easy to get this working. I have no idea if anyone else has a similar setup, uses Slicehost, and needs Dynamic DNS, but if you’re out there, I’ve released the code for my little project on Bitbucket. It’s called, not surprisingly, slicehost-dynamic-dns. Grab it, clone it, fork it, use it, whatever you want. It’s BSD licensed for your pleasure. Please drop me a line if you use it, and if you need a feature or find a bug, throw a ticket in the tracker on the Bitbucket project. You could also fork it, fix it, and send a pull request. That’d be cool too :)

Release: Django Celery Email

I just released my first Django reusable app. django-celery-email is an email backend for Django 1.2+ that uses the amazing Celery to process sending the emails out-of-band. If you’re a Python developer and have ever wanted to use a queue to send information to separate processes that will in turn do your bidding and give back to you what you need, then Celery is probably what you want, plus more amazing features that you haven’t thought of yet, but that you desperately need. We use Celery at work, and it’s been invaluable. If you need it, or are already using it, you might as well move the processing of the email your app sends to a queue as well.

The project is open source (BSD licensed) and can be acquired from PyPI via the link above. It’s being developed at my BitBucket account, so please stop by, check it out, and file a ticket if you find anything lacking or incorrect.