Check out: OurBigBook.com, the best way to publish your scientific knowledge. It's an open source note taking system that can publish from lightweight markup files in your computer both to a multi-user mind melding dynamic website, or as a static website. It's like Wikipedia + GitHub + Stack Overflow + Obsidian mashed up. Source code: github.com/ourbigbook/ourbigbook.
Sponsor me to work on this project: 100k USD = I quit me job and work on it one year full time. Status: ~144k / 200k USD reached: 1st year locked-in, 2nd year stretch goal open at 200k USD. 1M USD = I retire and do it forever. How to donate: Section "Sponsor Ciro Santilli's work on OurBigBook.com".
I reached 100k USD after a 1000 Monero donation, so I quit my job for 1 year starting 1st June 2024 to solve as many STEM courses as I can from a world leading university to try and kickstart The Higher Education Revolution. If I reach 200k USD, then I'll do it for two years instead. 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.
Mission: to live in a world where you can learn university-level mathematics, physics, chemistry, biology and engineering from perfect free open source books that anyone can write to get famous. More rationale: Section "OurBigBook.com"
Explaining things is my superpower, e.g. I was top user #39 on Stack Overflow in 2023[ref][ref] and I have a few 1k+ star educational GitHub repositories[ref][ref][ref][ref]. Now I want to bring that level of awesomeness to masters level Mathematics and Physics. But I can't do it alone! So I created OurBigBook.com to allow everyone to work together towards the perfect book of everything.
My life's goal is to bring hardcore university-level STEM open educational content to all ages. Sponsor me at github.com/sponsors/cirosantilli starting from 1$/month so I can work full time on it. Further information: Section "Sponsor Ciro Santilli's work on OurBigBook.com". Achieving what I call "free gifted education" is my Nirvana.
This website is written in OurBigBook Markup, and it is published on both cirosantilli.com (static website) and outbigbook.om/cirosantilli (multi-user OurBigBook Web instance). Its source code is located at: github.com/cirosantilli/cirosantilli.github.io and also at
cirosantilli.com/_dir
and it is licensed under CC BY-SA 4.0 unless otherwise noted.To contact Ciro, see: Section "How to contact Ciro Santilli". He likes to talk with random people of the Internet.
GitHub | Stack Overflow | LinkedIn | YouTube | Twitter | Wikipedia | Zhihu 知乎 | Weibo 微博 | Other accounts
Besides that, I'm also a freedom of speech slacktivist and recreational cyclist. I like Chinese traditional music and classic Brazilian pop. Opinions are my own, but they could be yours too. Tax the rich.
Let's create an educational system with:
- no distinction between university and high school, students just go as fast as they can to what they really want without stupid university entry exams
- fully open source learning material
- on-demand examinations that anyone can easily take without prerequisites
- granular entry selection only for space in specific laboratories or participation in specific novel research projects
I offer:
- online private tutoring for:
- any STEM university course
- passionate younger STEM students (any age) who want to learn university level material and beyond. Can your kid be the next Fields Medalist or Nobel Prize winner? I'm here to help, especially if you are filthy rich! I focus moving students forward as fast as they want on and on producing useful novel tutorials and results
Let your child be my Emile, and me be their Adolfo Amidei, and let's see how far they can go! I will help take your child:and achieve their ambitious STEM goals!- into the best universities
- into the best PhD programs
- educational consulting for institutions looking to improve their STEM courses
- do you know that course or teacher that consistently gets bad reviews every year? I'll work with the teacher to turn the problem around!
- are you looking to create a consistent open educational resources offering to increase your institutions internationally visibility? I can help with that too.
My approach is to:For minors, parents are welcome to join video calls, and all interactions with the student will be recorded and made available to parents.
- propose interesting research projects. The starting point is always deciding the end goal: Section "Backward design"
- learn what is needed to do the project together with the student(s)
- publish any novel results or tutorials/tools produced freely licensed online, and encourage the student to do the same (Section "Let students learn by teaching", digital garden)
I have a proven track of explaining complex concepts in an interesting and useful way. I work for the learner. Teaching statement at: Section "How to teach". Pricing to be discussed. Contact details at: Section "How to contact Ciro Santilli".
I am particularly excited about pointing people to the potential next big things, my top picks these days are:I am also generally interested in:
- 20th century physics, notably AMO and condensed matter
- the history of science, and in particular trying to look at seminal papers of a field
-------------------------------------
| Force of Will 3 U U |
| --------------------------------- |
| | //////////// | |
| | ////() ()\////\ | |
| | ///_\ (--) \///\ | |
| | ) //// \_____///\\ | |
| | ) \ / / / / | |
| | ) / \ | | / _/ | |
| | ) \ ( ( / / / / \ | |
| | / ) ( ) / ( )/( ) \ | |
| | \(_)/(_)/ /UUUU \ \\\/ | | |
| .---------------------------------. |
| Interrupt |
| ,---------------------------------, |
| | You may pay 1 life and remove a | |
| | blue card in your hand from the | |
| | game instead of paying Force of | |
| | Will's casting cost. Effects | |
| | that prevent or redirect damage | |
| | cannot be used to counter this | |
| | loss of life. | |
| | Counter target spell. | |
| `---------------------------------` |
| l
| Illus. Terese Nelsen |
-------------------------------------
A quick 2D continuous AI game prototype for reinforcement learning written in Matter.js, you can view it on a separate page at cirosantilli.com/_raw/js/matterjs/examples.html#top-down-asdw-fixed-viewport. This is a for-fun-only prototype for Ciro's 2D reinforcement learning games, C++ or maybe Python (for the deep learning ecosystem) seems inevitable for a serious version of such a project. But it is cute how much you can do with a few lines of Matter.js!
HTML snippet:
<iframe src="_raw/js/matterjs/examples.html#top-down-asdw-fixed-viewport" width="1000" height="850"></iframe>
Ciro's word of caution for 2019 aspiring system programmers: Should you waste your life with systems programming?
This is basically a direct consequence of backward design.
The higher the level you can operate at, the better.
The ideal level to operate at, and one of humankind's greatest ambitions is "AGI, make me money", the highest possible level.
Only go down a level when it seems necessary.
Ciro Santilli has a bad memory for events that happened a medium time ago, for example in order of months/years. Especially if they are one-off things that have no relation to anything else.
For example, Ciro never remembers which places he travelled to just once, and who was in each trip! He has images of several places he travelled to in his head, and would recognize them, but he just doesn't know where they were!
Another example, Ciro was looking at the carpet at their house, and asked where it came from. His wife replied immeidately: from Bercy shopping quarter in Paris about 10 years ago, and you took it on your back for a long walk until we could find the bus back home because we were concerned it wouldn't fit in the train!
The same goes for scenes from movies and passages from music, which explains why Ciro's art consumption focuses on innovative discrete "what happened" and "general gist" ideas, rather than, analog details such as colors and shapes.
Going back even further in time, Ciro starts to forget the less close friends he had, because the events start to fade away.
Paradoxically however, Ciro believes that this bad memory is one of his greatest strengths and key defining characteristics, because it leads Ciro to want to write down every interesting thing he learns, which motivated OurBigBook.com and his Stack Overflow contributions and his related Ciro Santilli's documentation superpowers.
It also somewhat leads Ciro to like physics and mathematics, because in these fields you "can deduce everything" from very few base principles, so if you forget them, it does not matter that much as you can re-deduce stuff over and over. Which is somewhat where the high flying bird attitude comes from. It is hard to go deep when you have to re-prove everything every time. But the upside is that anything that sticks, does so because it has a broad net to stick to, and therefore allows Ciro to make unusual and unexpected connections that others might not.
Ciro believes that there are two types of people, and most notably software engineers, which are basically data wranglers: those with bad memory and those with good memory.
Those with bad memory, tend to focus on automating and improving their processes a lot. They take much longer to do one-off specific deep knowledge tasks however.
The downside of the good memory ones is that sooner or later they will find tasks that no matter how much memory they have, they cannot solve without automation, and they will fail at those.
Also, good memory people don't enable others to join the project efficiently as much.
This dichotomy also explains why Ciro sucks at code reviews, but is rather the person who runs the interesting patches by himself and finds some critical problems that the more theoretical code reviewers missed.
If Ciro had become a scientist, he would without doubt be an experimentalist, just like in this reality he is a GDB/runtime person rather than a "static source analysis" person. Those who have bad memory prefer to just run experiments over and over and observe system state at runtime.
Other effects of having a bad memory include:
- code duplication, or a constant fear of it at least, because Ciro forgets that some functionality exists already
- meeting aversion, because everything that is not recorded will fade away
- passion for backward design, because by the time a piece of knowledge learnt in school might be useful (and 99.99% won't), it will have been long forgotten
Related: jakobschwichtenberg.com/about/ from Jakob Schwichtenberg:
I'm a physicist and I try to write down things during my own learning process.In some sense, one of the biggest benefits I have over other people in physics is that I'm certainly not the smartest guy! I usually can't grasp complex issues very easily. So I have to break down complex ideas into smaller chunks to understand it myself. This means, whenever I describe something to others, everyone understands, because it's broken down into such simple terms.
On C2 wiki, therefore it cannot be wrong wiki.c2.com/?QuasiGreatTeacher:
Some people have learning disabilities, [... bullshit ...]. A lot of classic spiritual texts have been produced this way. Basically, the stupidest but most dogged disciple, if he has a neurotic habit of writing things down, will make the best teacher for the third and subsequent generations.
tx e3e37ed5c1de2631c147bd39429e42ff634e95b7d72423bc32d6c6b9d8eef8ee (2014-07-01):
For my first official Journal entry I've decided to archive some old poetry. Here are a few of the computational poems I've created using cyphers.
Several other interesting uploads were also made around block 318836 (September 2014):
RedRaven.jpg
bitfossil.org/e17b83234402d85f3a18207eec11bc5c4397f88aa880aae4fb7d15802806a971/index.htmEarth3Archive.jpg
bitfossil.org/ae8d3b46b934bedc363e11abe8c8607171994470957c286274f699a0b3a9bbd7/index.htmSkyEarth5Archive.jpg
bitfossil.org/ae8d3b46b934bedc363e11abe8c8607171994470957c286274f699a0b3a9bbd7/index.htm
Audio:
alien.wav
block 318638 bitfossil.org/a3a24d6ea01ce481a50346818b8977220687f3ba385838fe8894ce61c9718bbc/OneGiantLeapForMankind.mp3
at tx 4f5b25fa8021c67235423930580e69121aa0d2c2bb779f75139bf442f8dc7297 EMBII-indexed at 743f3286b00fc96c13db4b16d5aead8a1e059fee9ce775b1761be9be5bdc2501 and then indexed at: 0427ec598df38b7d7dc75721316c0bbdec54de4871e11aff8ea64f3717c07efbThe toplevel index does appear on Bitfossil: bitfossil.org/0427ec598df38b7d7dc75721316c0bbdec54de4871e11aff8ea64f3717c07efb/index.htm but the audio is not there as it was for Spock below, maybe a bug on upload/Bitfossil?Spock_Live_Long_And_Prosper.mp3
block 345858 bitfossil.org/1bc87dbff1ff5831287f62ac7cf95579794e4386688479bab66174963f9a4a0c/index.htm. Audio of Mr. Spock saying the Vulcan salute.OuterSpace.mp3
block 409471 bitfossil.org/c14c1bd862bab6269052bf0a2cda7a35940d7a2d9c3415d4fb8fb8dcb9394fae/ "Outer Space by embii 4MB Large file storage test Apertus 0.3.5-beta" OMG, I don't want to calculate how much it cost to upload this, it will make me sad.At twitter.com/EMBII4U/status/1655969645927563266 EMBII mentions that this inscription, made by him, is the largest inscription he knows of.TODO song composer/performer?- bitfossil.com/c2b170ff450f4529dfbd784e0cf5cdddaca494e67a243dd846c0a9450a5558af/ (2021-03-13) contains
Seikilos.mid
, a MIDI file
Interesting text:
- block 273522 bitfossil.org/70fd289901bae0409f27237506c330588d917716944c6359a8711b0ad6b4ce76/index.htm pi to 1000+ decimal digits:
- bitfossil.org/8522787e7e49f3f3b6a9f9e86bc30336d26a3acbaecc93809d2e8b4bb1c4d611/ "Antarctic Ice Cores Revised 800KYr CO2 Data" evidence for global warming
- bitfossil.org/ffa6893a70bcde9b940df9823e0f597f0b6cff964c78473c77db838655e1aeb5/ en.wikipedia.org/wiki/Laudato_si', global warming related
HTML pages:
- block 335290 bitfossil.org/0166db6053f1969c28de8b1f9a8fa4ec890cc4bdfee7602757993b306bb7f295/ JavaScript animated timer clock counting down until the start of the next year
- block 340379 bitfossil.org/062990d54045a9c316110fb713009d1313b2f64c4b216d66891c7284d6c1ca0e/ links to bitfossil.org/062990d54045a9c316110fb713009d1313b2f64c4b216d66891c7284d6c1ca0e/bong-ball.html and has a working JavaScript Pong
- block 328445
tom-signature.jpg
bitfossil.org/daa050bf8ac22752e40412c9265b4533f68ab8e6ed26d2db1eeee6710e7d9e4b/index.htm Unrendered HTML of:Likely an obituary for: Thomas L. Magliozzi. Images show fine though.- www.cartalk.com/content/tom-and-rays-bios-photos-2
- www.cartalk.com/content/rant-and-rave-36 "The New Theory of Learning" which agrees perfectly with backward design
- block 401648 bitfossil.com/31c5e5336512568e4a1deb4bbf0e57c3565c32094c0e1a118c48e7929ab49e35/bong-ball.html another one! This one is full-screen, and does not have JavaScript
alert
s :-) - block 401657 bitfossil.org/03cb74f270d498302d4dd9cbe82c090d801c8840ab6cb26b71d862489b981db8/ has a JavaScript Pac-Man
This term was invented by Ciro Santilli, and similar ideas certainly already exists with different names by other people. As the name suggests, it basically involves combining free education and gifted education, but with other more specific aspects crammed in that would make a precise name too long to read, as descried below.
Government must create selective, K-12 and university-level teaching institutions that are completely free.
As mentioned at pick few good bets and invest enough on thems, these do not need to be given to all students: what we have to do is to ensure that the top N-percent of the best students will get in, and that none of them will pay. Where N is as large as the budget society decides to put into this project, the larger the better. Therefore, perhaps "gifted education" is not the ideal name for this idea, as it generally implies very small N (1%?), while this project hopes for larger N, maybe 10%. But a minimal level of quality must be attained, it is pointless to dissolve the resources too much, if we only have enough for 1%, then so be it, start with 1%.
These institutions must start from the very first school year, and go all the way up through K-12 to the end of university. It is useless to start at university-level only otherwise only the rich students will have a chance of getting in, like Ciro Santilli saw in Brazil at the Polytechnic School of the University of São Paulo in the late 2000's: one day all students were gathered in the amphitheater, and they asked the students who had only gone through free government K-12 schools to raise their hands. Those were notably worse than the corresponding private schools, and the situation is inverted in university, where the best schools are the government ones. Out of about 500 people, at most 10 raised their hands!
These institutions should not have affirmative action entry quotas, including most importantly at the university level. Both rich and poor should be able to apply. Passing the selection criteria is all that matters. We just must ensure that the schools are widely advertised amongst disadvantaged communities, so that they will at least get their children to try to apply from an early age. This way, even if the rich always have an advantage due to better overall conditions, the poor are so much more numerous that the majority of students accepted will still be poor.
The school should follow the basic principles of how to teach, notably:
- students must have a flexible choice of what to learn. There will be no classes, all learning will happen either OurBigBook.com or on 1-to-1 meeting with tutors, or in discussions with fellow students.The term "gifted education" might suggest elitism, but Ciro Santilli strongly believes that different people have different skills, and that if everyone could focus on whatever it is that they want to do in life, be it engineering or the arts, rather than just pass a bunch of useless exam, then having the 10% "best" of each interest group would already cover a huge percentage of the population.
- Through it, students will be helped to directly achieve their greater life goals.There will be no teachers: each student will be assigned senior advisors, and together they will come with an individualized research proposal or business plan.There will be no useless mandatory institutional exams. Exams only need to be taken if a given advisor requires it to filter candidate students. But if you manage to impress them through other means, they can just accept you without the exam.A fundamental part of this is to fill the the missing link between basic and advanced. We want to help students to reach the state of the art of their field of interest as fast as possile.
- group students by interest, not by age
These schools must pay mentors as much as the average good non-free schools so you actually get comparably good teachers. Mentor selection would also be highly competitive, just as that of the students.
Once admitted, students will have guaranteed access to the school resources for a few years. This way, they won't need to worry about passing useless exams every three months.
All that matters is that they are progressing in their development plan. Rather than exams, students will do regular progress report sessions with their advisors, and will get periodic reviews from other advisors with similar interests.
Such projects could be funded by much needed wealth tax or other measures to tax the rich, which the people should claim through Referendum, that would be come more common with the adoption of electronic voting. Because the politicians are simply not being able to do it.
Not everything is perfect.
One big problem of many big open source projects is that they are contributed to by separate selfish organizations, that have private information. Then what happens is that:
- people implement the same thing twice, or one change makes the other completely unmergeable
- you get bugs but can't share your closed source test cases, and then you can't automate tests for them, or clearly demonstrate the problem
- other contributors don't see your full semi secret important motivation, and may either nitpick too much or take too long to review your stuff
Another common difficulty is that open source maintainers may simply not care enough about their own project (maybe they did in the past but lost interest) to review external patches by people they don't know.
This is understandable: a new patch, is a new risk of things breaking.
Therefore, if you ever submit patches and they get ignore, don't be too sad. It just comes down to a question of maintenance cost, and means that you will waste some extra time on the next rebase. You just have to decide your goals and be cold about it:
- are you doing the right thing and going for a specific goal backward design? Then just fork, run as fast as possible towards a minimum viable product, and if you start to feel that rebase is costing you a lot, or feel you could get some open source fame for cheap, open reviews and see what upstream says. If they ignore you, politely tell yourself in your mind silently "fuck them", and carry on with the MVP
- otherwise, e.g. you just want to randomly help out, you have to ask them before doing anything big "how can I be of help". If I propose a patch for this issue, do you promise to review it?
Writing documentation in an open source project in which you don't have immediate push rights is another major pain due to code reviews. Code code reviews tend to be much less subjective, because if you do something wrong, stuff crashes, runs slower, or you need more lines of code to reach the same goal. There are tradeoffs, but in a limited number. Documentation code reviews on the other hand, are an open invitation to infinite bike-shedding, since you can't "run" documentation through a standardized brain model. Much better is for one good documenter person to just make one cohesive Stack Overflow post, and ping others with more knowledge to review details or add any missing pieces :-)
A computer is a highly layered system, and so you have to decide which layers you are the most interested in studying.
Although the layer are somewhat independent, they also sometimes interact, and when that happens it usually hurts your brain. E.g., if compilers were perfect, no one optimizing software would have to know anything about microarchitecture. But if you want to go hardcore enough, you might have to learn some lower layer.
It must also be said that like in any industry, certain layers are hidden in commercial secrecy mysteries making it harder to actually learn them. In computing, the lower level you go, the more closed source things tend to become.
But as you climb down into the abyss of low level hardcoreness, don't forget that making usefulness is more important than being hardcore: Figure 1. "xkcd 378: Real Programmers".
First, the most important thing you should know about this subject: cirosantilli.com/linux-kernel-module-cheat/should-you-waste-your-life-with-systems-programming
Here's a summary from low-level to high-level:
- semiconductor physical implementation this level is of course the most closed, but it is fun to try and peek into it from any openings given by commercials and academia:
- photolithography, and notably photomask design
- register transfer level
- interactive Verilator fun: Is it possible to do interactive user input and output simulation in VHDL or Verilog?
- more importantly, and much harder/maybe impossible with open source, would be to try and set up a open source standard cell library and supporting software to obtain power, performance and area estimates
- Are there good open source standard cell libraries to learn IC synthesis with EDA tools? on Quora
- the most open source ones are some initiatives targeting FPGAs, e.g. symbiflow.github.io/, www.clifford.at/icestorm/
- qflow is an initiative targeting actual integrated circuits
- microarchitecture: a good way to play with this is to try and run some minimal userland examples on gem5 userland simulation with logging, e.g. see on the Linux Kernel Module Cheat:This should be done at the same time as books/website/courses that explain the microarchitecture basics.This is the level of abstraction that Ciro Santilli finds the most interesting of the hardware stack. Learning it for actual CPUs (which as of 2020 is only partially documented by vendors) could actually be useful in hardcore software optimization use cases.
- instruction set architecture: a good approach to learn this is to manually write some userland assembly with assertions as done in the Linux Kernel Module Cheat e.g. at:
- github.com/cirosantilli/linux-kernel-module-cheat/blob/9b6552ab6c66cb14d531eff903c4e78f3561e9ca/userland/arch/x86_64/add.S
- cirosantilli.com/linux-kernel-module-cheat/x86-userland-assembly
- learn a bit about calling conventions, e.g. by calling C standard library functions from assembly:
- you can also try and understand what some simple C programs compile to. Things can get a bit hard though when
-O3
is used. Some cute examples:
- executable file format, notably executable and Linkable Format. Particularly important is to understand the basics of:
- address relocation: How do linkers and address relocation work?
- position independent code: What is the -fPIE option for position-independent executables in GCC and ld?
- how to observe which symbols are present in object files, e.g.:
- how C++ uses name mangling What is the effect of extern "C" in C++?
- how C++ template instantiation can help reduce link time and size: Explicit template instantiation - when is it used?
- operating system. There are two ways to approach this:
- learn about the Linux kernel Linux kernel. A good starting point is to learn about its main interfaces. This is well shown at Linux Kernel Module Cheat:
- system calls
- write some system calls in
- pure assembly:
- C GCC inline assembly:
- write some system calls in
- learn about kernel modules and their interfaces. Notably, learn about to demystify special files such
/dev/random
and so on: - learn how to do a minimal Linux kernel disk image/boot to userland hello world: What is the smallest possible Linux implementation?
- learn how to GDB Step debug the Linux kernel itself. Once you know this, you will feel that "given enough patience, I could understand anything that I wanted about the kernel", and you can then proceed to not learn almost anything about it and carry on with your life
- system calls
- write your own (mini-) OS, or study a minimal educational OS, e.g. as in:
- learn about the Linux kernel Linux kernel. A good starting point is to learn about its main interfaces. This is well shown at Linux Kernel Module Cheat:
- programming language
Or: how to learn X.
This pops up on Reddit every week.
That is the wrong question.
The right question is: what is the most awesome project I can do to improve the world?
Then, once you decide to try one, if that involves programming, only then learn to program to achieve that goal. And don't stop learning what's needed until you either get the thing done, or decide that it is actually not a good idea, or not possible, or that there is something else more important to be done first.
But if doesn't involve programming, then don't learn to program, and learn whatever you actually need to reach that goal instead.
Having that goal is the only way to be motivated to do something.
This is the essence of backward design.
Another very important point to keep in mind is: Section "When in doubt, choose the course that has the most experimental work".
This is the most important of all points.
Don't set goals for your students.
Ask students what they want to do, and help them achieve that goal.
If they don't know what to do, give suggestions of interesting things they could do.
Once they have a goal, just help them learn everything that is needed to achieve that goal
If they don't have a goal, any attempt to learn is a total and complete waste of time.
This is because the universe of potentially useful things that can be learnt is infinite, and no human can ever learn everything.
The only solution, is to try and learn only what seems necessary to reach your goal, and just try to reach your goal instead.
This approach is called backward design.
Also, setting overly ambitious goals, is a good idea: the side effects of ambitious goals are often the most valuable thing achieved.
"Graduating" and "getting a diploma" are not valid goals, because they are useless. A goal has to be either an amazing specific technological or artistic development.
In the 2010's/2020's, many people got excited about getting children in to electronics with cheap devboards, notably with Raspberry Pi and Arduino.
While there is some potential in that, Ciro Santilli always felt that this is very difficult to do, while also keeping his sacred principle of backward design in mind.
The reason for this is that "everyone" already has much more powerful computers at hand: their laptops/desktops and even mobile phones as of the 2020s. Except perhaps if you are thing specifically about poor countries.
Therefore, the advantage using such devboards for doing something that could useful must come from either:
- their low cost. This would be an important consideration if you were to mass produce your product, but that is not going to be the case for learners, at least initially.
- their portability, and closely linked their ability to act as sensors
- their ability to act as actuators, which is often missing from regular computers
- them having hardware accelerators that are not normally present in regular computers, e.g. FPGAs or AI accelerators. And then the demo project must demonstrate that the project is able to do something significantly faster/cheaper on the devboard than on a desktop computer.
Many subjects have changed very little in the last hundred years, and so it is mind-blowing that people have to pay for books that teach them!
If computers are bicycles for the mind, Ciro wants this website to be the Ferrari of the mind.
Since Ciro Santilli was young, he has been bewildered by the natural sciences and mathematics due to his bad memory.
The beauty of those subjects has always felt like intense sunlight in a fresh morning to Ciro. Sometimes it gets covered by clouds and obscured by less important things, but it always comes back again and again, weaker or stronger with its warmth, guiding Ciro's life path.
As a result, he has always suffered a lot at school: his grades were good, but he wasn't really learning those beautiful things that he wanted to learn!
School, instead of helping him, was just wasting his time with superficial knowledge.
First, before university, school organization had only one goal: put you into the best universities, to make a poster out of you and get publicity, so that more parents will be willing to pay them money to put their kids into good university.
Ciro once asked a chemistry teacher some "deeper question" after course was over, related to the superficial vision of the topic they were learning to get grades in university entry exams. The teacher replied something like:Ciro feels that this was one of the greatest compliments he has ever received in his life. This teacher, understood him. Funny how some things stick, while all the rest fades.
You remind me of a friend of mine. He always wanted to understand the deeper reason for things. He now works at NASA.
Another interesting anecdote is how Ciro Santilli's mother recalls that she always found out about exams in the same way: when the phone started ringing as Ciro's friends started asking for help with the subjects just before the exam. Sometimes it was already too hopelessly late, but Ciro almost always tried. Nothing shows how much better you are than someone than teaching them.
Then, after entering university, although things got way better because were are able to learn things that are borderline useful.
Ciro still felt a strong emotion of nostalgia when after university his mother asked if she could throw away his high school books, and Ciro started tearing them all down for recycling. Such is life.
University teachers were still to a large extent researchers who didn't want to, know how to and above all have enough time and institutional freedom to teach things properly and make you see their beauty, some good relate articles:
The very fact that you had very little choice of what to learn so that a large group can get a "Diploma", makes it impossible for people to deeply learn what the really want.
This is especially true because Ciro was in Brazil, a third world country, where the opportunities are comparatively extremely limited to the first world.
Also extremely frustrating is how you might have to wait for years to get to the subject you really want. For example, on a physics course, quantum mechanics is normally only taught on the third year! While there is value to knowing the pre-requisites, holding people back for years is just too sad, and Ciro much prefers backward design. And just like the university entry exams, this creates an entry barrier situation where you might in the end find that "hey, that's not what I wanted to learn after all", see also: students must have a flexible choice of what to learn.
We've created a system where people just wait, and wait, and wait, never really doing what they really want. They wait through school to get into university. They wait through university to get to masters. They wait through masters to get to PhD. They wait through PhD to become a PI. And for the minuscule fraction of those that make it, they become fund proposal writers. And if you make any wrong choice along the, it's all over, you can't continue anymore, the cost would be too great. So you just become software engineer or a consultant. Is this the society that we really want?
And all of this is considering that he was very lucky to not be in a poor family, and was already in some of the best educational institutions locally available already, and had comparatively awesome teachers, without which he wouldn't be where he is today if he hadn't had such advantages in the first place.
But no matter how awesome one teacher is, no single person can overcome a system so large and broken. Without technological innovation that is.
The key problem all along the way is the Society's/Government's belief that everyone has to learn the same things, and that grades in exams mean anything.
Ciro believes however, that exams are useless, and that there are only two meaningful metrics:
- how much money you make
- fame for doing for doing useful work for society without earning money, which notably includes creating new or better free knowledge such as in academic papers, either novel or review
Even if you wanted to really learn natural sciences and had the time available, it is just too hard to find good resources to properly learn it. Even attending university courses are hit and miss between amazing and mediocre teachers.
If you go into a large book shop, the science section is tiny, and useless popular science books dominate it without precise experiment descriptions. And then, the only few "serious" books are a huge list of formulas without any experimental motivation.
And if you are lucky to have access to an university library that has open doors, most books are likely to be old and boring as well. Googling for PDFs from university courses is the best bet.
Around 2012 however, he finally saw the light, and started his path to Ciro Santilli's Open Source Enlightenment. University was not needed anymore. He could learn whatever he wanted. A vision was born.
To make things worse, for a long time he was tired of seeing poor people begging on the streets every day and not doing anything about it. He thought:which like everything else is likely derived subconsciously from something else, here Schindler's list possibly adapted quote from the Talmud:
He who teaches one thousand, saves one million.
He who saves the life of one man saves the entire world.
So, by the time he left University, instead of pursuing a PhD in theoretical Mathematics or Physics just for the beauty of it as he had once considered, he had new plans.
We needed a new educational system. One that would allow people to fulfill their potential and desires, and truly improve society as a result, both in rich and poor countries.
And he found out that programming and applied mathematics could also be fun, so he might as well have some fun while doing this! ;-)
So he started Booktree in 2014, a GitLab fork, worked on it for an year, noticed the approach was dumb, and a few years later started building this new version. The repo github.com/booktree/booktree is a small snapshot of Ciro's 2014 brain on the area, there were quite a few similar projects at the time, and most have died.
Ciro is basically a librarian at heart, and wants to be the next:
- Jimmy Wales
- Brewster Kahle
- Tim Berners Lee
- Tim O'Reilly, who once brilliantly described O'Reilly Media as "a lifestyle business that got out of control" [ref]
- Aaron Swartz. Minus suicide hopefully.
On one hand, yes, we need knowledge at all levels, and it is fine to start top-to-bottom with an overview.
The problem is, however, that there is a huge knowledge gap between the one liner "this is the truth" and the much more important "this is how we know it, these are the experiments" as mentioned at how to teach and learn physics.
Therefore, if you have that extremely rare knowledge, you should be writing that in addition to the dumbed down version with an open knowledge license. It takes time, but that's what really changes the world.
Ciro Santilli has always felt that there is a huge gap between "the very basic" and "the very advanced", as mentioned at: Section "The missing link between basic and advanced", which existing scientific vulgarization is not doing enough to address. In a sense, filling out this "middle path" is the main goal of OurBigBook.com.
Ciro really enjoyed the description of the "Arindam Kumar Chatterjee" youTube channel:
Theoretical/mathematical physics at the graduate level and above. This is NOT a popular science channel. Here you find real theoretical physicists doing real theoretical physics. We think it is important for people to get a taste of the real deal, and for aspiring theoretical physicists to see what they are working towards, i.e., to provide the public with something beyond the ubiquitous Michio Kaku and Brian Cox.
One thing must be said however: there seems to be an actual bias against researchers tho try to create vulgarization material: How To Get Tenure at a Major Research University by Sean Carroll (2011), and that is terrible.
There is often more value in a tutorial by a beginner who is trying to fully learn and explain a subject, than by an expert who is trying to "dumb it down" too much.
Lots of similar ideologies to Ciro Santilli, love it:
- sandymaguire.me/about/:
- he's an idealist
I might best be described somewhere between independent researcher and voluntarily-unemployed bum. At the ripe old age of 27 I decided to quit my highly-lucrative engineering job and decide to focus more on living than on grinding for the man. It's what you might call a work in progress.
- sandymaguire.me/blog/reaching-climbing/: don't be a pussyOne is also reminded of Gwern Branwen. Sandy is also into self-improvement stuff, so even more like Gwern. This is a point Ciro diverges on. Ciro works actively on self-worsening.
Last Friday was my final day at work. According to my facebook profile, I am now "happily retired." As of today, I don't plan to do another day of "traditional work" in my life. That's not to say that I'll be sitting idle playing tiddly winks. I want to build things, to dedicate my life to independent study, and to get really, really good with building communities. I don't have time for any of this "work" stuff that somehow pervades our entire culture, choking our inspiration and sapping our energy away from the things we'd rather be doing.
- he thinks university is useless:
- sandymaguire.me/blog/where-uni-fails/ Where University Fails (2018), mostly talking about backward design
- sandymaguire.me/blog/gatekept/ rejected from Imperial College PhD program due to grade being slightly too low for their stupid requirements, even though he had a referral already, and an amazing CV
- he likes jazz: sandymaguire.me/blog/too-smart/
Other interesting points:
- sandymaguire.me/blog/sandy-runback/ he changed his own name to Sandy because he didn't like it, he was born Alexander
- algebradriven.design/ closed source books though, ouch. At least they seem to have been made with leanpub though, could be worse.
He's a Haskell person.
Co-founder of Apple.
Is Jobs evil? Is he interesting? Undoubtedly.
www.folklore.org/ProjectView.py?project=Macintosh&characters=Steve%20Jobs has some good anecdotes about him.
Ciro Santilli is especially fond of: Jobs and Wozniak's blue box.
Good quotes:
- "Try to have a nice family life, have fun, save a little money." quote at: Section "Don't be a pussy" and the related Jobs and Wozniak's blue box attitude
- "Steve Jobs Insult Response" on backward design
- Steve Jobs Pixar office design philosophy: great ideas happen from chance meetings on corridors, not in board rooms: officesnapshots.com/2012/07/16/pixar-headquarters-and-the-legacy-of-steve-jobs/
- Steve Jobs' 2005 Stanford Commencement Address
- Here's to the crazy ones: Ciro would like to believe that this is mostly written by Jobs, but apparently it was just written by an advertisement agency. Good job though.
You must watch this: Video "Bill Gates vs Steve Jobs by Epic Rap Battles of History (2012)".
Evil deeds:
- not recognizing own daughter for many years??? en.wikipedia.org/wiki/Lisa_Brennan-Jobs
- lying to Steve Wozniak about the 5000 dollar Atari bonus: web.archive.org/web/20110612071502/http://www.woz.org/letters/general/91.html
- not giving stock to early garage employees: www.businessinsider.com/steve-wozniak-gave-early-apple-employees-10-million-in-stock-2014-9 OK, not a legal obligation. But... love?
This is one of the main reasons why Ciro Santilli invested in OurBigBook.com.
Ciro believes that the only thing students must be forced to learn is to speak read and write English and that a teacher's main job after that is to help students find their next big goals and also ties into the backward design philosophy.
Everything else, the student must choose.
This idea is generally known as self-directed learning.
This is most notable in University entry examinations of poor countries, where students often have to waste one extra year of their lives to go through preparation for the useless university entry exams. And then, surprise surprise, if they actually get in, they find that this is not what they really wanted to do, and they just go through to the end miserably because they understandably they don't want to risk another year of their lives.
And importantly: It must be easy to change your area of study.
Ciro saw this first hand École Polytechnique which was way freer than his university in Brazil.
Steve Jobs's university dropout stories from Steve Jobs' 2005 Stanford Commencement Address also come to mind.
Interesting projects:
- Brown University's Open Curriculum concept sounds exemplary:
- Gallatin School of Individualized Study from New York University
- Advanced Placement
Godfrey Hounsfield, 1979 Nobel Prize in Physiology and Medicine:[ref]
They tried hard to educate me but I responded only to physics and mathematics
Some blogs:
- blog.codinghorror.com/the-best-code-is-no-code-at-all/ The Best Code is No Code At All (2007)
- www.skrenta.com/2007/05/code_is_our_enemy.html Code is our enemy (2007)
Also resonates with backward design.
The side effects of ambitious goals are often the most valuable thing achieved Updated 2024-12-15 +Created 1970-01-01
A quote by Ciro's Teacher R.:
Sometimes, even if our end goals are too far from reality, the side effects of trying to reach them can have meaningful impact.
If the goals are not ambitious enough, you risk not even having useful side effects so show in the end!
By doing the prerequisites of the impossible goal you desire, maybe the next generation will be able to achieve it.
This is basically why Ciro Santilli has contributed to Stack Overflow, which has happened while was doing his overly ambitious projects and notice that all kinds of basic pre-requisites were not well explained anywhere.
This is especially effective when you use backward design, because then you will go "down the dependency graph of prerequisites" and smoothen out any particularly inefficient points that you come across.
Going into such productive procrastination is also known informally as yak shaving.
There are of course countless examples of such events:
- youtu.be/qrDZhAxpKrQ?t=174 Blitzscaling 11: Patrick Collison on Hiring at Stripe and the Role of a Product-Focused CEO by Greylock (2015)
The danger of this approach is of course spending too much time on stuff that will not be done enough times to be worth it, as highlighted by several xkcds: