Yes, it's time for another installment of "Tab gives a utopian vision of an alternate today where people knew better in the past about some minor topic". Today we're talking about temperature.

## What's Wrong With Temperature?

There's a lot wrong with temperature, unfortunately. The metric system uses Kelvins to measure temp. Kelvins are defined as "the same degree size as Celsius, but 0 is absolute zero". This has some issues:

- having the scale's zero be a meaningful zero, so that doubling the number actually corresponds to doubling some physical quantity - is good
- but having that zero be
*very far away*from human-meaningful quantities, particularly the two primary things humans use temperature for on a regular basis (outside temp and body temp) is really inconvenient - the Celsius zero and the Kelvin zero are
*not*a round, or even*whole*, number of degrees apart, so interconverting involves an awkward "273.16" factor.

A lot of this comes from the fact that we invented temperature scales *long* before we realized that temperature even *had* a physically-meaningful zero. Instead, Celsius just tied its 0 and 100 to measurable, somewhat-meaningful values for humans: the freezing and boiling point of water. The resulting delta from the "real" zero, and the size of the degree, thus have no particular reason to be convenient or "round", and yeah, they're really not.

We can do better!

## But What About Fahrenheit?

Yeah, what *about* Fahrenheit? It's not SI, but it is still metric (base-10), and I think it has some very nice qualities as well (plus some pretty bad ones).

Obvious bad thing is that its 0/100 points are *meaningless*; 0°F is the freezing point of saturated salt water (which, tbf, was easier to obtain than purified water, and so a more reliable liquid for gauge calibration) and, uh, for some reason 100°F is based on him setting human body temperature to 96°F? So 100 wasn't even meaningful from the start??? Nowadays of course we use the same freezing/boiling point of water definition, which gives us the convenient 32/212 pair, *how nice*.

Fahrenheit actually has some great qualities, tho. While the freezing point is pretty rando, it does at least mean that the 0 point is roughly as cold as it gets in temperate parts of the world. (And measuring subzero is basically just for fun anyway; below that it's all "lethally cold" and the precise number doesn't matter anyway.) Similarly, 100 is roughly as hot as it gets in temperate parts of the world. This means that outside temps range nicely over the 0-100 range (vs the roughly -15 to 45 range for Celsius).

As well, the degree size is, in my opinion, a bit better. Ten degrees Fahrenheit is more or less the minimum temperature difference that *makes a difference* for how you dress and respond to the weather - you'll feel 70 and 80 as different and respond accordingly, but 70 and 75 are too close to care about the difference. (Celsius's similar bands are 5 degrees apart, which is *kinda* round but not as good.)

So Fahrenheit gives us a meaningful 0-100 range for our daily temperature usage, and has meaningful 10-degree bands as well. That's really nice! Sure would've been good to keep that around.

## Let's Get It Right

Just to get one difficulty out of the way, we *can't* make a temperature system that's both human-meaningful for small numbers, and useful for physics. The two desired zero points (deep space vs frozen water) are too far apart.

What we *can* do, tho, is make it so that converting between the "human" and "absolute" scales is as easy as possible, so the two zeros are a whole, round number of degrees apart.

Taking all the above into account, I present to you the Degrees Temp (°T), or Absolute Temp (°AT) system, an ideal system that combines the best parts of everything:

Degrees Temp, the human-usable system, is defined by the freezing point of water at 20°, and absolute zero at -500°. °AT is just °T + 500.

The freezing point of water is *not* 0, but it is a round, easily-memorized and easily-recognized number. 0°T, instead, is a sub-freezing temp that is, again, roughly "as cold as a temperate climate gets", similar to Fahrenheit. Also similar, 100°T is roughly as hot as a temperate climate gets.

(Converted back into existing units, 0°T is 14°F/-10°C, and 100°T is 107°F/42°C.)

By a lucky coincidence, average human body temp is 90°T, another convenient number. (Compare to 37°C or 98.6°F, both awful.)

Not that it usually matters in reality, but the boiling point of water is 210°T, yet another convenient number. I'm not imposing excess rounding here to make it look good, either: 100°C really is 210.4°T!

Swapping between human- and physics-friendly versions of the unit is also, as I mentioned earlier, trivial in this system, you just add or subtract 500° from the temperature. A far cry from 273.15°! (Or the equally horrible 459.67 for converting between Fahrenheit and Rankine.)

(If you want to convert more temps, the conversion factor between °AT and K is .5253. To convert from °C to K, add 273.16; to convert from °AT to °T, subtract 500.)

## Bonus: What About Heximal?

Real Tab-heads know that base-6 is the best base for numbers to be, substantially better than base-10. This temperature scale seems pretty well-tailored to base-10, with a great 0-100 range and a round absolute zero. Can it be adapted to base-6 while maintaining its good properties?

Yes! It's not *perfect*, but it's slightly better in some ways, slightly worse in other ways, and overall fairly similar.

Short form: Absolute zero is now at -1000₆°T, and water freezes at 10₆°T. The rest of the system extends from that.

This means that 0₆°T is equal to about -7°C, or 19°F, slightly higher than the decimal version, and 100₆°T is equal to... 37°C or 98.4°F! That's body temperature, baby! That was a very common calibration target for older temperature scales, and is just a fun number to have at such a round value.

It does mean that the range overall is a bit narrower; negative and >100₆°T temperatures will show up more often. They'll be "very cold" and "very hot" temps, but not "hoo boy these never happen" temps, like in the decimal version. But that's okay! Realistically, readouts will have to be able to display these values anyway, so it's not a huge loss. The vast majority of outdoor temperatures you encounter will continue to be in the 0-100₆ range.

Bonus points for the fact that "room temperature" (72°F/22°C) is a nice round 40₆°T. How nice!

(You can see me working thru the logic here at https://twitter.com/tabatkins/status/1308226259374149633.)

## Some Conversion Code For Nerds

If you wanna play with this system a bit, here's some JS for converting between it and C/F/K:

Decimal version:

function atFromK(degK) { return degK / 273.16 * 520; } function kFromAT(degAT) { return degAT / 520 * 273.16; } function tFromC(degC) { return atFromK(degC + 273.16) - 500; } function cFromT(degT) { return kFromAT(degT + 500) - 273.16; } function fFromT(degT) { return cFromT(degT) * 9/5 + 32; } function tFromF(degF) { return tFromC((degF - 32) * 5/9); }

Heximal version:

function atFromK(degK) { return degK / 273.16 * 226; } function kFromAT(degAT) { return degAT / 226 * 273.16; } function tFromC(degC) { return atFromK(degC + 273.16) - 216; } function cFromT(degT) { return kFromAT(degT + 216) - 273.16; } function fFromT(degT) { return cFromT(degT) * 9/5 + 32; } function tFromF(degF) { return tFromC((degF - 32) * 5/9); }

(You'll want to call `.toString(6)`

on the heximal results, and/or use `parseInt(X, 6)`

on the heximal inputs, of course. Like `fFromT(parseInt("100", 6))`

or `tFromC(0).toString(6)`

.)