Of Mastodon, Culture Clashes, and BBSs

TL;DR: Avoiding Mastodon because you’ve heard it’s problematic makes as much sense as avoiding the internet because you’ve heard it’s problematic.

So.

Back in the antediluvian times before the Internet existed — you know, when great beasts like dinosaurs and, um…mastodons…roamed the earth — there were these things called Bulletin Board Systems, or BBSs.

Each BBS was a single computer sitting in someone’s house, connected to a telephone line (the physical kind that came out of the wall). BBS users could use a modem (generally a little box with blinky lights that screamed at you when you started using it, but the really neat but slow early ones you’d actually place an telephone handset into) to place a telephone call from their computer to the BBS computer to see who had posted messages since the last time they called in, respond to those messages if they wanted, and upload or download tiny, low-resolution, 256-color .bmp images, often of impolite subject matter.

The really fancy BBS systems could connect to two or three phone lines at a single time, so that more than one user could log in at the same time. This would let them type back and forth at each other, much like a modern chat session, only they’d have to actually use real words, because this was also before emoji were invented.

Each BBS tended to have its own particular culture and rules. Some BBSs were regional for an area; others might have a Star Trek theme, or a Star Wars theme, or a Dr. Who theme. I think that was it, because those were the only approved geek interests at the time. People with particular interests would join BBSs that supported those interests, so they could have conversations with other people that shared those interests.

Eventually, BBS systems gained the ability to dial into each other and exchange messages. Suddenly conversations could involve not just the users on an individual BBS, but also users on other BBSs. Once a day or so, one BBS would call another one, send a bunch of replies to discussions that had been posted in the past day over, and receive a bunch of replies to discussions.

Of course, even when one Star Trek BBS was talking to another Star Trek BBS, they might not have exactly the same rules. Subjects that were fine one one server might be anathema on the other. Maybe a user who had gotten into a fight with someone on one server had started using another one, but now those two servers were talking to each other. Basically, people are people, and as every good Depecehe Mode listener knows, that doesn’t always work out.

But still, people generally like to meet and talk to other people about things they enjoy (not to mention exchange tiny, low-resolution, 256-color .bmp images of impolite subject matter), and so these differences were dealt with, and different servers found ways to get along. Or, if there were simply too many differences to overcome, the servers would simply stop calling each other to exchange messages.

Basically, we all either figured out how to get along, or if there was a known problem server, we just stopped dealing with it.

But we didn’t say that, “Oh, I heard BBSs were a problem, so I don’t do that.”

Well, okay, sure, I’m sure there were people who had that attitude. But the rest of us knew that you didn’t have to throw the BBS out with the bathwater (there’s a risk of electrical shock when doing that anyway) — all you had to do was ignore the BBS that was the problem, not ignore BBSs altogether.

Fast forward a few decades.

Now every computer talks to every other computer. Some of those computers host discussions from a number of different people. Some of those groups of people are perfectly pleasant, reasonable people, whose only concerns are ensuring that everyone they know has a lifetime supply of puppies, kittens, and rainbows. Some of those groups of people are…otherwise interested.

They all exist on the same internet, but they’re on different systems, using different software, much of which doesn’t easily talk to the other kinds of systems and software out there. So when you run across a part of the internet that has all the appeal of free diving into depths of the New York City sewer system, the easiest solution is to simply not explore that part of the internet. (And hopefully, you escape before attracting their notice, so they don’t follow you wherever you go.)

So we (most of us, at least) don’t avoid the entire internet because we know that there are some parts of it that are not places you’d want to wander through late ate night (or, sometimes, even in the broad light of day).

One of Twitter’s major problems is that it is a monolithic system: If you’re on Twitter, you’re in the same system as every other Twitter user. And because Twitter had dodgy and poorly enforced protocols and methods for protecting its users, there was no good way to say, “I don’t want to deal with this unpleasant group of Twitter users”. Everyone’s in the same room at the same party, and there’s no real way to escape short of leaving the party entirely, even if that means having to abandon all the partygoers that you like to get away from the partygoers with the funny little mustaches who are being jerks.

Mastodon, however, isn’t monolithic. It’s not a single system. This is where you start hearing the words “decentralized” and “federated” and your eyes glaze over, but all that means is, just like the BBSs of ye olden days, it’s a bunch of individual servers that can to talk to each other. The biggest difference is that where in the BBS days, BBS owners had to find each other and set up the connections intentionally (opt-in), Mastodon’s default is for servers to talk to each other unless they choose not to (opt-out).

Some servers are puppies and kittens and rainbows, some aren’t. But when the owner of the Mastodon server puppieskittensrainbows.social realizes that the users from newyorkcitysewer.social keep harassing people, causing problems, and being generally unpleasant, they can just decide not to talk to that server anymore. Poof! Problem solved, no more sewer rats skittering around biting people.

So, is Mastodon a problem? No more than BBSs are a problem, or the Internet is a problem. Individual Mastodon instances may be, but they can be dealt with.

And, of course, nobody can spend $44 billion to run Mastodon into the ground in two weeks.

If Twitter Falls Over…

A friend on Facebook asked:

Leave Twitter or stay*?
If you’re leaving, where are you going?

My response:

For myself, I’ll likely keep my account active (deleting an account doesn’t remove it from being followed, and means that username is up for grabs, which means a bad actor/spammer could grab it and start showing up in the feeds of anyone who was still following that username), but I may start scaling back my usage (even more than I already have). There are still a lot of people on there that I value following, but if the ratio starts to change, so it goes.

My personal preference (at least in an ideal world) is for my own personal website. I own it, I can put what I want on it, and I’ve had a blog running there for more than 20 years now. How frequently I post to it varies depending on how much I’m sucked into Facebook or Twitter at any given time, but I’ve never let it totally die off, and maybe this will (once again) be impetus to start babbling there again.

Of course, the down side to personal blogs is that for “most people”, they’re not as visible — you have to either go to them, or have some form of RSS newsreader set up, which isn’t difficult, but if you don’t know about that as an option, it doesn’t do any good — because they’re not being algorithmically pushed into people’s faces, so you get fewer readers. And without “like” buttons or similar functionality (which I’ve not bothered to figure out how to do on mine), if the readers you do have don’t comment, then you don’t have the gratification of feedback. I’m well aware that this is one of the things that keeps sucking me back to Facebook: I can post the same thing here and on my blog, and I have no idea if anyone ever sees my blog, but here I’ll get reactions and comments.

I also have accounts on both Mastodon and Cohost, and will every so often check back in to see what’s going on there. As always, if more people I know use those more often, I’m more likely to participate more often.

Change is Good

Thanks to the latest horrible thing to fall out of Bill Maher’s mouth, I’ve just added a disclaimer to my On This Day page and to the top of every post that is more than two years old noting that the post may not reflect my current beliefs.

I sincerely believe that learning, growing, examining, and often changing beliefs is an integral part of being a responsible human being. My personal journey socially and politically has been ever leftwards, and there are many posts in the archives that I would not write the same way today, if at all.

Things I know exist in my archives that I would not write today:

  • General mockery of Britney Spears for no real reason other than being a pop queen. (Which, honestly, she’s very good at.)
  • Very suburban-white-background “I listen to all kinds of music except country and rap” sentiments. Lots of at-the-time unexamined racism and classism in those statements, plus they were never really all that true (classic country and “acceptable” rap were always part of my listening habits).
  • Probably a fair amount of other statements with then-unexamined ableism, classism, racism, sexism, homophobic, or transphobic aspects or roots.

I’m sure there is a lot more; those are just the ones that pop into my head because I’ve come across them at one point or another recently while digging into my archives.

I’ve always considered myself to be open-minded and politically liberal, and while that’s true, the older I get, the more I have realized how many ingrained societal biases still exist within that basic framework. Working through those biases, recognizing them, and endeavoring to change them is an ongoing process, and one I hope I never give up on. It’s not always comfortable; it is always necessary.

Blog This Shortcut for iOS or macOS

Blog This shortcut button image I’ve been working for the past few days on constructing a Shortcut to use for quickly sending a link and block of text to whatever blogging software I’m using on whichever device I’m on at the moment. As of today, I’ve hit a point where it does everything I wanted it to when I started playing, so I’m designating this an official “version one” release (for posterity’s sake, I suppose I can refer to the prior two versions as the alpha and beta releases).

The Shortcut is now cross-platform, with many thanks to Jason Snell for giving me exactly the final pieces I needed.

Selecting some text on a webpage and then using the Share Sheet on iOS or the Services menu on macOS will grab the webpage link and the selected text, convert it to Markdown format, convert any relative URLs in the selected text to absolute URLs, and then place the final text into a new Ulysses sheet on iOS or MarsEdit post on macOS, all ready for any final edits before publishing to your blog.

If this shortcut might be of use to you, either as-is or with some modifications for your particular needs, download, tweak if necessary, use, and (hopefully) enjoy!

Blog This service menu item on macOS MarsEdit window with shortcut output text

Figured out how to create an iOS shortcut that grabs a webpage URL, title, and any selected text from Safari, formats it into a Markdown link and block quote, and then sends it to Ulysses as a new post to be published to my blog. Pretty happy with the result!

Repairing my Music library after Apple Music Library Sync destroyed the metadata

Today I finally finished repairing my Music (iTunes) library after it got mangled when I signed up for Apple Music (the service) a few months ago.

Apple Music has its benefits, but apparently signing up automatically activated the library sync feature, which started overwriting my local metadata with data from the cloud. I caught it before it got all the way through and figured out how to turn it off, but a large chunk of my music library lost a lot of the edits I’d made over the years. From song titles to artist names to custom artwork, covering tracks that I’d purchased from the iTunes Music Store, purchased from Bandcamp, ripped from my own CDs, or even imported from my vinyl collection. Titles and names were changes, artwork was either replaced or removed…probably somewhere between a third and a half of my 37,416 item, 285 GB music library was affected.

The only reason I was even able to repair it all was that, well, Music (and iTunes before it) has been historically tweaky for long enough that I’ve gotten into the habit of making a manual backup of my music library every so often, separate from the Time Machine backup that’s done automatically, just because I don’t trust Music not to screw something up at some point.

I also discovered that Music reads metadata from two places: the metadata embedded in the individual files, and in the “Music Library” file stored within the /user/Music/ folder. Much of the bad data that was being displayed in Music was actually being read from the “Music Library” file; apparently that was where the data from the cloud had been written. When I opened the info window on a track to fix it, Music would then read the embedded metadata from the actual track file, and the data (some of it, at least) would switch back to the correct information.

Of course, manually going through and loading every one of my 37,416 tracks wasn’t at all realistic — but the Refresh a track from its file’s metadata script from Doug’s Applescrpts allowed me to select a chunk (I was able to do as many as 600 tracks at at time without it timing out) and let the script repair the metadata in the background. There were still some final corrections that needed to be made (this trick didn’t fix the artwork that got lost or replaced, and many of the “Album Artist” fields still needed to be corrected manually), but those were easier to do once the script handled the bulk of the work.

So, a few months after signing up for Apple Music, I finally have my local library back to a useable state.

Hey, Apple? Local data should NEVER be replaced by cloud data without warning, without explanation, and without active affirmative confirmation by the user. That was years of work I could have lost, and months of work repairing it. Get this bit of your system fixed, please. This sucked.

Also, trying to write a post about my music, the application Music, the service Apple Music, and Apple the company, and make it all coherent, is not an easy thing to do. I get that iTunes was a bloated beast and needed to be split up — though, really, Music isn’t that much better, is still missing a lot of features (like a usable in-app search feature) — but did it have to be renamed so generically?

DVD/Blu-Ray conversion with text soft subtitles on macOS (2021 Update)

Saved here for my own reference, and possibly others’ if they should stumble across it: the easiest workflow I’ve found yet for converting DVDs or Blu-Rays for personal use on macOS, including conversion of subtitles from either Closed Captions, VobSub (DVD), or PGS (Blu-Ray) format to text-based .srt files suitable for use as soft subtitles, either as a sidecar file or included in the final movie file. (Updated from my original 2015 post to account for software and process changes).

Rip the System Disk

DVD Subtitle Workflow 1

Use MakeMKV to rip the DVD or BluRay disc to .mkv files.

Since I’m archiving special features as well as the main program, I simply rip every title on the disk longer than 30 seconds, and then trash any that I don’t need (such as menus, studio promos, etc.). I do check to make sure that all English-language audio or subtitle tracks are selected; usually they are by default, but I’ve seen rare situations where they need to be manually checked.

Once all the .mkv files have been created, I go through and rename each one to be something more descriptive than title_t03.mkv.

Extract the Subtitles

DVD Subtitle Workflow 2

For each .mkv file, use Subler to extract the subtitles. This takes two passes through Subler to complete.

  1. First, drag the .mkv file onto Subler, and deselect everything but the subtitle track(s) that you want to convert.

    Subler Import

    Subler’s “Info” column will describe the subtitles as either VobSub, PGS, or Text. I used to convert them all so that I could choose which gave me the best results; now, I’ll ignore VobSub/PGS if Text is available (but it’s less common).

    VobSub or PGS: These are the most common subtitle types. They’re actually a series of image files (.png, I think) with attached timing information that media players layer over the video stream. The advantage is that font, color, size, placement, and even fancier graphics (sometimes used for “pop up trivia” style tracks) are all at the creator’s discretion; the disadvantage is that because they’re image files, the text has to be extracted through an OCR (optical character recognition) process that frequently leads to typos and garbage characters.

    Text: These are Closed Caption files. I’m not sure how they’re stored on the physical disks, but current versions of MakeMKV convert them to text during the process of ripping to .mkv. I’ve generally found these to have far fewer typos and oddities than OCR’d VobSub or PGS subtitles. However, it’s often a toss-up as to whether the captions are presented using standard captalization or in ALL CAPITALS, and they use varying numbers of space characters to manually place text centered or off-centered. Depending on how picky you are about the output, these factors can affect how much post-processing is needed.

    After choosing the subtitle tracks and clicking “Add” to create a new Subler document, you can either save the Subler document (fine if you’re only doing a single file) or use File > Send to Queue to create a batch queue (best if you’re converting multiple files). When the file is saved or the queue is run and all queued files are saved, Subler will either extract the Closed Caption text or OCR the subtitle images and output a small .mp4 file.

  2. Second run; drag the new .mp4 file back onto Subler, click on the subtitle track(s), and choose File > Export… to save the .srt file(s). The tiny .mp4 file can then be deleted.

    Subler Export

Correct the Subtitles

DVD Subtitle Workflow 3

As noted above, the exported .srt file(s) are virtually guaranteed to have some oddities; how many and how intrusive they are depends on the source. Caption files are often in ALL CAPS and have weird spacing used to force the text to a desired on-screen position. Subtitle files will contain OCR errors, but BluRay (PGS) subs seem to come out better than DVD (VobSub) subs (likely due to the higher resolution of the format giving better quality text for the OCR process to scan). Accuracy is also affected by the chosen font and whether or not italics were used.

For correction, I use a couple methods.

  1. For a quick-and-dirty “good enough most of the time” run, I use BBEdit (but just about any other text editor would work) to do a quick spellcheck, identifying common errors and using search-and-replace to fix them in batches.

    I’ve actually set up a few scripts to automate the most common search-and-replace steps to help with this process.

  2. For a real quality fix–or if I have the time to create subtitles from scratch for a file that doesn’t have any–I use Subtitle Edit Pro to go through line-by-line, comparing the text to the original audio, adding italics when appropriate, and so on. (I used to recommend Aegisub, but that project appears to have been abandoned a few years back. There doesn’t seem to be a big market for subtitle editing on macOS; Subtitle Edit Pro is the best option I’ve found since Aegisub stopped working consistently.)

Of course, these two processes can be combined, done at different times, or skipped entirely; if I don’t have time or energy to do the error correction, I can always go back and use Subler to extract the .srt files for cleanup later.

Embed the Subtitles

DVD Subtitle Workflow 4

Use HandBrake to re-encode and convert the .mkv file (which at this point will be fairly large, straight off the source media) to a smaller .m4v file. Include the subtitle file by choosing Tracks > Add External Subtitles Track… in HandBrake’s Subtitles tab.

Handbrake Subtitles

Or, if you’re already working with an .m4v file, you can use Subler to add .srt files to into the .m4v: Drag the .m4v file from HandBrake on to Subler, drag the .srt file(s) into the window that opens, and then save the file.

Finito!

And that’s it. Now, you should have a .m4v file with embedded text-based soft subtitles.

TWOK Subtitles Example

You can also just store the .srt file(s) in the same directory and with the same name as the .m4v file for apps that don’t read embedded .srt files but will read sidecar files.

The two top things I want from Apple’s Music (formerly iTunes) app:

  1. Functional search. The drastic decrease in functionality in the iTunes to Music transition is incredibly frustrating.

  2. Either a ‘tag’ field, or for the ‘Genre’ field to be tags, rather than single-value.

🎶