Hi Xiong, thanks again. I was being a bit tongue in cheek when I said about "being an obedient student", though I do always use warnings in development and find it invaluable.
runrig's comment showed me that by writing code just to have it comply with warnings could actually introduce more subtle errors. Taking from this, I have written a little test script to find these errors rather than weigh down my code.
The most important abilities required to write less-buggy programs are (obliquely to Wall's dicta) humility, intellectual honesty...
My reading of Larry suggests you have to follow
your virtuous path in order to reach
his. For example, I have learned to change my attitude to dealing with mistakes in my design or code (aka: error reports). Users are really quick at finding errors and unforeseen traps. Instead of being protective and defensive (hubris?), or blaming Internet Explorer, I will happily describe exactly how I've erred. Then, if I fix things quickly, I find the user has more faith in both me and the code. After many such iterations, finally I'm allowed some pride.