I've been using ':set list' in vim with different characters for spaces and tabs ('_', '| ') appearing at the start of a line for the better part of a year now. This makes sure that I stick to the convention of whatever project I'm working on because it's very obvious when I don't.<p>I agree with the article's rationale and use this practice for new projects. Nearly all the arguments I hear for spaces are 'Other people screw it up, so just go with spaces to accommodate them'. I think this is quite defeatist. Why not enforce the coding style of choice for a project with some check-in hooks?