It's quite simple, really. "but" is just like "and" when used as a conjunction. In natural language, "and" has the conotation that the two things are normally in agreement, or neutral toward each-other, whereas "but" has the conotation that the two things are normally in oppisition. Note that people very rarely make "but" lists, but quite often make "and" or "or" lists; "but" is a preposition only, but "and" and "or" are list specifiers.
Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).