Simon Willison’s Weblog

Subscribe

January 2003

Jan. 14, 2003

Apple snubs Mozilla

News.com: Apple snub stings Mozilla. Surprisingly comprehensive coverage of the Mozilla communities reactions to Safari. What impressed me was the number of links to weblogs in the news story. It looks like CNET “gets” blogging.

Comment back

Paul Freeman:

[... 40 words]

The making of Python

One for the reading list: The Making of Python—A conversation with Guido van Rossum, Part I.

Jan. 15, 2003

First deployment of Vellum

Oooh... Stuart has moved his blog over to Vellum, his brand new sparkly Python powered blogging system. The full post is here, but his archive / permalinks aren’t working yet. It’s going to be fun watching the system develop.

Content management gems

Not one, but three gems from James Robertson:

[... 369 words]

Aww crap

Aww crap.

Feedback loops

Mark Pilgrim has been having an interesting problem with his Further Reading feature: Feedback loops.

[... 64 words]

PEAR out of beta

I just noticed that PEAR is finally out of beta. This means that the PEAR installer will be included with PHP 4.3, but more importantly it means that the PEAR website finally has a usable navigation system.

Jan. 16, 2003

Fun with body IDs

Mark has hit on the clever idea of using the body tag’s id attribute to apply different styles to different pages all from the same stylesheet. The technique is very neat, but it would be even neater if he combined it with Eric Meyer’s CSS Signatures to allow advanced users to specify their own styles for his site. Since the ID attribute can’t be overloaded with more than one value doing so would probably mean having to use the body tag’s class attribute as well—the id attribute could hold the signature while the class attribute specified the page (or vice versa).

Who needs web standards?

Aquarion points out a truly moronic “browser upgrade” notice. I especially like Anything larger than 800 x 600 is too large, and the pages do not diosplay [sic] properly.

Vellum looks nice

Stuart has released the code for Vellum, his new Python blogging system. I haven’t tried it out yet (the installation process is pretty in depth and I don’t have a properly configured server to hand) but it looks damn sexy. Key features include:

[... 242 words]

Blogging with AppleScript

Les Orchard describes an intriguing blogging tool built with AppleScript that posts links to a weblog when they are dragged on to a special folder on the OS X desktop.

Jan. 18, 2003

Copy wrongs

A top notch rant from Leonard Lin:

[... 88 words]

Colour blindness filter

Via Anitra Pavka (who has an excellent usability and accessibility weblog): Colourblind Web Page Filter, a clever server driven tool which shows how web pages would look to people suffering from three different forms of colour blindness.

PEAR templates and bitshifting

Codewalker.com have a tutorial up describing PEAR’s ITX template system. Their forums also have an explanation of how bitshifting operators work in PHP (in the fifth message from the bottom of the thread).

Spam conference

It sounds like Paul Graham’s Spam Conference was a huge success, with attendance rocketing to 560 from the original estimate of 50—60. Scott Johnson sings its praise and promises a full write up later on. In the meantime, webcasts of the talks are available on the conference website.

The Eric Eldred act

Larry Lessig has a new campaign: a “copyright tax” that kicks in 50 years in to a copyright term, demanding copyright owners to pay a nominal fee ($1—$50) to maintain control of their copyright. Unused works that are no longer profitable should then default to falling in to the public domain, while more commercial works can stay copyrighted. Larry’s idea was first announced in this New York Times Op-Ed and is also covered on Lessig’s blog. He has also published an FAQ.

Jan. 19, 2003

Better image rollovers

When browsing through other site’s source code, some of the ugliest HTML occurs when the site uses one of the most basic javascript effects: The image rollover. There are a myriad of these scripts available for free on the web, but as far as I can tell every single one of them requires event handling code to be added to the markup of the page.

[... 341 words]

Alternative rollover script

And here’s Daniel Nolan’s standards compliant rollover script, which uses a different approach (based on rollover images using a standard naming convention with a suffix attached to the name of the original image) but achieves the same effect, working in Opera 7 as well. It also uses a neat way of adding events using javascript function prototypes.

Pythonology

Pythonology (via Deadly Bloody Serious about Python) is a Python advocacy site aimed at software engineers and managers. The site has a fantastic collection of case studies, Python Success Stories, which an interesting piece describing why and how Rackspace migrated their main enterprise data system from PHP to Python.

Recursive how?

I just can’t figure out how Recursive was made.

A global conversation

Dave Winer on TrackBacks and push backs (and presumably PingBack as well):

[... 317 words]

Jan. 20, 2003

You know me

Dave Winer: The “You Know Me” Button. Dave hates posting comments on blogs and then having to check back constantly to see if anyone has replied (I do too). Sam Ruby’s solution is to provide the comments as a separate RSS feed for each of his entries, but Dave wants something more automatic that won’t clog up his aggregator. Dave’s new proposal is intruiging to say the least. When you sign up for an account with a discussion forum you have the option of configuring a link to an “identity server” able to respond to a specific protocol. Once this has been done, the discussion software “pings” your identity server with your username and a message whenever someone responds to one of your posts.

[... 402 words]

Scaling the two way web

Another Dave inspired post: It seems I misunderstood Dave’s objections to blogging feedback mechanisms yesterday. I thought he was ruling out what I see as an invaluable tool for low traffic bloggers, but in fact his main complaint was that things like comments / TrackBacks and so forth simply don’t scale. Mark Pilgrim echos his complaints, pointing out how overwhelmed his blog was with auto-linkbacks from his Safari review. l.m.orchard concurrs: At present, I’m safe. My rating is Mostly Harmless, so all my open systems are mostly free from abuse. But, the first time I really strike a nerve somewhere, I’m a sitting duck.

[... 271 words]

Stylesheet parsing gets complicated

Craig Saila points to the SearchEngineWatch Webpage Size Checker. It’s a nice tool, but it doesn’t appear to take the size of linked style sheets in to account. I was playing around with the idea of a web page cache written in Python over Christmas and I hit the same kind of problem—while finding linked stylesheets using Python’s HTML parser wasn’t too difficult (and could be achieved equally well using a regular expression) things get a lot hairier when you start to take @import statements and CSS defined background images / custom bullet images in to account. Again I imagine a solution could be hacked out with regular expressions but a nicer method would be some kind of CSS parser (the Python standard library has yet to include one). Maybe another project for a rainy day...

Jan. 21, 2003

More Vellum

Vellum 1.0a4 is out, and features comment support via a new Comments plugin and an Audience generic object type that abstracts the concept of “responses to your post” and is also used for Pingback support. Different response types within the same interface is a very neat idea, as Sam Ruby has demonstrated with his integrated comments, referral tracking, Pingbacks and TrackBacks. Stuart also suggests auto-discovery of You-Know-Me information from the URL of your weblog, presumably by another link element. This is a great idea, but I have reservations about the performance trade off as unauthenticated comment systems will have to retrieve the poster’s home page in the background every time they make a post.

More body ID fun

Scott Andrew points out another smart trick with body tag ID attributes—selectively showing and hiding navigation elements depending on the current page. This is a really neat idea, but it does lead to a blurring of the lines between structure and presentation—if a navigation section isn’t relevant to a particular page this should be mirrored in the markup rather than worked around by the CSS. That said, there are some nice presentational touches which could be achieved with this technique without sacrificing structural purity, such as highlighting the navigation menu item for the current page in a different colour:

[... 158 words]

Anil Dash on diamonds

Anil Dash: Diamonds are for never. A thoroughly entertaining and educating rant about the Diamond industry. Some day I hope to be this articulate.

Jan. 22, 2003

DOM support tables

PPK’s ever excellent JavaScript Section now features updated DOM compatibility tables for W3C Core and W3C HTML. The tables contain detailed descriptions of suport for DOM features in IE 5 and 6 for Windows, IE for Mac, Mozilla 1.2, Safari 1.0 Beta, Opera 7 Beta and iCab 2.8.2. I’ve been playing around with the DOM quite a lot recently and the differences between IE and Mozilla were driving me up the wall—I only wish I’d found this fantastic resource sooner.

[... 164 words]

Python path module

The path Python module (via The Daily Python-URL) is a nice looking wrapper class for Python’s oft-confusing os.path module. Check out this neat code comparison:

[... 103 words]

2003 » January

MTWTFSS
  12345
6789101112
13141516171819
20212223242526
2728293031