Grammar checking – Grammarly and alternatives

I have a bunch of stuff to blog about today, and I sat down expecting to write a long rambling post, but then I got sidetracked into some grammar checking stuff, so now I’m writing a post about grammar checking.

As part of my general mucking around with AI stuff, I decided to finally give in and sign up for a Grammarly account. I’ve always avoided Grammarly, mostly because I’d heard very bad things about their privacy policy and practices, back in their early days. I guess that’s gotten better, and they have a page on their site with many assurances about how they don’t sell your data, and so on, so maybe they’re not so bad now. We recently acquired some kind of site license for Grammarly at work, but that’s only available to salespeople, I think. But the fact that we’re paying for it at work indicates that they are likely taking privacy pretty seriously, otherwise they wouldn’t have gotten past our InfoSec folks.

I briefly installed the Grammarly app on my Mac, but that quickly got to be more of a pain than a help. Most of my writing on my Mac is in Evernote, and Grammarly works there, but I’m not generally writing in complete sentences in Evernote, so most of Grammarly’s advice there is more of a hindrance than a help. So I removed that. It occurred to me that the only place where I really need Grammarly, in my personal life, is on these blog posts. This is really the only long-form writing I do where I’m trying to write in complete, grammatically correct, sentences. So, for now, I’m experimenting with copying & pasting my posts into the editor on the Grammarly web site, making any corrections there, then copying back into WordPress. Overall, that’s helped me catch a few minor errors, but nothing worth paying a lot of money for. And I’ve found that I can’t copy the whole text from Grammarly back into WordPress, since it’ll muck up the HTML, so I have to see what Grammarly wants me to fix, then fix it myself in WordPress, which is time-consuming. There’s probably a way around that, but I’m not sure what it is.

So I can keep using the free version of Grammarly, I guess, but I don’t know if I will. It’s a little aggressive about trying to get you to upgrade to the paid version, and it’s not that much help, really.

I’ve started to look around at alternatives to Grammarly too. There seem to be two primary ones: Ginger and Hemingway. Ginger is much like Grammarly: similar tools, similar pricing. I didn’t spend too much time on it. Hemingway is a bit different. It does an analysis of your writing style, focusing on several things, but it doesn’t seem to do the simpler checks that you get from Grammarly and Ginger. For instance, it doesn’t seem to catch simple homonym errors, which is honestly the most frequent error I make that isn’t caught by spellcheck.

I was curious about comparing the privacy policies of these three products, so I asked Bing Chat to compare them. It came back and told me that all three products had similar policies, but the sources it cited all came from Grammarly’s policy, so it was obviously hallucinating the info for Ginger and Hemingway. (And, as is normal with these things, you’d never know that without checking sources.) I asked the same question of the web search assistant in Poe, and that did a little better, though I suspect that it was also bullshitting somewhat (which is probably a better word for it than “hallucinating”). In short, Hemingway seems to have a slightly better privacy policy than Grammarly or Ginger.

The Poe results referenced a couple of useful comparison articles that I checked out. One of them was WordPress-specific, so I read that one. It mentioned a Jetpack grammar module, which sounded like exactly what I need, so that was exciting, but it turns out it was discontinued in 2019, so that’s not an option, unfortunately.

So I guess the end result here is that I still don’t know what to do. I don’t really want to pay $100+ per year for Grammarly or Ginger, so I’ll stick with the free Grammarly account for now and see how it goes. Maybe I’ll just keep proofreading my posts myself.


WordPress backlinks, self-pings, and more

My WordPress install has mostly been on auto-pilot lately. But a few things have cropped up recently that have got me looking at it again.

First is a minor issue that I’ve been meaning to look at for a while. My site used to do “self pingbacks” but those stopped working a while back. A self pingback is essentially a backlink within the blog, so if you write a new post (A) and link to an old post (B), then that old post (B) shows the pingback from post (A).

I’ve been thinking about these recently, since both Evernote and Obsidian support backlinks within your notes. Evernote added the functionality earlier this year. In Obsidian, I’m not sure when it was added, but it’s available in a core plugin. I find it useful, both in note-taking and on the blog. So I put a little effort into trying to get it working again today.

It’s not easy to track down information on this subject. If you search for “WordPress self pingbacks,” you’ll mostly get info on how to stop them rather than how to fix them. I guess a lot of people don’t like them. And if you search for “WordPress backlinks,” that mostly gets you SEO stuff about how to get other people to link to your blog and drive traffic to it. In blog terms, “backlinks” usually refer to links to your blog from other blogs, not from your own blog. So that’s mostly useless. My best guess at this point is that either my host (IONOS) is blocking them, or my current theme doesn’t support them. It seems like most people aren’t too enthusiastic about them.

So looking for alternatives, I thought about turning on the related posts functionality in Jetpack. That might not always surface back-linked posts, but it would be a good start. Well, long story short, I can turn that on in Jetpack, but then it doesn’t stick. Not sure if that’s something simple, or some bigger issue. (There are other plugins that can do related posts, but I haven’t tried playing around with any of them yet.)

That all led me down the path of thinking about what I’m doing with Jetpack, vs. what I’m doing with my install on IONOS, and whether or not it was time to switch to a managed site. Every time in the past that I’d looked at managed sites, they were more expensive than just doing my own thing on IONOS. And, in some cases, offered less flexibility.

In theory, I could switch over to my host’s official WordPress hosting, rather than my current generic hosting, and maybe that would get me something. I’m not sure though. Or, I could give up and switch to, which would certainly simplify things, but I’d be giving up some stuff too. Sigh. I guess I’ll stick with what I’ve got for a while longer. It’s mostly working the way I want it to.

new WordPress theme and PHP version

My second pointless project today, after spending the morning messing with bookmarks and browsers, was to find a new theme for this blog, and update the version of PHP that I’m using.

I’ve been using the Stargazer theme for a long time, and I’ve been really happy with it. But it hasn’t been updated since 2018. And I’ve started getting PHP errors on this site. I also noticed that I was running PHP 7.4, and should probably switch to 8.0. Doing a little testing with that revealed that Stargazer definitely would not work with 8.0. So I decided it was time to upgrade to a newer theme.

I tried out a few free themes from and I didn’t find anything that was quite what I wanted. After trying a bunch of stuff, I’ve settled (for now) on the Twenty Sixteen theme. Twenty Sixteen is, of course, the default WordPress theme for 2016. I tried out a couple of the newer ones, but they weren’t right for me. Twenty Sixteen has a right sidebar, a header that doesn’t look too bad, and a fairly clean layout. I don’t know if I’m going to stick with it, but it’s good enough for now.

After installing it, I upgraded my PHP install to 8.0. That seems to be working fine. So at least now I’m running a recent PHP, a recently-updated theme, and a fully up-to-date WordPress.

I’d really like to switch to something a little more customized, but this is good enough for now.

Blogging vs. blog setups

I saw this comic on Twitter this morning, and immediately started thinking about where I fit on it. The comic is from, and I hope he doesn’t mind me pasting it in here. (His blog is worth a look, by the way.)

This site started out under Blogger in 2001, so it kind of fits the “old-ass site” description, but I moved it to WordPress in 2014, so it kind of almost fits the “WordPress setup from 2004” description too, though a decade later. (And before Blogger, I was doing some proto-blogging on my old GeoCities site, which would definitely have fit the “weird dude who writes raw HTML” category. I’d like to have some claim to the “cool MIT professor” data point, but I’m nowhere near that one.)

On the “number of posts about elaborate blog setups” axis, I like to think I don’t spend too much time blogging about blogging, though of course that’s what I’m doing right now. Looking at my stats, I have 62 posts tagged “Blogger”, 52 posts tagged “WordPress”, and 2,442 posts total here. So, yeah, not too much meta-blogging.

Of course, for me, initially, part of the point of blogging was to learn about HTML, web hosting, the UNIX command line, and stuff like that. And when I switched to WordPress, part of the point there was just to learn more about WordPress, for professional reasons. But my work now doesn’t really involve any of that stuff, so now the blog is just a blog and I don’t fiddle with the setup that much. I’ve even thought of moving it to, so I don’t have to worry about the setup at all.

Content-wise, I wish my blog was more interesting/useful and less navel-gazing, but I’m kind of okay with navel-gazing right now, since it’s been a rough year and the blog is one of my only outlets for getting stuff out of my head now. I could go see a therapist, I guess, but my blog hosting is only $14/month, and I’m pretty sure therapy would cost a lot more.

tinkering with WordPress

Just for the sake of doing something useful today, I decided to tinker with my WordPress setup a bit. I’d upgraded to WordPress 5.5 in mid-August, then updated my version of PHP from 7.3.21 to 7.4.9. And, a little later, I switched to a new syntax highlighting plugin. I had one more major thing on my to-do list: upgrading to a newer version of MySQL.

My host, IONOS, makes it easy to switch PHP versions; you can do that right in their control panel. But you can’t just switch to a new MySQL version. You have to create a new database, export you data, import it to the new database, then edit your WordPress config file to point to the new database. So I did that first on my test database, and it worked fine, so I went ahead and did it with my production database too.

It had been a long time since I’d done anything even vaguely low-level with MySQL. The IONOS control panel lists your MySQL databases and gives you a link to get to a phpMyAdmin site for each of them. From there, you can backup, restore, run queries, and so on. On my first try, I forgot that you need to edit the backup SQL to remove the “create database” command, and edit the “use” command to point to the new database. But once I figured that out, I didn’t have any problems.

My old test WordPress install takes up 19 MB in the old database and 35 MB in the new one. I’m not sure why the new version is bigger than the old version. I could probably figure that out, but it’s not really important. The max size on a MySQL database in IONOS is 1000 MB, so I’m fine there. The production blog is 60 MB in the old database and 87 MB in the new one. So if you ever wondered how much space 20 years of blog entries takes up, it’s apparently 87 MB.

I did all this on my PC, rather than my Mac, and it turns out that I didn’t have an SFTP client installed. On my Mac, I generally use Commander One for SFTP file management. On the PC, I’ve recently started using Directory Opus as an Explorer replacement. Opus includes SFTP support, but it’s an add-on purchase, and I hadn’t bothered with it when I paid for my license a few months ago. I went ahead and enabled a trial of the FTP functionality today, and it worked fine. So I’ll probably pay for it when the trial expires. It’s only $10.

The first thing I did after switching to the new database was to run a WordPress site backup with UpdraftPlus. I’ve been using UpdraftPlus for a long time. I’ve stuck with the free version, which is good enough for me. The paid version is $70, plus $42/year after the first year. That’s not bad, I guess, but I don’t really need it.

The next thing on my WordPress “rainy day” list is to maybe look into switching to a new theme. The Stargazer theme that I’ve been using since 2014 hasn’t been updated in a couple of years and is being “phased out” by its developer. He’s replacing it with something called Exhale, for which he’s charging $50/year. I don’t have a problem with that, but I’d like to stick to a free theme, if I can. (If I was actually making money off this blog, I’d be more willing to spend money on subscription themes and backup services, but this is really just a little personal blog with no revenue stream, so I like to keep things simple.)

WordPress syntax highlighting

I started writing a blog post about PowerShell today, then got caught up in an issue with the code syntax highlighting plugin that I’ve been using on this blog since 2017. I’ve been using WP-Syntax since then, and I’ve generally been happy with it, but there are a few things that bug me, so that set me off looking into other options. One issue I noticed is that WP-Syntax hasn’t been updated in four years, and hasn’t been tested with recent versions of WordPress. So that definitely got me looking for a good alternative.

My search led me to SyntaxHighlighter Evolved, which seems to be under active development and worked well in my testing. It uses a special shortcode for highlighting, which means that I’m going to have to go through all of my old code posts and replace <pre> tags with “code” tags. I did a search to find those, and apparently I only have about 40 posts on this blog with code in them. That’s a little embarrassing, considering that I have more than 2000 posts on this blog. I always want to write more programming-related posts with real code in them, but I never get around to it. Well, maybe this will motivate me.

odds and ends

OK, after this morning’s depressing Warren Ellis post, here’s some lighter stuff. Just a mix of stuff I’ve been meaning to mention, for one reason or another.

Google AdSense

I added Google AdSense to my blog back in 2010 and removed it in 2016. But I never closed out my account. So I did that this week. Now, I can finally get the $15 that Google owes me. (Normally, they don’t pay out until you hit $100, but if you close your account, they’ll pay out any balance, if it’s over $10.) I wonder how many small bloggers like me are still bothering with AdSense. For a while, a lot of people thought they could make good money by running a blog and putting AdSense on it. I’m wondering if any of them really did.

New Toys

I haven’t made much more progress in setting up my new laptop. I was too busy yesterday to even turn it on. Hopefully, I’ll have time to do some stuff with it this weekend. I did also just get a new Amazon Echo Dot (with clock). I don’t really have a good excuse for buying it. I had an old iHome alarm clock / iPhone dock on my nightstand that I couldn’t really use anymore, since it doesn’t fit the newer iPhones. And that was fine, really, since I don’t really need a clock on my nightstand. These days, I just plug my iPhone in, and use Sleep Cycle as my alarm clock. But, I don’t know, I guess I just wanted a small clock there that could play music or NPR or whatever. And it was only $35. I already have some experience with Alexa, since it’s supported on my Sonos speakers, but I turned off the mics on those, since it was getting accidentally triggered too often, and I didn’t really find it that useful. I’m going to play around with it some more on the Echo and see if there’s anything fun or useful that I can do with it.

Learning New Stuff

I finished the SharePoint Framework course that I was working through. That’s given me a good start, but there’s still a lot I need to figure out. I’m almost done with the React course on SharePoint that I’ve been watching and working through. Most of that course uses an online JavaScript environment, found at, so you don’t need to set up your own dev environment. But I’m now at the point where I really do need to set up a dev environment to get any further. I considered a lot of options, but settled on using Homebrew on my Mac to set up Node.js. And I’m using Visual Studio Code as my text editor. So that’s good enough for now.

I may need to play with Node Version Manager at some point, but for now, I think that would be an unnecessary complication. And, on Windows, I want to look into setting something up under WSL2 at some point. Microsoft, helpfully, has a guide on how to do that. But, again, I’m probably not ready to dive into that just yet.

So that’s my “odds and ends” post for today. I could write up a bunch of other stuff, but it’s probably best if I stop for now and go eat some lunch. Then maybe take a nap.

WordPress and PHP

I got a bill from 1&1 / IONOS last week for PHP 5.6 Extended Support. I was a little surprised by this, since I thought I’d already taken care of updating PHP to a supported version, but it turns out that I was remembering updating from 5.4 to 5.6 three years ago. (Tempus fugit.) It looks like 5.6 reached EOL at the end of 2018. So I guess I’m paying $7 now for not having upgraded PHP in a while. I went ahead and updated to 7.2.15, so I should be good now for a while, though I guess I should update to 7.3 at some point. And I’ve got WordPress updated to 5.1.1 too. Everything still seems to be working, which is nice.

Every once in a while, I think about switching to some kind of managed WordPress install, so I don’t have to worry about this stuff anymore. Maybe just the $5/month plan from or something like that. But I still like futzing with this stuff a little, so for now, I’ll stay with the traditional web hosting plan, where I’m free to mess things up and forget to update PHP and stuff like that. But I think I’m getting close to the point where I’m going to want to hand this stuff off to somebody else and just concentrate on the blogging and not worry about the sysadmin side of things. Maybe in another three years.

WordPress 5

I just updated this blog to WordPress 5.0.3. I’d been putting off updating it to WP 5, partially because I wanted to wait until they’d gotten a few point releases out and fixed any major bugs. And partially because the big new feature in WP 5, the Gutenberg editor, is not that interesting to me. I tried it out on my test site, and didn’t really like it. For now, I’m leaving the Classic Editor plugin installed and enabled. I’m glad they’ve provided this plugin, rather than trying to force the new editor on people. I’ll probably give Gutenberg a try again at some point, maybe after watching a video tutorial or two. (I haven’t gone looking for any, but I assume they’re out there.)

There’s been a lot of controversy and grumbling about Gutenberg, but I don’t have a problem with it, as long as they’re not forcing it on people, and as long as they take constructive feedback on it and keep working on it. I’m just thankful that WordPress continues to exist as an open source project, and continues to get updated. I’ve been using WordPress for almost five years now, and it’s been great.

broken links

I installed the Broken Link Checker plugin on my site today, and spent probably too much time fixing broken links. Doing blog maintenance like this feels like productive work, but really isn’t. But it’s kind of fun, and lets me stroll down memory lane a bit, rediscovering stuff like Get Your War On, which I’d forgotten about.

A lot of dead links can be easily replaced with ones from the Wayback Machine, and the plugin helps with that. But some of the links on this blog seem to have completely disappeared from the internet, which makes me a little sad. Nothing lasts forever, I guess, even an interesting review of The Two Towers from a newspaper in Las Vegas that apparently only existed from 2003 to 2005. Oh well.

I’ve been linking to Wikipedia, the NY Times, and Amazon a lot lately. I think (and hope) that those sources will be around for a while, and that they won’t mess with their URL schemes in a way that breaks old links. (For the most part, they haven’t, at least recently.)

The plugin has found more than 600 broken links so far, and I’m not even sure if it’s done crawling the site yet. I need to be careful about getting too wrapped up in this, or I’ll be doing it all day. (Or maybe all week.) I’ve actually talked myself into deleting some old posts, where the links are dead, and I didn’t really say anything interesting about them. That’s always been hard for me to do, but I’ve got more than 2000 posts on this blog, so it makes sense to cull some useless ones out occasionally.