Blog

OS Compatibility and the Web

OK, not EOL yet, but soon. Long before any rational person would switch to an untested, incompatible new OS version. Among other things, anyone using Adobe software can't go to Catalina.

The policy I like is to support the last two or three major OS releases. There are good techniques in Objective-C to support testing for new features and falling back if you don't have them; I don't think most of those work in Swift, because Swift's an amateur hour language.

Happily, I use Feedbin to sync my RSS feeds rather than keep them all local, so when NNW stops updating I can just go back to a working web interface. Sad that Brent keeps resurrecting and killing his app, but that's what he gets for chasing Apple's tail.

This is why the web beats native applications. You can indeed make a better interface in native code; you can't maintain it, and you can't port it. The native dev is constantly chasing a new API that breaks everything past, and fighting with garbage tools like Xcode. The web dev just needs ed or another text editor, and only has to target the browser, which is a moving target but has backfills and a compatibility policy, and native browsers generally work on the last two major OS releases. Firefox is a UI shitshow, but still supports OS X 10.9 Mavericks (2013); Safari obviously is part of the OS, and the last few changes are making me strongly consider moving off it, but this Mojave version will keep browsing the web just fine long after Catalina is released.

The ideal of cross-platform languages ever since UCSD Pascal is to get the best of both worlds, write code once and have it compile and run everywhere, and ignore underlying OS changes.

What I'm Playing: Various Daylife

A new Square Enix game, the first thing under Apple Arcade that's interested me.

So this isn't quite a normal RPG, it's more of an adventurer's life simulator. You answer a few questions to get a starting role, and are quickly rushed through meeting 3 NPCs who will be your main party for a while; since there are multiple party screens, I assume you get new ones later, but I'm not reading cheat sites yet.

You spend most of your time in your home hitting "Work" and picking missions from the other party members. They just take a half day (there are day and night jobs) and there's no gameplay in this. Your purpose here is to earn money and experience, and build up rank points in stats so they rank up. Doing several of these will improve your affinity with that party member, and unlock new jobs with them or side-quests.

  • Warrior: Wolf, Boar, Bear, Tiger Control.
  • Secretary (Magic-User): Filing, Transcription.
  • Server (Cleric): Water Service, Waitlist Attendance.

Each job consumes Stamina, and when you're low, you may fail missions, and then pass out. I once did this and missed about 4 days sleeping. Sleep at least every few days!

You do occasionally get to go out on wilderness quests, where your party runs left-to-right until a mob is met, does a turn-based combat, then resumes running. You can camp to eat and sleep if you bought those items; I found a food vendor on the docks, but no tent vendor yet.

The town consists of a series of left-right only streets, looping around, with up/down access points. It's not hard to search the whole thing, but sometimes not obvious where the access point is. There's a number of little shops, and events you can pay for.

One amusing but buggy part, I took out the waitress character on a date, she ends up back in my home, nice! but the menu is gone and I can't escape. Finally managed to tap on an invisible button and get out, but I was trapped for a bit. Is this a lesson about commitment and why I'm a nameless drifter?

Shops are not up to the usual Squenix standards. You have to buy items one at a time, and there's a very small wilderness quest inventory (currently 6 items!) so there's not much point in buying too much. Buying gear doesn't auto-equip it, or even remind you to; good thing I've been playing FF games since the NES.

What I'm Watching: El Camino

Don't be fooled by the title, the El Camino barely appears in this movie, and it teaches you nothing about the history and operation of the hybrid car-truck.

Instead, we have a lot of flashbacks and added scenes for a show called Breaking Bad which was a popular show about a science teacher like Mr Wizard and his little buddy Jessie.

OK, seriously, it's the final episode that the show gave Walter but didn't give Jessie. But since it's been a few years, it's all bottle episode with only a little new content. In between the flashbacks are Jessie continuing to be very stupid and revisit past haunts. There's brief cameos by people who obviously can't be present.

I call Jessie very stupid, but it's erratic. He'll make a very good decision, a cunning ruse, and then follow it up with completely idiotic unthinking reactions; he can't tell who's a cop and who isn't, can't figure out how much money he has, can't cut and run instead of taking revenge.

And it's slow. The flashback scenes are awful, just misery porn except too slow for me to feel any concern. Jessie wants to be a victim and always puts himself back in that position.

The one heroic, effective scene is then completely implausible, because everything goes right, no hilarious fuckups or bad side-effects. The writer just gave up on who Jessie Pinkman is for this scene.

★★½☆☆ – a whole extra episode of BB. Whoo.

McSweeney's Classic Wednesday Music

Black Sabbath: Your greatest joy is painting in unventilated rooms.
David Bowie: There is still, somewhere, a Dig Dug or Zaxxon machine with your high score on it.
Mott the Hoople: You are David Bowie.
Rush: You carry a small flashlight everywhere, and use it at least three times a day.

Steppenwolf: You have three or more cigarette burns in hard-to-reach places.
Golden Earring: You have three or more intentional cigarillo burns.

Derek and the Dominos: You have successfully used cooking spray as tanning oil.
Jim Croce: You have worn only socks and sock garters to a nude beach.

(what the heck, three good McSweeney's in a series? Normally they turn whiny after one or two)

So anyway, that's my playlist today.

What I'm Watching: In the Tall Grass

This might be the dumbest film I've ever seen. I've seen every real MST3K (up through Pearl, not the boring new loser), and even Red Zone Cuba or Beast of Yucca Flats aren't this dumb. Written by Stephen King & Joe Hill (his son), so I had some hope. But hours, years later, no, all hope is lost. Save yourself, don't come in.

Walking into this grass field by a vacant small country church gets you permanently lost. There's a steady flow of idiots walking off the road into this shitty midwestern Narnia/Blair Witch, but it's not corn so there's no He Who Walks Between the Rows. There's no sets, just a grass field with some paths stomped down, and a big rock, and a ruined Bowl-A-Drome (or "OWL-A-DME" as the sign says) makes the usual B movie filmed in the woods look like Ben Hur. I miss the variety of sets in Cube.

90% of the dialogue is just characters calling each others names. Beckay does tell a couple good dirty limericks but the wuss brother is useless, the drummer ex-boyfriend does think of marking a trail… not very well, like everything he does. Tobyn (the spirit guide, nice GB reference) is either part of the field or its first victim. His Ted Bundy-lookin' dad is exactly what he seems. His mom and dog appear when needed as props but have no plotline or role.

Of course there's a time travel thing going on, because all movies are time travel now apparently. Oh no I'm stuck in an endless loop of watching bad movies in my comfy chair.

The horrible ancient evil and time loop are trivially defeated by just helping someone out of the field. Every part of this was unnecessary.

★☆☆☆☆ and I'm glad I had a lot of beer.

Building Command Lines in zsh

I love zsh, but sometimes it's a tough love. Building command lines in strings is very hard because zsh doesn't want you hurting yourself on argument splitting like bash, so I just banged my head on that for like 15 minutes before I quit being dumb. Building them in arrays is super trivial:

% a=(args foo bar)
% b=$(ls)
% a=($a $b) # expands $a, adds $b to the end as a single argument
% $a
1=foo
2=bar
3=file1
file2

Note that arg 3 is multiple words/lines, but one arg. That's a nightmare to express in bash, but makes perfect sense at the exec level used by "real" (non-shell) programming languages.

args is a very useful debugging script I've had in some form since the '80s:

#!/bin/zsh
i=1
while [[ $# -gt 0 ]]; do
    echo "$i=$1"
    let i=i+1
    shift
done

What I'm Not Watching: American Horror Story: Apocalypse

About half the AHS seasons are good, the other half are total trash. Hotel was fun. Roanoke annoyed me with yet another haunted house story. Cult had two of the most pathetic protagonists ever—by the second ep I wanted both dead just to end the fucking series—clowns, and a political story I had no interest in. Apocalypse is a great premise: A post-nuclear bunker.

The iPhone nuclear missile warning isn't bullshit this time, but somehow LA has an hour warning instead of 15-30 minutes like a real nuclear war would have (time from the DEW Line to continental US for a suborbital missile). A random bunch of idiots are spirited away to a bunker by a secret organization.

And for a while, the internal politics and weird Victorian rules of the bunker drive a good enough plot. Even when one of the secret masters shows up and starts testing the survivors with an obviously malevolent bent, it's on plot. Maybe they'll go all Masque of the Red Death, I think.

But then magic creeps in, because the writers just got bored and started recycling from Coven. Half the cast are discarded so this shitty old plot can be dumped on anyone dumb enough to still be watching. When the goody-goody blonde witches start calling the warlock Satan I check out.

Garbage and a wasted premise.

★★★★☆ for the initial premise, then ★☆☆☆☆ after the witches & warlocks take over.

BBEdit 13

The "Pattern Playground"
Added the Grep Cheat Sheet.

I've been doing regexp for 35 years, and still don't remember every pattern (especially all the ?= stuff). So what chance do normal people have?

BBEdit allows you to make rectangular selections in documents for which "Soft Wrap Text" is turned on.

Woo! I use this all the time in my MultiMarkdown tables (sadly, "Columns" doesn't recognize them) and it was annoying having to switch to hard wrap (where I can't read any paragraphs), wait for it to reflow, edit table, switch back to soft wrap, wait for it to reflow.

The "Deploy Site" command for configured web projects will now:
Generate and upload HTML for Markdown (and Textile, if any such are in use) files.
Perform placeholder and include processing on HTML documents (including HTML generated from Markdown and Textile, if applicable).

Interesting, now you don't even need a static site generator. I could rebuild my neocities site with this…

Big changes to the way appearance and color schemes are managed. Settle in for the read:

Thank goodness! I'd had a couple serious color scheme bugs over the last version, and now it seems like I don't have to constantly resave my color scheme if I tweak it. In addition, I see it's leaving saves of my color scheme in ~/Documents/BBEdit Backups (maybe too many, if I screw around with sliders instead of typing hex RGB).

And tons more, these are just the ones that affect me daily.