Blog

New Electron Dance

No, wait, that's the Neutron Dance, I get those confused.

Electron

Since abandoning any hope of the iOS App Store paying my bills, I've had to look back at the web or desktop. My current available time-at-computer and energy these days isn't sufficient for a day job or even contracts, much to everyone's dismay. So time for another hard look at the situation.

I like working on my Mac, but Mac isn't that big a market. I also want to ship on Windows (and Linux, I suppose). Objective-C is one of my favorite languages ever, Cocoa & UIKit (on iOS) were great APIs, AppKit on the Mac much less so, but since Apple's killed Obj-C and it's not portable, my happy years of typing [ ] are over.

WHAT HAVE YOU DONE?!

Swift might be the worst mental disorder to strike programmers in decades. Swift is orders of magnitude slower than Objective-C, crashes constantly, the moving-target "spec" creates incompatible changes every year, and because they're too stupid to standardize a binary interface, every program has a 20MB+ blob of Swift runtime. For a single-platform joke language perpetrated by a C++ bozo who fucked off after a year to play with cars. So I'm all too happy to say good riddance to that bullshit. I mean exactly this: If you're using Swift, you either don't know better (it's OK to say you don't know!), or are defrauding your employer for hours, or have something wrong inside.

13 years ago, Project Builder/Interface Builder was a pretty good dev toolkit since I could use a real editor (BBEdit) with it, but Xcode locked that out, and then as Apple sucked in more tools over time, it sucked harder and harder; I can't stand the rickety deathtrap these days. I was getting by in JetBrains' AppCode, but still had to use Xcode for Interface Builder (RIP) and to get builds onto a device half the time. Xcode is a crashy, substandard pile of shit with maybe the worst editor in any IDE in history. Syntax highlighting stops working at random, for most of a decade it has code-completed "nss" as "NSStreamDelegate" rather than the slightly more useful "NSString" (before that it couldn't code-complete at all!), I could go on for hours or days about how Xcode kicks you in the input/output ports every time.

And the worst part is you can't fix the fucking thing, no user-serviceable parts inside, Radar is a black hole, no scripting or plugins. Just bend over and take what Apple Developer gives you good and hard. It's kind of a relief that current Xcode doesn't run on the last stable MacOS version (Sierra).

I'll stick with BBEdit for text and Atom for code, thanks. If I'm angry at Atom I can fix it myself or file a publicly-trackable ticket; I'm rarely angry at BBEdit but I can ask Rich to fix it.

So I'm writing web-type software in Javascript, with Node or Electron behind it. Javascript aka ECMAScript has become a good language in the last 5-10 years, and the V8 runtime in Node/Electron runs close enough to native now for most needs. I love that I can just write UI in HTML again. No fucking around with Apple's bullshit of deprecating APIs out from under me (I "get" to rewrite alert/menu code again?!), or promising to support SpriteKit/SceneKit across iOS & Mac and then doing fuck-all on either. WebGL (or Three.js, anyway) isn't fast enough for complex scene-graphs, but 2D work in Canvas is mostly fine (and it gets better every year, instead of bit-rotting like unused S*Kit APIs). localstorage in a web page isn't enough for any real program, thus Node is needed to reach the filesystem.

I slander Swift for leaving a giant runtime turd in every program, but Electron's the same way: It has to contain a browser, Node, and system APIs. But I'm not at the mercy of Apple's marketing-driven dev tools.

Certain Mac nerds obsess about Purity of Essence, insisting that everyone should love Xcode, Swift, and AppKit, and that use of any other technology is an abomination to the end-users, whom they clearly love more than me. Can you hear that slurping sound? That's someone fellating Apple marketing. Roughly 4 billion more people are familiar with web pages and will find a web-like UI more comfortable.

I intend to keep up my experiments in Scheme and Pascal when I have time, I'd far rather have small, fast, native binaries on every platform, but shipping beats purity.

Progress is being made:

tile-20180426-map

tile-20180426-view

(the + road texture there will get replaced soonish)

Star Wars

  • Auralnauts Star Wars
  • Ep 1: Rewriting the Jedi as belligerent drunks looking for a party and disrupting chain restaurants makes far better sense than whatever late-stage-dementia Lucas was doing.
  • Ep 2-3: (Didn't watch, never saw the Lucas versions. Maybe I should?) Later: Have watched, was unbearably awful even in parody and short form, and 1.5x speed. I can't imagine how bad the original is.
  • Ep 3: Later: Even more awful for a while, then the music video, dance-fight, and end are pretty great.
  • Ep 4: LASER MOON. Creepio's psychosis and Leia's dating profile are to blame for everything.
  • Ep 5: The parade is adorable and the Bespin after-party is the bleak morning after we all deserve, but surprisingly this is the weakest ep.
  • Ep 6: The Last Laser Master is Star Wars on Ice plus Laser Floyd, and finally makes sense of muppet planet.

Fantastic. ★★★★★

Windows

"Counterfeit", Microsoft says, about a disk made from their own free downloads and only usable on a machine already infected with Genuine Windows®.

This bullshit is why you shouldn't use Windows, no matter how many non-kitten-eating announcements and events Satya Nadella puts on to show that he's not Steve Ballmer. Sooner or later, Microsofties will always show their true nature and eat a kitten.

HP Lovecraft's Xenophobia

It occurs to me after a number of rereads (now up to "Dagon") that Ruthanna and Anne there live a callow, sunlit, happy existence, don't really know much of the world, and have never read a history book. "He was as wrong about humanity as it’s possible to be without actually believing that we’re all sessile pebbles"1: No, he was not.

World War I, which informed most of Lovecraft's despair at Human stupidity and imminent extinction, was then exceeded by World War II in every kind of atrocity, and that was exceeded by the Communist states during the Cold War and beyond. There is no depravity or horror to which Humans will not sink given power and the ability to "other" people. "Kindly, liberal, crippled, New Deal" FDR imprisoned and robbed 120,000 Americans of Japanese ancestry; the Tuskegee syphilis experiment treated Black people as test animals. The KKK was still terrorizing and lynching in the South (still is, if smaller). It's still unsafe to walk or drive or stand around in Starbucks while Black in America. Immigrants and refugees are treated like unwanted vermin in every country. Humans murder each other over minor differences in skin color, birthplace, language, or what name to call some fairy tale god (or for saying it's a fairy tale). No joke, Humans blow up other Humans over cartoons of their prophet. Half of Americans voted for the Cheeto thing that squats and defecates in the White House.

Any notion that Howard's xenophobia is excessive for his time, or even now, is just delusional. He was an asshole about race, and perhaps about gender (very scant evidence, from a time when few male writers wrote women except as objects), but the distinction is that he was more literate and expressive of his bigotry, while the assholes next door just couldn't write about it coherently. If he'd been into politics, he'd have been the William Safire of his time. Somehow he found his way to the weird tale instead.

So when his narrators see the real owners of the Earth, and they're nothing like Humans, of course they flip out. What are Humans going to do when confronted with fish-frog-humanoid things, unspeaking but greater in intelligence, ancient and undying, worshipping gods (or godlike aliens) who provide true power? As in "Shadow over Innsmouth", bombing the Devil's Reef is a minimum possible freak-out. Somehow they pull back from provoking a full-out war with billions of living demigods, and the Deep Ones (being our moral superiors) are uninterested in great conquests of the land.

Howard does have characters who don't flip out at the alien, like the narrator and some other abductees in "Shadow Out of Time", but then when he's confronted with the truth of our imminent doom, he loses it.

I am extremely pessimistic about First Contact, and I expect that true AI will end very very badly for Humanity. Nobody's going to show up and say "You're totally ready to join the Federation of Nice Planets!"; we'll either meet Conquistadors, exterminators, or if we get to a lower-tech species first, victims. Ideally, alien contact would unify Humanity, but more likely every group will seek their own advantage and agenda.

As for the reread, I'm switching to publication order, then see if they or someone else has any commentary for a story. I've previously read some of ST Joshi's annotated books, but his apologies and delusions are just as annoying.

AggRetsuko

  • AggRetsuko: Tiny red panda girl in an abusive Japanese office screams death metal karaoke.
  • Miss Kobayashi's Dragon Maid is the quiet version of this, where a tiny Python-coding girl in an abusive Japanese office hallucinates/summons/finds a dragon who wants to be her maid.

All Your Photos Are Belong to Us

If your photos are hosted on someone else's servers, it's not any better that it's a novelty fart/emoji app maker than the rotten corpse of Yahoo!, or Verizon which is only less-evil than the Evil Empire of AT&T by virtue of not having an actual Death Star as their logo.

You should have your photos on your computers, backed up as far away from your computer as possible, with the ones you want public shared on a site you control.

Penguins

Penguin 1: "Free Software lets us own the means of production, maaan, and fix our own code! We don't need giant companies making products if we just have emacs!"
Penguin 2: "Yeah, maaan, and also all those giant companies making products should do all the coding for us!"