Simon Willison’s Weblog

Subscribe

April 2003

April 1, 2003

Glastonbury sold out

Bloody hell—Glastonbury 2003 has sold out within just 24 hours of tickets going on sale! My first thought was that this must be an April Fool’s thing, but it seems extremely unlikely considering that Glasto fans are already being driven to paying double the price of the ticket from ticket touts (if it is a joke, it’s gone horribly wrong). Luckily the main group of friends I’m going with all got there in time, but any hopes I had of convincing other friends to go are well and truly squashed.

[... 122 words]

Tables are the new black

Gotta dig Sam’s retro redesign, nested tables galore ;)

Fooling no one

Via Simon Brunning, the Top 100 April Fool’s Day Hoaxes of All Time.

[... 114 words]

April 2, 2003

The power of Javascript

Spotted on paranoidfish.org/links, JavaScript: The World’s Most Misunderstood Programming Language dispells some myths about Javascript and shows how it is actually a very powerful and expressive language. The comparisons made to Lisp are particularly interesting.

[... 128 words]

Mozilla changes focus

The Mozilla project is shifting focus to concentrate more on standalone apps such as Phoenix and Minotaur. Cool. The full story can be found on MozillaZine, with further details on the Mozilla.org Roadmap. See also comments from Blogzilla and mpt.

April 3, 2003

Fixing quotes with Javascript

Marek Prokop has a cunning way of getting Internet Explorer to style <abbr> elements (IE, for reasons unknown, usually ignores their existence both as stylable elements and through the DOM). A comment by Mr. Farlops on diveintomark inspired me to have a go at fixing IE’s equally faulty quotes behaviour using javascript. Rather than detecting IE by checking for the presence of document.all, I decided to use a Microsoft specific proprietary extension: DHTML Behaviors.

[... 336 words]

css-discuss archives back online

After several months spent offline, the css-discuss archives are back and better than ever thanks to the hard work of my colleagues at Incutio. As well as updating the archives with all of the missing posts from the past few months they’ve improved the URL scheme to make things more search engine friendly (hopefully Google will start indexing the archives now).

Three column layouts in CSS

ThreeColumnLayouts in the css-discuss Wiki currently lists 24 freely available three column CSS layout templates.

Better DHTML navigation

Adrian Holovaty demonstrates how standards compliant code and effectively written javascript can decimate the size of a clunky navigation interface, and make it more usable and accessible to boot: Web standards improve 2theadvocate.com navigation.

New favicon

This site now sports a funky favicon, care of Nat.

Closures and continuations

Thanks to Dan Sugalski (designer of Parrot, the next generation Perl VM) I finally understand what continuations and closures actually are. He explains them as part of a comparison between the forthcoming Parrot and two popular virtual machines already in existence:

April 4, 2003

Lively discussion on SOAP

If you get the basic idea of web services but are still looking to get your head around SOAP (I know I am) the lively discussion currently taking place in Sam Ruby’s comment section looks like a great place to start.

Interview with Steve Champeon

Meet The Makers are carrying a great interview with Steve Champeon, author, web standards advocate and founder of the Webdesign-L mailing list (which I re-subscribed to today). Steve’s explanation of the concept of “progressive enhancement” is particularly interesting:

[... 202 words]

Bjørn Borud blogs

Bjørn Borud (a Senior Software Engineer at AllTheWeb) has recently started blogging. His thoughts on wikis make interesting reading. I also rather liked his description of something he calls the “Hansel und Gretel” mode of browsing:

[... 296 words]

PhotoPal

PhotoPal is a new PHP image gallery system by Noel Jackson inspired by the Photos section on Textism. The way it is implemented reminds me somewhat of the Blosxom philosophy—the album’s structures is defined by the directory structure, with simple text files adding additional descriptions, and metadata is extracted from the photos themselves using PHP’s exif_read_data() function.

The blogging MP

Could Tom Watson be the blogging world’s best kept secret? He’s the Labour MP for west Bromich East, he’s been blogging apparently since since July 2001 and posts updates several times a day, including an almost daily “Today in parliament” entry. I’m surprised I haven’t seen him linked to by someone before. I wander if any other UK MPs have frequently updated blogs?

Letting off some steam

I spent most of today knee deep in RSS, writing an aggregator for a project at work. It has been quickly becoming apparent that “Really Simple Syndication” is anything but! There are currently three major (and goodness knows how many minor) specifications doing the rounds, and the majority of feeds seem to pick and chose between the three at will. Even the three core elements that describe an item (title, link and description) are both optional and heavily overloaded.

[... 716 words]

April 5, 2003

Site moved

I’ve just finished migrating this site to a new server. Everything seems to be working, and the site appears to load noticably faster now.

Bill Kearney responds

Bill Kearney posted this comment in response to yesterday’s semi-rant:

[... 187 words]

Absolute positioning on the wiki

I’ve put together some notes on constructing CSS layouts using absolute positioning over on the css-discuss Wiki. If you have any suggestions or improvements, just make them :)

Applications in Java

My opinion of Java as a platform for developing GUI applications has generally been that it results in slow, clunky, ugly software that is a pain to install, feels unresponsive and fails to behave in the way I expect a GUI to behave. I based this on my experience with Java applets (ugh) and Mediasurface, a content management system I had to struggle with for two years working for a dot-bomb in London.

[... 387 words]

Private wikis for personal organisation

I’ve been struggling with different methods of staying organised for as long a I can remember, but I think I’ve finally found something that works. A couple of days ago I set myself up a password protected Wiki (using my own slightly modified version of WikkiTikkiTavi) to see if a private personal Wiki could help me stay on top of things. It’s already proving remarkably useful. I’ve set up the front page as a to-do list, split in to University, Work and Personal sections. Any tasks which involve writing or developing ideas are wiki words linking to a page where I can develop them further. I’ve also got a section devoted to things I plan to blog (hence the recent surge in blogging activity), a bunch of links to useful sites and the beginnings of a collection of phone numbers and contact details. I also finally have a good place to keep all of those irritating but essential pieces of information such as my National Insurance number.

[... 219 words]

Personal web cache

Jesse Lawrence is also looking to implement his own aggregator:

[... 170 words]

April 6, 2003

HttpClient PHP class

I’ve been working in quite a roundabout fashion recently. My principle target is to build a collaborative blogging system. As part of this, I needed an RSS aggregator to allow a single blog to show the most recent entries from a number of other, related blogs. Then I needed a way of downloading RSS feeds from external sites. While thinking about this (although to be fair it’s pretty much a solved problem) I was inspired to build something that could cache whole sites. And that lead me to need a PHP HTTP client class for retriving information from the web. So I wrote one of those :)

[... 381 words]

Lots and lots of CSS buttons

The alternative W3C buttons on AntiPixel are great. Jamie Zawinsky suggested recreating them in CSS. Stuart Langridge, Marek Prokop, Nick Boalch and Eric Meyer all had a go. Eric even did the Raging Platypus ones as well.

Archive woes

Mike Golding has some interesting thoughts on Archive Navigation in blogs. He uses mine as an example of what not to do. I agree—the archives on this site leave an awful lot to be desired. I’ve got a few ideas to improve them (mostly inspired by Mark Pilgrim’s excellent calendar navigation) but I can’t really do anything until I’ve been through and added titles to every single entry :/

HTMLCleaner class for PHP

htmlcleaner is a PHP class which claims to be able to clean up the revolting HTML generated by Micrsoft’s HTML libraries, in particular the one that is used for browser embedded WYSIWYG editors. We’re using HTML Tidy for this with excellent results, but for people who can’t run HTML Tody this could be a useful solution. Unfortunately the class is hosted on PHP Classes which still insists on making you log in for no apparent reason.

UltraEdit and the clipboard

UltraEdit tip (discovered just now): If you keep trying to copy and paste between UltraEdit and other applications and it just doesn’t work, the chances are that you’ve accidentally hit Ctrl + 1 through 9, which is the UltraEdit shortcut for selecting a custom clipboard. Hit Ctrl + 0 to get back to the Windows system clipboard and have everything behave as it should again. I suppose this feature could be useful, but I’ve got ridiculously fast at hitting Ctrl + Windows Key and typing “notepad” whenever I want to dump my current clipboard contents somewhere temporary without losing it.

Onyx Relicensed

Ed Swindelles has relicensed his Onyx RSS Parser under the MIT License, meaning it can now be used without risk for building commercial software. I haven’t decided which license to place HttpClient under, but that one looks like a pretty good bet. I’ll work it out in the morning.

April 7, 2003

getNodesByType()

On gazingus.org, Flexible Node Retrieval introduces a new addition to the getElementsBy* family of javascript functions, getNodesByType. This general purpose function uses a callback function to “filter” the child nodes of a DOM element. It works a bit like PHP’s array_filter function. One for the toolbox.

2003 » April

MTWTFSS
 123456
78910111213
14151617181920
21222324252627
282930