So Long, Farewell or, How Not to Build a Blog

Almost three years ago now, I decided it was high time to create my own blog. My Very Own Blog, I thought to myself. Finally, I will be able to prove to the internet that I exist.

I had some programming experience, but negative zero web development experience, and so I decided to follow the advice — quite reasonable, at first glance — not to create my own blog from scratch, but to use a framework of some kind. It appeared that some other people in DH were using WordPress for their blogs. So — why not? What could go wrong?

Many things. Lots and lots of things.

Among the mistakes I made, one stands out as particularly embarrassing, and I share it here only because I feel duty-bound to help others avoid it. The hosting service I had chosen was a pretty bare-bones operation, and charged extra for sites that use databases. WordPress wants to talk to MySQL, but — stuck in the fixed mindset of a graduate student groping between couch cushions for loose change — I didn’t want to pay for MySQL. By God, I wouldn’t pay for MySQL. I would work around this problem with SQLite! I installed WordPress with the SQLite Integration plugin, and, well, I think you can imagine just how pleased with myself I was.

If I had bothered to actually do any research in advance, I would have quickly realized what an absolutely terrible idea this was. You probably know this already, but SQLite is essentially just a SQL-ified wrapper around an ordinary file, and doesn’t run separately from the program that uses it. So whenever a user tried to load this blog, they had to wait a for all the manifold database queries to complete before anything actually loaded. When the site was very small, I didn’t notice any difference. But even after adding just ten posts or so, I could tell things were slowing down. And it got slower and slower… I tried some things, got sad, and eventually decided to convert the site to MySQL — except that SQLite and MySQL are just different enough to make that hard.

So then I thought “well, I don’t want to post new content on this blog until I get around to converting it.” And behold! A year has passed, and there is no new content on this blog, and there is very little chance that it will be converted any time soon. Furthermore, all the plugins I can find that might aid me — such as ones that generate static duplicates of the site — quickly realize that they have to talk to SQLite instead of MySQL, become mortally offended, and die in resentful silence.

Therefore, today, with a heavy heart, I declare this blog closed for business. I’ve used the wonderful httrack tool to generate a static copy, and will be dropping it in place of the original site; I believe this will avoid breaking any links, and preserve all of the wonderful comments people have contributed over the last couple of years. At some point, I will create a much better blog and republish some or all of the old posts here. We shall not all sleep, but we shall all be changed.

In the meanwhile — thanks for reading.