Blog

What I'm Playing: Looney Tunes World of Mayhem

Yes, yet another iPhone/Android gachapon game, this time based on our beloved Saturday morning cartoon time with The Bugs Bunny/Road Runner Show. I have unkind thoughts about this genre of game, but you know, if you make one with some character I will play it to level cap, and sometimes pay for a pack later in the first week, just to get over the initial resource hump. That they're all the same except some combat gameplay tells you a lot about what kind of industrial wage-slaves make these things, though.

The classic music is there, though there's a lot of bridging music on loop. The cutscenes are fully-voiced, the rest of the game has little or no dialogue. Sadly, no audio sliders; you either have all sound on, or all sound off.

The art's classic WB style rendered in 3D; I'd prefer to have cel-shading outlines, sometimes it's a little muddy around the edges, and WB is supposed to be sharp and flat.

You're fighting cloned armies of toons created by Marvin the Martian, with your own cloned army of toons. The reatomizer sounds like The Case of Charles Dexter Ward.

Most of the game is turn-based combat with a handful of skills for each character, and the heavy ones have a cooldown of 2 or more turns; Bugs can push out a package full of dynamite, or burrow up behind someone and give 'em what for with a Louisville slugger, but then has to settle for a standard attack for a while.

So far this has been pretty good; there's tactics in characters who synergize with each other, or hate each other, so for instance my current team there is the starter Bugs Bunny as DPS mainly for the dynamite AOE attack, Hunter Yosemite Sam as my targeted DPS, starter Fishercat Sylvester Jr as healer/super-fast attacker, and Scout Sylvester as ninja (he hides after his big attack, so can't be targeted) and ally bonus with Fishercat. I just got Scout Leader Granny, who gives an Attack Up bonus to all Scout characters, so I could switch out Bugs for her, but I really don't need two heals. They give you a Scout Foghorn as a tank, but I play games in fast attack, not slow and tanky.

There are "PVP" missions to steal treasure chests from other players, guarded by a few of their toons. So far I've always won these and never had my chests stolen, but we'll see if it eventually turns on me when the cash-shop whales start mugging everyone.

And there's a World area, where you build & upgrade houses for toons, and send them on retrieval missions. I don't see that you get any other decorations or creative building options, it's very primitive, but maybe that'll be added.

Looney Tunes Mayhem-04

At Level 7, you unlock Alliances, and I created a Mastodon/Fediverse alliance, called "Mastodon".

Finishing Happy!

Done. Parts of this worked out well, as a violent fairy tale for Christmas.

The mob boss's sister's reality TV show, bruja grandmother(?), and the sort of return of her son was both annoying as hell (fake-ass social media & TV people, ugh), and sometimes the only good parts of an episode; but the actual supernatural shit going on around this later is jarring. Imaginary friends can be seen by someone else, great premise. They can touch things, uh, this is weird… But the demonic stuff I'm not so sanguine about (the sanguinary sauce scene is great, though!)

The bad guys' constant running the kids around to different places, no clear explanation of who's coming for them, the Big Bad's weird-ass bug suit cult, Bad Santa's, uh, friends… Not tied up neatly at all. Reminds me a bit of Shadowrun's Universal Brotherhood which are really insect spirits. Grant Morrison's had insectile villains, doing radical body and brain surgery with very similar results in The Invisibles, too.

The characters remain cartoonish and hard to take seriously. And there's a homophobic vibe to some of it, two villains are gay and weird about it, there's no positive portrayals (not that anyone's positive in this show, but still). I dunno if this is intentional; Chris Meloni's pro-gay rights, has done all but gay porn in Oz, so he's probably not meaning it to be taken this way. Grant's a cross-dresser, and is weird about it, but not like this. I still went "Oh, that's not OK" a couple times.

As is often the case, even on a short series, there's a lot that could've been cut. About 2-3 episodes worth are just "Nick goes to a new location, gets in a fight, gets a clue or has to flee to the next location". The fights are good, often funny slapstick; there's axes, and a chainsaw, and a kung fu gang in Chinatown. Blood but still not a lot of visceral damage.

There's a parody of a Tarantino film scene that made me laugh out loud for over a minute, and freaked out my dog. The show keeps dragging down to boring, and then up pops a good gag and it carries me forward to the next.

If we were making a checklist:

  • Bad Santa
  • Smoothie
  • Blue
  • Nick being an asshole all the time.
  • Big Bad

So, still ★★★★☆, but I'm creeped out by some portrayals, and probably other people will be, too.

What I'm Watching: Happy!

So, this is adapted from a Grant Morrison comic. Grant's a crazy person; one of my favorites, but I think adapting his work is a memetic hazard, immanentizing the eschaton.

Take Chris Meloni from Law & Order: SVU, and make him a washed-up drunk ex-cop Nick Sax. Add a CGI blue flying unicorn, imaginary friend of a little girl. … Sure. And a bad Santa who's kidnapped that little girl. Nick soon convinces himself he's not hallucinating, but he's such an asshole he may not care.

This is bizarre. It veers between parody of SVU, itself so earnestly grimdark it wrapped around to comedy, and Roger Rabbit comic antics.

You never feel bad seeing Meloni get beaten, tortured, or hit by a car; he's very punchable and seems like a bad dude even when playing good, and Nick's shit. There's a lot of blood and screaming, it's as violent as a Friday the 13th film; not quite Eli Roth but not cartoony. There's a flashback scene explaining how Nick got that way, and it would be traumatic to watch if not so far past plausible.

Almost all the characters are ridiculous caricatures; and then the mother of the girl isn't. She walked in from some totally different show and everything being insane around her doesn't faze her, she just wants her kid back.

Happy the unicorn is obnoxious in the way children's cartoons are, but watching him cope with Nick's horrible life is amusing.

I don't know if this is good in any rational sense. Like, if you sat down a normal, well-adjusted person with minimal traumas and made them watch this, they'd hate it and then vomit profusely. I find it kinda charming, a new holiday special up there with Lethal Weapon and Island of Misfit Toys.

★★★★☆

New Doom WAD "Sigil" From John Romero

Oh, holy shit yes. If you're cheap, the free download will be fine.

Just replayed E1M4b, and it's a little too intense for this early in my day; also I hate super-dark mazes, it's not fun squinting at the screen. E1M8b was a great open-area shootemup. Dunno how hard Sigil's gonna be but I'm up. Just let me get some coffee first.

What I'm Watching: Shin Godzilla

Recently I've watched the Godzilla anime, which are silly but sometimes fun. So, I felt I should rewatch Shin Godzilla, the most recent live-action Toho movie, by Hideaki Anno. I saw it in theatre, but I remember little of it.

The start isn't at all clear about the timeline. GMK, my favorite Godzilla movie, was based on only the original movie happening. This one doesn't even have that, Gojira has a new origin story.

The early form is ridiculous, it (normally I refer to Gojira as "she" since Minilla, Gojira Junia, Godzuki, and the terrible Roland Emmerich movie imply that she can reproduce; but here that's not the case so "it") looks kind of like Anguirus. Then it "evolves", recapitulating the costumes from the entire series… By the end it's the late '90s overpowered disco-ball of lasers form.

The mid-movie rampages are fantastic, and the SDF and US forces put up a good fight. This entire sequence is one of the best Gojira fights in any movie. Just horrifying and beautiful.

But the politics are most of this film, and Japanese politics are slow, boring, bureaucratic, bloodless and cowardly. Even if it's meant as parody, it's just not funny, it's exhausting. They literally spend half the film doing paperwork and formal meetings. The young rebel politician Yaguchi is OK, but the vast herds of men in bad suits and binders are so dull, and the supposed half-Japanese American attaché has maybe the worst fake-American accent I've ever heard. There are several others who have bilingual lines, so I don't know why they cast her.

Finally the heroic plan engages, in a race against the most stupid plan possible. They actually know what they're doing, get all the computer simulations and chemical engineering, use the city to fight Godzilla… But it's very stationary, and I find it anticlimactic.

★★★½☆ And it'd be lower if not for that epic central battle.

Lessons from Gutenberg

The codebase of Gutenberg is difficult for all of us, because no one in the wpa11y team is a skilled React developer. So it was hard to implement changes and write PRs ourselves. What we could do is test, tell what’s wrong and what it should be and hope a developer would pick it up. A lot of a11y work has been done by the Gutenberg team but major issues still exist.

The results indicated so many accessibility issues that most testers refused to look at Gutenberg again.
—Rian Rietveld

Note "a11y" means "Accessibility", because of course we don't write it all out.

All of this suggests that Gutenberg was pushed out because it was useful in business competition with SquareSpace, not because it helps any WordPress users. The classic rich text editor was fine for many newbies, and then they'd graduate to HTML or Markdown, neither of which are rocket surgery, when they needed more control.

Despite my heavy use of JavaScript, I've never touched React. It seems to be an attempt to combine a native UI model with web rendering, which is an utterly alien environment. But there are minimal React a11y guidelines; many of these seem tedious to implement, like those dropdowns, but not impossible. This likely would've gone better with static HTML and normal JS controls where necessary to create blocks.

The Mother of All Demos

December 9, 1968, Douglas Engelbart's presentation of NLS and teleconferencing:

  • Youtube: This is at 360p, most other uploads are at 240p fuzzy mud, I'd love to have a good HD one where I can read the text. Alas.
  • TheDemo@50

"If in your office, you as an intellectual worker were supplied with a computer display, backed up by a computer that was alive for you all day, and was instantly responsible—responsive—to every action you had, how much value would you derive from that?"

Of course, in reality what we mostly do with that is look at social media, hardly any better than watching TV. But we could do more.

It's been years since I've watched this, and some things jump out at me as I rewatch:

The keyboard beep is infuriating, it's what I consider an error sound. And Doug's fumbling a few times, which suggests the keybindings aren't visible, well-organized, or practiced yet. We see later that they're just code mapped to keys in a resource list.

The NLS word demo is somewhat like a modern programmer's editor with code folding; but notably I don't ever use folding, it's slow (even on 1 million times faster machines!) and error-prone, sucking up far more text than expected. It's also a lot like outliners like OmniOutliner; but while I do sometimes use OO to organize thoughts, I would never keep permanent data in it, because I can't get it into anything else I use. Dumb text is still easier and more reliable; I put my lists in Markdown lists:

- Produce
    + Banana
        * Skinless

Maybe the answer is we should have better tools and APIs for managing outlines? Right now I can manage dumb text from the shell, or any scripting language, or with a variety of GUI tools. OmniOutliner's "file format" is a bundle folder with some preview images and a hideous XML file with lines like:

    <item id="kILRUkulXwk" expanded="yes">
      <values>
        <text>
          <p>
            <run>
              <lit>Stuff</lit>
            </run>
          </p>
        </text>
      </values>
      <children>

Nothing sane can read that; even if I use an xml-tree library, it's still item.values[0].text.p.run.lit to get a single value out!

If I export it to OPML, it loses all formatting and everything else nice, but I get a more acceptable:

    <outline text="Stuff">

Back to the demo.

The drawing/map editor's interesting. This is pretty much what Hypercard was about, and why it's so frustrating that nobody can make a good modern Hypercard.

Basically every document seems to be a single page, fixed on screen. If a list gets too long, what happens? It doesn't scroll, just fully page forward/back.

Changing the view parameters is basically CSS; CSS for the editor! Which is what makes Atom so powerful, but it's not easy to switch between them, probably have to make your own theme plugins, or just a script to alter the config file and then reload the editor view.

Inline links to other documents in your editor, is interesting. Obviously we can write HTML links, but they have to be rendered out and no editor can figure out where a reference goes and let you click on it. Actually, this does work in Vim's help system, but nowhere else.

The mouse changed three ways since then: The tail moved to the top, the wheels became a ball which drives two roller-potentiometers inside, and then was replaced with a laser watching movement under a window. Don't look into the butthole of your mouse with remaining eye. But the basic principle of relative movement of a device moving the pointer, rather than a direct touch like Don Sutherland's Sketch light pen, or modern touch screens, or a Bluetooth stylus, remains unchanged and still the fastest way to point at a thing on a screen. Oh, and the pointer was called a "bug" and pointed straight up, Xerox copied this directly in their Star project, while everyone since Apple has used an angled arrow pointer.

The chording keyboard never took off, and I've used a few, and see why: It's incredibly hand-cramping. While a two-handed keyboard is awkward with a mouse, you have room to spread your fingers out, and only half the load of typing is borne by each hand. On a chord, each finger is doing heavy work every character.

The remote screen/teleconferencing setup is hilarious: a CRT being watched by a TV camera, which runs to a microwave transmitter; they couldn't send it over phone lines, acoustic coupler modems were only 300 baud (bits per second, roughly) at the time.

As with Skype today, every chat starts with "I can't hear you, can you hear me? Fucking (voice chat system)." Later, audio drops out, and all Doug can do is wave his mouse at the other presenter. I've joked before that the most implausible thing in Star Trek isn't FTL, even though that's physically impossible; it's not aliens indistinguishable from humans with pointy ears, half black/white makeup, or bumpy foreheads; it's that you meet an alien starship and can instantly set up two-way video conferencing.

They seem to have a mess of languages; MOL (Machine Oriented Language) is a macro assembler in modern terms. All the languages have to be adapted to NLS, they couldn't just use LISP or FORTRAN. Since changes are recorded by userid, they had git blame!

Split screen! That's a thing I love, and few editors do. You can drag a bar down from the top in BBEdit, and Atom has "Split up/down/left/right" for panes, but then you have to re-open the document in each and it's a pain.

Messaging is a public board (or rather, an outline with each statement as a message), with #INITIALS for addressing, like @USERNAME in the Twitters and such. Like those, there's too much data to process for live updating, everything runs as a batch job that can crash the database. War Computing never changes.

Cold & hot retrieval are just file search; on the Mac we have Spotlight, and can search by keywords or filename. Though I have some problems with the cmd-space search these days, and mostly open Finder and search from there to get a list of files matching various requirements, or sometimes use mdfind whatever|less from shell, then winnow down "whatever" until I have only a few results. On Windows or Linux, you're fucked; get used to very long slow full-text searches.


What NLS Did, and How We Can Do That

  1. Mouse, Keyboard, bitmapped displays: We have that.
  2. Teleconferencing: Still sucks.
  3. System-Wide Search: Mac users have that, everyone else is boned.
    • It's faster on Linux or Windows to search Google for another copy of existing data than to search the local machine.
  4. Outlining to enter hierarchical data: Nope.
    • All data goes into outlines contained in files.
    • Code as data: Some data is program instructions, in a variety of languages, which can operate on outlines.
    • To enter this outline, I had to keep adjusting my numbers, because I'm writing it in markdown text.

As mentioned above, OmniOutliner is logically very similar, but it's a silo, a trap for your data. The pro version (WHY not every version?!) lets you use Omni Automation, which is basically AppleScript using JavaScript syntax; the problem is waiting for an app to launch, then figuring out where your data is hidden inside some giant structure like app.documents[0].canvases[0].graphics[2] (example from omni docs ), just so you can extract it for your script.

Brent Simmons is working on Rainier/Ballard, which is a reimagining of Dave Winer's Frontier. I think building a new siloed language and system doesn't solve the real problem, but maybe it'll get taken up by others.

I have for some time been toying with enhancing my Learn2JS shell into an Electron application that would let you write, load, save, and run scripts in a common framework, without any of the boilerplate it needs now. A pure JS shell is just too limited around file and network access, and node by itself is too low-level to get any useful work done. I'm not sure how that works with everything else in your system. While browser localStorage of 2MB or so is sufficient for many purposes, you really want to save local files. While this doesn't force data into outlines, it makes code-as-data easy, and JavaScript Object Notation (JSON) encourages storing everything as big trees of simple objects, which your functions operate on.

(I'm having fun with Scheme as a logic puzzle; but it's not anything I'd inflict on a "normal" person trying to work on data that matters).

If you want to talk about doing more with this, reach me @mdhughes@cybre.space on Fediverse.

Apple is a Symbol

"If anyone reads this post I'm sure loads of people will tell me that my problems are all my own making and if only I invested in an iPhone all my problems would go away. Well you know what? APPLE IS A SYMBOL OF PRETENTIOUSNESS AND IGNORANCE - YOU DO NOT EVEN KNOW HOW YOUR PHONE WORKS - I DO NOT HAVE TO PAY A TAX TO APPLE TO LISTEN TO MY MUSIC."
Do I really need to get out the soldering-iron again?

Cash, grass, or ass, nobody rides for free.

You can pay the "Apple Tax" for a working system, and as someone who's written low-level audio software: A working system with the lowest-latency, least horrible (not nice, but least horrible) audio APIs in the industry. An iPod touch is still sold with 128GB for $299, which compares favorably to the $500 CD player with 10 seconds of skip protection I had before iPods.

Or, if this is just going to be a home system, how about buying a real stereo system with an amp, and play through that?

Or you can pay with a pile of wiring and an ugly box under a cheap CD player.

Or you can commit to spending the next decade of your life on low-level software and audio hardware trying to make Android audio that doesn't sound like a backfiring Chevy. Nobody else has succeeded, but maybe you'll be the one.

I love these things where someone creates a problem for themselves and then blames THE MAN for it.

WordPress updated

Went ahead and updated to 5.0. And immediately hit a "No update required" bug, had to shell in and disable the cache. Great testing, Automattttttic.

Took a look at Twenty Nineteen theme, but even after completely customizing the CSS, it was screwing with my layout in unpleasant ways. In 2019, blog columns are 640px wide, instead of 840px in Twenty Sixteen! Nope. So updated 2016, restored my Fake Emoji Fuck Off, more custom CSS, and things are back to normal.

I'm ignoring Gutenberg for now, but Jetpack's got a Markdown block, so that may usable someday.

Am I really better off with this giant pile of junk, instead of going back to blosxom or some other static generator? I could write my own in a week. Well, I would miss media management. Automatic reposting to Mastodon and Twitters; I could script that myself, too, but Twitter's hostility to APIs means I'd be constantly fixing it or cutting off Twitter. So I'll stick with this for now.

China, Shenzen, and Quality Control

And much more. There's a good lesson there, and it's not just in China, they're only the worst-case end scenario. I look at this shit and see us in 20 years.

Beer (since they bring that up in the first video) is in a precarious place. Since the '80s, we've had some great microbreweries come up like Ninkasi, Big Sky, Deschutes. We used to have good regional beers like Rainier and Lucky, but then they were bought by giant breweries and turned into fake labels. The "mainstream" beers are garbage, mildly contaminated water you wouldn't wet a pigsty down with, sold entirely on marketing budgets and association with sportsball. If I see someone drinking Coors or Bud, I know they're tasteless and scream at hooligans on TV giving each other concussions. Microbreweries are often on shoestring budgets and one downturn can kill them; happily it's easy to homebrew and start a new microbrewery, but it's a thin line keeping us from going dry or drinking fucking Pabst.

We've very stupidly sent all our electronics manufacturing over to China. If you want good hardware from China, you have to stand over them and QA everything like Apple does, and then get accused of using slave labor, which it is (best-paying slave labor in China, but still so unethical it makes me nauseous). Huawei's CFO has been arrested, and many places aren't using their equipment now because they almost certainly have CCP spyware, but it's still the only place that makes most electronics. This is civilization-ending-level stupidity.

We should have our own Shenzen SEZ (I'm not suggesting loosening our environmental or worker protections, weak as they are under the hideous cheeto person's administration; but some tax incentives would be great), and be making our own hardware for secure systems, but even if we could get workers to do it, we don't have anyone to train them. We used to have Radio Shack for learning to make electronics, but RS fucked it up by selling garbage consumer toys (mostly sourced from China), so they were driven out of business by cheaper online ordering of garbage consumer toys. So we're at the mercy of another country being driven into self-destruction.

US physical infrastructure is crumbling in many places, and entire cities like Detroit are unsafe to inhabit, because politicians have no reason to do anything about it; all money goes back to the companies that bribed them into office, while poor people in cities by definition don't have enough money to bribe them (PR con artists call these bribes "campaign finances"; I call them malfeasance and we should hang them all). The culture of "not my problem" is just as endemic here, in non-"Communist" countries; if we haven't collapsed as far yet it's because most of our buildings are under 100 years old and we build over things faster than they rot.

In software, we do it to ourselves. I dislike/distrust most software, because we have absolutely zero quality control; people ship any damn thing, and even these "walled gardens" don't do anything to stop it. There's so much garbage on the Apple App Store, basically just screenshots and RSS scrapers, or recompiled demo or tutorial book projects, named to take advantage of Apple's shitty search and advertising interfaces, and nobody cares because you can't set a decent price. So only scammers and ad companies and loot-box sellers can make money there. Why does anyone buy a $1000 iPhone when almost all the software on it is shit? Google Play is 100x worse, it's essentially nothing but viruses and scams, because Google's not just uninterested in QA, but profits better from spyware.

Commercial desktop software isn't much better, I think harder about wasting $20 on software than I would on a $100+ non-electronic physical object. In the last 2 years, I have literally upgraded two programs (somewhat reluctantly in one case; old version didn't work on Mojave or I'd've kept using it forever, and the new version can take 5-10 seconds to start, with a splash screen) and bought nothing new, because everything new that I try is shit. I'm using a free thing called "LimeChat" for IRC, because Adium's half-broken by neglect, and it's awful, but slightly better than command-line irc; I wouldn't pay for this.

There's some quasi-commercial stuff where "open source" means you can use the tool but there's ways for the corporation who supports it to make money, and some of these aren't the worst software ever made. WordPress, obviously. Atom's in a dangerous position where it's supported by GitHub, which was making a little money on services, and is now owned by Microsoft, who makes Quality Job #NaN. Will Atom get the performance rewrite finished before Microsoft shutters GitHub? Will it keep working? Nobody knows! Fucking Slack is appallingly bad, not because it's Electron but because non-corporate customers don't matter to them.

Free software is mostly garbage, and we get things like the npm event-stream takeover because nobody maintains their own shit, just make junk and throw it away, and then we're SHOCKED when criminals see this as an opportunity.

As usual, I don't have solutions, only problems. I write my own software so I don't have to rely on other people's software. I ought to grow my own food, dig a well, and stockpile guns and ammo, but I'll probably just turn Reaver if I survive the coming collapse of everything.