Ciro Santilli's Twitter accounts Updated 2025-07-16
Accounts controlled by Ciro Santilli on Twitter:
Ciro Santilli's wife Updated 2025-07-16
Excerpt of For Whom the Bell Tolls by Ernest Hemingway (1940), slightly adapted for brevity:
"The earth moved," Maria said, not looking at Pilar. "Truly. It was a thing I cannot tell thee."
"It never moves more than three times in a lifetime. Did it really move?" Pilar Said.
"Yes," the girl said. "Truly."
"For you, Inglés?" Pilar looked at Robert Jordan. "Don't lie."
"Yes," he said. "Truly."
Related: www.reddit.com/r/OldSchoolCool/comments/hj7bfq/comment/fwkik5v/
Video 1.
Teresinha performed by Maria Bethânia
. Source.
Composed and previously performed by Chico Buarque in 1987: Video "Teresinha by Chico Buarque".
This video has English subtitles, click CC to enable them. This is one of the the best popular Brazilian music (MPB) of all time. A transcribed English translation adapted slightly by Ciro Santilli to be a bit less literal:
The first one came to me as if coming from the flower shop
Brought a stuffed toy, brought an amethyst pin
He told me about his journey and the perks he had
He showed me his watch and called me 'queen'
He found me so undefended that he touched my heart
But he denied me nothing, so, frightened, I said 'no'
The second came to me as if coming back from the bar
Brought a bottle of brandy too bitter to swallow
He asked me about my past and sniffed my food
He searched through my drawer and called me 'the lost one'
He found me so undefended that he scratched my heart
But he gave me nothing, so, frightened, I said 'no'
The third one arrived like he was arriving from nowhere
He brought me nothing and also asked me nothing
I barely know his name but I understand what he wants
He laid on my bed and called me 'woman'
He arrived very sneakily and before I could say 'no'
He settled inside my heart as its owner
Video 2. Source. Chinese: 猪之歌 by 香香. Baidu Baike page: baike.baidu.com/item/猪之歌/16181836. A dude wrote the lyrics though: 毛慧 (Mao Hui), but wouldn't have been a hit if he had performed it given the insane gender imbalance in China. Chinese lyrics on mojim: mojim.com/cny104491x1x1.htm. A quick translation:
Pig, you have two holes in your nose, and they have snot when you catch a cold
Pig, you have dark eyes, you can't see the edge
Pig, your ears are so big, you can't hear me calling you stupid
Pig, your tail is curled and curled. It turns out that you can't live without it when you run and jump.
Pig head, pig brain, pig body, pig tail, a wise toy who is never picky about food
Every day sleep until after three in the afternoon, you never brush your teeth, and you never fight
Pig, your belly is so bulging, you can tell at a glance that you can't stand the hardships of life
Pig, your skin is so white, you must have been from a rich family in your past life, oh
Legend has it that your ancestor had eight rakes, and it hit a peach blossom criminal.
When you see a beautiful girl, you chuckle, won't blush, and isn't afraid
Some people in the West are quite amused by the usage of "pig" as a term of endearment.
Ciro's call hierarchy notation Updated 2025-07-16
This is a simple hierarchical plaintext notation Ciro Santilli created to explain programs to himself.
It is usuall created by doing searches in an IDE, and then manually selecting the information of interest.
It attempts to capture intuitive information not only of the call graph itself, including callbacks, but of when things get called or not, by the addition of some context code.
For example, consider the following pseudocode:
f1() {
}

f2(i) {
  if (i > 5) {
    f1()
  }
}

f3() {
  f1()
  f2_2()
}

f2_2() {
  for (i = 0; i < 10; i++) {

    f2(i)
  }
}

main() {
  f2_2()
  f3()
}
Supose that we are interested in determining what calls f1.
Then a reasonable call hierarchy for f1 would be:
f2(i)
  if (i > 5) {
    f1()

  f2_2()
    for (i = 0; i < 10; i++) {
      f2(i)

    main
    f3
f3()
  main()
Some general principles:
  • start with a regular call tree
  • to include context:
    • remove any blank lines from the snippet of interest
    • add it indented below the function
    • and then follow it up with a blank line
    • and then finally add any callers at the same indentation level
Ciro Santilli is very fond of this result: the beauty of mathematics.
How can so much complexity come out from so few rules?
How can the proof be so long (thousands of papers)?? Surprise!!
And to top if all off, the awesomely named monster group could have a relationship with string theory via the monstrous moonshine?
The classification contains:
Video 1.
Simple Groups - Abstract Algebra by Socratica (2018)
Source. Good quick overview.
Classification of regular polytopes Updated 2025-07-16
The 3D regular convex polyhedrons are super famous, have the name: Platonic solid, and have been known since antiquity. In particular, there are only 5 of them.
The counts per dimension are:
DimensionCount
2Infinite
35
46
>43
The cool thing is that the 3 that exist in 5+ dimensions are all of one of the three families:Then, the 2 3D missing ones have 4D analogues and the sixth one in 4D does not have a 3D analogue: the 24-cell. Yes, this is the kind of irregular stuff Ciro Santilli lives for.
Ciro Santilli can accept closed source on server products more easily than offline, because the servers have to be paid for somehow (by stealing your private data).
Closurism Updated 2025-07-16
Closurism is a term invented by Ciro Santilli to refer to content moderation policies that lock threads in online forums, preventing people from adding new comments from that point onward.
This is similar to deletionism but a bit less worse, as the pre-existing content is maintained. But new relevant content that comes up cannot be added in the future, so it is still bad.
The outcome of closurism is that new forum posts must then be made about up-to-date aspects of the topic. But then those may fail to reach the same PageRank, so most people never get the new information, or create new posts leading to useless duplication of work.
Cocos2d Updated 2025-07-16
Ciro Santilli considered this as the basis for Ciro's 2D reinforcement learning games, but ultimately decided it was a bit too messy. Nice overall though.
College of the University of Oxford Updated 2025-07-16
A good explanation of how this insane system came up is given at Video "History of Oxford University by Chris Day (2018)".
As if it weren't enough, there are also the 6 Halls: permanent private hall.
The colleges are controlled by its fellows, a small self-electing body of highly successful scholars, usually in the dozens per college number it seems. Each college also usually has different types of fellows, e.g. see he university college page: www.univ.ox.ac.uk/about/college-fellowships/ (archive)
The college system does has its merits though, as it instates a certain sense of Hogwarts "belonging" to a certain group, so it might help students get better support for their learning projects from older students, or through the tutoring system. Of course, all such "belonging" feelings are bad, the correct thing would be to make great online tutorials for all, and answer questions in the open. But oh well, humans are dumb.
The college you are in impacts the quality of your courses, because tutorials are per-college. As of 2023, Ciro Santilli spoke to some students of the Computer science course of the University of Oxford, and was told that in some cases where you don't have anyone who can give the tutorial, you instead get a "class", i.e. a P.h.D. student going through question sheets with no interaction in the C.S. department, rather than a deep interactive discussion over the college fire. How can this system be so broken, it is beyond belief
This functionality is somewhat related to fraternities and sororities in 2000's United States.
Computer programming Updated 2025-07-16
Programming is hard. To Ciro Santilli, it's almost masochistic.
What makes Ciro especially mad when programming is not the hard things.
It is the things that should be easy, but aren't, and which take up a lot of your programming time.
Especially when you are already a few levels of "simple problems" down from your original goal, and another one of them shows up.
This is basically the cause of Hofstadter's law.
But of course, it is because it is hard that it feels amazing when you achieve your goal.
Putting a complex and useful program together is like composing a symphony, or reaching the summit of a hard rock climbing proble.
Programming can be an art form. There can be great beauty in code and what it does. It is a shame that this is hard to see from within the walls of most companies, where you are stuck doing a small specific task as fast as possible.
Computer security Updated 2025-07-16
As mentioned at Section "Computer security researcher", Ciro Santilli really tends to like people from this area.
Also, the type of programming Ciro used to do, systems programming, is particularly useful to security researchers, e.g. Linux Kernel Module Cheat.
The reason he does not go into this is that Ciro would rather fight against the more eternal laws of physics rather than with some typo some dude at Apple did last week and which will be patched in a month.
Computer security researcher Updated 2025-07-16
Ciro Santilli found out that he likes computer security researchers and vice versa.
It's a bit the same reason why he likes physicists: you can't bullshit with security.
You can't just talk nice and hope for people to belive you.
You can't not try to break things and just keep everyone happy in their false illusion of safety.
You can't do a half job.
If you do any of that, you will get your ass handed to you in a little gift bag.
Concurrent Versions System Updated 2025-07-16
It is said, that once upon a time, programmers used CSV and collaborated on SourceForge, and that everyone was happy.
These days, are however, long gone in the mists of time as of 2020, and beyond Ciro Santilli's programming birth.
Except for hardware developers of course. The are still happily using Perforce and Tcl, and shall never lose their innocence. Blessed be their souls. Amen.
How to contact Ciro Santilli Updated 2026-10-18
Ciro Santilli is very happy to meet people with related interests, he really loves his like-minded online friends. Even if you don't have something a specific goal in mind for the contact, please just say hi.
To contact Ciro publicly about any general subject that is not covered in a more specific GitHub repository, including saying hi or suggestions about his website either:
Publicly viewable contact is preferred if possible to more effectively share Ciro's wisdom with the world.
But if you feel more comfortable with private contact, no problem, either:
For other less good methods that will also likely work, use direct messages of the following profiles from under Section "Accounts controlled by Ciro Santilli":Ciro's Twitter DMs are also open, but note that Ciro receives endless Chinese language SPAM there which Twitter is doing nothing to combat, so it's not as reliable.
If you are a privacy freak or are going to tell Ciro state secrets Ciro has this GNU Privacy Guard public key: pubkey.gpg, but it's not something that he has ever really used.
Disqus comments were removed from his website in 2019-05-04, a manual dump is available here, removal rationale at: why Ciro Santilli removed Disqus comments from his website in 2019-05-04.
This is a general philosophy that Ciro Santilli, and likely others, observes over and over.
Basically, continuity, or higher order conditions like differentiability seem to impose greater constraints on problems, which make them more solvable.
Some good examples of that:
Controlled quantum gate Updated 2025-07-16
Controlled quantum gates are gates that have two types of input qubits:
These gates can be understood as doing a certain unitary operation only if the control qubits are enabled or disabled.
The first example to look at is the CNOT gate.
Figure 1. . Source.
The black dot means "control qubit", and "U" means an arbitrary Unitary operation.
When the operand has a conventional symbol, e.g. the Figure "Quantum NOT gate symbol" for the quantum NOT gate to form the CNOT gate, that symbol is used in the operand instead.