Simon Willison’s Weblog

Subscribe

Items in Jun, 2003

Filters: Year: 2003 × Month: Jun × Sorted by date


Off to Glastonbury

I’m off to the Glastonbury music festival. Back Monday.

[... 10 words]

The new RNIB site in CSS

Just to show it can be done, here’s the new RNIB site design (as mentioned earlier) re-done with a CSS layout. It’s something of a first draft—I’ve only tested it in IE6 and Firebird on Windows and it still has a few glitches here and there, but as a proof of concept it works pretty well. Here are a few notes on the implementation:

[... 550 words]

More caching

One of the golden rules of web site development is “never launch a new feature on Friday”, because it’s almost certain to break over the weekend while you’re not around to fix it. I’ve just extended my hacked together caching system to cover entries as well as the front page in a bid to reduce the load on the database a bit, and since I’m off to Glastonbury tomorrow morning it will have a whole four days in which to collapse in to a smoking hole in the ground. What’s the point of golden rules if you don’t break them once in a while?

[... 109 words]

Moving forward from Internet Explorer

Dave Shea is advocating moving forward from Internet Explorer, enhancing pages for more advanced browsers (Mozilla, Opera, Safari) using additional style rules that are hidden from IE by using selectors it doesn’t understand. Essentially it means adapting the approach we’ve been taking to Netscape 4 for the past few years to work around flaws in the current browser generation’s backwards cousin.

[... 159 words]

More thoughts on RSS

I helped my girlfriend set up an RSS feed for her (home brewed) weblog last night. Explaining what RSS was was easy. Explaining what she needed to put in her feed took a little bit longer. All she needed to do was provide a feed of entries, each with a title, the full body of the entry, the date it was posted and a permalink to the archived entry. In working out how to do this, we identified the following steps:

[... 461 words]

Tom Gilder’s blog

Tom Gilder has finally started his blog properly, powered by Moveable Type. Nice design too (be sure to view source to figure out how he achieved the drop shadows). He’s already covered the RNIB site and has some refreshing thoughts on the IE/Windows situation.

[... 55 words]

RNIB redesign a disappointment

Accessify: RNIB redesign does not go far enough examines the RNIB’s much hyped new accessible web site and finds it sorely lacking. While it includes basic accessibility features such as alt attributes and skip-navigation links it suffers hugely from out-dated development practises and unnecessary markup bloat. Here’s a prime example, taken from the left hand column of the front page of the site:

[... 385 words]

BBC News Feeds

Adrian Holovaty has the scoop on the BBC’s new RSS feeds, one for every news index page of their site. Adrian has also written a bookmarklet to find the feed for any section of the BBC site.

[... 47 words]

PHP philosophy, and bundling SQLite

Here’s a great quote from Rasmus Lerdorf (the creator of PHP) for people who have become disheartened with PHP’s lack of elegance when compared to other languages such as Python:

[... 232 words]

Bruce Eckel on Python as a teaching language

From the latest Artima interview:

[... 241 words]

Friends’ Blogs

My friend Tristan has got his blosxom powered blog up and running again. He’s also set up an experimental public aggregator of feeds from a small group of friends from Uni, using blosxom’s companion aggregator blagg. I think public aggregators are going to become a popular end point for RSS in the near future: they’re a great way of creating an instant community from existing weblogs. The Python Programmer Weblogs page is a great example of this in action.

[... 110 words]

Another rant about Flash

Michael Pick has kicked off an interesting discussion on the usefulness of Flash, which is continued on mezzoblue. The key idea under discussion is that while Flash has its uses it remains a fundamentally bad choice for serving up text based content. I couldn’t agree more. It’s nice to see that some Flash designers think the same way.

[... 401 words]

Sporting Gentleman’s Guide

If you’re still wondering what RDF is actually for, Ben Hammersley’s Sporting Gentleman’s Guide to the Semantic Web includes a perfect example of triples (even if it get’s a bit less obvious after that).

[... 38 words]

XML Shorthand Language

Via Keith, PXSL, the Parsimonious XML Shorthand Language provides a shorthand way of writing and maintaining XML documents. It’s based around the idea that a lot of XML formats contain more markup than actual text, thus by reversing the way the syntax is formatted and using meaningful indentation to express hierarchies markup heavy XML can be greatly simplified.

[... 70 words]

PEAR Tutorials

PHP Kitchen have compiled a list of PEAR tutorials, covering a number of useful PEAR modules. This is an especially important resource considering that PEAR’s module documentation is probably the weakest part of the project. Most modules have some documentation available in the PEAR Manual but much of this is incomplete and crucially there are no links from the package directory entries to the documentation for each package. It’s a shame because PEAR has a great deal of excellent code that many developers are completely unaware of.

[... 108 words]

Some thoughts on caching

Keith is thinking about caching. He’s drawn up a pretty interesting set of thoughts and requirements, such as support for conditional GET and fine-grained cache length control, and support for caching most of a page while leaving some small parts dynamic.

[... 206 words]

Gorilla Web Tips

D. Keith Robinson’s Gorilla Web Tips: News and Featured Content, the first in a series of columns.

[... 18 words]

Jython as a learning tool

In Jython Is Just Too Useful, Joey Gibson shows how Jython can be used to quickly demonstrate Java class libraries interactively, including using Python’s dir() builtin to inspect available methods of Java classes. I used Jython last year while learning Swing for a piece of University coursework and found that being able to interactively create and manipulate Swing components (and see them appear on the screen as I typed) sped up the learning process a great deal.

[... 79 words]

Problems with RSS

Tim Bray explains RSS to an imaginary bank manager:

[... 171 words]

More on Search

Tim Bray’s series on full-text search has got to the meaty bit: how search engines actually work, including an overview of the kind of data structures they use (presented in XML format for readability). The basics are a lot simpler than you might think. Tim has also posted some thoughts on how people actually use search, of which the most interesting point is that advanced search is hardly ever touched.

[... 222 words]

Quick testing of alt attributes

Via Web Graphics, ScriptyGoddess’ Get ALT Info bookmarklet, which displays a list of all of the images on a page along with their alt attributes; great for testing a page to make sure you haven’t missed any.

[... 50 words]

Storing trees in a database

SitePoint: Storing Hierarchical Data in a Database, by Gijs Van Tulder. The article first shows how the easy way of storing hierarchies in a database, using parent fields and a recursive PHP function to iterate up the tree. It then goes on to talk about a far more interesting alternative called “Modified Preorder Tree Traversal” where trees are first “flattened” in to a heap-like structure, then each node is stored with a pair of numbers representing that node’s position in the tree. I’d seen this somewhere before but Gijs Van Tulder’s explanation is far clearer, and comes with some good examples showing how this unconventional storage method can retrieve all of the eventual children of a node in a single query. He also talks about ways of updating the tree structure when new items are added.

[... 140 words]

Thunderbird supports extensions

I’ve been pretty unexcited by Thunderbird so far: I’m pretty picky about my mail clients (so far Evolution is the only client I’ve really liked) and Mozilla’s never really lived up to my expectiations. I’m preparing to change my mind now that Thunderbird supports extensions. Firebird’s extensive collection of extensions is one of its strongest advantages, and the idea of a mail client that can be customised in a whole bunch of different ways by adding new extensions is pretty inspiring. I might even have to try and learn to write some myself.

[... 107 words]

The Matrix Reloaded, Abridged

The Matrix Reloaded: The Abridged Script, by Rod Hilton (via teeb!). Do NOT read this if you haven’t seen the film yet; you won’t get the jokes and it’s full of spoilers. It’s the best/funniest analysis of Reloaded I’ve seen yet.

[... 49 words]

Gorgeous CSS Rollovers

I’ve been planning a follow-up to my basic link styling tutorial for over a week now, but it’s going to be a lot shorter now thanks to Al Sparber’s excellent Uberlink CSS Rollover tutorial, which covers a lot of useful concepts and ends up with a truly gorgeous looking result. Thoroughly recommended.

[... 54 words]

Easier form validation with PHP

Let’s talk about form validation. Here’s what I would class as the ideal validation system for a form in a web application:

[... 1170 words]

HTML Definition Lists

Ben Meadowcroft has a new tutorial up showing how definition lists can be used in semantic markup for lists of definitions, such as glossaries.

[... 189 words]

Gecko beats IE!

I haven’t looked at the statistics for this site in a few months. It turns out I was in for a pleasant surprise:

[... 103 words]

Eldred Act Reasoning

Lawrence Lessig explains why the proposed Eldred Act does not go further in its aims to reclaim the public domain.

[... 25 words]

IRC on your mobile

Russell Beattie has posted an enthusiastic description of a new IRC application for his mobile phone. It looks really neat, but what got me really interested was his post today about his new laptop:

[... 148 words]

Types

Years

Months

Tags