"you're not done actually when you learn how compilers work you also need to
learn how linkers and loaders work and you need to learn how to operating
systems work before all of the magic is gone. So you really want to learn
compilers and operating systems and then get this book that I have called Linkers
and Loaders it's like the only book on linkers and loaders. I should have
brought it and uh and it's really good"
I used to think commits as snapshots, but it was confusing. Then I read "Git Internals".
A commit contain the "whole" content of each file that we've commited. But since a commit has a pointer to a root commit, it also represents a working directory. Even though a commit contain "whole" files, the git internally stores only parts of the files as an optimization.
When we diff two commits, we see the difference of the file contents in the corresponding working directories that the commits represent.
> that took Rubik himself an entire month to solve
I'm not sure you what you mean by this, but Rubik discovered an algorithm to solve the cube, he didn't follow instructions like what the 1 out 20 of cube owners do.
It'd be interesting to know the percentage of the people that have discovered an algorithm by themselves to solve the cube.
Stockfish evaluates the position of the entire board, e.g. mobility of pieces, how much opposing space they control, etc. But still, the evaluation function is hardcoded and weaker than AlphaZero.