CR4-DL

Code (Incomplete)

By Charles Petzold

NOTE: This is an incomplete set of notes.

Preface

  • Metaphors and similes are wonderful literary devices but they do nothing but obscure the beauty of technology.
  • The distinction between memory and storage is an artificial one and exists solely because we don’t have a single storage medium that’s both fast, vast, and nonvolatile.
  • What we know today as the “von Neumann architecture”, the dominant computer architecture, is a direct result of this technical deficiency.
  • Code: a system of signals used to represent letters or numbers in transmitting messages. A system of symbols given certain arbitrary meanings used for transmitting messages requiring secrecy or brevity.

Chapter 1: Best Friends

  • Can flashlights be made to speak?
  • Review of Morse code where every letter of the alphabet matches a short series of dots and dashes.
  • Code: a system for transferring information among people and machines.
  • In other words, a code lets you communicate, sometimes in secret, but most times not.
  • There seems to be no reason why cats aren’t called “dogs” and dogs aren’t called “cats.
  • You could say English vocabulary is a type of code.
  • A code is useful if it serves a purpose that no other code can.
  • Computers can’t deal with human codes directly because computers can’t duplicate the ways in which human beings use their eyes, ears, mouths, and fingers.

Chapter 2: Codes and Combinations

  • The invention of Morse code goes hand-in-hand with the invention of the telegraph.
  • Most people find it easier to send Morse code than to receive it because most Morse code tables go from alphabetical letter → Morse code dots and dashes and not the reverse.
  • But it isn’t obvious how we could construct such a table.
  • number of codes=2number of symbolsnumber\ of\ codes = 2^{number\ of\ symbols}
  • To make the process of decoding Morse code even easier, we could make a treelike table.
  • Undefined: a code that doesn’t stand for anything.

Chapter 3: Braille and Binary Codes

  • Review of the invention of Braille inspired by Barbier’s system.
  • Precedence/shift codes: codes that alter the meaning of the codes that follow them.
  • E.g. Number indicator and capital indicator.

Chapter 4: Anatomy of a Flashlight

  • Review of electrons, atoms, and molecules.
  • Review of electricity, conductors, and insulators.

Chapter 5: Seeing Around Corners

  • Review of the ground/earth electrical component.

Chapter 6: Telegraphs and Relays

  • I’m dropping this book at chapter 6 because I learned most of this book in school already. This would be a great book for reviewing the material or for beginners, but not for educated electrical and software engineers.

Chapter 7: Our Ten Digits

Chapter 8: Alternatives to Ten

Chapter 9: Bit by Bit by Bit

Chapter 10: Logic and Switches

Chapter 11: Gates (Not Bill)

Chapter 12: A Binary Adding Machine

Chapter 13: But What About Subtraction?

Chapter 14: Feedback and Flip-Flops

Chapter 15: Bytes and Hex

Chapter 16: An Assemblage of Memory

Chapter 17: Automation

Chapter 18: From Abaci to Chips

Chapter 19: 2 Classic Microprocessors

Chapter 20: ASCII and a Cast of Characters

Chapter 21: Get on the Bus

Chapter 22: The Operating System

Chapter 23: Fixed Point, Floating Point

Chapter 24: Languages High and Low

Chapter 25: The Graphical Revolution