Epic Rap Battles of History Updated 2025-07-16
Most of the videos are crap, but the following ones almost killed Ciro Santilli of laughter:
Monty Python has a few precursors to the "random famous people mixed together compting" format, although not in the rap fight format:
Video 3. Source. If you can understand the jokes, your philosophy level is pretty good. Like more than zero. Wiki page: en.wikipedia.org/wiki/The_Philosophers%27_Football_Match. Ciro loves how that page currently uses a standard footbal match template to describe the match!
Epic Stack Overflow users Updated 2026-01-30
Ciro also really likes the following users, a bit less like Gods, and bit more like friends:
Eric W. Weisstein Updated 2025-07-16
Ahh, this dude is just like Ciro Santilli, trying to create the ultimate natural sciences encyclopedia!
In 1995, Weisstein converted a Microsoft Word document of over 200 pages to hypertext format and uploaded it to his webspace at Caltech under the title Eric's Treasure Trove of Sciences.
Europe Updated 2025-07-16
For the most part, a great pseudo-country to live in with lots of cultural diversity, art and safety.
However, Europe is in economic decline after all its Jewish and German geniuses fled in/after World War II and due to having more than one natural language is bad for the world.
Exam as a service Updated 2025-07-16
This is Ciro Santilli's name for the idea that we should not have structured degrees at university that require entry exams, only tests that anybondy could take, likely for free, and then they would just have proof that they know the stuff for e.g. teachers that care about a subject while selecting students to work with them in research.
We just need control rooms where someone can watch students for cheating. Multiple different exams can be taken in the same room of course, students just have to sign up in advance. The exams should happen regularly depending on demand. E.g. extremelly common subjects should happen every month, and highly specialized ones every 6 months or 1 year.
Questions should be always taken from an open question pool which also contains answers, thus allowing anyone to effectively study for it.
How many questions can you actually come up with about a given non research subject, right?
We then make an API available, so that students can grant access to specific results to anyone they choose, or even make the results public for anyone to see. This way the people that care about the exams can just machine learn what exams correlate with their desired performance.
Some anecdotes.
Ciro Santilli never splits up functions unless there is more than one calling point. If you split early, the chances that the interface will be wrong are huge, and a much larger refactoring follows.
If you just want to separate variables, just use a scope e.g.:
int cross_block_var;

// First step.
{
    int myvar;
}

// Second step.
{
    int myvar;
}
Ciro has seen and had to deal with in his lifetime with two projects that had like 3 to 10 git separate Git repositories, all created and maintained by the same small group of developers of the same organization, even though one could not build without the other. Keeping everything in sync was Hell! Why not just have three directories inside a single repository with a single source of truth?
Another important case: Linux should have at least a C standard library, init system, and shell in-tree, like BSD Operating Systems, as mentioned at: Section "Linux".
Express.js Updated 2025-07-16
This doesn't do a hole lot. Ciro Santilli wouldn't really call it a web framework. It's more like a middleware. Real web frameworks are built on top of it.
Examples under: nodejs/express:
A live example on Heroku can be seen at: github.com/cirosantilli/heroku-node-min
Fabrice Bellard Updated 2025-07-16
Creator of QEMU and FFmpeg, both of which Ciro Santilli deeply respects. And a bunch other random stuff.
What is shocking about Fabrice this is that both are insanely important software that Ciro Santilli really likes, and both seem to be completely unrelated subjects!
Google made billions on top of this dude:
At last but not least, Fabrice also studied in the same school that Ciro Santilli studied in France, École Polytechnique.
It is a shame that he keeps such a low profile, there are no videos of him on the web, and he declines interviews.
Another surprising fact is that Fabrice has not worked for the "Big Tech Companies" as far as can be publicly seen, but rather mostly on smaller companies that he co-founded: www.quora.com/Computer-Programmers/Computer-Programmers-Where-is-Fabrice-Bellard-employed
And he's also into some completely random projcts unsurprisingly:
Figure 1. . Source. At a restaurant with the author apparently. Plus Miguel De Icaza who was in Paris for some conference, which they all presumably attended.
Figure 2. . There are no in-focus images of Fabrice on the Internet.
feathers-chat PostgreSQL Updated 2025-07-16
The default feathers-chat app runs on NeDB (local filesystem JSON database).
Feynman became a terrible womanizer after his first wife Arline Greenbaum died, involving himself with several married women, and leading to at least two abortions according to Genius: Richard Feynman and Modern Physics by James Gleick (1994).
Ciro Santilli likes to think that he is quite liberal and not a strict follower of Christian morals, but this one shocked him slightly even. Feynman could be a God, but he could also be a dick sometimes.
One particular case that stuck to Ciro Santilli's mind, partly because he is Brazilian, is when Feynman was in Brazil, he had a girlfriend called Clotilde that called him "Ricardinho", which means "Little Richard"; -inho is a diminutive suffix in Portuguese, and also indicates affection. At some point he even promised to take her back to the United States, but didn't in the end, and instead came back and married his second wife in marriage that soon failed.
Richard's third and final wife, Gweneth Howarth, seemed a good match for him though. When they started courting, she made it very clear that Feynman should decide if he wanted her or not soon, because she had other options available and being actively tested. Fight fire with fire.
FFmpeg Updated 2025-07-16
FFmpeg is the assembler of audio and video.
As a result, Ciro Santilli who likes "lower level stuff", has had many many hours if image manipulation fun with this software, see e.g.:
As older Ciro grows, the more he notices that FFmpeg can do basically any lower level audio video task. It is just an amazing piece of software, the immediate go-to for any low level operation.
FFmpeg was created by Fabrice Bellard, which Ciro deeply respects.
Resize a video: superuser.com/questions/624563/how-to-resize-a-video-to-make-it-smaller-with-ffmpeg:
ffmpeg -i input.avi -filter:v scale=720:-1 -c:a copy output.mkv
Unlike every other convention under the sun, the height in scale is the first number.
This is the kind of mind-bending argument twists that Ciro Santilli loves. If we take out the "a real child is hurt" aspect, does it still make sense to make it illegal?
Of course, hentai of young-looking girls has already existed since forever. Bit with newer image generation methods in the 2020s used for computer generated child pornography, especially sometimes photorealistic text-to-image generation, things are taken to another level.
lenet Created 2025-03-17 Updated 2025-07-16
This is a small fork of activatedgeek/LeNet-5 by Ciro Santilli adding better integration and automation for:
Install on Ubuntu 24.10:
sudo apt install protobuf-compiler
cd lenet
virtualenv -p python3 .venv
. .venv/bin/activate
pip install -r requirements-python-3-12.txt
Download and extract MNIST train, test accuracy, and generate the ONNX lenet.onnx:
./train.py
Extract MNIST images as PNG:
./extract_pngs.py
Infer some individual images using the ONNX:
./infer.py data/MNIST/png/test/0/*.png
Draw on a GUI and see live inference using the ONNX:
./draw.py
TODO: the following are missing for this to work:
nodejs/next/ref-twice Created 2024-08-27 Updated 2026-09-20
This is a minimal reproducible example for the terrible problem of external effects applying twice to refs for effects that are not idempotent and thus blowup if applied twice.
The issue is currently discussed at: react.dev/learn/synchronizing-with-effects#step-3-add-cleanup-if-needed (archive) which says "you need to cleanup the thing yourself". web.archive.org/web/20240720100401/https://react.dev/learn/synchronizing-with-effects#subscribing-to-events is also says that for the specific case of addEventListener.
But that's annoying! Can't we just somehow tell if we applied twice or not to avoid having to implement a cleanup? What if a third party system does not provide a cleanup at all?
Is the correct solution to just just have a useEffect with empty dependency list? Seems to be good according to posts and to ESLint!
test_executables.js Updated 2025-07-16
This script tests all executables under a selected directory.
Ciro Santilli has been writing scripts of that type for a long time in order to test his programming self-learning setups with asserts.
The most advanced of those being the test system of Linux Kernel Module Cheat.
But had too much stuff that would be specific to that project, so Ciro decided to start this new one in Node.js, hopefully it will also be the last he ever writes.
A sample usage of the test library can be seen at: nodejs/sequelize/test.
Film about artificial intelligence Updated 2025-07-16
And by artificial intelligence, read of course (non-human-identical) artificial general intelligence.
Today-2022, this is placed under the science fiction film category. But maybe this might change during Ciro Santilli's own lifetime?
The basic criteria of "is a film about artificial intelligence good or not" to Ciro Santilli is: does the AI inhabit humanoid, or fully human looking, bodies? Bodies is a bad sign due to:
  • the best science fiction works deeply explore the consequences of one single technology: efficient humanoid bodies are a second technological breakthrough besides AI itself. The first AI will obviously be a supercomputer without a body
  • it is hard to imagine that the AI wouldn't organize itself as one huge central computer and R&D/command center. Perhaps there will be need for a few separate ones to optimize usage of natural resources, and to have some redundance in case a nuke blows the region, but there would be very very few of the think tanks. But having big centers is fundamental, because you centralize all the flow of ideas and their combination leading to new better outcomes for the AI. The mobile robot actors controlled by this center, if any exist, would then be slaves with some degree of autonomy and infinitely less computational powerful than the think tank.