Are you classified as Human? Negative, I am a Meat Popsicle.

Twitter said Thursday it aims to have 315 million monetizable daily active users (mDAUs)
by the end of 2023 and to at least double its annual revenue in that year.
The announcement was made in an SEC filing.
Twitter’s stock was up more than 5% on Thursday afternoon.

So now you’re not even a “Human Resource”, “User”, “Eyeball”, or “Meat Popsicle”, but an “mDAU”. And by completely dehumanizing you like that, they were rewarded by the stock market.

What I’m Watching: Last Suspicions, The Investigation

  • Suspicions of Mr Whicher: Ties That Bind: (zon) A divorce case (in Victorian England, nasty business) turns into a missing person case, then murder. Paddy really seems to have grown into the role here (tho again by now the historical Mr Whicher is utterly different from this character), but this is the last one. Unlike #3, the video quality is back to normal, even fairly good views of pastoral English countryside, horses galloping around. Everyone in this crappy little village and the nearby manor house has secrets, nobody is innocent of anything. The mystery almost works; but they have to cheat by telling Whicher something the audience doesn’t get to hear, which resolves everything. Still, a good enough episode to go out on. ★★★½☆

  • The Investigation: (hobomax) Danish 5-episode miniseries about the death of a Swedish journalist in a submarine (“ripped from the headlines!”). Stoic, brooding cop (Søren Malling) largely ignores his family while slowly moving between scenes. Very heavily tell-don’t-show. We don’t even get to see the first interviews with the submarine guy, just told about them. Ep 2 mostly follows officer Maibritt (Laura Christensen) investigating the journalist’s private life. Somewhat less brooding, but still closed-off, moody. Ep 3 they finally get some physical evidence, but again spends very long stretches waiting, in silence. That’s where I am so far. Another case of maybe 45-90 minutes of content stretched out to 225 minutes of show. I’ll probably finish this tomorrow, I’m interested in the case, but I’m bored out of my skull by the pacing. ★★★☆☆

Nintendo Direct

Not a great Direct to start the year. bold for things I’m interested in.

  • Xenoblade? No, it’s just Smash. My interest in Smash is zero.
  • Famicom Detective Club: Very interesting, I’ll be picking these up if they’re not unreasonably priced. Pre-order is nonsense in a digital store.
  • Monster Hunter is offensive, trophy hunting innocent animals not for meat, but because you’ve encroached on their land.
  • Mario Golf: No interest, even tho I enjoy some golf games, largely because it’s Joycon based and I have a Switch Lite.
  • No More Heroes III: “Save the world!” It’s yet another NMH game, you do stupid chores in an “open world” with nothing in it, then fight in an arena, and literally jerk off with your blade to charge it back up. Plot means nothing here. Another Joycon game. Hard pass.
  • DC Super Hero Girls: FFS STOP MAKING THAT NOISE! The shrieking pitch of the characters aside, this is not for me.
  • Miitopia: Miitopia should be Nintendo’s social network, shared world thing, if they had any ability to operate anything social. Instead it’s now a bad JRPG. Pass, and despair.
  • Animal Crossing: New Horizons: Super Mario Items: OH YES GIMME! Especially the warp pipes, my house is up on a high cliff, separated from “town” by the river, so no villagers can reach it. But it also takes me forever to get home. So now I’ll put one warp at my house, one on the far side of city center.
  • Project Triangle Strategy: The game is named for its genre, a rock-paper-scissors triangle, strategy game. With some of the most cliché dialogue I’ve ever heard in a game. Where it does show gameplay, it’s kind of similar to Jeanne d’Arc without the cute character design, clever story, or deep tactical combat. If it turns out good despite first impressions, I’ll reconsider.
  • Star Wars Hunters: Zero gameplay trailer. Buy it because you’re such a Star Wars nerd despite the last 40 years of mostly bad Star Wars, or don’t. Pass.
  • Hyrule Warriors: Ha ha no. Really dumb “action fighting” game with inappropriate Zelda skins. Almost any other game is better than this trash.
  • Legend of Zelda Skyward Sword HD: Interesting enough, and they seem to have adapted the Wiimote/Joycon controls to the Lite OK. I played on Wii and it was passable but not great; if you didn’t, it’s worth trying.
  • Splatoon 3: Zero gameplay trailer. A little bit of character customization in a shoot-em-up where that won’t matter a bit.
  • Capcom Arcade Stadium: Free-to-start in-app-purchase arcade. I’m downloading it now. [later] So, some of the games at least are free, but you have to “buy” each one separately in the Nintendo eShop™. Ghouls & Ghosts has maybe the worst controls I’ve ever seen, I get tangled on diagonal jumps and die. It is sadness.
  • Bravely Default II: Looks fine, probably worth playing if you like this kind of thing. Pre-order, so can’t tell now.
  • Knockout City: It’s like Smash, but team-based. But it’s not even Smash. Total pass.
  • Outer Wilds: You have 22 minutes… Stop. No. I hated Majora’s Mask, will not put up with this bullshit in sppaaaaace. I want to lazily coast around looking at and doing things at my own pace, and the Sun exploding puts a crimp in my game style.
  • Plants vs Zombies: Adequate early iPhone tower defense game, long outlived its sell-by date, more of a touch interface game. Do not pay anything for this.
  • Samurai Warriors 5: I love samurai sword-fighting, and sort of like fighting games, but there’s not much there, and the ridiculous superpowers ruin the historical fighting concept.
  • Ninja Gaiden: Master Collection: You are the legendary ninja Ryu Hayabusa… You fight giant crabs, because that’s what ninja do, right? These are all fun games, “ninja” in name only, very stupid, but fun.

  • Stubbs the Zombie: Rebel Without a Pulse: Slightly funny joke is carried on way too long.

  • World’s End Club: Very cartoony/Flash-animation endless runner with cutscenes. Not much game to the game.
  • Neon White: Very weird “flying cards shoot angels” game, with at least 3 art styles mashed together incoherently. Pass.
  • Legend of Mana Remastered: It’s a great game, one of the prettiest action RPGs of the old times. I have it on iPhone, old graphics upscaled. I don’t think I like the new graphics, the original pixel art was perfect.
  • SaGa Frontier Remastered: Great game, art update. Unlike Mana, I think the art could use an update; I’m not sure I like this, but it may be better.

Raspbian from the Keyboard

Doing some maintenance and setup on my RasPi4, I struggled to find keyboard shortcuts. Where I did find them online, they were slightly obsolete or just not correct for my keyboard.

Some of these are specific to my Rii keyboard/trackpad combo, which has a Fn key and F-keys are “under” the media keys and arrows. A normal keyboard doesn’t need to type Fn.

Key Effect
Ctrl-Alt-Fn-Del Shutdown menu
Ctrl-Esc System menu
Alt-Space Window menu
Alt-Fn-F2 Run Program dialog
Alt-Fn-F11 Fullscreen window
Alt-Tab Cycle windows
Ctrl-Q Quit most programs
Alt-Fn-F4 Kill any program
Ctrl-Alt-Arrow Left/Right packs window to side, Up fullscreen, Down not-fullscreen.
Ctrl-Alt-Fn-F1-6 Virtual Console 1-6
Ctrl-Alt-Fn-F7 GUI

I love Ctrl-Alt-Arrow keys now that I know them. It’s not quite Ratpoison or other anti-mouse window managers, but it’s so handy on a small screen.

If you use virtual consoles, I cannot recommend highly enough learning to use screen, so you only need to remember that one of them is open, and can restore that session in any terminal later.

I still don’t know what the Chromium program menu key is, it won’t tell me and the docs are useless. I loathe that every Linux program chooses a different place to put menus. It shouldn’t be allowed.

Useful Shell Commands

  • lxterminal: Standard Terminal
  • omxplayer: Audio/Video player
  • scrot: Screenshot, dumps into ~ in format Y-M-D-HMS_REZ_scrot.png (which is terrible, but whatever, man). I can’t generate its printscreen keycode, supposedly I can edit openbox config to add a keycode for it. Later. I can always run scrot from the Run Program dialog, or sleep 10; scrot from lxterminal and switch windows.
  • gpicview: Image viewer
  • mousepad: Simple GUI text editor. Has line numbers, paren matching, and different themes, so if you don’t want to use GVim or Geany, or nano or vim from Terminal, this is nice and starts nigh-instantly.
  • leafpad: Shitty Gtk text editor. You should hit Ctrl-Esc, Preferences, Main Menu Editor, Accessories, Text Editor, Properties. If it says leafpad, change that to mousepad.

I don’t have Dropbox on it, and that’d be awkward anyway, so I’m still pondering how to easily get files off it. sftp or scp works, but I’d rather have a general-purpose, auto-syncing share folder.

What I’m Watching: More Suspicions of Mr Whicher

  • Murder In Angel Lane: Mr Whicher is now a “private inquiry agent”, dicks not yet having been invented, and searches for a missing girl in a story about uncertain paternity and jerks with knives. Obvious villain is obvious, but the multiple visits to the insane asylum are nice; for a Victorian bedlam it’s pretty cushy.

★★★☆☆

Note that the historical Mr Whicher was still a police officer at this time, and moving up in authority in London.

  • Beyond the Pale: The English are, it should be noted, monsters. The conquest, rape, and robbery of India over centuries is one of the greatest war crimes of history, every English is blood-stained clear through. The Sepoy Mutiny was the first try of the Indians to seize back their country, which took nearly a century. And that’s what this oh-so-happy episode is about.

“Out there in the hills, we lived like kings. No one to censure us, no one to disapprove.”

The fantastical element of this episode is that any English cares. That Mr Whicher will stand up even a little bit for the Indians seeking vengeance for a truly heinous crime. And the resolution requires even more empathy and compassion that I don’t buy from them. The premise could’ve gone really dark and given something like closure, but instead it whimpers out.

Also, the lighting/color grading in this one is terrible, it’s just black and yellow, sometimes black and cyan for variety. Everyone looks jaundiced, and you can’t see any of the action. Even the outdoors scenes are so fake-overcast (but not actually overcast) they look like day-for-night shots. Impossible to guess at the hour.

★★☆☆☆

Just one more of the series to go, hopefully it goes out on a higher note.

Nanorogue2 in BASIC

I’ve completed my BASIC 10-Liner contest entry, download on itch.io or find the latest version here:

Just shove the disk (.atr) in Atari800MacX or any other compatible Atari 800XL emulator, disable BASIC and hit reset, it should boot up into the launcher:

Where you can read docs or source:

And play the game!

So, the source for my first pass was manually-packed down, and I couldn’t really fit everything I wanted in there, or switch to text-graphics mode. With some rethinking, and a better source editing tool, I could… So I wrote a filter program “Basic2List.py” that removes comments & blank lines, joins up everything after a numbered line with colons, lets me insert binary codes with \xFF escapes. It still looks a little dense, because I have to manually use abbreviated statement names or remove spaces, I’d like to make it smart enough about BASIC source to do that itself.

But it lets me turn source like:

5   POKE731,1       // noclick
    GR.1            // 20x20 wide chars, 40x4 regular
    SE.1,13,15      // palette 1 to gold
    W=20            // world size
    DIME$(27),M(W,W)    // E$() encounter table, M() map
    //RRRZZZD$$..........#######>
    E$="\xF2\xF2\xF2\xFA\xFA\xFA\xE4\x04\x04\xAE\xAE\xAE\xAE\xAE\xAE\xAE\xAE\xAE\xAE#######\x3E"
    H=10        // Hit Points
    L=1     // Level
    // G=0      // Gold, default value
    ?"NANOROGUE BY MDHUGHES"

into:

5 POKE731,1:GR.1:SE.1,13,15:W=20:DIME$(27),M(W,W):E$="RRRZZZD$$..........#######>":H=10:L=1:?"NANOROGUE BY MDHUGHES"

(except the RRR… are inverse & graphics chars)

See the Atari BASIC Quick Reference Guide to learn the abbreviations and some of Atari’s peculiarities. And it’s running in Turbo Basic XL which really helped the program size, so I was able to squeeze in stairs!

Last time I was using the compiler, and that worked but it distorted my sounds, and I couldn’t make LAUNCHER.CTB run NANOROG2.CTB! So if I just left them all uncompiled (but tokenized) .BAS files it works fine.

The only down side is it’s stuck in easy mode. I’d love to have a difficulty which increases the GP to Level Up, and makes monsters hit harder (but not reward more), but that didn’t quite make the cut.

Generally I’m pretty pleased by this!

The ZX Spectrum (non-Next) port is turning out to be hard, it lacks a few things and doesn’t have ELSE, either, so I don’t know if it can be done.

What I’m Watching: Suspicions of Mr Whicher

Not “The Witcher”. This is on ‘zon, “The Murder at Roadhill House”, there are 3 more episodes so far. Based on a 2008 book by Kate Summerscale.

Period 1860, in a crappy English village of Wiltshire, a family awakes to find a missing child (called a “baby” and kept in a crib, but he’s nearly 4), and when he’s found dead, early Scotland Yard is called, they send a sad-faced Paddy Considine as the improbably-named but historically real Mr Whicher, though the actor doesn’t fit the character well:

Whicher was reportedly described by a colleague as the “prince of detectives”.[2] Charles Dickens, who met him, described him as “shorter and thicker-set” than his fellow officers, marked with smallpox scars and possessed of “a reserved and thoughtful air, as if he were engaged in deep arithmetical calculations”.[2] William Henry Wills, Dickens’s deputy editor at Household Words magazine, saw Whicher involved in police work in 1850 and described him as a “man of mystery”.
wikipedia

The start’s very slow, and often uses voice-over repetition to pad out scenes that would just be Paddy walking around looking at things. Later in the first ep, they send along a sergeant, “Dolly” (William Beck), which helps with dialogue, though he gets vanishingly little character development. The local authorities are unhelpful, hostile, closed-minded fools you’d expect of the still-medieval backwater English.

Whicher’s not quite a modern, scientific detective, but he tries. And he’s a bit moody, especially between cases he’s as useless and dissolute as Sherlock Holmes; which is probably a modern back-adaptation from Arthur Conan Doyle’s 1880s books.

The pacing is glacial, much plot happens off-camera, and an early version of spinning-newspaper headlines. Very little time is spent on backstory outside of the main suspects; I wonder if the book goes deeper, or if this is all there is.

Still, it’s a good enough mystery, Whicher’s worth watching, what-cha.

★★★½☆

10-Line BASIC Contest

Let’s go back to the 1980s!

So I knocked down a tiny subset of my already tiny BASIC demo program, NANOROGUE, and plan to make 10-line versions for Atari 800 and ZX Spectrum. Getting it running on desktop in Chipmunk BASIC was trivial. Just a little ANSI for screen positioning.

Initially I just used standard Atari BASIC, and that worked fine, if very very tightly packed, and not fast… but the lack of an ELSE statement left me with an 11-line program, I wanted to end with 50 ... :GOTO 20:ELSE:GOTO 20:ENDIF but had to move it to a new line. Very frustrating. So I’m using an enhanced BASIC, which is allowed for the PUR-120 tier, for one command.

Being “compiled” (to bytecode, don’t expect miracles) and making AUTORUN.SYS easier than my own utility is nice. TBXL is at least a 1985 tool; though at the time I was using the “official” BASIC XE cartridge instead, which had similar features, and mainly moving over to Action!, 6502 ASM, and C. But for retrocomputing it’s fair game.

Making a TBXL executable & bootable disk is a little fussy.

  1. Make a blank floppy ATR (emulator disk format), format it, put Atari DOS 2.5 on it or whatever you like (from DOS 2.5, H to write DOS files). This is your program disk. Like TRON, everything you do will be encoded on it, and losing it will subject you to immediate deresolution.
  2. Turbo BASIC XL disk in D1, program disk in D2. Control menu, Disable BASIC, Cold Reset (Sh-F5). You should see a red load screen, then READY. Check you’re in TBXL by typing DIR.
  3. Write your program. I recommend writing BASIC as LST files in a desktop editor, then Cmd-E “Edit an atr disk image”, click “Atari/Mac Linefeed Translation”, “Import Files From Mac”. In BASIC, ENTER "D2:FOO.LST". RUN to test it. But if you like living the ’80s lifestyle all the way (or using non-ASCII chars, which are annoying to work with), you can work entirely in TBXL.
  4. Save your program tokenized: SAVE "D2:FOO.BAS"
  5. BRUN “D1:COMPILER.COM”, now swap D1 and D2 (Cmd-D, click the swap buttons; you want your program disk in D1!), hit 1, pick FOO.BAS, save as AUTORUN.CTB. Swap disks back (you want your program disk in D2!).
  6. Ctrl-D, J for Ja (yes) to go to DOS-XE. COPY D1:RUNTIME.COM D2:AUTORUN.SYS
  7. Now put your program disk in D1, reset, and it should come right up into your program, then prompt for Dos, Run, or Load when it ends. Nice!


So resuming work on NANOROG, I get:

The only down side is this tiny version has a very slow redraw, it renders the entire screen each move, instead of just fixing last/new positions. I’m pondering changing it to graphics 1 (wide text, 4 colors) and poking screen memory which is probably faster than printing. I made some acceptable bleeps and buzzes with SOUND commands; I’m a poor sound designer, but I get there with some trial and error.

Anyway, next week’s task is the ZX Spectrum version. Speccy BASIC is pretty good, so I expect I can knock that out quick and without all these shenanigans.