I'm 59... (I got long covid, my brain is fuzzy, and I can't work more than a few minutes at a time, all things considered, I'd going ok, not great), On the other hand, I feel that the world has taken several wrong turns. I'm interested in correcting course, but feel my ability to help that happen is almost nil. Here's the chain of events, as I see them.<p>1960s - the military realizes that a single computer can not handle data from different levels of classification. (This was related to planning classified flight operations during the Viet Nam conflict, the flights themselves had to avoid enemy SAM sites (the knowledge of which was Top Secret, even more secret than the flights)), etc... and those were different levels of classification). Research to solve this problem was done, and progress was underway to build this into Multics... when Unix took off, and distracted everyone. There have been some niche secure systems available, but widespread knowledge of them didn't happen. Security of that level wasn't seen as necessary, and eventually was seen as impossible anyway. <i>Note that the solution to general purpose secure computing was found, and proven to work, decades ago!</i><p>1970s - general purpose personal computing came along, again without security in mind. BBSs arose, along with UUCP, FidoNet, etc. in the public sphere.... ARPAnet in the Military/Educational area.<p>1980s - the IBM XT (or clone) with MS-DOS and dual floppy diskettes was the pinnacle of <i>secure</i> general purpose computing. The shareware revolution happened, and most PC users were happy to "buy" $2-3 floppy disks in bulk with various programs from strangers at computer shows, and just try things out.<p>Why was it secure? A floppy diskette full of data is a course grained "capability". You know (because you insert/remove them, and attach write protect labels) exactly which disks are in the system, can make backups of them easily, and it's effectively impossible to mess up your computer with a bad program.<p>You also had BBSs from which you could download software to try out. <i>This was peak computer user freedom</i>, even though the machines were slow and the diskettes weren't perfectly reliable. You could just try things, without worry. Nobody has that freedom any more, no matter what OS they run.<p>The Windows Era - The adoption of hard drives and GUI interfaces brought an end to users having transparent and full knowledge of where and how their data was stored. The need to "install" software transformed what was once a matter of copying a boot floppy into an impossible to replicate system state. Hard drives were expensive, and fixed... you couldn't just copy them freely, like you could with diskettes. This was the first step downhill into the descent.<p>Still, at this point, there were some great tools introduced at this point. With the Mac, you had Hypercard, on the Windows machines, you could get Visual Basic, or Delphi, and build applications to do CRUD or interact with custom hardware fairly easily. Documentation was included, complete, comprehensive, and amazing.<p>Then the .NET era happened. This made software slower, there was always a new .NET library to load, and things crashed far more often. While it might have been a good move in preparation for the migration away from the Intel instruction set, that has taken decades, not years, and the framework has been through several incompatible iterations along the way. We lost VB6 and Delphi and Hypercard along the way.<p>Simultaneously, the Internet was released for commercial use. Eventually, we came to have systems with persistent internet, but operating systems intended for the classroom or small corporate environment. Any thought of security was layered on top, not built in.<p>Then the web hit, and we shifted from high performance, easy to build and distribute desktop applications to a model where everything is shoved through a stateless protocol through firewalls and proxies to end users on machines they don't fully control, own, or understand. It's a huge mess, and it can't be cleaned up because none of the computers at the edges are secure enough to run random code.<p>We <i>could</i> fix this... and I've been trying to push that message wherever it seems like the ideas might take hold.... if we abandoned the flawed concept of ambient authority that underlies Windows, MacOS, Linux, etc... and went with one that defaults to no access, such as the ever delayed Hurd, or Genode, then it would at least be possible to get back the ability to run mobile code without risk.<p>Once that almost impossible task is done, then we can take the code generating tools we built for Windows back in the 1980-90s, like Visual Basic 6, and Delphi, and recast them to generate code to run directly on the phones, tablets, laptops, desktops, etc. The end user can easily manage security with the powerbox facilities that capabilities based OSs provide. (They look just like the file open/save dialogs we're all used to, but then only provide access to those files to the application).<p>Note that this is NOT the same as "permission management" on your tablet/smartphone.<p>We could be heading towards a bright secure future, where we all own our own hardware again, and things just work, quickly, without bloat, <i>without virus scanners</i>, the way we want them to...<p>or not<p>I think we've got a 0.1% chance for the former at this point it time. I'll do whatever I can to get that up to 0.2%