Archive for July 17, 2003

Thursday, July 17, 2003

OSCON 2003

O’Reilly has news of everyone’s favorite scripting languages. The state of the onion is…just fine. Guido doesn’t say why he thinks CPython will be faster than Parrot/Python. Parrot is supposed to be fast, and the existing CPython is slow compared to other similar languages. So I don’t know whether he thinks there’s something intrinsically slow about Python, whether he’s just pessimistic about Parrot for some unknown reason, or whether he’s going to dramatically speed up CPython. Well, the competition should do everyone good. Finally, Matz was funny and insightful, as usual, in his talk about linguistic determination and programming language design: “While you program to solve your problem, I program your brain to work better.”

ModelViewController

James Dempsey has a new song (via Bill Bumgarner).

The Leap to Language

The New York Times has an article about the evolution of language (via Kai von Fintel).

Displays

Nat Irons prices out various combinations of displays. Despite being more versatile, smaller displays offer more pixels per buck. Unfortunately, you need a silly adapter to use two Apple displays at the same time, and there are issues with using a PCI card to drive the second monitor, if you don’t have an AGP card that can drive two displays.

Jon Stewart Interview

Bill Moyers interviews The Daily Show’s Jon Stewart:

I think we don’t make things up. We just distill it to, hopefully, its most humorous nugget. And in that sense it seems faked and skewed just because we don’t have to be subjective or pretend to be objective.

[...]

But the other news networks, you know, they have this idea that they’re being objective. But news has never been objective. It’s always…what does every newscast start with? “Our top stories tonight.” That’s a list. That’s an object…that’s a subjective…some editor made a decision.…So why not take advantage of that and actually analyze what you do think is important.

McBusted

Baseline (via Jerry Kindall):

McDonald’s planned to spend $1 billion over five years to tie all its operons in to a real-time digital network. Eventually, executives in company headquarters would have been able to see how soda dispensers and frying machines in every store were performing, at any moment. After just two years, though, the fast food giant threw in the towel.

Didn’t the fact that the project was called “Innovate” raise any red flags?

Slices of Life

Davy Rothbart’s Found is something like a reality magazine, but that rather than tell a story through editing, he shows the source material—little hand-written slips of paper—whole and lets readers draw their own conclusions (via the Boston Globe).

Dijkstra Blog

Salon (via Michael Swaine):

On his proto-blog archive, the words and spirit of the late computer scientist Edsger Dijkstra live on, inspiring new generations of geeks.

Languages and IDEs

Not surprisingly, Jef Raskin sparks an interesting discussion without really proposing a solution.

Do It Right the First Time

Neal Stephenson (paraphrased by Ehud Lamm):

A good writer (and a good programmer) does not work by distilling good ideas from a large pool of bad and good ones, but by producing few if any bad ideas in the first place. It is important to give ideas time to mature [in the subconsciousness] so only good ideas percolate to the conscious level.

That’s the only way I know how to write prose. I tend to think about things in the background and then type out an almost-final draft. However, in all levels of school, I was told that it was important to get a rough draft down on paper as soon as possible, even if it was, well, rough. It could always be revised from there. The problem is that it’s much easier to revise in your head than on paper (or in a word processor). The ideas on the paper have inertia. They lock you into a trajectory. I spot some of the bad ideas and excise them, but I think my brain suppress new good ideas because there’s no way to seamlessly incorporate them into the draft.

The great advantage of the pen is that it is slow. Ideas, in his view, come faster than we can “serialize” them on the paper or at the keyboard. Therefore, the ideas are stored in an “accumulation buffer” in the brain. When in the buffer, the ideas interact and purify. If we empty the buffer too soon, we don’t give the ideas enough time to mature and we get a half-baked prose. There is a virtue in slow typing or in hand-writing. Needless to say, Neil is not a fan of a PowerPoint. He contends that writing on a blackboard gives a teacher and a student so important time to think.

+1 for chalk.

Stephenson’s comments were from his USENIX keynote, so how does this apply to programming? (I guess we are meant to put aside the obvious differences between the life cycle of a program and that of a novel.) On the surface, Stephenson’s ideas seem to be at odds with XP. Discovering design through refactoring and test-driven development is essentially a hill climbing strategy. For certain kinds of problems, it works great. But for others, it really pays to think carefully about your starting point. The Right design can make all the details fall into place.

Conclusion: to paraphrase Asimov’s Hardin, don’t let a methodology prevent you from doing what’s right.