Skip to main content

Posts tagged with 'F'

Brief Bio: Grace Hopper

July 24, 2014 mgroves 0 Comments
Tags: Brief Bio COBOL

Welcome to the latest installment of the Brief Bio series, where I'm writing up very informal biographies about major figures in the history of computers. Please take a look at the Brief Bio archive, and feel free to leave corrections and omissions in the comments.

This biography will be the first one to really challenge the "brief" label. That's because this subject--the Michael Jordan of computer programming--lived such a long life and accomplished so much in computing that it's hard to be brief when discussing all of her accomplishments.

Grace Hopper

Grace Brewster Murray was born in 1906 in New York City. From an early age, she displayed a hacker's curiousity, dismantling alarm clocks at an alarming rate to figure out how they worked. She applied to Vassar College at age 16, but they didn't let her in until the next year. By 1934, she had a Ph.D. from Yale, and she became an associate professor at Vassar by age 35 (in 1941).

And then, of course, World War 2. Hopper took a leave of absense in 1943, and volunteered for the Navy Reserve. She graduated first in her class at a midshipmen's school in Massachusetts, and was assigned to work on the Mark I computer at Harvard. The Mark I was a mechanical computer, using relays, switches, and so on. It was designed by Howard Aiken, who drew inspriation from Charles Babbage's analytical engine, but we'll talk about Aiken in another post.

From 1930 to 1945, she was married to Vincent Foster Hopper, and she retained his last name after their divorce.

Grace Hopper stayed at Harvard to work in the computation lab until 1949. She joined the UNIVAC team at EMCC (later part of Remington Rand) as a mathematician. In 1952, she documented a literal bug in the system, which lead to today's common use of the term "bug". She pasted this moth into the log books.

The first "bug" - an actual moth pasted into UNIVAC log books.

In 1952, she had created the first compiler, which was called "A", the first version of which was called A-0.

"Nobody believed that. I had a running compiler and nobody would touch it. They told me computers could only do arithmetic."

In 1954, Hopper became the director of automatic programming at Remington Rand (the first to hold that title), and her department was responsible for creating MATH-MATIC and FLOW-MATIC [PDF], two compiler-based programming languages.

Pamphlet promoting FLOW-MATIC

In 1959, at a 2-day conference, Hopper was a technical consultant to a committee that defined the COBOL programming language, which largely built on the FLOW-MATIC language. She went on to serve in the Navy as a director of systems planning, developing COBOL software and tools to be used by the entire Navy.

In 1966, she retired according to Navy regulations. She was recalled in 1967, but then again retired in 1971. She was recalled again in 1972. During this last stint, she was promoted to commodore (a position which was eventually renamed to "rear admiral"). She once again retired in 1986.

She was then hired by DEC, where her role was mainly promotional: speaking, lecturing, and so on. She worked for them until her death in 1992, and she is buried in Arlington National Cemetary.

There are far too many awards and honors for me to list here, but here are a couple interesting ones:

  • The USS Hopper, a U.S. Navy Destroyer that's still in commission, is named after her.
  • The ACM has an annual Grace Murray Hopper Award for Outstanding Young Computer Professionals. Notable recipients: Donald Knuth, Richard Stallman, Bjarne Stroustrup, all of whom will probably be covered by this series at some point.
  • There is an employee group at Microsoft called the "Hoppers".
  • She received 40 honorary degrees from universities during her lifetime. FORTY.

She also appeared on the David Letterman show, in which she uses one of her well-known illustrations about nanoseconds.

Brief Bio: Tommy Flowers

July 16, 2014 mgroves 0 Comments
Tags: Brief Bio

Welcome to the latest installment of the Brief Bio series, where I'm writing up very informal biographies about major figures in the history of computers. Please take a look at the Brief Bio archive, and feel free to leave corrections and omissions in the comments.

Tommy Flowers

Tommy Flowers was born in London in 1905. He was the son of bricklayer (not a banker). While working as a mechanical engineer's apprentice, he tooks night classes to get an EE degree. It's interesting to compare his father's profession with others in this series. Sons of bankers seem to very math and theory oriented, while Tommy Flowers seems to be more mechanically and hands-on oriented. There's plenty of overlap, and all are brilliant, of course.

From 1935 on, Tommy Flowers seemed to be most focused on phone exchanges, and was interested in making them completely electronic.

Were it not for the start of World War II, Flowers might have devoted his entire career to phone exchanges. In 1941, Alan Turing (whom I will definitely get to later), working at the famed Bletchley Park, asked for Tommy Flowers to build a decoder for the Bombe. This decoder wasn't ever completed, but this was the start of a professional relationship between Flowers, Turing, and the best code-breakers in England.

One of the codebreaking devices created at Bletchley Park was the Heath Robinson. Tommy Flowers built the "combining unit" for this machine. This module used vacuum tubes (the British call them "valves") to implement boolean XOR logic. This may sound trivial now, but the use of vacuum tubes was a key innovation here that Tommy Flowers would later apply to the Colossus.

Vacuum tubes are all but obsolete these days--mainly replaced by the transistor for most applications. The "T" in "CRT" stands for tube, so maybe you have a few of those still around. Traditional light bulbs are also vacuum tubes. Here's a video on the many applications of vacuum tubes. In particular note, at 7:10, it talks about how tubes are used for amplification. If you then move ahead to 13:14, you'll see that the same grid used for amplication can also be used for control: closing, opening, or modifying a circuit (closing and opening being useful for logic, but computers aren't mentioned in this video).

Flowers is most famous for the design and creation of Colussus, which is often considered to be the first electronic, programmable computer. It was used for code breaking, and especially key in the Normandy invasion. This machine used around 2000 vacuum tubes, which is over 10 times as many as other electronics (like RADAR) used and put reliability into doubt: they often broke and/or just wore out. That's a headache when you depend on a handful of tubes; it's debilitating with thousands. However, Flowers previous work with vacuum tubes caused him to believe that keeping the tubes running continuously was key to improving their reliability.

There are a lot of videos and information out there about Colossus, so I thought I'd link to a few that I found particularly interesting.

After the war, Flowers went back to work on phone systems at the Post Office Research Station, where he continued to advance electronic phone exchanges. He retired in 1969, and he published a book on telephone exchanges in the early 70s. It wasn't until the 1970s that Flowers's work on Colussus was able to be made public. Until then it was a closely guarded secret that Flowers couldn't even tell his family about. They just knew it was important, top secret work. Flowers went on to write about Colossus in The Design of Colossus. He started receiving general recognition for his accomplishments, and received many awards and honors.

He died in 1998 at age 92.

Welcome to another "Weekly Concerns". This is a post-a-week series of interesting links, relevant to programming and programmers. You can check out previous Weekly Concerns posts in the archive.

If you have an interesting link that you'd like to see in Weekly Concerns, leave a comment or contact me.

We take the internet for granted. I can send information to just about anyone without a stamp, without ink, without waiting for a truck to come pick it up.

However, some parts of the world are still mired in actual paper work, for whatever reason: legal lag, technology costs, fear of change, etc. So, despite the fact that I can book a hotel, refill my prescriptions, start an LLC, and a thousand other things over the web, there are often times where I still have to send faxes, sign documents with a pen, and lick envelopes.

I have come up with some ways of insulating myself from some of these primitive forms of communication. Often this means I have to take a PDF, print out one page, sign it, scan it, and then reconstruct that PDF. Or, with an expense report, I'll take multiple scans/photos of receipts and have to stitch them together into one PDF. A long time ago, I couldn't figure out how to actually stitch PDFs together into one document without something like Adobe Acrobat installed (which I don't want to buy and don't want to install). So, I created a little tool that I called MattDoc.

I called it that because it needed a name and I was in a hurry (as you'll see by the interface). I have decided to make this tool open source, as part of my ongoing code garage sale.

Here's how it works. Suppose I have three PDF files: page1.pdf, page2.pdf, and page3.pdf. I want a single PDF that consists of these three documents in series. I click "Browse" to add each file, in order. Then I click "Save to 1 PDF". PdfSharp does the work here. It also works with images.

MattDoc screenshot

The UI is very unpolished. It could use some work, and a couple more features (for instance, right now there's no way to reorder or remove files from the list).

Hopefully this will help you stitch documents together (or maybe there's a much easier way that I don't know about) or maybe this will help you try out PdfSharp for the first time.

P.S. If you check out the git history, you'll see that I wrote this before NuGet was really a thing (or at least a thing I knew how to use): I've been using it and getting value out of it that long.

Welcome to the latest installment of the Brief Bio series, where I'm writing up very informal biographies about major figures in the history of computers. Please take a look at the Brief Bio archive, and feel free to leave corrections and omissions in the comments.

John von Neumann

Since Ada Lovelace's death, there's a pretty big lull in notable computer-related activity. World War II is the main catalyst for significant research and discovery, so that's why I'm skipping ahead to figures involved in that period. If you think there's someone worth mentioning that I've skipped over, please do so in the comments.

But now, I'm skipping ahead about a half of a century to 1903, which is when John von Neumann was born. He was born in Budapest, in the Austro-Hungarian Empire to wealthy parents. His father was a banker, and John Von Neumann's precociousness, especially in mathematics can be at least partially attributed this to his father's profession. Von Neumann tore through the educational system, and received a Ph.D. in mathematics when he was 22 years old.

Like Pascal, Leibniz, and Babbage, Von Neumann contributed to a wide variety of knowledge areas outside computing. Some of the high points of Von Neumann's work and contributions include:

He also worked on the Manhattan Project, and thus helped to end World War II in the Pacific. He was present for the very first atomic bomb test. After the war, he went on to work on hydrogen bombs and ICBMs. He applied game theory to nuclear war, and is credited with the strategy of Mutually Assured Destruction.

His work on the hyrdogen bomb is where Von Neumman enteres the picture as a founding father of computing. He introduced the stored-program concept, which would come to be known as the Von Neumann architecture.

Von Neumann became Commissioner of the United States Atomic Energy Program. Here's a video of Von Neumann, while in that role, advocating for more training and education in computing.

In 1955, Von Neumann was diagnosed with some form of cancer, possibly related to his exposure to radiation at the first nuclear test. Von Neumann died in 1957, and is buried in Princeton Cemetary (New Jersey).

I encourage you to read more about him in John Von Neumann: The Scientific Genius who Pionered the Modern Computer, Game Theory, Nuclear Deterrence, and Much More (which looks to be entirely accessible on Google Books).

Matthew D. Groves

About the Author

Matthew D. Groves lives in Central Ohio. He works remotely, loves to code, and is a Microsoft MVP.

Latest Comments

Twitter