Archive for June, 2008

Insane Architecture

It is generally believed that anybody who sees the lost city of R’lyeh goes insane. My personal observation is that the towns of Silicon Valley make me feel insane. It seems therefore plausible that Silicon Valley is in some way associated with Cthulhu.

Of course there are many people who live in Silicon Valley, but then R’lyeh must have inhabitants as well. Perhaps they have managed to adapt, or they were somehow immune. Or perhaps R’lyeh is only a state of mind–perhaps there is a R’lyeh for everybody out there somewhere. And perhaps a Cthulhu, too.


Jackie Chan

Watching The Forbidden Kingdom the other day reminded me of Jackie Chan’s glory days, the string of movies from Project A to Drunken Master II or perhaps Rumble in the Bronx. It is unfortunately hard to see those movies in theaters these days; they used to be shown regularly in Hong Kong film retrospectives. In those movies, which combine light comedy with amazing stunts, Chan is essentially a modern day Buster Keaton.

Keaton is by far my favorite of the early silent screen comedians. His stories seem casually improvised but are clearly carefully planned and rehearsed. The plots are very sketchy. The core of the movies is Keaton’s remarkable athletic ability. In some ways the natural descendants of Keaton’s films are Gene Kelly’s dance movies: all the director needs to do is put the camera down and watch.

Chan’s more recent American films, like the Rush Hour or Shanghai Noon series, are much less interesting. The stunt work is toned down significantly and the comedy is more heavy-handed and basically pretty dumb. On the other hand, the plots make more sense–like Keaton, Chan’s earlier films don’t bother with much in the way of plot or character development.

Chan of course differs from Keaton in the use of Chinese martial arts. Keaton always ducks out of fights in his movies. In many of his movies Chan tries to duck out but fails. He is an excellent on-screen fighter, but unlike, say, Bruce Lee, often puts himself up against somebody who, at least in the story and choreography, is better. The fight scenes are fun but are not usually the best parts of his best films–the best parts are the other action scenes. That said, the fight scenes at the end of Wheels on Meals (with Benny Urquidez, a successful martial arts fighter in real life competitions) and Drunken Master II (with Ken Lo) are absolutely amazing.

It would be a real shame if Chan’s legacy in the U.S. is the films he made with American actors. Hopefully his earlier Hong Kong films will be the ones that are remembered.

Comments (2)


A mention of Squeak in a comment on my last post reminded me of Newsqueak, an interesting little language by Rob Pike. Newsqueak has nothing to do with Squeak. Newsqueak implements Hoare’s idea of Communicating Sequential Processes.

The interesting part of Newsqueak is the channel data type. A channel is a two-way communication path. Given a variable v of type chan of int, the assignment c< - 3 sends 3 on the channel, and the expression < -c receives the next value on the channel.

Thus a channel is basically a Unix pipe, represented as a fundamental data type. It can be used for synchronization as well as communication. This should make it easier to write safe multi-threaded programs.

I've never programmed in Newsqueak, and I don't know if there are even any implementations out there outside of Plan 9. And of course it's possible to use Unix pipes to communicate between threads today, although the required kernel calls and marshalling may make them less efficient than in-process channels. Still it's interesting to think about threading using channels.

Comments (5)


When I was in school I wrote programs in Scheme and its variant T. I still remember that as the easiest programming language I’ve ever used. In Scheme you never waste time on pointless boilerplate. You just write code. In order to run some function on a bunch of data, a very common operation, you just write a function closure, which is trivial. Dynamic typing means that you don’t waste time writing types.

In other words, Scheme has all the advantages of today’s interpreted languages like Python and Ruby. It is more powerful in practice, because Scheme makes it very easy to manipulate and evaluate Scheme code itself, something which is not feasible in most other languages. This means that Scheme can be its own macro processor.

And of course it is possible to compile Scheme to reasonably efficient machine code–not C/C++ efficient, but not bad.

So why hasn’t Scheme caught on? It still lives in various niche environments, but it is not popular. Is it as simple as people not liking prefix notation?

When people ask me what they should do to learn to program, or more commonly these days what their teenage kids should do, I always recommend Abelson and Sussman’s book Structure and Interpretation of Computer Programs (which can now be read online). It uses Scheme. It’s the best introduction I know to what computer programming is. It’s only an introduction, of course; it doesn’t cover the issues which arise in the workplace. But I think that anybody who wants to be a programmer has to be able to master the material in that book.

Comments (8)

Left Behind

On Bruce Schneier’s blog he pointed out a service on the Left Behind website. Left Behind is of course a reference to the popular series of novels by Tim LaHaye and Jerry Jenkins (my capsule review: first volume is a decent thriller, subsequent volumes become increasingly pointless, I stopped after four). The website lets people who expected to be taken up in the rapture leave messages behind for their loved ones who remain on Earth. They suggest including banking information and power of attorney.

Schneier points out the obvious security problems here. I certainly hope that people who use the site do it by storing a physical document somewhere secure–perhaps a bank vault–and using the service to tell their loved ones where it is, rather than, say, putting banking information on a web server owned by some random people nobody knows.

That aside, it would be fascinating to see what sorts of messages people write. There must be quite a temptation to write something along the lines of “Boy, I bet you wish you’d listened to me!” But I guess that if you want to be worthy of the rapture, you’ll do your best to be nice. It would also be interesting to see just who people leave messages for; what if you aren’t sure whether your friends will be picked up in the rapture? Would it be insulting to leave them a message?

The basically cool idea of the rapture sadly has only a weak basis in the Bible, pretty much just 1 Thessalonians 4:16-17 “With a shout of command, with the archangel’s call, and with the sound of God’s trumpet, the Lord himself will come down from heaven, and the dead who belong to the Messiah will rise first. Then we who are alive and remain will be caught up in the clouds together with them to meet the Lord in the air. And so we will be with the Lord forever.” The context is Paul advising against grief for people who have died, because those people will be raised first. It’s hard to reconcile the rapture with the book of Revelations, although people manage it through what I considered to be selective quoting.

For this kind of radical Christianity, the last word should always belong to the amazing Jack Chick.

Comments (4)

« Previous Page « Previous Page Next entries »