Back when I was comparing social media archives, I considered resurrecting my old LOLspam project as a Mastodon bot. I never quite got around to it, partly because I was able to do most of what I wanted to automate using IFTTT, so I stopped investigating that last 5%.

Last night, I threw together a quick and dirty bot to post a random item from a text file in about 20 minutes.

Then I spent three hours going through the Twitter archive for @LOL_Spam, pulling out jokes that are too dated or cringeworthy. (I hope I didn’t miss any. It was midnight by the time I finished, and I was really tired!)

This morning I modified the script to take a second file as a queue for new items.

  • I can add new items to the queue file as I find them.
  • It’ll post from the queue on a schedule (using cron).
  • When it uses up the queue, it returns to posting random posts from the archive.

If you’re interested in funny/odd spam subjects (and you’re OK with swearing and occasional lewdness), check out @LOLspam@BotsIn.Space. You can follow from any Mastodon or other Fediverse account. Update: it’s moved to @lolspam@snac24.keysmash.xyz since BotsIn.Space shut down.

The script itself is called fedbotrandom. I wrote it in Perl, using text files, so I could just put it in cron on any *nix box instead of worrying about language/database support or installing a runtime or DB engine. I’ve made it really simple on purpose, and while I do plan on writing some better error handling when I have time, it’s already more complex than I wanted it to be!

A few years back, we replaced our aging Windows PC with a newer system, figuring on using it mainly for office-type applications, casual games, and kids’ games. (Both of us had drifted out of playing the sort of game that really pushes a system’s specs, largely because there was a small person in the house who needed a lot of attention.) So we bought a Dell Inspiron, and it did its job for quite a while.

But eventually that small person discovered Minecraft. And Youtubers who play Minecraft. And the other games that those Youtubers play that need stronger hardware.

OK, it was old, it could use upgrading anyway. I didn’t want to flat-out replace the system, because it was still quite usable otherwise. And I hate moving data from one computer to another, because there’s always something that doesn’t transfer, and there’s always something that you forgot, and so on.

So we’ve been upgrading things bit by bit over the last few months. Continue reading

Kiddo’s been wanting to learn programming, with the ultimate goal of modding Minecraft. We’ve done some Ruby, but he’s impatient, so last night I we started Java with a simple program that repeats a println X times.

He wanted to pass it the integer limit.

After a few minutes, I suggested we watch a movie and check back later.

After dinner, he decided to stop it and we timed some shorter runs.

I think he has a better understanding of scale now!

I have mixed feelings on Facebook closing down automated posts to personal* profiles. It might cut down on spam, and it will lead to better descriptions on link posts, but it also locks you further into their silo.

You can still write elsewhere and link back to it on Facebook, but you can’t use WordPress Publicize or IFTTT to post it, or Buffer to schedule it. You have to do it manually, which adds more friction, and you can’t time-shift it. I used to spread out look-at-this-cool-link posts using Buffer, and queue them up from Pocket while offline, but I can’t do that anymore.

If you want your Facebook audience to see your words or photos, it nudges you to maybe just post on Facebook to begin with (never mind that you want its main home to be somewhere you have more control). And it’s another way for them to get you back onto the site so they can try to keep you there for another 15 minutes, see some more ads, and generate more value content for Facebook.

Then again, I can’t help looking at it in terms of the debate over cross-posting from Twitter to Mastodon. There’s an argument that if you’re not actually on the platform, you’re not contributing to it. And while that debate tends to focus on auto-posts from a specific mismatched (and hostile) community, I think it’s fair to consider the broader context that if you’re not at least following up, you’re not really participating. (I’m especially guilty of that with my cross-posts to Tumblr.)

Though I suppose it matters more to a smaller community like the Fediverse than to something as massive as Facebook.

*Pages and groups can still accept automatic posts through the API, but those supposedly represent a business, or an organization, or a public persona rather than a “real” person.

Expanded from a Mastodon post on Wandering.Shop.

You can broadly categorize social networks, or really any communication software, based on four criteria:

  1. Are replies subordinate to the original post (Facebook, Instagram, blog comments) or top-level posts but linked (Twitter, Mastodon, Tumblr, blogs with pingbacks/trackbacks/webmentions)?
  2. Do you primarily follow people/organizations (all the above) or topics (Reddit, message boards)?
  3. Is the default interaction one-on-one (email, Skype) or broadcast (most of what we call “social media” these days)?
  4. Is it a single service (Facebook, Twitter), a collection of isolated services (message boards), or a collection of interacting services (email, the Fediverse, blogs to some extent)?

More than whether the content is likely to be short text, long text, a photo, a video, or a link, these questions define the types of connections and types of interactions that people are going to have.

Twitter is suited for short statements and back-and-forth conversation.

It’s terrible for anything long-form.

Long Twitter threads* and images filled with text remind me of the old tech support days when users would paste screen shots of error messages into Microsoft Word documents and email me the document. It was a terrible tool for the job, but it was the one they knew.

Once you get past two or three tweets (doesn’t matter whether they’re 140 characters or 280, it’s the structure that matters), your ideas will hang together better and be better understood if you write an actual article somewhere. Sadly, Twitter has trained people to stay in Twitter instead of going outside to read the %#$ article**, because you won’t be able to get back to where you were in your timeline, and besides, that’s just too long to read right now.

And that would require you to have, like a blog or something, and what sort of weirdo has one of those? 🙄

So people use what they know, and we get screenshots of long paragraphs that are awful for accessibility. And we get 40-tweet threads that people only see fragments of and take bits out of context. And they’ll reply to tweet #5 complaining about something that’s addressed in tweet #12, but they didn’t see it, because that was hidden behind the “read more” link, and how long does this thread go, anyway? (Scroll bars solved this problem decades ago.) And we get links to articles that people don’t read, but they reply to them anyway — or rather they reply to what they assume was in them.

Which I suppose is what we had in the old days, I mean “nobody reads the articles” was a joke on Slashdot 20 years ago. But it’s still frustrating.

Update: I realized I don’t see this so much on Mastodon. I wonder if that’s one of the ways the culture is different, or if I just happen to not be following anyone who writes/boosts long threads on a regular basis, or if 500-character posts give people enough room to breathe that they don’t feel like they’re already writing a long chain, so why worry about keeping the number of posts down, what’s the difference between 10 tweets and 15?

Update March 2024: Apparently it was a posting culture thing, because it’s common on the Fediverse now too. At least on platforms like Mastodon that maintain a smallish size limit.

*To clarify, I’m talking about long threads that are effectively one piece of writing, not a series of “oh, and another thing” follow-ups, live-tweeting as things come up, actual conversations, etc.

**This part is true of Facebook as well.

»All pages site-wide with this tag