Charles Petzold is a very cool guy. Of course we've all read his 1998 Programming Windows, the bible of Win32...I was weaned in the original 1990 Programming Windows. I've just finished another offering from Charles. It's called Code. It's absolutely worth it if you can find a copy. If you want to explain to your spouse what you do for a living, get it. If you want to show someone not-to-technical why alternate number bases (hex, binary, etc) are interesting, get it.
I actually wrote 7 chapters of a similar book where I started from the Light Bulb and went up to the modern microprocessor. I shopped it around to various publishers and then scrapped the idea when I discovered Charle's book. He writes with startling clarlity. He starts with morse code and braille and works up through history building and building...past light bulbs, the construction of memory, flip flops, older processors, assembly language...it's just fantastic.
This book should really be required reading in any CS101 class. Hell, I'd make it required reading for High School Seniors. It can "fill in the gap" for some many technology questions. So many people take technology for granted...it just works. I'm surprised at how few people ask "Why." My kids will read this book...I have no kids, so as soon as they are born...and learn to read.