These Keys Shouldn't Exist | Nostalgia Nerd

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Resplendent intro sounds] *click* *Compaq whirrs into life with a gradually increasing mechanical spin* *hard drive clunking* If you've used MS-DOS in the past, you're probably familiar with this character. This is the pipe symbol, and it's incredibly useful. It allows you to "pipe" or send, the output of one program, to another program. "This episode is sponsored by SquareSpace. More on that later" If I were to enter "type readme.txt" into this computer, it would spool out a huge readme file, giving no time to read it. However, it I were to enter "type readme.txt | more", the output gets sent to the 'more' command, which handily breaks the document down into screen size chunks. But there's an issue with this pipe symbol, and the issue is that, well, it doesn't actually exist, and what's more, there are often two apparently identical instances of it on keyboards, neither of which are existing in the way they're supposed to. Allow me to explain. [tense drum beat, intended to symbolise code communication methods] For centuries mankind has been using code to communicate, but it was really the telegraph which set a standard for a universally understood binary type communication with the International Telegraph Alphabet. This used 5 pulses of electricity to encode the letters of the alphabet and various figures, so they could be successfully decoded at the opposite end. Computers also needed character codes, so that data could be sent, processed and stored in the computer's memory. The problem was, by 1960, there was at least 29 different code standards being used by computers around the world. IBM for example, even had multiple character codes used across their own systems. Some standardisation was needed, just like the Telegraph. Although that couldn't be adapted for computers, because if you arranged the signals in binary order, it just produced a complete mess. And so, the American Standards Association (ASA) began the process of character code standardisation on the 4th August 1960, creating the X3.2 subcommittee for Coded Character Sets and Data Format. By March 1961, an initial code was produced. This one; 54 characters, arranged across 4 columns and 15 rows. This gives you a maximum of 60 characters, which fits into 6 bits. It's a 6 bit code. So going from this example, T is column 3, which is 11 in binary, and row 7, which is 0111, giving a binary code of 110111 for T. Of course, at the time, punched card was used for entering data. So this would be represented by two punched holes, one space and three more punched holes. This is also why we have null at the start of the table, as that leaves all holes un-punched (binary 000000), and delete at the end of the table, as that punches all holes, removing any data that was present (binary 111111). However, that's not what the binary code for T would actually end up being, and, you'll note that a lot of the characters we used today, are missing from this table. The lower case alphabet for starters. Therefore it was decided in May 1961, that a family of related codes, of different sizes would be created. A four bit numeric set, A shifted five bit set, a six bit set for data processing, a 7 bit set for communications and an 8-bit expanded set. The 7 bit set was identified as the prime set for information exchange. It was this initial 7 bit set from the 1st June 1961. Already very different from the first. It's also the first where we see the pipe symbol, or vertical line. The reason for it's inclusion is that it's actually the logical OR symbol, and therefore grouped among other mathematical symbols, such as greater than, less than, logical not. You get the idea. However this table, this code, gave minimal concessions to keyboard design. For instance, if two symbols reside on a key, ideally you want them in the same row, because it equates to only a single bit difference between each character. This allows the keyboard to be mechanically simpler. You have to remember that, at this point, Hollerith or mechanical keyboards were often used to physically punch data into card or tape, to be fed into the computer, and so This character set lacked elegance and practicality. And so, in collaboration with other global standards authorities, including the UK and Europe, the arduous process of determining a satisfactory 7 bit standard began. Now, I won't bore you with each subsequent revision, but I can tell you that it would take another 6 years before the standard was agreed, with the vertical line phasing in and out of existence throughout. By 12th May 1966, we had this setup. Which looks much better, with corresponding shifted values in the correct rows, and the ability to create subsets of the set. The idea here was that the middle 4 columns, could be taken as an international subset, and used on 6 bit machines, leaving some of the outside characters as part of the greater 7 bit set. Some of these outlying characters could also be re-purposed as part of a national set, for localised accents and other requirements. Based around this draft, the International Standards Organisation would draft this proposal. You can see some characters are designated for national use. We also have a pound symbol where hash was, giving you some idea as why American's refer to the hash, as the pound symbol. However, even though this draft got international approval, it caused some upset, mainly with an IBM user group known as SHARE. The chairman, H. W. Nelson, would pen an irate letter to the ASA entitled; "The Proposed revised American Standard Code for Information Interchange does NOT meet the needs of computer programmers!"; His point was there weren't any characters in the international subset that can be used to satisfactorily represent the logical operations of OR and NOT. His proposal was that the code table be rearranged like so, with the vertical line/OR at position 2/3 and the not/negate symbol at 2/4. This would allow for operation of programming languages such as IBM's Programming Language 1 universally, and on a wider variety of platforms. But as the original International Standards Organisation - or ISO - draft had already been accepted, changes would be difficult. So a compromise was made. Both the circumflex and exclamation mark would need to allow the ability to interchange with the logical NOT and logical OR symbols respectively. As if they were shape-shifters. So in some uses, such as programming, pressing these key commands would create logical symbols, and outside of programming, or on a different machine, they would produce their original symbols. So, in an attempt to appease this significant and important programming community, the standards document was annotated as thus; "it may be desirable to employ distinctive styling to facilitate their use for specific purposes as, for example, to stylise the graphics in code positions 2/1 and 5/14 to those frequently associated with logical OR and logical NOT respectively" The original vertical line, found in 7/12 was then broken, so that users would not mistake it as a logical OR symbol, which would then create erroneous output, and the ASCII character codes were formed. So, this broken bar would become ASCII character 7C. You get that with the formula 16 x X + Y, where X is the column number and Y is the row number. That gives us 124, which is 7C in Hex. -sponsor start- Which brings me onto my sponsor, Square Space. Now, this is my last slot in this run with Square Space, so I want to give them a big thanks for sponsoring me, and frankly, allowing me to upgrade some of my videography equipment. Look out for some improvements in future videos. But if you want to create your own website, for, well, any purpose, be it business or pleasure. Square Space has your back. It's incredibly simple to get a website up and running with a custom domain using their platform, with effortless tools and guides to help you along, and right now you can grab 10% off your first purchase by visiting the link in the description; squarespace.com/nostalgianerd But remember, this is the last sponsor segment in this run, so don't hang about. Check them out with the link below. -sponsor end- [Funky synth music to ease us forward into a new world of ASCII] And so, on the 5th July 1967, THIS would become the American Standards Code for Information Interchange, or ASCII. With the equivalent ISO 464 code published as a recommendation in December of the same year. Ensuring text remained readable and usable on multiple machines. All fonts would therefore be created around this character set, with the keyboard interface generating the correct signals to call the relevant characters up from ROM, or software. So then, this explains why we have our broken vertical bar on the keyboard, and indeed, why it appears in our software. It was part of the character set, but as, it was no longer needed for it's original operation, computer programs began re-purposing it for their own uses. So, going back to our initial example; this is how DOS ended up using it for the useful PIPE command. Although, really it was stolen from Unix, which had been using it since the early 70s. BUT.... something happened between 1967 and the release of DOS & the IBM PC Compatible that SHOULD have had implications. [Implicating organ music to herald a new ASCII world order] ENTER ASCII-1977 [Funky '70s rock with hammond organ] Yeah man, the 70s were a different, funkier time, and it meant what was once taken out, went back in. Yes, ten years on, and with the SHARE group apparently a distant memory, ASCII-1977 went about undoing the compromises of the original ASCII-1967; The hash symbol could no longer be replaced by the pound. The Circumflex could no longer be stylised as a logical NOT, and importantly, the exclamation mark could no longer be stylised as a vertical bar. This meant, the original 7C broken bar, was repaired to be a beautiful full, flowing, continuous bar. Yep, it was back in business again as Logical OR. Internationally these had actually been done even sooner, with ISO 646-1973. Seems like it really was done just to appease PL/1 programmers for a few years. So enter the IBM PC in 1981, and enter Microsoft DOS, and what do we have. Yup, we've still got that broken bar. THIS CHARACTER DOES NOT CONFORM TO ASCII STANDARDS FOLKS. This character should not exist. But yet, it does there, and it does on almost every keyboard of the 1980s and 1990s - or IBM PC compatibles AT least - and in fact, still a LOT of keyboards up until this day. But that in part is due to the IBM PC using it's own character set. This is called Code Page 437, and should look pretty familiar to you. It's actually an 8 bit character set. It just does away with the extra 1 bit parity check used on the original 7 bit ASCII set, and gives us a load of graphical characters, Commonly used for DOS programs like Edit, Scandisk and QBasic. All the non ASCII characters have bespoke numbering conventions, to avoid confusion and interpretation issues. It's based on ASCII, includes all printable ASCII characters and extended codes, and it's sometimes referred to as "High ASCII". I'm not sure whether that's because it looks like it's on drugs or not, but it's not strictly speaking ASCII compatible. But rather than pulling the solid vertical bar from 1977 ASCII, it uses the broken bar that IBM had been accustomed to since 1967. Now, if you're from the United States, or really anywhere else, you might wonder why it's down here. Well that's because this is a UK keyboard. Remember those earlier dollar symbol, pound shenanigans. Yeah, so this is why UK keyboards are commonly 62 key, rather than 61; The pound symbol is on 3, meaning the hash symbol is now on an extra key down near our larger Enter key, meaning the key you Americans usually have over the enter key is actually now down here, and up here. Oh god, what the hell is this? We have TWO vertical bars now. What is this? Two PIPE symbols. What is going on here then? [Funky detective style music] Yes, UK Keyboards have a second vertical line to the left of the 1 key. It's shared with that logical NOT symbol and a grave accent, used in various languages. If you're American and you have an international keyboard, then you'll find the second vertical line on the same key as the first vertical line. Although I'm not sure that makes it easier to comprehend. If anything, it's worse. Anyway, on a lot of character sets, these two symbols will look identical. The original PIPE is ASCII 007C, whilst this new one is 00A6, and it's accessed on a UK keyboard using the Alt-GR key and the top left key. The reason it's here is due to the extended ASCII codes introduced in 1985 with ISO 8859-1 or ECMA-94. Also known as Latin 1 it consists of 191 characters from the latin script. Under DOS it was introduced as Code Page 850. You can see how it fits alongside the original 7 bit set nicely. With it, this character set re-introduced back the broken vertical bar. Yes; the bar that was broken in 1967 to stop it being used the wrong way, was brought back. I guess because people missed it. But, this new broken vertical bar, is a different character to 7C, so it doesn't really have any purpose, other than to look like a broken bar. Which ironically, is what 7C still looks like in a lot of fonts, and on a lot of keyboards. I guess it gives you an extra tool for ASCII art at least. So if you find an international or UK keyboard from 1985 onward, you'll likely find it has two solid bars, or perhaps two broken bars, or even more weirdly, it'll likely had a broken bar where the solid bar should be and a solid bar, where the new broken bar should be. Things have switched around... In part, this is due to IBM's Model-M keyboard. It was also introduced in 1985, and has the switched vertical bars, just like Code Page 437. It was also the basis for many keyboards going forward. Yup, it's confusing. so you may come across the odd font that still has the back to front implementation. Whether your keyboard has them the right way around will vary depending on your keyboard. Some will, some won't. It's amazing, as we're talking about a hang-over from a standards dispute that now goes back over half a century. But regardless of how they look, the operating system will recognise them as intended. I mean, it should anyway. So that's why we have two keys with *almost* the same character, and it's also why those keys, or the characters represented on those keys, don't actually exist. Well, not in the way they're always intended. So as a recap. This key was once a broken bar. Represented by a broken bar on screen. But it should have been a solid bar, represented by a solid bar on screen. Mostly these days that is the case. This extra broken bar, located on some keyboards, that is sometimes portrayed as a solid bar, but is in fact a broken bar, was introduced in 1985, and is really just for old times sake, but is a distinct different character from the original broken bar, so doesn't really serve that purpose. Until it's given a purpose, just like this one was..... Maybe Unix can have an extra pipe. It seems to like them. Or maybe Youtubers can just use them as a spacing tool in video titles. So I hope that's explained something you probably never cared about, or wanted to know. Thanks for watching, and have a great evening. [70s music]
Info
Channel: Nostalgia Nerd
Views: 528,884
Rating: 4.8889861 out of 5
Keywords: pipe symbol, characters, ascii, keyboard
Id: BktIY7VbrUs
Channel Id: undefined
Length: 19min 31sec (1171 seconds)
Published: Sun May 31 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.