With experience and ADHD I learned to think in units that can be debugged separately. The experience tells me where those lines should be drawn, and the ADHD taught me to avoid creating units that are too big to fit in my head.
ADHD teaches me a lot of things but I can never pause to recall them. I can never pause. Few weeks ago someone told me that pausing a few seconds before starting to talk allows her to express herself much better and that people react positively to it. I simply cannot do it. Impossible.
One minor thing to consider is that hobbyists weren't distributing the source code (as posted in the OP) but trading the paper tape of the executable interpreter. They wanted the interpreter so they could write their own software that was probably unrelated to basic itself, that was just a means to an end.
The industry pretty quickly moved to incorporate basic in rom on many platforms and microsoft was able to capitalize on that integration through licensing. I don't think his letter did much other than antagonize hobbyists - but they made a lot licensing to the hardware manufacturers later on (and the hardware was truly more valuable with basic on board.
(One of my all time to this day favorite computers from that era is the TRS-80 Model 100. I don't remember if Microsoft provided the entire software stack for it, but I believe it was the last product that Bill Gates actually contributed to the software development.)
Licensing programming tools was staple MS, since it also provided lock-in. The letter comes off as the complete opposite of open source approach to it.
I had the same reaction to the site - but I could've been won over if there was a link to E1ite and C@@L basic source for the effects (at least the text effects which could've fit in 4k)
Steve Jobs quote: "The problem with Microsoft is that they just have no taste."
But I actually would prefer the pre-XP windows desktop to the flattened UIs of Apple's today.
OSINT (not a term I was particularly familiar with, personally) actually goes back quite a ways[1]. Software certainly makes aggregating the information easier to accumulate and finding signal in the noise, but bad security practices do far more to make that information accessible.
Going through my junk box the other day I found a USB to two port RS-232 converter from that era - that came with 4 colorful snap on front pieces to match your iMac.
Where are they promising it then? Board meetings? I don't think lying (or creating unsubstantiated truthyness) is the same as saying the quiet part out loud.
I was refactoring a 700 line recursive C function (!) - one of those with all variables declared at the outer scope while the function itself was mainly a one pass switch with goto’s for error handling. I created c++ classes for each case, hoisted them out and coalesced types that were otherwise identical. The new version was way smaller and and (imho) far more readable and maintainable.
At some point I needed to change the types to capture a byte range from a buffer rather than just referring to the base+offset and length, and it was trivial to make that change and have it “just work”.
These were no vtable classes with inline methods, within a single compilation unit - so they just poof go away in a stripped binary.
‘Tis better to create a class, than never to have class at all. Or curse the darkness.
I’m surprised nobody mentioned the Rosetta Stone that is infinitemac.org - it’s “just” compiled to JavaScript or whatever but really well done.
From their “About”:
>>>Infinite Mac is a project by Mihai Parparita to make classic Mac and NeXT emulation easily accessible. It uses WebAssembly ports of Mini vMac, Basilisk II, SheepShaver, DingusPPC, and Previous to allow a broad set of System Software/Mac OS versions to run on the web.
Shortcuts to the most popular versions are available: system6.app, system7.app, kanjitalk7.app, macos8.app, and macos9.app.
<<<