SlideShare a Scribd company logo
By Aaron Taylor
CEO of Six Two
(a web design business)
Return the Carriage, Feed the Line
Or
A Brief, Wholly Unnecessary, But Quite Interesting History of
Overlooked Technological Quirks and the Decisions that Made Them
2
3
4
5
6
7
8
9
10
Carriage Return, Line Feed
(CR,LF)
11
12
13
14
15
Return the carriage, feed the line by Aaron Taylor
Return the carriage, feed the line by Aaron Taylor
Return the carriage, feed the line by Aaron Taylor
Return the carriage, feed the line by Aaron Taylor
Return the carriage, feed the line by Aaron Taylor
Return the carriage, feed the line by Aaron Taylor
Return the carriage, feed the line by Aaron Taylor
23
24
Fun facts I learned along the way
25
The /etc folder in *nix systems literally means ‘et cetera’
26
‘~’ is the home directory because it used to share the home key
27
28
<marquee> and <blink> were invented by
Microsoft and Netscape, respectively.
29
That’s all, folks!
aaron@sixtwo.tech
@sixtwo_tech
Find me on LinkedIn as well if you like.
Aaron Taylor

More Related Content

PPTX
Final 3D scavenger hunt
PPTX
No Onions, No Tiers - An Introduction to Vertical Slice Architecture by Bill ...
PPTX
Supporting IT by David Meares
PPTX
OWASP Top 10 2021 - let's take a closer look by Glenn Wilson
PDF
If you think open source is not for you, think again by Jane Chakravorty
PDF
Chaos Engineering – why we should all practice breaking things on purpose by ...
PPTX
A brief overview of the history and practice of user experience by Ian Westbrook
PPTX
Treating your career path and training like leveling up in games by Raymond C...
Final 3D scavenger hunt
No Onions, No Tiers - An Introduction to Vertical Slice Architecture by Bill ...
Supporting IT by David Meares
OWASP Top 10 2021 - let's take a closer look by Glenn Wilson
If you think open source is not for you, think again by Jane Chakravorty
Chaos Engineering – why we should all practice breaking things on purpose by ...
A brief overview of the history and practice of user experience by Ian Westbrook
Treating your career path and training like leveling up in games by Raymond C...

More from Alex Cachia (14)

PPTX
Digital forensics and giving evidence by Jonathan Haddock
PPTX
Software Security by Glenn Wilson
PPTX
Data Preparation and the Importance of How Machines Learn by Rebecca Vickery
PPTX
Why Rust? by Edd Barrett (codeHarbour December 2019)
PPTX
Issue with tracking? Fail that build! by Steve Coppin-Smith (codeHarbour Nove...
PPTX
Hack your voicemail with Javascript by Chris Willmott (codeHarbour October 2019)
PPTX
Developing for Africa by Jonathan Haddock (codeHarbour October 2019)
PDF
Revving up with Reinforcement Learning by Ricardo Sueiras
PPTX
Blockchain For Your Business by Kenneth Cox (codeHarbour July 2019)
PPTX
Seeking Simplicity by Phil Nash (codeHarbour June 2019)
PPTX
Sharing Data is Caring Data by Mark Terry (codeHarbour June 2019)
PPTX
Managing technical debt by Chris Willmott (codeHarbour April 2019)
PPTX
Telephone Systems and Voice over IP by Bob Eager (codeHarbour April 2019)
PPTX
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
Digital forensics and giving evidence by Jonathan Haddock
Software Security by Glenn Wilson
Data Preparation and the Importance of How Machines Learn by Rebecca Vickery
Why Rust? by Edd Barrett (codeHarbour December 2019)
Issue with tracking? Fail that build! by Steve Coppin-Smith (codeHarbour Nove...
Hack your voicemail with Javascript by Chris Willmott (codeHarbour October 2019)
Developing for Africa by Jonathan Haddock (codeHarbour October 2019)
Revving up with Reinforcement Learning by Ricardo Sueiras
Blockchain For Your Business by Kenneth Cox (codeHarbour July 2019)
Seeking Simplicity by Phil Nash (codeHarbour June 2019)
Sharing Data is Caring Data by Mark Terry (codeHarbour June 2019)
Managing technical debt by Chris Willmott (codeHarbour April 2019)
Telephone Systems and Voice over IP by Bob Eager (codeHarbour April 2019)
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
Ad

Recently uploaded (20)

PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
August Patch Tuesday
PPTX
1. Introduction to Computer Programming.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Empathic Computing: Creating Shared Understanding
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Mushroom cultivation and it's methods.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles - August'25-Week II
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
August Patch Tuesday
1. Introduction to Computer Programming.pptx
Spectral efficient network and resource selection model in 5G networks
A comparative analysis of optical character recognition models for extracting...
Getting Started with Data Integration: FME Form 101
Empathic Computing: Creating Shared Understanding
Advanced methodologies resolving dimensionality complications for autism neur...
Spectroscopy.pptx food analysis technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Mushroom cultivation and it's methods.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Network Security Unit 5.pdf for BCA BBA.
Ad

Return the carriage, feed the line by Aaron Taylor

Editor's Notes

  • #3: As with all good stories. This one doesn’t start with someone you know. In fact, it starts with someone you don’t
  • #4: This guy. Introducing Gary Kildall. Author of the seminal operating system that we all know and love, CP/M. Remember it? Nope? Neither had I until I wrote this talk. It’s late 1973 and Gary here has a decision to make. It’s a decision that would go on to have massive ramifications for computer science and all those who practice it. It’s a decision that we still feel the effects of today, one that I think has cost the world billions in bugfixes, lost time, frustration and general hair-pulling. You see, Gary here is working on the future. But he needs to support the present and, more importantly, the past. Namely, this:
  • #5: Behold! The mighty Teletype Model 33 This beauty in beige was one of the first user interfaces; an operator would type commands which were sent to the mainframe, and the responses would be typed out, automagically onto some paper. This baby was capable of printing a staggering 100 words per minute … that’s almost 85 baud
  • #6: (Next slide)
  • #7: Now there were a couple of interesting keys on the keyboard here, namely these two:
  • #8: One of those is the carriage return key, and another is the line feed key. Sounding familiar yet? Now, this is 1973, remember and even those two terms are archaic. They’re direct imports from back when typewriters were the height of information technology, and for the curious, here’s a handy diagram of what those things actually do:
  • #9: Move the lever up to move the paper up a line. Move it across to move the carriage, and the sheet of paper back to the start of the line. But why not just do both? Well, sometimes you want to overtype certain words to make things bold, or do strikethroughs and things like that. But either way, it definitely made sense to have control of both, separately.
  • #10: But Gary’s OS, CP/M — which stands for Control Program for Microcomputers — was being designed for the terminal. Those monochromatic CRT displays that were popular with the computing crowd of the day. The problem Gary faced was this: what command should we send when we want a new line. On an electronic display he could use anything he liked. He knew the Unix guys were handling this with a single line feed command. But this wouldn’t work with the Teleprinters. It’d just scramble the output. So he did the only thing that made sense. Two commands would be sent. One to return the cursor or the print head to the start of the row. And then one to move it down a line.
  • #11: The commands themselves were: Carriage return, line feed. Or CRLF Oh, and if you’re interested: CP/M looked like this:
  • #12: And got bought by this guy a few years later
  • #13: Who went on to build this
  • #14: Which would ultimately lead to developers worldwide having to put up with things like this
  • #16: My next story begins some years earlier, in the 19th century and starts with a conversation about what to print money on. I don’t have the details of that conversation, but what I do know is that once the decision was made, the result would have such deep ramifications as to change how each and every one of us thinks about programming.
  • #17: This is an 1890 United States Federal Reserve Note. A Ten Dollar Greenback. It is 188.9 x 79.8mm; roughly 20% larger than the US bank notes in circulation today. And when it’s being transported around, it fits in a custom-designed, secure box.
  • #18: This is Herman Hollerith. He had the misfortune of working on the 1880 United States Census. A laborious, error-prone task that he thought could be done much better. He would spend the next ten years working on an automated solution for the collection and processing of census data, and after almost a decade of work, and a patent, Herman Hollerith would change the world for good as he birthed this:
  • #19: The Tabulating machine. It was a marvel of its time. Punched cards were read at the station on the left, which opened one of the lids on the sorting box on the right depending on the values of the card.
  • #20: Herman was a true engineer. Only solving the problems that needed solving. He designed the cards to be compatible with the existing treasury boxes that were used for transporting money, and so he gave them the exact same dimensions as the bank notes of the time. It was a phenomenal success. Hollerith would go on to found The Tabulating Machine Company in 1896 and through a series of mergers they would become part of a consortium of companies known as the Computing-Tabulating Recording Company who would later, in 1924, rename themselves again. Although they didn’t get any more inventive in their naming of companies, this time it stuck. They called themselves International Business Machines. IBM. The card in use is a diagram of the same one used during the 1890 census. It had a 24 column, 12 row lattice. The punched holes were originally circular, and for those of you who remember your geometry, circles don’t really tessellate very well. But the clever people at IBM had a plan for this.
  • #21: Square holes! Behold, the IBM punch card. What you’re looking at here is 960 bits of raw information, stored in 12 rows of 80 columns. They’d later up the rows to 25, giving a whopping 2,000 bits of capacity. This format went on to become the industry standard for computer programming, with cards like these being used to program in languages such as Fortran. And featuring heavily in the space program. So ubiquitous were these 80 x 25 cards, that when CRT screens started becoming commonplace as replacements for teletypes, and once they’d got over the nearly insurmountable problem of displaying up to 2,000 characters on the screen at once, the format for computer terminals became 80 x 25
  • #22: And then storage improved and programming languages changed. You didn’t have to carry around bundles of cards with you any more. You could program straight into the terminal itself. And then screen resolutions increased. And GUI’s improved. But no one questioned the 80 column limit. But everyone kept on enforcing it. And so it stayed. So every time you see this in your editor
  • #23: Or any time your linter tells you that you’re lines are too long. Just take a deep breath, and thank Herman Hollerith and his fantastic tabulating machine
  • #24: My next story begins some years earlier, in the 19th century and starts with a conversation about what to print money on. I don’t have the details of that conversation, but what I do know is that once the decision was made, the result would have such deep ramifications as to change how each and every one of us thinks about programming.
  • #26: It was originally a dumping ground for config files and things that no one could find a better place for
  • #27: It was originally a dumping ground for config files and things that no one could find a better place for
  • #28: It was originally a dumping ground for config files and things that no one could find a better place for
  • #29: No one liked either of those tags, but both MS and NS had considerable weight in the fledgling W3C. A deal was struck to remove them both in February of that year, however Microsoft reintroduced the Marquee tag in 1996 with the launch of the new Internet Explorer