🥩 Red Meat Friday: The Apple TV Price Increase

Jason Snell has a few words to say about Dan Rayburns’s post on LinkedIn concerning the price increase for Apple TV and why it spells the end of the device. I, too, have a couple of things to say.

First, when did LinkedIn become a social network? I thought it was supposed to be a place where job seekers and employers could find each other. I first became aware of its descent into silliness last year when Watts Martin informed us that, according to “LinkedIn influencers”, real people don’t use em-dashes. Martin and I had a good chuckle but even at the time I wondered what a LinkedIn influencer could possibly be. Now, apparently, LinkedIn is a place where anyone can advance any nonsense they please.

Second, everyone writing about Apple’s recent price increases keeps ignoring the fact that they were driven by AI-fed RAM increases that are out of Apple’s control. You can argue that the 50% increases were out of bounds but, again: RAM prices.

Third, I think Rayburn’s whole argument is silly. If you belong to the Applesphere, you’re used to high prices. Some iPhones are approaching \$1,000, a top-of-the-line iWatch is about \$800, and even before the increases, MacBook Pros were pricey. I’m pretty sure few Apple users are going to complain about \$250 for an Apple TV.

Finally, Apple TV is more than just a streaming device. Here at the Irreal bunker we do little streaming but have a top-of-the-line Apple TV. Why? Because it’s the hub for the bunker’s Smart Home system. It basically runs the bunker’s nerve system1. If it didn’t stream at all we wouldn’t care. It still runs the household automation.

Footnotes:

1

Heh heh. OK, that’s a little overwrought but you get the idea.

Posted in General | Tagged | Leave a comment

The Computers Of Jurassic Park

Jurassic Park was released 33 years ago. If you were there or know anything the movie, you know that computers played a large role in making it. The most famous example of that was the CGI rendering of T-Rex. I remember reading that the animator started with a skeleton for the dinosaur to get the movements right and added the flesh and skin at the end. Spielberg was apparently blown away by the result. The story of how computers were used in the movie’s production is fairly well known and interesting for us nerds. There was even a book written about the making of the movie.

Fabien Sanglard examines the movie’s use of computers in a different way. He researched every computer and piece of software from the movie that he could identify. The result is a long and interesting post. The computers were mostly from Apple and SGI although the “supercomputer” was a cluster of Thinking Machine CM-5s.

The producers managed to get the loan of computers worth roughly $4,000,000 in 2026 dollars from Silicon Graphics and Apple. The post has some other tidbits like the loan of a Motorola Envoy. The envoy wasn’t released until 1995—a couple of years after the movie was released—so what you see in the movie was actually Motorola’s original mockup. The other interesting thing is the computer monitors in the movie and how much they cost. There were many different types and Sanglard notes them all. The most interesting aspect of the monitors is that they had to adjust their refresh rate to sync with the movie frame rate to avoid flickering. See the post for a bit more on this.

Posted in General | Tagged | Leave a comment

Update To Jinx Reconsidered

Yesterday I wrote that I had reconsidered my stance on Jinx and decided to give it a serious try. The only problem I had was that picking the correct spelling wasn’t working as advertised. I speculated that this was probably the result of some interaction between Jinx and Ivy and this, indeed, turned out to be the case.

Embarrassingly, mbork had already pointed this out in his post about Jinx that I linked to but since I wasn’t planning on installing Jinx, I hadn’t paid it much attention. His solution was simple: he merely disabled Ivy for Jinx by advising jinx-correct. That works fine but I’m not sure that I like that behavior either. You have to press Tab to get the list corrections and then it isn’t any easier choose the right one.

I’m sure there’s something simple that I’m missing so I’ll continue experimenting or perhaps one of Irreal’s more knowledgeable readers will tell me I’m just being stupid. In any event, I’m going back to the original behavior until I can figure out the correct way of fixing things.

Posted in General | Tagged | Leave a comment

Jinx Reconsidered

In a stunning case of the Baader–Meinhof phenomenon, I’ve been running across the Jinx spelling corrector everywhere. I had never heard of it until last week when I watched and wrote about Prot’s video on writing in foreign languages with Emacs. Then Marcin Borkowski wrote about it and I posted about that. In all those instances, I concluded that Jinx was interesting but mainly of use for those who regularly wrote in more than one language. Since I seldom do that, I decided I was going to stick with flyspell.

Then Omar commented on my Borkowski post saying that Jinx was a better solution than flyspell even if you used it with only one language. I thought that perhaps I should reconsider my decision about sticking with flyspell. Finally, I saw this post by Bozhidar Batsov on why he has recently switched from flyspell to Jinx and became convinced that I should give it a try.

I installed it without difficulty and am writing this post with it as a sort of maiden voyage. So far, everything seems fine. By default, jinx-correct is bound to Meta+$, which I find a little clumsy so I changed that to Ctrl+;, which is where my muscle memory thinks it should be.

The only problem I’ve had is quickly choosing the correction. The documentation says that you can do that put typing the number of the correction but that simply exits the correction leaving the old spelling in place. The problem may be some interaction with Ivy, which I’ll investigate as soon as I get some time.

Posted in General | Tagged | Leave a comment

Gruber On Apple Advertising

John Gruber over at Daring Fireball has an excellent article about the slippery slope Apple is on with their embracing of advertising. I’ve written about this before. For a company like Apple, advertising is deeply corrupting and inevitably ends with the user being replaced by the advertiser as the customer.

As Gruber points out, Apple really does care about their customers’ privacy and puts in extraordinary effort to preserve it. The problem is, he says, that other than a few technically competent folks, like Irreal readers, people don’t believe it because any semi-sentient person has learned to equate advertising with surveillance. It’s mostly a good assumption even if it doesn’t apply to Apple.

Gruber’s worry is the advertising will erode the perception of Apple as a company that cares about their customers’ privacy. It’s something to be concerned about but my worry is that it will corrupt Apple’s values to the point that they, in fact, no longer care about privacy.

As Gruber says, Apple doesn’t need the extra money that advertising brings in and, in fact, earns far more—greater than 20 billion dollars annually, apparently—from their deal with Google to make their search engine the default on Apple products. It seems foolish to tarnish their brand for what, in Apple terms, is small change.

Gruber hopes, as I do, that John Ternus will reverse Apple’s descent into the fiery pit of online advertising. Whatever extra dollars they reap from advertising won’t be worth it in the end. They will lose far more in customer goodwill and trust.

Posted in General | Tagged , , | Leave a comment

Jinx For Spell Correction

Marcin Borkowski (mbork) has a nice post on the Jinx spell corrector. Mbork has tried fly-spell but found it too laggy for his purposes. That was back in the days when he had a Pentium class machine running at 100 Mhz so he thought, in view of his more modern hardware, that it was worth trying out fly-spell again.

He still found it too slow and decided to try Jinx instead. I’ve always found fly-spell snappy and I hadn’t heard of Jinx until I read Prot’s post on writing (and spell correcting) foreign languages in Emacs but mbork wasn’t satisfied until he tried Jinx. He found that it was fast enough for his use cases and decided to embrace it as his spell corrector.

He discovered that Jinx interfered with some of his work flows but it turned out to be pretty easy to fix those. You can check out mbork’s post for the details.

If you are writing in multiple languages with Emacs, then Jinx may be an excellent solution as a spell checker. If, like me, you mostly write in your native tongue, you’ll probably find fly-spell is all you need. As I said above, it’s more than fast enough for me and provides a wonderfully interactive spell correction system.

Posted in General | Tagged | Leave a comment

Highest Org Priority

If you’re an Org user, you probably know that you can assign a priority to TODO items. By default, the priorities are A, B, and C but with a bit of trickery you can extend the ranges to 0–9 and A–Z.

I never use priorities but Raymond Zeitler does and after figuring out the above trickery he thought it would be useful to have an ultimate priority a sort of “drop everything and do this immediately” priority. He decided to make this priority 100 times the highest priority and to designate it with !.

The solution wasn’t straightforward but it wasn’t too difficult either. The thing about Emacs is that it’s easy to check the source code to see how things are done. It turns out that Org has a org-priority-get-priority-function variable that contains a function that Org calls to get the priority from the priority cookie. Zeitler wrote his own version to check for a ! and return the high priority if it’s found. If not, then it calls a slightly modified version of the normal function.

As I say, I don’t make use of the priority mechanism and have no idea how many people do but if you’re one of them and are looking for a way to specify an extraordinary priority, take a look at Zeitler’s post. You can cut and paste his code if you’re interested.

Posted in General | Tagged , | Leave a comment

🥩 Red Meat Friday: Apple And The Cost Of Ram

The technical press is wetting their pants—or pretending to—about Apple1 raising prices on many of their products due to the AI industry fed rise in RAM prices. It’s outrageous, they claim. Apple should just eat the cost of those increases so that the rest of us can continue to pretend that nothing has changed, they say. Anyone with a semi-functional BSometer will recognize that for the clickbait that it is.

There is, of course, plenty of faux outrage to go around. The usual pandering politicians are busy demonstrating their lack of economic knowledge or at least pretending not to understand it. Among the worst offenders here is Bernie Sanders, whose statements on the matter have been so outrageous that even archliberal John Gruber felt obliged to call him out on his statements.

The thing is, even though RAM prices have increased due to demand from the AI industry, they are still historically low as this study from Stanford shows. Doubtless even the venture capitalists will eventually conquer their FOMO and begin to wonder when they’ll start seeing some returns. When that happens, the problem will likely resolve itself.

We here at the Irreal bunker are part of the iPhone upgrade program and get a new phone every year. Like everyone else, we don’t enjoy paying more but the increases are a direct application of the law of supply and demand. Chip manufacturers are working on the supply side and the aforementioned venture capitalists will probably help on the demand side.

In the meantime, when the price of components rise so will the prices of the finished product. That’s reality. All the whiners should grow up and accept that reality.

Footnotes:

1

Of course, it’s not just Apple. All the other manufacturers are raising their prices too but we don’t hear as much about that.

Posted in General | Tagged | Leave a comment

Globally Overriding Keys

Protesilaos Stavrou (prot) has an excellent video that addresses a problem I often see people asking about. The problem is how to globally set a key binding so that it won’t be overridden. He uses setting Meta+o to other-window as an example to explore the problem.

Prot begins by defining Meta+o in the global map in the usual way:

(define-key global-map (kbd "M-o") 'other-window )

That works well until he tries it in an HTML buffer. In the HTML buffer, Meta+o turns out to be a prefix key for inserting an HTML face command. The problem is that Emacs will use the most specific bindings first. Global bindings are the most general, followed by major mode bindings, and ending with minor mode bindings as the most specific.

Since HTML is a major mode, its keybinding take precedence over the global binding that we set. The answer is to get more specific yet by defining our binding in a minor mode so that it will always have precedence.

Prot shows how to define a minor where we can define our binding and activate it globally so that it’s always available. Of course, once we have this mechanism set up, we can add any number of bindings to our minor mode. Prot demonstrates this by adding a binding that Org uses.

Take a look at Prot’s video for all the details. He’s also included a copy of the file he was working with so you can see everything without worrying about copying it down from the video. The video is 12 minutes, 45 seconds so it should be easy to fit in.

Posted in General | Tagged | Leave a comment

Insert Mode

My pal Watts Martin has a post that explores an artifact from the past: the insert key. Martin, who’s been a Mac head much longer than I have, remembers when Mac keyboards still had an Insert. They no longer do, of course, but my Unicomp Model M clone does as do several other PC keyboards. The key was used to toggle between inserting text and overwriting it. Emacs calls the latter overwrite-mode.

The idea of insert mode is that text in front of the cursor is pushed ahead as new text is added behind it. When insert mode is off—that is, when overwrite-mode is active—the text in front of cursor is overwritten. Overwriting text used to be more common but these days everyone uses insert mode and you rarely see it.

Still, as Martin says, overwriting can sometimes be useful and if you have an Insert key there’s no reason not to use it in Emacs. That’s a one liner and easy do in your init.el. On the Mac, the Insert key is usually mapped to Help but on other systems it probably has a different mapping so you may have to experiment to discover what it is.

Finally, Martin wanted a visual clue as to which mode he was in so he changed the shape of the cursor to reflect the mode. Again, that’s easy to do. He uses overwrite-mode-hook to toggle the cursor shape.

While I agree that overwrite-mode can occasionally be useful I don’t—and have never—used it enough to dedicate an actual key to it. I’m perfectly happy to simply call overwrite-mode to turn it on and off.

Posted in General | Tagged | Leave a comment