An image of J.A. Brown.
The J.A. Brown logo.

Meaning scientist. Entrepreneur. Polymath. Broadcaster. Game modder. Software developer. Linguist. Social and political commentator.
Free speech crusader. The Man with the MRGA Hat.
The Jordan Peterson Guy. Make Reality Great Again.

home of the
The FISA World Stock Car Championship logo.
“I have sworn upon the altar of God eternal hostility against every form of tyranny over the mind of man”
—Thomas Jefferson

The blog posts are back, or: Why WordPress Sucks

Posted on 22 September 2023 in Programming

Well, well. Where do I start? For about two years (since 3 October 2021, as far as I can tell), the blog posts on this site haven’t been reachable. (It’s interesting to note, I think, that the previous redesign before that was also in October, on 5 October 2020, and right now it’s the end of September, almost October again. I seem to have a thing for redoing my website at the beginning of autumn.)
For the entire year 2022, this website went without a single update, making it look like I had disappeared off the internet, leaving behind a ghost town of a website.
(The reality is that I lost my job at the end of January, then for the rest of the year I was occupied one after the other by: finding a new job, losing that job again, finding another new job, which took a LONG time, and losing my place to live in the process.)
Of course, since early this year, I’ve been updating the site regularly, letting you know what I was up to in the “Current Projects” section on the home page. Still, there wasn’t really a way to get my thoughts and ideas out, which is also what this website is for, in long- (or longer-)form writing, so it was about time I sorted this out.

All this time, the old blog posts were still there, sitting in a database—a relic of the time I used WordPress to manage this site. For the time being, the database is still the WordPress database under the hood, but I’m looking to get rid of that too.
In the meantime, I created a system to dig out the posts, and I didn’t even need a RESTful API to do it, like I thought I would. I just use MySQLi in my PHP backend code to get data from the database. Simple! Easy!

Side note: Expanding on that last remark, I’ve shifted a bit from the idea of using the code of this site to show my programming ability to just making something that works. I have a stable job in software development now, I don’t really need to prove or show off to anyone that I can code, or that I know how to use Latest Web Design Hype™. React, Angular, all these frameworks, JavaScript for unnecessary client-side interaction while this is a static website, AJAX nonsense—what’s it all good for? I just stick to simple PHP and SQL to make something that does what I want it to do. Besides, I have other projects to show off my coding ability. If I want to show that I can make a RESTful API, I can simply use another project for that—like the Werkmemes API, about which I will post an update shortly. No need to make the site all fancy.

While I was creating this system, looking at the blog posts again for the first time on the new site layout instead of the old WordPress one, I was reminded of what makes WordPress so crap. All of a sudden, there’s a lot wrong with the formatting that there wasn’t before, because of the way WordPress works. For instance, WordPress neatly turns straight quotes into curly quotes (check out the page that link points to for some much-needed typography reference)—but it does so only in rendering; it doesn’t actually store curly quotes in the database. So when I pulled the posts out from the database, they had these ugly straight quotes. (You might think it does not matter, but for someone like me, who writes and has an interest in typography, it matters! It’s part of making the site look polished and professional.)
Also, the posts aren’t properly formatted in HTML. There are no paragraphs in the database (just two newlines between blocks of text that should really be paragraphs). To get the margins to look right on my site, I just put the whole text of the post in one paragraph. There are two things wrong with this: 1) it’s not one paragraph, so it shouldn’t be formatted as one; 2) in the case where I actually added a paragraph in the post (for the first test post that I added manually to the database), it broke the layout.
And then WordPress had this neat little trick where, if you put a link to a YouTube video in your post, it automatically embeds the video—but of course, again, it only does that in rendering and not in the database, so when I pulled the posts out of the database, suddenly the embedded videos were all gone.
The only solution to this, which I will now apply, is to manually go back over all the posts and format them properly IN THE DATABASE. Fortunately there aren’t that many posts, so this won’t be that much work.

From then on, I will simply use phpMyAdmin as my content management system, pre-formatting posts as proper HTML and entering them into the database directly, manually. If I grow dissatisfied with that, I might design my own content management system (equivalent to the WordPress editor), but this works well enough for now.

So, in conclusion, as far as I’m concerned, the rundown on WordPress is this: I do NOT recommend using it. Sure, if you don’t know much about coding, you don’t need that much control over the look and feel of your site, and you want to quickly set up a blog, then by all means use it. The upside of this is that it’s easy to do and it works well enough out of the box. The downside is that your site looks like literally every other generic WordPress blog site ever.
On the other hand, if you do want to have control over the look and feel of your site, don’t use WordPress. Make your site by yourself. Learn PHP and SQL. Learning PHP—basic PHP and SQL that will get you as far as creating a website and pulling data from a database—isn’t that hard. I learned it in a few months. If you need more advanced things that you aren’t willing to learn, there are always things like Laravel. If you don’t want to make a site in PHP, you can make one in JavaScript if you must, for all I care. Maybe you can even make one in C#. But personally I enjoy using each programming language for what it’s meant to do: PHP for website HTTP server stuff, JavaScript for client-side rendering (IF necessary, which it often isn’t), SQL to fetch stuff from a database, C# or Java for standalone applications or APIs. The exception is Python, which I use for anything, except making websites, though you could probably do that too if you wanted. My point is: learning enough programming language to make your own site is not that hard, and it’s worth the massive benefit of not being chained to doing everything the way WordPress (or whatever other CMS) forces you to do it.

With all that said, enjoy the site! I hope you will visit regularly so you can keep up to date with what I do.

Back to Writing

This page is best viewed in Netscape Navigator 3.0 with a resolution of 1024 x 768 px.