Things that are not nice such as:
- Taboola, Outbrain, and other chumbox
- BLOBs
- Europe cookie law
- adhesive inside mobile phones and more generally, planned obsolescence
- Jupyter Notebook
- typographical characters that look like ASCII ones, but are not the ASCII ones, e.g. typographical quotes, em-dash. The non-breaking hyphen is not even whitespace, and by def Why not stick to ASCII when ASCII is good enough?
- excessive encapsulation
- replacement of master and slave terminology from technology
- mailing lists. And to add insult to injury, HTML on mailing list messages instead of plaintext.
- blank lines in code added by people trying to increase clarity, especially when there is already indentation for that. Every blank line must be preceded by a line comment explaining what the following block is about, or removed.
- messaging software that force you to have a mobile phone
- advertisements by telephone/SMS
- "state" such as global variables and object members, long live functional programming?
- mosquitoes, the only intrinsically bad thing about tropical countries
- projects with slow compilation times
- Microsoft Windows
- the 2019 Chinese government
- e-learning websites that only allows verified teachers to write content. Cowards who can't handle ranking algorithms.
- domain-specific language
- a build system without an out-of-tree option
- non-linear Git history: stackoverflow.com/questions/20348629/what-are-advantages-of-keeping-linear-history-in-git
- visual programming languages like Scratch. Waste of time. Text programming languages are already equally as visual due to indentation:Just make good serious gamedev libraries and integrated development environments for those real languages instead.
if x == 0: x = 1
- software that prevents you from running as root. Let me fucking shoot myself in the foot if I want to. It is better than having to deal with your hand holding bullshit, which is done in a different way for every project. E.g.: stackoverflow.com/questions/17466017/how-to-solve-you-must-not-be-root-to-run-crosstool-ng-when-using-ct-ng/53099177#53099177
- Medium
- luxury goods
- euphemism
- closed access academic journals are evil
- websites without OAuth
- shower room without a window to the exterior (mould!!!)
- single programs with their interface split across multiple windows, e.g. GIMP, ZynAddSubFX
- graphical user interfaces
- logograms
- infinitesimals. Just use limit instead, please
- country
- knowledge olympiads
- programming languages without a decent dominating package system
- closed source offline software used by millions
- exams
- security through obscurities
- dots in Gmail address
- things in websites that look like links, and behave like links, but don't let you middle click to open them on a separate tab
- K-pop
- numerical computing language
- fiscal paradises
- when the front-end of an website changes an important permanent state, but the URL does not change
- splash screens: you should show boot messages so that people will know what to Google for when things fail. Do you think computer newbies will be afraid and have nightmares?
- milk chocolate: why would you eat that instead of dark chocolate if you are older than 10?
- to talk about something without giving the real name to not scare off the audience
- mathematical symbol that looks like a Greek letter but isn't. Or perhaps mathematical notation in general
- when more than two people gather to play a board game or video game, and two or more people start chatting on and on about random subjects rather than concentrating on the game
- watching television while eating. Same for reading, or doing basically anything else but eat. The only acceptable activity is talking relaxedly, not about work.
- noises coming out of your bicycle. It is so hard to find where they come to fix them!!!
- code drop
- private cars as opposed to public transport. As a cyclist, you can just see the effect that large roads have on nearby areas, it just destroys nature.
- closed standards
- double consonants that make no difference to sound. Dilema? Dilemma? Dillema? Dillemma? Please!
- social media websites that show stuff from people you don't follow when you don't explicitly want that, including things which are not ads, just random suggestions. Twitter starting being like that cirac a 2022. Facebook got worse around that time. It is a constant fight against those stupid websites.
- socks with short legs that don't protect your ankle/lower calf from cold/scratches/dirt, e.g. liner socks
- Presta valves. Why would such a flimsy tech have become so popular compared to the infinitely superior Schrader!
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.
See: exam.
Same remarks as Section "Exam".
See: Section "Exam".
The only thing that matters is that students aim towards the goals described at explain how to make money with the lesson.
Any "homework for which the student cannot use existing resources available online" is a waste of time.
The ideal way to go about it is to reach some intermediate milestone, and then document it. You don't have to do the hole thing! Just go until your patience with it runs out. But while you are doing it, go as deep and wide as you possibly can, without mercy.
This is actually how Ciro Santilli learns new subjects he is curious about, even as an adult! Some examples:
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.
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 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 university near where I live and solve as many of their problem sheets as possible, mostly by referring to OurBigBook.com articles I'll be writing. The goal is to get as much STEM knowledge as possible into the world, and highlight how flawed presencial 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 started 1st June 2024 to 31st May 2025[ref], 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:More details: Section "Accounting method"
- 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.563: 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
At 1M USD I retire and work on open STEM education forever.
Note to potential anonymous crypto donors: anonymous donations incur a regulatory risk. I cash out most of such donations and announce it very clearly to the government and banks. For example, at one point Barclays even froze my UK account. But things seem manageable for now. On one hand, such donations serve as a fun test of the financial system. But on the other, if all banks reject my money or if the government decides to take it, I will write off the anonymous donation at zero.
How to give:And if you have a different preferred payment mechanism not listed above, please contact Ciro, and he will set it up.
- one time donations:
- cryptocurrency: note that Ciro is not a regular crypto user, so you might want to make a smaller test donation and confirm that it worked by contacting Ciro before going for colossal amounts (one can dream):
- Monero address: 4A1KK4uyLQX7EBgN7uFgUeGt6PPksi91e87xobNq7bT2j4V6LqZHKnkGJTUuCC7TjDNnKpxDd8b9DeNBpSxim8wpSczQvzf. Secret view key: 7ccaf885ff5540b0ff18927e6ac5da30130afb1eaee09ad95d3c4536a6337e0f. This is a self-custody wallet on a "clean" dedicated Monero laptop connected the Internet. I check for incoming transactions from my dirty main laptop via a view-only wallet each weekend. The cash out method used is latest simplest thing that wasn't yet blocked in my country on a given week, the last time that was centralized swappers[ref]. The fact that the cash out method changes weekly confirms that Monero privacy hadn't yet been broken by countries and that Monero is still one of the most useful cryptocurrencies: Section "Are cryptocurrencies useful?". For transparency, I announce all non-trivial transactions on social media, and the full list of transactions can be seen by anyone with the secret view key provided. I previously had different addresses, so pre-existing donations on older addresses will not be visible there.
- Bitcoin address: 3KRk7f2JgekF6x7QBqPHdZ3pPDuMdY3eWR. This is a Coinbase wallet, off-chain transactions with no transaction fees accepted from other Coinbase users. This method has been tested, I have been able to receive funds from this address in 2023. Fees: non-fixed trading fees[ref] + 0% withdrawal fee on top of any Bitcoin network for on-chain transactions[ref]
- Ethereum address: 0x44cF8C9C015F46d3b2Df730b6492823FD7A91044. Test transaction recommended.
- Solana address: DjdaGawoVFdqxJEqpBGsSWuR4G4MVFNiNkAEu89HuKcE. Test transaction recommended.
- TransferWise tag: wise.com/pay/me/cirod3. It shows as "Ciro Duran Santilli" and that's correct. No fees apparently? Love it!
- PayPal: paypal.me/cirosantilli. Note that dots in Gmail address are ignored, and it is perfectly normal if the email you see has some extra dots in it. Fees: 2.9% + 0.30 GBP[ref].
- cryptocurrency: note that Ciro is not a regular crypto user, so you might want to make a smaller test donation and confirm that it worked by contacting Ciro before going for colossal amounts (one can dream):
- 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.
- GitHub Sponsors: github.com/sponsors/cirosantilli. Fees: 0% for individuals, up to 6% for organizations[ref]
- Patreon: www.patreon.com/cirosantilli. Fees: 8% pro plan + 1% PayPal withdrawal capped at 20 USD[ref]. We are waiting to reach the cap to withdraw!
- 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:
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 anonymous, 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:
- near the top of of the accounts controlled by Ciro Santilli, e.g. one of Ciro Santilli's Twitter accounts, github.com/cirosantilli or stackoverflow.com/users/895245
- near the top of cirosantilli.com
100k USD/year is a semi arbitrary amount that sounds nice. My last day job total compensation as of 2024 was about 150k USD/year.
This is the dream cheating software every student should know about.
It also has serious applications obviously. www.sympy.org/scipy-2017-codegen-tutorial/ mentions code generation capabilities, which sounds super cool!
The code in this section was tested on
sympy==1.8
and Python 3.9.5.Let's start with some basics. fractions:outputs:Note that this is an exact value, it does not get converted to floating-point numbers where precision could be lost!
from sympy import *
sympify(2)/3 + sympify(1)/2
7/6
We can also do everything with symbols:outputs:We can now evaluate that expression object at any time:outputs:
from sympy import *
x, y = symbols('x y')
expr = x/3 + y/2
print(expr)
x/3 + y/2
expr.subs({x: 1, y: 2})
4/3
How about a square root?outputs:so we understand that the value was kept without simplification. And of course:outputs outputs:gives:
x = sqrt(2)
print(x)
sqrt(2)
sqrt(2)**2
2
. Also:sqrt(-1)
I
I
is the imaginary unit. We can use that symbol directly as well, e.g.:I*I
-1
Let's do some trigonometry:gives:and:gives:The exponential also works:gives;
cos(pi)
-1
cos(pi/4)
sqrt(2)/2
exp(I*pi)
-1
Now for some calculus. To find the derivative of the natural logarithm:outputs:Just read that. One over x. Beauty.
from sympy import *
x = symbols('x')
diff(ln(x), x)
1/x
Let's do some more. Let's solve a simple differential equation:Doing:outputs:which means:To be fair though, it can't do anything crazy, it likely just goes over known patterns that it has solvers for, e.g. if we change it to:it just blows up:Sad.
y''(t) - 2y'(t) + y(t) = sin(t)
from sympy import *
x = symbols('x')
f, g = symbols('f g', cls=Function)
diffeq = Eq(f(x).diff(x, x) - 2*f(x).diff(x) + f(x), sin(x)**4)
print(dsolve(diffeq, f(x)))
Eq(f(x), (C1 + C2*x)*exp(x) + cos(x)/2)
diffeq = Eq(f(x).diff(x, x)**2 + f(x), 0)
NotImplementedError: solve: Cannot solve f(x) + Derivative(f(x), (x, 2))**2
Let's try some polynomial equations:which outputs:which is a not amazingly nice version of the quadratic formula. Let's evaluate with some specific constants after the fact:which outputsLet's see if it handles the quartic equation:Something comes out. It takes up the entire terminal. Naughty. And now let's try to mess with it:and this time it spits out something more magic:Oh well.
from sympy import *
x, a, b, c = symbols('x a b c d e f')
eq = Eq(a*x**2 + b*x + c, 0)
sol = solveset(eq, x)
print(sol)
FiniteSet(-b/(2*a) - sqrt(-4*a*c + b**2)/(2*a), -b/(2*a) + sqrt(-4*a*c + b**2)/(2*a))
sol.subs({a: 1, b: 2, c: 3})
FiniteSet(-1 + sqrt(2)*I, -1 - sqrt(2)*I)
x, a, b, c, d, e, f = symbols('x a b c d e f')
eq = Eq(e*x**4 + d*x**3 + c*x**2 + b*x + a, 0)
solveset(eq, x)
x, a, b, c, d, e, f = symbols('x a b c d e f')
eq = Eq(f*x**5 + e*x**4 + d*x**3 + c*x**2 + b*x + a, 0)
solveset(eq, x)
ConditionSet(x, Eq(a + b*x + c*x**2 + d*x**3 + e*x**4 + f*x**5, 0), Complexes)
Let's try some linear algebra.Let's invert it:outputs:
m = Matrix([[1, 2], [3, 4]])
m**-1
Matrix([
[ -2, 1],
[3/2, -1/2]])
There are unlisted articles, also show them or only show them.