Re: Hit-and-Miss
(1) >> The author has forgotten about magnetic core memory
> I haven't, but I think the main difference is that there was no choice then. By the time HDDs became common, core store was obsolete.
Let's be precise, here. "By the time HDDs became common", I presume you meant, "common on PCs." And by, "core store was obsolete," you meant, "not used in PCs." Please correct me if this is wrong.
(2)>> The author has forgotten economics: PMEM is far-unlikely to become cheaper than spinning rust.
> Au contraire. The thing about economics is that it sometimes catches up and overtakes you, and then it can look like it's behind when it's actually far ahead.
This seems like hand-waving. That said, there's a chicken-and-egg aspect here. When large numbers of people decide they want Product X in volume, China steps up to the plate and we have £3.15 Tomogachis, or whatever. But that presupposes that they can be made cheaply enough that the manufacturers still make a sufficient profit, despite the low retail price. Retail Optane cost vs spinning rust cost on a per-terabyte basis?
Oh, and there's this: "As announced in Intel's Q2 2022 earnings, after careful consideration, Intel plans to cease future development of our Optane products. While we believe Optane is a superb technology, it has become impractical to deliver products at the necessary scale as a single-source supplier of Optane technology."
https://www.intel.com/content/www/us/en/support/articles/000091826/memory-and-storage.html
> It's not that HDDs are bigger but cheaper than solid-state: it's that they still are but it doesn't matter any more. It no longer matters for most people.
Why would do you think it "no longer matters for for most people"? Do people suddenly have less data to store?
> When terabyte-class SSDs are well under $100 then most ordinary computers no longer need the dozens of TB offered by spinning media. Solid-state is enough.
Again, why do you think people suddenly have less data to store on their PCs?
> Most people don't need 10+ TB of very slow, very fragile storage. That is slowly becoming datacentre-only kit.
Unless you're literally kicking your PC around the room, hard drives are sufficiently-physically rugged (dropped laptops are a separate issue).
Also, you've ignored another aspect of hard drives which flash and, presumably (yes, I'm assuming regarding PMEM), PMEM have, and hard drives do not: Sudden Death Syndrome.
When things are humming merrily along on my PC, and I sense a delay when I write out a file (document), I get a creeping feeling along my spine that that hard drive is going to soon die. To verify, I exit the editor and run a program which looks at that drive's S.M.A.R.T. statistics. If I see a high "re-allocated blocks" value, it's time to immediately back up that entire drive, replace it, and restore my data. The delay I wrote of earlier was the drive re-trying a block, failing, re-trying, etc., then giving up and re-allocating that block to a spare one.
Flash drives just die. No warnings, no second chances. As for PMEM, how would we know? Because it looks "just like" main memory, there's no S.M.A.R.T. interface, or equivalent. Having something like S.M.A.R.T. is important for PMEM users, because, despite wear-levelling, PMEMs do wear out.
(4) >> That "database" was a per-app file called the "Preferences" file, and common help desk advice to Mac users of malfunctioning apps of the time was, "Try deleting the Preferences file and restarting the app."
> Are you sure you're not mixing up early OS X stuff with Classic MacOS?
I am sure. Apple's Classic OS had preference files. See here: https://discussions.apple.com/thread/348971
(5) >Our main memory can be persistent, so who needs disk drives any more?
>> Answer: anyone who can't afford terabytes of PMEM, which probably could not be "directly addressed" by a current X86 CPU. (This was incorrect; with 48-bit effective virtual addresses on AMD-64 architecture CPUs, one can address 256 TB)
> Cheaper than RAM, faster and longer-lived than Flash. What more do you need?
See item (2) above.
(7) >You may have a great, fancy, dynamically typed scripting language, but if it's implemented in a language that is vulnerable to buffer overflows and stack smashing and memory-allocation errors, then so is the fancy language on top.
>> That would be assembly language, which has all those vulnerabilities.
> But who writes that by hand any more? It's not about the theoretical edge cases but the real world ones of actual usage.
I wasn't talking about a programmer who writes an app or utility in assembly language (shout-out to Steve Gibson). I was talking about the fact that the fancy language's interpreter, or virtual machine, or whatever, is compiled down to assembly-language, or perhaps directly to machine code.
The vulnerability is at the bottom of the software stack, and the fanciness in the language above does not fix the cracks in the foundation below. Perhaps you are suggesting some new CPU type which directly-executes LISP, Smalltalk, Pick, or whatever. If so, why would you expect that the CPU-designers would produce a flawless, vulnerability-free product? Based on electronics development history, that seems highly-unlikely.
(8) > When you turned the machine back on, it didn't boot. It reloaded to exactly where you were when you shut down, with all your programs and windows and data back where they were.
> Again: versioned snapshots are consumer tech now. Snap does it, Flatpak does it, Btrfs does it in openSUSE and Garuda and siduction.
> This is a solved problem.
That still doesn't help. How does the system know it needs to revert (one-or-more) apps to to a previously-taken snapshot? You've got a broken system, so you can't give a command to do the revert. And if the system is sufficiently-broken, it won't be able to revert to a previous snapshot.
>> Is there a "RESET" button which goes back to a known good state?
> No. You automate that away. You partition system storage from user storage. You delta-track changes to remote servers.
So ... if I don't want copies of my programs and/or data to reside in *The Cloud* ("remote servers"), I need to have a backup server in my office, too? And an emergency-boot flash drive to talk over the network to those/that server(s)? And if the Internet is not available? (Me and my laptop, out in the field.)
That's a lot of dubious, additional complexity to gain the conceptual Nirvanna of a "flat" storage interface.