Figure 1.
Ciro Santilli's amazing Stack Overflow profile
.
Ciro Santilli's Stack Overflow contributions have, unsurprisingly, centered around the subjects he has worked with: systems programming and web development, and necessary tooling to get those done, such as Git, Python, Bash and Ubuntu.
His best answers are listed at: Section "The best articles by Ciro Santilli".
Stack Overflow has been the initial centerpiece of Ciro Santilli's campaign for freedom of speech in China, until Ciro noticed that GitHub might be potentially even more effective for it.
In Stack Overflow Ciro likes to:
  • answer important questions found through Google which he needs to solve an actual problem he has right now, and for which none of the existing answers satisfied him, and close duplicates.
  • monitor less known tags which very few people know a lot about and where the knowledge sharing desperately lacking, but in which Ciro specializes and therefore has some uncommon knowledge to share
In practice it also happens that Ciro:
When he gets an upvote on one of his more obscure answers, Ciro often re-reads it, and often finds improvements to be made and makes them.
He doesn't like to refresh the homepage looking for easy reputation on widely known subjects. See also: online forums that lock threads after some time are evil.
The result is that Ciro ends up getting relatively a lot of reputation without much work! The term passive income, much beloved by fake investment gurus, comes to mind. But now it's "passive reputation"! And it is useless! Yay!
For this reason, Necromancer is Ciro's favorite badge (get 5 upvotes on a question older than 60 days), and as of July 2019, he became the #1 user with the most of this badge. Announcement on Twitter.
The number two at the time was VonC (see also: Section "Epic Stack Overflow users"), who had about 16 times more answers than Ciro in total! From this query: data.stackexchange.com/stackoverflow/query/1072396?&Date=2019-07-01&UserId=895245 it can be seen that as of July 2019, 1216 out of his 1329 answers were answered 60 days after the questions and constitute potential necromancers! Compare that to VonC's 1643 potential necromancers out of 21767 answers!
VonC eventually took back the lead in 2022, dude's a machine!!! twitter.com/cirosantilli/status/1546389532014247936
Someone at Ciro's work once said something along:
The more patents a research project generates, the less actually working products it produces.
and this does ring true in Stack Overflow as well. When you are answering stuff, it means that you either didn't know, or that the information wasn't well available, and so your specific application is progressing slowly because of that. Once the generic prerequisites are well solved and answered, you will spend much more time on your business specific things rather than anything else that can be factored out across projects, and so you will get more "directly useful work" done, and less Stack Overflow answers. Of course, without the prior research in place, you can't get the final product done either.
In terms of per year reputation ranks, Ciro was in the top 100 in of the 2018 ranking with 38,710 reputation gained in that year: stackexchange.com/leagues/1/year/stackoverflow/2018-01-01?sort=reputationchange&page=4 (archive). He reached top 50 in 2022. Note that daily reputation is mostly capped to 200 per day, leading to a maximum 73000 per year. It is possible to overcome this limit either with bounties or accepts, and Ciro finds it amazing that some people actually break the 73k limit by far with accepts, e.g. Gordon Linoff reached 135k in 2018 (archive)! However, this is something that Ciro will never do, because it implies answering thousands and thousands of useless semi duplicate questions as fast as possible to get the accept. Ciro's reputation comes purely from upvotes on important question, and is therefore sustainable without any extra effort once achieved. Interestingly, Ciro appeared on top of the quarter SE rankings around 2019-11: web.archive.org/web/20191112100606/https://stackexchange.com/leagues but it was just a bug ;-)
There is no joy like answering an old question, and watching your better answer go up little by little until it dominates all others.
Stack Overflow reputation is of course, in itself, meaningless. People who contribute to popular subjects like web development will always have infinitely more reputation than those that contribute to low level subjects.
What happens on the specialized topics though is that you end up getting to know all the 5 users who contribute 95% of the content pretty soon as you study those subjects.
Like everything that man does, the majority of Ciro's answers are more or less superficial subjects that many people know but few have the patience to explain well, or they are updates to important questions reflecting upstream developments. But as long as they save 15 minutes from someone's life, that's fine.
There is great beauty when you are involved in a programming problem, and you suddenly remember: wait, I answered something related a few years ago! And especially so when you can go back and improve your old answer with new insight. This has great value, because when you were more newbie, you would have typed different words into Google Search than you would now. So by updating posts from when you were a newbie, you are helping other newbies more, as they are more likely to be also searching for those keywords. It is also very nice to have some head start on the answer's upvote count and not have to bootstrap yet another answer from 0 upvotes and have to go through all the competition!
For example, Ciro's most upvoted answer as of July 2019 is stackoverflow.com/questions/18875674/whats-the-difference-between-dependencies-devdependencies-and-peerdependencies/22004559#22004559 was written when he spent his first week playing with NodeJS (he was having a look at Overleaf, later merged into Overleaf, for education), which he didn't touch again for several years, and still hasn't "mastered" as of 2019! This did teach a concrete life lesson to Ciro however: it is impossible to know what is the most useful thing you can do right now very precisely. The best bet is to follow your instincts and do as much awesome stuff as you can, and then, with some luck, some of those attempts will cover an use case.
Ciro also derives great joy from his "media related answers" (3D graphics, audio, video), which are immensely fun to write, and sometimes borderline art, see answers such as those under "OpenGL" and "Media" under the best articles by Ciro Articles or even simpler answers such as:
There is something of greater value in perfectly presented technical knowledge, that goes beyond than simply getting something done. The pleasure of understanding and mastering something, and perhaps of the explanation itself. Sometimes when answering, Ciro feels like a tailor, where ASCII is his cloth. See also: Section "The art of programming", Section "Physics and the illusion of life".
Ciro's deep understanding of Stack Overflow mechanisms and its shortcomings also helped shape his ideas for: OurBigBook.com. So it is a bit funny to think that after all time Ciro spent on the website, he actually wants to destroy it and replace it with something better. There can be no innovation without some damage. It also led to Ciro's creation of Stack Overflow Vote Fraud Script.
After answering so many questions, he ended up converging to a more or less consistent style, which he formalized at:
Like any other style guide, this answer style guide, once fully incorporated and memorized, allows Ciro to write answers faster, without thinking about formatting issues.
Ciro also made a question title style guide: meta.stackexchange.com/questions/10647/how-do-i-write-a-good-title/311903#311903 but for some reason the Stack Overflow community prefers their semi-defined title meta-language to proper English. Go figure.
Ciro started contributing to Stack Overflow in 2012 when he was at École Polytechnique.
Like all things that end up shaping the course of one's life, Ciro started contributing without thinking too much about it.
His first answer was to the LaTeX question: Standalone diagrams with TikZ?, which reflects the fact that this happened while Ciro was reaching his Ciro Santilli's Open Source Enlightenment.
When he started contributing, Ciro was still a newbie. One early event he will never forget was when someone mentioned a "man page", and Ciro commented saying that there was a typo!
When Ciro reached 15 points and gained the ability to upvote, it felt like a major milestone, he even took a screenshot of the browser! 1k, 10k and 100k were also particularly exciting. When the 100k cup (archive) arrived in 2018, Ciro made a show-off Facebook post (archive). At some point though, your brain stops caring, and automatically filters out any upvotes you get except on the answers that you are really proud of and which don't yet have lots of upvotes. The last remaining useless gamed achievement that Ciro looked forward to was legendary (archive), and which he achieved on 2021-02-16.
Figure 4.
Ciro Santilli with his Stack Overflow 100k reputation cup
.
From the start, Ciro's motivations for contributing to Stack Overflow have been a virtuous circle of:
  • save the world through free education
  • It feels especially amazing when people in the real world start taking note of you, and either close friends tell you straight out that you're a Stack Overflow God, or as you slowly and indirectly find out that less close know or came to you due to your amazing contributions.
It is also amazing when you start having a repertoire of answers, and as you are writing a new answer, you remember: "hey, the knowledge of that answer would be so welcome here", and so you link to the other answer as well at the perfect point. This somewhat achieves does what OurBigBook.com aims to do: for each small section of a tutorial, gather the best answers by multiple people.
Ciro feels that his Stack Overflow alter ego is kenorb.
Another one is Aaron Hall, who is also very high on the necromancer list, answers in Python which is a topic Ciro cares about, and states on his profile:
Follow me on Twitter and tell me what canonical questions you would like me to respond to!
so another necromancer.
Way to go.
Ciro also asks some questions on a ratio of about 1 question per 10 answers. But Ciro's questions tend to be about extremely niche that no one knows/cares about, and a high percentage of them ends up getting self answered either at asking time or after later research.
Some fun reactions to Ciro's Stack Overflow activity:
After Ciro Santilli got a lot of attention on Hacker News news.ycombinator.com/item?id=19428700 his Stack Overflow account was suspended for 3 days web.archive.org/web/20190320163458/https://stackoverflow.com/users/895245/ciro-santilli-新疆改造中心-六四事件-法轮功 and he received a magic notification that led to a private message:
Hello,
I'm writing in reference to your Stack Overflow account:
I don't understand why you are actively promoting and assisting people to commit fraud on the site.
I've removed this from your profile github.com/cirosantilli/stack-overflow-vote-fraud-script and do not expect you to post it around the site.
I'm suspending you to gain your attention on this matter.
We have temporarily suspended your account; you may return after 3 days.
Regards,
To: Aaron Hall ♦;Andy ♦;Baum mit Augen ♦;Bhargav Rao ♦;Bohemian ♦;BoltClock ♦;Brad Larson ♦;ChrisF ♦;Cody Gray ♦;deceze ♦;Ed Cottrell ♦;Flexo ♦;George Stocker ♦;Jean-François Fabre ♦;Jon Clements ♦;josliber ♦;Madara Uchiha ♦;Martijn Pieters ♦;meagar ♦;Michael Myers ♦;Rob ♦;Robert Harvey ♦;Ry- ♦;Samuel Liew ♦;Undo ♦;Yvette Colomb ♦
Ciro's reply was:
Hi mods,
Reply and unsuspend quickly followed, with link still removed:
I suspended you to get your attention. Your attitude about going to Twitter about it does not bode well with me.
Feel free to have whatever you want in your GitHub repo. Just don't advertise tools to make it easier for people to circumvent the rules. As easy or as hard as it may be to circumvent them, you're handing it to people who may not be capable of doing so. It doesn't help.
Don't make threats to upload on an anonymous account. Accounts created to circumvent previous warnings are not welcomed on the site.
We don't need a meta thread to discuss whether it's ok to post voting fraud links in your profile and we definitely don't need to give it anymore publicity.
I'll unsuspend you, now we've had this discussion.
Regards,
A meta thread was later created by Yvette, kudos, to which Ciro answered with the correct unpopular answer that will be downvoted to oblivion: meta.stackoverflow.com/questions/381577/is-it-ok-to-have-links-on-how-to-create-sock-puppets-and-gain-rep-fraudulently-i/381635#381635
Yvette had also previously deleted one or two of Ciro's answers for being duplicates, which is a policy Ciro is against: if the questions are not dupes, a single answer might still directly reply to both of them.
Yvette later announced that she was leaving the website: meta.stackoverflow.com/questions/399495/leaving-the-site-and-the-network-mid-election-is-not-the-best-but-theres-no. This is evil, but Ciro was happy. He does not mean harm to Yvette, but in their limited interaction, Ciro disagreed with her choices.
Video 1.
The Great Places Erased by Suburbia by Not Just Bikes (2022)
Source. Stack Overflow, and other online forums, can serve as a sort of a third place for its more active users.
Ciro Santilli's Twitter accounts Updated 2025-07-16
Accounts controlled by Ciro Santilli on Twitter:
Ciro Santilli's wedding Updated 2025-07-16
Figure 1.
Ciro Santilli with his soon-to-be Ciro Santilli's mother-in-law during his wedding in 2017
.
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.
Song of pig by Xiangxiang (2005)
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.