Wednesday, August 25, 2004

Perl vs. Java

"Perl encourages unreadably concise code; Java encourages unreadably verbose code."

Wednesday, August 18, 2004


"[A]re there lessons in history, or just stories, mostly sad?"

Monday, August 16, 2004

"Heuristic Canonicalization Schemes"

The semweb integration vision doesn't address the need to munge the contents of nodes. You can't have rdf guess that "jingleheimer schmidt" is the same as "jingle-heimer-shmid".

It would be cute to have a standard for transcribing proper nouns from any language. It would use a single case, no punctuation or spacing, and a set of letters that correspond unambiguously to the common subset of pronounceable sounds of all human languages.

Does this exist already? Let's try LazyWeb!

Friday, August 13, 2004

Solving the Fragile Base Class Problem three simple steps, from A Study of The Fragile Base Class Problem. The findings in that paper are important, and deserve popularization. Maybe I'll get a chance to write the article, but in the mean time, here are the three simple steps:

  • Make member data private (unless it's really part of the interface)
  • Never modify a base class method to start or stop calling an existing public/proctected method in that base class
  • Extenders should only expect that their overriding methods will get called by base class code when the overrided method is "protected"
UPDATE: Better, divide your classes into indivisible chunks of state.

Tuesday, August 10, 2004

Mazel Tov!

Three weeks ago, we had a baby boy. We named him Raphael. Mazel Tov!

The bris was beautiful, though we should've set up another table. I'm going to write here what I intended to say then, but didn't have time to.

That the torah portion for that week, Devarim, was particularly appropriate for us. In the portion, Moses addresses the jewish people before they enter the land of Israel, recounting in a roundabout way their journey through the desert.

This was an entirely new generation from the one that left Egypt, the one that had been condemned to die in the desert for the sin of the spies. Moses recalls the exhortation to the old generation, "אַל-תִּירָא, וְאַל-תֵּחָת", "do not be afraid, and do not be discouraged." As we saw, this was apt advice. The jews sent spies to scout out the land, became fearful when they heard the report of its giants, and desired to return to Egypt.

The traditional explanation for this sort of foot-dragging is that the jewish people knew that G-d was capable of giving them the land, but were worried that they weren't worthy to receive His help. Certainly on the simple level, they doubted both themselves and G-d, and this became a self-fulfilling doubt. They made themselves unfit to enter the land.

The new generation had never experienced slavery. They had relied on no power but G-d. G-d was with them, and they were confident. To this generation, Moses could only advise, "אַל-תִּתְגָּר בָּם", do not contend with (most of) the peoples that you encounter when you enter the land. Apparently the biggest danger to the jewish people was the danger that they might misuse their strength.

Now we in the tenor hopefully aren't dying in the desert, but the contrast between the two generations powerfully echoes every parent's natural wishes for his children. We hope that our children will be able to go everywhere that we could not. We hope that they will be able to learn from our mistakes, and surpass us in everything. We hope that they will help to bring redemption for our people and for the whole world.

Monday, August 09, 2004


I wish that blogger would support categories. I'm planning to make some nontechnical entries. It would be nice if people could link to a "nontechnical version" of this blog.

Important Technological Developments

I think these will be important in the next twenty years.