xesite/blog/epilogue-2021-05-26.markdown

8.8 KiB

title date tags series
Epilogue 2021-05-26
irc
freenode

Epilogue

The last caretaker's absence rippled throughout the halls. The darkness was all that remained.


I used to run an IRC network named PonyChat. It was an IRC network aimed at adult fans of My Little Pony: Friendship is Magic. Looking back, working on that network was probably the biggest catalyst to my learning how to do system administration to the level I am at today.

Lots of stuff goes wrong when you run an IRC network. PonyChat peaked at around 500 users on average, but that didn't stop things from being interesting. There were several "groups" of people there, and a lot of roleplaying channels. As things like Discord picked up more and more users, a lot of the roleplaying channels were all that were left at the end. There were some people in the #geek room that were near permanent fixtures. Talking with those people and collaborating on various projects is how I learned the skills that I use daily for remote work.


The darkness was confused. It didn't expect this to happen. The discussion halls were so full of life before! There were so many people from as many backgrounds talking about anything you could imagine!

But the people left. The darkness didn't totally see why this happened, but then they walked the halls and saw some things around the empty rooms.

The official Arch Linux support channels have moved to libera.chat, good luck!

The previous moderators of the discussion forum had apparently left up signs telling anyone who hadn't walked over with them to tell them where to go. The darkness looked around and saw more and more of those signs.

Without those signs, they won't know where to go! If we can remove all of those signs then maybe the people will be active again!

This channel has moved to ##archlinux. The topic is in violation of freenode policy.

Perfect, the darkness thought to themselves. They can't leave now, those signs were telling them where to go!


When things came to an end with PonyChat, I had a big choice to make. There's two main ways for chat communities to die: fast and slow. The fast ways are quicker, less painful for users and potentially harsh for people that didn't get the memo in time. The slow way gets expensive and soul-draining.

I was the last caretaker left on PonyChat after the attrition rate affected the staff as well as the users. I was the only person really active on the network and a lot of it was held together with increasingly brittle lua scripts.

It was soul-crushing. PonyChat was close to my heart. Writing the bots that ended up being the core of the anti-spam engine were some of my first coding projects.


The darkness was disturbed from their laurels by one of their caretakers. Apparently this angered the people who had left. The former community scribes were furious. The last caretakers had never done such a thing. Notices to those communities were always left intact. The mere thought of doing such a thing was unthinkable.

Yet it happened. The darkness realized that they messed up. Quickly, a change was made. It can't be against policy if there's a policy allowing it! Historical precedent be damned, this is advertisement! They are promoting another place instead of here! Here is perfectly good! They thought.

The darkness smiled its spiral smile and spread to take down more signs with a golem purpose made to print off new signs.

This channel has moved to ##botters. The topic is in violation of freenode policy.

The golem blindly continued manufacturing out new signs. The silent masses left behind watched in horror as they were forced out of their former haunts.


There's something kind of magical about writing an IRC chatbot. It's one of the few kinds of things you can create that you create in public. Even if the source code isn't shared you still need to test it somewhere. You build it in public.

Anti-spam bots are a similar kind of thing. Unfortunately they form a kind of arms race. It's much easier to make new spam than it is to come up with patterns for existing spam. Writing one is soul-crushing. You have to quickly develop a kind of reputation system or you will immediately turn it into a way to ban your own users. A lot of the more clever trolls tricked users into typing the phrases that got them banned.

Then there was the doxxing and swatting.


The darkness walked through the halls and smiled. All those signs were gone. They peered into a room to see what was happening. They saw nothing. There weren't even the silent masses that had normally huddled around the backs of rooms. Some of those people had sat there for years doing nothing but listening. Nobody really knew if they were actually paying attention or not, some may not even be alive anymore, but they were haunting those rooms either way.

The signs pointed people elsewhere. Those who had stayed in the background didn't get the memo. They were stuck there. Just sitting there and watching. Not really doing anything, just watching and listening.


If you run an IRC network of any appreciable scale, be prepared for these eventualities:

Your real name, email address, facebook account link, twitter account link, phone number, parents names, mailing address, physical address and sometimes even tax identification numbers will be leaked to the public. You MUST use a password manager and two-factor auth everywhere. Register your domains under a past or fake address. That will prevent people from getting your mailing address as easily.

I've been doxxed so many times that I have given up trying to keep my things separate. A lot of the places you see me using different names started out as my attempts to use separate handles in different places. I have kept them the same for consistency but I have largely given up trying to keep them separate. It is a lot of work and I bet that even if I went back on the hyper private sthick (if I even can at this point, I've been frontpaged on Orange Site and my blog gets so much traffic that it's probably impossible in practice without abandoning my handles and picking new ones).

Your staff will lose interest and abandon the project one day without telling you. They may end up still being connected there, but just as an idle bouncer. It's akin to a zombie laying in the background.

Call your local police non-emergency number and set up a standing order to call you before they send in a SWAT team to your house. There are people that will seriously call the cops and claim you're armed and dangerous to get a SWAT team to ruin your life or potentially get you killed. This is not a joke. It's nearly happened to me thrice. I got that call from the cops once. It is not a good feeling.

You need to use something with a powerful and easy to use spambot or message filtering built into the server itself. This will save your ass some day.


The former moderators of the rooms that were closed off came back with pitchforks and torches. They were pissed. The rooms they had tended to for years were suddenly stolen from them. Yes, they were abandoned, but the precedent for doing such a thing had never really existed before. It was such a tiny thing, but they had to go out of their way to make that golem. They had to tell the golem what to do. They had to send out that golem.

Several groups were on the fence with regards of what to do, but that golem made the choice for them. Some groups even wanted to stay at the same meeting house but the golem came in and closed their hall without warning.


The day I killed PonyChat was a hard day for me. I had planned it 3 months ago. Warnings were issued. I helped bigger communities move elsewhere. Everything was spinning down.

Then the time came and I ran the script that only needed to be run once:

$ ./scripts/kill_ponychat.sh

A progress bar appeared and with it all of what was created over the last decade was destroyed. Backups were erased. Data was wiped. Servers were destroyed. DNS records were altered. And finally it printed this:

It's okay to cry.

And that was the end of it.


If the halls were empty before, they were desolate now. Everything was being abandoned in real time. Announcements were made about how the golem was premature and that people should really consider staying. It was no use. The golem had made up their minds.

The rot started.


Author's Note: I really hope this is the last entry in this little speculative fiction/postmortem/retrospective series. I have an article in the pipeline on how I'm creating virtual machines from templates so that I can test how various versions of various distros work, but this freenode bullshit has eaten up a lot of my thinking time. It's been like watching a train wreck. You can't look at it, but you can't look away either. It's so hard to watch yet you just can't help but watch it.

It hurts.

This was not on my bingo card for 2021.