Blog reset

by Rob Martin on

Regular version

My blog had been hosted on a legacy shared server account that I don't manage, running Wordpress. I was frankly embarrased to tweet links to it - often it wouldn't come up at all. Now that's all changed. Now my blog is on Django. (But only kinda.)

A month ago I heard from a potential customer in Chicago who needs to move a site from Wordpress to Django.[1] They'd heard about me in particular from a colleague, and wanted to know if I could help.

Of course I could! I've been learning Django for months. I even have the Django book.[2] I've even read the Django book. Parts of it, anyway. And I do have tickets for DjangoCon[3] in Portland next month.

I'm afraid the colleague might have oversold me. It wasn't complete radio silence when I said I didn't have any production Django sites she could look at, but it was close.

"But I was thinking of moving my blog onto Django. I could probably have that done over the weekend." I could hear her slight sigh of relief.

I didn't move my blog onto Django that weekend. What I did with my weekend was build out two sets of high-availability server pairs and write up a how-to on the same.[4] Then, at 5:30pm on the night before my 6:15am train to Chicago to meet with this customer, I sat down to figure out how I could get my blog onto Django, quickly.

I was already somewhat familiar with Hyde[5]. It's a static site generator written in Python, inspired by a remarkably similar Jekyll[6] written in Ruby. Conveniently, Hyde is also based on Django, using both the settings.py file and Django templates, so I'd be able to use some of what I already knew to show off what I might be able to do for a customer using Django. Because that's what every customer needs, right? A small, unobtrusive, under-designed blog-like website that uses Django templates?

My whole blog did not get moved that evening, but I did post the high-availability write-up in a blog section of a website I called "proof of concept". That was convenient, since the new site is hosted on one of the server pairs I'd just built, and the write-up was a key take-away for my presentation at Web414[7] the next night on cloud hosting.

A couple of weeks passed before I got back to the project, but I did finally move my blog. I also improved the design some, though of course it's still small, unobtrusive, under-designed, and blog-like. I did away with almost all of my inline links in blog posts, opting for footnotes instead. Not only does this make the reading easier (and less spammy-looking), it gives me more room to be snarky[8] out-of-band. (There are many fine examples of footnoting bloggers, but as usual Barbara[9] has the most influence on me.) I'd also been wanting to use Disqus for comments, and figured it'd be best to do that while I only have 8 comments to figure out what to do with. (Note: if you are one of the people who'd commented on my old blog, please accept my apology as I decide how, when, and if to move them.)

I haven't heard back from the Chicago customer yet, which is probably okay because they wanted freelance, and I would want to run it through QMUXS.[10] But in spite of the dubious benefit of the sales call, I worked through the new high-availability challenges, built up the new servers, got to work with Django more, and built a new fast fast fast website for version2beta.

I hope you enjoy it.


  1. Django is the web framework for perfectionists with deadlines. Often, it's also the web framework for perfectionists with deadlines on really big websites, like Disqus, the [Washington Post][washpost], and the [New York Times][nytimes].

  2. The Django Book is about working with Django. It's published under the Gnu Free Document License.

  3. DjangoCon is the Django community conference. This year it's happening in Portland, OR on September 6 - 10. We're going.

  4. See my blog post, "High Availability Linode Pairs".

  5. I like Hyde and I'm pretty impressed with it. At least, at version 0.4. It's also getting a complete rewrite and is currently available in a version 0.8 flavor as well that uses Pocoo's Jinja2 templates instead of Django's templates. I don't know how I feel about that version yet.

  6. I already told you that Jekyll is like a spin-off of Hyde, except that it came first, right? Really, Jekyll is very cool. I don't program much in Ruby, but I know enough to understand why programmers who use it love it. One very interesting site running on Jekyll is The Cyborg Institute, not the Wiki but all of the static pages. Also, both Jekyll and Hyde do this cool thing where you can host a site right from GitHub. I haven't tried it (need to justify my servers, right?) but it certainly has some advantages.

  7. Web414 is our local professional web designer/developer/master/writer/worker/etc. group. We have good people in Milwaukee.

  8. You didn't really follow a footnote for "snarky", did you?

  9. Barbara footnotes her footnotes. I am not so dedicated. But if you want to see, check out her post-feminist rant on Blogher, written from her hotel room at the convention. It's not the best example of footnoted footnotes, but she says some pretty important stuff in it. If you want to see gratuitous footnoting in action, try her Life is in the Subtext post.

  10. QMUXS is Quintessential Mischief LLC, the company that Barbara owns and for which I work. As I've said elsewhere, I’m available for freelance work only under limited circumstances. Generally I determine what these circumstances are on a case-by-case basis, in cooperation with my employer. I don’t like my employer to think I’m competing with her. It’s not good for our marriage.


Regular version