How to Nuke Your RSS Feed

How to Nuke Your RSS Feed Featured Image

If you’ve been subscribed to my newsletter for a little while, you may have noticed a few weeks where I wasn’t sending an emails. As it turns out, I managed nuke my RSS feed, and you can too with this one simple trick.

Table of Contents

Backstory

In case you’re not a regular subscriber, here’s the situation. Every Friday at noon, I send an automated email to all of my subscribers using MailChimp. For simplicity, that email is generated using my RSS feed. Specifically, each week an email is created from the two posts from the previous week.

Well, at some point, my regular weekly email went dark:

Mailchimp Blog Updates Log

As you can see, I sent an email out on August 9th, then I didn’t send another one out until I corrected the issue on August 24th. In other words, there were two weeks of missed emails.

At one point, I was at out of the house when I got an email saying that I had a new subscriber. Suddenly, I realized that I hadn’t gotten one of my own emails in awhile, so I decided to investigate. Yup, my automated email has been dead for some time.

Investigation

When I went home, I decided to hop on my MailChimp account to see if I could find any issues. Since I didn’t have any notifications, I thought it might be a good idea to do what IT usually does: turn my automated email off and on. Unfortunately, I couldn’t turn the email back on.

According to MailChimp, I didn’t have a proper RSS feed. In the past, one of my plugins messed up my feed, so I was thinking maybe that was the issue. Of course, I didn’t trust MailChimp, so I grabbed my RSS feed and dropped it into an RSS validatorOpens in a new tab..

When I did that, I found that MailChimp was actually telling the truth. Apparently, there was some part of my feed which wasn’t properly formed. Fortunately, the validator was able to give me the exact line. When I investigated further, I realized it was an issue with a singular character in one of my articles.

If you follow that link, you’ll be taken to a pretty innocuous article. In general, the premise of the article is to share some details about the different primitive types in Java. Of course, with each primitive type, I decided to share their range. That’s when I ran into a problem.

One Tip to Nuke Your RSS Feed

If you’re familiar with Java, then you’re probably aware that characters aren’t 8-bit. Instead, they’re 16-bit which means their range extends from 0 to 65,535. Of course, not all of those characters are valid.

For example, in my article on the primitive types, I decided to demonstrate the range of characters with the following command:

Character.MIN_VALUE  // Prints the character at index 0
Character.MAX_VALUE  // Prints the character at index 65,535

Of course, when I wrote the article, I actually showed the character:

Bad RSS Character

When I pasted that box character into an article, WordPress never really complained. In fact, it rendered exactly like that in the article, and I didn’t really notice any issues.

Unfortunately, two weeks went by before I realized the effects on my RSS feed. After I patched the issue, I turned around and pushed out an email that night.

Moral of the Story

As it turns out, there are certain characters that are deemed invalid in RSS. Unfortunately, I wasn’t able to find any documentation on this issue beyond a few low quality posts on forums.

If I had to guess, there is a list of illegal characters in the XML specification. As a result, the RSS specification inherits those illegal characters and may even add to it. If anyone knows more about this sort of issue, let me know.

At any rate, after this happened, I told one of my friends—Robert—about it, and he thought it was hilarious. Ever since, he’s been dumping that box character into all sorts of interfaces including Discord and iMessage. So far, we haven’t seen any issues. However, it does render differently depending on the platform.

After chatting, we remembered there used to be a funny character related bug in chrome which would crash the browser. In fact, a lot of people were making funny games where you would have to avoid touching buttons that would load the character. If you’re interested in that sort of thing, I found an article from 2015 that details the whole sagaOpens in a new tab..

Help Grow The Renegade Coder

Well, that’s enough fun for one day. If you like this sort of content, I don’t mind sharing information about bugs I run into. Hell, that might actually be a fun new series.

Regardless, thanks again for your support. If you’d like to show a little extra, head on over to PatreonOpens in a new tab. where you can toss me a couple bucks for my efforts. Also, you’re welcome to join the mailing list where you’ll receive one email a week. While you’re here, it’s probably a good time to promote some security textbooks through these Amazon affiliate links:

While you’re here, I have a ton more content where this came from:

As always, thanks for stopping by!

Jeremy Grifski

Jeremy grew up in a small town where he enjoyed playing soccer and video games, practicing taekwondo, and trading Pokémon cards. Once out of the nest, he pursued a Bachelors in Computer Engineering with a minor in Game Design. After college, he spent about two years writing software for a major engineering company. Then, he earned a master's in Computer Science and Engineering. Today, he pursues a PhD in Engineering Education in order to ultimately land a teaching gig. In his spare time, Jeremy enjoys spending time with his wife and kid, playing Overwatch 2, Lethal Company, and Baldur's Gate 3, reading manga, watching Penguins hockey, and traveling the world.

Recent Posts