Thursday, May 19, 2005

Great Quotes

1. On Attention And Respect
"Why is yet another milestone. Why implies that the child understands causality. When why appears, it's very important to treat it with the respect it's due. It's very tempting to answer these onslaughts of questions with 'Because', or 'That's just the way it is.' This is a dangerous path. The child who hears 'Because' as answer to 'Why is the sky blue?' will be the child who will answer his parent's question 'What did you do at school today?' with 'Nothing.'"

- McGuinness, C. & McGuinness, G., How To Increase Your Child's Verbal Intelligence, 2000, p.83.

2. On Giants

You've probably heard Newton's epigram: "If I have seen further, it is by standing on the shoulders of giants." Here's a twist I only heard recently:

"If I have not seen as far as others, it is because giants were standing on my shoulders."

- Harold Abelson, MIT

Wednesday, May 18, 2005

Print on Demand, and Hardcopy Copy Protection

You might be familiar with Print On Demand (POD) vendors like iUniverse and Lulu. They let you upload a document (say, a 300-page PDF) that customers can have printed into a softcover book on demand. The cost is only a little above the per unit cost of printing books in a traditional press run of 1,000 copies. This means you can print anything with essentially no overhead.

There's a subgenre of POD, called Variable Data Printing (VDP). This allows the document on the print server to be, in essence, "mail merged" with customer data from a database. So if John Doe orders a catalog from a company, the system can check John's previous order history and modify the catalog document just for him immediately before printing it. All customers can have a custom catalog.

So far, Variable Data Printing has not come to the well-known book publishers like iUniverse and Lulu. While it's not terribly practical for Lulu to host your company's customer database, there is a simple and useful form of VDP that they could provide; hardcopy copy protection.

Imagine that when you publish a book through Lulu, you also include in your book a reference to a web site that contains more information. For example, if you sell a cookbook, you might want to offer a companion web site with additional recipes, nutrition analysis, etc. You want this web site to require a code for entry, which you publish in your book, so that people must buy the book to use the web site.

Now, a normal book can only print one code. Well, a person could manually place a sticker with a code into the back of the book, but such a step breaks the efficiency model of iUniverse and Lulu; you have to use an automated system that requires no human intervention.

So Lulu offers you an option: along with your book document, you can upload a text file containing thousands of random-looking, unique codes. You edit your book document to contain a string like this: "###VDP:Code###". Whenever a customer orders a copy of your book, Lulu's system looks for the next unused code from your code file, and sticks it into your document wherever it sees the ###VDP:Code### string. Voila, you are now printing customized access codes, one per copy of the book.

(I concocted the ###VDP:blah### syntax because it's tremendously simpler than some full-bore XML solution. You only need to insert small snippets of text in the first place, and Lulu would want something that's both easy to implement and performs at high speed with large documents.)

Once Lulu can do this, they can offer other VDP possibilities, too. For example, ###VDP:Date### could be a placeholder for the date that copy of the book was printed.

Monday, May 16, 2005

On Seeing "Revenge of the Sith"

Yesterday I saw an advance screening of "Star Wars III: Revenge of the Sith" (RotS). There were several hundred game company employees and their guests, and I shared the general verdict that it was one of the better Star Wars movies. Lucas has tied the loose threads together reasonably well, I think, considering the corner into which he had written himself with the other five films.

While the scenery is visually stunning, there are also more emotionally-evocative moments than in all the other films. Lucas succeeds in doing something I didn't expect he could, or even should, do: he generates some sympathy for Darth Vader. Not just for Anakin Skywalker, but for Darth Vader (or rather, for the sliver of Anakin that remains alive in him). In that way, RotS actually elevates the original movie from simple Buck Rogers derring-do to a more substantial, emotional experience. I haven't watched Episode IV again yet, but I expect them to be powerful back-to-back.

The next paragraphs contains some SPOILERS. Since there are few surprises in the film as it is, you might want to skip this.




Greek Tragedy

This script has more classic elements of myth than the others, too. There is "Faust". There is "Frankenstein". Most of all, there is "Oedipus Rex". While there is no sexual theme as in "Oedipus", RotS is a Greek tragedy. Not only does hubris bring down the hero, but, like Oedipus, he needlessly brings on the prophecy he tries to prevent. (Note that this is much more specific than just saying he has become what he swore to oppose.) Specifically, his drive for power is largely fueled by fear that Padme will die in childbirth. But it is his turn to the dark side, and not anything else, that causes her to "lose the will to live".

The Republic

It's somewhat hard to believe someone would fall for Palpatine's arguments and lies. But Palpatine has been Anakin's friend for years, he is the venerable leader of the Republic, and Anakin is ruled by his emotions. And he's only 21 or so. It's more difficult to believe the Senate falling for Palpatine's tricks, but largely that's because we don't see the cumulative effect of Palpatine's spin campaign.

As far as the average Senator is concerned, everything is fine with the Jedi Order until Palpatine declares in an emergency session that 1) they have attacked him, 2) they must *all* be destroyed, and 3) he is declaring himself Emperor. Even with an ongoing state of war, that's a lot for a Senator to swallow. I'm sure I'm in the minority, but I actually wanted to see more of the machinations of the Senate. The Fall of the Republic is, after all, the real story. Apparently, in the novel and elsewhere, there are mentions of additional security regulations and militarization of the Republic, but nothing like that made it into the film.

However, I did like the battle between Sidious and Yoda in the middle of the Senate Chamber, a beautiful place to show the actual, final battle over the Republic.

Order 66

"Order 66" is Darth Sidious's command to the clone troops throughout the galaxy to turn on and kill the Jedi they are with. In a movie with surprisingly few plot holes, I didn't like the way that was handled. That is, I didn't think it would be a secret order from Darth Sidious; I thought it would be a decree from Chancellor Palpatine. For Sidious to show up in holograms to the clones, the clones would have to know who Sidious is, and work silently as sleeper agents for several years. Sure, they are genetically programmed to be obedient, but it's more believable that they defend the Chancellor from a declared "Jedi rebellion" than that they have knowingly colluded with Sidious, and hidden it so well from the rest of the galaxy.

* As far as the Kaminoans in Episode II were told, Jedi Master Sifo Dyas commissioned the clone army "for the Republic". So it seems unlikely the Kaminoans would have put in such a dangerous, subversive program to threaten the Republic, a decade before Palpatine declared the Jedi to be traitors.

* The clone troops were programmed to be entirely obedient. That's easy to do if the Chancellor suddenly says "New command! Do this!" But it's hard to do if you have conflicting orders, as they would have if they knew they were working for Sidious all along. It's hard enough for ordinary people to perpetrate long-term deceptions; I think it'd be harder for these docile clones.

* Lucas's whole thread about the fall of democracy is based on the ease with which you can fool the public about the real threats to freedom. This would be shown far better by having the clones "defend the Chancellor" against an alleged Jedi coup than by having them secretly do Darth Sidious's dirty work. Their action would then mirror (or be an extreme version of) the Senators' support for the new Empire.

It's just not necessary that the clones be "in" on the conspiracy.

Tuesday, May 03, 2005


A very cool service just started. I got on their email list a few weeks ago, and today they launched their new service,

Go to and sign up. The "free" tier gives you plenty of services.

You can see the examples page for the kinds of things you can do.

It's for keeping notes, journals, to-do lists, email reminders, photos, files, etc. It can be for your personal info, or pages you share just with friends, or public pages for the world to see. It's very fast and responsive.

You can do cool things like email notes to a page. That means that if you have a project with a few friends, you can all email notes to the secret squirrel address for that page, and everyone's notes will automatically be added. Great way to collaborate.

As a programmer, I like that it uses dynamic JavaScript to keep everything snappy and real-time. No page reloading. Anyway, check it out. And sign up for an account so I can later invite you to private pages.