Sep 4, 2007
“The hardest part about writing a search engine is that you’re going to process billions of URLS and serve millions, if not billions, of queries. This does not leave a lot of room for error. One super-linear algorithm applied over the wrong-sized list of items and you are sunk. One lock inside another lock and you are sunk. There will be no code paths not explored. All of those comments in your code, which print out errors like “This will never happen,” will happen.
permalink
* *
Sep 4, 2007
“It’s the void pointer’s job to stand in for other pointer types. In ANSI C99, the “cast” is implied when you pointers to or from void-star, and redundant when supplied explicitly.
Yes, yes, I know, you can’t assign from void-star without a cast in C++. Stop using C++. And look askance at any pointer cast in straight C code.
permalink
* *
Sep 4, 2007
“Composing state machines [functions, etc.] is superlinear in complexity for linear gains in expressive power. Composing interfaces expressed as
channelspdf is superlinear in expressive power for linear investments of design complexity. Interleaving channels is free. Compose interfaces, not state machines.
permalink
* *
Sep 4, 2007
“Good leaders
must be emotionally stable at deadlines. They cannot ever act panicky or lash out at team members without seriously harming the productivity of the team. They should be serious and positive; off-hand comments that insult people will be remembered, and I’ve seen repercussions happen after six months. Everything has a cost.
permalink
* *
Sep 3, 2007
“There’s only so much extra space on a site, and there are simply too many “must have” widgets. It’s all gotta end sometime.
permalink
* *
Sep 3, 2007
“CouchDB is still in alpha but I think the fundamentals are sound. It’s a lot more aligned with the way a modern web application works and needs its data represented. Its replication system is already much more powerful than that of other database systems and in fact is very similar to the way google works with its bigtable and map/reduce infrastructure.
permalink
* *
Sep 2, 2007
“Although Oppenheimer himself never reduced his homemade Hinduism to a catalogue of principal tenets, a distillation of his words and actions might produce a short list of three: duty, fate, and faith. He believed that he had a job to do; that he should do it only because it was his job and not because he was intent on obtaining any particular result; and that following these principles would bring a saving measure of serenity into his profoundly discontented existence. These three precepts were not ornamental but structural: without them he would have been a different man.
permalink
* *
Sep 2, 2007
“The common claim that the golden spiral occurs repeatedly in nature (e.g. the arms of spiral galaxies or sunflower heads) is incorrect. While
logarithmic spirals are common features in nature, they may be of differing pitches.
permalink
* *
Sep 2, 2007
“I actually
like arguing (sometimes a bit too much ;^), so the occasional flame-fest really does nothing but get me pumped up.
At the same time, I’m pretty good at just letting it go. I don’t tend to get too hung up about any particular detail (even if in the heat of a “discussion” I can be very forceful about them). In the end I seldom end up caring really deeply about many of the technical choices: I tend to care much more about improving the general development model than about the details of some particular subsystem. I’ll state my opinions, but even if I’m convinced I’m right, if I’m not actually willing to write the code, in the end I’ll happily be overridden by the people who do write the code.
Part of that is also having to occasionally just admit that you were wrong, and having the ability to send out a “mea culpa” email saying so.
permalink
* *
Sep 2, 2007
“The latest Scheme proposal, R6RS, has generated a fair amount of controversy. I believe a mistake was made in letting people have the final vote on language features who were not experts in language design and implementation.
permalink
* *