3,000 blog posts!

The Logo for WordPress.

This is the 3,000th blog post I've published on this site! Bloody hell! I first started a blog on Blogger.com in 2004 - twenty years ago. Like all blogs, I managed half a dozen posts before I forgot about it. Cut to 2007 and I decided to launch shkspr.mobi as a weird site dedicated to […]

Continue reading →

Caboom! Comment Anywhere, Bring Onto Own Media

A pet cat typing on a computer keyboard.

In the IndieWeb movement there's a concept of "POSSE" - Publish Once, Simultaneously Syndicate Elsewhere. You should publish your words, pictures, songs, reviews on your own site. And then you can choose to share them out to where your audience is. Perhaps that's posting the link on Facebook, or a copy of a photo on […]

Continue reading →

A library of all my book reviews

A grid of books with their titles and star ratings.

One of the things I love about having a database-backed blog like WordPress is that's it opens up a delightful range of possibilities for displaying content. I've read and reviewed around 300 books over the last few years. So I wrote a scrap of code which goes through all my book reviews, grabs their cover […]

Continue reading →

Displaying internal linkbacks on WordPress

Screenshot of my website. The headline says "What links here from around this site." Underneath are three links.

I have written a lot of blog posts. In some of those posts I link to other posts on my site. What's the easiest way of displaying those internal incoming links? Here's what it looks like: Code All we need to do is search WordPress for the URl of the current page. Loop through the […]

Continue reading →

Use WP CLI to find all blog posts without a featured image - two methods

The Logo for WordPress.

This uses the wp shell command. It gives you an interactive prompt into which you can do various WordPress "things". One small annoyance is that it doesn't like multi-line entry. It treats every hit of the enter key as "plz run the codez" - so, at the end of this blog post, I've put the […]

Continue reading →

The minimal-div minimal-span philosophy of this blog

HTML Source Code.

If you've ever learned Mandarin Chinese, you'll know about "measure words". They're the sort of thing that trip up all new learners of the language. While 个 (gè) can be used as a generic measure word, using it everywhere makes you sound like an idiot (according to my old teacher). So you learn to use […]

Continue reading →

Who reads my blog?

Some giant question marks standing in a field. Photo by https://www.flickr.com/photos/dbrekke/181939582/

Hello! Thank you for reading what I write. Sorry to ask, but… who are you? I was chatting to a friend about what it is like running a blog, finding new topics, keeping up with a daily schedule, moderating comments, etc. And they asked, quite reasonably, "who are your readers?" And, honestly, I have very […]

Continue reading →

Build your own "On This Day" page for WordPress

A graphic of a calendar showing the date "February 25 Sunday"

I blog. A lot. Too much really. One of the things I like to do is see what I was rambling on about this time last year. And the year before that. And so on. So, here's my On This Day page and here's how I built it. WARNING Extremely quick and dirty code ahead! […]

Continue reading →


Screenshot from the WordPress dashboard showing 12,000 comments have been approved.

I know they say you should never read the bottom half of the web. This blog has existed in one form or other since 2004. Since then, I've approved TWELVE-THOUSAND comments. Most comments - but by no means all - are delightful. People wanting to share their own stories, add something to the discussion, or […]

Continue reading →

Necroposting - blogging from before you started blogging

An old photo of me, wearing a silly hat.

Jon Hicks has a lovely blog post about his site's design. In it, he briefly touches on something I find interesting: Blogging like it's 1972 I also finally realised that there's nothing stopping me from adding journal posts dated from before I started blogging. So I'm going to start adding key life moments as much […]

Continue reading →