Simon Willison’s Weblog

Items in Nov, 2002

Filters: Year: 2002 × Month: Nov ×

This year’s Demotivators

This year’s collection of Demotivators are out (via Doc Searls). I think my favourite is Motivation.

[... 25 words]

XML security on SitePoint

Getting Started with XML Security is a SitePoint article of epic proportions. I had never really looked at any of the XML security applications but this article appears to cover the lot.

[... 33 words]

Why computer books suck

Why Computer Books Suck. The principle argument seems to be that most authors get burned by their first experience and avoid writing further books, leading to the bulk of computer books being written by newbies. One of my long term ambitions is to write a book on a geeky topic—I haven’t been put off yet, but the prospect does seem slightly less appealing.

[... 66 words]

The evolution of PHP

Via ReadingEd, an interesting article on the Object Oriented Evolution of PHP by Zeev Suraski (the Ze in Zend). As well as a history of PHP’s OO support, the article provides some tasty snippets of information as to improvement to look forward to in PHP 5. Personally I can’t wait for the objects to default to passing by reference, but the exception handling is going to be very nice as well:

[... 209 words]

PostgreSQL 7.3

PostgreSQL Global Development Group Announces Version 7.3. I still haven’t had a play with PostgreSQL yet but everything I’ve heard has been positive. I’m sure PostgreSQL’s popularity would skyrocket if they made a Windows binary available—the ability to test scripts written in PHP and MySQL on a Windows desktop PC is the main reason I have stuck with MySQL rather than exploring PostgreSQL.

[... 66 words]

Blogdex spammed

Uh oh, looks like Blogdex has been spammed. At the time of writing a whole bunch of the links positioned at "12" were "PremiumDomains——DOMAINS FOR SALE". This is a worrying precedent—many of the services we bloggers thrive upon such as, blogdex and others are easy targets for spammers thanks to the open nature of the service they provide.

[... 66 words]


Mental note: add the rel="bookmark" attribute to my permalinks, as recommended by Tantek. I’d never realised the rel attribute could be applied to normal hyperlinks.

[... 30 words]

Conversation with Martin Fowler

A conversation with Martin Fowler, parts I, II, III and IV.

[... 29 words]

OSAF hire Robin Dunn

If you weren’t already exited about the OSAF, maybe it’s time you were. I just spotted on Mitch Kapor’s blog that they’ve hired Robin Dunn (of wxPython fame, and winner of the ActiveState 2002 Python award) on a 6 month contract to work on improvements to wxWindows and wxPython. They’ve also hired Mitchell Baker,’s “Chief Lizard Wrangler” on a part time contract that helps fund her work on Mozilla while letting OSAF take advantage of her extensive experience of co-ordinating community open source efforts. Hiring Robin Dunn makes very good sense, seeing as the bulk of Chandler’s code will be written in Python with wxPython used for the front end. Any worries that Chandler might turn out to be vapourware have vanished from my mind—I can’t wait to see what they come up with.

[... 156 words]

XFML for Radio

Spotted on Guide to ease: Bill Kearney has written an XFML tool for Radio Userland. This sounds great—I’d love to see an example of a Radio blog that is using this.

[... 34 words]

Syndication is not publication

Mark Pilgrim pretty much single handedly killed the discussion thread on syndicating weblog content with XHTML started a few days ago by Anil Dash. Stuart’s reply to Mark’s post is definitely worth a read though.

[... 49 words]

Python as middleware Python Power: Growing Respect for an Open Source Integration Tool. Another excellent piece of Python advocacy, this time highlighting Python’s power and flexibility as a middleware tool to glue together varous large enterprise systems.

[... 36 words]

PHP training update

The aforementioned PHP training system was a mixed success. On the one hand, I discovered that trying to teach a room full of people is a lot tougher than I had expected (to cut a long story short, I stumbled through about five minutes of reiterating the same few points before all present agreed that the session would be best run using the ask-questions-when-you-get-stuck format). Luckily I had prepared some pretty comprehensive support material the night before. I’m chalking that one down to experience.

[... 88 words]

Coursework coursework...

No, I’m not dead—I’m just weighed under with coursework. Two large group projects and a whole bunch of personal pieces are conspiring to make me feel gulity whenever I load up a browser window. It’ll all be over by December the 17th thank Goodness. For the moment though I’m taking a well earned break to catch up on the goings on in the blogosphere over the past few days.

[... 71 words]


No time to update tonight. I’m frantically putting together a 2 hour training course on HTML, PHP and mySQL which I shall be presenting tomorrow as my first ever experience of teaching a large(ish) group. Should be interesting.

[... 79 words]

Validator documentation

It seems the W3C have made some changes to their beta validator’s XML output option. The bad news is that this has (temporarily) broken my web service interface, but the good news is that the feature is now documented on the W3C’s site. Hopefully I’ll get a chance to fix the web service interface in the near future, but it will remain a toy rather than a tool for as long as the validator’s interface has not been frozen.

[... 85 words]

CSS filter guide

Spotted on the Web Manager’s Weblog, centricle : css filters is a list of all of the current CSS browser hiding techniques (all 17 of them!) along with a table showing which hack will hide things from which browser. Best of all, the name of each workaround is a link which will pop open a new window testing the hack in your browser.

[... 70 words]

Syndicating blogs with XHTML

Anil Dash suggests using structured XHTML as a blog syndication format. Scott Andrew points out that this has semantic problems in that it would mean using the class attribute to add additional meaning to a document. I was going to say that this would be an ideal opportunity to mix different namespaces in one XML document (as described by Lachlan Cannon) but techno-weenie beat me to it.

[... 79 words]


XFMLManager, Peter Van Dijck’s XFML construction and navigation tool to which I have contributed various chunks of XML related code, has been renamed Taxomita and given a brand new site. Peter hopes to have a public beta out within the next few weeks. It also has a mailing list. Meanwhile, XFML has been cropping up all over the place even despite the current lack of software, with the most recent sighting occurring over at Bill Kearney’s Syndication News.

[... 92 words]

OWASP Security guide

The Open Web Application Security Project (OWASP) have a free guide to building secure web applications, which covers a large range of common problems such as cross site scripting and SQL injection vulnerabilities. The report is a 60 page PDF and although I haven’t had time to go through it yet it looks like an excellent read.

[... 74 words]


phpPatterns is a brand new site which advocates and documents the use of object oriented design patterns with PHP. It’s a great concept and the site already has some impressive content (although it could really do with a PHP references tutorial). The site is a project of Harry Fuecks, a regular contributor to SitePoint’s PHP forums.

[... 61 words]

Polluting the web

Hixie and Aaron Swartz are debating Hixie’s infamous Sending XHTML as text/html Considered Harmful on a W3C mailing list. While I am just as guilty of sending XHTML as text/html as anyone else (I’ve been meaning to fix this for a while but just haven’t found time yet) I’ll stick in an argument that Hixie hasn’t used yet. Sending XHTML as text/html basically amounts to pollution of the web. As far as the XML user agents of the future are concerned (which are supposedly one of the main reasons we use XHTML) an invalid XHTML document is unparseable and thus unreadable. Anyone who has tried to keep an XHTML blog valid will know how difficult it is to keep it that way, and without a browser refusing to display the document (as happened with Mozilla and diveintomark the other day thanks to an XML content type and a missing end tag) it can be all to easy to contribute to the pollution. As it stands, a massive proportion of the supposedly XHTML web may as well be just so many random floating bytes.

[... 191 words]

Get the look

Adam Polselli is a talented young designer who posts regularly on the SitePoint Forums. Get The Look is his new site (based on an article he wrote for SitePoint) which provides five excellent site templates and explains the design principles that were used to create them. I’m personally not interested in free site templates (though with my terrible design skills I probably should be) but the site is well worth visiting for the excellent advice provided with each design.

[... 87 words]

Information wants to be free

In Apple and the Pirate Everyman, Tom Coates discusses Apple’s attitude to copy protection and open standards. Choice quote:

[... 102 words]


Brian Graf has some very positive things to say about Mimeo, an innovative new web services based company in the States:

[... 156 words]


Joe Gregorio’s RESTLog is a fascinating piece of technology and a great example of the RESTian model of web service in action. Everything is built on XML and HTTP—new blog entries are POSTed to the index page as RSS 2.0 item elements, edits are done with the little-used HTTP PUT method and the DELETE method can be used to delete items. Content negotiation is in effect, so browsers recieve HTML while aggregators theoretically get RSS (though in practise existing aggregators fail to send a content negotiation header so an alternative URL scheme must be used). It’s very clever stuff. Further techie details are being posted on a regular basis, but a good overview can be had by reading RESTLog Overview and RESTLog Interface. The system was inspired by the RESTWiki’s RestidyingBlogger.

[... 155 words]


Aquarionics is Gone (well, not entirely—the old site can still be found here). Aquarion has committed to building his new blogging system, Epistula 2, and vowed not to add any more entries until the new system is capable of taking them. Development of the new system will continue in the open at, which is currently throwing an HTTP 500 error but is likely to be an interesting place to watch in the next few days.

[... 83 words]

Interesting but ultimately useless

Via Stuart, Tantek has an intriguing new (valid) hack for adding HTML documentation to an external javascript file. The hack uses some clever multi-language comments to hide the HTML in the file from the script interpreter, while ensuring that the documentation remains readable when the file is interpreted as HTML. Unfortunately the trick does not work in Mozilla, as that browser respects the Content-Type served with the document (whereas IE “guesses” the content is HTML from clues in the document).

[... 93 words]

Mark’s tinkerings

Mark’s back, and he’s been tinkering. In addition to a whole bunch of changes made yesterday in response to Hixie’s markup critique, Mark now boasts style shortcut URLs, an RDF powered about page and an automatically generated list of acronyms (in a semantically correct definition list). I use a similar technique (extracting structural markup tags using regular expressions) in my personal course notes—there’s something very rewarding about being able to extract information from a properly marked up document.

[... 112 words]

Changing backgrounds

Via Adrian Holovaty, Matt Jones points out an innovative new feature of the BBC’s new home page—background colours that adapt to your browsing preferences. Interesting stuff.

[... 33 words]