My avatar across the web: a photo of my feet in grey-white socks and brown sandals.

Ben Babcock

I read, write, code, and knit.

New site who dis?

It has been over five years since the last major redesign of my website! The gap is largely because, as I’ve grown older and become more occupied with adulting and other real-life things, I’ve lost much of my interest in coding. I’m finding it difficult to devote the time required to keep up with advances in technologies like CSS, much less finishing my own designs or tweaking the software needed to keep the lights on.

Still, I stubbornly refuse to give in and just throw up a WordPress site. Never going to happen.

That being said, part of me wondered if this update would ever get out the door. It has been a long time coming. The clunkiness of my website has been the major reason I haven’t blogged since January (way more so than available time or even interest), and sometime over the summer, my blog actually broke entirely (no clue why). I reached a point where I realized I finally had the motivation and the need to finish this upgrade. Fortunately, when I opened up Sublime Text and poked around this project, I discovered that the redesign aspect of the project was almost complete. Whew. I hate designing! I just needed to survey everything, fix some bugs, and then consider how to deploy.

As previously mentioned, I’m powering this site entirely with a custom Flask app now. Symphony CMS served me well for so many years, but with my waning interest in PHP, the time has come to move entirely to Python. For that reason, you’ll notice that this site is exclusively my blog posts right now. I do plan to host my book reviews, complete with lists and other goodies, one day. But if I waited to launch this upgrade until I had that feature ready … well, we would still be waiting, perhaps for years to come!

The frontend design has (obviously) been entirely reworked. As before, I’m using Sass to generate the CSS. Advances in front-end web technologies kind of scare me these days. I know nothing about CSS-grid or CSS animation; frankly, I’m not all that interested in learning, although who knows? Maybe that will change. So I have deliberately kept the design simple. I’m not 100% set on the colour scheme yet, so I might play with that, and other minor elements, in the months to come. But I focused on creating a layout that emphasizes readability of text (because this will mostly be blog posts and, later, book reviews). The layout should also be a little more responsive and mobile-friendly. Finally, I tried my best to make the home page as useful as possible. I know some people (hey Dad, hey grandparents!) use my site as a way to creep my Twitter feed. So I tried to foreground Twitter; my recent blog posts; and for the sake of balance in the design, my Instagram feed.

The most annoying part of the upgrade process wasn’t even redesigning or redeveloping the site. It was deciding how to deploy the upgrade. Ever since I started using Flask, I’ve been hosting my site on a VPS instead of shared hosting. Of course, I’m not a great sysadmin, so my VPS configuration was cobbled together from tutorials. This made it slightly fragile. And it was running Ubuntu 14.04, which I kind of wanted to upgrade, but I was worried that if I even breathed on it wrong, everything would catch fire and all my sites would go down and I’d have no clue how to fix anything.

In the end, I decided the simplest solution was to start from scratch. I created a new Digital Ocean droplet with a fresh Ubuntu 18.04 install. Then I installed all my dependencies for this site and got it running extremely quickly. I was very pleased with myself. There was still the matter, however, of a few legacy sites I maintain. These don’t get updated much, and they don’t even get much traffic, but I would be loath to take them offline simply because I was too lazy to migrate them. These sites rely on PHP and MySQL, however, so they took a lot more effort to setup again. I had to troubleshoot some errors along the way. Still, I will say that even this part of the process went more smoothly than I anticipated.

The last step was to switch over all the domains, and rename references to this droplet from staging to production. Previously I was hosting my VPS with HawkHost. I haven’t decided if I’ll move back to that one after upgrading it, or if I’ll just stick with DigitalOcean—they will likely be less expensive, if they prove to be just as reliable.

I’m so happy I finally have a new site design, and I’m so pleased the transition seems to have been fairly painless. It could still all go horribly wrong—maybe there’s a critical bug in my software, and everything will be on fire again soon! But I feel a lot more confident that when things do go awry, I’ll be able to fix them more quickly and easily. My involvement online all started with a hand-coded website on Geocities back in 2004. I’ve maintained a continuous archive of blog posts for nearly as long. Although the technology, location, and content of my personal website has evolved—like me—over the years, the site itself has always been a cornerstone of my online presence. I wouldn’t be the same without it.

I have plans, like the aforementioned hosting of my reviews here, but the pressure is off. I’m happy with things as they are for now, and I will continue to develop and update more gradually now!