Greasemonkey: Drudge Report Highlighter


One of my secret shames is that I regularly check Drudge Report for breaking news (especially now that Twitter is compromised).

Drudge is a scumbag. But he’s a useful scumbag. He seemingly posts 24/7 (with some help, no doubt) every little bit of breaking news.

His preferences lean right, but at the end of the day he leans wherever the clicks are — so he’s not exactly what I would describe as a die hard conservative, if the story is big enough.

That means he links to tabloid sites, like The Sun, and others.

Very low-quality garbage, along side regular mainstream news sources. It sucks.

So, last night I got the idea to write a Greasemonkey script to iterate all the links on the page and style them appropriately if they’re from a blocklist. That’ll help me judge, at a glance, the likelihood that King Charles was actually seen shapeshifting into a lizard or not, and I can skip it.

And here it is, in it’s imperfect glory:

// ==UserScript==
// @name     drudgereport-highlighter
// @version  1
// @grant    none
// @run-at 	 document-idle
// @include
// ==/UserScript==

el_links = document.getElementsByTagName("a");

const tabloidDomains = [  

const conservativeShitholeDomains = [

const secondClassDomains = [

function basename(url) {
  try {
    let back_offset = 0;

    if (url.includes("")) back_offset = 1;

    let foo = url.split("/")[2].split(".");
    return `${foo[foo.length - 2 - back_offset]}.${
      foo[foo.length - 1 - back_offset]
  } catch {
    // lazy hack
    return "";

for (el of el_links) {
  domain = basename(el.href);
  let updated = false;
  if (tabloidDomains.filter((d) => d.includes(domain)).length) { = "darkred"; = "white";
    el.title = "Tabloid";
    updated = true;
  else if (conservativeShitholeDomains.filter((d) => d.includes(domain)).length) { = "#FF0000AA"; = "white";
    el.title = "Conservative Shithole";
    updated = true;
  else if (secondClassDomains.filter((d) => d.includes(domain)).length) { = "darkcyan"; = "white";
    el.title = "Second-class Domain";
    updated = true;
  if (updated) { = "4px" = "0 0.25em"
    el.title = `${el.title} [${domain}]`
    let tag = document.createElement('span')
    tag.innerHTML = domain = "sans-serif"; = "8pt"; = "black" "white" = "0 0.25em" = "0.20em" = "0.25em""10px" = "none";

console.log("drudgereport-highlighter installed");

Review: Picard 3×01 – The Next Generation


Not a bad opener at all.

At first it felt like the direct TNG callbacks were a bit much, but it’s the opening episode — there’s an allowance for that kind of thing. Sets the tone. Builds a framework.

It definitely feels different. Better. Probably my favorite premiere out of all three seasons. But each of those were actually quite good before each of them fell off the rails pretty rapidly. It remains to be seen if Season 3 falls into that trap. But I get a good feeling from this. With how badly prior seasons have left me soured, I still feel something I didn’t expect: hopeful. 🤞


Realtime Observations:

  • In the 25th Century… (oh lord, laying it on thick out of the gate)
  • No title sequence…?
  • Rainy ambient background is great with headphones in the scene with Picard talking to Laris.
  • Aaaand just like that Laris is off the series? Maybe she’s back at the end, too? 🤔
  • An EAGLEMOSS on screen with stand and everything. Okay…
  • Oh, wow, a whole Amazon store listing of Eaglemoss ships on display. Not sure how I feel about that. Breaks immersion a bit too much.
  • “The fat ones”. Geesh.
  • Both Picard and Riker giving speeches at Frontier Day.
  • So Bev gives this dire message where she’s clearly heavily injured, but let’s fuck around real casually about it at the bar. Factoring in how long it took for them to get together, hatch a plan, take the Titan in one direction, then double back, etc. It had to be at least week if not more before they even got to her. (Trek’s been known to bend time and space, so this is not nearly as damning as it might ordinarily be, but it’s still irritating.)
  • Fifteen minutes in and the number of obscure, statistically unlikely TNG callbacks in a row is already closing in on intolerable. (EDIT: it mellows out.)
  • M’talas Prime… a bit on the nose, no? I mean, naming shit after the crew is common but what’s next? Kurtzman IV? (That actually has a good ring to it…)
  • “Inspection face”
  • Sexy Titan-A flyby. I’ve long said Trek has lost that grandiose majesty, and this brings some of that back.
  • The score really is great, though it sometimes feels like a bit too direct of a copy/paste affair. From great source material, at least.
  • “Crash” LaForge. She’s got chops. She didn’t feel like stunt casting.
  • Picard/Riker banter is almost a bit much, but JUST on this side of fun.
  • Shaw’s dinner ASMR with headphones is a bit disturbing.
  • Yep, Shaw is a real dick. Hahah. Maybe a bit too much of one? I bet we come around on him, though, before he dies.
  • On snap, he’s got Locutus beef with a general anti-Borg racist streak. (“Commander Hansen” for instance.)
  • Picard and Janeway inspired her to “join Starfleet”? I thought she tried to get in post-Voyager but was denied. That was on THIS SHOW it was mentioned. They said even Janeway’s considerable sway at the time couldn’t do it… which is why she joined the Rangers. Bah.
  • A red statue. Who the fuck has a red statue, except to use for someone’s cryptic clue? 😛
  • Holy shit! Now we’re playing with portals. That was exceptionally different and genuinely horrifying. But I can’t imagine how someone can get to Earth, do THAT, and not immediately get stomped in orbit. We don’t know enough about it, though, so… we’ll see?
  • Butt to butt shuttlecraft-on-ship action.
  • Androids get an adrenaline rush? Oh right, we’re sweeping that whole “golem body” thing aside.
  • Picard made Bev a classical mix tape!
  • “Her son!” — no shit, Marcus.
  • Opening credits are at the end. An interesting choice. Some fun clues in the end-credits LCARS.
  • 53 minute episode but felt twice that long. In a good way.

2022 Personal Movie Retrospective


Over the last couple years I’ve started using Letterboxd quite a bit to keep track of what I watch, and maintain a list of “to see” films. I’ve been trying to really make an effort to catch all those classics I’ve missed.

Historically I’d be lucky to watch at least one film a month, if that, and it was usually whatever the Marvel flavor of the month is, or something of similar mainstream nerd appeal.

But as of late, I’ve really started to come to appreciate “cheesy movies”, which should come as no surprise being a long time MST3k fan.

But could I do it without the riffing?

No. Fuck straight off.

But I didn’t strictly need Mike and the bots to have a good time, either. Thanks to OSI74 and Cinema Insomnia, and the gang over on the Twitch channel, I’ve been virtually drowning in weird, horrible horror and exploitation this year.

And, of course, a lot the mainstream stuff.

So, looking back on this year, here’s a quick rundown of the four/five star ones, along with a quick blurb.

Monty Python and the Holy Grail5I’ve seen pieces of this throughout the decades, but never properly saw it front to back. Discovered some new bits, too! The whole European/African question, in context, is a brilliant punchline. And I had no idea about the thing with the cops!
Prey5I don’t think anyone saw this one coming — a risky, unexpected twist on a franchise that should probably have given up by now. Glad it didn’t. More like this, please.
Everything Everywhere All at Once5The MCU’s attempt at the multiverse peaked with Loki, and by this point I’m burned out on it as a concept. But EEAaO owns the hell out of it. And it didn’t need two dozen films behind it to give it meaning. Not to be missed. A lot of heart.
The Batman5Another franchise that seemed to be burning out, but took a risk and went all-in on “the Twilight guy” as Bruce, leaning into a grittier noir-focused take on Batman. Yes, even more so than usual. The cinematography really makes it stand out, even if the film itself is a bit long.
Spider-Man: No Way Home5The epitome of a guilty pleasure. Even with the multiversal gimmick laid bare long before seeing it, it was still a delight having all three Spider-men on screen together. They had genuine chemistry that made it really enjoyable seeing them working together. Or even just hanging out bullshitting. But the best part? Having Andrew Garfield’s version of the character be redeemed IN FULL. That made it worth it, all by itself.
The Wizard of Oz5Much like Holy Grail, this is one that slipped past me, but I knew enough of it from cultural osmosis that it felt like I’d seen it already. There were plenty of bits I was unfamiliar with, but unlike Grail, those were largely forgettable. A real spectacle of a film, though. It’s reputation is well-earned.
Black Dynamite5A new favorite, taking a place along side Kentucky Fried Movie and Amazon Women on the Moon. And that’s a sacred spot on my shelf that I don’t just hand out to anyone. This WILL spawn many repeat viewings.
Glass Onion4.5Craig’s Benoit Blanc is a Sherlock for the modern age. This hilarious take-down of modern internet culture and bizarre billionaire worship ruffled a lot of feathers. Good.
Spirited4.5I’m not averse to musicals, but it REALLY has to be good. And I was not aware this WAS one, going in. I was hoodwinked! Thankfully it’s probably one of the best musicals I’ve seen in a long time, and it’s actually a pretty great twist on the usual, tired Christmas Carol concept.
The Thing From Another World4.5This took me by surprise. The 1980s remake of this is legendary, but I haven’t seen it. Itself another “knew it by reputation” film. I figured I’d see that before I ever laid eyes on this 1951 version of the story, but I’m glad I did. This has some of the most terrifying visuals I’ve ever seen in a film from the era. But that’s probably owed more to my relative lack of exposure. Still, this made an impact on me.
The Guardians of the Galaxy Holiday Special4.5The Guardians of the Galaxy will always be on another level from the rest of the MCU, and this just cements that belief for me. It’s barely 45 minutes long, but it packs a lot of love and heart into that tiny space.
Joker4.5I can’t believe I actually saw Joker. I swore I wouldn’t. But I finally caved. And I’m glad I did: it’s pretty amazing. A moody, violent exploration of mental illness. It’s fans tend to be garbage, though — I get into that, and why that might be, in the review.
The World’s End4.5A film wearing many hats. Is it an alien invasion movie? Or maybe it’s a metaphor for Pegg’s character stuck in the past? Or maybe it’s an action film involving shattering a child’s skull the wall? Maybe it’s all of these.
Chip ’n Dale: Rescue Rangers4.5This had no reason being as fun as it was. A blend of animation and real life film in the tradition of Roger Rabbit, and easily as enjoyable. This could have gone wrong in a million ways, but it’s clever writing and love of the material keeps it together.

Other notables, without comment: Confess, Fletch, Fletch, The Munsters, Red Dwarf: The Promised Land, Jaws, Weird: The Al Yankovic Story, and a whole lot more.

So, damned good year for films for me. Hoping to keep up the pace for 2023. 🥵

Offensive Technology

It’s the same story every time.

Oh woe! Life is so awful! The magic silicon smoke machines will take my life away!

Trog crap like this meme, and the rigid, binary anti-AI dipshittery, is essentially accepting the history of abuse by corporations as the default outcome of technological advancement.

As long as there are free, open expressions of this technology, it’s not.

Unless you let it.

So here’s my plea: instead of resigning to filtering every big technological advancement through the melodramatic lens of dystopian oppression, grab the wheel. Start thinking of ways to use those tools both defensively and offensively FOR the people. How can these tools improve life? Think about 3D printing, and how it enables people to create their own prosthetics. Things like that.

We should be pushing the narrative towards people-friendly, empowering positions instead of wallowing in shallow meme-quality victimhood.

Under Reconstruction!


Still here! Just been really busy with a bunch of stuff.

And I kind of made it less than easy to write quick, fun posts, since this is a static site… and I’m kind of monkeying around with Markdown files. 😅

Now that I’ve put some prior projects to bed, I’m in the middle of writing my own CMS specifically for this site. Not completely from scratch, but it should at least tick all the boxes I want.

See you soon! 🥃

Oh, Twitter’s dead, baby. Hit me up on Mastodon!

I have a big problem.


A Twitter bot problem, to be precise.

Not too long ago, I launched a trio of bots on Twitter. Two of them were those kinds of bots that post a random screenshot from a TV show or movie at some interval (usually every hour).

The first two honored two of my favorite things: The Critic, represented by @TheShermometer. And the world of Max Headroom represented by @20MinutesBot.

At the same time, I released the shoddy source code for the bots under the amazingly clever name of GenericTwitterImagePoster. (I could give it a proper name, I guess, but does it really matter?)

Anyway, earlier this week I launched two more!

  • @FifthColumnV, celebrating both 1983’s V: The Original Miniseries, and it’s second half, 1984’s V: The Final Battle. An absolutely fantastic sci-fi series about resistance fighters versus Nazi space lizard invaders that absolutely holds up today. It was really ahead of it’s time. I’m a little obsessed with it. 😉
  • And the other, the @JetsonsBot: a bot reposting scenes from the original 1960s and 1980s run of TV’s The Jetsons.

Both bots post every hour. You’re either into this kind of thing, or you’re not, so if it doesn’t sound like fun to you, take a hike, bub!

Goodbye, .xyz… hello Twitter bots!


It’s mostly done.

Almost all references to “” have been replaced with “”. Most things should forward appropriately, including email. I’ll have the domain for years to come, so it’ll never truly be gone…

As much as my beloved “.xyz” domain made me happy (I do love me some X’s and Z’s), it has an unfortunate stigma of being from the wrong side of the digital tracks. Prone to `*.xyz` being blacklisted, and so forth.

It was never a HUGE deal, but I might as well rip the bandage off sooner than later.

Meanwhile, I’ve also taken the time to make some revisions to site layout. Kind of surprised at how slow Bludit releases are, and the current 4.x that’s just going into beta didn’t seem to have features I’m interested in.

Maybe I’ll just fork it for personal use? 🤔

Also meanwhile, over the Thanksgiving week, I launched my first two Twitter bots: @20MinutesBot and @TheShermometer.

The former for the 1980s ABC TV series, Max Headroom, and the latter for The Critic. Both of which are instances of a Python script pumped out on Tuesday that uses the Twitter API to posts random images from a folder of images and metadata every 30 minutes.

It’s simple, but boy is it fun.

Like me!

Eeh, I’m not really that fun.

Gonna Skip Windows 11


Not going to lie: Windows 11 is giving off some major Windows Vista vibes. But I’ve been working hard on not being one of these “it’s different, so I hate it” guys. So I loaded up a copy of it in a VM and gave it a go.

I’ll skip the details, but: holy shit. What a mess. Lots of little issues. The Start menu has been bombed back to the stone age. There’s no organization. It’s simplistic. Too simplistic.

Frankly, I’m not sure where Windows is headed, but as an OS it feels like all they do is constantly layer new things on top of legacy things and never get around to cleaning up the old stuff. And when they do update something, it’s often missing functionality. (We see this behavior in stuff from Google, as well.)

I’ve described the whole sudden push to 11 as feeling like some higher-up guy at Microsoft got fired or quit, and his replacement is trying to make a name for himself, rushing a new product out the door that he can call his own.

I’m sure I could use Windows 11 and adapt to it… but I’m kind of tired of playing this game.

So I’ll keep my Windows partition on Windows 10. It’s good for a couple more years. Maybe Win11 will get it’s act together by then. Maybe in 2025 I’ll be able to organize my apps again instead of just lumping them into a list and being able to ‘favorite’ a couple things.

Meanwhile, I’ve decided to explore Linux again. A large part of what kept me away from full-timing Linux is that I’m a gamer. It’s a large part of my world. And, well, if you play games: you run Windows.

But the Steam Deck kind of changed everything. I’d learned about all the amazing work Valve did with Proton, and a plan started to formulate.

So I grabbed a fresh 1TB SSD and took the plunge on Friday night.

Ubuntu 20.04 LTS.

…it’s Monday now. And other than some rough edges here and there, I’m missing… nothing? Or damned well close to it.

I installed Steam and enabled the Proton stuff. So far both Quake and Borderlands: Pre-Sequel all ran fluidly.

Quake is not the most convincing thing, I admit, considering there are native ports easily within reach, but the new update on Steam is only officially for Windows (maybe Mac?). But it ran without complaint.

I’ll try some more later, but if the Steam Deck compatibility rate is to be believed, very little will NOT run.


Even just plain Wine is doing great — Photoshop is working mostly without a hitch. There’s a couple trivial UI things but it otherwise started up out of the box without any tweaks. Literally wine Photoshop.exe on my mounted Windows drive.

That leaves almost nothing to be desired. Though I did have to reboot to play Far Cry 6, but even that’s just because it was running through the Ubisoft launcher — maybe there’s a way around it. And at this point, I believe it.

My prior attempts at running Linux as a daily driver have been met with frustration and sacrifice, but in 2021? I’m not feeling that anymore. I feel like the Linux desktop has finally arrived. For me, at least.

Zyxx Transmissions Decoded


A friend introduced me to Mission to Zyxx — an absolutely hysterical improvised sci-fi comedy podcast. It’s in it’s fifth season, currently, as we close in on the end of 2021. I’ve JUST hit the second season finale as I play catch up.

One of the many (many!) charms of Zyxx is how it weaves the show’s sponsors into the actual story, however lightly. I tend to find pretty much any advertising incredibly abrasive, even at the best of times. But hawking junk in-universe as various character’s “side hustles”… well, it had me in awe of just how brilliant that was.

One of the advertisers is a sponsor not uncommon to internet media: Squarespace. And to promote them, the folks behind the show created a website — — filled with various bits of propaganda related to The Rebellion — currently the good guys (…?) in a Star Wars “Rebel vs. The Empire”-style dichotomy. (The idea being to show how easy it was to setup a site through them, of course.)

On that site are a number of “intercepted transmissions“… I searched around a bit and was very surprised to see nobody really digging into them. That seems unlikely to me, but here we are.

So let’s go through all five of them (as of this writing) and see what we’ve got…


The First Message

A misdirect right out of the gate — below an inline audio clip lies a series of binary digits barely visible, but you can highlight them with your cursor… (“01010100 01101000…”, etc)

Tools to convert binary into ASCII are a dime a dozen, of course, and inside the ones and zeroes lies the message…

This isn't the encrypted message. Of course we know how to translate binary; we have more droids here than we know what to do with. Honestly, if you're looking for a good B-Class recon unit, we'll give a price well below gray book.

…well, fair enough.

The REAL message, STA#_34R5-Transmission-Log-CYCLE11040499080899-4420-Ra, is an audio clip containing a curious series of blips and bleeps.

You’d be forgiven for thinking you can JUST make out something. But that’s your brain jucking with you. Loading the audio up in Audacity and checking out the spectrogram view reveals…

…a secret message! The full text reads…


The Second Message

This one might be my favorite — it contains two different audio files.

Each one, by themselves, sounds like something screamed over a PA speaker in a robot’s version of Hell…

BUT! If you play them both at the same time…

…a voice!

“Your Excellency, it is I, Lieutenant Bordoff. I bow, humbly, before Your Wackness with what I hope is most pleasing news. Zwog Tambouie reports that your order is ready: yes, the device is complete! And he assures us that no one else among The Council has an inkling of it’s existence. Your servant, signing off. […mumbling…]

The Third Message

This time around, they’ve intercepted an image transmission. Initially, it looks like a bunch of noise…

However, if you bisect the image in half at the red line (A) and place that half OVER the top half (B) with — I think it was a ‘difference’ filter — you end up with a inverted image (C):

On it’s “Print is the Future“-brand bonded stationary, it reads:

Beware! Red plus white equals destruction!


The Fourth Message

The next transmission looks simply like a star field. Maybe some poor jucker’s vacation photo from Hendron IV and they lost their camera?

Not quite. ZOOM, ENHANCE:

There are several ways to draw out these hidden pixels, but just cranking the gamma is is enough. The hidden text reads:

Your Excellency: There are many in the rebellion who eagerly await your rise to power. I shall gladly come to your aid if ever the need arises. Yours, Grand Plutt Sunblighter.

The Fifth Message

The final message (as of October 2021 at least) has multiple steps.

First, an 8×22 monochrome image — too small for Rebellion codebreakers to crack! But no match for our tools — ZOOM BUT DON’T ENHANCE:

It’s worth noting that these black and white pixels are 8 across — a big clue that this is binary. (Hey wait a minute, weren’t they just boasting about their binary cracking skills? 😏)

When we break it down into 22 binary groups:


…and then feed that into your favorite tool we get a URL leading to a Dropbox account sharing an MP3 audio file…

The clip contains a voice that’s clearly speaking in reverse, so let’s load it into Audacity and spin that sucker around, and…


Hey Bordoff!

Got the business cards and I got to say: I am pretty excited to see “Emperor” on them. Me! Little ol’ me! Wow-ee! I can’t wait to start handing ’em out.

Uh, oh, circling back onto kind of our master plan… I cannot wait to kill the rest of the Council of Seven and impose my will upon the entire galactic entity.

Anywho…i just want to say I’m so glad about your participation in this. I will not kill you unless you prove unuseful to me. And then, well, by golly, I probably will.

Oop! Okay, Linda is callin’. I have to get to dinner.

But uh, hey: great chattin’ with ya, and uh, yeah, let’s just touch base later. See how it all turns out.

Alrighty, bye bye.

As I sit here at the end of Season 2, not all of this clicks yet. So it doesn’t feel like too huge a spoiler.

Besides, as they say, it’s just a show. You should really just relax. 😉