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:
- nodejs/express/min.js: minimal example. Visit localhost:3000 and it shows
hello world
. It is a bit wrong because the headers say HTML but we return plaintext. - nodejs/express/index.js: example dump with automated tests where possible. The automated tests are run at startup after the server launches. Then the server keeps running so you can interact with it.
A live example on Heroku can be seen at: github.com/cirosantilli/heroku-node-min
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:
- FFmpeg is the backend of YouTube
- QEMU is the default emulator for Android Studio as of 2019, which Android developers use by default under the hood to develop Android Apps on their desktop without the need for a real device.
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:
- www.computerhistory.org/tdih/january/6/ Computer Scientist Fabrice Bellard Announces Computing Pi to Record Number of Digits
Bibliography:
- smartbear.com/de/blog/2011/fabrice-bellard-portrait-of-a-super-productive-pro/ contains a list of his projects as of 2011
The default feathers-chat app runs on NeDB (local filesystem JSON database).
Ciro Santilli managed to port it to Sequelize for PostgreSQL as shown at: github.com/cirosantilli/feathers-chat/tree/sequelize-pg
Feynman was a huge womanizer during a certain period of his life Updated 2024-12-15 +Created 1970-01-01
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 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.:
- the "Media" section of the best articles by Ciro Santillis.
- Figure "Ciro knows how to convert videos to GIFs"
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:Unlike every other convention under the sun, the height in
ffmpeg -i input.avi -filter:v scale=720:-1 -c:a copy output.mkv
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.
Ciro Santilli used to use file managers in the past.
But he finally converted to a shell
cd
aliases that auto-ls
: github.com/cirosantilli/dotfiles/blob/a51bcc324f0cff0eddd4c3bb8654ec223a0adb7b/home/.bashrc#L1058 @cirosantilli/_file/nodejs/next/nodejs/next/inject-into-static Updated 2024-12-15 +Created 2024-08-27
In this example we attempt to inject React elements into statically rendered HTML coming from the server, and properly hydrate them.
Questions by Ciro Santilli:
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!Tried to do a React only reproduction at: react/ref-twice.html.
Bibliography:
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.
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.
The financial industry does not serve society nowhere near its magnitude (London of course being the epitome of that). It serves only itself. It just grows without bound.
- www.theatlantic.com/technology/archive/2011/05/on-the-floor-laughing-traders-are-having-a-new-kind-of-fun/238570/ On the Floor Laughing: Traders Are Having a New Kind of Fun (2011) by James Somers describes trading as a kind of game.
Football is a synonym for association football, can we be done with that! The word "soccer" is an aberration.
See also Ciro Santilli's critique of rooting for sport teams.
Intro/docs: www.jonmsterling.com/jms-005P.xml. It is very hard to find information in that system however, largely because they don't seem to have a proper recursive cross file table of contents.
This is the project with the closest philosophy to OurBigBook that Ciro Santilli has ever found. It just tends to be even more idealistic than, OurBigBook in general, which is insane!
Source code: sr.ht/~jonsterling/forester. Not on GitHub, too much idealism for that.
"Docs" at: www.jonmsterling.com/foreign-forester-jms-005P.xml Sample repo at: github.com/jonsterling/forest but all parts of interest are in submodules on the authors private Git server.
Example:
- sample source file: git.sr.ht/~jonsterling/public-trees/tree/2356f52303c588fadc2136ffaa168e9e5fbe346c/item/jms-005P.tree
- appears rendered at: www.jonmsterling.com/foreign-forester-jms-005P.xml
Author's main social media account seems to be: mathstodon.xyz/@jonmsterling e.g. mathstodon.xyz/@jonmsterling/111359099228291730 His home page:
They have
\Include
like OurBigBook, nice: www.jonmsterling.com/jms-007L.xml, but OMG that name \transclude{xxx-NNNN}
!! It seems to be possible to have human readable IDs too if you want: www.jonmsterling.com/foreign-forester-armaëlguéneau.xml is under trees/public/roladex/armaëlguéneau.tree
.Headers have open/close:OurBigBook considered this, but went with
\subtree[jms-00YG]{}
parent=
instead finally to avoid huge lists of close parenthesis at the end of deep nodes.One really cool thing is that the headers render internal links as clickable, which brings it all closer to the "knowledge base as a formal ontology" approach.
Does not encourage human readable IDs, uses stuff like
jms-00YG
.The markup has relatively few insane constructs, notably you need explicit open paragraphs everywhere The markup is documented at: www.jonmsterling.com/foreign-forester-jms-007N.xml
\p{}
?! OMG, too idealistic, not enough pragmatism. There are however a few insane constructs:[]()
: markdown like links[[bluecat]]
: wikilinks (but to raw IDs only, you can't seem to be able to do[[blue cat]]
#{}
and##{}
for inline and block maths, though that might just be a sane construct with an insane name
Jon has some very good theory of personal knowledge base, rationalizing several points that Ciro Santilli had in his mind but hadn't fully put into words, which is quite cool.
OCaml dependency is not so bad, but it relies on actually LaTeX for maths, which is bad. Maybe using JavaScript for OurBigBook wasn't such a bad choice after all, KaTeX just works.
Viewing the generated output HTML directly requires
security.fileuri.strict_origin_policy
which is sad, but using a local server solves it. So it appears to actually pull pieces together with JavaScript? Also output files have .xml extension, the idealism! They are reconsidering that though: www.jonmsterling.com/foreign-forester-jms-005P.xml#tree-8720.The Ctrl+K article dropdown search navigation is quite cool.
\rel
and \meta
allows for arbitrary ontologies between nodes as semantic triples. But they suffer from one fatal flaw: the relations are headers in themselves. We often want to explain why a relation is true, give intuition to it, and refer to it from other nodes. This is obviously how the brain works: relations are nodes just like objects.They do appear to be putting full trees on every toplevel regardless how deep and with JavaScript turned off e.g.:
which is cool but will take lots of storage. In OurBigBook Ciro Santilli only does that on OurBigBook Web where each page can be dynamically generated.