Category Archives: Reviews

Debugging - Book Review

51babHMIFWL

I end up doing a lot of debugging, in fact every single day I'm debugging something. Some days it is software and scripts that I'm using for my PhD research, some days it is failed laboratory equipment, and some days it's working the problems out of a new instrument design. Growing up working on mechanical things really helped me develop a knack for isolating problems, but this is not knowledge that everyone has the occasion to develop. I'm always looking for ways to help people learn good debugging techniques. There's nothing like discovering, tracking down, and fixing a bug in something. Also, the more good debuggers there are in the world, the fewer hours are waisted fruitlessly guessing at problems.

I'd heard about a debugging book that was supposed to be good for any level of debugger, from engineer to manager to homeowner. I was a little suspicious since the is such a wide audience, but I found that my library had the book and checked it out; it is "Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems" by David Agans. The book sat on my shelf for a few months while I was "too busy" to read it. Finally, I decided to tackle a chapter a day. The chapters are short and I can handle two weeks of following the book. Each morning when I got to work, I read the chapter for that day. One weekend I read an extra chapter or two because they were enjoyable.

I'm not going to ruin the book, but I am going to tell you the 9 rules (it's okay, they are also available in poster form on the book website).

  1. Understand the System
  2. Make It Fail
  3. Quit Thinking and Look
  4. Divide and Conquer
  5. Change One Thing at a Time
  6. Keep an Audit Trail
  7. Check the Plug
  8. Get a Fresh View
  9. If You Didn't Fix It, It Ain't Fixed

They seem simple, but think of the times you've tried to fix something and skipped around because you thought you knew better to have it come back to sting you. If you've done a lot of debugging, you can already see the value of this book.

The book contains a lot of "war stories" that tell tales of when a rule or several rules were the key in a debugging problem. My personal favorite was the story about a video conferencing system that seemed to randomly crash. Turns out the compression of the video had problems with certain patterns and when the author wore a plaid shirt to work and would test the system, it failed. He ended up sending photocopies of his shirt to the manufacturer of the chip. Fun stories like that made the book fun to read and show how you have to pay attention to everything when debugging.

The book has a slight hardware leaning, but has examples of software, hardware, and home appliances. I think that all experimentalists or engineers should read this early on in their education. It'll save hours of time and make you seem like a bug whisperer. Managers can learn from this too and see the need to provide proper time, tools, and support to engineering.

If you like the blog, you'll probably like this book or know someone that needs it for Christmas. I am not being paid to write this, I don't know the author or publisher, but wanted to share this find with the blog audience. Enjoy and leave any comments about resources or your own debugging issues!

Favorite Books and Products of 2013

This year, like every other, was full of lots of great, okay, and no so good things. Being the list-oriented person that I am, it seemed appropriate to list out great things of the year. While there were many things that could go here (favorite trips, etc), I thought keeping with the orientation of the blog we should look at the favorite books and products of the year. Not all of these came out in 2013, but I discovered them all in 2013. Without further delay:

Favorite Books

In Suspect TerrainIn Suspect Terrain - John Mcphee
This book reads like a novel, but gives massive geologic context. It is part of a series that I will continue reading this year. If you are curious about the geologic history of the east, this gives a driving cross-section and great context.

Scientific PresentationsThe Craft of Scientific Presentations - Michael Alley I was fortunate enough to attend my 2nd Michael Alley workshop this year and gained much from both it and his book. Dr. Alley is a phenomenal person that is full of energy. His presentation advice helped me give an AGU talk, as well as successfully pass my candidacy exams (those should probably be posts).

EE 101Electrical Engineering 101 - Darren Ashby I've seen this book for quite some time, but decided to give it a read and see what it was like. Overall it was a great intro to electronics for new-comers and a good review for those who, like me, perform lots of electronics hobby work, but are not professional engineers. A few of the analogies were somewhat wrong at anything more than the basic level, but that's what they were there for.

GuesstimationGuesstimation: Solving the World's Problems on the Back of a Cocktail Napkin - Lawrence Weinstein A fun read that helps speed up your order of magnitude estimation capabilities. These were great lunch-hour exercises.

Command and Control

 

Command and Control: Nuclear Weapons, the Damascus Accident, and the Illusion of Safety - Eric Schlosser Having lived in Arkansas for most of my life, this book was of interest to me. I was quite surprised at just how unsafe much of the nuclear arsenal was and how many close calls we have had.

Feynman's RainbowFeynman's Rainbow: A Search for Beauty in Physics and in Life - Leonard Mlodinow Recommended to me by a professor in the department, this was a quick read that gave an outside look at the life of Richard Feynman from one of his colleagues. A must for any Feynman fan or general physics reader.

Data PointsData Points: Visualization That Means Something - Nathan Yau Another stellar book from Natan Yau of flowingdata.com. Great advice on presenting complex data in an easy to digest form.

Zen

 

Zen and the Art of Motorcycle Maintenance - Robert M. Pirsig Sometimes I will read a classic, and this did not disappoint. Very quotable and very enjoyable.

 

Favorite Products

Timbuk2Timbuk2 Classic Messenger Bag I didn't want to carry my leather briefcase throughout Italy and Holland this summer, so I ended up with this bag. I can't say enough about how durable it is and what a great traveling companion it makes. I have notice many geoscience folks carry these and believe that they should sponsor AGU.

Blackwing 602Palomino Blackwing 602 Pencils A post in the "How I Work Series" mentioned these and I must say that they are the darkest pencils I've seen. I generally use pen in my notebooks, but these are great replacements.

Beaglebone

 

Beaglebone Black This is the new small/embedded computer design. I'm implementing them in my infrasound bucket project and in a few others.

Hakko

 

Hakko FX-888D Soldering Station This is my new go-to soldering station for those of us on a budget.

 

USRP Software Defined Radios While expensive, I got to use some of these in a recent project and make a radar out of them!
USRP

What did I miss?