« | » Main « | »

Quentin Tarantino on journalists

Tuesday 29 October 2002

A quote by Tarantino, from a 9/23 New Yorker article on Hollywod publicists:

"They don't have anything on you, but it's time in the cycle to take you down. So they kill you with verbs and adjectives. 'He lumbered into the room.' 'He hesitated over the shrimp.' 'Gesticulating wildly, the motormouth Tarantino...' Hey, fuck you, you wanna-be novelist!"

Python discoveries

Saturday 26 October 2002

I've been using Python for a few years now, but I'm still discovering useful tidbits:

1. The encode method on strings. Want to quickly see how a Unicode string comes out in UTF-8?:

>>> u"\u201c".encode('utf-8')
'\xe2\x80\x9c'

2. The % operator (as in sprintf, not modulo) has a named argument syntax (which seems not to be mentioned in the Python Language Reference, but I discovered it in the Python/Perl phrasebook):

>>> d = {'a': 1, 'b': 2}
>>> "b is %(b)s, a is %(a)s" % d
'b is 2, a is 1'

Notes on postmodern programming

Friday 25 October 2002

James Noble and Robert Biddle have written a marvelously eclectic "paper" on postmodern programming. The gist is roughly, "everything is a big hodge-podge, isn't it great?".

The paper is full of pithy, clever observations and and philosophical approaches to ordinary situations. It isn't that long, and is not as difficult as it seems. To whet your appetite:

  • Quote: "The key reason [Java and C#] are postmodern is that they cannot be considered against technical criteria: comparing them is like comparing Pepsi and Coke: you don't drink the cola - you drink the advertising."
  • The description of how to write a program to print 1000 primes is right on the money and hilarious (who knew porn would be involved?).
  • Quote: "Open Source and Mob Software development replace centralised development by a single company with mongolian hordes of programmers giving their time free across the internet."
  • The bibliography looks like an interesting person's bookshelf, in alphabetical order, ranging (culturally) from Mr. Bunny to Dijkstra to Wittgenstein.
  • The paper closes with a quote from Umberto Eco concerning Barbara Cartland!

Increase in autism baffles scientists

Thursday 24 October 2002

Last week, the New York Times ran this story about the unexplained rise in autism incidence. As the father of an autistic boy, this hit home. As you'd expect, we know many families with autistic children. What's surprising to me is that we also know three families with autistic children who we knew before their children were diagnosed. In other words, we don't know them because of their autistic child, we knew them some other way, and then they happened to have autistic children.

I certainly don't know why autism is on the rise, but I know that it is a difficult disability to deal with, and that those that do could use more help, whether from family, schools, health care professionals, whatever. If the rise is genuine (and the study indicates it is), then more of the population will be dealing with autism, either directly or indirectly. Certainly much more can be done to understand it better, both through discovering more about it, and more widely disseminating the knowledge we do have.

Pangrams

Thursday 24 October 2002

Tired of "A quick brown fox jumps over the lazy dog"? Want a shorter option, like "A very bad quack might jinx zippy fowls"? Try the Pangram page, which lists an impressive number of sentences containing every letter of the alphabet.

Massachusetts voters: No on 2

Sunday 20 October 2002

I don't usually talk about local-ish politics here, but one of the referendum questions here in Massachusetts has got my hackles up. It's one of those stupid ideas with a simplistic apple-pie slogan that just might get it passed.

Question 2 is about changing the way non-English-speaking kids are taught. It would require all of them to be placed in "immersion" classrooms to learn English, and then be moved into mainstream classrooms once they had become proficient in English.

There are so many things wrong with this proposal, it is hard to know where to begin:

  • The immersion classrooms would have only a single English speaker in them: the teacher. When most of us think of foreign language immersion, we think of visiting a foreign country where we are surrounded by native speakers. Here kids are placed in a complex setting with no peers to learn from.
  • In California, where this proposal was passed four years ago, the statistics indicate it isn't working, showing that only 9% of kids are accomplishing the goal of becoming proficient in English in a year.
  • The proposal provides for teachers to be sued personally if they speak to kids in their native language, and to be barred from teaching for five years. This provision is outrageous enough that it is the basis of the opposition to the proposal in Massachusetts.
  • The proposal provides only one solution to the complex problem of how to teach these kids English while also continuing their standard education. It completely removes their town, their schools, and their parents from helping to decide the best approach.

If you want to read more (and better), my wife recently wrote a column in the local paper laying out the arguments against Question 2.

Colorado voters: essentially the same question is on the ballot in Colorado as Amendment 31.

The proposal is being pushed with the slogan "English for Kids". Don't let simplistic sloganeering affect your vote. Vote no on Question 2.

Sweetcode

Friday 18 October 2002

Sweetcode is a fabulous resource either for tools, or inspiration. It's a compendium of unusual software projects on the web, the kind of lightbulb-over-the-head applications that stop and make you think.

If I mentioned all the interesting stuff there, I'd just be duplicating the site. As an example from their archives, LavaPS is a process-tracking program that uses a lava-lamp visual metaphor to give a quick visual gestalt of what's running on your computer.

Go browse Sweetcode, I guarantee you'll find something that will get your creative juices flowing.

Soccamatic

Tuesday 15 October 2002

The new Wallace & Grommit are here, the new Wallace & Grommit are here! Soccamatic is one of ten new shorts (collectively entitled "Wallace & Grommit's Cracking Contraptions"). I'm not sure how the ten will be released, but Soccamatic is fun, if far too short. Once again, it's great to see top-notch animation paired with great characters and stories.

Apparently I'm evil

Sunday 13 October 2002

When I wrote my recent blog entry about long URLs, I expected it would only be of minor interest to a few dedicated web geeks, sort of a historical note from a behind-the-scenes player.

Charles Miller didn't think so. In an entry titled It's all your fault!, Charles reports that I have owned up to a "heinous sin", and says,

Sir, I hereby pronounce you evil, and sentence you to a year with only Jakob Nielsen for company.

Charles is only joking, of course (right Charles? *gulp*).

Over at codestore, Jake thinks I sounded almost guilty about the URLs. I don't feel guilty in the sense of having done something wrong, but I did have a hand in them, and as Charles makes clear, there are negative feelings out there about them. I work hard on my software, and I care about how people react to it.

Domino URLs really are an API in that you can use them many ways to accomplish similar tasks. For example, the Domino URL Cheat Sheet shows lots of different ways to open documents, including syntaxes that have only names chosen by the developer in them, no baffling and unwieldy hex numbers.

BTW: I like Charles' blog, and have read it for a while. I especially like his pithy, geeky summary of the blogging process: "tail -f /dev/mind > blog". I also enjoyed the Lego renditions of Escher works.

Beyond Compare

Thursday 10 October 2002

I've been using this tool for over a year, but only recently dived more into what it could do, and I continue to be very impressed. Beyond Compare is a file comparison tool above all others. Not only does it have the best name for a comparison tool ever, but it has all of the bells and whistles you could imagine, and a well-executed UI that keeps most of them out of the way until you need them. And I haven't even tried out the plug-ins...

It's well worth $30.

The Word Spy

Saturday 5 October 2002

The Word Spy is a well-made site devoted to tracking the emergence of new words. It's a fascinating site to browse because of the thorough job it does defining, documenting, and cross-referencing these new words.

Some, like belligerati are witty Sniglet-like formations. Others, like CXO are likely to become useful words, even only if specialized domains. Yet others, like destination wedding or appointment television are more commentaries on our society (the need for the phrase indicates a new prevalence of the phenomenon).

Long URLs

Thursday 3 October 2002

Brent's Law of CMS URLs is simple: the more expensive the content management system, the longer and uglier the URLs they produce.

This resonated with me, both because I have experienced these impossible-to-use URLs as a web surfer, but also because I helped make some of them, by being one of the developers of the Domino Web Server.

Domino produces URLs that look like this (I manually broke it into two parts!):
http://www-10.lotus.com/ldd/sandbox.nsf/85d5b6903071400e8525676d0079b3ae/
6bcca234153471348525689a0070bc43?OpenDocument

We designed the URL syntax of Domino to be almost an API into the data in the Notes database, which is why the URLs ended up long and inscrutable, and I'm sure is the reason why all these other CMS's do it as well.

In Domino's case, there are shorter URLs that will also work. For example, the first long ugly number is the UNID of the view to use to open the document. The vast majority of Domino databases don't care what view is used to open the document, so it can be replaced with a 0. The command on the end (after the ?) defaults to ?Open, so that can be omitted as well:http://www-10.lotus.com/ldd/sandbox.nsf/0/6bcca234153471348525689a0070bc43

Over time, lots of featurettes have been added to Domino to make the URLs nicer. For example, you can have Domino generate URLs with ! instead of ? so that spiders will follow them.

Did we make all the best choices? No, of course not. But we were exploring new ground, like the URL-as-API concept. We weren't the only ones doing it, but there wasn't much precedent. At the time, Domino URLs were some of the ugliest around. Now they are dwarfed by some of the monstrosities generated by other systems. In our defense, at least we didn't use wacky punctuation (like pipes)!

BTW: the original Domino discussion forum is still on-line, a quick look through it showed that it only took about two weeks from Domino's first public showing to start getting requests to simplify the URL syntax.

Python's maturity

Tuesday 1 October 2002

It's been clear to me for a while that Python is a full-fledged programming language, and shouldn't be burdened with the term "scripting language" (although it is sometimes called that because of its quick-off-the-blocks feel).

In my mind, there is only one thing still holding Python back: the way people name their projects. With many languages, there's been the same pattern: as people first use the language (whether it is C, C++, Java, or Python), the language itself is one of the central features of the project. The summary of the project will be something like, "JBlob is a blobbety-blob, and it's written in Java". With projects like this, the name of the project will reflect the language used. In the Java world, this meant many project names starting with J, and many coffee-based names (either puns or blends).

As the language becomes more of an accepted engineering technology, and less of a novelty, the language itself fades into the background, and the focus goes back to the software itself. The names of projects lose the language-specific twists.

When C++ was still new, there were many "Foo++" libraries. Now we have Boost and STL.

Looking around the Python world, it looks like we may be coming out of the play-on-the-language-name style of naming software. For example, we have "Zope", which was the reason I found Python in the first place. A quick look at the Python category at SourceForge shows far more generically-named projects than PyProjects.

On the other hand, we still have "PyCrust", but that's a language shell, so it's got to focus on the language anyway; we have "PyGame", but that's a language wrapper for a C-based library. I like "Pyana" (I use it to create this site), but don't know why it is called that.

It's hard to leave behind the appealing "Py" prefix, but I think it is a good sign for the language and its community.

« | » Main « | »