Seven Out of a Hundred and Ten
In 2019 I published a CLI that printed programming quotes. This year I checked where they came from. Seven of them belonged to somebody else.
The first version of qotm went on npm in July 2019. It printed a programming quote in your terminal, and it had a hundred and ten of them, in a JSON file where every entry was an author and a line of text. Nothing else. No book, no year, no link.
It worked. That was the problem with it. A quote with no source does not fail. It prints, it reads well, and the name under it is the name you expected. Everything that looks at it looks at the text, and the text is fine.
This year I rebuilt it, and before I carried those quotes into the new version I checked them. Eighteen were already in the new dataset. Of the other ninety-two, forty had a source I could point at. Thirty-six were plausible and untraceable: they appear everywhere, always under the same name, and nowhere the person actually wrote or said them. Five were folk sayings with a famous name attached. Four have no known author at all.
And seven were somebody else's.
The Einstein line about technology having exceeded our humanity is from Powder, a 1995 film, where a character attributes it to Einstein. The Bill Gates advice to give a hard job to a lazy person, because they will find an easy way to do it, goes back to a Chrysler executive testifying to the Senate in 1947. Three of the seven were credited to Robert C. Martin and belong to Michael Feathers, James Coplien and Gerald Weinberg. One "Alan Turing" is a line from the screenplay of The Imitation Game.
I had shipped all of them, and printed them in other people's terminals under the wrong names.
So the rebuild is mostly not a CLI. The CLI is the small part: one command, no dependencies, the dataset in a SQLite file inside the npm package. The large part is everything that has to happen before a quote is allowed into that file.
Every quote on qotm.dev has a history. Someone submits it with whatever source they have. A verifier finds the original (the book and the page, the paper, the talk, the post in a mailing-list archive) and checks the words against it. If the only sources are other quote sites, it is marked as needing evidence and waits. If it turns out to be someone else's, it is rejected, or corrected to the person who said it, in public: the quote's page keeps the old wording and the date it changed. Then a curator decides whether it goes into the next release. Popularity never publishes anything. People decide, and every decision is in the log.
The starting corpus came from Wikiquote, and only from the quotes its editors file as sourced. Its Disputed and Misattributed sections turned out to be the most useful pages on the site: they became a blocklist, so a line listed there anywhere is never imported.
The first release has 502 quotes. It could have had thousands. The rest are waiting for someone to find where they came from, and right now that someone is me: the verification queue has a hundred and six quotes in it as I write this.
The old version printed what it was given. This one prints what someone looked up.
npm i -g qotm
qotm --source
If you know a quote that was never said by the person it is credited to, that is the most useful thing you can send me. Every quote on qotm.dev has a report button, and the code and the dataset are open at github.com/qotm.