Wednesday, June 22, 2011

Holtzmann Shields in All the Walls

I am a huge fan of Dune, by Frank Herbert. It posits a star-spanning yet feudal society. It relies on a plot device, the Holtzmann shield, to explain why armies of a technologically advanced civilization would eschew ranged weapons and rely on knife fighting as a primary offensive technique.

Frank Herbert provides the following details:

A shield will permit entry only to objects moving at slow speeds (depending on setting, this speed ranges from six to nine centimeters per second)...

We'll use the upper bound of the speed which can penetrate the Holtzmann shield of 9 cm/sec, and assume the molar mass of air on Earth of one International Standard Atmosphere. We'll also swap in the definition of a Joule as meters squared kilograms per second squared. Substituting:

Working it all out, a gas molecule moving less than 9 cm/sec has a temperature of no more than 0.000009405722533 Kelvin. From this we conclude that the Holtzmann shield is a nearly perfect thermal insulator. Air can only penetrate the shield if it is close to absolute zero.

This leads to the interesting question of what would happen to the shield user first: suffocation, or heat stroke? However that would be taking the joke too far.

Of course, I've probably already taken this too far. The shield is a fictional device, and it serves its literary purpose quite well. If the shield so literally blocked any atomic particle, the vibration of atoms at the tip of the knife would prevent its passage.

Yet this article also served a way to learn about display of math formulae in web pages. I started with MathML, thinking that markup would be the One True Way to display information on the web. I had formatted the equations using LaTeX, and converted them to MathML. This turns out not to be ready for normal people to use. WebKit contains a chunk of implementation, but neither Safari 5 nor Chrome 14 enable rendering of MathML.

I was about to give up and output LaTeX to PNG when Mandy Waite of Google Devrel suggested a far better solution: the Charts API. Though more frequently used to produce pie charts and line graphs, the Charts API can also render forumlae. Even better, its input is specified via LaTeX. For example: