It’s not a winter wonderland out here, but with Christmas and winter coming soon, maybe a little snow on my blog isn’t a bad idea. I’ve just programmed a snow animation for another project and thought I could reuse the code in the form of a simple GoBlog plugin. ❄❄❄
Tags: GoBlog
My next Fediverse migration?
I currently use GoToSocial (with my numeronym domain) next to my blog, but it always confuses me where to post what. That’s why I want to move to my blog as my sole Fediverse identity. But before that, I wanted to implement another Fediverse feature in GoBlog: support for the new fediverse:creator meta tag.
My first passkeys implementation 🔑
Something I wanted to implement already for a long time, but always seemed too complicated for the occasional programming session here or there, was support for WebAuthn or Passkeys for GoBlog. I noted it down two years ago and also already started to work on the implementation, but never got around to finish it.
🖼️ View
GoBlog can show GPX tracks as SVG now
After my bike tour on Monday, I first felt the usual exhaustion, but later that evening and night, more symptoms joined and showed me, that I, again (third time already this year), caught some infection. Nothing too bad, but it forced me to relax and recover the last two days.
🗺️ View
It took me so long to find the cause of a memory leak in GoBlog. I thought it was smart to use a cache for prepared database statements. But I didn’t read the documentation and didn’t know that prepared statements need to be closed when they are no longer needed to free up the allocated resources. 🤦♂️ I finally fixed it by removing the prepared statement cache altogether. Less code, fewer problems in the future, and the cache wasn’t much of an improvement anyway. I also learned about the usefulness of memory profiling.
It seems like I finally fixed a memory leak in GoBlog yesterday, that sometimes made my blog crashing. How? I used Anthropic’s new Claude 3.5 Sonnet to write me a new HTTP compression middleware that compresses HTTP responses using zstd or gzip when possible. I needed to instruct a few changes and modify some code lines as the initial implementation was wrong, but thereafter, it finally seems to work better than my original implementation that probably leaked some objects anywhere. Claude also helped me to write unit tests (which I adapted a bit, though) and increase code coverage.
Blogroll Network Map
Robert Alexander built a pretty cool Blogroll Network Map. Based on scraped blogrolls, it builds and visualizes a map of blogs. It contains almost 500 feeds, a lot to explore for boring days!
Extended content warning
I realized recently that I wrote some cringe (to put it mildly) posts in my late adolescent phase. On the one hand, I would of course like to banish these posts from my blog, after all, my opinion has changed completely in some cases since then. But on the other hand, it would be a shame to let this part of my personal development simply disappear.
Today, I finally finished the reworked MicroPub endpoint in GoBlog using the indielib library by Henrique. It killed about 400 lines of my spaghetti code. 😅
And I also improved the system prompt of the AI summary plugin a bit. First, I tried to write the system prompt myself, but GPT-3.5-Turbo just didn’t want to do what I tasked it to do. So I asked Bing Chat (GPT-4) to help me with the task of writing a good system prompt. In my tests it looked more promising then. Let’s hope for better AI summaries on my blog posts in the future. 😄
Now that I have vacation, it seems like my motivation to work on GoBlog (and blog) is back a bit…
Colin just reminded me, that it’s the third GoBlog birthday of this blog! I am still genuinely content with it, despite the apparent loss of my blogging momentum since then.