Linked List: January 11, 2024

From the DF Archive: Are There Any Tetris Games for Mac? 

My recent spate of Tetris-related links got me thinking again about this post from 2018:

So as far as I can tell, not only is there no official Tetris for Mac, there are no Tetris-like games either. Back in the 90s, there were several really good Tetris games for the Mac. Anyone remember Wesleyan Tetris? It was a goofy version in which the developer, Randall Cook, would rudely critique your gameplay.

If The Tetris Company wants to protect the name “Tetris”, fine, but I think it sucks that there’s no good way to play the game on a Mac today. Every computer should have a good version of Tetris.

Not much has changed from 2018. There is an officially licensed game in the Mac App Store now: Tetris Beat. It’s part of Apple Arcade, so most of you can probably download it and play it. It’s not just plain Tetris — and whatever it is that it wants to be, it sucks. It doesn’t even let you customize the controls. It occupies 2.3 GB on disk after installation. For Tetris! Jiminy. Niklaus Wirth would be rolling over in his (fresh) grave if you told him a Tetris game took 2.3 GB on disk and made the fans get loud on an Apple silicon MacBook Pro when you play it.

The best options for just playing Tetris on a Mac are web games: Tetr.io and Jstris. (I presume both websites are hosted in countries outside the reach of litigious The Tetris Company.) Tetr.io offers “desktop” versions, but their Mac app is an Intel-only Electron app that instantly made the fans on my MacBook Pro veritably roar. It’s far better playing online in Safari, but Tetr.io is geared toward Tetris fanatics, not casual play. Jstris is simpler, but fundamentally exists as a platform for competitive online play. (Go to Play → Practice to just play single player.)

What a sad state of affairs. A hearty fuck you to The Tetris Company for ruthlessly shutting down hobbyist clones while refusing to license a decent official just-plain-Tetris Mac app.

Update: Hard to believe I didn’t come across this on my own, but it turns out The Tetris Company has a decent simple Tetris game on their own website.

Niklaus Wirth: ‘A Plea for Lean Software’ 

From an essay Niklaus Wirth published in IEEE’s “Computer” magazine in 1995 (original PDF), some lessons learned in the development of Wirth’s Oberon system:

  • The belief that complex systems require armies of designers and programmers is wrong. A system that is not understood in its entirety, or at least to significant degree of detail by a single individual, should probably not be built.

  • Communication problems grow as the size of the design team grows. Whether they are obvious or not, when communication problems predominate, the team and the project are both in deep trouble.

  • Reducing complexity and size must be the goal in every step — in system specification, design, and in detailed programming. A programmer’s competence should be judged by the ability to find simple solutions, certainly not by productivity measured in “number of lines ejected per day.” Prolific programmers contribute to certain disaster.

  • Programs should be written and polished until they acquire publication quality. It is infinitely more demanding to design a publishable program than one that “runs.” Programs should be written for human readers as well as for computers. If this notion contradicts certain vested interests in the commercial world, it should at least find no resistance in academia.

Fruit Stripe Gum Discontinued 

Emily Schmall, reporting for The New York Times:

Fruit Stripe, the striped chewing gum known for its short burst of flavor, has been discontinued after more than a half-century, inspiring nostalgic tributes across social media.

“Best two seconds of flavor you’ve ever had,” one Reddit user wrote on Wednesday. “R.I.P. to a legend.”

Rainbow-colored packs of Fruit Stripe gum first appeared in stores in the United States in the late 1960s. Ferrara, a confectioner based in Chicago, said this week that it had stopped making the product.

There were two kinds of Fruit Stripe: chewing gum and bubble gum. I could never decide which was better, so, of course, I always bought a pack of each. (Juicy Fruit, of course, is the superior fruit-flavored stick-shaped chewing gum.)

‘Trump Has Taken Presidential Immunity to Its Illogical Extreme’ 

David A. Graham, writing at The Atlantic:

In a hearing before the D.C. Circuit Court, the former president’s lawyers argued that he should be immune from criminal prosecution for his role in the attempt to steal the 2020 presidential election. This argument has an obvious flaw: It implies that the president is above the law. Such a blunt rejection of the Constitution and the basic concept of American democracy is too much even for Trump to assert — publicly, at least — so his lawyers have proposed a theory. They say that he can’t be criminally prosecuted unless he is first impeached and convicted by Congress.

This argument is no less dangerous, as a hypothetical asked in court demonstrated in chilling terms. Judge Florence Pan asked Trump’s attorney, D. John Sauer, if “a president who ordered SEAL Team 6 to assassinate a political rival” could be criminally prosecuted. Sauer tried to hem and haw his way through an answer but ultimately stated that such a president couldn’t be prosecuted unless he was first impeached, convicted, and removed by Congress.

“But if he weren’t, there would be no criminal prosecution, no criminal liability for that?” Pan pressed. Sauer had no choice but to agree, because acknowledging any exceptions would have blown a hole in his argument.

The most forgiving take on this argument is that Trump’s legal team doesn’t mean it, and they’re merely stalling for time — throwing as much shit as possible up against the appeals court walls, hoping to delay his umpteen trials until after his possible reelection in a year. But Trump himself clearly means it. (Barry Blitt’s cover illustration for The New Yorker this week is sublime.)

The best refutation of Trump’s argument that presidents are above the law, and accountable only to Congressional impeachment, comes from Representative Jamie Raskin, who points to the glaring game theory hole in this absurd argument: if it were true, the president could order the assassination of any congressperson who threatened to impeach or convict him. As Raskin concluded, “This is the GOP 2024.”

NanoRaptor’s Apple Pascal Poster Recreation 

NanoRaptor:

For Niklaus Wirth, 1934-2024.

Apple’s classic Pascal poster, remade as a nice clean vector image. Print at any size with the PDF link.

Just beautiful.

Niklaus Wirth, Titan of Computer Science and Creator of Pascal, Dies at 89 

Liam Proven, in a nice obituary in The Register:

Swiss computer scientist Professor Niklaus Wirth died on New Year’s Day, roughly six weeks before what would have been his 90th birthday.

Wirth is justly celebrated as the creator of the Pascal programming language, but that was only one step in a series of important languages and research projects. Both asteroid 21655 and a law of computer design are named after him. He won computer-science boffinry’s highest possible gong, the Turing Award, in 1984, and that page has some short English-language clips from a 2018 interview. [...]

As described in C H Lindsey’s History of ALGOL-68 [PDF], when the ALGOL-W proposal was rejected, Wirth resigned from the committee, contributing a strong “Closing Word” to the November 1968 Algol Bulletin 29, containing gems such as:

I pulled out my copy of the draft report on ALGOL-68 and showed it to her. She fainted.

Instead, Wirth took his proposal, changed it to be somewhat less compatible with ALGOL, and released it in 1970 under the name Pascal.

Wirth’s Law encapsulates Wirth’s philosophy: “The hope is that the progress in hardware will cure all software ills. However, a critical observer may observe that software manages to outgrow hardware in size and sluggishness.” Or, as he rephrased it in his paper describing Project Oberon: “In spite of great leaps forward, hardware is becoming faster more slowly than software is becoming slower.” In many ways, this remains the fundamental problem of our entire industry. It’s a truism, and can only be mitigated.

He endorsed simplicity and clarity, and his languages and system designs exemplified those ideals. Studying computer science in the early to mid-1990s, I was among the last to learn Pascal as a teaching language. After outgrowing BASIC, I had actually started learning Pascal my senior year in high school, in a class with just two other students — thanks, Mrs. Spatz — and it was that class that made me want to study computer science in college.

And Pascal was to the original Macintosh what Objective-C was to Mac OS X — the language Apple established as the default for writing application software. Most of the apps that established the Macintosh as the platform for people with good taste in the 1980s and early 1990s were written in Pascal. THINK Pascal was an IDE years — maybe over a decade — ahead of its time. (There were good Pascal systems on the PC side of the fence too.)