Joel Spolsky has written an interesting article called the Law of Leaky Abstractions wherein he ponders the idea of trying to write something reliable upon something else known to be flaky. Like building a house on a beach. Or your own software on top of protocols and languages and operating systems that are themselves not without issue. Interesting stuff.