Ciro Santilli is a male human software engineer and activist born in Brazil, Earth in 1989 AD.
Quick facts:
Other people with the same name are listed at Section "Ciro Santilli's homonyms".
Figure 1. 19th century illustration of the Journey to the West protagonist Sun Wukong. Source.
Sun Wukong (孙悟空) is a playful and obscenely powerful monkey Journey to the West. He protects Buddhist monk Tang Sanzang, and likes eating fruit, just like Ciro. Oh, and Goku from Dragon Ball is based on him. His japanese name is "Sun Wukong" (same Chinese characters with different Japanese pronunciation) for the love. His given name "Wukong" means literally "the one who mastered the void", which is clearly a Dharma name and fucking awesome in multiple ways. This is another sad instance of a Chinese thing better known in the West as Japanese.
It is worth noting however that although Wukong is extremely charming, Ciro's favorite novel of the Four Great Classic Novels is Water Margin. Journey to the West is just a Monster of the Week for kids, but Water Margin is a fight for justice saga. Sorry Wukong!
Figure 2. Ciro Santilli playing with a pipette at the University of Cambridge circa 2017.
The photo was taken in an open event organized by the awesome Cambridge Synthetic Biology outreach group, more or less the same people who organize: www.meetup.com/Cambridge-Synthetic-Biology-Meetup/ and who helped organize Section "How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it".
Taking part in such activities is what Ciro tries to do to overcome his lifelong regret of not having done more experimental stuff at university. Would he have had the patience to handle all the bullshit of the physical word without going back to the informational sciences? Maybe, maybe not. But now he will probably never know?!
Notice the orange high visibility cycling jersey under the lab coat, from someone who had just ridden in from work as fast as possible as part of his "lunch break". It is more fun when it is hard.
Figure 3. Scribe Jean Miélot, 15th century.
Ciro Santilli fantasises that he would have make a good scribe in the middle ages, partly due to his self diagnosed graphomania, but also appreciation for foreign languages, and his mild obsession with the natural sciences.
OurBigBook.com is Ciro's view of a modern day scriptorium, except that now the illuminations are YouTube videos.
Chill and eat your bread in peace comes to mind. A scribe, in a library, reading and writing the entire day in peace and quiet. The life!
The job of a Internet-age scribe is basically that of making knowledge more open, legally extracting it from closed copyrighted sources, and explaining your understanding of it to the wider world under Creative Commons licenses on the web. And in the process of greater openess, given a well organized system, we are able combine the knowledge of many diffferent people, and thus make things more understandable than any single/few creator closed source source could ever achieve.
Ciro once saw some cartoon on Wikipedia help pages of a turtle with a book in one hand, and typing into Wikipedia on its computer, TODO find it. That cartoon summarizes well the modern scribe life.
Another analogous version of this fantasy more in touch with Ciro's sinophily is the ideal of the Chinese scholar, notably including their stereotypical attributes such as mastery of the Four arts.
Ciro Santilli is actively looking for donations and contracts so he can continue to work full time on OurBigBook.com sustainably, and develop free hardcore university-level STEM education for all ages!
At 100k USD, I will quit my job to work full time on it for one year. During this year I will use my contacts with STEM students of a world leading unviersity near where I live and solve as many of their problem sheets as possible, mostly by refering to OurBigBook.com articles I'll be writing. The goal is to get as much STEM konwledge as possible into the world, and highlight how flawed presential and sequential Higher Education is, while positioning OurBigBook.com as an alternative way to organize humanity's knowledge. Quite grand.
Status: ~144k / 200k USD reached. 1st year locked in and starting summer 2024, 2nd year stretch goal open. A second year greatly improve chances of success: year one I solve a bunch of courses, year two I come guns blazing with the content and expand further. Donation breakdown:
  • 2024-03-18: $126,352 (!!!): anonymous 1000 Monero donation to self-custody wallet. Further comments: 1000 Monero donation.
  • 2024-03-13: $1,375: anonymous 10 Monero donation to self-custody wallet
  • 2023-11-20: $14,860: anonymous 100 Monero donation to Binance wallet
  • 2023-09: $810: anonymous 0.032 Bitcoin donation to Coinbase wallet
  • subscriptions up to 2024-01: $143,795
More details: Section "Accounting method"
cirosantilli.com/sponsor 100k USD = I quit my job 1 year to work on ourbigbook.com + higher ed. Status: ~144k/200k USD reached. 1st year starting Summer 2024 after 1000 @Monero XMR donation! At 200k USD I add a second year. This would increase chances of success a lot.
How to give:
  • one time donations:
  • monthly subscriptions of 1$/month or more on either:
    Symbolic 1 dollar/month donation are extremely welcome to signal your interest! This way if a certain critical mass of sponsors is ever reached (~100?), Ciro can start to more actively asking slightly higher amounts to really try to achieve full time self sufficiency.
  • larger grants/contracts from filthy rich individuals or organizations: contact Ciro as mentioned at: Section "How to contact Ciro Santilli" to discuss.
    Ciro is interested in contracts/voluntary work that would be compatible/synergic with the OurBigBook.com project. Some possibilities include:
    • interacting directly with classes of university students to help them learn the class subject, while at the same time spreading the university knowledge outside of the university walls
    • one-to-one mentoring of individuals of any age that are looking to make an impact in the world, and not just pass their exams
    • fixing specific bugs in related projects Ciro has experience in. These could be either via one-off contracts, or on platforms such as:
And if you have a different preferred payment mechanism not listed above, please contact Ciro, and he will set it up.
Ciro's current ambitions require him to remain in developed countries, because Ciro wants to document advanced science and technology by liaising with top universities, and there is not nearly as much high technology in poor countries. Remaining in developed countries is also a required due to family reasons.
If you would like public acknowledgement for your support, Ciro will very gladly give it, just let Ciro know how you'd prefer it. Due to Ciro Santilli's campaign for freedom of speech in China, many supporters have chosen to be anonyomous, and that is totally fine, not everyone is interested in politics, or has a situation where going public is acceptable, so we don't have a standard setup yet, let's build it together. A acknowledgement section at the bottom of this page would be a minimum, but I for larger donations we could add a your advertisement in a locations such as:
So that he can work full time on OurBigBook.com and revolutionize advanced university-level science, technology, engineering, and mathematics eduction for all ages.
Donating to Ciro is the most effective donation per dollar that you can make to:
Ciro's goal in life is to help kids as young as possible to reach, and the push, the frontiers of natural sciences human knowledge, linking it to applications that might be the the next big thing as early as possible. Because nothing is more motivating to students than that feeling of:
Hey, I can actually do something in this area that has never been done before!
rather than repeating the same crap that everyone is already learning.
To do this, Ciro wants to work in parallel both on:
Ciro believes that this rare combination of both:produces a virtuous circle, because Ciro:
  • wants to learn and teach, so he starts to create content
  • then he notices the teaching tools are crap
  • and since he has the ability to actually improve them, he does
As explained at OurBigBook.com and high flying bird scientist, Ciro is most excited to make contributions at the "missing middle level of specialization" that lies around later undergrad and lower grad education:
  • at lower undergrad level, there is already a lot of free material out there to learn stuff
  • at upper graduate level and beyond, too few people know about each specific subject, that it becomes hard to factor things out
But on that middle sweet spot, Ciro believes that something can be done, in such as way that delivers:
  • beauty
  • power
in a way that is:
  • in your face, without requiring you to study for a year
  • but also giving enough precision to allow you to truly appreciate the beauty of the subject
    Ciro's programming skills can also be used to create educational, or actually more production-like, simulations and illustrations.
Ciro believes that today's society just keep saying over and over: "STEM is good", "STEM is good", "STEM is good" as a religious mantra, but fails miserably at providing free learning material and interaction opportunities for people to actually learn it at a deep enough level to truly appreciate why "STEM is good". This is what he wants to fix.
The following quote is ripped from Gwern Branwen's Patreon page, and it perfectly synthesizes how Ciro feels as well:
Quote 1. Omar Khayyam's chill out quote.
Omar Khayyam also came to the Vizier... but not to ask for title or office. 'The greatest boon you can confer on me,' he said, 'is to let me live in a corner under the shadow of your fortune, to spread wide the advantages of Science, and pray for your long life and prosperity.'
In addition to all of this, financial support also helps Ciro continue his general community support activities:
A detailed list of all transactions is kept atat: sponsor/budget.js.
Ciro Santilli use the following accounting for this sponsorship calculations.
For significant one time donations, he takes the final money received in one of his cash GBP accounts, then he checks how much that is in dollars on Google at the time of cashout, and then writes that ammount down as the final dollar value which is what ultimately counts. This exposes Ciro to USD/GBP fluctuations, but it simplifies accounting for donors which is more important, so it is likely worth it.
For small regular donations, Ciro just tallies it all up in GBP from time to time and converts it all to dollars in one go as it is not worth spending too much time updating those too often.
Ciro Santilli is a UK resident. He will register as a "solo trader" (slightly funny legal term) and treat donations that he uses for projects as grants, which pay regular income tax:The rates are given at: www.gov.uk/income-tax-rates and are as of writing:
  • 0 - £12,570 0%
  • £12,571 - £50,270: 20%
  • £50,271 - to £125,140: 40%
  • £125,140: 45%
National insurance is also likely going to be paid: www.gov.uk/self-employed-national-insurance-rates:
  • 6% on profits between £12,570 and £50,270
  • 2% on profits over £50,270
Fortunately however VAT does not need to be paid.
The ammount that will be declared is the same as he grant ammount that was requested, e.g. if 100k USD is requested for 1 year, then 100k USD will be pro-rata declared on that year.
Any remaining donationa that don't yet meet specific grant goals will be initially treated as cash gifts which pay no tax. If in the future they are used as grant money after further goal ammounts are reached, then they will taxed as grants.
Note however that if the donor is UK-based and dies within 7 years of the gift being given, inheritance tax has to be paid on them as per: www.gov.uk/inheritance-tax/gifts, at a maximum of 32% and going to to 0% at 7 years, so let me know from the afterlife.
Crazy shady crypto people seem to like Ciro Santilli, so this is in order.
For the love of God do dot give us proceeds of crime.
Giving to Ciro Santilli is the worst possible way to launder your money, as donations ammounts are clearly publicly disclosed (though not donor identities if they with to remain anoymous), and clear records kept of every donation made (including private note of donor identities if known). Also suspicious donations are promptly reported to the authorities.
Donation refunds upon donor's requests are only made at our discretion, and may be declined, unless required by law of course. This is to reduce the risks of us unknowingly serving as money mules or aiding money laundering.
Ciro Santilli believes that he is not require to report large donations to either:
But note that Ciro will preventively report if there are any further suspicious aspects to any donations received.
Ciro Santilli wants to make sure that you get clear highlights of what your donation money is going into!Sponsors also receive the "Ciro's Edit" email newsletter if desired, which contains similar updates to the above, but delivered directly to their inbox.
On 2024-03-18, Ciro Santilli received an anonymous 1000 Monero donation (worth ~126k USD at the time) to his self-custody wallet, which pushed him over his public plea for 100k USD goal to quit his job for one year.
Since this donation is so huge, it deserves some comments and a bit of a retrospective. The path to this donation has been an interactive one, and it is described below.
After starting the OurBigBook Project, Ciro started the sponsor Ciro Santilli's work on OurBigBook.com page on cirosantilli.com and setup some donation methods to help support the project, and possibly try to capitalize a bit on Ciro Santilli's Stack Overflow contributions.
His sponsors are absolutely crazy amazing people, but Ciro simply could attract a large enough amount of small sponsors to reach life changing amounts under those circumstances. This is partly due to Video "And I am not and never have been 'familiar' scene from The Big Short (2015)".
As such, Ciro came to realize more and more that the best approach would be to reach out to a smaller number of rich people, given that the things he works on niche, but may appeal to a particularly wealthy tranche of the population: STEM people. Other experiences and ideas that contribute to this realization are:
  • the creation of the OurBigBook Fellowship, which as of writing consisted of a single donation. During this exercise, Ciro Santilli gave about 2k USD to help a promising Brazilian student. In doing so, he understood a lot about what goes on inside a "rich person's" head when considering a donation
    • it is hard to decide who to donate to and find those people. In part because as soon as you create a public donation system with an application process, people will game the fuck out of it. Perhaps the Lost Horse LLC approach of "they find you" is the best?
    • it is basically impossible to donate more than 1% of your net worth if you have a family. Even 1% you may be discouraged about. Perhaps with reason due to previous bad donations they have made.
  • the increasing wealth inequality of this world, perhaps one of the greatest problems we now face
Then, whenever a larger donation would come through and surprise Ciro, he would improve his sponsor page statements. First a private 150 USD by an awesome sponsor. Then the 2023-09 ~810$ Bitcoin one. Finally came the 2023-11-20 100 Monero one. And it was that one that pushed Ciro to start his "100k USD = 1 year campaign".
Finally on 2024-03-13, Ciro received an anonymous 10 Monero donation to self-custody wallet. He had clearly stated that one should make a test donation to that wallet before the big one, so 10 Monero felt like it could be the test one. Ciro communicated the reception at: mastodon.social/@cirosantilli/112112988286298258 / twitter.com/cirosantilli/status/1769464788009066710 Over the next few days, Ciro checked his wallet more often than his previously self imposed once a weekend max, and as expected, he found the big one on a slightly despaired around midnight sleepless night (partly due to parenthood). He was feeling particularly bored and a bit sad with his work life that night. And there it was. 1000 Monero on the wallet. Needless to say, not much sleep was done on that evening!!!
Video 1. 1000 Monero donation (~126,000 USD) reaction video by Ciro Santilli. Source.
Figure 1. Screenshot of Ciro Santilli's Monero wallet with 1000 Monero in it just after the donation.
The following days were also tense, with Ciro having a trial by fire on selling large amounts of Monero on the UK, which is not trivial as it had been banned from all major exchanges. But he managed. Further notes on that at: www.reddit.com/r/Monero/comments/17arz9f/converting_xmr_to_gbp_in_the_uk/. Ciro also decided to keep about 200 Monero around just for fun as a crazy moonshot.
Another major factor likely Ciro having published his article: Section "Cool data embedded in the Bitcoin blockchain" in 2019. This is something he wrote entirely for fun during an intense 3 week side-time binge in 2019, though some large updates were made later on. It was this article that likely some crypto-dude attention to Ciro Santilli's profile. As of 2024, there is said to be about 20 crypto billionaires, so perhaps there are about 2000 crypto 10 millionaires[ref], which is the minimum net worth for a donation of 100k USD to be feasible (1% mark). And perhaps a reasonable number of them are just nerds who got rich, and want to improve the world. There are two lessons from this:
  • follow your instincts, always. If something seems mega fun and quick, do it!
  • making money from a few rich people (or entities like organizations) is easier than working for a bunch of poor people, because you have to convince less people. If you reach many poor people however, things are much more stable as you can lose a few customers and still be fine
Another factor in the donation, Ciro Santilli believes, is that many rich people thing that education is bullshit. As mentioned on the awesome series The Playlist via a hypothetical Peter Thiel, a large number of rich people are neurodiverse, and it is obvious why: you have to be different to make it big, but you are worse off on average for it. Section "How can I be as great by Justine Musk" comes to mind. As such, it is only natural that a large number of rich people want to improve our educational system, which tends to be the very epitome of "boring and average normalness" which Ciro Santilli so much detests. This can also be seen in people such as:
Amazing reacaions from the Monero Reddit community: www.reddit.com/r/Monero/comments/1brryao/ciro_santilli_received_a_1000_xmr_donation_to/
  • geonic_ comments:
    Reaction video is fake. Very bad acting.
  • Inaeipathy comments:
    Well, anyways, I would be very unsurprised if this 1000 XMR was sent to him by himself for... reasons.
  • -TrustyDwarf- comments:
    Anyone mind to explain wtf this ugly piece of webpage reminding me of geocities from the 90s is about? I'd read it myself but I can't because it already gave me eye cancer.
  • rbrunner7 comments:
    It's all quite strange. Never mind the 90s design, people built good websites already back then with the tools at hand, but even their "About" isn't very clear. If you need 5 minutes to be reasonably sure what it is all about they are still doing it wrong.
These people have some serious trust issues!!! Perhaps not surprising from a privacy coin community. Ciro's Twitter post: twitter.com/cirosantilli/status/1775961945193017790
The anonymity of the donation is mind blowing.
The first sensation Ciro Santilli got was as if God himself had come down from heaven to toy with an unsuspecting human being. God running an experiment. Or perhaps an AGI that had already secretly taken over. Not very different.
Like with God, this was the answer to Ciro's prayers on Twitter. A one way conversation that leaves you uncertain of the details.
Whichever the case, Ciro is going to put on the best show he possibly can for youe money, documenting every step along the way in usual fashion!
Besides the awesomeness however, anonymity is a risk.
Ciro ran this over and over in his head, and the only big risk of anonymity is that if this money is ever proven to be from the proceeds of crime, he would have to give it back to the government and "lose one year's salary he would have otherwise gained".
However, that worst case scenario is not bad enough. If anything, it was a great excuse to quit his job for his family and wife is already worth it. Ciro could do it and survive, though situation would deteriorate slowly. But he was a coward previously.
Ciro does however feel that there is good chance that it is legitimate.
Ciro Santilli's Stack Overflow contributions are exceptional, he's amazing right! He deserves this! Of course, there is danger in this rationale which scammers could exploit. But bro, if scammers are going to send 100k USD to me, then please continue to do so!
Also which criminal would be stupid enough to donate proceeds of crime to a highly public person who is going to clearly announce it?
Just be warned, if you come with a baseball bat trying to get the money back by force, I will call the police immediately and by God you will not get it!!
Given this, Ciro just keeps thinking about the likely profile of the donor:
  • 10m+ net worth
  • either got rich with Monero, or thought Monero was interesting and wanted to test it out while doing something cool. Also perhaps he has a personal stake in Monero and is trying to advertise it?
But the "why anonymous if not criminal" question remains. Generally rich people want recognition both for:
  • reputation washing
  • to make their donation mechanisms higher profile which allows raising more and attracting better candidates and reach greater impact
Two options that come to mind:
What if I fail? What if one month in I discover that the project is undoable for some reason? Etc.
Nothing can scare a man as much as allowing him to pursue his dream! Because then he may find his dream was purely an empty illusion.
But still, we must try.
I had meant to make an update earlier, but I wanted to try and add some more "visible end-user changes" to OurBigBook.com.
Just noticed BTW that signup on the website is broken. Facepalm. Not that it matters much since it is not very useful in the current state, but still. Going to fix that soon. EDIT: nevermind, it wasn't broken, I just had JavaScript disabled on that website with an extension to test if pages are visible without JavaScript, and yes, they are perfectly visible, you can't tell the difference! But you can't login without JavaScript either!
I still haven't the user visible ones I wanted, but I've hit major milestones, and it feels like time for an update.
I have now finished all the OurBigBook CLI features that I wanted for 1.0, all of which will be automatically reused in ourbigbook.com.
A secondary but also important advance was: further improvements to the website's base technology.
I knew I was going to do them for several months now, and I knew they were going to hurt, and they did, but I did them.
These change caused two big bugs that I will solve next, one them infinite recursion in the database recursive query, but they shouldn't be too hard.
And do 5 big queries instead of hundreds of smaller ones.
For example, a README.ciro document that references another document saying:
The \x[speed-of-light] is fast.
needs to fetch "speed-of-light" from the ID database (previously populated e.g. by preparsing light.ciro:
= Light

== Speed of light
to decide that it should display as "Speed of light" (the title rather than the ID).
Previously, I was doing a separate fetch for each \x[] as they were needed, leading to hundreds of them at different times.
Now I refactored things so that I do very few database queries, but large ones that fetch everything during parsing. And then at render time they are all ready in cache.
This will be fundamental for the live preview on the browser, where the roundtrip to server would make it impossible
E.g.:
README.ciro
= My website

== h2

\Include[not-readme]
not-readme.ciro
= Not readme

== Not readme h2
the table of contents for index.html also contains the headers for not-readme.ciro producing:
  • My website
    • h2
      • Not readme
        • Not readme h2
This feature means that you can split large input files if rendering starts to slow you down, and things will still render exactly the same, with the larger table of contents.
This will be especially important for the website because initially I want users to be able to edit one header at a time, and join all headers with \Include. But I still want the ToC to show those children.
This was a bit hard because it required doing RECURSIVE SQL queries, something I hadn't done before: stackoverflow.com/questions/192220/what-is-the-most-efficient-elegant-way-to-parse-a-flat-table-into-a-tree/192462#192462 + of course the usual refactor a bunch of stuff and fix tests until you go mad.
github.com/cirosantilli/node-express-sequelize-nextjs-realworld-example-app contains the same baseline tech as OurBigBook, and I have been use to quickly test/benchmark new concepts for the website base.
I'm almost proud about that project, as a reasonable template for a Next.js project. It is not perfect, notably see issues on the issue tracker, but it it quite reasonable.
The side effects of ambitious goals are often the most valuable thing achieved once again? I to actually make the project be more important thatn the side effects this time, but we'll see.
Since the last update, I've made some major improvements to the baseline tech of the website, which I'll move little by little into OurBigBook. Some of the improvements actually started in OurBigBook.com. The improvements were:
Currently, none of the crucial cross file features like \x, \Include and table of contents are working. I was waiting until the above mentioned features were done, and now I'm going to get to that.
I've finally had enough of Nvidia breaking my Ubuntu 21.10 suspend, so I investigated some more and found a workaround on the NVIDIA forums: stackoverflow.com/questions/58233482/next-js-setting-up-eslint-for-nextjs/70519682#70519682.
Thanks enormously to heroic user humblebee, and once again, Nvidia, fuck you.
At github.com/cirosantilli/china-dictatorship/issues/738 a user made a comment about gang raping my mother (more like country-raping).
As mentioned at github.com/cirosantilli/china-dictatorship/issues/739, ally Martin then reported the issue, and GitHub took down the wumao's account for a while using their undocumented shadowban feature, until the wumao edited the issue.
Based on the discussion with Martin, I then recommended at github.com/cirosantilli/china-dictatorship/blob/41b4741a4e6553f44f5f1ef85cf63c55eb7b8277/CONTRIBUTING.md that we do not report such issues, and that GitHub do not delete such accounts, with rationale explained on the CONTRIBUTING.
I caught and overcame a minor addiction to Cataclysm: Dark Days Ahead.
It does bring back the The Sims feeling from my teenage years, but with killer zombies added in.
I especially like going to sleep in that game, and how you need to setup a confy bed for it.
The way to quit is simple: delete your saves, then get annoyed with slowness of progressing back up, then use built-in debug/cheat menu to overcome that, then it's not fun anymore. This is a major advantage of single player open source games: addiction resistance!
This was the major final step of fully integrating the OurBigBook CLI into the dynamic website (besides fixing some nasty bugs that escaped passed by me from the previous newsletter).
The implementation was done by "simply" reusing scopes, e.g.: cirosantilli's article about mathematics has scope cirosantilli and full ID cirosantilli/mathematics.
That on the website is equivalent to a local file structure of:
cirodown/mathematics.bigb
The problem is that a bunch of subdirectory scope operations were broken locally as well, as it simply wasn't a major use case. But now they became a major use case for , so I fixed them.
Figure 1. Before.
Figure 2. After.
Now that we can reliably split files at will with \Include, I finally added this feature.
This means while developing a website locally with the OurBigBook CLI, if you have a bunch of files with an error in one of them, your first run will run slowly until the error:
extract_ids README.ciro
extract_ids README.ciro finished in 73.82836899906397 ms
extract_ids art.ciro
extract_ids art.ciro finished in 671.1738419979811 ms
extract_ids ciro-santilli.ciro
extract_ids ciro-santilli.ciro finished in 1009.6256089992821 ms
extract_ids science.ciro
error: science.ciro:13686:1: named argument "parent" given multiple times
extract_ids science.ciro finished in 1649.6193730011582 ms
but further runs will blast through the files that worked, skipping all files that have sucessfully converted:
extract_ids README.ciro
extract_ids README.ciro skipped by timestamp
extract_ids art.ciro
extract_ids art.ciro skipped by timestamp
extract_ids ciro-santilli.ciro
extract_ids ciro-santilli.ciro skipped by timestamp
extract_ids science.ciro
so you can fix file by file and move on quickly.
This was not fully trivial to implement because we had to rework how duplicate IDs are checked. Previously, we just nuked the DB every time on a directory conversion, and then repopulated everything. If a duplicated showed up on a file, it was a duplicate.
But now that we are not necessarily extracing IDs from every file, we can't just nuke the database anymore, otherwise we'd lose the information. Therefore, what we have to do is to convert every file, and only at the end check the duplicates.
The name cirodown should not appear anywhere now, except with very few exceptions, e.g.:
I have also squatted OurBigBook on all major social media handles for near future usage, e.g.: twitter.com/ourbigbook and so on.
I was going to do this sooner or later, it was inevitable, but the timing was partly triggered due to noticing that English speakers (and likely many other nationalities) are not able to easily read/hear/pronounce "Ciro".
After breaking production and sweating for a bit hotfixing (not that anyone uses the website yet), I decided to be smart and created a staging server: ourbigbook-staging.herokuapp.com. Now I can blow that server up as I wish without afecting users. Documented at: cirosantilli.com/ourbigbook/staging-deployment
After something broke on the website due to SQLite vs PostgreSQL inconsistencies and took me a day to figure it out, I finally decided to update the test system so that OURBIGBOOK_POSTGRES=true npm test will run the tests on PostgreSQL.
Originally, these were being run only on SQLite, which is the major use case for OurBigBook CLI, which came before the website.
But the website runs on PostgreSQL, so it is fundamental to test things in PostgreSQL as well.
One of the key advances of the previous update was to show include headers on the table of contents.
This was to allow splitting source files freely.
While that goal was in principle achieved in that commit, when I went ahead to split the huge index of cirosantilli.com into multiple files, I notice several bugs that took a week to fix.
After all of these were solved, I finally managed to split the README at: github.com/cirosantilli/cirosantilli.github.io/commit/84c8a6e7fdbe252041accfb7a06d9b7462287131 and keep the previous desired output. You can now see that the README contains just:
\Include[ciro-santilli]
\Include[science]
\Include[mathematics]
\Include[technology]
\Include[art]
This split led to a small positive modification of the output as follows. Previously, a section such as "Quantum Electrodynamics" would have been present in the monolithic README.ciro as:
= Quantum electrodynamics
If you visited cirosantilli.com/quantum-electrodynamics, you would see see a link to the "nosplit" version, which would link you back to cirosantilli.com#quantum-electrodynamics, but that is not great, since this is was a humongous page with all of the README.ciro, and took long to display.
After the split, = Quantum electrodynamics is present under science.ciro, and the nosplit version is the more manageable cirosantilli.com/science#quantum-electrodynamics.
The key changes that were missing for that to happen were:
  • upload all of cirosantilli.com to ourbigbook.com. I will do this by implementing an import from filesystem functionality based on the OurBigBook CLI. This will also require implementing slit headeres on the server to work well, I'll need to create one Article for every header on render.
  • get \x and \Include working on the live web preview editor. This will require creating a new simple API, currently the editor jus shows broken references, but final render works because it goes through the database backend
  • implement email verification signup. Finally! Maybe add some notifications too, e.g. on new comments or likes.
Some smart people just brought up to my attention that OurBigBook.com is a bit like: roamresearch.com/ and other graph knowledges. I feel ashemed for not having seen this software and its alternatives before. I was so focused on the "book aspect" of it that I didn't search much in there. I couldn't find an immediate project killer superset from the options in that area, but maybe one exists. We'll see.
I read Human Compatible by Stuart J. Russell (2019). Some AI safety people were actually giving out free copies after a talk, can you believe it! Good book.
Managed to upload the content from the static website cirosantilli.com (OurBigBook Markup source at github.com/cirosantilli/cirosantilli.github.io) to ourbigbook.com/cirosantilli.
Although most of the key requirements were already in place since the last update, as usual doing things with the complex reference content stresses the system further and leads to the exposition of several new bugs.
The upload of OurBigBook Markup files to ourbigbook.com was done with the newly added OurBigBook CLI ourbigbook --web option. Although fully exposed to end users, the setup is not super efficient: a trully decent implementation should only upload changed files, and would basically mean reimplementing/using Git, since version diffing is what Git shines at. But I've decided not to put much emphasis on CLI upload for now, since it is expected that initially the majority of users will use the Web UI only. The functionality was added primarily to upload the reference content.
This is a major milestone, as the new content can start attracting new users, and makes the purpose of the website much clearer. Just having this more realistic content also immediately highlighted what the next development steps need to be.
Once v1.0 is reached, I will actually make all internal links of cirosantilli.com to point to ourbigbook.com/cirosantilli to try and drive some more traffic.
The new content blows up by far the limit of the free Heroku PostgreSQL database of 10k lines. This meant that I needed to upgrade the Heroku Postgres plugin from the free Hobby Dev to the 9 USD/month Hobby Basic: elements.heroku.com/addons/heroku-postgresql, so now hosting costs will increase from 7 USD/month for the dyno to 7 + 9 = 16 UDS/month. After this upgrade and uploading all of cirosantilli.com to ourbigbook.com, Heroku dashboard reads reads:
  • 30,918 rows out of 10,000,000
  • 61.0 MB (out of 10 GB)
so clearly if we are ever forced to upgrade plans again, it means that a bunch of people are using the website and that things are going very very well! Happy how this storage cost turned out so far.
One key limitation found was that Heroku RAM memory is quite limited at 512MB, and JavaScript is not exactly the most memory economical language out there. Started investigation at: github.com/ourbigbook/ourbigbook/issues/230 Initially working around that by simply splitting the largest files. We were just on the verge of what could be ran however luckily, so a few dozen splits was enough, it managed to handle 70 kB OurBigBook Markup inputs. So hopefully if we manage to optimize a bit more we will be able to set a maximum size of 100 kB and still have a good safety margin.
Made the website navbar and article lists more mobile friendly. Main motivation: improvised demos to people I meet IRL!
Make article editing more reasonable. Several bugs in the area.
I've started rewatching The Water Margin, it is just so good. I'm taking some reasonable notes this time however, because due to Ciro Santilli's bad old event memory I'll forget the details again otherwise.
That type of rebellion symbology could also be useful against the Chinese government. It is interesting that Mao Zedong loved the novel.
Video 1. Water Margin tribute to Chinese dissidents. Source.
Added this basic but fundamental protection layer to the website.
The email setup will of course be reused when notifications are eventually implemented.
Currently using SendGrid as the email provider. Very easy to setup, and has a free plan.
Adding reCAPTCHA immediately after email is a must otherwise an attacker could send infinitely many emails to random addresses, which would lead to the domain being marked as spam. I was pleasantly surprised about how easy the integration ended up being.
Every article now has a (very basic) GitHub-like issue tracker. Comments now go under issues, and issues go under articles. Issues themselves are very similar to articles, with a title and a body.
This was part of 1.0, but not the first priority, but I did it now anyways because I'm trying to do all the database changes ASAP as I'm not in the mood to write database migrations.
Here's an example:
https://raw.githubusercontent.com/cirosantilli/media/master/OurBigBook_issue_list_on_article_page.png
Added ourbigbook --format-source automatic code formatting. I implemented it for the following reasons:
  • I want to do certain automatic modifications to source code on web, e.g.:
    • allow users to select the parent article of a new article on the web UI, but that is currently doable only with \Include macros
    • allow users to edit the source only for a specific header
  • later on, much later, this will allow WYSIWYG export to plaintext
This also ended up having one unexpected benefit: whenever a new feature is added that deprecates an old feature, by converting the large corpus from github.com/cirosantilli/cirosantilli.github.io to the new feature I can test the new preferred feature very well.
For example, converting \x[blue cat] en masse to the new insane syntax <blue cat> found several bugs with the new insane syntax.
This seemed somewhat easy at first, so I started it as a way of procrastinating more urgent Web features (web scares me, you know), but it ended being insanely hard to implement, because there are many edge cases. Also, most bugs are not acceptable, as they would corrupt your precious source code and potentially output.
But well, it is done!
Improve article editing which is very buggy and inconvenient!
I'll also look into some more likely easy but very important topic improvements:
I was trying to learn about how some types of quantum computers work, when I came across this pearl:
en.wikipedia.org/wiki/Wolfgang_Paul#Scientific_results Wolfgang Paul, 1989 Nobel Prize in Physics winner, referred to Wolfgang Pauli, 1945 winner, as his "imaginary part".
This month included several exciting extremelly user visible web developments.
I can't help to feel how the speed of developments reflects my relative mastery of the stack, I'm very happy about how it went.
This is a major feature: we have now started to inject the following buttons next to every single pre-rendered header:
  • "Like"
  • "By Other On The Same Topic"
  • "Discussions", i.e. the issue tracker for the header
  • "Create my own version" or "View my version of the page" or "Edit" button depending on wether the user can edit or already has a version of the article or not
This crucial feature makes it clear to every new user that every single header has its own separate metadata, which is a crucial idea of the website.
Figure 1. Screenshot showing metadata next to each header. The page is: ourbigbook.com/donald-trump/chemistry. Note how even the subheaders "Chemical element" and "Hydrogen" show the metadata.
The new default homepage for a logged out user how shows a list of the topics with the most articles.
This is a reasonable choice for default homepage, and it immediately exposes users to this central feature of the website: the topic system.
Doing this required in particular calculating the best title for a topic, since it is possible to have different titles with the same ID, the most common way being with capitalization changes, e.g.:
JavaScript
Javascript
would both have topic ID javascript.
With this in place we also added the preferred topic title to the top topic page.
The algorithm chosen is to pick the top 10 most upvoted topics, and select the most common title from amongst them. This should make topic title vandalism quite hard. This was made in a single SQL query, and became the most complext SQL query Ciro Santilli has ever written so far: twitter.com/cirosantilli2/status/1549721815832043522
Figure 1. Screenshot showing the list of topics. The page is: ourbigbook.com for the logged out user, ourbigbook.com/go/topics for the logged in user.
Figure 2. Screenshot showing a topic page. The page is: ourbigbook.com/go/topic/vector-space. Before this sprint, we didn't have the "Vector Space" at the top, as it wasn't necessarily trivial to determine what the preferred title would be.
Limited the number of articles, and the size of article bodies. This, together with the reCAPTCHA setup from Email verification and reCAPTCHA signup protection should prevent the most basic types of denial-of-service attacks by filling up our database.
The limits can be increased by admin users from the web UI, and will be done generously when it is evident that it is not a DoS attack. Admin users are also a recently added feature.
Editor. As last time. And the one before. But now it is for real.
I guess ended up doing all the "how things should look like" features because they clarify what the website is supposed to do, and I already have my own content to bring it alive via ourbigbook --web upload.
But now I honestly feel that all the major elements of "how things should look like" have fallen into place.
And yeah, nobody else is never going to contribute as things are! WYSIWYG is a must.
I was really impressed by Trillium Notes. I should have checked it long ago. The UI is amazing, and being all Js-based, could potentially be reused for our purposes. The project itself is a single-person/full trust notetaking only for now however, so not a direct replacement to OurBigBook.
Video 1. OurBigBook Web error reporting starting to look amazing. Source.
Ciro Santilli has sometimes wasted time with low impact projects such as those listed at Ciro Santilli's minor projects instead of doing higher impact projects such as those mentioned at: Section "The most important projects Ciro Santilli wants to do".
But maybe "Everything you did brought you where you are now." applies, maybe it is during the "low impact activities" that one gets the inspiration and experience required for the "high impact ones".
Mission: to live in a world where you can learn university-level mathematics, physics, chemistry, biology and engineering from perfect free books that anyone can write to get famous.
Live website: ourbigbook.com
Further information and rationale: Section "OurBigBook.com"
The project's mission is one of, or perhaps the most important, life objective of Ciro Santilli. Reproductive goals aside. These two types of goal are incommensurable. This is one of the great challenges of life.
This is ongoing project.
Ciro's goals in advertising this half done project are is partly to obtain some feedback, and partly to give the idea to someone else who might help push it further, be it in this stack or not.
Better editing support is a must, likely WYSIWYG.
But besides that, it is already in broad strokes the best approach Ciro Santilli can come up with to try and reach the mission statement only with technical advances, i.e. without large amounts of money or political influence which Ciro Santilli does not have.
Maybe that website isn't enough of a technical advance to reach its mission. Maybe there is some further not yet imagined technical insight that would push it into viability. Maybe not. But one must try. Only God can know the answer to these questions.
As of 2022, Ciro has spent about 2.5 years full time working on this project. First he spent about 1 year in 2014 on the first iteration: github.com/booktree/booktree, a GitLab fork, but then decided it was not the way to go.
Then around 2021 he put in some more 1.5 year of full time work, now with a possibly overly complicated (or perhaps just insane/immature) Next.js/Sequelize from scratch website stack.
It makes Ciro a bit ashamed to see that "so little user visible stuff was achieved in so much time". It is partly because he and many people underestimate the difficulty of web development. Perhaps there were some bad stack/usless feature choices issues. And a good dose of indulging in studying the natural sciences to bootstrap content and have fun. But really trying is the only way to learn.
This is the most important technical tutorial project that Ciro Santilli has done in his life so far as of 2019.
The scope is insane and unprecedented, and goes beyond Linux kernel-land alone, which is where it started.
It ended up eating every system programming content Ciro had previously written! Including:
so that that repo would better be called "System Programming Cheat". But "Linux Kernel Module Cheat" sounds more hardcore ;-)
Other major things that could be added there as well in the future are:
Due to this project, some have considered Ciro to be (archive):
some kind of Linux kernel god.
which made Ciro smile, although "Linux kernel documenter God" would have been more precise.
[    1.451857] input: AT Translated Set 2 keyboard as /devices/platform/i8042/s1│loading @0xffffffffc0000000: ../kernel_modules-1.0//timer.ko
[    1.454310] ledtrig-cpu: registered to indicate activity on CPUs             │(gdb) b lkmc_timer_callback
[    1.455621] usbcore: registered new interface driver usbhid                  │Breakpoint 1 at 0xffffffffc0000000: file /home/ciro/bak/git/linux-kernel-module
[    1.455811] usbhid: USB HID core driver                                      │-cheat/out/x86_64/buildroot/build/kernel_modules-1.0/./timer.c, line 28.
[    1.462044] NET: Registered protocol family 10                               │(gdb) c
[    1.467911] Segment Routing with IPv6                                        │Continuing.
[    1.468407] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver              │
[    1.470859] NET: Registered protocol family 17                               │Breakpoint 1, lkmc_timer_callback (data=0xffffffffc0002000 <mytimer>)
[    1.472017] 9pnet: Installing 9P2000 support                                 │    at /linux-kernel-module-cheat//out/x86_64/buildroot/build/
[    1.475461] sched_clock: Marking stable (1473574872, 0)->(1554017593, -80442)│kernel_modules-1.0/./timer.c:28
[    1.479419] ALSA device list:                                                │28      {
[    1.479567]   No soundcards found.                                           │(gdb) c
[    1.619187] ata2.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100                 │Continuing.
[    1.622954] ata2.00: configured for MWDMA2                                   │
[    1.644048] scsi 1:0:0:0: CD-ROM            QEMU     QEMU DVD-ROM     2.5+ P5│Breakpoint 1, lkmc_timer_callback (data=0xffffffffc0002000 <mytimer>)
[    1.741966] tsc: Refined TSC clocksource calibration: 2904.010 MHz           │    at /linux-kernel-module-cheat//out/x86_64/buildroot/build/
[    1.742796] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x29dc0f4s│kernel_modules-1.0/./timer.c:28
[    1.743648] clocksource: Switched to clocksource tsc                         │28      {
[    2.072945] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8043│(gdb) bt
[    2.078641] EXT4-fs (vda): couldn't mount as ext3 due to feature incompatibis│#0  lkmc_timer_callback (data=0xffffffffc0002000 <mytimer>)
[    2.080350] EXT4-fs (vda): mounting ext2 file system using the ext4 subsystem│    at /linux-kernel-module-cheat//out/x86_64/buildroot/build/
[    2.088978] EXT4-fs (vda): mounted filesystem without journal. Opts: (null)  │kernel_modules-1.0/./timer.c:28
[    2.089872] VFS: Mounted root (ext2 filesystem) readonly on device 254:0.    │#1  0xffffffff810ab494 in call_timer_fn (timer=0xffffffffc0002000 <mytimer>,
[    2.097168] devtmpfs: mounted                                                │    fn=0xffffffffc0000000 <lkmc_timer_callback>) at kernel/time/timer.c:1326
[    2.126472] Freeing unused kernel memory: 1264K                              │#2  0xffffffff810ab71f in expire_timers (head=<optimized out>,
[    2.126706] Write protecting the kernel read-only data: 16384k               │    base=<optimized out>) at kernel/time/timer.c:1363
[    2.129388] Freeing unused kernel memory: 2024K                              │#3  __run_timers (base=<optimized out>) at kernel/time/timer.c:1666
[    2.139370] Freeing unused kernel memory: 1284K                              │#4  run_timer_softirq (h=<optimized out>) at kernel/time/timer.c:1692
[    2.246231] EXT4-fs (vda): warning: mounting unchecked fs, running e2fsck isd│#5  0xffffffff81a000cc in __do_softirq () at kernel/softirq.c:285
[    2.259574] EXT4-fs (vda): re-mounted. Opts: block_validity,barrier,user_xatr│#6  0xffffffff810577cc in invoke_softirq () at kernel/softirq.c:365
hello S98                                                                       │#7  irq_exit () at kernel/softirq.c:405
                                                                                │#8  0xffffffff818021ba in exiting_irq () at ./arch/x86/include/asm/apic.h:541
Apr 15 23:59:23 login[49]: root login on 'console'                              │#9  smp_apic_timer_interrupt (regs=<optimized out>)
hello /root/.profile                                                            │    at arch/x86/kernel/apic/apic.c:1052
# insmod /timer.ko                                                              │#10 0xffffffff8180190f in apic_timer_interrupt ()
[    6.791945] timer: loading out-of-tree module taints kernel.                 │    at arch/x86/entry/entry_64.S:857
# [    7.821621] 4294894248                                                     │#11 0xffffffff82003df8 in init_thread_union ()
[    8.851385] 4294894504                                                       │#12 0x0000000000000000 in ?? ()
                                                                                │(gdb)
Code 1. Terminal dump of a LKMC session with two tmux panes with QEMU on left and GDB on right showing a backtrace of the Linux kernel code currently being under QEMU.
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 evetually 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 tends to take most pride on his systems programming answers, which is a subject that truly relatively few people know about. He likes it when he goes insanely deep into a subject, way beyond what OP had in mind, exposing full root causes and broader causes, see e.g.:
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 Santillis 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.
Ciro's first upvote was for his 2012 question: How to run a Python script portably without specifying its full path?
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 3. 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 the user kenorb, which has a surprisingly similar contribution pattern (one of the top necromancers) and subjects (Python, Bash). Ciro tried to contact him to say hi, but it was hard to find a contact. kenorb, feel free to send Ciro a hi one of those days. His GitHub github.com/kenorbA gives name Rafal W. and links to some trading stuff: github.com/EA31337, especially compatible with his stated location of London. Rafal is Rafael in Polish: en.wikipedia.org/wiki/Rafał It would normally have the l with a stroke, but ASCII. LinkedIn: www.linkedin.com/in/kenorb/. Ah, so R3 he works at is actually a blockchain company: en.wikipedia.org/wiki/R3_(R3CEV), FOREX appears to be his on-the-side.
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.
Since 2015 Ciro Santilli has carried out a campaign to promote freedom of speech in China.
The campaign has centered around publishing censored keywords on his Stack Overflow username, thus using his considerable Stack Overflow presence to sabotage the website in China. Here is an early web archive.
Figure 1. Chrysanthemum Xi Jinping with 六四 spice added by Ciro Santilli.
This was one of the profile pictures that Ciro Santilli used as part of his campaign.
Ciro later went on to prefer the "unmodified" Xi Jinping photo cover of some edition Xi Jinping Though, which also reminds Ciro very much of religious devotional pictures, e.g. those of Li Hongzhi.
Ciro understood that the best propaganda against a dictatorial enemy is recontextualized unmodified propaganda produced by the enemy itself. Their propaganda speaks for itself.
Like most people in the West, Ciro has always been for political freedom of speech, and therefore against the Chinese government's policies.
However, the seriousness of the matter only fully dawned on him in 2015 when, his mother-in-law, a then a 63-year-old lady, was put into jail for 15 days for doing Falun Gong.
And all of this was made 100 times worse because Ciro deeply loves several aspects of China, such as food, language, art and culture, and saw it all being destroyed by the Communists: cirosantilli.com/china-dictatorship/does-ciro-santilli-hate-china
The rationale of this is to force the Chinese government to either:
  • leave things as they are, and let censored keywords appear on Stack Overflow (most likely scenario)
  • block Stack Overflow, and lose billions of dollars with worse IT technology
  • disable the Great Firewall
In the beginning, this generated some commotion, but activity reduced as novelty wore off, and as he collected the reply to all possible comments at: github.com/cirosantilli/china-dictatorship.
This campaign has led him to have an insane profile view/reputation ratio, since many people pause to look at his profile. He is point "A" at the top right corner of Figure 2. "Scatter plot of Stack Overflow user reputation vs profile views in March 2019 with Ciro Santilli marked as A":
Figure 2. Scatter plot of Stack Overflow user reputation vs profile views in March 2019 with Ciro Santilli marked as A. The A is towards the top right corner.
Ciro feels that the view count started increasing more slowly since 2020 compared to his reputation, likely every single Chinese user has already viewed the profile.
Figure 3. Ciro Santilli with a stone carved Budai in the Feilai Feng caves near the Lingyin Temple in Hangzhou taken during his legendary 2012 touristic trip to China. Will he ever be able to go to China again to re-experience such marvelous locations?
Video 1. Water Margin tribute to Chinese dissidents by Ciro Santilli (2022) Source. More information: cirosantilli.com/china-dictatorship/water-margin
These are some smaller projects that Ciro Santilli carried out. They are all either for fun, or misguided use of his time done by an younger self:
They are sorted in order of "most likely to get done first".
Actual section at: Section "OurBigBook.com"
Video 1. Top Down 2D Continuous Game with Urho3D C++ SDL and Box2D for Reinforcement learning by Ciro Santilli (2018) Source. Source code at: github.com/cirosantilli/Urho3D-cheat.
Figure 1. Screenshot of the basketball stage of Ciro's 2D continuous game. Source code at: github.com/cirosantilli/rl-game-2d-grid. Big kudos to game-icons.net for the sprites.
Video 2. Top Down 2D Discrete Tile Based Game with C++ SDL and Boost R-Tree for Reinforcement Learning by Ciro Santilli (2017) Source.
The goal of this project is to reach artificial general intelligence.
A few initiatives have created reasonable sets of robotics-like games for the purposes of AI development, most notably: OpenAI and DeepMind.
However, all projects so far have only created sets of unrelated games, or worse: focused on closed games designed for humans!
What is really needed is to create a single cohesive game world, designed specifically for this purpose, and with a very large number of game mechanics.
Notably, by "game mechanic" is meant "a magic aspect of the game world, which cannot be explained by object's location and inertia alone" in order to test the the missing link between continuous and discrete AI.
Much in the spirit of gvgai, we have to do the following loop:
  • create an initial game that a human can solve
  • find an AI that beats it well
  • study the AI, and add a new mechanic that breaks the AI, but does not break a human!
The question then becomes: do we have enough computational power to simulation a game worlds that is analogous enough to the real world, so that our AI algorithms will also apply to the real world?
To reduce computation requirements, it is better to focus on a 2D world at first. Such world with the right mechanics can break any AI, while still being faster to simulate than a 3D world.
The initial prototype uses the Urho3D open source game engine, and that is a reasonable project, but a raw Simple DirectMedia Layer + Box2D + OpenGL solution from scratch would be faster to develop for this use case, since Urho3D has a lot of human-gaming features that are not needed, and because 2019 Urho3D lead developers disagree with the China censored keyword attack.
Simulations such as these can be viewed as a form of synthetic data generation procedure, where the goal is to use computer worlds to reduce the costs of experiments and to improve reproducibility.
Ciro has always had a feeling that AI research in the 2020's is too unambitious. How many teams are actually aiming for AGI? When he then read Superintelligence by Nick Bostrom (2014) it said the same. AGI research has become a taboo in the early 21st century.
Related projects:
Bibliograpy:
Video 3. DeepMind Has A Superhuman Level Quake 3 AI Team by Two Minute Papers (2018) Source. Commentary of DeepMind's 2019 Capture the Flag paper. DeepMind does some similar simulations to what Ciro wants, but TODO do they publish source code for all of them? If not Ciro calls bullshit on non-reproducible research. Does this repo contain everything?
Video 4. OpenAI Plays Hide and Seek... and Breaks The Game! by Two Minute Papers (2019) Source. Commentary of OpenAi's 2019 hide and seek paper. OpenAI does some similar simulations to what Ciro wants, but TODO do they publish source code for all of them? If not Ciro calls bullshit on non-reproducible research, and even worse due to the fake "Open" in the name. Does this repo contain everything?
Video 5. Much bigger simulation, AIs learn Phalanx by Pezzza's Work (2022) Source. 2d agents with vision. Simple prey/predator scenario.
It is unbelievable that you can't find easily on YouTube recreations of many of the key physics/chemistry experiments and of common laboratory techniques.
Experiments, the techniques required to to them, and the history of how they were first achieved, are the heart of the natural sciences. Without them, there is no motivation, no beauty, no nothing.
School gives too much emphasis on the formulas. This is bad. Much more important is to understand how the experiments are done in greater detail.
The videos must be completely reproducible, indicating the exact model of every experimental element used, and how the experiment is setup.
A bit like what Ciro Santilli does in his Stack Overflow contributions but with computers, by indicating precise versions of his operating system, software stack, and hardware whenever they may matter.
It is understandable that some experiments are just to complex and expensive to re-create. As an extreme example, say, a precise description of the Large Hadron Collider anyone? But experiments up to the mid-20th century before "big science"? We should have all of those nailed down.
We should strive to achieve the cheapest most reproducible setup possible with currently available materials: recreating the original historic setup is cute, but not a priority.
Furthermore, it is also desirable to reproduce the original setups whenever possible in addition to having the most convenient modern setup.
Lists of good experiments to cover be found at: the most important physics experiments.
This project is to a large extent a political endeavour.
Someone with enough access to labs has to step up and make a name for themselves through the huge effort of creating a baseline of amazing content without yet being famous.
Until it reaches a point that this person is actively sought to create new material for others, and things snowball out of control. Maybe, if the Gods allow it, that person could be Ciro.
Tutorials with a gazillion photos and short videos are also equally good or even better than videos, see for example Ciro's How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in its for an example that goes toward that level of perfection.
The Applied Science does well in that direction.
This project is one step that could be taken towards improving the replication crisis of science. It's a bit what Hackster.io wants to do really. But that website is useless, just use OurBigBook.com and create videos instead :-)
We're maintaining a list of experiments for which we could not find decent videos at: Section "Physics experiment without a decent modern video".
Ciro Santilli visited the teaching labs of a large European university in the early 2020's. They had a few large rooms filled with mostly ready to run versions of several key experiments, many/most from "modern physics", e.g. Stern-Gerlach experiment, Quantum Hall effect, etc.. These included booklets with detailed descriptions of how to operate the apparatus, what you'd expect to see, and the theory behind them. With a fat copyright notice at the bottom. If only such universities aimed to actually serve the public for free rather than hoarding resources to get more tuition fees, university level education would already have been solved a long time ago!
When Ciro Santilli first learnt the old Zermelo-Fraenkel set theory and the idea of formal proofs, his teenager mind was completely blown.
Finally, there it was: a proper and precise definition of mathematics, including a definition of integers, reals and limits!
Theorems are strings, proofs are string manipulations, and axioms are the initial strings that you can use.
Once proved, press a button on your computer, and the proof is automatically verified. No messy complicated "group of savants" reading it for 4 years and looking for flaws!
There are a few proof assistant systems with several theorems in their Git tracked standard library. The hottest ones circa 2020 are:
And here are some more interesting links:
However, as expressed by the QED manifesto, is unbelievable that there isn't one awesome and dominating website, that hosts all those proofs, possibly an on the browser editor, and which all mathematicians in the world use as the one golden reference of mathematics to rule them all!
Just imagine the impact.
Standard library maintainers don't have to deal with the impossible question of what is "beautiful" or "useful" enough mathematics to deserve merged: users just push content to the online database, and star what they like!
We then just use GitHub-like namespaces for each person's theorem, e.g. "cirosantilli/fundmaental-theorem-of-calculus" or "johndoe/fundmaental-theorem-of-calculus" so that each person owns their own preferred definition IDs, which others can reuse.
No more endless bikeshedding over what insane level of generality do your analysis theorems need to be (Ciro Santilli attended at talk about lean where the speaker mentioned this was a problem)!
This would move things more out of the "pull request and Git tracked code" approach, into a more "database with entries" version of things.
Furthermore, it is just a matter of time until the "single standard library" approach starts to break down, as the git clone becomes impossibly large. At this point, people have to start publishing separate packages. And when this happens, you would need to retest every package that you add to your project. This is why a centralized database is just inevitable at some point, it just scales better.
Interested in a conjecture? No problem: just subscribe to its formal statement + all known equivalents, and get an email on your inbox when it gets proved!
Are you a garage mathematician and have managed to prove a hard theorem, but no "real" mathematician will read your proof because your unknown? Fuck that, just publish it on the system and let it get auto verified. Overnight fame awaits.
Notation incompatibility hell? A thing of the past, just automatically convert to your preferred representation.
Such a system would be the perfect companion to OurBigBook.com. Just like computer code offers the backbone of Linux Kernel Module Cheat Linux kernel tutorials, a formal proof system website would be the backbone of mathematics tutorials! You know what, if OurBigBook.com becomes insanely successful, Ciro is going to add this to it later on.
Furthermore, it would not be too hard to achieve this system!
All we would need would be something analogous to a package registry like PyPI or NodeJS' registry.
Then, each person can publish packages containing proofs.
Packages can rely on other packages that contain pre-requisites definition or theorem.
Packages are just regular git repos, with some metadata. One notable metadata would be a human readable description of the theorems the package provides.
The package registry would then in addition to most package registries have a CI server in it, that checks the correctness of all proofs, generates a web-page showing each theorem.
All proofs can be conditional: the package registry simply shows clearly what axiom set a theorem is based on.
This is a close as we can get to Erdős' book.
Maybe Ciro will just stuff this into OurBigBook.com once that takes over the world.
This project could be seen as a more automated/less moderated version of ProofWiki.
Bibliography:
If you are going to live, you might as well chase one of them.
You might not achieve them in your lifetime, but you never know. At some point, the pieces just "fall into place", and they happen.
And they will all come from deep tech.
Ciro Santilli would like to contribute to them. but this is a bit less realistic than software projects.
But who knows? Maybe he can code some stuff in those areas.
And one can at least have some fun by learning deeply about those subjects.
As of 2019, the silicon industry is ending, and molecular biology technology is one of the most promising and growing field of engineering.
Figure 1. 42 years of microprocessor trend data by Karl Rupp. Source. Only transistor count increases, which also pushes core counts up. But what you gonna do when atomic limits are reached? The separation between two silicon atoms is 0.23nm and 2019 technology is at 5nm scale.
Such advances could one day lead to both biological super-AGI and immortality.
Ciro Santilli is especially excited about DNA-related technologies, because DNA is the centerpiece of biology, and it is programmable.
First, during the 2000's, the cost of DNA sequencing fell to about 1000 USD per genome in the end of the 2010's: Figure 2. "Cost per genome vs Moore's law from 2000 to 2019", largely due to "Illumina's" technology.
The medical consequences of this revolution are still trickling down towards medical applications of 2019, inevitably, but somewhat slowly due to tight privacy control of medical records.
Figure 2. Cost per genome vs Moore's law from 2000 to 2019. Source.
Ciro Santilli predicts that when the 100 dollar mark is reached, every person of the First world will have their genome sequenced, and then medical applications will be closer at hand than ever.
But even 100 dollars is not enough. Sequencing power is like computing power: humankind can never have enough. Sequencing is not a one per person thing. For example, as of 2019 tumors are already being sequenced to help understand and treat them, and scientists/doctors will sequence as many tumor cells as budget allows.
Then, in the 2010's, CRISPR/Cas9 gene editing started opening up the way to actually modifying the genome that we could now see through sequencing.
What's next?
Ciro believes that the next step in the revolution could be could be: de novo DNA synthesis.
This technology could be the key to the one of the ultimate dream of biologists: cheap programmable biology with push-button organism bootstrap!
Just imagine this: at the comfort of your own garage, you take some model organism of interest, maybe start humble with Escherichia coli. Then you modify its DNA to your liking, and upload it to a 3D printer sized machine on your workbench, which automatically synthesizes the DNA, and injects into a bootstrapped cell.
You then make experiments to check if the modified cell achieves your desired new properties, e.g. production of some protein, and if not reiterate, just like a software engineer.
Of course, even if we were able to do the bootstrap, the debugging process then becomes key, as visibility is the key limitation of biology, maybe we need other cheap technologies to come in at that point.
This a place point we see the beauty of evolution the brightest: evolution does not require observability. But it also implies that if your changes to the organism make it less fit, then your mutation will also likely be lost. This has to be one of the considerations done when designing your organism.
Other cool topic include:
It's weird, cells feel a lot like embedded systems: small, complex, hard to observe, and profound.
Ciro is sad that by the time he dies, humanity won't have understood the human brain, maybe not even a measly Escherichia coli... Heck, even key molecular biology events are not yet fully understood, see e.g. transcription regulation.
One of the most exciting aspects of molecular biology technologies is their relatively low entry cost, compared for example to other areas such as fusion energy and quantum computing.
As of 2020, Ciro Santilli is getting excited about quantum computing, which is a deep tech field.
He's a bit lazy to explain why here, but Googling will be more than enough.
There is a risk it will fizzle and the bubble pop, like any revolution.
But recent developments are making it too exciting to ignore.
This is one of the deep tech bets that Ciro Santilli would put his money in as of 2020.
How hard could it be? You just have to learn the encoding of the neural spine/eyes/ear, add an invasive device that multiplexes it, and then the benefits could be mind blowing.
Interestingly and obviously, the initial advances in the area are happening for people that have hearing or vision difficulties. Since they already have a deficient sense, you don't lose that much by a failed attempt.
Hearing is likely to be the first since it feels the simplest. Ciro heard there are even already clinical applications there. TODO source.
Main section: fusion power.
This is a long haul. But we have to give it a shot.
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.
Some random generally less technical in-tree essays will be present at: Section "Essays by Ciro Santilli".
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 work, use direct messages of the following profiles from under Section "Accounts controlled by Ciro Santilli":
If you are a privacy freak or are going to tell Ciro state secrets Ciro has this GNU Privacy Guard public key: pubkey.gpg.
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.
Ciro Santilli controls the following accounts.
With non-trivial activity:
Other accounts:
Profiles without URLs (OMG...):
  • Discord: username cirosantilli, previously cirosantilli#8921
Accounts in Chinese websites. These accounts might be banned or altered or offer other limitations, so Ciro only communicates briefly through them. All communication through those channels should obviously be assumed to be compromised:
Accounts in Russian websites:
Dead websites:
Accounts controlled by Ciro Santilli on Twitter:
Welcome to the wonderful world of Cirism!
Followers of Cirism call themselves Cirists, and their primary goal in life is to obtain Cirocoins.
Enlightened Cirists donate money to the cause at: Section "Sponsor Ciro Santilli's work on OurBigBook.com". It is totally optional of course, your soul will just be eternally damned if you don't.
Ciro Santilli once proclaimed:
Thou shalt eat thy watermelon in the morning, and thy melon in the evening. Thou shalt not eat thy watermelon in the evening, nor shalt thou eat thy melon in the morning.
Unconditional basic income is Ciro Santilli's ultimate non-transhumanist technological dream: to reach a state of technological advancement and distribution of resources so high that everyone gets money for doing nothing, enough for:
  • basic survival needs: food, housing, clothes, hygiene, etc.
  • two children to keep the world going. Or immortality tech, but is harder and borderline transhumanist :-)
  • high speed computer and Internet
Once a person has that, they can "learn, teach" and create whatever they want. Or play video games all day long if they wish.
Ciro Santilli will not live to see this, and is content with helping it happen faster by increasing the efficiency of the world as. And having at least two well educated kids to carry on the project after he dies :-)
Technologies which would help a lot towards unconditional basic income, and might be strictly required required are:
So in the worst case we can just grow brainless bodies and replace the cavity hole with a computer that controls the body, possibly with high level decisions coming from a remote building-sized genetically engineered biological AGI brain.
Of course, it is all about costs. A human costs about 130k 2010 USD/year. So how cheap can we make the AGI / robot human equivalent / year for a given task?
AGI + humanoid robots likely implies AI takeover though. It would then come down to human loving bots vs human hating bots fighting it out. It will be both terrifying and fun to watch.
AGI alone would be very dangerous, in case it can get control of our nuclear arsenals through software zero days or social engineering. Although some claim that is unlikely.
Humanity's best bet to achieve silicon AGI today is to work on: Ciro's 2D reinforcement learning games.
By Charles Bukowski mentioned e.g. at tatyanany.medium.com/slavery-was-never-abolished-it-was-only-extended-to-include-all-the-colors-6ca21d586e7e:
Slavery was never abolished, it was only extended to include all the colors.
Bibliography:
Video 1. Easy street by Stan Kenton and June Christy (1945) Source. TODO exact lyrics for copy paste? There seem to be several variants, and I don't have the patience to transcribe. Close enough: lyricsplayground.com/alpha/songs/e/easystreet.html. Except that with UBI there won't be a:
guy that you can hire to plant trees so you can have shade
because most people will have something better to do. That's where artificial general intelligence comes in!
Figure 1. Tower of Babel by Pieter Bruegel the Elder (1563) Source.
Even the Bible writers already know that multiple languages suck as seen from the Tower of Babel parable
Isn't it incredibly fitting that the building of the European Parliament looks like the Tower of Babel?
The fact that in poor countries a huge number of people do not speak the economically dominating language of the world, the lingua franca, English as of 2020, is a major obstacle to the development of those countries.
Despite us being in the information age, the people in those countries cannot fully benefit from it at all!
Teaching its people English should be the number one priority of any country. Without that, there can be no technological development. Everything else is secondary and can be learnt off the Internet once you know English.
And the most efficient way to do that, is that every country should create amazing free open source English learning material for their own language.
European countries are perhaps the most perfect example of how many languages destroy once powerful countries: Section "European Tower of Babel (Europe is doomed)"
The Sapir–Whorf hypothesis is bullshit outside of poetry, and the ending of Arrival (2016) makes one want to puke, where learning a language changes not only your brain, but also Ciro's precious "laws" of Physics!
Much more likely are To Serve Man/A Small Talent for War events which we have already seen countless times!
Remember that those ideas come from a person who speaks 3.5 languages in 2019, and sees absolutely no practical difference between them.
Of course, like all non-constructed languages, English is not fully optimal in terms of regularity and information density. It could be argued that other languages are better in those aspects.
For example, Ciro does believe that spoken Chinese is a better language than English overall from a purely "ease of learning from scratch point of view" as mentioned at: github.com/cirosantilli/china-dictatorship/tree/6fdeb5aa3826c69f7c058de4e6f652a6924bc08a#does-ciro-santilli-speak-chinese. Chinese writing is completely insane of course, completely out of the question.
However, Ciro just doesn't think that the difference is that great to justify replacing English which is already dominant. How much more efficient can a perfect constructed language be than English? 1.01? 1.001? Such margins don't matter. Once you have learnt it young, it's done, for good.
English-based a posteriori constructed languages that regularize English further are perhaps the only reasonable alternative, like how C++ evolved from C by creating a low cost upgrade path. Although in practice they will never take off unless a dictatorship rules the world:
One interesting anecdote is that Ciro met his wife in French, and talking to her primarily in English feels really weird, so language does matter in love.
Different languages might also good at producing interesting diverse touristic locations, with different diverse and interesting foods. Because that's what tourism is all about. The exotic. The unique. And therefore, also necessarily the inefficient.
People with similar ideas:
Video 1. English spelling - a bit mad, but perhaps the best system around by Lindybeige (2015) Source. To be taken as a semi-joke, but he does mention the interesting point that English insane spelling helps disambiguate reading, like an intermediate between Chinese characters and more regular spelled languages.
What big companies have been created in Europe after World War II, that have not been bought or utterly defeated by American or Japanese companies?
  • International Computers Limited fully bought by Fujitsu in 1998 after a long decline. The Fujitsu Wikipedia entry contains the emblematic image caption:
    The Fujitsu office in Bracknell, United Kingdom, formerly an ICL site and opened by HM the Queen in 1976
    So much for The Queen. This was a prelude to Arm's sale somewhat.
  • Solexa sold to Illumina (American company) for 600M USD in 2007. As of 2020 is still the basis for the dominant DNA sequencing technology in the world
  • CSR sold to Qualcomm (American company) for 2.5B USD in 2015
  • Dotmatics sold to Insightful Science for $690M[ref] in 2021. To add insult to inujury, Insightful changed its brand to Dotmatics later on.
  • Arm sold to Softbank (32B USD in 2016)? ARM being of course the fortunate leftover of Acorn Computers's defeat to the more edible Apple
Because of all these failures, much fanfare was made as Spotify reached a $50B market capitalization in 2020. An art company, so cute!
As of 2023, the LVMH was the most valuable company in Europe by market capitalization[ref]. Luxury goods. An area of industry that borders between the useless and the evil.
Europe has basically become an outsourcing hub for the United States. The fact that its starts are all sold if they become large enough just means that R&D is also outsourced.
ASML, and perhaps more maeaningfully its parent/predecessor ASM International from 1964 is perhaps the biggest exception.
The key problem is that there are so many small countries in Europe, that any startup has to deal with too many incompatible legislation and cannot easily sell to the hole of Europe and scale. So then a larger company from a more uniform country comes and eats it up!
Talent mobility is another issue:
  • people can't generally work remotely from different countries for the same company as regular employees, only as contractors. This is because of fiscal incompatibilities across countries[ref][ref], and has become an increasing problem in the 2020's with the increase in remote work possibilities during/after COVID-19.
  • it is quite rare for people to study at university in different countries than their own, because the entry examinations are in the native language and have local history knowledge components. This also means that people from different countries don't easily recognize which are the best Universities of other countries, making you take a hit if you want to search for jobs elsewhere
So why can't Europe unify its laws?
Because the countries are still essentially walled off by languages. Europe is the perfect example of why having more than one natural language is bad for the world.
There isn't true mobility of people between countries.
You just can't go study or work in any other country (except for the UK, when it was still in the EU) without putting a huge effort into learning its language first.
Without this, there isn't enough mixing to truly make cultures more uniform, and therefore allow the laws to be more uniform.
Europe can't even unify basic things like:
  • a marriage registry
  • the mail system, parcels often getting lost and require you to contact people who may not speak English
  • the train systems: www.linkedin.com/posts/hinrich-thoelken_cop26-activity-6863490595072045057-Xhlg/
    This year, I decided to travel from Berlin to COP26 in Glasgow by train. The journey was expected to cover 4 trains from 4 different railway operators and to last 17 hours. I had planned for at least 30 minutes transfer time in Cologne, Brussels and London.
    Well, as you might have guessed, in reality the trip took 32 hours and I spent one extra night at a hotel in London.
Equally so, it can't force little fiscal paradises who effectively benefit from being in Europe like Ireland, Luxembourg, Monaco, Switzerland ("not European", but should that be allowed?) and Cyprus (the EU can't even maintain its territorial integrity, let alone fiscal) to not offer ridiculously low taxes and incentives which make them entry points for foreign companies to rape Europe.
For this reason, Europe will only continue to go downhill with the years, and the United Kingdom will continue to try and endosymbiose into a state of the United States (although at times it seems that it would rather endosymbiose with China instead).
Historically, this disunion is partly due to the European balance of power, whereby countries would form alliances with old enemies to prevent another country from taking over. Also linked are failed military unification attempts by Napoleon and Hitler, though we are likely better off without the latter succeeding!!! Though those also partly failed due to wider balance of power issues involving the United Kingdom, the Soviet Union and USA, not only due to internal balance. Of course, none of that matters anymore after World War II, where other more unified Europe-sized potencies rose, first the USA and the Soviet Union, and then China, and now European disunion is nothing but a burden.
Evidence such as those makes it clear that the European Union is a failure.
One thing must be said in favour of Europe's mess however: it favours international collaboration in huge projects as a more neutral middle ground. This can be seen more clearly in the ITER and the fiasco that was the Superconducting Super Collider that was cancelled a couple of billion dollars in partly because it failed to attract any foreign investment, compared to the Large Hadron Collider which went on to find the Higgs boson as mentioned at www.scientificamerican.com/article/the-supercollider-that-never-was/.
Video 1. Why Europe Lost Semiconductors by Asianometry (2023) Source.
!!! Survivorship bias alert !!!
quoteinvestigator.com/2018/05/07/overcome/
If you want to do something, but you are afraid to do it, then that is likely what you should do.
quoteinvestigator.com/2013/11/08/not-bend/
Don't bend; don't water it down; don't try to make it logical; don't edit your own soul according to the fashion. Rather, follow your most intense obsessions mercilessly.
www.goodreads.com/quotes/50458-whatever-you-re-meant-to-do-do-it-now-the-conditions
Whatever you're meant to do, do it now. The conditions are always impossible.
For example, when Ciro Santilli was deciding what to do in university, he wanted mostly to do pure physics.
But because he was afraid he was going to die poor and unemployed because of that, he picked engineering instead.
That was a mistake.
His family was not even poor. He was young and did not have a family to support. His father even told him: "do whatever the fuck you want, we support your decision".
But he was a coward.
It was also in part because a physicist uncle which he respected suggested that as an engineer Ciro might be able to make useful contributions to tooling required by physics. When Roberto Salmeron died in 2020, Ciro's friends shared this 2013 video interview with the late professor, where he explains he first went to the University of São Paulo to study engineering (like Ciro), but then fell for his passion for physics (like Ciro?), his first task being to build a Geiger counter, thus explaining the likely origin of the uncle's theory. But who knows, maybe he was right. Maybe Ciro's OurBigBook.com will become huge and help a lot of people, and it might not have had Ciro not done engineering and learnt programming. Destiny operates in weird ways sometimes.
Furthermore, while in University, Ciro learnt about the molecular Sciences Course of the University of São Paulo, a fantastic sounding full time course that any student could transfer to called that teaches various natural sciences topics which Ciro loves (Mathematics, Physics, Chemistry, Biology) and which students from the entire university can apply to transfer to only after joining the university, with the guarantee that they can go back to their original courses if they didn't adapt to the new course.
But did Ciro do it? Nope, he remained an even larger coward.
Had he studied more sciences, he might have been happier, and might have had greater achievements later in life, in particular when he went to École Polytechnique.
Maybe not, but now this doubt will never leave his mind until the final day.
Similar thoughts crossed his mind when he started his campaign for freedom of speech in China, but this time he had learnt the lesson, and went for it, and it felt very good.
If you have a day job, but also have a dream, and want to keep the day job for a reason, try to reserve the time of the day that your brain works best before or after work for your dream: do one cool thing every day.
Companies can help you grow because you see real problems from within them, but their end goal is to consume you as much as possible. Don't let that happen. Invest part of what you gain, in yourself. www.outsideonline.com/outdoor-adventure/paradox-going-outside/ The Paradox of Going Outside by James Somers (2012) puts it incredibly well:
I work, for instance, as a Web developer. It's a very good job. Our office is a block south of Union Square, a 12-minute commute from my apartment. We're served breakfast every morning. Our kitchen is stocked with "provisions" of organic beef jerky, coconut water, craft beers, chips, and two restaurant-class espresso machines. We have two ping pong tables and buckets of 3-star ping pong balls. (A new office manager bought "1-stars" once and some of the guys protested by crushing them.) We work on 4-cored Apple Mac computers with dual monitors. We have an unmolested hour for lunch, 10-minute breaks in the morning and afternoon, and a "do not disturb" policy past the working hours. We even have a specific email address where employees can ask for free things: genuine maple syrup, hot chocolate, a $900 chair, a new keyboard. Most of the programmers make six figures, and many of those have only three or four years of experience.
It's impossible to say so without sounding like the spokesperson for Entitlement itself but working there is still sort of soul-crushing. It's soul-crushing in the way that any job that doesn't command your full passionate attention must be. What happens is that I will be in my chair in the early afternoon and I will accidentally step out of myself and all I'll see is time passing, nine-hour parcels of healthy consciousness forever being packed away as the user experience of clerical workers or consumers or whoever gets marginally better; and I'll end up thinking that this enterprise of mine is not so much creative but bureaucratic, that what I've gotten good at is reading the instruction manuals of other people, finding my way around their insignificant warrens. And in those moments the whole business will seem to me like kind of a tragic waste.
Other quotes:
  • Healthy Disregard For The Impossible
    is a phrase Sergey Brin uses. The Google Story claims he picked that up from academia, and quotes this from a september 2003 talk in an Israeli elite high school.
  • quoteinvestigator.com/2014/05/29/find-love/
    Find What You Love and Let It Kill You
  • Cute boy things by Caroline Ellison:
    if you are a boy with the confidence to advocate for unconventional ideas and take actions based on them you are valid
  • How can I be as great by Justine Musk:
    rock the boat
  • From the 1922 poem Portuguese Sea by famous Portuguese poet Fernando Pessoa, which gets drilled into the head of every Brazilian high school student:
    He who wants to pass beyond the Bojador
    Must go beyond pain.
    Quem quer passar além do Bojador
    Tem que passar além da dor.
  • Translation of a poem by Muhammad Iqbal TODO date:
    Said one gazelle to another, "I will Take shelter in the harem from now on; For there are hunters at large in the wild, And there is no peace here for a gazelle. From fear of hunters I want to be free. O how I long for some security."
    His friend replied, "Live dangerously, my Wise friend, if it is life you truly seek. Like a sword of fine mettle hurl yourself Upon the whetting-stone; stay sharp thereby. For danger brings out what is best in you: It is the touchstone of all that is true."
    One is reminded of As iron sharpens iron, so one person sharpens another.
  • "NPC life" as a way to refer to a soul crushing job
    • twitter.com/0xTenkito/status/1775167216641548732, a cryptocurrency investor says:
      If my portfolio goes to 0 and I lose everything, I will continue with my normal life, in a 9-5 job, and I will try to invest again as soon as I get a financial cushion again.
      I have nothing to lose, I can always live the standard NPC life, but to escape from it you have to take risks and take risks.
      However there is one thing to lose, if you do safer investments and don't lose everything, then you might be able to retire earlier.
    • archive.ph/mlaLK
Don't be a pussy. Be a Based God
Figure 1. Dilbert "A small brain irrationally puts more weight on a small loss than on a huge opportunity" cartoon (2000) Source.
Figure 2. Jake Likes Onions "Slowly" cartoon. Source. This is what trying to reach a dream part time feels like. The cartoon reads: "The tiger pursues its prey. Slowly. The human pursues its life goals. Slowly. Very slowly.".
Video 1. Excerpt from the documentary film "Steve Jobs: Secrets of Life" (1994) Source.
When you grow up you tend to get told that the world is the way it is and your life is just to live your life inside the world. Try not to bash into the walls too much. Try to have a nice family life, have fun, save a little money. That's a very limited life. Life can be much broader once you discover one simple fact: Everything around you that you call life was made up by people that were no smarter than you. And you can change it, you can influence it... Once you learn that, you'll never be the same again.
Of course, survivorship bias alert!
Video 2. What Would You Do If Money Were No Object by Alan Watts. Source. Sample transcription: genius.com/Alan-watts-what-if-money-was-no-object-annotated:
What do you desire? What makes you itch? What sort of a situation would you like?
Let's suppose, I do this often in vocational guidance of students, they come to me and say, well, "we're getting out of college and we have the faintest idea what we want to do". So I always ask the question, "what would you like to do if money were no object? How would you really enjoy spending your life?"
Well, it's so amazing as a result of our kind of educational system, crowds of students say well, we'd like to be painters, we'd like to be poets, we'd like to be writers, but as everybody knows you can't earn any money that way. Or another person says well, I'd like to live an out-of-doors life and ride horses. I said you want to teach in a riding school?
Let's go through with it. What do you want to do? When we finally got down to something, which the individual says he really wants to do, I will say to him, you do that and forget the money, because, if you say that getting the money is the most important thing, you will spend your life completely wasting your time. You'll be doing things you don't like doing in order to go on living, that is to go on doing things you don't like doing, which is stupid. Better to have a short life that is full of what you like doing than a long life spent in a miserable way.
And after all, if you do really like what you're doing, it doesn't matter what it is, you can eventually turn it - you could eventually become a master of it. It's the only way to become a master of something, to be really with it. And then you'll be able to get a good fee for whatever it is. So don't worry too much. That's everybody is - somebody is interested in everything, anything you can be interested in, you will find others will.
But it's absolutely stupid to spend your time doing things you don't like, in order to go on spending things you don't like, doing things you don't like and to teach our children to follow in the same track. See what we are doing, is we're bringing up children and educating to live the same sort of lifes we are living. In order that they may justify themselves and find satisfaction in life by bringing up their children to bring up their children to do the same thing, so it's all retch and no vomit. It never gets there. And so, therefore, it's so important to consider this question: What do I desire?
Video 3. Keep Chargin' from a Show of Hands by Victor Wooten (1996). Source.
That's the way I live my life, I give it my all. I think that a person should really make up his mind what he wants to do, and when did made up, he cannot fail at it. The basic rule to sucess I think, is when the going gets tough, that is a positive signal to keep chargin'.
Closely echoes Video 2. "What Would You Do If Money Were No Object by Alan Watts". Survivorship bias? Maybe. Beautiful? Unquestionably. So glad he was allowed to upload it officially to YouTube.
Video 4. Your Life is Your life by Charles Bukowski. Source.
Charles Bukowski is one of the most hardcore don't be a pussy people ever. It's alsmost scary. Beyond Ciro level.
thebestamericanpoetry.typepad.com/the_best_american_poetry/2008/11/the-laughing-he.html
your life is your life
don't let it be clubbed into dank submission.
be on the watch.
there are ways out.
there is light somewhere.
it may not be much light but
it beats the darkness.
be on the watch.
the gods will offer you chances.
know them.
take them.
you can't beat death but
you can beat death in life, sometimes.
and the more often you learn to do it,
the more light there will be.
your life is your life.
know it while you have it.
you are marvelous
the Gods wait to delight
in you.
www.goodreads.com/quotes/39207-if-you-re-going-to-try-go-all-the-way-otherwise
If you're going to try, go all the way. Otherwise, don't even start. This could mean losing girlfriends, wives, relatives and maybe even your mind. It could mean not eating for three or four days. It could mean freezing on a park bench. It could mean jail. It could mean derision. It could mean mockery--isolation. Isolation is the gift. All the others are a test of your endurance, of how much you really want to do it. And, you'll do it, despite rejection and the worst odds. And it will be better than anything else you can imagine. If you're going to try, go all the way. There is no other feeling like that. You will be alone with the Gods, and the nights will flame with fire. You will ride life straight to perfect laughter. It's the only good fight there is.
I have one of two choices - stay in the post office and go crazy... or stay out here and play at writer and starve. I have decided to starve.
Figure 3. Bukowski kissing his typewriter. Like Ciro Santilli and his computer!
Video 5. All adults are bored scene from an Edward Teller, An Early Time. Source.
Up to the time that I met Klug ([a mathematiciam]), I was sure that all grown ups were people to be pitied. They had to work, they were tired, they were bored with what they were doing. I heard both my parents often complain. Klug was the first man whom I met who most obviously enoyed what he was doing.
But to be fair, being a fucking "genius" might be a requirement to escape that fate!
Figure 4. Modern Sisyphus by Sephko. Source.
Ciro Santilli believes that there is a close link between the ability to create disruptive technology, and the desire to find bugs/exploits in systems.
Both of them destabilize society and enterprises.
Some examples:
  • Jobs and Wozniak's blue box
  • Robert Noyce's stealing a pig for a university party somewhat as a joke. This was actually a felony, but he got away with a compromise by paying the owner and being suspended for 6 months. The law is not blind, and thanks for that sometimes.
    Oh, and apparently he also got a university girlfriend pregnant, and she had an abortion.
  • Mark Zuckerberg's FaceMash
And yes, this sometimes leads into a fine line between legality and illegality:
Ciro Santilli's own naughty projects are listed at: Section "Ciro Santilli's naughty projects".
Ciro feels that this resonates a lot with his OurBigBook.com.
Supercut:
The minute I dropped out I could stop taking the required classes that didn't interest me, and begin dropping in on the ones that looked far more interesting.
And much of what I stumbled into by following my curiosity and intuition turned out to be priceless later on.
Because I had dropped out and didn't have to take the normal classes, I decided to take a calligraphy class to learn how to do this.
None of this had even a hope of any practical application in my life.
If I had never dropped in on that single course in college, the Mac would have never had multiple typefaces or proportionally spaced fonts.
Of course it was impossible to connect the dots looking forward when I was in college. But it was very, very clear looking backward 10 years later.
Again, you can't connect the dots looking forward; you can only connect them looking backward. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.
Then:
You've got to find what you love.
And that is as true for your work as it is for your lovers.
Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work.
And the only way to do great work is to love what you do. If you haven't found it yet, keep looking.
Don't settle. As with all matters of the heart, you'll know when you find it.
And, like any great relationship, it just gets better and better as the years roll on.
So keep looking until you find it.
Don't settle.
And:
When I was 17, I read a quote that went something like: "If you live each day as if it was your last, someday you'll most certainly be right."
It made an impression on me, and since then, for the past 33 years, I have looked in the mirror every morning and asked myself: "If today were the last day of my life, would I want to do what I am about to do today?"
And whenever the answer has been "No" for too many days in a row, I know I need to change something.
Mirror and morning are not required though, a computer screen will do just fine: www.reddit.com/r/depression/comments/6jtamj/im_at_work_just_staring_at_my_computer_screen/
And then he quotes form the Whole Earth Catalog, a paper Atlas from the '70s he admired:
Stay Hungry. Stay Foolish
Video 1. Source.
Someone who is not a pussy.
Someone once called Ciro Santilli that: archive.is/W1ocv. It's an overstatement, considering that Ciro's parents have some money. Not infinite. But still. Changes everything. A real Based God is someone like Charles Bukowski, who had to work decades at the post office.
If you are a pussy and work a soul crushing job, this is one way to lie to yourself that your life is still worth living: do one cool thing every day.
Find a time in which your mind hasn't yet been destroyed by useless work, usually in the morning before work, and do one thing you actually like in life.
Work a little less well for you boss, and a little better for yourself. Ross Ulbricht:
I hated working for someone else and trading my time for money with no investment in myself
Selling drugs online is not advisable however.
Even better, try to reach an official agreement with your employer to work 20% less than the standard work week. For example, you could work one day less every week, and do whatever you want on that day. It is not possible to push your passion to weekends, because your brain is too tired. "You keep all non-company-related IP you develop on that time" is a key clause obviously.
On a related note, good employers must allow employees to do whichever the fuck "crazy projects", "needed refactorings or other efficiency gains" and "learn things deeply" at least 20% of their time if employees want that: en.wikipedia.org/wiki/20%25_Project. Employees must choose if they want to do it one day a week or two hours per day. One day per month initiatives are bullshit. Another related name: genius hour.
Video 1. I did it for me, Skyler. Source. Pursuing a dream part time can make you feel afraid and tired. But at least, you will feel alive.
Maybe you will be fired, but long term, having tried, or even succeeded your dream, or a one of its side effects, will be infinitely more satisfying.
The same goes for school, and maybe even more so because your parents can still support you there. Some Gods who actually followed this advice and didn't end up living under a bridge:
  • George M. Church "[We] hope that whatever problems... contributed to your lack of success... at Duke will not keep you from a successful pursuit of a productive career." Lol, as of 2019 the dude is the most famous biotechnologist in the world, those "problems" certainly didn't keep him back.
  • Freeman Dyson proved the equivalence of the three existing versions of quantum electrodynamics theories that were around at his time, and he has always been proud of not having a PhD!
    Video 2. Freeman Dyson - Why I don't like the PhD system (95/157) by Web of Stories (2016) Source.
  • Person that Ciro met personally and shall remain anonymous for now for his privacy: once Ciro was at a bar with work colleagues casually, it was cramped, and an older dude sat next to his group.
    The dude then started a conversation with Ciro, and soon he explained that he was a mathematician and software engineer.
    As a Mathematician, he had contributed to the classification of finite simple groups, and had a short Wiki page because of that.
    He never did a PhD, and said that academia was a waste of time, and that you can get as much done by working part time a decent job and doing your research part time, since you skip all the bullshit of academia like this.
    Yet, he was still invited by collaborating professors to give classes on his research subject in one of the most prestigious universities in the world. Students would call him Doctor X., and he would correct them: Mister X.
    As a software engineer, he had done a lot of hardcore assembly level optimizations for x86 for some mathematical libraries related to his mathematics interests. He started talking microarchitecture with Ciro's colleagues.
    And he currently worked on an awesome open source project backed by a company.
    At last but not least, he said he also fathered 17 children by donating his sperm to lesbian mothers found on a local gay magazine, and that he had met most/all of those children after they were born.
    A God. Possibly the most remarkable person Ciro ever met, and his jaw was truly dropped.
Gandhi TODO source:
You can chain me, you can torture me, you can even destroy this body, but you will never imprison my mind
This is one of Ciro Santilli's most important principles.
Steve Jobs has a great quote about this. He's totally right on this one!
You've got to start with the customer experience and work backwards to the technology. You can't start with the technology and try to figure out where you're going to sell it.
Video 1. Steve Jobs Insult Response excerpt from the 1997 WWDC. Source. TODO understand the context of the question a bit better. It is something to do with an OpenDoc thing and Java.
Decide your goal first, and then do whatever is needed to how to reach it.
Don't start randomly learning tech, because that means you will waste a lot of time learning useless stuff.
There is of course some level chicken-and-egg paradox in this, as highlighted by Dilbert, since choosing an achievable goal in the first place requires some level of technical understanding.
Figure 1. Dilbert cartoon about designing a nuclear power plant from user requirements (2002) Source.
This cartoon illustrates well how when doing deep tech and fighting against the laws of physics, you can't just start from user requirements, but you also have to also think "what can we actually get done at all with this new technique".
The best research engineers are able to identify what is just on the cusp of the "possible", but which has the greatest value. This is the endless dance between the tech push, and the market/need pull.
However, it is much more common that people will get way too involved in learning useless stuff and lose sight of the useful end goals.
Rather, take an iterative approach:
There is some truth to the counter argument that "but if you don't spend a lot of time learning the basics, you can never find solutions".
However, these people underestimate your brain. The brain is beautiful, and human intuition is capable of generating interest towards the things that are actually useful to reach your goal. When you feel like learning something related to your goal, by all means, give yourself the time to do so. But this still be much more efficient than just learning random things that other people tell you to learn.
Bibliography:

Tagged

Ancestors

  1. Index

Discussion (0)

Sign up or sign in create discussions.

There are no discussions about this article yet.