summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9226.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc9226.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc9226.txt')
-rw-r--r--doc/rfc/rfc9226.txt336
1 files changed, 336 insertions, 0 deletions
diff --git a/doc/rfc/rfc9226.txt b/doc/rfc/rfc9226.txt
new file mode 100644
index 0000000..a045412
--- /dev/null
+++ b/doc/rfc/rfc9226.txt
@@ -0,0 +1,336 @@
+
+
+
+
+Independent Submission M. Breen
+Request for Comments: 9226 mbreen.com
+Category: Experimental 1 April 2022
+ISSN: 2070-1721
+
+
+ Bioctal: Hexadecimal 2.0
+
+Abstract
+
+ The prevailing hexadecimal system was chosen for congruence with
+ groups of four binary digits, but its design exhibits an indifference
+ to cognitive factors. An alternative is introduced that is designed
+ to reduce brain cycles in cases where a hexadecimal number should be
+ readily convertible to binary by a human being.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for examination, experimental implementation, and
+ evaluation.
+
+ This document defines an Experimental Protocol for the Internet
+ community. This is a contribution to the RFC Series, independently
+ of any other RFC stream. The RFC Editor has chosen to publish this
+ document at its discretion and makes no statement about its value for
+ implementation or deployment. Documents approved for publication by
+ the RFC Editor are not candidates for any level of Internet Standard;
+ see Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc9226.
+
+Copyright Notice
+
+ Copyright (c) 2022 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document.
+
+Table of Contents
+
+ 1. Introduction
+ 1.1. The Pernicious Advance of Hexadecimal
+ 1.2. Problems with Hexadecimal
+ 1.3. Other Proposals
+ 2. Bioctal
+ 3. Objections to Be Dismissed
+ 4. Security Considerations
+ 5. IANA Considerations
+ 6. Conclusion
+ 7. Informative References
+ Acknowledgments
+ Author's Address
+
+1. Introduction
+
+1.1. The Pernicious Advance of Hexadecimal
+
+ Octal has long been used to represent groups of three binary digits
+ as single characters, and that system has the considerable merit of
+ not requiring any digits other than those already familiar from
+ decimal numbers. Unfortunately, the increasing use of 16-bit
+ machines and other machines that have word lengths that are evenly
+ divisible by four (but not by three) has led to the widespread
+ adoption of hexadecimal. Table 1 presents the digits of the
+ hexadecimal alphabet.
+
+ +=======+=======+
+ | Value | Digit |
+ +=======+=======+
+ | 0 | 0 |
+ +-------+-------+
+ | 1 | 1 |
+ +-------+-------+
+ | 2 | 2 |
+ +-------+-------+
+ | 3 | 3 |
+ +-------+-------+
+ | 4 | 4 |
+ +-------+-------+
+ | 5 | 5 |
+ +-------+-------+
+ | 6 | 6 |
+ +-------+-------+
+ | 7 | 7 |
+ +-------+-------+
+ | 8 | 8 |
+ +-------+-------+
+ | 9 | 9 |
+ +-------+-------+
+ | 10 | A |
+ +-------+-------+
+ | 11 | B |
+ +-------+-------+
+ | 12 | C |
+ +-------+-------+
+ | 13 | D |
+ +-------+-------+
+ | 14 | E |
+ +-------+-------+
+ | 15 | F |
+ +-------+-------+
+
+ Table 1: The
+ Hexadecimal Alphabet
+
+ The choice of alphabet is clearly arbitrary: On the exhaustion of the
+ decimal digits, the first letters of the Latin alphabet are used in
+ sequence for the remaining hexadecimal digits. An arbitrary alphabet
+ may be acceptable on an interim or experimental basis. However,
+ given the diminishing likelihood of a return to 18-bit computing, a
+ review of this choice of alphabet is merited before its use, like
+ that of the QWERTY keyboard, becomes too deeply established to permit
+ the easy adoption of a more logical alternative.
+
+1.2. Problems with Hexadecimal
+
+ One problem with the hexadecimal alphabet is well known: It contains
+ two vowels, and numbers expressed in hexadecimal have been found to
+ collide with words offensive to vegetarians and other groups.
+
+ Imposing a greater constraint on the solution space, however, is the
+ difficulty of mentally converting a number expressed in hexadecimal
+ to (or from) binary. Consider the hexadecimal digit 'D', for
+ example. First, one must remember that 'D' represents a value of 13
+ -- and, while it may be easy to recall that 'F' is 15 with all bits
+ set, for digits in the middle of the non-decimal range, such as 'C'
+ and 'D', one may resort to counting ("A is ten, B is eleven, ...").
+ Next, one must subtract eight from that number to arrive at a number
+ that is in the octal range. Thus, the benefit of representing one
+ additional bit incurs the cost of two additional mental operations
+ before one arrives at the position where the task that remains
+ reduces to the difficulty of converting the remaining three digits to
+ binary.
+
+ These mental steps are not difficult per se, since a child could do
+ them, but if it is possible to avoid employing children, then it
+ should be avoided. An appeal to the authority of cognitive
+ psychology is perhaps also due here, in particular to the "seven plus
+ or minus two" principle [Miller] -- either because octal is within
+ the upper end of that range (nine) and hexadecimal is not, or else
+ because the difference in the size of the alphabets is greater than
+ the lower end of that range (five). Either way, it is almost
+ certainly relevant.
+
+1.3. Other Proposals
+
+ Various alternatives have already been suggested. Some of these are
+ equally arbitrary, e.g., in selecting the last six letters of the
+ Latin alphabet rather than the first six letters.
+
+ The scheme that comes closest to solving the main problem to date is
+ described by Bruce A. Martin [Martin] who proposes new characters for
+ the entire octal alphabet. While his principal motivation is to
+ distinguish hexadecimal numbers from decimals, the design of each
+ character uses horizontal lines to directly represent the "ones" of
+ the corresponding binary number, making mental translation to binary
+ a trivial task.
+
+ Unfortunately for this and other proposals involving new symbols,
+ proposals to change the US-ASCII character set [USASCII] might no
+ longer be accepted. Also, it seems unrealistic to expect keyboards
+ or printer type elements (whether of the golf ball or daisy wheel
+ kind) to be replaced to accommodate new character designs.
+
+2. Bioctal
+
+ Table 2 presents the hexadecimal alphabet once again, this time in a
+ sequence of two octaves with values increasing left to right and top
+ to bottom.
+
+ +---+---+---+---+---+---+---+---+
+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
+ +---+---+---+---+---+---+---+---+
+ | 8 | 9 | A | B | C | D | E | F |
+ +---+---+---+---+---+---+---+---+
+
+ Table 2: The Hexadecimal
+ Alphabet in Sequential
+ Octaves
+
+ Arranged thus, the binary representation of each digit in the second
+ octave is the same as the digit above it, but with the most
+ significant of the four bits set to '1' instead of '0'.
+
+ The incongruity of two decimal digits in the second octave also
+ suggests that, in blindly aligning with four bits, hexadecimal (six
+ plus ten, neither of which are powers of two) misses an opportunity
+ to align also with three bits.
+
+ Bioctal restores congruence by replacing the second row with
+ characters mnemonically related to the corresponding character in the
+ first octave.
+
+ Table 3 shows the compelling result.
+
+ +---+---+---+---+---+---+---+---+
+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
+ +---+---+---+---+---+---+---+---+
+ | c | j | z | w | f | s | b | v |
+ +---+---+---+---+---+---+---+---+
+
+ Table 3: Bioctal in
+ Sequential Octaves
+
+ The mnemonic basis is the shape of the lowercase character. This is
+ seen directly for '2', '5', and '6'. For '3', '4', and '7', the
+ corresponding letters are the result of a quarter-turn clockwise
+ (assuming an "open" '4'). The choice of 'c' and 'j' for '0' and '1'
+ avoids vowels and lowercase 'L', the latter being confusable with '1'
+ in some fonts.
+
+ With this choice of letters, it is immediately evident that both
+ problems with hexadecimal are solved. Mental conversion is now
+ straightforward: if the digit is a letter, then the most significant
+ of the four binary bits is '1', and the remaining three bits are the
+ same as for the Arabic numeral with the same shape in the first
+ octave.
+
+3. Objections to Be Dismissed
+
+ Several objections can be anticipated, the first of which concerns
+ the name. The term "bioctal" is already used to refer to the
+ combination of two octal characters into a single field on, for
+ example, paper tape (e.g., [UNIVAC]). However, if the word "bioctal"
+ must be disadvantaged relative to words such as "biannual" in the
+ number of meanings it is allowed to have, then it is the paper tapers
+ who must give way: in that context, the "octal" part of "bioctal"
+ refers to the number of distinct values that three bits can have,
+ while the "bi" refers to a doubling of the number of bits, not
+ values. A meaning depending on such a discordant etymology does not
+ deserve to endure.
+
+ Second, it may be argued that the use of hexadecimal has already
+ become too entrenched to be changed in the short term: Bioctal should
+ be introduced only after those working in the industry who have grown
+ accustomed to hexadecimal have retired. Such a dilatory contention
+ cannot be allowed to impede the march of progress. Instead, any data
+ entry technician who claims to have difficulty with bioctal may be
+ reassigned to duties involving only binary numbers.
+
+ A third possible objection is that numbers in bioctal do not sort
+ numerically. However, this assumes a sort based on the US-ASCII
+ order of symbols; it is quite possible that bioctal numbers sort
+ naturally in some lesser known variety of EBCDIC. Further,
+ resistance to numeric sorting may be an indicator of virtue, being
+ suggestive of an alphabet with a certain strength of character.
+
+ One difficulty remains: Not all computers support lowercase letters.
+ While this is indeed true, it should be confirmed in any particular
+ instance: the author has observed that in many cases a machine having
+ a keyboard with buttons marked only with uppercase letters also
+ supports lowercase letters. In any case, it is permissible to use
+ uppercase letters instead of the lowercase ones of Table 3; the
+ morphology mnemonic continues to work for most bioctal digits in
+ uppercase, although an extra mental cycle is required for 'B'.
+
+4. Security Considerations
+
+ The letters 'b' and 'f' appear in both the bioctal and hexadecimal
+ alphabets, which makes potential misinterpretation a concern. A case
+ of particular hazard arises where two embedded systems engineers work
+ to develop a miniature lizard detector designed to be worn like a
+ wristwatch. One engineer works on the lizard proximity sensor and
+ the other on a minimal two-character display. The interface between
+ the circuits is 14 bits. To make things easier, the engineer working
+ on the display arranges for these bits to be set in a pattern that
+ allows them to be used directly as two seven-bit US-ASCII characters
+ indicating the most significant lacertilian species detected in the
+ vicinity of the device. Due to the use of an old US-ASCII table
+ (i.e., one in hex, not bioctal) and human error, some of the values
+ specified as outputs for the detection subsystem are in hexadecimal,
+ not the bioctal the engineer developing that subsystem expects --
+ including, in the case of one type of lizard, "4b 4f". The result is
+ that the detector displays "NL" (No Lizards) when it should display
+ "KO" (Komodo dragon). This may be considered prejudicial to the
+ security of the user of the device.
+
+ Extensive research has uncovered no other security-related scenarios
+ to date.
+
+5. IANA Considerations
+
+ This document has no IANA actions.
+
+6. Conclusion
+
+ Bioctal is a significant advance over hexadecimal technology and
+ promises to reduce the small (but assuredly non-zero) contribution to
+ anthropogenic global warming of mental hex-to-binary conversions.
+ Since the mnemonic basis of the alphabet is independent of English or
+ any other particular natural language, there is no reason that it
+ should not be adopted immediately around the world, excepting perhaps
+ certain islands of Indonesia to which _Varanus komodoensis_ is
+ native.
+
+7. Informative References
+
+ [Martin] Martin, B. A., "Letters to the editor: On binary
+ notation", Communications of the ACM, Vol. 11, No. 10,
+ DOI 10.1145/364096.364107, October 1968,
+ <https://doi.org/10.1145/364096.364107>.
+
+ [Miller] Miller, G. A., "The Magical Number Seven, Plus or Minus
+ Two: Some Limits on Our Capacity for Processing
+ Information", Psychological Review, Vol. 101, No. 2, 1956.
+
+ [UNIVAC] Sperry Rand Corporation, "Programmers Reference Manual for
+ UNIVAC 1218 Computer", Revision C, Update 2, November
+ 1969, <http:/bitsavers.computerhistory.org/pdf/univac/
+ military/1218/PX2910_Univac1218PgmrRef_Nov69.pdf>.
+
+ [USASCII] American National Standards Institute, "Coded Character
+ Set -- 7-bit American Standard Code for Information
+ Interchange", ANSI X3.4, 1986.
+
+Acknowledgments
+
+ The author is indebted to R. Goldberg for assistance with Section 4.
+
+Author's Address
+
+ Michael Breen
+ mbreen.com
+ Email: rfc@mbreen.com