dangriff's WebLog

An Analysis of Debugging My Toilet

I failed to debug my toilet the other day. I knew there was a problem because it was leaking water onto the bathroom floor. There was even enough water that it was noticeable after I got out of the shower and still had wet feet. My first reaction was to ignore it, but the risk of water damage was too great, especially to an area below that just been remodelled.

I had no idea what to do about it, though. I mean, I know how to debug system software. Why can't I figure out what's wrong with my toilet? Is it really that complicated?

But then I realized that the main problem is primarily one of confidence. I've debugged some hard software problems in my time. And as a result of experience, I've developed a systematic approach to finding and fixing bugs - an approach that has been proven to work. It's all based on discipline, I guess. But with the toilet I had no idea where to start and I had no confidence that I would be able to fix it at all.

So I called our general contractor who's already done a lot of work on the house. He asked, "Where on the toilet is the leak coming from?" Smart question - I wish I'd thought of that. I told him I didn't know, but I would check and get back to him. He said it was fine, and that he would stop by anyway. Great guy. Turns out the leak was coming from the base of the tank, which sits on a rubber seal. We recently had adjusted the rate at which the tank refills. At the same time, we probably had changed the incoming water pressure as well, since the valve had been opened and closed a number of times in the process.

All those changes had somehow resulted in a condition where the tank wasn't squeezing tightly enough the seal at its base. The contractor tightened a wing nut that fastens the tank and - bang - fixed.

The result of this experience? I now know more about the complex system that is my toilet. Next time there's water on the floor, I have a good foundation of a process for isolating the problem. Just like software ...

Published Tuesday, December 14, 2004 1:12 AM by dangriff

Comments

 

Will Sullivan said:

The place to start when troubleshooting a system that you have not created and do not have any knowledge of its workings is inspection/observation. Study the system in detail. Form hypotheses on its operation, its strengths and weaknesses. Identify areas that you cannot learn about through observation (the internal workings, the interior of joints). Next, observe it in operation. See how the parts work together. Understand that smooth operation is a requirement of all well-regulated systems. Any disturbances are symptoms of errors. If an error is found, trace the error back to the source. If the source is not reachable or observable, it's time for the third stage--research. Learn about the areas identified through the trace. Identify weaknesses at these points which may cause the errors you have observed. Next, research the solution to problems involving these points. Sometimes this can be the hardest part. In cases where a solution can't be found, search groups.google.com. Somebody's had the same problem before, posted, and had their questions answered. In fact, skip everything I just wrote and google for the problem. That'll fix it.
December 14, 2004 8:50 AM
 

dangriff s WebLog An Analysis of Debugging My Toilet | Outdoor Ceiling Fans said:

May 31, 2009 2:43 PM
 

dangriff s WebLog An Analysis of Debugging My Toilet | Joint Pain Relief said:

June 13, 2009 12:30 AM
 

dangriff s WebLog An Analysis of Debugging My Toilet | Outdoor Decor said:

June 13, 2009 6:02 PM
 

dangriff s WebLog An Analysis of Debugging My Toilet | outdoor rugs said:

June 13, 2009 7:20 PM
 

dangriff s WebLog An Analysis of Debugging My Toilet | home lighting said:

June 13, 2009 10:00 PM
Anonymous comments are disabled

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker