Design principles from Programming Pearls by Jon Bentley:
- Work on the right problem.
- Explore the design space of solutions.
- Look at the data.
- Use the back of the envelope.
- Build prototypes.
- Make tradeoffs when you have to.
- Keep it simple.
“Whatever is true, whatever is honorable, whatever is just, whatever is pure, whatever is lovely, whatever is commendable, if there is any excellence, if there is anything worthy of praise, think about these things.” — Philippians 4:8
“Ninety percent of everything is crud.” — Theodore Sturgeon 
I often think about quality and quantity. It’s so easy, particularly in America, to get sucked into substituting quantity for quality. For example, it’s how we eat. Striving for quality over quantity sounds good, but it’s not easy. It helps to have periodic reminders to go against the stream and pursue quality. Yesterday I got such a reminder at Edward Tufte’s one-day course in Houston.
The course emphasizes eliminating frills and administrative debris to make room for high quality displays of information. The course teaches and demonstrates a commitment to quality. At one point Tufte spoke more generally and more personally about pursuing quality over quantity.
He said most papers are not worth reading and that he learned early on to concentrate on the great papers, maybe one in 500, that are worth reading and rereading rather than trying to “keep up with the literature.” He also explained how over time he has concentrated more on showcasing excellent work than on criticizing bad work. You can see this in the progression from his first book to his latest. (Criticizing bad work is important too, but you’ll have to read his early books to find more of that. He won’t spend as much time talking about it in his course.) That reminded me of Jesse Robbins’ line: “Don’t fight stupid. You are better than that. Make more awesome.”
 Sturgeon’s law is usually stated as “Ninety percent of everything is crap,” though that’s not what he said. The original quip was “Sure, 90% of science fiction is crud. That’s because 90% of everything is crud.”
When I was in college, I overheard two senior faculty arguing over an undergraduate probability homework assignment. This seemed very strange. It occurred to me that I’d never seen faculty argue over something elementary before, and I couldn’t imagine an argument over, say, a calculus homework problem. Professors might forget how to do a calculus problem, or make a mistake in a calculation, but you wouldn’t see two professors defending incompatible solutions.
Intuitive discussions of probability are very likely to be wrong. Experts know this. They’ll say things like “I imagine the answer is around this, but I’d have to go through the calculations to be sure.” Probability is not like physics where you can usually get within an order of magnitude of a correct answer without formal calculation. Probabilistic intuition doesn’t take you as far as physical intuition.
I was culling out books, mostly obsolete technical books, and I remembered that I have an extra copy of Feller’s classic probability text. It’s volume 1, second edition. If you’re a student and would like the book, please send me an email with your mailing address.
Update: The book was claimed 11 minutes after this post was published.
Braille characters live in a 4×2 matrix. This means there are eight positions where the surface is either flat or raised. You can naturally denote a Braille character by an 8-bit binary number: the bit for a single position is either 0 for flat and 1 for raised.
This is how Braille characters are encoded in Unicode. Braille characters are U+2800 through U+28FF, 2800 plus the binary number corresponding to the pattern of dots. However, there’s one surprise: the dots are numbered irregularly as indicated below:
Historically Braille had six cells, a 3×2 matrix, and the numbering made more sense: consecutive numbers, by column, left to right, the way Fortran stores matrices:
But when Braille was extended to a 4×2 matrix, the new positions were labeled 7 and 8 so as not to rename the previous positions.
The numbered positions above correspond to the last eight bits of the Unicode character, from right to left. That is, position 1 determines the least significant bit and position 8 determines the 8th bit from the end.
For example, here is Unicode character U+288A:
The dots that are filled in correspond to positions 2, 4, and 8, so the last eight bits of the Unicode value are 10001010. The hexadecimal form of 10001010 is 8A, and the Unicode character is U+288A.
The subtitle of That Hideous Strength is “A Modern Fairy-Tale for Grown-Ups.” C. S. Lewis explains in the preface why the book begins with mundane scenes even though he calls it a fairy tale.
If you ask why—intending to write about magicians, devils, pantomime animals, and planetary angels—I nevertheless begin with such hum-drum scenes and persons, I reply that I am following the traditional fairy-tale. We do not always notice its method, because the cottages, castles, woodcutters, and petty kings with which a fairy-tale opens have become for us as remote as the witches and ogres to which it proceeds. But they were not remote at all to the men who made and first enjoyed the stories.
The second chapter of Out of the Silent Planet opens by describing a room as “a strange mixture of luxury and squalor.” It gives examples such as the room as having fine armchairs but no carpets or curtains, strewn with debris. The room has “empty champagne-bottles” and “teacups a quarter full of tea and cigarette-ends.” The room belongs to a scientist and an investor who have the resources to live in beauty and comfort, but instead have a few luxurious items in a pigsty. The scene is a metaphor for science and business detached from humane uses, one of the themes of the book.
Seth Godin tells the following joke in The Icarus Deception:
Heisenberg looks around the bar and says, “Because there are three of us and because this is a bar, it must be a joke. But the question remains, is it funny or not?”
And Gödel thinks for a moment and says, “Well, because we’re inside the joke, we can’t tell whether it is funny. We’d have to be outside looking at it.”
And Chomsky looks at both of them and says, “Of course it’s funny. You’re just telling it wrong.”
The phrase necessary but not sufficient refers to something that you’ve got to have, but it isn’t enough. For example, being divisible by 2 is a necessary but not sufficient condition for being divisible by 6. Odd numbers are not divisible by 6, so being even is necessary. But evenness is not sufficient because, for example, 8 is an even number not divisible by 6.
Wrongly believing that nice theoretical properties are sufficient for a good model is known as a reification error. I don’t know of a name for wrongly believing theoretical properties are necessary. Believing theoretical criteria are sufficient when they’re not is a sophomoric error. Believing theoretical criteria are necessary when they’re not is a more subtle error.
Maybe it would be helpful to use a phrase like “beneficial but not sufficient” to indicate that some property increases our confidence in a model, though it may not be necessary.
How well does the spelling rule “i before e except after c” hold? I searched the 5,000 most common English words (from here) to see.
70% of the words containing ‘ie” or “ei” follow the rule.
If you weigh the word counts by word frequency, the rule only holds 54% of the time.
There’s a longer version of the rule that adds “or when sounding as ‘a’ as in neighbor or weigh.” This version holds for 79% of the words in my list. And when weighted by frequency, the rule holds 85% of the time.
Update: Here’s an even more accurate version from Merriam-Webster:
i before e,
except after c,
or when sounded as a,
as in ‘neighbor’ and ‘weigh’,
or when it appears in comparatives and superlatives like ‘fancier’,
or when the c sounds as sh as in ‘glacier’,
or when the vowel sounds like ee as in ‘seize’,
or i as in ‘height’,
or when it shows up in compound words such as ‘albeit’,
or when it shows up in -ing inflections of verbs that end in e, like queueing,
or occasionally in technical words that have a strong etymological link to their parent languages such as ‘cuneiform’ and ‘caffeine’,
and in numerous other random exceptions such as ‘science’, ‘forfeit’, and ‘weird.’