Simon Willison’s Weblog


Tuesday, 17th June 2003

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]

Origin of “list comprehension”

Via Jarno Virtanen, a comp.lang.python post explaining the origin of the term “list comprehension”, Python’s clever alternative syntax for filtering lists (see this chapter of Dive Into Python). The term comes from set theory; it’s nice to know that stuff was worth learning after all ;)

[... 64 words]

Python generators for database result sets

I’ve read several articles on Python generators now, and I had almost got my head around them, but then I read this: Iterators and Databases by Andy Todd, which demonstrates a simple but intuitive way of using generators to iterate through rows from a database query without having to load all of the rows in to a list in memory first. Brilliant.

[... 165 words]

2003 » June