If you are a long-time reader of this website, you have noticed that it now looks significantly different. The old WordPress-inspired theme has been replaced with a stylesheet derived from Twitter Bootstrap, giving mobile and tablet readers a better experience.

Complete R&R

While the visual appearance of the website has changed, just as much has been modified behind the scenes. The server has been completely reinstalled and reconfigured. This took a long period of time, but allowed me to exorcise the cruft that had accumulated on the server since I first set it up in 2009. This server joins all of my other machines in running Debian instead of Ubuntu.

SSL only

The canonical URL of this website has changed from http://www.marteydodoo.com to https://marteydodoo.com, and every page on the site is currently protected by SSL. While this decreases the likelihood of someone stealing my password (although most of my access to the site these days is through SSH, which is already encrypted), it is unlikely to have much impact otherwise.


While my writing makes up the vast majority of the content on this site, I am perennially planning to expand the website with additional media, like the 35 GB of photographs currently stranded on various hard drives around my apartment. Accordingly, the "home page" for this "blog" now lives at https://marteydodoo.com/writing/. Both "home page" and "blog" seem like horribly antiquated terms nowadays, which is part of the reason that I decided on "writing" as a subdirectory name.

At some point earlier this summer, I was asked about the Django underpinnings of this website. I noted that it used a custom blogging application (partially based on examples from the horribly flawed 1st edition of Practical Django Projects, but I hoped to switch it soon to one of the "standard" Django blog applications, like Zinnia or Mezzanine. When redoing this site, I had planned to use Zinnia (since Mezzanine is a Django-based content management system rather than being a true Django application that you can incorporate into existing Django projects), but I quickly ran into issues with the creator's design decisions. When I realized that I would need to do significant customization just to avoid using the default URL structure and templates, much less adding or changing existing functionality, I decided that Zinnia was not going to work.

Since the other Django blogging applications I could find were either even more difficult to use or had been abandoned by their creators several months or years before, I decided once again to roll my own. While the original "blog" application on this site was not reusable due to my inexperience with Django at the time (e.g. hardcoding domain names because of not knowing how to use the Sites framework), the current application might be useful to others. Since it facilitates longform writing, it is called django-longform. Its source code is available on Github.


While there is still some functionality missing from the new website, my main concern is ensuring that I continue to produce new content. There were many times over the past year when I felt like writing, and a few times when I sketched out posts or wrote down a few paragraphs, but inevitably something else (client projects, my inbox, my all-too-frail body's need for sleep every couple of days) stole away my attention.

Based on the fact that it took me a month just to write this post, I do not think it would be a good idea to make promises about my writing output in the future. Still, if I planned this to be my last post, I would have titled it "Goodbye" instead of "Website Redesign."