On the incorrigible character of Saybolt Universal Seconds (and CLI calculators thereof)

A considerable chunk of my time as an undergraduate was spent designing hypothetical steam power cycles (entirely on paper, the defining characteristic of an Indian education) and mixing up data on hydrodynamic bearings and lubrication oil viscosities in conveniently provided combinations to yield still more data.

It was as dry then as it sounds now.

The cherry on top of this gargantuan mound of frustration was this: An hour long calculation, meticulously carried out to the right significant figure, an end to a week’s worth of futile drudgery, a manuscript of unbendable proportions and a palimpsest of scrawls, margins, sub-margins, crosses and cross-references that would terminate in a number that would fail a sanity check. Or worse, it would not.

Somewhere in the mess of Kilojoules per kilogram per second per Kelvin and Saybolt Universal Seconds* would nest a skipped exponential, or would manifest a quirk of the almighty tabulators** who would choose, in their earnest and masterful attempts at obfuscation, a system of units that differs from SI by a sliver- enough to evade a perfunctory gaze while puncturing all attempts at veracity.

It Need Not Be So. Alerted via a mention on XKCD, bolstered by the acumen of dozens of dimensionally aware readers***, I discovered that a tool to deal with headaches of the sort exists, has existed for years now, and is available nearly everywhere.

They call it the Google Calculator.

Alas, access to the tool is buried behind web browsers and HTML forms, which some people will attest to be pox-infested heathen land. Of course, necessity is the mother of most scripting (the scant remainder being General Frippery of the Insufferably Needless Kind), and alternatives have surfaced aplenty. (Here are five of them.)

What does it do? Let BASH do the talking:

$ gcalc “1.2 gallons in ml”
1.2 Imperial gallons = 5,455.31025 millilitres

$ gcalc “1.4198 petabyte in MB”
1.4198 petabyte = 1.52449864 x 10E9 megabytes

$ gcalc “131 USD in INR”
131 U.S. dollars = 6,497.69357 Indian rupees

But you knew that.

$ gcalc “234.089 * sqrt(7) * ln(12)”
234.08900 * sqrt(7) * ln(12) = 1 539.00526

Now we’re warming up.

$ gcalc “0.21 tesla in gauss”
0.21 tesla = 2100 gauss

$ gcalc “28 MPa in psi”
28 megapascals = 4,061.05666 pounds per square inch

Still, not a life saver.

$ gcalc “radius of earth * pi * 2 in feet”
radius of Earth * pi * 2 = 131,478,951 feet

$ gcalc “radius of sun^3 * 4 * pi / 3 in km^3”
((radius of the sun^3) * 4 * pi) / 3 = 1.40922394 x 10E18 km^3

We’re getting there!

$ gcalc “12 km/h * 22 minutes in miles”
(12 km/h) * 22 minutes = 2.73403325 miles

$ gcalc “1 / (4 milliohms * 14 microfarads)”
1 / ((4 milliohms) * 14 microfarads) = 17.8571429 megahertz


$ gcalc “3.54 kilojoules / (kg * kelvin) * 0.0021 kg / s * 24 kelvin”
((3.54 kilojoules) / (kg * kelvin)) * (0.0021 (kg / s)) * (24 kelvin) = 178.41600 watts

We’ve arrived. Saybolt Universal Seconds didn’t make it. Serves ’em right. We ought to FITGD, them Saybolt viscometers.

Here’s how you get this running.

My calculation troubles have been deflated, the palimpsests discarded. (Life is good again.)

Google Calculator is amazing. But does it pass the sanity check?

$ gcalc “the answer to life the universe and everything”
the answer to life the universe and everything = 42

Aye, it does.

* An oxymoron of sorts, that.
** These are the Powers That Be, the Catalogue Lords, the spawn of Napier himself- minus his engineering ingenuity at laying waste to bovines from two miles away.
*** This footnote shall not discuss the pun it was referenced by.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s