Mar 16, 2008
I can remember times when we were just exhausted after wrestling all day with some horrible technical problem. And I’d be delighted, because something that was hard for us would be impossible for our competitors. Like guerillas, startups prefer the difficult terrain of the mountains, where the troops of the central government can’t follow.

permalink

* *
Mar 16, 2008
Data structures are just memoization strategies.
— me

permalink

* *
Mar 15, 2008
Things happen fairly slowly, you know. They do. These waves of technology, you can see them way before they happen, and you just have to choose wisely which ones you’re going to surf. If you choose unwisely, then you can waste a lot of energy, but if you choose wisely it actually unfolds fairly slowly. It takes years.

permalink

* *
Mar 14, 2008
The single greatest predictor of success in introductory programming is whether students have a mental model of program execution and can ‘play computer’ in their head.
Stuart Regespdf and Robert Floydinfo cause Dijkstra to turn over in his grave. Insight into human nature, or artifact of the questions we ask students?

permalink

* *
Mar 14, 2008
Reasoning operationally about programs is a tremendous waste of mental effort. Deal with all elements of a set by ignoring them and working with the set’s definition.

permalink

* *
Mar 14, 2008
The number of stars in the spiral arms of our galaxy isn’t really very different than the number between the arms. The arms are like cosmic traffic jams—they have stars entering and leaving, but the arms themselves persist.

permalink

* *
Mar 13, 2008
All aspects of government work best when the relative power between the governors and the governed remains as small as possible — when liberty is high and control is low. Forced openness in government reduces the relative power differential between the two, and is generally good. Forced openness in laypeople increases the relative power, and is generally bad.

permalink

* *
Mar 13, 2008
Situations commonly lead us to behave in ways that are inconsistent with our principles and self-image. The human tendency to see hypocrisy often reflects this tendency to overestimate the influence of a person’s disposition on his actions, and to underestimate the influence of his situation.

permalink

* *
Mar 13, 2008
Please, if you send me an email, don’t try to emulate my writing style.

permalink

* *
Mar 13, 2008
The right way to look at single inheritance is as a specialization of composition. Like all specializations, it does less. It is more specific. Whenever you declare that Child IS-A Person, the compiler writes “Child HAS-A Person” and “Child BEHAVES-LIKE-A Person” and “Child DELEGATES-TO Person” for you. When this is exactly what you mean to accomplish, it is useful: it expresses your intent clearly to other programmers.

When single inheritance is not exactly what you mean to express, use the more general purpose, flexible tool: composition.

permalink

* *
archive
projects
writings
videos
subscribe
Mastodon
RSS (?)
twtxt (?)
Station (?)