Real magecraft

In a fantasy setting with magic, one finds the enjoyable trope of characters taking what we would consider awe-inspiring to be routine and boring. An example in mind would be from the Harry Potter universe, where students at a school for magic do what students the world over do: skimp on their studying.

The reader is understandably baffled: “You’re learning magic! Conjuring up objects of your choosing, violating deep physical laws with offhand abandon, fucking teleporting! Literally nothing else you could be doing even approximates the magnitude of how awesome what you’re learning is!” But of course, the routine and known are boring. What might a wanderer into our world think of the powers we have at our control and that many of us (myself included) are too lazy to master or even learn in the first place?

I think such an example of real magecraft is programming. In 1624 Henry Briggs published a table of base-10 logarithms to 14 decimal places, covering the numbers 1–20,000 and 90,001–100,000. It took him and a team of human computers years to painstakingly construct that publication by hand. A few years later, in 1628, Adriaan Vlacq published the numbers 1–100,000, but only to 10 decimal places. Imagine the tedium of the task [1], in a world with no (non-human) computers, no calculators, no slide rules… I’m pretty sure they didn’t even have the binomial theorem.

With a modern programming languages and a few minutes to look up formatting rules on the Internet, I can swoop both of them with the numbers 1–100,000 to 14 decimal places (or really any range you want) with a few key presses:

import math

for n in range (1, 100001):
   print "%6d" % n, "%.14f" % math.log10 (n)

One often sees diagrams of how much more powerful computers have become over time [2], but it’s hard to visualize abstract large numbers and feel the impact in your bones. I think the power we have compared to our ancestors is more apparent when you imagine a bunch of people hunched over tables scratching out tables of numbers for years on end versus my own half-baked few-minutes attempt (and I’m sure the denizens of /r/tinycode could compact the above into something unrecognizable). More amusingly, it isn’t even necessary to replicate Briggs’ and Vlacq’s work, since we have no need for log or trig tables anymore. Any given mathematical calculation of that sort you desire can be done in nanoseconds by a modern computer.

So let us not not react too harshly to the lazy magic students, for if we ourselves have modern programming languages coupled with modern computers and huge reserves of documentations on the Internet available and still don’t utilize this power… a being from a world without numerical assistance would probably be pretty mad, either (though, if we’re being real, teleportation is leagues more awesome than programming, even in Python).

[1] A nice paper on how the tables were constructed by Denis Roegel can be found here.
[2] Like this!

This entry was posted in Mathematics, Technology. Bookmark the permalink.