Does anybody know why it wasn't implemented in a backwards compatible manner?
One could wrap a whole merkle-tree with an additional extension tree, that just adds the new hashes. That way both kinds hashes could be used to traverse all data. The new hashes could be used to check the consistency, the old hashes would still be there to use in UIs or old release documentation. The downside being that you introduce more nodes in the overall data-structure which will have to be supported basically forever. And if SHA-256 is to week a third layer would need to be introduced. But the point is, it could be done. Albeit it would loose some of the elegance of the data structures involved.
No, that argument misses the point. Cryptographic hashes enable you to trust, that I only have to review the changes since the last trusted commit. That is more important for the developers and maintainers of the software and less for the users.
Interesting, but I've read for a long time, that our humanoid predecessors at some point figured out how to get to bone marrow with tools. That provided the energy dense food as well an evolutionary impetus to develop larger brains to build better tools and handle them better. Fire and the capability to cook were developed much later.
But the Inca lived to late for this discussion. They already had advanced agriculture. For evolutionary terms, the time before agriculture and the time of the predecessors of homo sapiens are more relevant, because that time span was larger by orders of magnitude.
You could manage those VMs with https://microvm-nix.github.io/microvm.nix/ that helps with mounting the nix store read only from the host into the vm. That should save more space than trying to reduce the dependencies of the system closure of the vm.
STM is seldom used in modern Clojure projects, it is certainly not the dominant model. Most projects I am aware of use a few or even exactly one atoms with immutable data structures.
When you are administrating so many Java applications, you should investigate an hour or ask your favorite AI how to configure the logging library used in your application of interest. They allow you to remove stack traces and lots more.
> Garbage collection, by definition, trashes locality.
No, it doesn't necessarily. It is correct if you are thinking about mark and sweep GC. But that is 50 years old. Generational GC has much better locality. And GC can even improve locality sometimes by moving objects together that are connected by references. I am not claiming that GC is always a big win for locality. That would be very far from the truth. On the other hand it is not by definition so, that locality is trashed by GC.
OMG no. Politician have no business making technological decisions. They make it harder to innovate, i.e. to invent the next generation of ECC with a different name.
The same panel produces much more electricity in space than at the bottom of the atmosphere, because the atmosphere already reflects most of the light. Additionally, the panel needs less glass or no glass in space, which makes it lighter and cheaper.
Launch costs have shrunk significantly thanks to SpaceX, and they are projected to shrink further with the Super Heavy Booster and Starship.
Self-cataloging can be become a method of procrastination. But that doesn't mean that there is no value to be found in methods like Zettelkasten. The activity of looking through your own Zettelkasten has the potential of creating associations and sparking ideas. That can be very valuable and requires some care of your notes. But trying to find the perfect taxonomy for your own notes is foolish mistake. The technical limitations of the original Zettelkasten, makes refactoring the notes to the current approximation of the perfect taxonomy such a huge task, that it is usually avoided.
A nice example of a limitation that supports creativity.
So, in order to avoid the negative consequences of a European monopoly, we make sure that a Chinese monopoly prevails? That doesn't seem like a wining strategy for Europe.
Even if we assume that JSON numbers are JavaScript numbers. There is the problem that some large natural numbers cannot be represented in double or float although some even larger numbers can be represented. This is very bad if you use these numbers as IDs.
scala> (Long.MaxValue-1)
val res4: Long = 9223372036854775806
scala> (Long.MaxValue-1).toDouble.toLong
val res5: Long = 9223372036854775807
The fact that I used Scala is irrelevant here. That is true for many programming languages that 64 bit long and double types.
But with a visible scrollbar you would have a visible indication which behavior you triggered. If the scrollbar is invisible you get a changed viewport in both cases but you have to infer which gesture triggers which behavior.
And still there are more modern idioms and language features that ML had in the 70s but are missing from Go. But, these have the fatal flaw of Not being Invented Here.
The goal of teaching binary trees is not that you can write binary trees in your sleep, the goal is that you train your ability to derive algorithms and data structures. If you look at what a world class soccer player does during training, most of it will never be applied identically during games. The same is true for university studies, if they focus on fundamentals.
Do you have source for this? Because as you write I've always read to derive protein intake from the overall weight. That would indeed be a very important distance.
In every trade or art you start as an apprentice. That is the time when you learn the basics, the rules, the best-practices. When you have mastered the state of the art, you are a master. You know when to apply which rule and tactic to create masterful artifacts. The next step is to learn when you should break the rules and general wisdom. That is where true wisdom starts.
I've tried perhaps one third of the samples. All of them ran in 120 fps in 3840x2160 px in Firefox on Linux on my machine. Perhaps it is a configuration problem. My screen has a 120 fps refresh rate, so it probably is capped there.
Don't forget the self-documenting aspect. The manual is included, the api documentation is included, you can ask emacs which command is executed when you click somewhere or when you press a button. I recently tried to do the same thing in Intellij, pita. Not only, can you find documentation, you can jump to the source code, inspect variable values at runtime, and debug or profile everything. All of that from inside the environment.