Apple Silicon

  • Apple event: ♫ "The chime is back!"
    • Reasonably good summary of the new chips, and how Big Sur works with your old Intel applications.
    • Device coverage is very superficial, "it runs X specific app in Y time!" Well, if I haven't used Logic, is that good?
    • I know Apple will never show real benchmarks where they might not be best in everything, but I want to see real benchmarks.
    • I know Apple will never show real device teardowns, only silly 3D animations of flying parts, but I want to see real device teardowns.
    • ONE MORE THING! (Why is only John Hodgman back, but Justin Long was too good to be a Mac again?)
  • AnandTech review of A14, estimates of M1 covers some of what I want to see.

In short, the A14 in the latest iThings is just barely short in power of the best AMD CPUs, and beats all the Intel CPUs, at half the power consumption. M1 ("Apple Silicon") is apparently much faster, Apple claims the fastest CPU in the world, which may be true enough.

Intel is, to be really technical here, fucked. They're facing Apple and AMD on the high end, and ARM below (you couldn't make an Intel RasPi 400!) There's no space for Intel now except corporate garbage Windows desktops, and many of those can be replaced at a fraction of the cost with ARM computers. What happens when every IT department decides to halve their parts and power costs, and high end users already buy Apple?

So my thoughts on Apple's new M1 lineup. Obviously, I don't have one yet, haven't seen real benchmarks, forward-looking statements require use of the Spice Mélange, expands consciousness, etc. etc.:

  • MacBook air: With 8-core, 16GB RAM (maximum), 1TB SSD, price is $1649. But uses passive cooling, do not buy this. I love the MBA form, I love hard function keys, and probably this is perfectly fine for casual use. But the second you try to do demanding tasks, it's going to be heat-constrained.
  • Mac mini: With 8-core, 16BB RAM (maximum), 1TB SSD, price is $1299. This has active cooling. Of course it has no keyboard, mouse, or monitor.
  • MacBook pro 13": With 8-core, 16BB RAM (maximum), 1TB SSD, price is $1899. Active cooling. Only has 2 Thunderbolt/USB 4 ports, it really needs at least 3: Power, external drive, external monitor, but you can buy a hub to dongle-book all your drives & monitors, and power in on the other. It does have a good old fashioned 3.5mm audio jack; I'm surprised they haven't put a lightning port there.

All have "integrated graphics", which in the Intel days meant crappy video performance, but Apple's on-board GPUs aren't bad (not new AMD or Nvidia level, but tolerable). However, they are "unified memory", which means the GPU is going to take 2-4GB of system RAM away from you.

The problem here is that 16GB RAM limit, which is really 12-14GB. I regularly run up against my old iMac's 16GB limit in development with a virtual machine (and that has 2GB dedicated video RAM). 3D modelling or high-end games, video editing, and many other problems are going to be crippled. Apple needs to make 16GB the minimum casual level, and 32-128 GB for serious users.

So, I'm probably waiting for the next batch of Macs; I may get the MBP 13" with an eye to selling it & replacing it with a better machine ASAP. If you're casual, that's probably a perfectly nice machine, it's only $250 more than the MBA.

What I'm Watching: Twilight Zone

In this case, the 1983 movie. It's kind of a waste of celluloid, the originals were better, but back then you would be lucky to ever see a good episode in syndication, and if there were VHS tapes of the series, they would've been very expensive. Maybe the best case would've been to never make another Twilight Zone after Rod Serling's death. Not all the originals were great, many were repetitive, but they had a real sharp edge which is missing here.

The two Dan Aykroyd scenes are short but OK. Dan driving around scaring people would be a better show.

"Time Out" with the racist becoming prey for the racists. I hate the time-jump mechanic, and it's a very selfish revelation. What does Nazi Germany or Vietnam have to do with him, anyway? Maybe if they'd just had 'Nam and the KKK as his direct ancestors, and it would've been less preachy. The original plan was to have two Vietnamese kids he has to protect to redeem himself, but they and Vic Morrow died in a helicopter accident on set, so what you see is what they could salvage from that footage.

"Kick the Can" with Scatman Crothers making old people in a retirement home young for a night. The original was kind of a traditional fairy tale except in reverse, the fairies take the elders instead of the children, and leave the narc behind. The remake has only the fun "kid" run away young, with no real moral for everyone left behind.

"It's a Good Life" introduces a new character, teacher Helen (Kathleen Quinlan), instead of just having the miserable "family", and the town isn't nearly as bleak and horrible as the original episode. Little Anthony is now… 9? instead of 6, which makes him more capable of reason, if still having tantrums. The new kid isn't as creepy as Billy Mumy was, but he's fine. There's no cornfield. The cartoon monsters are hard to even look at, they're cel-painted instead of CGI or practical, but it's not comic like Who Framed Roger Rabbit. The happy ending is so weird; is Helen hoping to be this new god's controller, or is she horny for the boy, or genuinely wants to teach? Nothing about her motivation is revealed so we can't tell.

Notable for having a Tempest arcade cabinet and gameplay!

"Nightmare at 20,000 Feet" remake with John Lithgow doesn't work at all. William Shatner always looked competent, so his breakdown was frightening. Lithgow is a crazy man when he's sane, and he's a plausible Trinity Killer or Lord John Whorfin when he's not. The new gremlin is differently awful from the gorilla-suited original. Nothing is resolved, nobody learns anything, it just gives up.

★★☆☆☆ — I remembered this as being much better than it was.

What I'm Watching: Three Korean Zombies Edition

  • Seoul Station: Animated prequel to Train to Busan. Hye-sun, a young woman of negotiable affections and her douchebag boyfriend/wannabe-pimp, and a hobo and his mysteriously dying "bro", cross paths at Seoul's main subway station just as the zombie plague starts. It is successful at getting me to care about the girl, and to a lesser extent the men around her; one character flip didn't surprise me much but it needed a little more evidence.

Animation's kind of stiff, low FPS, but detailed, very much not in the style of most anime. What it most reminds me of are the Long Tomorrow and B-52 segments of Heavy Metal; I think it's not actually rotoscoped, but looks a lot like it. Despite being animated, with "unlimited special effects budget" as it were, there's not a lot of sets, not a lot of speaking parts, not a lot of flashy action pieces, it could've all been filmed practically for less money.

I'm a little put out by the cell phone vamping. Girl turns off her iPhone. Then it's out of reach. Then they're in a tunnel. Then coverage just stops because… it's plot convenient. And the other side just sits there shouting her name into it, instead of doing anything. It's a good way to pad out 30 extra minutes of "tension" that wouldn't exist if people just calmly (under zombie attack, yes) left messages for each other while travelling towards a common point.

It is very Korean, where the government is not on the side of the people, it's in self-preservation mode and has been putting down anti-government riots since the war. An American version of this (suppose Fear the Walking Dead was animated and wasn't absolute trash) would make different stupid mistakes; just as many dead civilians but less heartless bureaucracy. A Japanese version would be briefly hilarious, and then everyone would die because they were too polite to break skulls. The Chinese version would probably drop fuel-air bombs on the area.

★★★½☆

  • RV: Resurrected Victim: A prosecutor comes over to his crazy sister's house, and finds his dead (murdered by a mugger) mother there watching TV. A pastor (ugh, Korean christians; worse than zombies, and they're all thru this film) barges in and falls to his knees calling out to Jesus, quoting his "resurrection" fairy tale, singing and praying like the crazy people they are. She goes all zombie on them, as anyone would. Then we get an official briefing/infodump about resurrections, because apparently the writer hasn't heard of "show, don't tell".

It feels like a TV series, several episodes spliced together into a "movie". Or a fever-dream scenario by a Call of Cthulhu referee. Coincidence or fate brings everyone who needs to be in a scene together, but the B-team and C-team investigators just get forgotten for long stretches of the film, then show up again to tag along a couple scenes behind the prosecutor.

"The fact that RVs always appear in the rain is related to the fact that 80% of the human body is H2O.
And the iron content in their blood is more than ten times higher than that of normal humans.
When the vengeance is enacted, all these seem to be related to the strong magnetic field that is formed."
—inexplicably bad English-speaking… Italian? gentleman with a priest sidekick, possibly in the wrong movie.

The mystery being solved is fine, and eventually all the plots are tied together, if not at all satisfactorily at the end, with a preachy speech. The "RVs" do almost nothing, the entire plot could be a non-supernatural drama, or have hallucinations or visions of ghosts, with minimal changes and far less of a wasted premise.

★★★☆☆

  • Stranger: I'm only a few episodes into this series, about a prosecutor (again?!) who feels no emotions (a philosophical zombie!) after a childhood surgery. He solves crimes, fights corruption in his bureau, tries to pass as a person but doesn't really succeed. The sympathetic woman cop Han (Doona Bae, most recently from Kingdom and Sense8) and his rival prosecutor are well-played. There's an overall season plot, and not much episodic plot, which makes it hard to decide where to stop, doesn't give a clear delineation between episodes, and I can't binge more than a couple hours of Korean TV at a time, so it's taking a while to get thru.

But so far, I like everything about this, good investigation, forensics, office treachery that isn't mysterious figures in the dark but rather just awful coworkers. Best of all, a protagonist who's proactive, isn't all weepy and stupid, has his own secrets but isn't a villain. Han is also really adorable, she tries to be a supercop (a coworker calls her "Angelina Jolie", but really she's more Michelle Yeoh ) but also takes in strays and is surprisingly good for a police force not exactly known for that.

★★★★½

RasPi 400: Adorable New Keyboard Computer

This is very nice, at least in principle.

Classic home computers – BBC Micros, ZX Spectrums, Commodore Amigas, and the rest – integrated the motherboard directly into the keyboard.
No separate system unit and case; no keyboard cable. Just a computer, a power supply, a monitor cable, and (sometimes) a mouse.

Hm, the naming is obviously after the Atari 400 (so 800 will be the 8GB model?), but they don't mention Atari. Well, the criminals now doing business as "Atari SA" aren't people you want to associate with. And these are English, who couldn't afford nice computers back then.

It's not really $70, it's $100 plus a monitor, because the cabling is unusual, you should not get the no-cables computer-only box. When I got my RasPi4 I had to email them to get my micro-HDMI cables (which they did supply), and the cheapo monitor is still terrible but I haven't found a good cheap replacement. The RasPi400 also doesn't have a power switch; the CanaKit set at least gave me an inline power clicker.

Having the keyboard & computer in one gets you much closer to a nice clean cyberdeck than the current maze of wires; there's no battery pack, but in most cases what you want is a small computer in your satchel you can set down, plug in, and work. I'm dubious of using a mouse with this in most space-constrained areas (machine rooms, or cafés—in the distant future when we can go back to cafés), but trackpads and trackballs are expensive, too.

RasPi4 is critically heat-constrained, the fan runs all the time on mine or it dies. El Regerino does a teardown and review, and the giant heat sink plate seems to solve the problem. I could probably justify getting this just to have silence! Or a fedi-pal has suggested the Argon One heat-sink case, which is a much cheaper fix.

Software's still an issue. Raspbian is a relentlessly mediocre Linux variant; I said earlier I'd switch it to BSD, but that hasn't happened yet. I should update to the newer "Raspberry Pi OS" and see if it's better. … Later: Not really. You can set some better scaling options now so it's not unreadable. WOO. (I shouldn't mock, scalable UI is really fucking hard, and they've got at least most of the stock software configured for it; notably Chromium yes, but not Firefox).

Dev tools are not great on RasPiOS. Ludicrously, they suggest Python, the slowest modern language on the slowest modern hardware. Their free "Create GUIs with Python" book uses a fat layer on top of Tkinter, which is awesome for portability, totally awful for going through now 3 layers to reach hardware. No. Almost anything will be better on it. As I noted, Gauche runs, it's fine for porting small tools, and has industrial-strength (and industrial-ugly) GTK.

A much better IDE will be sudo apt-get install vim-gtk3 (gvim runs faster than vim in lxterm, though it pulls in a preposterous set of dependencies)

Just as a sanity test ("maybe a 4GB, 1.5GHz, heat-constrained computer is OK for Python!"), I wrote a tiny 10 PRINT maze program in both. Gauche fills the terminal instantly; I can see the lines being drawn by Python, and it's even slower in any IDE. That's just one random number per char, imagine doing real work!

All their programming books and the new Beginner's Guide are up for free as PDF on their MagPi books page, or now in-OS from Raspberry menu, Help, Bookshelf. Looking thru the guide, it covers:

  • Hardware tour so you can identify ports
  • Software setup
  • Programming in Scratch for kids. As I was raised on BASIC and assembly, I roll my eyes at programming by drag-and-drop instead of interactive text editing, but Scratch isn't awful, just cutesy, bulky (a 10-statement program will fill a page of the book) and very slow.
  • Programming in Python. Thonny IDE looks OK, for what it is, with integrated REPL, tabbed editing, and debugger. But IDLE does as well; both use Tkinter, and are non-fun slow on the little device.
  • A starter chapter on using the GPIO, doing wiring, digital circuits, and Scratch to blink an LED. Then controlling the Sense Hat, which is maybe the worst peripheral I've ever seen. There's plenty of other small-screen interfaces or sensor devices that'd be better, surely.
  • Appendices on how to install software, and finally an extremely inadequate tutorial on using the terminal.

For $100, it's a cute little portable computer, but the way they suggest using it will make it seem like a 1K RAM ZX-80, not the reasonably fast secondary machine (or kid's first Scheme terminal) it can be if you're not working under multiple layers of mud.

Reinventing the Wheel

Sure, there's existing code. Somebody Else's Code. It works fine, maybe not as fast as you'd like, or the interface isn't quite right. That's how it often is with me and SRFI-13. Olin Shivers is a skilled Schemer, back when that wasn't cool (OK, it's still not cool), but some of his APIs enshrined in early SRFIs drive me a little nuts, and the implementation is slow because it's so generalized.

So after a few false starts and failed tests, I now have these pretty things: (updated 2020-11-10, enforced hstart, hend boundaries)

;; Returns index of `needle` in `haystack`, or #f if not found.
;; `cmp`: Comparator. Default `char=?`, `char-ci=?` is the most useful alternate comparator.
;; `hstart`: Starting index, default 0.
;; `hend`: Ending index, default (- haystack-length needle-length)
(define string-find (case-lambda
    [(haystack needle)  (string-find haystack needle char=? 0 #f)]
    [(haystack needle cmp)  (string-find haystack needle cmp 0 #f)]
    [(haystack needle cmp hstart)  (string-find haystack needle cmp hstart #f) ]
    [(haystack needle cmp hstart hend)
        (let* [ (hlen (string-length haystack))  (nlen (string-length needle)) ]
            (set! hstart (max 0 (min hstart (sub1 hlen))))
            (unless hend (set! hend (fx- hlen nlen)))
            (set! hend (max 0 (min hend hlen)) )
            (if (or (fxzero? hlen) (fxzero? nlen))
                #f
                (let loop [ (hi hstart)  (ni 0) ]
                    ;; assume (< ni nlen)
                    ;(errprintln "hi=" hi ", ni=" ni ", hsub=" (substr haystack hi hlen) ", bsub=" (substr needle ni nlen))
                    (cond
                        [(cmp (string-ref haystack (fx+ hi ni)) (string-ref needle ni))  (set! ni (fx+ ni 1))
                            ;; end of needle?
                            (if (fx>=? ni nlen)  hi  (loop hi ni) )
                        ]
                        [else  (set! hi (fx+ hi 1))
                            ;; end of haystack?
                            (if (fx>? hi hend)  #f  (loop hi 0) )
                        ]
        ))))
    ]
))

;; Test whether 'haystack' starts with 'needle'.
(define (string-has-prefix? haystack needle)
    (let [ (i (string-find haystack needle char=? 0 0)) ]
        (and i (fxzero? i))
))

;; Test whether 'haystack' ends with 'needle'.
(define (string-has-suffix? haystack needle)
    (let* [ (hlen (string-length haystack))  (nlen (string-length needle))
            (i (string-find haystack needle char=? (fx- hlen nlen)))
        ]
        (and i (fx=? i (fx- hlen nlen)))
))

Written for Chez Scheme, caveat implementor. BSD license, do what thou wilt. If you find a bug, send me a failing test case.

I don't normally bother with fx (fixnum) operations, but in tight loops it makes a difference over generic numeric tower +, etc.

I Think We're Property

Dangers of near approach -- nevertheless our own ships that dare not venture close onto a rocky shore can send rowboats ashore --
Why not diplomatic relations established between the United States and Cyclorea -- which, in our advanced astronomy, is the name of a remarkable wheel-shaped world or super-construction? Why not missionaries sent here openly to convert us from our barbarous prohibitions and other taboos, and to prepare the way for a good trade in ultra-bibles and super-whiskeys; fortunes made in [155/156] selling us cast-off super-fineries, which we'd take to like an African chief to some one's old silk hat from New York or London?
The answer that occurs to me is so simple that it seems immediately acceptable, if we accept that the obvious is the solution of all problems, or if most of our perplexities consist in laboriously and painfully conceiving of the unanswerable, and then looking for answers -- using such words as "obvious" and "solution" conventionally --
Or:
Would we, if we could, educate and sophisticate pigs, geese, cattle?
Would it be wise to establish diplomatic relation with the hen that now functions, satisfied with mere sense of achievement by way of compensation?

I think we're property.

I should say we belong to something:
That once upon a time, this earth was No-man's Land, that other worlds explored and colonized here, and fought among themselves for possession, but that now it's owned by something:
That something owns this earth -- all others warned off.
Nothing in our own times -- perhaps -- because I am thinking of certain notes I have -- has ever appeared upon this earth, from somewhere else, so openly as Columbus landed upon San Salvador, or as Hudson sailed up his river. But as to surreptitious visits to this earth, in recent times, or as to emissaries, perhaps, from other worlds, or voyagers who have shown every indication of intent to evade or avoid, we shall have data as convincing as our data of oil or coal-burning aerial super-constructions.
Book of the Damned (1919), ch. 12, by Charles Fort

Eerily repeated in a lot of science fiction. Ironically, H.G. Wells' "War of the Worlds" is nearly a "we're property" story, but Wells irrationally hated Charles Fort. Likes repel, I suppose.

A few obvious ones, but there are dozens more (put them in comments if you like; archive.org links preferred!):

What I'm Watching: Yuru Camp△

Yuru Camp△ (aka Laid-Back Camp) is peaceful, calm, and friendly, the complete opposite of what I normally watch, and therefore it's very nearly the best thing I've ever watched, especially as comfort watching in this most terrible year yet.

A very small but very competent girl (Shimarin) goes solo camping in winter, and meets a hyperactive genki pink-haired girl (Nadeshiko) who is utterly unprepared for her day-trip to see Mt Fuji. More or less against her will, they become friends. Nadeshiko finds the school camping club, which is based in an unused hallway to nowhere, and not much more competent. But everyone's willing to learn, and they work side jobs and buy better and better gear. The cooking goes from "heat water to make cup noodles" to giant feasts of meat on charcoal and hot-pots.

The music's beautiful, the camping scenery is beautiful, there's no stress and the only tension is "OMG I overslept at this hot spring, I might be late for camp check-in!" (don't freak out, they make it OK).

Currently there's a season (12 x 24-minute episodes) of the main show (and make sure to watch credit to credit, they do interesting things in the credits and after), 4 x 12-minute "specials", and 12 x 3-minute "Heya Camp" stamp-collecting episodes. The second season is coming next year, and there's 9 volumes of manga which I'm likely going to get, though much of what I love is the music & scenery, the story & characters are merely there to show it to me.

I'm on my second watch-through, and likely will watch it again before S2.

★★★★★

What I'm Watching: American Murder: The Family Next Door

The conceit here is all footage is real police bodycam, Ring front-door spycams, phone footage, etc. I'm dubious about the how much of this was filmed before the events, and how much staged, but it's badly shot enough in many places to be possible. The Facebook captures are kind of gross, the fake SMS reenactments with fake misspellings and retyping are weird; "Shanann"[sic] was as bad at spelling everything else as her own name (it's normally pronounced & spelled "Shannon")?

It's creepy how much people share, without saying anything of substance. Self included, of course… you know what code and games I release, and my snarky media reviews, but I don't tell you anything else. On Fediverse, I mostly share jokes and comics I've found, and bitch about code.

The police station footage is really the disturbing part, as always when showing conversations with pigs: The touchy-feely-cop and bad-cop routine, no lawyer, cameras left running during "private" (but not protected by lawyer) conversations. Obviously the first and only words you should utter to cops are "I have no comment. I want my lawyer. Am I free to go?" Am I the weirdo for being incredibly skeeved out by pigs rubbing someone's shoulder to try to make them confess?

The "cashless economy" is an incredibly bad idea, and this shows why: Every step anyone takes is recorded as a bank charge. If you carry cash (as I mostly do), then only your dumb online purchases show up, which are probably not too incriminating.

The reveal of the murders, such as it is, is incredibly badly presented, but they just didn't have any footage to present it. And there's not enough "character building" to tell anyone why. I don't believe the statement accepted by the court, but no better information is possible.

In the end, this is a horror movie about people oversharing.

★★★☆☆