In my time writing the Brief Bio series, I've made an effort to mix interesting videos and images along with the text content. When doing this, I've come across a lot of videos that were too broad or too narrow to be a part of the bios. But it made me realize how much interesting video content is out there that I could be highlighting.
So, I'm bringing back Tuesday Tube (it used to be a blog post series when mgroves.com was a blog). This time, it will have a programming/technology focus, and only one video at a time.
The first tube is just a little morsel of some 80's computer goodness: a cartoon about interpreters and compilers. This comes from the Canadian show Bits and Bytes.
If you have an interesting video that you'd like to see in Tuesday Tube, leave a comment or contact me.
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.
My intention was to create these brief bio posts in chronological order (by each person's birthday). I knew that would never really work, because I was bound to discover some other important figures not on my initial attempt at a list, as is the case this time. While writing about Grace Hopper, I discovered that Howard Aiken is worth writing about too.
Howard Aiken
Howard Aiken was born in 1900 in Hoboken, New Jersey. His father was Daniel H. Aiken, who came from a wealthy Indiana family. The Aiken family moved back to Indiana, where Howard was raised as an only child. Daniel Aiken was an abusive alcoholic, and by the age of 12, Howard drove his father out of the house with a fire poker, and he was never seen again. When Howard reached the 9th grade, he left school to install telephones to help support his mother. One of his teachers, recognizing his math skills, arranged for him to get a night job (as an electrician's helper), so he could still attend school.
Eventually, Aiken would find his way to Harvard, where he got a Ph.D. in physics. While working on his doctoral thesis, he got the idea of creating a computer. His thesis involved solving lots of differential equations, which he found excessively time consuming. He proposed an Automatic Calculating Machine [PDF] to pitch to IBM. In this document he lays out an interesting history of automatic calculation, and references Charles Babbage. A quote from Aiken seems to be channeling the spirit of Babbage:
"The desire to economize time and mental effort in arithmetical computations, and to eliminate human liability to error is probably as old as the science of arithmetic itself."
Eventually, IBM agreed to fund the proposal, and Aiken started working on the ASCC (later called Mark I) in 1939. It was moved to Harvard in March 1944. (Grace Hopper joined the team at Harvard in July 1944).
In August 1944, John von Neumann went to Harvard to run some imploding simulations used for research in creating the first atomic bomb. It's quite breathtaking to think about this event: two tremendous forefathers of the world of computing, collaborating with huge, imposing machines to try and effect one of the most important global conflicts of all time. As I explore more of the figures of computational crossroads like Los Alamos, Bletchley Park, and Palo Alto, I'm sure this will be a continuing and compelling theme.
The Harvard architecture was born out of the Mark I. It stands in constrast to the Von Neumann Architecture, in that the program is stored separately from the memory. The Harvard architecture was born out of technical constraints, but it lives on in the Modified Harvard architecture. These architectural concepts are still with us today in operating systems, virtual machines, and programming languages.
During World War 2, the Mark I was starting to get a sizeable backlog, so the Navy commissioned a second machine from Aiken, the Mark II, which also used the Harvard architecture.
The next computers from Aiken, the Mark III (which was actually featured on the cover of Time magazine in 1950) and Mark IV were built with solid-state components instead of relays.
Aiken retired in 1961, and was already starting to become an elder statesman of computing. He moved to Florida after retiring and married his third wife in 1963. He served as a consultant to Lockheed and Monsanto. One of the last things Howard Aiken did before his death in 1973 was to get a patent on cryptography (patent #3,657,476). However, for all the pioneering work that Aiken did, he never seemed to be much for patents. One last quote from Aiken:
"Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats."
For more on Aiken, check out Howard Aiken: Portrait of a Computer Pioneer, which seems to be available for free on Google Books.
Needs a catchier title. But basically I want users to be able to enter location information for some entity. Each entity can take place in multiple places over time. Each place could be very loose or specific, to the user's preference. Basically, I want something like this (forgive the lack of design polish):
This turned out to be quite easy. I simply combined jQuery Tag-it with Google's AutocompleteService API.
Google's API allows you to attach an autocomplete to a textbox directly, but I didn't see any multi-select ability there, so that's where Tag-it comes in. You can simply attach Tag-it to an HTML unordered list (ul) and away you go. There are options for configuring delay and minimum length, so you don't have to bring in a seperate debounce tool. It uses jQuery UI's autocomplete, so if you've used that before, you should be pretty comfortable. Basically, you just define a function with a 'response' callback, and pass an array of suggestions to that callback. Google's API will be providing the suggestions. Easy peasy.
Look carefully at Google's terms of use before you deploy this anywhere. I believe you have to show "powered by Google" somewhere, at the very least. And, getting actual location data (like latitude and longitude) is a whole other story.
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.
- Recording of Craig McKeachie's live Q&A on Choosing a JavaScript Framework: including AngularJS, Backbone, Ember.
- Ah, the hamburger icon. Where did it come from? If you guessed Xerox PARC, you are correct. Like everything else.
- Android screen size fragmentation maybe isn't that big of a deal.
- I'm not sure how much of this is actually true, but Lebron James's move back to Cleveland was leaked by... HTML color codes on his website. Whether true or not, be careful what you put into production, I guess!
If you have an interesting link that you'd like to see in Weekly Concerns, leave a comment or contact me.
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.
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.
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.