x86 Paging Tutorial 64-bit architectures Updated 2025-07-16
x86_64 uses 48 bits (256 TiB), and legacy mode's PAE already allows 52-bit addresses (4 PiB). 56-bits is a likely future candidate.
But that would mean that the page directory would have
2^18 = 256K entries, which would take too much RAM: close to a single-level paging for 32 bit architectures!x86_64 uses 4 levels in a
9 | 9 | 9 | 9 scheme, so that the upper level only takes up only 2^9 higher level entries.The 48 bits are split equally into two disjoint parts:
----------------- FFFFFFFF FFFFFFFF
Top half
----------------- FFFF8000 00000000
Not addressable
----------------- 00007FFF FFFFFFFF
Bottom half
----------------- 00000000 00000000A 5-level scheme is emerging in 2016: software.intel.com/sites/default/files/managed/2b/80/5-level_paging_white_paper.pdf which allows 52-bit addresses with 4k pagetables.
x86 Paging Tutorial Updated 2025-07-19
This tutorial explains the very basics of how paging works, with focus on x86, although most high level concepts will also apply to other instruction set architectures, e.g. ARM.
The goals are to:
This tutorial was extracted and expanded from this Stack Overflow answer.
x86 custom instructions Updated 2025-07-16
Intel is known to have created customized chips for very large clients.
This is mentioned e.g. at: www.theregister.com/2021/03/23/google_to_build_server_socs/Those chips are then used only in large scale server deployments of those very large clients. Google is one of them most likely, given their penchant for Google custom hardware.
Intel is known to do custom-ish cuts of Xeons for big customers.
TODO better sources.
Why can't you collimate incoherent light as well as a laser? Updated 2025-07-16
You could put an LED in a cavity with a thin long hole but then, most rays, which are not aligned with the hole, will just bounce inside forever producing heat.
So you would have a very hot device, and very little efficiency on the light output. This heat might also behave like a black-body radiation source, so you would not have a single frequency.
The beauty of lasers is the laser cavity (two parallel mirrors around the medium) selects parallel motion preferentially, see e.g.: youtu.be/_JOchLyNO_w?t=832 from Video "How Lasers Work by Scientized (2017)"
Whole cell simulation Updated 2025-07-16
Ciro Santilli started taking some notes at: github.com/cirosantilli/awesome-whole-cell-simulation. but they are going to be all migrated here.
It is interesting to note how one talks about single cell analysis, in contrast to whole cell simulation: experimentally it is hard to analyse a single cell. But theoretically, it is hard to simulate a single cell. This mismatch is perhaps the ultimate frontier of molecular biology.
When the École Polytechnique mathematics department didn't let Ciro Santilli do his internship of choice due to grades Updated 2025-07-16
This was one of the only bad experience Ciro had at Polytechnique, besides the inevitable fear of not graduating.
Ciro wanted to do a robotics internship in Germany, linked to his interests in artificial general intelligence, see also: Section "Ciro's 2D reinforcement learning games".
But the head of the applied mathematics department Polytechnique prevented him from going because Ciro didn't have the necessary grades, even though the Germans had already agreed to it: he had a C, but he needed a B. As mentioned at École Polytechnique, most Brazilians had crappy grades due to their Polytechnique-incompatible background.
This was done because in the past students with bad grades had abandoned their internships halfway and given foreigners a bad impression of Polytechnique.
It is impossible to say if the head of department really agreed with this bullshit policy, or if it was something beyond his powers and he hid his true opinion, but it felt like the agreed.
What an extremely limited view!!!
To leave the worse, the worse. To assume that grades mean anything!
And thus Ciro had to choose a last moment internship that he hated, rather than becoming the greatest roboticist that ever lived, and did terribly at it.
At least on the other hand Ciro learnt Python instead of working at the internship, and became the greatest programming tutorial writer that ever lived. Maybe.
Website Updated 2025-07-16
webpack Updated 2025-07-16
Webpack is like a magic hydra that can eat any type of file and bundle it into a single output: .js, .ts, .ccs, .scss, .jsx, .tsx,
require, import, import css from .js, it doesn't matter at all, it just digests all into the same dump.When it works, you are just left in awe and with a single Js file. When it doesn't, you're fucked and have to debug for several hours.
Demos under: webpack/. To run all of them by default:To easily make changes and reload the .js output live let this run on a terminal:
cd webpack/min
npm install
npm run build
xdg-open index.htmlnpx webpack watchExamples:
- webpack/min: minimal hello world. Doesn't do much, just copies
index.jstodist/index.js. - webpack/require:
requireandimportdemo. Both work from the same file.dist/index.jsnow contains all of:notindex.jsnotindex2.js- Lodash, a common third-party helper library specified in the package.json and installed with npm
- webpack/node: produce Node.js output, as opposed to the default web output. To test it run:Achieved simply with:
npm run build node dist/index.jsas documented at: webpack.js.org/concepts/targets/target: 'node'Fatman in Robin, - webpack/sequelize: attempts at getting Sequelize to work with webpack. It's just not supported by Sequelize:
Video game console Updated 2025-07-16
Who needs a hackable general purpose computer, when you can buy a completely locked down computer that only runs useless programs for which you have to pay thousands of dollars to develop for, cannot run a large percentage of major titles from competitor hardware due to business deals (see also) and will inevitably reach planned obsolescence in 4 years?
Upsert with
NOT NULL column Updated 2025-07-16Attempt at nodejs/sequelize/raw/upsert.js:
- stackoverflow.com/questions/48816629/on-conflict-do-nothing-in-postgres-with-a-not-null-constraint OP unable to provide a minimal exampe, but it is likely the problem
- dba.stackexchange.com/questions/292428/postgresql-upsert-issue-with-not-null-columns
Undecidable problem Updated 2025-07-16
Or in other words: there is no Turing machine that always halts for every input with the yes/no output.
Every undecidable problem must obviously have an infinite number of "possibilities of stuff you can try": if there is only a finite number, then you can brute-force it.
Lists of undecidable problems.
Coolest ones besides the obvious boring halting problem:
Ubuntu 21.10 does not wake up from suspend Updated 2025-07-16
Please refer to Video "Linus Torvalds saying "Nvidia Fuck You" (2012)".
Does not happen every time, only some times. Can't figure out why. Usually happens when has suspended for a longer time.
bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/1946303 sounds like a likely report, Nvidia driver version 470, but can't find those error messages anywhere. The last line of:once was:which is when sleep starts.
journalctl -o short-precise -k -b -1PM: suspend entry (deep)This suggests that it is not a video bug then, seems that it is not waking up at all? Gotta try to SSH into it. OK. I did SSH into it, and that was fine, so it is just the video that won't start.
PM: suspend exitbugs.launchpad.net/ubuntu/+source/linux/+bug/1949977 is another possible bug, based on kernel version. I'm running 5.13, which is one of the failing versions on the report. Can't find any interesting dmesg though.
In another crash:had the following interesting lines:and there was a corresponding
journalctl -o short-precise -k -b -1nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
[24307.640014] NVRM: GPU at PCI:0000:01:00: GPU-18af74bb-7c72-ff70-e447-87d48378ea20
[24307.640018] NVRM: Xid (PCI:0000:01:00): 79, pid=8828, GPU has fallen off the bus.
[24307.640021] NVRM: GPU 0000:01:00.0: GPU has fallen off the bus.
[24328.054022] nvidia-modeset: ERROR: GPU:0: The requested configuration of display devices (LGD (DP-4)) is not supported on this GPU.
[repeats several more times]
[24328.056767] nvidia-modeset: ERROR: GPU:0: The requested configuration of display devices (LGD (DP-4)) is not supported on this GPU.
[24328.056951] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:0:0:0x0000000f
[24328.056955] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:1:0:0x0000000f
[24328.056959] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:2:0:0x0000000f
[24328.056962] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:3:0:0x0000000f
[24328.056983] nvidia-modeset: ERROR: GPU:0: DP-4: Failed to disable DisplayPort audio stream-0
[24328.056992] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000947d:0:0:0x0000000f/var/crash/_usr_sbin_gdm3.0.crash.Related "GPU has fallen off the bus": askubuntu.com/questions/868321/gpu-has-fallen-off-the-bus-nvidia
TuxGuitar Updated 2025-07-16
Just use MuseScore instead.
Can import from: MIDI.
Ubuntu 20.04:
sudo apt install tuxguitar tuxguitar-alsa tuxguitar-jsa tuxguitar-osstuxguitar-jsa was needed, otherwise no sound: askubuntu.com/questions/457321/tuxguitar-no-sound-in-14-04Has OK step sequencer non-realtime up/down/left/right guitar based composition interface.
Has chord insertion.
Has bend editor.
Could be more amazing, but it is OK.
A bit limited by being very "guitar oriented". Shows you guitar strings, and you enter offset to each string. So to enter two adjacent notes you need to use two seprate strings and thing about the offsets. If only it had a more piano based interface.
Drum notation is also atrocious, you have to go to the top chord, and use high numbers starting at 36.
Games young Ciro Santilli played Updated 2025-12-13
Mostly video games of course.
First when he was really young, about 5, Ciro played a lot of NES, but he doesn't remember things from that era very well. Contra, Ninja Turtles, Battle Tanks, Duck Hunt, and some modern "real world jet" top to bottom rail shooter (TODO identify) are definitely some of the games he clearly remembers playing, see also: Figure "Five year old Ciro Santilli playing NES on a joystick". Nintendo hard was truly a thing back then.
As an honorable mention, Ciro remembers his teenage/young adult neighbours in Jundiaí playing some DOS games on their computer, notably there was a 3D racing one. This must have been around 1995/1997, so using some of the very earliest GPUs. Those games felt so incredibly advanced, including the required setup to play them, which required some command-line commands. It felt like some kind of black magic! But Ciro didn't really play them however.
Ciro then skipped the SNES and handhelds, which he played only through friends because he was cheap (but also because Brazil is a poor country remember, and imports are pretty expensive). He clearly remembers playing Super Mario World for the SNES and Pokemon on friends' Gameboys of course.
Ciro then went straight to 5th generation with the Nintendo 64 in 1994 which his parents bought for him during a trip to the United States. Once again, because he was cheap, the only game he bought was Super Mario 64, which likely came with the console? He played that game to death.
Then came Ocarina of Time, which blew everyone's minds, and Ciro would go to Blockbuster to rent it for the weekend, and again play to death with his friends. You had to arrive early at Blockbuster to rent it, otherwise other people would rent all copies!!!
The only time Ciro got robbed as of 2020 was when an older teenager stopped his bicycle in front of Ciro and took his rented Golden Eye 64 copy away from his hand, and run off. Poor drug addict.
Ciro always felt that the PS1 had a much uglier aesthetics than the N64, and didn't like the console. Playing a bit of Final Fantasy VI on his memory did stick deeply to his mind however. Ciro later played all good PS1 RPGs on emulation during University of São Paulo during amazing solitary nights.
And on the PC, Ciro was particularly touched by Age of Empires II and Diablo II.
As a young teenager Ciro would also play Counter-Strike with his friends at LAN houses. Playing that game would make Ciro extremely anxious, his hands got all cold, and it was a lot of fun.
After this Ciro grew up and notice that the only fun game is that of becoming become rich and famous in the real world.
Outside of video games, Ciro got mildly addicted to Magic: The Gathering in his early teens.
Turing machine that halts if and only if Collatz conjecture is false Updated 2025-07-16
mathoverflow.net/questions/309044/is-there-a-known-turing-machine-which-halts-if-and-only-if-the-collatz-conjectur suggests one does not exist. Amazing.
Intuitively we see that the situation is fundamentally different from the Turing machine that halts if and only if the Goldbach conjecture is false because for Collatz the counter example must go off into infinity, while in Goldbach conjecture we can finitely check any failures.
Amazing.
Turing machine decider Updated 2025-07-16
Of course, because what we know about the halting problem, there cannot exist a single decider that decides all Turing machines.
E.g. The Busy Beaver Challenge has a set of deciders clearly published, which decide a large part of BB(5). Their proposed deciders are listed at: discuss.bbchallenge.org/c/deciders/5 and actually applied ones at: bbchallenge.org.
But there are deciders that can decide large classes of turing machines.
Many (all/most?) deciders are based on simulation of machines with arbitrary cutoff hyperparameters, e.g. the cutoff space/time of a Turing machine cycler decider.
The simplest and most obvious example is the Turing machine cycler decider
TSMC Updated 2026-05-27
One of the companies that has fabs, which buys machines from companies such as ASML and puts them together in so called "silicon fabs" to make the chips
As the quintessential fabless fab, there is on thing TSMC can never ever do: sell their own design! It must forever remain a fab-only company, that will never compete with its customers. This is highlighted e.g. at youtu.be/TRZqE6H-dww?t=936 from Video "How Nvidia Won Graphics Cards by Asianometry (2021)".
- UCM failed because it focused too much on the internal market, and was shielded from external competition, so it didn't become world leading
- one of TSMC's great advances was the fabless business model approach.
- they managed to do large technology transfers from the West to kickstart things off
- one of their main victories was investing early in CMOS, before it became huge, and winning that market
Transgenerational epigenetic inheritance Updated 2025-07-16
They are actually inheritable! But alleles are rare: www.ncbi.nlm.nih.gov/pmc/articles/PMC5559844
Transformation (genetics) Updated 2025-07-16
Current Wikipedia seems to say that this refers specifically to cells taking up DNA from other dead cells as in the Avery-MacLeod-McCarty experiment, excluding other types of horizontal gene transfer like bacterial conjugation
There are unlisted articles, also show them or only show them.
