Git design rationale by Ciro Santilli 37 Updated 2025-07-16
The fundamental insight of Git design is: a SHA represents not only current state, but also the full history due to the Merkle tree implementation, see notably:
This makes it so that you will always notice if you are overwriting history on the remote, even if you are developing from two separate local computers (or more commonly, two people in two different local computers) and therefore will never lose any work accidentally.
It is very hard to achieve that without the Merkle tree.
Consider for example the most naive approach possible of marking versions with consecutive numbers:
  • Local 1:
  • Local 2:
    • 0: root commit
    • 1: commit 1
    • 2: commit 2 by local 2
    • 3: commit 3 by local 2
  • Remote
If Local 1 were to push to Remote first, how could Local 2 notice that when it tries to push itself? The navie method of just checking: "does Remote have commit "2"" does not work, because Local 2 has a different version of commit 2 than local 1.
Ortholog by Ciro Santilli 37 Updated 2025-07-16
A gene that was inherited from the same ancestor in two different species, and which has maintained the same function in both species.
Effortless effort by Ciro Santilli 37 Updated 2025-07-16
Ciro Santilli feels that all really important and productive activities come spontaneously, without being internally forced upon people.
You may say that this is because Ciro is lazy and irresponsible, but Bill thinks this isn't necessarily always bad:
I will always choose a lazy person to do a difficult job because a lazy person will find an easy way to do it.
This is yet another manifestation of YAGNI.
As another way to put it, Ciro has very little "self-discipline", and acts very heavily based on small passions that take hold of him. Related: high flying bird vs gophers.
You may also say that Ciro is an idealist, because what to do when the food will run out and you have to hunt? To which Jesus replies at Matthew 6:25-34 "Do Not Worry" (archive):
Therefore I tell you, do not worry about your life, what you will eat or drink; or about your body, what you will wear. Is not life more than food, and the body more than clothes? Look at the birds of the air; they do not sow or reap or store away in barns, and yet your heavenly Father feeds them. Are you not much more valuable than they? Can any one of you by worrying add a single hour to your life?
And why do you worry about clothes? See how the flowers of the field grow. They do not labor or spin. Yet I tell you that not even Solomon in all his splendor was dressed like one of these. If that is how God clothes the grass of the field, which is here today and tomorrow is thrown into the fire, will he not much more clothe you - you of little faith? So do not worry, saying, "What shall we eat?" or "What shall we drink?" or "What shall we wear?" For the pagans run after all these things, and your heavenly Father knows that you need them. But seek first his kingdom and his righteousness, and all these things will be given to you as well. Therefore do not worry about tomorrow, for tomorrow will worry about itself. Each day has enough trouble of its own.
Also closely related: man shall not live by bread alone.
Ciro is also fond of the description of the work method of Yukio Mishima presented in Mishima: A Life in Four Chapters (TODO based on Mishima's self descriptions?). Ciro Santilli's father highlighted this to him, and Ciro had already watched that movie and thought it was amazing:
Every night I return to my desk precisely at midnight. I thoroughly analyze why I am attracted to a particular theme. I drag it into my conscious mind. I boil it into abstraction. I am constantly calculating until I sit down to write. Only then can my unconscious dreams take over.
This is perfectly complemented by him making tea, as if suggesting:
Don't rush the work. Just let it happen. Every day at midnight, I would boil a teapot of tea. I would watch the steam rise, and with it feel my consciousness deepen. Everything was pure silence. When the hand was ready, it would, by itself, pick up the brush, and writing would start.
Another good one is Hemingway's work method:
Always stop while you are going good and don't think about it or worry about it until you start to write the next day. That way your subconscious will work on it all the time. But if you think about it consciously or worry about it you will kill it and your brain will be tired before you start.
Ciro generally feels that many major developments in his life happened "by miracle", beyond his control. So when he saw the quote by Carl Jung:
Until you make the unconscious conscious, it will direct your life and you will call it fate.
Ciro tends to do major decisions in his life due to uncontrollable passion rather than logic.
Ciro believes that this is linked to his self perceived creative personality, Because Ciro gives in to such uncontrollable passions, this leads him to do things which are more unusual/creative, because other more logical people would write such options off as weird.
Another type of laziness Ciro is to blame for is passionately seeking instrumental goals rather than hard end goals, in order to reach the hard goals more effectively. This is well put in the quote apocryphallyref attribute to Abraham Lincoln:
Give me six hours to chop down a tree and I will spend the first four sharpening the axe
For example, whenever joining a new company, Ciro would first try to improve any exceedingly shitty systems, like the build system or test system, rather than doing whatever random task the manager felt like doing that week. He was somewhat fired for that actually. But in the end, if your infrastructure sucks, your project will fail, so better be fired early and go work on something that might succeed than later when the enterprise goes bankrupt.
Video 1.
Alan Watts' wuwei talk
. Source. During this talk, Alan quotes Jesus: Matthew 18:3 "Truly I tell you, unless you change and become like little children, you will never enter the kingdom of heaven.".
Video 2.
Alan Watts' "How to turn work into play" talk
. Source.
Video 3.
Don't Try - The Philosophy of Charles Bukowski by Pursuit of Wonder (2019)
Source. www.openculture.com/2013/02/dont_try_charles_bukowskis_concise_philosophy_of_art_and_life.html
We work too hard. We try too hard. Don’t try. Don’t work. It’s there. It’s been looking right at us, aching to kick out of the closed womb. There’s been too much direction. It’s all free, we needn’t be told. Classes? Classes are for asses. Writing a poem is as easy as beating your meat or drinking a bottle of beer.
Video 4.
Charles Bukowski Scandanavian TV interviews
. Source.
I think the magic moment is when you're walking around the house and you think: "Typewritter!". And I know, when I sit down, I never have any idea what I'm gonna write, there's nothing in my mind. And you walk in, you move toward it, and there it is, and things come out of it.
tig (git UI) by Ciro Santilli 37 Updated 2025-07-16
This is good. But it misses some key operations, so much so that makes Ciro not want to learn/use it daily.
GitHub book repo by Ciro Santilli 37 Updated 2025-07-16
Some amazing people have put book source codes on GitHub. This is a list of such repos.

Pinned article: Introduction to the OurBigBook Project

Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
We have two killer features:
  1. topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculus
    Articles of different users are sorted by upvote within each article page. This feature is a bit like:
    • a Wikipedia where each user can have their own version of each article
    • a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
    This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.
    Figure 1.
    Screenshot of the "Derivative" topic page
    . View it live at: ourbigbook.com/go/topic/derivative
  2. local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:
    This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
    Figure 5. . You can also edit articles on the Web editor without installing anything locally.
    Video 3.
    Edit locally and publish demo
    . Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension.
  3. https://raw.githubusercontent.com/ourbigbook/ourbigbook-media/master/feature/x/hilbert-space-arrow.png
  4. Infinitely deep tables of contents:
    Figure 6.
    Dynamic article tree with infinitely deep table of contents
    .
    Descendant pages can also show up as toplevel e.g.: ourbigbook.com/cirosantilli/chordate-subclade
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact