If modern high performance code relies on making the microcode do "the right thing", and making sure the right data is in cache then why don't CPU manufacturers allow control over such things?
From the article parent linked: "It doesn't take a science fiction writer to understand why regulators might be nervous about the user-modifiable firmware on self-driving cars"
It's not just regulators who are nervous! What if someone modifies the firmware in their self-driving car and introduces a bug that causes the car to crash and kill someone?
Is that even legal? Cricut does not own those machines any more, the people who bought them do. So by what right can they restrict the owners access to their own property?
Last year I finished the school year early because of the coronavirus lockdown and had too much free time - so I wrote an interpreter for CLR bytecode (https://github.com/Leowbattle/clr_lite). The ECMA-335 standard contained everything I needed to know for that project: documentation of the EXE format, VM instructions, etc.
I learned a lot doing this project, and I would never have been able to do it without free access to the standard. So I think Tim is right to recognise the value open standards provide to hobbyist programmers.
I found the part about the court decision that Acevedo did not have the right to control how his brain image was used very interesting. It reminds me of tech companies using data about us to our disadvantage (in terms of privacy, targeted advertising, using data to influence insurance premiums).
In this hypothetical world, the police could run a simulation of your brain in various situations and see how you would react. They could then use this information to pre-empitvely arrest someone likely to commit a crime, even if they haven't yet.