macOS Archive

Managing Classic Mac OS resources in ResEdit

The Macintosh was intended to be different in many ways. One of them was its file system, which was designed for each file to consist of two forks, one a regular data fork as in normal file systems, the other a structured database of resources, the resource fork. Resources came to be used to store a lot of standard structured data, such as the specifications for and contents of alerts and dialogs, menus, collections of text strings, keyboard definitions and layouts, icons, windows, fonts, and chunks of code to be used by apps. You could extend the types of resource supported by means of a template, itself stored as a resource, so developers could define new resource types appropriate to their own apps. ↫ Howard Oakley And using ResEdit, a tool developed by Apple, you could manipulate the various resources to your heart’s content. I never used the classic Mac OS when it was current, and only play with it as a retro platform every now and then, so I ever used ResEdit when it was the cool thing to do. Looking back, though, and learning more about it, it seems like just another awesome capability that Apple lost along the way towards modern Apple. Perhaps I should load up on my old Macs and see with my own eyes what I can do with ResEdit.

A brief history of Mac enclaves and exclaves

Howard Oakley has written an interesting history of secure enclaves on the Mac, and when he touches upon “exclaves”, a new concept that doesn’t have a proper term yet, he mentions something interesting. While an enclave is a territory entirely surrounded by the territory of another state, an exclave is an isolated fragment of a state that exists separately from the main part of that state. Although exclave isn’t a term normally used in computing, macOS 14.4 introduced three kernel extensions concerned with exclaves. They seem to have appeared first in iOS 17, where they’re thought to code domains isolated from the kernel that protect key functions in macOS even when the kernel becomes compromised. This in turn suggests that Apple is in the process of refactoring the kernel into a central micro-kernel with protected exclaves. This has yet to be examined in Sequoia. ↫ Howard Oakley I’m not going to add too much here since I’m not well-versed enough in the world of macOS to add anything meaningful, but I do think it’s an interesting theory worth looking into by people who posses far more knowledge about this topic than I do.

noTunes: a macOS application to prevent iTunes or Apple Music from launching

noTunes is a macOS application that will prevent iTunes or Apple Music from launching. Simply launch the noTunes app and iTunes/Music will no longer be able to launch. For example, when bluetooth headphones reconnect. You can toggle the apps functionality via the menu bar icon with a simple left click. ↫ noTunes GitHub page Apparently, this is such a common complaint that an application had to be made just to gain some semblance of control over what some people still refer to as “their” computer. For both macOS and Windows, there’s a giant industry – you can’t really call it a cottage industry anymore at this point – of tools, applications, and fixes just to deal with or avoid all the user-hostile, anti-choice garbage Apple and Microsoft shove into their respective operating systems. As a Linux user – and recent OpenBSD convert – I find this absolutely wild. Following any Apple podcast, or reading any Windows website, makes it so clear just how many hoops these people have to jump through and how many weirdly-shaped holes they have to contort into just to be able to gain some vague semblance of ownership of their own hardware. I’m not judging – we all have areas in our lives where we do this, they just differ from person to person – but it’s still confronting to see it so clearly, all the time.

Why good external SSDs are faster with Apple silicon

After several days testing the latest Express 1M2 enclosure from OWC, I have changed my recommendations for the best external SSDs. Previously I had chosen the relatively reliable Thunderbolt 3 up to 3 GB/s, even though few drives ever seemed capable of achieving that up to. If you’re still needing good performance with an Intel Mac, that makes sense. But if you need best performance with an Apple silicon Mac, you’re far better off with a high-quality USB 40Gbps enclosure such as OWC’s Express 1M2, which should reliably return over 3 GB/s even through a compatible hub. I much prefer the word over to up to. ↫ Howard Oakley If you have an Apple Silicon Mac, and you’re looking for an external drive – this is some good advice to follow.

libmui: classic Mac OS and GS/OS widget library for Linux

This is a contender for the World Record for Feature Creep Side Project. It is pretty high in the contender list as it’s a bolt on to another contender for the World Record for Feature Creep Side Project (the MII Apple //e emulator). It is a library that duplicate a lot of a Macintosh Classic “Toolbox” APIs. It is not a complete implementation, but it is enough to make a few simple applications, also, all the bits I needed for the MII emulator. ↫ libmui GitHub page This is absolutely wild.

Infinite Mac: turning to the dark side

About a year ago I came across the Previous emulator – it appeared to be a faithful simulation of the NeXT hardware and thus capable of running NeXTStep. While including it in Infinite Mac would be scope-creep, NeXT’s legacy is in many ways more relevant to today’s macOS than classic Mac OS. It also helped that it’s under active development by its original creator (see the epic thread in the NeXT Computers forums), and thus a modern, living codebase. Previous is the fifth emulator that I’ve ported to WebAssembly/Emscripten and the Infinite Mac runtime, and it’s gotten easier. As I’m doing this work, I’m developing more and more empathy for those doing Mac game ports – some things are really easy and others become yak shaves due to the unintended consequences of choices made by the original developers. Previous is available on multiple platforms and has good abstractions, so overall it was a pretty pleasant experience. ↫ Mihai Parparita By porting previous to WebAssembly/Emscripten, Infinite Mac now offers access to a whole slew of NeXTSTEP releases, from the earliest known release to the last one from 1997. There’s also a ton of applications added to make the experience feel more realistic. This makes Infinite Mac even more useful than it already was, ensuring it’s one of the best and easiest ways to experience old macOS and now NeXTSTEP releases through virtual machines (real ones, this time), available in your browser. I’ll be spending some time with these new additions for sure, since I’ve very little experience with NeXTSTEP other than whatever I vicariously gleamed through Steven Troughton-Smith‘s toots on the subject over the years. Mihai Parparita is doing incredibly important work through Infinite Mac, and he deserves credit and praise for all he’s doing here.

Happy birthday APFS, 7 years old today

Seven years ago, on 27 March 2017, Apple introduced one of the most fundamental changes in its operating systems since Mac OS X 10.0 Cheetah was released 16 years earlier. On that day, those who updated iOS to version 10.3 had their iPhone’s storage silently converted to the first release of Apple File System, APFS. Six months later, with the release of macOS 10.13 High Sierra on 25 September, Mac users followed suit. ↫ Howard Oakley The migration from HFS+ to APFS is still an amazing feat for Apple to have pulled off. Hundreds of millions devices converted from one filesystem to another, and barely anyone noticed – no matter how you look at it, that’s an impressive achievement, and the engineers who made it possible deserve all the praise they’re getting.

Hackintosh is (almost) dead

It’s true that latest macOS 14 (Sonoma) still supports the latest generations of Intel Macs and it’s very likely that at least one or two major versions will still be compatible. But there’s one particular development that is de-facto killing off the Hackintosh scene. In Sonoma, Apple has completely removed all traces of driver support for their oldest WiFi/Bt cards, namely various Broadcom cards that they last used in 2012/13 iMac / MacBook models. Those Mac models are not supported by macOS for few years now thus it’s not surprising the drivers are being removed. Most likely reason is that Apple is moving drivers away from .kext (Kernel Extensions) to .dext (DriverKit) thus cleaning up obsolete and unused code from macOS. They did the same with Ethernet drivers in Ventura. ↫ Aleksandar Vacić Everybody, especially the small but active Hackintosh community itself, knew full well the writing was on the wall the day Apple switched to ARM, and we’re seeing the first signs of the impending end of the community. Sure, enough people will remain who are interested in building Hackintoshes using older, unsupported versions of macOS, kind of like retrocomputing, but the days of running the latest macOS release on non-Apple hardware are coming to an end. As a fun side note, this old OSNews article I wrote in 2009 is one of the most-visited articles on our site of all time. Hackintoshes were way, way more popular than people gave them credit for.

Setting up Nix on macOS

I recently bought a Macbook because more and more people are asking me how to use Nix in certain situations under MacOS. In this article, we walk through installing Nix on MacOS and see how pleasant the experience is these days. After that, we show how to go declarative on MacOS with nix-darwin to enable compilation for Linux and Intel Macs, as well as some other nice features. ↫ Jacek Galowicz You can’t click on a single link without tripping over people talking about nix.

What should we know about APFS special files?

We may have been using APFS for nearly seven years, but some of its features remain thoroughly opaque. On Christmas Day, I posed the puzzle of 60 TB of snapshots being removed from a 2 TB disk. While we all accept that may be “technically correct”, for ordinary users it makes no sense. Suggestions that they should be “educated” miss the point that the Finder has to be accessible to all users, whether or not they have a degree in Computer Science. If my eleven year-old granddaughter can’t make sense of it, then the Finder is a failure. Today I turn to another thorny issue raised by the ingenuity of APFS: the size of its special file types, sparse and ‘clone’ files. As usual, I start with a practical demonstration. ↫ Howard Oakley I feel like I should ring a little bell while posting a link to this article.

Why are Apple silicon VMs so different?

Running macOS virtual machines (VMs) on Apple silicon Macs may not seem popular, but it has long been one of Apple’s important goals. Yet, if you do use a virtualiser on an M-series Mac, you’ll know how different it is from those that virtualise macOS and other operating systems on Intel Macs. This article explains why virtualisation is so important, and how it has become so different. ↫ Howard Oakley Excellent read, as always from Howard Oakley.

Mac OS 9 is still alive and kicking… And that’s not a bad thing

So what can you do with it? Well, let’s first address the elephant in the room – the internet is still lousy on OS 9. Despite Cameron Kaiser’s genius effort put into his Classilla browser project, he’s pretty much squeezed every ounce of usability from the now 20+ year old underlying networking frameworks. A lot of websites still render “ok” in the browser, but most of the modern web will simply cause it to spit back an error. Also, file sharing with other machines on your network takes a bit more forethought these days as OS 9’s implementation of AppleTalk will only work with OS X versions up to 10.4 Tiger. In Mac OS X 10.5 (Leopard) and later, AppleTalk will not function at all without some difficult technical workarounds, so a “bridge” Mac is generally recommended (for those not familiar with that term – bridge Macs are machines that can handle both legacy and modern technologies and can be networked between both old and new hardware). It is also possible to wring out a bit more usability by setting up a web proxy such as macHTTP and running a small Netatalk server on one of your modern Macs (this is something I’d like to feature in the future). ↫ Adam Goff at Low End Mac Running Mac OS 9 today has become somewhat of a rite of passage for retrocomputing and operating system nerds (…2006), and every few years a new article about the experience makes the rounds. For good reason, too – OS 9 is fun, quirky, has tons of software to play around with, and still looks and feels great.

The hidden secrets of the Fn key on the Mac

Even if you’ve used the Mac for decades, I suspect you have never fully understood the Fn key. Not helping is the fact that Apple sometimes calls it the Function key, but all Mac keyboards already have 12 or more numbered F-for-Function keys! The Fn key first appeared in 1998 in the PowerBook G3 Series (Wallstreet) and has become a fixture in the lower-left corner of laptop keyboards ever since. The Fn key migrated to standalone keyboards only in 2007 with the release of the Apple Keyboard with Numeric Keypad, where it occupies a spot between the Delete key and the Home key. On Apple’s compact desktop keyboards, it reverts to the lower-left corner. ↫ Adam Engst at TibBITS This article made me wonder when the Fn key first appeared, but searching for it leads to a lot of SEO spam that is clearly all wrong. As the article notes, Apple first introduced it in 1998, and IBM already it in on the monochrome ThinkPad 300 in 1992. It’s much older than that, though; the IBM PC Convertible from 1986 also had one, as did the IBM PCjr from 1984. At this point I’m starting to think it was actually a fairly common key, but with the explosion of IBM compatibles in the early ’80s it’s basically impossible to check them all, and, of course, there’s the possibility it may have existed on earlier systems, or third-party keyboards long lost to time. This would be an interesting mystery to solve.

macOS Sonoma is setting records for update size

It was Big Sur that focussed attention on the size of macOS updates. In Mojave and earlier, updates had essentially been Installer packages that brought a minimum of overhead. By the time that many had installed Big Sur’s new Signed System Volume (SSV), we were starting to discover just how large its updates were. Those were early days with its completely new updating process that builds a new System volume, takes a snapshot of it, and constructs a tree of hashes that verify the integrity of every last bit within it. ↫ Howard Oakley I had no idea macOS updates had become as big as they had, and good on Apple for trying to bring this back down again, and speed up installation of updates, too.

National Instruments to Apple Mac: buh-Bye

EE Journal reports: National Instruments (NI) recently released a new version of its LabView test automation programming environment for the latest Apple Macintosh computers based on the Arm-based Apple M1 CPU/GPU SoC. At the same time, NI let its customers know that this release would be the last one for Apple Macintosh computers, sending a shock through some portion of the company’s customer base. LabView’s importance to test and measurement cannot be overstated. It was the first graphical programming language designed exclusively for test systems. The language has been continually expanded and improved for nearly 40 years and features more than 7000 software drivers for instruments from many vendors as well as support for custom, FPGA-based instruments. LabView supports many instrument interfaces starting with IEEE-488 and extending to MXI, PXI, USB, Ethernet, and probably a few more interfaces that don’t immediately come to mind. It’s a shock to many and will likely punish higher education students and a chunk of the scientific and research segment which is still Mac dominant.

A picture is worth a thousand permissions requests

What’s happening here is that Migration Assistant has migrated all my apps, and has automatically launched any of them that are listed in Login Items or are set to automatically launch in the background. They all launch, all at once, and every single one of them then prompts me for permission to do all the things they already had permission to do on my previous Mac. In this screen shot, I’ve dragged them apart, but in reality most of these windows appeared on top of each other. They float above every other window, and most of them want to open various portions of the Settings app. In the background, a few apps have launched with their own alert prompts, requesting that I perform more tasks in order to get the system ready. You will be protected.

How does macOS manage virtual cores on Apple silicon?

One of the most distinctive features of Apple silicon chips is that they have two types of CPU core, E (Efficiency) cores that are energy efficient but slower than the P (Performance) cores, which normally run much of the code in the apps we use. Apps don’t decide directly which cores they will be run on, that’s a privilege of macOS, but they register their interest by setting a Quality of Service, or QoS, which is then taken into account when they’re scheduled to run. With the introduction of Game Mode in Sonoma, CPU scheduling can now work differently, with E cores being reserved for the use of games. This article looks at another atypical situation, when running a macOS virtual machine (VM) assigned a set number of virtual cores. How does macOS Sonoma handle that? Exactly what is says on the tin.

There’s no Mac version of Counter-Strike 2 because there are no Mac players

To the surprise of absolutely nobody, Apple’s macOS gaming policy of only offering a proprietary, Apple-only API isn’t exactly paying off. One of the most popular online games in history, CS:GO, is removing support for macOS, and it won’t be coming back. From here on out, the game will only be available on 64-bit Windows and Linux. That cycle played out again in Valve’s recent Counter-Strike 2 update, which removed the Mac support already present in the outgoing Counter-Strike: Global Offensive. Today, a Valve support document for CS2 confirmed that Mac support had been removed and wasn’t likely to be re-added, along with support for ancient DirectX 9-class GPU hardware and legacy 32-bit operating systems. Fret not, though, Mac gamers – there’s always Super Tux Kart.