• Rollback

    I wrote a post the other day about integrating a feed reader into my WordPress installation. The idea was to make this website my online home.

    In a cruel twist of irony, I lost that post as I had to roll back to a security backup from a few days back. Can’t say exactly what happened, but it seems that my feed subscription habits were a bit too much for the plugin and/or server to handle.

    Occasionally as the plugin was fetching updates from feeds, it would “freeze” my entire WordPress installation. The result being a WordPress white screen of death for most visitors over the past days. I believe the trouble was caching related, because as long as I was logged in, I had no problems viewing the site.


    Anyways, I’ve disabled the feed reader plugin since yesterday, and the problem hasn’t reappeared. So it looks like I’m back to Reeder. For now.

  • Excerpt feeds

    I have a wish: If your RSS feed only shows excerpts (I’m fine with that, usually click through anyways) please indicate that there’s more to the post than what’s shown in the feed. A link to the post at the end is great.

    A lot of people have replaced Twitter with “microblogging” through their own platforms. Like I have. As shorter posts become the norm, it’s not always obvious at a glance that there’s more to the post than the lines included in your feed.

  • Don’t hide my email

    Look, Apple, I don’t ask for much. All I want to do is permanently disable that utterly annoying “hide my email” “autocomplete” prompt whenever I encounter an email field in Safari on iOS.

    I never use it, but I always hit it by accident and it takes forever to get out of that overlay it activates.

    Is this really too much to ask?!

  • Cache flushed

    Regarding my note from earlier today, I’ve now removed the Breeze cache plugin and replaced it with Surge. I’ve also modified the cache behaviour, as per Dominik’s instructions, to support content negotiation. And I’ve enabled the Vary-Header in the ActivityPub plugin.

    Hopefully this will put an end to my issues with visitors getting served JSON versions of posts, instead of the actual website. If you’re reading this and ever experience something like that, please do let me know.

  • WP ActivityPub and caching issues

    The old “WordPress is serving up pure JSON instead of HTML” bug has been popping up intermittently since I reactivated the ActivityPub plugin. Since the ActivityPub plugin developers consider it solved, I’ve been looking into it to understand how I can fix it.

    The problem arises because AP alters WordPress behaviour to respond to a request to a specific URL with either JSON (sensible if the request is from an ActivityPub client) or HTML (smart if the request is from a human who wants to view the website).

    If you’re using a caching solution, it needs to support this functionality. Breeze, which I’m currently using, does not. As a result, the cache “log” and continue to serve whatever the first response to a particular URL request is.

    Which sucks.

    I saw that the always helpful Jan Boddez had face the same issue, so I reached out. His helpful response led me to the Surge plugin, and this helpful post from Dominik Schilling on how to configure it to account for this scenario.

    Unfortunately, I haven’t had time to implement the switch yet. This note is really just a way of documenting the troubles for my own sake, and saving the relevant links for implementing the fix.

    And, to that end, a final note to myself: Remember to activate the Vary-Header in the ActivityPlugin by setting the ACTIVITYPUB_SEND_VARY_HEADER constant.

    This piece of digital gardening is brought to you by the esteemed president of said garden, the procrastination monkey.

  • About AI…

    Last one on AI for a while. Too good not to share.

    Meme about AI. Two girls standing in a room. One of them is labeled "Any company", and she's pointing a large trombone (probably, maybe, not sure) labeled "AI" in the face of the other girl labeled "Me".
  • Mass media production

    My two year old daughter loves to grab my phone to snap photos and videos. Thankfully, Apple usually notifies me shortly after.

    Email notification from Apple saying "Your iCloud storage is almost full".
  • AI usefulness

    Yesterday, I shared a link to an article looking into the growing backlash against generative artificial intelligence (AI).

    Although I have a certain scepticism towards AI (the hype cycle is insufferable, and, no, we don’t need AI in every single piece of software) I’m also a big user of generative AI. One way I’ve been taking advantage of the ChatGPT app, is to practice my spoken English. Although I have a good grasp of the language, I get limited opportunities to speak English in my day-to-day life.

    This leaves me very insecure about my English-speaking skills whenever the opportunity arises. ChatGPT has become a valuable tool as a conversation partner to work on this.

    What’s more, OpenAI’s models also works very well for transcribing your speech. Like when you’re out on a walk and talking to yourself. Because normal people do that, too, right? Right?

  • Search engine enshittification

    Google’s enshittification finally reached the level where I’ve removed it as my default search engine on all my devices. I had done so on my laptops a good while back, but let it linger on my phone.

    Recently, Google’s been requiring me to pass a captcha whenever I try to search for something. Maybe going from shitty product to unusable product is the enshittification end-stage?

  • Hyperbole

    As someone who never writes a sentence without exaggeration, this quote from Aristotle in this week’s Areopagus from the always excellent The Cultural Tutor hit too close to home:

    Hyperboles are for young men to use; they show vehemence of character; and this is why angry people use them more than other people.


    The chapter on stave churches also brought out a bit of my national pride. Borgund truly does look like something out of a fantasy novel.

  • AI art

    I just came across this (h/t to Peter Krupa), and it blew my mind.

    Screenshot of the chat interface from ChatGPT. Human asks for a picture of an empty room with no elephant, ChatGPT presents a picture of a room with an elephant and claims it is a room with no elephant in it.

    It highlights the problem with LLMs in general with pinpoint accuracy, and wraps it in a well known metaphorical idiom that everyone understands — which instantly becomes a meta reference.

  • It’s (gonna be) May

    1 May, first day of summer.

    Fired up the grill for the first time this year, ate outside on the terrace for the first time this year, and did an evening run in shorts and a t-shirt for the first time this year.

    ‘Twas a good day.

  • Horses and habits

    Fell off the horse. Trying to get back up.

  • Absurd

    … man stands face to face with the irrational. He feels within him his longing for happiness and for reason. The absurd is born of this confrontation between the human need and the unreasonable silence of the world.

    Albert Camus

    Today is a a Camus kind of day. But, despair not, because:

    One must imagine Sisyphus happy.

    Albert Camus
  • Emoji etiquette

    As I’m nearing 40, I will be phasing out my use of all other emojis in favour of 👍

  • Email autoresponders

    Don’t send me an autoresponder just because you’re out of the office today. Get back to me tomorrow, the next business day or in a week. Whenever it suits you. No need to apologise that it won’t be today.

  • /about page history

    As part of my effort in preserving the history of this blog, I also want to archive previous editions of my About page. You can now gander at the very first About page I published back in 2005.

    I wonder if I shouldn’t bring back the fact that I’m a Libra to the current version.

  • Reconstruction ongoing

    As mentioned in A brief history of this blog, I’ve started republishing old posts recovered from the Internet Archive. 2005 is now complete, if you feel compelled to go searching the archives.

  • All this talk about a total eclipse

    When my mind spots the words “total” and “eclipse” close to each other, it automatically starts playing:

    And I need you now tonight
    And I need you more than ever
    And if you only hold me tight
    We’ll be holding on forever

    It’s been a rough couple of days. Obligatory link. Enjoy!

    PS: I’d never actually seen the music video for Total Eclipse of the Heart before looking it up to share the link. It’s amazing. Has everything from posessed demon eys to guys in speedos and swim goggles getting splashed and ballet dancing ninjas.

  • Twenty Twenty-Four 1.1

    Looks like there are a few breaking changes in version 1.1 of the default WordPress theme Twenty Twenty-Four. Nothing major in the changelog. But I upgraded this morning, and most of the customisations I’ve made through the Site Editor disappeared.

    Need to spin up a staging environment to find the causes. Worth keeping in mind if you’re running a heavily customised version of Twenty Twenty-Four, and haven’t upgraded yet.