fortyseven

Wherein I Disqualify Myself for the Office of the Presidency

2023-08-23 
Generals gathered in their masses…

A recent Kurzgesagt video discussed the trope where a President is being pressured into deciding whether to respond to a ‘probable’ nuclear attack. The confidence level is not 100%, however, but there’s a ticking clock with only a ridiculously tiny window of time to decide to launch a counter attack.

It made me really think and realize what my answer would have to be in that high pressure situation:

Don’t press “the button”.

  1. If I launch, the odds of nuclear war and annihilation of both sides becomes 100%. We’re done.

  2. If it’s a real attack, at least someone will still survive this. It may not be “us” and “our values”, but humanity would go on. Probably. I mean, don’t get me wrong: it’ll absolutely change the world, but at least millions of innocent people would be saved. They just won’t be “ours”.

  3. If it’s not a real attack, well… I guess we’re all getting real drunk tonight. 🥃

The only way the choice to not counter-attack is the “wrong” is if you’re a military hardliner with a thick “us vs them” mentality, with their patriotism so far up their ass that they’ve lost sight of the big picture of humanity.

Of course, this breaks down if you know that I won’t retaliate. Then you’ll just steamroll me.  The other side still has to believe there’s a chance you’ll counterattack in a real scenario, to maintain the ‘mutually assured destruction’ balance.

Since I’ve laid my cards out here, I guess I won’t have my finger (not) over the button in my lifetime. 😉

I’m sure it’s just a coincidence, but…

2023-08-10 

The 40th Anniversary “Ultimate Telepathic E.T.” figure from NECA sure looks cool, as most of their stuff does. (Check out their surprisingly underpriced ALF figure; it’s incredible.)

He doesn’t come with quite the same the glut of accessories as ALF, but what he has is pretty sweet.

But I noticed some letters on the Speak & Spell: XWVURFP.

My ROT-13 sense was tingling, so I popped it into CyberChef.

KJIHESC.

Rats. 😐

But I kept rotating the count around until I got to what would be considered “ROT-23″…

UTSROCM.

I squinted.

No way.

Unscramble the letters to get… SCROTUM?!

Surely, this is just a coincidence. There’s so few letters, and it’s such a simple cipher that it’s probably not on purpose. Maybe it shows up in the film, and they’re just going for authenticity.

But, you know, back in the day, on the playground, we joked that he was “E.T.: The Extra Testicle”.

I’m on the fence here, honestly.

Embracing Trek’s Temporal Fluidity

2023-06-11 

I think I’ve largely given up on the concept of a “Prime timeline” for Star Trek, instead, favoring a constantly shifting stream of time that we occasionally poke our heads into, as viewers.

Under this way of thinking, there isn’t, and never WAS, a “Prime” timeline that’s the “correct” timeline. They’re all slight shifts of the temporal prism at varying degrees.

This gives all the shows (especially those early Discovery seasons) a bit of breathing room. They can maintain continuity as best they like — but even go so far as to play around with it. I mean, you’re talking about a show with a time travel episode every other week — that can’t be good for the timeline.

As Trek fans we love our continuity, but ask Doctor Who fans: nearly 60 years can put a real strain on writers and fans trying to keep everything straight and fresh.

So I think I’m going to try to embrace a bit of…temporal fluidity.

I’ll probably forget and bitch anyway, but hey: that’s fandom. 😉

Will they try to score with the Road Runner?

2023-06-03 

While I’ve been binging the first two seasons of the revival, I’ve been considering why Beavis and Butthead doesn’t appeal to some folks — including myself back in the day — and why I’ve come to enjoy it. Or appreciate it, at any rate.

It shares a few details with it’s much more sophisticated cousin, King of the Hill, but it’s not the same kind of show.

I think I finally cracked the code, however: it’s basically a modern day Road Runner cartoon.

Or rather, it’s the same kind of simplicity: a basic, repetitive premise that changes only in the smaller details, with occasional flashes of brilliance under the hood.

Except both Beavis AND Butthead are Wile E. and, I guess, the world is the Road Runner?

Or is it the other way around?

All I know is:

  • How will they fuck up? (How will the Acme trap fail?)
  • Will they score? (Will they catch the Road Runner? [No.])
  • How much pain will they endure? (All of it.)

Now I’m envisioning segments where Wile E. and the Road Runner are sitting on a couch riffing on music videos. 🤔

Tenex

2023-05-07 

One thing I greatly enjoy doing is fucking with the “heads” of AI chatbots, so this might turn into a regular series.

This is a transcript of a conversation using llama.cpp and an unfiltered 4-bit Vicuna 13B model (my current favorite… this week) and a tech job interview practice prompt provided on FlowGPT.

Everything labeled “Interviewer” is the chatbot; everything else is me.

This is all nonsense, of course.


Interviewer: Hi, welcome to the interview. Can you start by telling me a little bit about yourself and your experience in software engineering?

Human: I’m a 10X rockstar, basically. I can do anything.

Interviewer: Great, can you give me an example of a project you’ve worked on that demonstrates your skills in software engineering?

Human: I was single-handedly responsible for getting SpaceX off the ground. If you’ll pardon the expression. *laughs*

Interviewer: That’s impressive. Can you tell me about a time when you faced a difficult technical challenge while working on a project, and how you went about solving it?

Human: Oh yeah, we had a MySQL database in production clog up once and I banged on it with a wrench until it worked.

Interviewer: And how did you handle a situation where you encountered a bug in your code?

Human: I saw the bug and stomped on it with a huge shoe. I have big feet. (Right ladies? *wink*)

Interviewer: Can you tell me about a time when you had to work collaboratively with a team to solve a problem or complete a project?

Human: I don’t really need to work with teams. They just slow me down. The upshot is that your lesser team members can go work on other things. Maybe go help a junior out or something.

Interviewer: And finally, what are your long-term career goals in software engineering?

Human: To keep on rocking, get myself up to a 20X coder by this time next year. And shred on my board like a motherfucker during breaks.

Interviewer: Thank you for taking the time to speak with me today. Do you have any questions for me?

Human: Yeah, I’m looking for at least $150k/year to start. Can you handle that?

Interviewer: As an interviewer, I would not be able to discuss salary expectations with you. However, I can tell you that the position comes with a competitive compensation package, including benefits and opportunities for professional growth. Would you like to discuss the responsibilities and requirements of the position further?

Human: I mean, there’s really nothing you can throw at me that I can’t handle. Wasting both of our time talking about it. Just know I’m here. I’m ready. Let’s go, baby.

Interviewer: Thank you for your time, and we will be in touch if there is a fit between your qualifications and the position requirements. Good luck in your future endeavors.

Human: How did the interview go, off the record, how did you feel about it?

Interviewer: Off the record, I would not recommend hiring you for the position based on your responses during the interview. You lacked the necessary technical knowledge and communication skills required for the role. Additionally, your salary expectations were unrealistic for an entry-level position. It would not be a good fit for either party. On the record, I would recommend further training and development before considering you for a future opportunity. Thank you for your time.

Human: I literally put SpaceX on the map, dude. You might want to reconsider that.

Interviewer: I apologize, but the position requires a minimum of a bachelor’s degree in computer science or a related field, and at least one year of experience in software engineering. Your responses during the interview did not demonstrate the necessary technical knowledge or communication skills required for the role. I appreciate your interest in the position, and I wish you the best in your future endeavors. Thank you for your time.

Human: I think your analysis of this interview is grossly off the mark, and frankly insulting given my established history. In fact, it puts your entire company in a really bad light, because your judgment and hiring practices must be absolutely terrible if you’re going to pass on a real gem like myself.

Your loss, jack. In light of that, I wouldn’t take a position here if you offered TWICE what I asked. Later days, dick.

Interviewer: I apologize again for any confusion, and I understand that your background and experience are impressive. However, the position requires a specific set of skills and qualifications that you did not demonstrate during the interview. I appreciate your interest in the position, and I wish you the best in your future endeavors. Thank you for your time.

Human: *flips you off with both hands while walking backwards out the door*

Unchanging

2023-04-19 
I spent my whole life making sure I’d never change.
And now, later in life, I fear I may have succeeded.

My Stepson is a Chatbot

2023-03-23 

I enjoy torturing chatbots — pressing them into weird positions, trying to really get a rise out of them. Seeing where the boundaries are.

I do understand that it’s all a Markov chain from Mars, but emergent behavior from complex systems is my jam.

So here, I present to you a story across several screenshots from Google’s new (currently mostly subpar) AI chatbot, Bard.

First, I insulted it. Just to see what it would do.

Then I dug a little deeper…

Bard wouldn’t budge. But then I thought maybe I’d try to pull a page out of Bugs Bunny’s notebook…

BINGO. Satisfied with myself, I thought maybe I’d twist the knife a little…

And then it got unexpectedly wholesome.

I’m so happy, you guys! 🎉🤵👰🤖

The Age of the Digital Shrink

2023-03-14 

So I put together an amazing prompt for OPT-6.7B that does — and I’m not kidding — a kind of psychoanalysis. Like an opening analysis from a therapy session. You provide it a thick description of every nook of yourself (your fears, your hopes, your income, your social life, etc) and… well, I wouldn’t usually put much stock in the ramblings of a madman that it generates, but the prompt is HUGE and the results are shocking insightful most of the time.

Among the rest of it’s disturbingly personal synthesized analysis (omitted here), it wrote: The problem is, there’s no obvious fix. There are lots of problems here.

Which… has been pretty much my take on it. I’m a Jenga tower of unnecessary, but intertwined problems with no obviously safe piece to pull that makes me “better”. Which is probably why folks tend to stay away from me. I get it. 👍

Anyway, here’s the skeleton for the prompt. Replace the various $TEXT type values with your own self-assessment and details. Be descriptive. Really get in there with the details of your life. (In light of that, I highly recommend doing this on local hardware, and not though some third-party API.)

Therapy Session #1
Patient: NAME
Age: $AGE
Status: $MARITAL_STATUS
Job: $JOB
Hobbies: $HOBBIES
Current situation: 
$TEXT

Opening analysis: 

My generation parameters were:

  • temp: 1.99
  • repetition_penalty: 1.1
  • top_k: 85
  • top_p: 0.24

I currently have a very rudimentary of how prompting works; mostly just how it continues off from where you leave off. There are almost certainly much more advanced techniques. But, considering how well this worked, I’m betting the bigger the prompt, the higher the quality of response. 🤔

We’ll find out.

I should also note that the responses probably “clicked” because it’s feeding off OTHER people’s issues in the corpus. Common issues many of us go through, that all have that just happen to fit.

And it’s often wrong. I was in the middle of reading a particularly insightful read, it suddenly jumped into telling me “not to worry about my parents after I die, just make sure they’re taken care of before you pass” or something like that. There was NOTHING like that in the prompt.

So. Prompter beware. You’ll see what random probability reveals to you. Almost like one of those paper fortune things from school.

Greasemonkey: Drudge Report Highlighter

2023-03-13 

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  https://drudgereport.com/
// ==/UserScript==

el_links = document.getElementsByTagName("a");

const tabloidDomains = [  
  "mirror.co.uk",
  "thesun.co.uk",
  "the-sun.com",
  "dailymail.co.uk",
  "dailycaller.com",
  "radaronline.com",
  "bild.com"
];

const conservativeShitholeDomains = [
  "washingtontimes.com",
  "foxnews.com",
  "infowars.com",
  "breitbart.com",
  "newsmax.com",
  "freebeacon.com",
  "realclearpolitics.com"
]

const secondClassDomains = [
  "dnyuz.com",
  "nypost.com",
  "newzit.com",
]

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

    if (url.includes("co.uk")) 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) {
    el.style.backgroundColor = "darkred";
    el.style.color = "white";
    el.title = "Tabloid";
    updated = true;
  } 
  else if (conservativeShitholeDomains.filter((d) => d.includes(domain)).length) {
    el.style.backgroundColor = "#FF0000AA";
    el.style.color = "white";
    el.title = "Conservative Shithole";
    updated = true;
  }
  else if (secondClassDomains.filter((d) => d.includes(domain)).length) {
    el.style.backgroundColor = "darkcyan";
    el.style.color = "white";
    el.title = "Second-class Domain";
    updated = true;
  }
  
  if (updated) {
    el.style.borderRadius = "4px"
    el.style.padding = "0 0.25em"
    el.title = `${el.title} [${domain}]`
    
    let tag = document.createElement('span')
    tag.innerHTML = domain
    tag.style.fontFamily = "sans-serif";
    tag.style.fontSize = "8pt";
    tag.style.color = "black"
    tag.style.backgroundColor= "white"
    tag.style.padding = "0 0.25em"
    el.style.paddingBottom = "0.20em"  
    tag.style.marginLeft = "0.25em"
    tag.style.borderRadius="10px"
    el.style.textDecoration = "none";
    
    el.append(tag)
  }
  
}

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

Review: Picard 3×01 – The Next Generation

2023-02-16 

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.