Really enjoyed the read. Thanks for sharing. I’m surprised by the random page implementation.
Usually in a database each record has an integer primary key. The keys would be assigned sequentially as pages are created. Then the “random page” function could select a random integer between zero and the largest page index. If that index isn’t used (because the page was deleted), you could either try again with a new random number or then march up to the next non empty index.
Professional scientist here. I would take a table of logarithms. In a world without computers, the logarithm table and slide rule are the essential tools of how things got built. We built the Golden Gate Bridge and put a man on the moon using nothing more than log tables.
Any one person can remember the gist of the scientific method and write it down on a page. To write down a quality logarithm table you would need 500 pages.