Curious about what powers the Dave Seah web machine? Wonder no more! Here’s the latest info, updated
August 8, 2014 February 15, 2023.
Web Host: Opalstack
I’ve been hosted on Media Temple since January 2007, but upon its full acquisition by Go Daddy in 2022 I’ve moved to Opalstack (affiliate link). This is a developer-focused and very reasonably-priced host from the people who built Webfaction (also killed by GoDaddy). They have excellent technical communication. For people like myself who like control over their server without having to get too deep into the command line, Opalstack has been great. The interface is a little quirky if you’re used to Plesk, but it makes sense.
Domain Registration: NameCheap
I’m currently using Namecheap for most of my domains. It’s affordable and not based in the Cayman Islands as DirectNIC (my former registrary for many years) was.
Website Content Management System: WordPress
I’ve run a self-hosted version of WordPress in its various incarnations since version 1.0 in 2004. WordPress has remained a reliable and experiment-friendly platform, easy to modify and change, with a huge plugin and theme ecosystem.
As of August 2014, davidseah.com has over a million words of my own writing and many thousand comments, and I’ve had to learn to tune the setup to cope with occasional bursts of traffic. Operationally, the biggest challenge has been learning how to handle traffic without bogging down the server, and dealing with the security and hacking problems that pop up. While its had its share of security issues, there are now web hosts that specialize in secure hosting and manage that for you at an affordable cost. The other challenge has been designing the look of the website, but in 2013 I started to customize pre-designed templates instead of making my own. This requires knowledge of PHP, HTML, and CSS.
Essential WordPress Plugins
There are a few plugins that are essential to the way I write and post media to the site.
Markdown: Markdown makes it easy to write formatted text without using HTML tags. I recommend using the old PHP Markdown Extra plugin (no longer maintained) or its replacement Parsedown. Newer plugins like JetPack Markdown and Markdown on Save modify your posts so the original Markdown is saved in an alternative location, and if you ever need to export your blog data into a new installation, you will LOSE it. The newer plugins have an advantage in that they don’t need to process Markdown everytime someone looks at a post, but with SITE CACHING (see below) it’s not an issue. As a bonus, PHP Markdown Extra will work with “page builder” plugins. Otherwise, you need to add that support yourself by writing an extension.
Site Cache: Every fancy plugin you add to WordPress increases the load on your web server, because additional processing is done every time someone loads a page on your website. Instead of generating the page every time, a site cache plugin saves a copy of it to re-use. This improves website responsiveness by quite a bit, and it allows you to handle big spikes in traffic should you be lucky enough to write a popular article. I am currently using WP Super Cache because it works with another optimizing plugin called BWP Minify. Previously, I used WP Fastest Cache but it does not optimize as well.
Image Management: I wrote a plugin called Lazy Image Layout which inserts images into blog posts, scaled to the right size. In 2004, this capability didn’t exist in WordPress, and I have seen no reason to change. It does require me to upload images to a special directory and type in code, but ultimately it works much better with Markdown.
Besides the plugins mentioned above and the ones included in my current theme (see SITE DESIGN below) I’m using:
- Akismet – Anti-comment spam filterer, completely necessary to running a blog due to the number of predatory market spammers out there.
- Duplicate Post – Provides multiple convenient ways of making a copy of a post, which is great for writing series of related articles with similar tags and content.
In general I try to keep the number of plugins I’m running to a minimum, and I avoid plugins that seem poorly-written or are very demanding in memory on my server. For example, I don’t use Jetpack because it brings my server to a crawl.
I used to make my own WordPress themes, but I found this to be a joyless task. I started buying pre-made themes in 2014 to customize, the first being Moose Responsive Theme. This theme had a number of fantastic features, but after using it for 4 months I saw how poor the underlying architecture was; it essentially glued together three powerful systems from other developers with little concern for optimization or internal consistency. The developer dropped support for the theme in under a year, and after a recent WordPress upgrade appeared to break the theme, I was forced to move to another one.
I’m now using a theme called Dante from a company called Swift Ideas, which is very similar in appearance and feature set to Moose. The engineering and support, however, seem to be a priority with this company. In re-customizing the theme, I didn’t find any major problems other than one RSS feed bug that they had already fixed for the next release. Most of the customization I’ve done is to adjust spacing and add some custom page templates that remove certain features I don’t need.
I use three different ones, each for a different purpose:
- Mint – Shaun Inman’s real-time statistics program is great for seeing detailed information in the past 24 hours.
- Google Analytics – For more detailed data mining of my stats, my GA account is useful to see longer-term trends that Mint can not.
- Statcounter – I’ve used the free version since 2004, and keep using it because it has an unbroken record of daily pageviews to date.
I use the Adobe Creative Suite for practically everything involving images. For photo processing, I use Lightroom, as Photoshop is rarely necessary these days unless I am doing actual photo touchup or image compositing. An example of the latter are the “promotional banners” I make for the products I sell on Amazon, which combine text with several image sources.