The best articles by Ciro Santilli Updated +Created
These are the best articles ever authored by Ciro Santilli, most of them in the format of Stack Overflow answers.
Ciro posts update about new articles on his Twitter accounts.
A chronological list of all articles is also kept at: Section "Updates".
Some random generally less technical in-tree essays will be present at: Section "Essays by Ciro Santilli".
Ciro Santilli's bad old event memory Updated +Created
Ciro Santilli has a bad memory for events that happened a medium time ago, for example in order of months/years. Especially if they are one-off things that have no relation to anything else.
For example, Ciro never remembers which places he travelled to just once, and who was in each trip! He has images of several places he travelled to in his head, and would recognize them, but he just doesn't know where they were!
Another example, Ciro was looking at the carpet at their house, and asked where it came from. His wife replied immeidately: from Bercy shopping quarter in Paris about 10 years ago, and you took it on your back for a long walk until we could find the bus back home because we were concerned it wouldn't fit in the train!
The same goes for scenes from movies and passages from music, which explains why Ciro's art consumption focuses on innovative discrete "what happened" and "general gist" ideas, rather than, analog details such as colors and shapes.
Going back even further in time, Ciro starts to forget the less close friends he had, because the events start to fade away.
Paradoxically however, Ciro believes that this bad memory is one of his greatest strengths and key defining characteristics, because it leads Ciro to want to write down every interesting thing he learns, which motivated OurBigBook.com and his Stack Overflow contributions and his related Ciro Santilli's documentation superpowers.
It also somewhat leads Ciro to like physics and mathematics, because in these fields you "can deduce everything" from very few base principles, so if you forget them, it does not matter that much as you can re-deduce stuff over and over. Which is somewhat where the high flying bird attitude comes from. It is hard to go deep when you have to re-prove everything every time. But the upside is that anything that sticks, does so because it has a broad net to stick to, and therefore allows Ciro to make unusual and unexpected connections that others might not.
Ciro believes that there are two types of people, and most notably software engineers, which are basically data wranglers: those with bad memory and those with good memory.
Those with bad memory, tend to focus on automating and improving their processes a lot. They take much longer to do one-off specific deep knowledge tasks however.
The downside of the good memory ones is that sooner or later they will find tasks that no matter how much memory they have, they cannot solve without automation, and they will fail at those.
Also, good memory people don't enable others to join the project efficiently as much.
This dichotomy also explains why Ciro sucks at code reviews, but is rather the person who runs the interesting patches by himself and finds some critical problems that the more theoretical code reviewers missed.
If Ciro had become a scientist, he would without doubt be an experimentalist, just like in this reality he is a GDB/runtime person rather than a "static source analysis" person. Those who have bad memory prefer to just run experiments over and over and observe system state at runtime.
Other effects of having a bad memory include:
  • code duplication, or a constant fear of it at least, because Ciro forgets that some functionality exists already
  • meeting aversion, because everything that is not recorded will fade away
  • passion for backward design, because by the time a piece of knowledge learnt in school might be useful (and 99.99% won't), it will have been long forgotten
Related: jakobschwichtenberg.com/about/ from Jakob Schwichtenberg:
I'm a physicist and I try to write down things during my own learning process.
In some sense, one of the biggest benefits I have over other people in physics is that I'm certainly not the smartest guy! I usually can't grasp complex issues very easily. So I have to break down complex ideas into smaller chunks to understand it myself. This means, whenever I describe something to others, everyone understands, because it's broken down into such simple terms.
On C2 wiki, therefore it cannot be wrong wiki.c2.com/?QuasiGreatTeacher:
Some people have learning disabilities, [... bullshit ...]. A lot of classic spiritual texts have been produced this way. Basically, the stupidest but most dogged disciple, if he has a neurotic habit of writing things down, will make the best teacher for the third and subsequent generations.
Computer science Updated +Created
A branch of mathematics that attempts to prove stuff about computers.
Unfortunately, all software engineers already know the answer to the useful theorems though (except perhaps notably for cryptography), e.g. all programmers obviously know that iehter P != NP or that this is unprovable or some other "for all practical purposes practice P != NP", even though they don't have proof.
And 99% of their time, software engineers are not dealing with mathematically formulatable problems anyways, which is sad.
The only useful "computer science" subset every programmer ever needs to know is:
Funnily, due to the formalization of mathematics, mathematics can be seen as a branch of computer science, just like computer science can be seen as a branch of Mathematics!
Existential quantification Updated +Created
Formal proof Updated +Created
A proof in some system for the formalization of mathematics.
Limit (mathematics) Updated +Created
The fundamental concept of calculus!
The reason why the epsilon delta definition is so venerated is that it fits directly into well known methods of the formalization of mathematics, making the notion completely precise.
Mathematics Updated +Created
The proper precise definition of mathematics can be found at: Section "Formalization of mathematics".
The most beautiful things in mathematics are described at: Section "The beauty of mathematics".
Figure 1. . Source. Applies to almost all of mathematics of course. But we don't care, do we!
Propositional logic Updated +Created
This is the part of the formalization of mathematics that deals only with the propositions.
In some systems, e.g. including Metamath, modus ponens alone tends to be enough, everything else can be defined based on it.
Set (mathematics) Updated +Created
Intuitively: unordered container where all the values are unique, just like C++ std::set.
More precisely for set theory formalization of mathematics:
  • everything is a set, including the elements of sets
  • string manipulation wise:
    • {} is an empty set. The natural number 0 is defined as {} as well.
    • {{}} is a set that contains an empty set
    • {{}, {{}}} is a set that contains two sets: {} and {{}}
    • {{}, {}} is not well formed, because it contains {} twice
settheory.net Updated +Created
Where Sylvain Poirier dumps his mathematics and physics brain.
Notably, given the domain name, it is clear that he likes formalization of mathematics-stuff, like Ciro Santilli.
At first glance, looks a bit dry though, not many examples.
The art of programming Updated +Created
Just art:
  • useless mathy stuff
  • incredibly nifty little tools that are just so satisfying to use it is mind blowing:
  • media related stuff