Quotes attributed to Mark Twain:

 + A person with a new idea is a crank until the idea succeeds.  
 + A person who won't read has no advantage over one who can't read. 
 + Action speaks louder than words but not nearly as often. 
 + Buy land, they're not making it anymore.
 + Good friends, good books and a sleepy conscience: this is the ideal life. 
 + It's no wonder that truth is stranger than fiction. Fiction has to make sense
 + My books are like water; those of the great geniuses are wine. (Fortunately) everybody drinks water. 
 + My mother had a great deal of trouble with me, but I think she enjoyed it. 
 + Name the greatest of all inventors. Accident. 
 + Necessity is the mother of taking chances. 
 + Never put off till tomorrow what you can do the day after tomorrow.
 + Only one thing is impossible for God: To find any sense in any copyright law on the planet. 
 + Part of the secret of a success in life is to eat what you like and let the food fight it out inside. 
 + There are lies, damned lies and statistics. 



