# Tell us an interesting random fact you stumbled across (Part 1)

**URL:** <https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674>\
**Category:** Miscellaneous and Personal Stuff I Must Share\
**Created:** [April 13, 2020, 3:19am UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674 "2020-04-13T03:19:22Z")\
**Posts on this page:** 20\
**Page:** 396

<div class="post-metadata">

**Author:** ![EinsteinsHund](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/einsteinshund/32/8400_2.png) [@EinsteinsHund](https://boards.straightdope.com/u/EinsteinsHund)\
**Post date:** [October 30, 2023, 5:13pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7911 "2023-10-30T17:13:51Z")

</div>

Huh? Is the blood type really called “type O” in English? Because in German, it’s always been “Blutgruppe Null”, “blood type zero”.

---

<div class="post-metadata">

**Author:** ![Pardel-Lux](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/pardel-lux/32/20182_2.png) [@Pardel-Lux](https://boards.straightdope.com/u/Pardel-Lux)\
**Post date:** [October 30, 2023, 5:20pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7912 "2023-10-30T17:20:38Z")

</div>

Same in Spanish as @EinsteinsHund wrote for German: _grupo sanguíneo 0 (cero)_, never O. I would call this if this is the case a very peculiar case of innumeracy. Anglophone innumeracy, so to speak.

---

<div class="post-metadata">

**Author:** ![Civil\_Guy](https://avatars.discourse-cdn.com/v4/letter/c/d78d45/32.png) [@Civil\_Guy](https://boards.straightdope.com/u/Civil_Guy)\
**Post date:** [October 30, 2023, 5:35pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7913 "2023-10-30T17:35:29Z")

</div>

This is, naturally enough, the English version. Summary: “It’s not that simple,” but it seems the English usage is the more official one, national variations notwithstanding. The article does not call the ‘Null’ usage wrong, but persists in using ‘O’. See also footnote [18], “Also sprach Landsteiner – Blood Group ‘O’ or Blood Group ‘NULL’”.

> **[ABO blood group system](https://en.wikipedia.org/wiki/ABO_blood_group_system)**
>
> The ABO blood group system is used to denote the presence of one, both, or neither of the A and B antigens on erythrocytes. For human blood transfusions, it is the most important of the 44 different blood type (or group) classification systems currently recognized by the International Society of Blood Transfusions (ISBT) as of 
> December 2022. A mismatch (very rare in modern medicine) in this, or any other serotype, can cause a potentially fatal adverse reaction after a transfusion, or an The AB...

---

<div class="post-metadata">

**Author:** ![Pleonast](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/pleonast/32/1183_2.png) [@Pleonast](https://boards.straightdope.com/u/Pleonast)\
**Post date:** [October 30, 2023, 5:43pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7914 "2023-10-30T17:43:50Z")

</div>

Americans say “O” instead of “zero” in a lot of situations.

---

<div class="post-metadata">

**Author:** ![Napier](https://avatars.discourse-cdn.com/v4/letter/n/ce73a5/32.png) [@Napier](https://boards.straightdope.com/u/Napier)\
**Post date:** [October 30, 2023, 5:53pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7915 "2023-10-30T17:53:11Z")

</div>

True, but here we’re _writing_ “O” instead of “zero”, which we don’t often do.

---

<div class="post-metadata">

**Author:** ![TriPolar](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/tripolar/32/3008_2.png) [@TriPolar](https://boards.straightdope.com/u/TriPolar)\
**Post date:** [October 30, 2023, 5:56pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7916 "2023-10-30T17:56:36Z")

</div>

Isn’t it writing “O” instead of “0”, which often used to be the same character written or typed. It has drifted from it’s original meaning but that doesn’t make the matter any less clear for anyone.

---

<div class="post-metadata">

**Author:** ![Napier](https://avatars.discourse-cdn.com/v4/letter/n/ce73a5/32.png) [@Napier](https://boards.straightdope.com/u/Napier)\
**Post date:** [October 30, 2023, 6:10pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7917 "2023-10-30T18:10:56Z")

</div>

> [@TriPolar](#):
>
> Isn’t it writing “O” instead of “0”

Well, yeah. I guessed, though, that Pleonast wrote out the word “zero” to be more clearly distinguished from the single character numeral “0”, which could easily be confused with – or indeed could be identical to, in the case of older keyboards – the capital letter “0”. Seemed like a good idea to me, so I built upon it.

Which reminds me of another interesting fact. In the FORTH programming language, the names of functions, or “words” as they say, can be written with whatever characters you wish. You can name your function “2”, for example. There are occasional and perhaps pathological reasons why you might wish to do so, and renaming “2” to return 3, for example, is a most amusing thing to sneak into somebody else’s code.As a practical matter the language is very close to the metal, and nobody much is checking up on whether you should want to do what you did. For example, causing a hard crash is always a strategic option in FORTH programming.

For this reason I have occasionally given something a name like l|l|l|I|Il|, concocted of lowercase letter “L/l”, uppercase letter “I/i”, and pipe characters (the thing above the backslash which most people never use these days). It’s pretty difficult and time consuming to read names like this. Hint: it helps if you copy the name into a word processor file on multiple lines and put each line in a different font.

FORTH was the cleverest thing I had ever heard of, when I learned it about 40 years ago (though I have to say that object oriented programming and managed code today strike me as more clever still). It is versatile and flexible in the extreme. You can create your own FORTH environment with a few pages of text in the Microsoft Assembler, and then build on it in FORTH.

If for any reason you want to make a program hard to follow, you’d be hard pressed to find a more diabolical venue than FORTH.

---

<div class="post-metadata">

**Author:** ![Robot\_Arm](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/robot_arm/32/18280_2.png) [@Robot\_Arm](https://boards.straightdope.com/u/Robot_Arm)\
**Post date:** [October 30, 2023, 6:29pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7918 "2023-10-30T18:29:50Z")

</div>

> [@Napier](#):
>
> If for any reason you want to make a program hard to follow, you’d be hard pressed to find a more diabolical venue than FORTH.

Have you never heard of INTERCAL?

---

<div class="post-metadata">

**Author:** ![markn\_1](https://avatars.discourse-cdn.com/v4/letter/m/f9ae1b/32.png) [@markn\_1](https://boards.straightdope.com/u/markn_1)\
**Post date:** [October 30, 2023, 6:35pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7919 "2023-10-30T18:35:39Z")

</div>

I was going to mention APL, but INTERCAL is even better, if you can actually manage to produce a working program in INTERCAL.

---

<div class="post-metadata">

**Author:** ![Robot\_Arm](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/robot_arm/32/18280_2.png) [@Robot\_Arm](https://boards.straightdope.com/u/Robot_Arm)\
**Post date:** [October 30, 2023, 6:52pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7920 "2023-10-30T18:52:13Z")

</div>

A friend of mine learned about INTERCAL ~25 years ago, and tried to write some programs in it (under Linux, I think). It hadn’t really been maintained, though, and didn’t work with the current C compiler at the time. He managed to fix whatever issues there were, and get it running. I think he went so far as to write a floating-point library for INTERCAL.

I haven’t heard from him in ages, so I don’t know if INTERCAL has faded into unmaintained status again since then.

---

<div class="post-metadata">

**Author:** ![tofor](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/tofor/32/13727_2.png) [@tofor](https://boards.straightdope.com/u/tofor)\
**Post date:** [October 30, 2023, 7:05pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7921 "2023-10-30T19:05:33Z")

</div>

No such discussion would be complete without:

> **[Whitespace (programming language)](https://en.wikipedia.org/wiki/Whitespace_(programming_language))**
>
> Whitespace is an esoteric programming language developed by Edwin Brady and Chris Morris at the University of Durham (also developers of the Kaya and Idris programming languages). It was released on 1 April 2003 (April Fool's Day). Its name is a reference to whitespace characters. Unlike most programming languages, which ignore or assign little meaning to most whitespace characters, the Whitespace interpreter ignores any non-whitespace characters. Only spaces, tabs and linefeeds have meaning.\[

---

<div class="post-metadata">

**Author:** ![Kzbre5m](https://avatars.discourse-cdn.com/v4/letter/k/f08c70/32.png) [@Kzbre5m](https://boards.straightdope.com/u/Kzbre5m)\
**Post date:** [October 30, 2023, 7:12pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7922 "2023-10-30T19:12:22Z")

</div>

> [@Napier](#):
>
> If for any reason you want to make a program hard to follow, you’d be hard pressed to find a more diabolical venue than FORTH.

I once had to access an electric meter over a phone for a tenant in a large office building, to acquire monthly electric usage (using a TI TTY no less!). The tech over the phone was carefully describing how to write the code, until I realized it was FORTH, which I had discovered some years before in Model Railroad magazine. Coding with the tech went much easier after that. Unfortunately I never really had any other use for it. It is a fun language.

---

<div class="post-metadata">

**Author:** ![TriPolar](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/tripolar/32/3008_2.png) [@TriPolar](https://boards.straightdope.com/u/TriPolar)\
**Post date:** [October 30, 2023, 7:33pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7923 "2023-10-30T19:33:09Z")

</div>

My experience with FORTH was much better than most I’m sure. I worked with disciplined programmers who mostly stuck to a common set of well defined words and naming practices. FORTH allows great confusion, but it’s so low level that I wouldn’t count it in the class of what I refer to as ‘write-only’ languages that encourage obscurity and confusion.

---

<div class="post-metadata">

**Author:** ![OttoDaFe](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ottodafe/32/356_2.png) [@OttoDaFe](https://boards.straightdope.com/u/OttoDaFe)\
**Post date:** [October 30, 2023, 9:38pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7924 "2023-10-30T21:38:30Z")

</div>

While we’re on the subject, as part of my training I did a series of extra credit projects in IBM System/3 assembler. The language itself was pretty standard, except for the fact that data items were addressed by the rightmost byte; what made it … interesting … was that the System/3 had no floating point hardware, which made multiplication and division problematic. Multiplication wasn’t so bad, but division was a bear: keep subtracting while incrementing a counter until you couldn’t any more, then shift one over and start again.

---

<div class="post-metadata">

**Author:** ![eschereal](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/eschereal/32/18939_2.png) [@eschereal](https://boards.straightdope.com/u/eschereal)\
**Post date:** [October 30, 2023, 10:03pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7925 "2023-10-30T22:03:51Z")

</div>

The [RTX2010](https://en.wikipedia.org/wiki/RTX2010) processor runs Forth natively, using a 256-line data stack and a 256-line call stack. It is very efficient, good for real-time code, and, being radiation-hardened, finds uses in thingies that go far away, including one that landed on a comet some while back.  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Also, Forth is what runs the Open Firmware that has been used as startup code for a great many personal computing devices.

---

<div class="post-metadata">

**Author:** ![Lumpy](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/lumpy/32/446_2.png) [@Lumpy](https://boards.straightdope.com/u/Lumpy)\
**Post date:** [October 30, 2023, 11:18pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7926 "2023-10-30T23:18:21Z")

</div>

> [@OttoDaFe](#):
>
> Multiplication wasn’t so bad, but division was a bear: keep subtracting while incrementing a counter until you couldn’t any more, then shift one over and start again.

I don’t suppose there was any quick way to get the reciprocal of the divisor and multiply by that, without doing the same laborious division process to get the reciprocal? A lookup table maybe?

---

<div class="post-metadata">

**Author:** ![Chronos](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/chronos/32/134_2.png) [@Chronos](https://boards.straightdope.com/u/Chronos)\
**Post date:** [October 30, 2023, 11:20pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7927 "2023-10-30T23:20:28Z")

</div>

As long as the lookup table didn’t have any mistakes in it.

---

<div class="post-metadata">

**Author:** ![hogarth](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/hogarth/32/1773_2.png) [@hogarth](https://boards.straightdope.com/u/hogarth)\
**Post date:** [October 30, 2023, 11:33pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7928 "2023-10-30T23:33:10Z")

</div>

> [@Moriarty](#):
>
> I learned the other day that Bruce Lee had the sweat glands in his armpits removed. I didn’t even know that was possible!

I know a Chinese woman who had this done as a teenager because her sweat was smelly and/or heavy by Chinese standards. However, she has significant scarring in her armpit region (decades later) which is not something I’ve noticed with Bruce Lee.

---

<div class="post-metadata">

**Author:** ![OttoDaFe](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ottodafe/32/356_2.png) [@OttoDaFe](https://boards.straightdope.com/u/OttoDaFe)\
**Post date:** [October 30, 2023, 11:51pm UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7929 "2023-10-30T23:51:36Z")

</div>

> [@Lumpy](#):
>
> I don’t suppose there was any quick way to get the reciprocal of the divisor and multiply by that, without doing the same laborious division process to get the reciprocal? A lookup table maybe?

I suppose a lookup table might have been possible, but I’m not sure the language would have supported it (this was nigh unto 50 years ago). Another factor was that we could only do our test runs while CCP (a cutdown version of mainframe CICS) was down, meaning that everyone was locked out of the terminals. So we could only test during lunch and got _at most_ two test runs a day, which brought the KISS principle into play.

Ah, the good old days 🙄.

---

<div class="post-metadata">

**Author:** ![eschereal](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/eschereal/32/18939_2.png) [@eschereal](https://boards.straightdope.com/u/eschereal)\
**Post date:** [October 31, 2023, 12:04am UTC](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674/7930 "2023-10-31T00:04:07Z")

</div>

> [@Lumpy](#):
>
> I don’t suppose there was any quick way to get the reciprocal of the divisor and multiply by that, without doing the same laborious division process to get the reciprocal? A lookup table maybe?

I wrote a simple integer calculator in 6502 AL. To calculate a/b:

- set c =1, d = 0
- compare a - b, if positive, shift b left 1, shift c left 1, repeat until b’ is not less than a
- subtract b’ from a, if positive, add c’ to d, shift b right 1, shift c right 1, repeat until c = 0

result is in d, remainder is in a’

This process could be extended to arguments of any width and only requires as many subtraction cycles as the order of magnitude of a.

[Previous page](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674.md?page=395)

[Next page](https://boards.straightdope.com/t/tell-us-an-interesting-random-fact-you-stumbled-across-part-1/851674.md?page=397)
