Students must be allowed to progress as fast as they want by
Ciro Santilli 35 Updated 2025-04-24 +Created 1970-01-01
One of the main reasons for Section "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.
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 until you die.
From True Genius: The Life and Science of John Bardeen Chapter 2 "Roots":
John ([Bardeen].) and Bill ([his brother]) entered the combined seventh-eighth grade at "Uni High," Wisconsin's University High School, in the same year-John from third grade and William from fifth.Established in September 1911, the school had been conceived as a laboratory for training high school instructors and for testing progressive ideas in education. In its philosophy and organization, Uni resembled the Dewey School. The students were accelerated as much as possible to keep lessons challenging. One goal was to "introduce pupils to high school methods and subjects before they reached the 9th grade." The fourth quarter, offered during the summer, allowed students who had missed work or had fallen behind to catch up. It also enabled the brightest students to complete senior high school in only three years...Even with the disruption of Althea’s death, John completed all his Uni High course work by age thirteen. But as he was "a little leery about graduating so young," he and Bill decided to attend Madison Central High School for two years, taking additional mathematics, science, and literature courses not offered at Uni. By the time John had turned fifteen and Bill seventeen, the two had completed every course of interest at Madison Central. There was no longer any reason to postpone entering college. In the fall of 1923 they both entered the freshman class at the University of Wisconsin.
Meanwhile, at the University of Oxford www.theguardian.com/uk/2005/aug/21/highereducation.accesstouniversity Oxford to turn away child prodigiesFUUUUUUUCK. And so, in protecting children, we also rob them of their own future. But the official policy as of 2023 is unchanged at least in theory: uni-of-oxford.custhelp.com/app/answers/detail/a_id/557/~/do-oxford-undergraduate-courses-have-a-minimum-age-requirement%3F Article also mentions Yinan Wang. Can't find his profiles now.
We have been pushed to consider it, not because of concerns about whether it is psychologically healthy for children to study here, but because of child protection laws which have come into play this year for the first time.
Bibliography:
Only after Ciro became an adult did he finally understand that Sun Wukong was the basis for Dragon Ball as mentioned at: Figure "19th century illustration of the Journey to the West protagonist Sun Wukong". And that Sun Wukong was a million times more famous overall. Mind blown.
His given name "Wukong" literally means "the one who mastered the void" (Wu = Comprehend, Kong = void), so clearly a Dharma name. Edit: it is actually given in the novel, he was born without name. They seem to be Taoist however.
The family name sun1 孙 is the same character as "grandson", but most educated Chinese people seem to be able to recognize it as a reference to "monkey" from some archaic context not anymore in current usage.
19th century illustration of Sun Wukong
. Source. TODO check that it is actually 19th century. Because en.wikipedia.org/wiki/File:Xiyou2.PNG for Zhu Bajie, obviously from the same print, says it is 15th centure.20 Sun Wukong depiction in Peking opera
. Source. Severe acute respiratory syndrome coronavirus 2 by
Ciro Santilli 35 Updated 2025-04-24 +Created 1970-01-01
How to play scores and save them to files is discussed at: doc.sccode.org/Guides/Non-Realtime-Synthesis.html
They have a nice looking IDE, but running anything from the command-line interface is super hard, much unlike Csound. How to get a decent hello world: stackoverflow.com/questions/65360414/how-to-play-a-supercollider-file-non-interactively-from-the-terminal-command-lin
Sample composition with custom synths + notes: sccode.org/1-5cl
leanpub.com/ScoringSound looks like a decent tutorial, it is basically the Csound FLOSS manual for SuperCollider.
Some good insights on the earlier history of the industry at: The Supermen: The Story of Seymour Cray by Charles J. Murray (1997).
Superconducting qubits are bad because of fabrication variation by
Ciro Santilli 35 Updated 2025-04-24 +Created 1970-01-01
However superconducting qubits have a limit on how precise their parameters can be set based on how well we can fabricate devices. This may require per-device characterisation.
Superconductor resistivity experiment video by
Ciro Santilli 35 Updated 2025-04-24 +Created 1970-01-01
andor.oxinst.com/learning/view/article/measuring-resistance-of-a-superconducting-sample-with-a-dry-cryostat Not a video, but well done, by Oxford Instruments.
Also sometimes called helium II, in contrast to helium I, which is the non-superfluid liquid helium phase.
Super Mario 64 reverse engineering project by
Ciro Santilli 35 Updated 2025-04-24 +Created 1970-01-01
OMG, both of those just fucking work on Ubuntu 20.04 with README instructions, it is unbelievable, those people don't have lives. And it builds the ROM byte by byte equal from source!
There are a few different versions:
- github.com/n64decomp/sm64 for emulator (i.e. or real hardware), tested at 9214dddabcce4723d9b6cda2ebccbac209f6447d
- github.com/sm64-port/sm64-port Ubuntu native, tested at 6b47859f757a40096fedd6237f2bc3573d0bc2a4Full screen with F10.
- github.com/sm64pc/sm64ex: fork of sm64-port, untested by Ciro Santilli, but more new amazing usability features, notably:Also reported to work on ARM: www.reddit.com/r/linux/comments/ityg6w/pinephone_playing_super_mario_64_30fps/They also ported to browser with Emscripten: github.com/sm64pc/sm64ex/wiki/Compiling-for-the-web
Tested with the USA ROM at sha1sum 9bef1128717f958171a4afac3ed78ee2bb4e86ce (you need a ROM to extract assets, which the project automates), which is also documented in the project itself: github.com/sm64-port/sm64-port/blob/6b47859f757a40096fedd6237f2bc3573d0bc2a4/sm64.us.sha1. Disclaimer: Ciro Santilli owns a copy of Super Mario 64.
The only dependency missing from Ubuntu packages is the IRIX QEMU user mode which they need for their tooling. The project also has a QEMU fork for that, and provide a working deb.
From this project it was also noticed that certain ROM releases were not compiled with optimizations enabled, presumably because as a release title the compiler had optimization bugs! www.resetera.com/threads/so-apparently-the-ntsc-build-of-mario-64-didnt-use-any-compiler-optimizations.166277/ But now they do have a working compiler, and by turning that switch FPS increases in certain levels!!!
Some quick stupid patches:
- jump really high:
diff --git a/src/game/mario.c b/src/game/mario.c index 5b103fa..83c9f40 100644 --- a/src/game/mario.c +++ b/src/game/mario.c @@ -826,7 +826,7 @@ static u32 set_mario_action_airborne(struct MarioState *m, u32 action, u32 actio case ACT_JUMP: case ACT_HOLD_JUMP: m->marioObj->header.gfx.unk38.animID = -1; - set_mario_y_vel_based_on_fspeed(m, 42.0f, 0.25f); + set_mario_y_vel_based_on_fspeed(m, 200.0f, 0.25f); m->forwardVel *= 0.8f; break;
Interesting entry points:
src/game/game_init.c
TODO: enable the level select debug feature! tcrf.net/Super_Mario_64_(Nintendo_64)/Debug_Content#Classic_Debug_Display They actually shipped quite a few debug features into the retail game, and they have been reversed too. I tried this but it didn't work (or I don't know how to enable the level select menu):
diff --git a/src/game/main.c b/src/game/main.c
index 9e53e50..b7443a8 100644
--- a/src/game/main.c
+++ b/src/game/main.c
@@ -65,7 +65,7 @@ s8 sAudioEnabled = 1;
u32 sNumVblanks = 0;
s8 gResetTimer = 0;
s8 D_8032C648 = 0;
-s8 gDebugLevelSelect = 0;
+s8 gDebugLevelSelect = 1;
s8 D_8032C650 = 0;
s8 gShowProfiler = FALSE;
The
enhancements/
folder contains a few sample patches.Screenshot of mupen64Plus running on Ubuntu 20.04 emulating Super Mario 64 with the title screen hacked by Ciro Santilli based on the Super Mario 64 reverse engineering project
. The title was on a string, so the hack was trivial! The patch used was:diff --git a/include/text_strings.h.in b/include/text_strings.h.in
index 749179b..626f87e 100644
--- a/include/text_strings.h.in
+++ b/include/text_strings.h.in
@@ -131,7 +131,7 @@
*/
// Main Screens
#define TEXT_MARIO _("MARIO") // View Score Menu
-#define TEXT_SELECT_FILE _("SELECT FILE")
+#define TEXT_SELECT_FILE _("HACKED BY CIRO")
#define TEXT_CHECK_FILE _("CHECK FILE")
#define TEXT_COPY_FILE _("COPY FILE")
#define TEXT_ERASE_FILE _("ERASE FILE")
Some tutorials of hacking it:
- www.youtube.com/watch?v=Jkb7Naczoww SM64 Decomp Tutorial 1: Setting Up and First Code Changes by Bitlytic (2021)
- www.youtube.com/watch?v=IuIpqX4neWg Rovert Decomp Tech Demo by Rovert (2019) Metal cap makes Mario huge.
- www.youtube.com/watch?v=5aG1Iyjo20w Is it Possible to Beat Super Mario 64 as Tiny Mario? (Mini Mario Challenge) coverts the obvious make Mario huge/tiny hack. Huge mario verion: www.youtube.com/watch?v=pR_gol6zlIo. There was a pre-decompilation ROM hack doing that trivial change already: Tiny Huge Mario 64. Sample tool-assisted speedrun: www.youtube.com/watch?v=C7BjzZ_Nkk0
FIXING the ENTIRE SM64 Source Code by Kaze Emanuar (2022)
Source. Now that we have the source, modders like this are going nuts. Super Mario Bros. reverse engineering by
Ciro Santilli 35 Updated 2025-04-24 +Created 1970-01-01
Commented and labelled disassembly: gist.github.com/1wErt3r/4048722
Decompilation project: github.com/MitchellSternke/SuperMarioBros-C. That project does not produce the ROM however, it reimplements an emulator + game in a single binary.
Pinned article: ourbigbook/introduction-to-the-ourbigbook-project
Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
Intro to OurBigBook
. Source. We have two killer features:
- topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculusArticles of different users are sorted by upvote within each article page. This feature is a bit like:
- a Wikipedia where each user can have their own version of each article
- a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.Figure 1. Screenshot of the "Derivative" topic page. View it live at: ourbigbook.com/go/topic/derivativeVideo 2. OurBigBook Web topics demo. Source. - local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
- to OurBigBook.com to get awesome multi-user features like topics and likes
- as HTML files to a static website, which you can host yourself for free on many external providers like GitHub Pages, and remain in full control
Figure 2. You can publish local OurBigBook lightweight markup files to either OurBigBook.com or as a static website.Figure 3. Visual Studio Code extension installation.Figure 5. . You can also edit articles on the Web editor without installing anything locally. Video 3. Edit locally and publish demo. Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension. - Infinitely deep tables of contents:
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact