Nice rant, it feels good to get it all out like that every once in a while, right? The thing is, xhtml and css as languages aren't that complicated, they are logically and structurally designed. The mastery of xhtml and css is in the layouts, and really, no tutorial can teach you all the quirks and twists there are to making layouts work. You shouldn't worry as much about using table-layouts, it's fine if you think that's easier to organize a layout. If your xhtml is valid and the css as well, using divs comes second. The main purpose of css is to 1. make it easier for you to update the layout across pages, and 2. make the site load quicker for the user. Tables take a bit longer to load than divs, but it's nothing to lose sleep over.