Published on

Welcome to Blaugust!

Author

For the first year ever, I'm participating in Blaugust, a month-long festival of blogging. The goal is to publish 31 posts in the month of August. Ideally at the rate of one per day, but, uh, we'll see how that goes when Janthir Wilds drops.

Blaugust 2024: the Festival of Blogging

If you're coming in from the Blaugust feeds/boosts: hello, welcome to my small websight! I made it myself. You can yell at me if you spot anything broken.

I'm a small-time programmer that plays a lot of Guild Wars 2 and TTRPGs. I write about software, gaming, and post after-action reports for Michelin-star'd tasting menus. You'll occasionally find me posting hot goss about the Chicago fine-dining scene on fedi.

If you wanna say hello, you can find me on Fedi/Mastodon or Matrix. I intentionally don't have comments here, since that ends up being a chore to moderate. You'll have to @ me somewhere. All my contact info is available right over here!

Posting & Greatest Hits

I'm going for the full 31 posts this month, so I don't wanna burn through too much material on day one. My tentative plan is to mostly-post around the week's theme. So tomorrow, I wanna post about what bloggers I'm getting into. Then maybe some hopes for the upcoming Janthir Wilds expansion.

Next week, I'll do a bunch of posts about me: my TTRPG characters & campaigns, games I've played over the years, and some stuff about being a Professional Computer Business Adult.

In lieu of writing more about myself right now, I'll send you to some of my greatest posts:

On RSS

I'm was planning to load the OPML into my RSS reader as a Dynamic OPML feed, in case the Blaugust King updates it with late-comers. But I noticed pretty quickly that the Dynamic OPML feature wasn't behaving quite right. It's supposed to check the OPML every so often and identify feeds that were added/removed.

But I was finding it would seemingly-randomly remove and re-add a handful of blogs. That's annoying: since it's a "new" feed, all the posts are new again too.

I did some source-diving and figured out that FreshRSS imports the feed URL as it's listed in the OPML. Then, in a later process to load posts, it will detect if the URL has "changed"1 and update its record. So when it tries to refresh the OPML file again, some URLs have drifted and it sees these as different.

Ideally, the OPML loader would do the same "changed" logic as the post loader.

It mostly seems to be WordPress (or other mod_rewrite rules) that are appending a / to the end. I filed a bug. I may try to fix that, but today is gunna be pretty busy since I'm running an office party.

Anyways, I'm following the Blaugust account on fedi. It feels really weird to read kinda-personal posts in FreshRSS and not have a 'like' button to affirm that yes, I read this and it was good and you should know I thought so. So hopefully you're on fedi and I can hand out affirmations that way! 😅

On Weird Server Fuckery

FreshRSS is open-source and rather techie-oriented. This is reflected in the UI: it surfaces problems with feeds really well. For example: when I switched from Feedly, I learned about six or seven feeds that had gone entirely dead. Feedly never thought it was important to flag those.

So when I loaded up the Blaugust OPML, I had three problems. Two of them were just bad URLs and I sent in some corrections. One of them was refusing to load, but when I pulled it up in my browser, the feed appeared fine. The W3C validator reflected some warnings2, but nothing severe. I resolved to take a look later in the day.

When I finally took a look at FreshRSS's complaint, it baffled me: it couldn't connect to the blogger's server on https://omg.lol. But it was up? I started doing some poking and proding and eventually realized that it was specifically this one server that could not make web requests to omg.lol.

I'm running it in Linode's new-ish Chicago region, so my first thought was, maybe they'd gotten some IP space with bad reputation and omg.lol has blocked it at some point in the past. Or FreshRSS had spazzed the hell out and made a bazillion requests to this one poor blogger, and their ops team got mad and IP blocked me. Or another customer had the IP before me and was a bad, bad hackerman.

Other Linodes worked fine, and some omg.lol subdomains had a AAAA record and web requests over IPv6 worked fine.

I emailed the omg.lol support address, very politely, and asked if they had put in a block, and whether there was any way to fix the situation.

Adam replied pretty quickly: no, there were no blocks in place for the IP or even any of Linode's subnets. He tried flushing some caches and asked if that helped.

That didn't fix it. I did a tcpdump and all I could see was omg.lol giving an ICMP port unreachable. I replied and thanked him for trying, but I didn't push since I was at a loss on what the problem could even be.

But Adam wasn't giving up. He asked for more details, so I send him the feed URL and mentioned web for IPv6 was working.

I had also noticed SSH was open to the world; I looked at the hostkey fingerprint and compared it from the not-working Linode, a working Linode, and another network entirely. My theory was: maybe Linode's Chicago data center was squatting on omg.lol's IP space, and FreshRSS was trying to talk to some weird Linode router instead of the rightful owner of the address.

But no: the host key fingerprints matched, so requests were definitely able to get to the right server. I sent along this information too.

I started becoming concerned at this point. omg.lol is on Hetzner, and they have done a rather-impresive shenanigan to decrypt TLS'd Jabber traffic for the presumably-authorities. This was starting to smell like similar fuckery: the server operator could not see any actual reason for the problem in any place they'd put blocks, and it worked fine for non-HTTPS ports & non-IPv6 addresses.

That's just weird enough for a :thinking: emoji.

Then it just randomly started working a few minutes later! I hung around my desk for a bit to see if I got another reply with some juicy details on what was wrong, but I'm still in the dark. It was pretty late, and I'm certainly not entitled to an explanation. But I'd sure love to know what was up!

Anyways, big props to Adam for fixing my problem. I was able to load posts from 100% of participants just before midnight and the Official Coming of Blaugust.

Software Updates

To prepare for New Friends reading, I fixed up a couple issues from my blog software's launch a couple months ago:

  • Parts of the footer were mangled on mobile
  • The colour choices for my Links dropdown in dark mode were dreadful, and it wouldn't work properly in mobile nav
  • Long captions on images in inline galleries would overflow and look terrible

I've known about that stuff for a while, and it's a little embarassing as a Professional Computer Business Adult to leave mobile in such a state. So thanks for the kick I needed to fix those up!

There are a few more items on my todo list, but I'll get to them in the fullness of time:

  • Fedi thread unroller, so I can suck my Spinach Inquisition live threads right into the composer as a very rough draft of a "here's what kind of ridiculous shit we got up to last week in Pathfinder" post.
  • Auto-post to Mastodon when the post goes live
  • Maybe support WordPress' pingbacks (but this brings us back to the chore of moderating spam)

  1. Basically, if there's a redirect HTTP code, it takes the new URL the server gives it. I'd guess the logic behind that is "if somebody is moving servers, they might not keep the old URL (or domain) forever". Or "FreshRSS is gunna hit this URL a lot, so going through a redirect every time is wasteful". Or both! 

  2. They're real sticklers for the details, but reality is much kinder to feeds.