Distributing django applications

I had a report that version 1.2 of my codehosting package did not include all of the required files. It turns out I messed up the setup.py file and left out the templates, images, and CSS files. Oops. In the process of trying to fix the setup file, I discovered that distutils does not include package data in sdist. Not a big deal, since I just created a MANIFEST.in file to get around it.

Things to Do

In no particular order: Cull my Google Reader subscriptions. 364 is too many. Finish reading Dreaming in Code. Add tagging support to codehosting. Verify all of the domains under my control with Google Web Master tools. Create a Trac plugin for code reviews based on the process we use at work. Change the monitor feeds on CastSampler.com so they do not include items without enclosures. Enhance BlogBackup to save enclosures and images linked from blog posts.

Archiving mail on IMAP server

Version 1.4 of MailArchiveByDate now supports archiving to IMAP folders. It works exactly as expected for me, but some users have reported problems with the script not creating new mailboxes. If the mailbox exists, the messages are moved. I have not been able to reproduce the problem myself using dovecot on Fedora Core 4 or Scalix (which is supposed to look like an Exchange server).

User interface research

This research by Jeff Han at New York University is very cool. I can’t wait to get my hands on one of those drafting tables!

How NOT to Backup a Blogger Blog

Over at the Google Operating System blog, they offer a way to “backup” your blog. It is mostly a manual hack to load the entire blog into one page in a web browser, then save the resulting HTML, though a similar technique is offered for saving the contents of your XML feed. There are a few problems with this technique: It depends on knowing how many posts are in the blog, up front.

Hawk Wings and Mail Archiving

I’m a little behind on my reading, so I just noticed that Tim over at Hawk Wings is linking to MailArchiveByDate. I guess that explains the email I’ve received in the past few days asking for help. :-) Tim comments that my update notes for the 1.2 release don’t convey much meaning. I looked, and sure enough, they aren’t end-user-ready release notes. I’ll try again. The original version of the script asked Mail for the current selection.

Better blogger backups

I have enhanced the blog backup script I wrote a while back to automatically find and include comments feeds, so comments are now archived along with the original feed data. The means for recognizing “comments” feeds may make the script work only with blogger.com, though, since it depends on having “comments” in the URL. This does what I need now, though.

Adium 1.0

My ChatMonitor script does not work with Adium 1.0. It looks like the “chat” object no longer contains “content” objects. I haven’t yet figured out how to get the content from a chat window. Oh, well. I guess it’s time to order those OS X programming books!

Adium ChatMonitor

We recently set up our own Jabber server at work. For a short time we had been using an IRC server, but decided for a variety of non-technical reasons to switch to Jabber. The benefit is now I only have to run one chat client (Adium). The downside, is I miss the feature of Colloquy which had a special notification event for when I was mentioned by name. I searched for a while, but didn’t find any way to add such a notification to Adium.

CastSampler.com monitoring feeds

On the plane back from Phoenix this week, I implemented some changes to the way CastSampler.com republishes feeds for the sites a user subscribes to. The user page used to link directly to the original feed so it would be easy to copy it to a regular RSS reader to keep up to date on new shows. That link has been replaced with a “monitor” feed which uses the original description and title for each item, but replaces the link with a new URL that causes the show to be added to your CastSampler queue.