Archive for March 3, 2022

Thursday, March 3, 2022

Emulating 1998-Vintage Mac Compilers

Ninji (tweet):

All of the tools I needed could be accessed via MPW. Could I get these to run externally somehow?


The obvious choice to start with here is Unicorn Engine, which is essentially the CPU emulator from QEMU made into an embeddable library. I’ve used it for a bunch of projects before. They’ve brought Rust bindings into the tree now which is also quite cool!


Whenever the emulator calls a library function, it loads the function’s index into rtoc (r2) and invokes sc. Then, my hook looks at r2 to determine which function we should try and simulate.


The CodeWarrior C/C++ compiler (MWCPPC) imports over a hundred library functions, but I didn’t want to just implement every single one right off the bat - I wanted to see results faster than that, so I ran it and implemented things as they came up.

David Boggs, RIP

Cade Metz:

After saving up for a radio operator’s license, David began building ham radios, spending his nights chatting with other operators across the country. His brother remembered the two of them stringing antennas from a second-floor bedroom to the roof over the garage.


At PARC, as Mr. Metcalfe and Mr. Boggs pieced together a blueprint for Ethernet technology, borrowing ideas from a wireless network at the University of Hawaii called ALOHAnet.


In the early 1980s, Mr. Metcalfe said, when Mr. Boggs took the stage at a California computing conference, at the San Jose Convention Center, to discuss the future of networking, a rival technologist questioned the mathematical theory behind Ethernet, telling Mr. Boggs that it would never work with large numbers of machines.

His response was unequivocal. “Seems Ethernet does not work in theory,” he said, “only in practice.”

Goodreads Data Loss

Nelson Minar (tweet):

Goodreads lost my entire account last week. Nine years as a user, some 600 books and 250 carefully written reviews all deleted and unrecoverable. Their support has not been helpful. In 35 years of being online I’ve never encountered a company with such callous disregard for their users’ data.


Don’t trust any cloud service with the only copy of your data. Most companies are not quite so reckless but consider what you’d miss if an uncaring company lost your data.


The specific bug is related to my removing Twitter API access to Goodreads last week (they stopped supporting Twitter login months before). Somehow that triggered their system to delete everything.

Nick Heer:

These are big companies with big budgets and lots of customers, but they still act like they are just figuring this stuff out.