Engineer’s Bookshelf
Comment
Max the Magnificent
Actually the book didn't mention any sort algorithms -- I was just using them as ...
Kopernikus
the book missed the Shuffle Sort algorithm (for massively parallel sorting) ...
Book Review: Nine Algorithms That Changed the Future by John MacCormick
Clive Maxfield
4/3/2012 5:19 PM EDT
I have to admit that I am overwhelmed with admiration for the way in which John MacCormick tackled his book Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers
Of course, it’s no surprise that computer science is replete with algorithms for all sorts of things. Consider a relatively simple undertaking like sorting things, for example… perhaps we wish to sort a list of names into alphabetical order, or a list of numerical values into ascending size. In this case, there are textbooks that will present you with so many different types and permutations of algorithms that it will make your eyes water. A quick glance at the Wikipedia page on Sorting Algorithms, for example, immediately presents us with a bunch of popular contenders:
And don’t even get me started on some of the more esoteric entries like the Cocktail Sort, Gnome Sort, and Patience Sorting. Or how about the Bogosort, which is based on luck (randomly permute the array and check to see if it’s sorted), or the Slowsort, which provides a remarkably inefficient form of the selection sorting algorithm. Actually, I would like to mention that the Wikipedia Page on the Bubble Sort provides the best visual representation of how this form of sort works that I’ve ever seen.
Arrggghhh… as usual it’s a case of “wind me up and watch me go” because none of the above is in any way relevant or related to Nine Algorithms That Changed the Future. What the author has done is to focus on a small number of revolutionary algorithms that the vast majority of computer users come into contact with every day without even knowing or thinking about it.
When we perform a web search using Google, for example, the search engine returns a handful of relevant results culled from the billions of pages on the web. If you were to instigate a search on “The evolution of color vision”, for example, you would discover that my paper Color Vision: One of Nature’s Wonders appears on the first page (Click Here to see this paper). How is it possible for the Google search engine to recognize the genius behind my humble offering and to return such amazingly relevant (and – in this case – incredibly self-serving) results? This book tells the tale.
As another simple example, uploading a photo to Facebook involves millions of pieces of information being transmitted over numerous error-prone network links, yet somehow a perfect copy of the photo arrives intact. How can this be? Once again, this book explains all.
One of the best things about Nine Algorithms That Changed the Future is that it is of interest to computer professionals and innocent bystanders (non-professionals) alike. The author doesn’t attempt to “baffle us with science” or blow us away with his mathematical prowess. Instead, he employs simple analogies that we can all understand. His use of mixing colored paints to explain the machinations of public key cryptography is, frankly, brilliant.
For myself, I have to say that I learned a lot of stuff I didn’t know, including some of the algorithmic tricks associated with error-correcting codes, data compression, and pattern recognition. In the discussions on databases, for example, the author explains concepts like two-phase commit, rollbacks, and transaction logging, all of which are vital to ensuring data integrity and maintaining the functionality of the database. Although I was vaguely aware of a lot of this stuff, I didn’t really understand the nitty-gritty details (I probably still don’t, but I know a lot more than I did before reading this book [grin]). Should I happen to fall through a time warp and appear in the 1950s, all I have to do is remember these database tricks and techniques to ensure that I become rich beyond my wildest dreams (Click Here to see my column Traveling through time – what trade goods should we take?)
As usual, I could waffle on for hours, but the bottom line is that I highly recommend this book as a very enjoyable read that will be of interest to anyone who would like to understand more about the way in which the computer systems we use every day perform their magic.
More Reviews
If you are looking for another good book or two to read, then may I be so bold as to point you in the direction of some of my other reviews as follows:
If you found this article to be of interest, visit Programmable Logic Designline where – in addition to my blogs on all sorts of "stuff" (also check out my Max's Cool Beans blog) – you will find the latest and greatest design, technology, product, and news articles with regard to programmable logic devices of every flavor and size (FPGAs, CPLDs, CSSPs, PSoCs...).
Also, you can obtain a highlights update delivered directly to your inbox by signing up for my weekly newsletter – just Click Here to request this newsletter using the Manage Newsletters tab (if you aren't already a member you'll be asked to register, but it's free and painless so don't let that stop you [grin]).
Of course, it’s no surprise that computer science is replete with algorithms for all sorts of things. Consider a relatively simple undertaking like sorting things, for example… perhaps we wish to sort a list of names into alphabetical order, or a list of numerical values into ascending size. In this case, there are textbooks that will present you with so many different types and permutations of algorithms that it will make your eyes water. A quick glance at the Wikipedia page on Sorting Algorithms, for example, immediately presents us with a bunch of popular contenders:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Shell Sort
- Comb Sort
- Merge Sort
- Heapsort
- Quicksort
- Counting Sort
- Bucket Sort
- Radix Sort
- Distribution Sort
- Timsort
And don’t even get me started on some of the more esoteric entries like the Cocktail Sort, Gnome Sort, and Patience Sorting. Or how about the Bogosort, which is based on luck (randomly permute the array and check to see if it’s sorted), or the Slowsort, which provides a remarkably inefficient form of the selection sorting algorithm. Actually, I would like to mention that the Wikipedia Page on the Bubble Sort provides the best visual representation of how this form of sort works that I’ve ever seen.
Arrggghhh… as usual it’s a case of “wind me up and watch me go” because none of the above is in any way relevant or related to Nine Algorithms That Changed the Future. What the author has done is to focus on a small number of revolutionary algorithms that the vast majority of computer users come into contact with every day without even knowing or thinking about it.When we perform a web search using Google, for example, the search engine returns a handful of relevant results culled from the billions of pages on the web. If you were to instigate a search on “The evolution of color vision”, for example, you would discover that my paper Color Vision: One of Nature’s Wonders appears on the first page (Click Here to see this paper). How is it possible for the Google search engine to recognize the genius behind my humble offering and to return such amazingly relevant (and – in this case – incredibly self-serving) results? This book tells the tale.
As another simple example, uploading a photo to Facebook involves millions of pieces of information being transmitted over numerous error-prone network links, yet somehow a perfect copy of the photo arrives intact. How can this be? Once again, this book explains all.
One of the best things about Nine Algorithms That Changed the Future is that it is of interest to computer professionals and innocent bystanders (non-professionals) alike. The author doesn’t attempt to “baffle us with science” or blow us away with his mathematical prowess. Instead, he employs simple analogies that we can all understand. His use of mixing colored paints to explain the machinations of public key cryptography is, frankly, brilliant.
For myself, I have to say that I learned a lot of stuff I didn’t know, including some of the algorithmic tricks associated with error-correcting codes, data compression, and pattern recognition. In the discussions on databases, for example, the author explains concepts like two-phase commit, rollbacks, and transaction logging, all of which are vital to ensuring data integrity and maintaining the functionality of the database. Although I was vaguely aware of a lot of this stuff, I didn’t really understand the nitty-gritty details (I probably still don’t, but I know a lot more than I did before reading this book [grin]). Should I happen to fall through a time warp and appear in the 1950s, all I have to do is remember these database tricks and techniques to ensure that I become rich beyond my wildest dreams (Click Here to see my column Traveling through time – what trade goods should we take?)
As usual, I could waffle on for hours, but the bottom line is that I highly recommend this book as a very enjoyable read that will be of interest to anyone who would like to understand more about the way in which the computer systems we use every day perform their magic.
More Reviews
If you are looking for another good book or two to read, then may I be so bold as to point you in the direction of some of my other reviews as follows:
- Wetware: A Computer in Every Living Cell by Dennis Bray
- The Disappearing Spoon by Sam Kean
- Reinventing Gravity by John Moffat
- The Smart Swarm by Peter Miller
- The Software IP Detective’s Handbook by Bob Zeidman
- Napoleon’s Privates by Tony Perrottet
- Bill and Dave: How Hewlett and Packard Built the World’s Greatest Company by Michael Malone
- Idea Man by Paul Allen
- A Short History of Nearly Everything by Bill Bryson
- At Home by Bill Bryson
- In Search of Time by Dan Falk
- Universe on a T-Shirt by Dan Falk
- The Symbiotic Universe by George Greenstein
- A Crack in the Edge of the World by Simon Winchester
- The Artificial Ape by Timothy Taylor
- Alone in the Universe by John Gribbin
- Preacher by Garth Ennis and Steve Dillon
- The Art of Hardware Architecture by Mohit Arora
- Locke & Key by Joe Hill and Gabriel Rodriquez
- Robopocalypse by Daniel H. Wilson
If you found this article to be of interest, visit Programmable Logic Designline where – in addition to my blogs on all sorts of "stuff" (also check out my Max's Cool Beans blog) – you will find the latest and greatest design, technology, product, and news articles with regard to programmable logic devices of every flavor and size (FPGAs, CPLDs, CSSPs, PSoCs...).
Also, you can obtain a highlights update delivered directly to your inbox by signing up for my weekly newsletter – just Click Here to request this newsletter using the Manage Newsletters tab (if you aren't already a member you'll be asked to register, but it's free and painless so don't let that stop you [grin]).
Navigate to related information


antedeluvian
4/4/2012 9:05 AM EDT
Based on your non-fiction selection, may I be equally bold and suggest the following-
E=mc2: A Biography of the World's Most Famous Equation: David Bodanis;
Copernicus' Secret: How the Scientific Revolution Began: Jack Repcheck;
Galileo's Daughter: A Historical Memoir of Science, Faith, and Love: Dava Sobel;
Hitler's Scientists: Science, War, and the Devil's Pact: John Cornwell;
To Rule the Waves: How the British Navy Shaped the Modern World: Arthur Herman;
Cod: A Biography of the Fish that Changed the World: Mark Kurlansky;
Salt: A World History: Mark Kurlansky;
The Immortal Life of Henrietta Lacks: Rebecca Skloot
King Leopold's Ghost: A Story of Greed, Terror, and Heroism in Colonial Africa: Adan Hochschild;
Degrees Kelvin: David Linley;
Krakatoa: The Day the World Exploded: Simon Winchester
The Professor and the Madman: A Tale of Murder, Insanity, and the Making of the Oxford English Dictionary: Simon Winchester;
Made In America: Bill Bryson;
Possessing Genius: The Bizarre Odyssey of Einstein's Brain: Carolyn Abraham;
Churchill’s Wizards: Nicholas Rankin;
Into Thin Air: A Personal Account of the Mt. Everest Disaster: Jon Krakauer;
Stiff: Mary Roach;
The Victorina Internet: Tom Standage;
To undestand a little about David Ashton's and my background in Rhodesia/Zimbabwe-
Mukiwa: A White Boy in Africa: Peter Godwin
When a Crocodile Eats the Sun: Peter Godwin
Don't Let's Go to the Dogs Tonight: An African Childhood: Alexandra Fuller
When you are planning to travel-
The Geek Atlas: John Graham-Cumming
Sign in to Reply
Max the Magnificent
4/4/2012 2:11 PM EDT
"...may I be equally bold..."
Hi Aubrey, what would you do if I said "No"? (grin)
All of the above look like excellent suggestions ... I'm going to add a lot of them to my Amazon Wish List
Actually, why don't you write some reviews of your favorites and email them to me and I'll post them here...
Sign in to Reply
antedeluvian
4/4/2012 2:18 PM EDT
Max
I did two recently and sent them to Karen Field. I think they are still in process.
Sign in to Reply
Max the Magnificent
4/4/2012 2:20 PM EDT
OK -- Cool Beans :-)
Sign in to Reply
Max the Magnificent
4/4/2012 2:13 PM EDT
With regard to the previous comment -- if anyone has any good book suggestions -- please post them here. Also if anyone wants to write a review of a book (technical, scientific, or fiction -- whatever you think will be of interest to the rest of us), email it to me at max@CliveMaxfield.com and I'll post it here (fully attributed to yourself, of course)
Sign in to Reply
wave.forest
4/5/2012 7:53 AM EDT
Well, maybe it is a good book but, by reading Amazon, I'm dissapointed that algorithms such as FFT, Ethernet MAC, Linear Programming etc that have chaneged and are still chenging the future are not included.
Sign in to Reply
sierra tango
4/5/2012 5:08 PM EDT
great stuff, the code/algorithms behind all those user friendly interfaces....
Sign in to Reply
Kopernikus
4/7/2012 10:05 AM EDT
the book missed the Shuffle Sort algorithm (for massively parallel sorting) http://xputers.informatik.uni-kl.de/papers/paper006a-1.html
Sign in to Reply
Max the Magnificent
4/7/2012 2:43 PM EDT
Actually the book didn't mention any sort algorithms -- I was just using them as an example of the fact that there are 100s of different algorithms -- the book looks at "higher level" algorithms like public key encryption and the way search engines rank web pages and suchlike
Sign in to Reply