2002

2002-https://simonwillison.net/2002/

Simon Willison’s Weblog
Subscribe
Archive for 2002
python
pingback
html
php
xml-rpc
adrian-holovaty
xfml
css
ixr
hixie
rss
xml
brent-ashley
joe-clark
facets
amazon
linux
tables
java
soap
ajax
apis
asf
c
fonts
ibm
ie6
jsp
pdf
June – 107 entries
WaSP Phase II
Blogging aint easy
Todo list
Netscape 4 is 5 years old
Webdesign-L ablaze!
Day 3: Bill
Charity and Amazon
Tree from unordered list
Mozilla alpha
Hixie on WaSP
Hixie replies
More FuzzyBlog stuff
Hixie replies again
I validate again
Zend Engine 2 alpha
Sex tips for Geeks
Day 4: Lillian
Blog added to the OED
Meta weblog API
Mark explains all
CSS panic guide
Uni year ends
Google already
Meg on blogging
Python iterators
Learning from smart tags
Pure CSS popups
User Agent list
JSRS 2.1 released
The nature of blogging
Anil Dash does Amazon
Has Paul finished?
Meetup Launches
Meg replies
Fixed validation again
My first XHTML mind bomb
Jonathan on Mark
University of Blogaria
Excited about XWT
Elm0 suggests libxml
Micah’s alternative Yahoo
Blog fixed
Styling <hr>
Day 6: Doctypes
AllTheWeb claims
Open source economics
Amazon with CSS
Mark replies
Minimal XML
Knowledge Management
Email interfaces
Suicidal chipmunk
PHP Documentor
Javascript select boxes
Language tag
XHTML list
Python and the space shuttle
Why software sucks
NPR link muppets
Andrei interview
Advogato rant
djc on Kuro5hin
Free books
Day 8: page titles
Slashdot threads
SitePoint graphic design resources
XFML
OOP and XP
Apple rant
Mozilla versions
RSS XML stylesheet
Additional navigational links
Next-Prev implemented
Amazon’s hairy feet
Presenting your content first
Dave’s back
NPR again
Building a semantic website
VillainSupply.com
Two things about Mozilla
Comments added
The Pickle Jar theory
Glastonbury Flash
Mozilla page info
Skipping over navigation
Some Python advocacy
PHP string tip
Installing PHP and XSL on Windows
An IA process
Dot leaders in CSS
Writing IM Bots
Paul back soon
Kuro5hin on AudioGalaxy
Using colour safely
SitePoint CSS guide
Oh ffs…
Semant-O-Matic
The 5k
XML in Mozilla
EuroPython starts
Slashdot on XWT
PHP auto class inclusion
Use real links
Cetus links
Enterprise Application Architecture
Warchalking
Gone to Glastonbury
July – 162 entries
Back from Glastonbury
Hixie goes open source
How Wolfenstein 5k works
TrackBack
Arial and Helvetica
PHP form problem
More tips from Mark
I want this book
More on TrackBack
Guardian blogroll
ThinkGeek soap
WGET tip
Banging headache
Message Catalog definition
Digital Web magazine
Lego stuff
XML request object
Alternative validator icons
New Mozilla rendering mode
Google interview
Spam proof email
Accessible tables
Palladium
K-Logging
Blog update alerts
Useful CSS links
Home improvements
Blog tracking solution
Funky popups
More Python advocacy
Rasmus Lerdorf’s blog
Hixie BSc
Opera and Macromedia
Stupid Danish newspapers
Final table tip
<strong> and <em>
Kevin Burton
More on deep linking
elgooG
Janis Ian
Better blogrolling
More on blo.gs
More blogroll fun
Interesting suggestion
Mozilla sidebar added
The Two Way Web
Paper Scissors Stone
Google OR
Using web widgets wisely
Ooh Muse.net
Zeldman on accessibility
Language independant storage
Why workflow?
New bookmarklet
Sites bow to IE
XML-RPC debugging
Using SCP
Webdocs.org
Mozilla oddity
CherryPy
PHP XML Classes
Open source CMS list
Logoed
Accessible lists
Rounded corners in CSS
Alt all the way
xmlhack news wire
The semantic web explained
CSS numbered code listings
First Church of Pac-Man
A million pounds down the drain
More Connected Earth
Image map accessibility
Lovely PNGs
Bad faith my arse
DVB-HTML
Busy day
Blog birthday
Blogroll etiquette
Smarty at OSCON
Jonathan on longdesc
Maccaws
Wiki fun
An excellent rant
Less is more
Mozilla web author FAQ
Maybe splash screens have a purpose
Which power puff girl is your blog?
MySQL best practise
XML fun
Fifty two projects
Python in PHP
Accessible fonts
Via Blogzilla…
Blogchat rocks
You can’t win
Pretty link on Kottke
“Erect me a great golden pyramid”
EyeDropper
XHTML nested lists
Heated discussion
Fun with the link tag
More CSS demos
Accessible headers
Dashes and hyphens
CSS could be so much more
Goodbye to BurningBird
Amazon web services
Fun with Amazon
Amazon search updated
Addition to the blogroll
Flash: Leave my text alone!
Pimping opportunity
Positioning tips
I think I need more categories
Catch up time
Ogg Vorbis
New PHP vulnerability
CSS books galore
Dive into accessibility
Floats clarified
PythonCard and PyCrust
Using XML
Lycos tip the balance
Useful tips from Craig Saila
IBM accessibility center
Swannie’s blog
Evil but sometimes unavoidable
Excite UK now powered by AllTheWeb
Apple HCI guidelines
Browser testing tip
Random links with Google
PHP object overloading
Instant PHP Web Services
Windows SSL support in Python
TMs
Another rubbish site
How browsers load images
Blog Hot or Not
Admirably prompt response from KPMG
Warp factor PHP
Here comes another meme
Google and the semantic web
Browser specifications
Stanford guidelines
DMOZ for Bath
Syndicating the ODP
Facets understood
The mind of God
FacetMaps
Another free Python book
XHTML ODP attribution
Back to normal at diveintomark
XHTML 1.1 Woes
Funky stuff coming soon
Multi-lingual PHP
Tabs are not MDI
aqTree2
Reasons not to use Access
The CSS bug ring
My shortest entry ever
Students and the web
August – 88 entries
CSS selectors tutorial
Styles of blogging
MySQL text limits
LUMS in CSS
Ooooooooooh
I know I’m bloody well subscribed
CETIS
Real World Style
Don’t expect to hear much from me for a while
Using CVS
W3C recommendations explained
Ooh a mystery…
The Register and browser share
Working on some cool new stuff
First impressions
Stuart gets slashdotted
Impressive CSS
So it does have a use after all
XHTML 2
Top IRC quotes
More on XHTML
More CSS
XHTML 2 demonstrated
Funky stuff for css-discuss
Smarty 2.30
PHP strings tip
Yup this site is for real
Mike Pletch to Column Two
Offline until Sunday
Benefits of XHTML
One for Paul
dChat released
Archivist goes live
Zeldman interview
Optimising Javascript
Tidakada
SitePoint CSS experiment
Controlled vocabularies
Bulletin board spam
Alchemist contest
Q tag bad
PHP and ID3 tags
Thanks for the link
Fun with FOLDOC
CSS Trickery
Hacking Las Vegas
More mailing list etiquette
Patented IMBots
PHP numbered code listings
Today’s required reading
css-discuss rocks
Zeldman played by a stand up comic
Python RSS locator
New memes make Baby Jesus cry
Magic quotes solution
Comments improvement
Fiendish markup quiz
A plan for spam
Why Scott doesn’t read your blog
Tips for working from home
PHP immune to SQL injection attacks
Working on my blog
CSS image rollovers
Today’s pleasant surprise
Netscape Google?
The Lessig debate
Off down to Exeter
Back from Reading
DevShed stuff
Mozilla pie menus
Marquee in Mozilla
Opera 7, coming soon
DOM-Drag
Sanity
Zeldman gems
Trackback roundup
Phil says goodbye to the popups
Some stuff
More stuff
RDF is dead
External link icons in CSS
How the wayback machine works
ICANN schmicann
PHP generated PDFs
Semantic web 1-2-3
Vim guide
File naming conventions
30 days to becoming an Opera Lover
September – 107 entries
A better trackback
Font size bookmarklet
Joel on platforms
Templating with Smarty
PHP XML-RPC
Grabbing web pages with Perl and PHP
Yay for <links>
A new XML-RPC library for PHP
Testing pingback
Pingback implemented
More on Pingback
Useful XML-RPC links
And then there were eight
Feedback
Two Towers not available
JellyBath
The missing docs
Mime type list
Beta feeds from the Beeb
Even more XML-RPC
Short guide to digital photography
Fixing IE6
Top of the crops
The css-discuss Wiki
New IXR soon
Browser based rich text editing
Pingback specification
New version of IXR
Two new web services
Voostind on open source libraries
IXR forum
geoIP
Pingback test
Leonard’s Mozilla links
Google cooking
Why Scott needs Mozilla
Mark blogs RSS
Javascript Google highlighting
Python RSS tutorials
Hehe RSS3
Pingback server code
Solution to the timezone problem
Excellent RSS tutorial
New Hosting
Hixie on XHTML
Thrown the switch
Pocket Stuff
Labels.js
Composite for Mozilla
Pingback spec
Testing Pingback client
RSS feeds coming soon
Disable CSS bookmarklet
Remind me why people still use IE
MySQLFront vanishes
effnews part two
Flash applications
RSS 1.0 feed now available
New form of spam protection
Wining and Dining
More link muppets
Randal Rust on accessibility
Surfing the apocalypse
The float label bug
The RDF in RSS
Zeldman on Caesar’s palace?
Arouse your PC
Another excellent blog
More thoughs on Flash editors
Fun with Unicode
Mozilla web-sniffer
mod_python donated to the ASF
Java GUI Builder
Pingback supported again
Mozilla 1.2 alpha
No updates for a while
Returning
Computational complexity
RSS2 modules
Maths for Apps lecture 1
Blogging my lecture notes
How the RIAA was hacked
How to install Mozilla on Bath University PCs
Pingback 1.0
Bath University web guidelines
Pingback coverage
Dot.com contrasts
ESF
Fluid thinking
Formal systems
String rewriting systems
Deng – HTML rendering in Flash
More lecture notes
Functional programming
Usability and interface design
XFML 1.0 soon
Peter Gabriel
CSS in the real world
Taming lists
Utter muppets
XML transformations with CSS and the DOM
Pingback and Trackback
Maths for apps problems class
Aquarionics backups
Managing data
Languages and grammars
Basic Lisp
October – 82 entries
Gauss Jordan Elimination
Applications
MySQL on Linux or FreeBSD?
Googledumping
Newspaper sites and the link element
Write on
RDF query-o-matic
Googlebad
EuLisp
Lisp special forms
Term languages
Sidekick suck
Sam Ruby joins up
.NET saves Boy!
Sensible URLs with PHP
Eric has permalinks
Free the mouse
Taking a leaf from Pingback’s book
Google News to RSS
Eldred oral arguments
Voostind interview
The css-discuss Wiki is now live
Wired Redesigns
Google Answers uncovered
Dave on tag soup
List o’ Links
Catch-up time
Scam the spammers
Python e-mail features
Mozilla prefetching
I want this book
Where PR flacks come from?
contentEditable in Mozilla
50 XSLT tips
Tricking browsers and hiding styles
Lessons from the Bookmobile
Dictionary of Linux commands
Easy routing with Linux
CD Zapping
Generating HTML with XQuery
Terminal Services vs WinVNC
Useful LRP links
Advanced PHP resources
More CSS layouts
Opera small screen rendering
Qube
Validation on the fly
Blogrolled
Scary
RSS validator
Mozilla small screen rendering
Lots of iCal links
CSS short hand
The Web Style Guide
Office goes XML
Uzilla
Tweaking sites for readability
Micropayments on the way
Short sighted management
Googlism
PythonCard scriptlets
Shiny
Tidakada redesign
Comment spammers
Validator web service please
Cache-22
Apple Internet Developer
W3C validator web service
PHP at Yahoo
Software Engineering practises for PHP
Cashets
Realistic internet simulator
Validator warning
Comment spam and game theory
ebook rants
Disadvantages of TMTOWTDI
Trade by Bumbers
CSS roundup
RSS validator uses my CSS
Pull quotes and page titles
Linux Gazette Python articles
Phoenix usurps Mozilla
November – 85 entries
Doc’s thoughts on Linux Lunacy
JSP bits and pieces
Button games
Excellent introduction to XSLT
Sexy DHTML
Joe Gillespie does CSS
Inline XML
The semantic web explained
OperaShow
Zend re-design… terrible!
Blogroll with a twist
Partner as a case study
Asilomar Institute
Funky new use for CSS backgrounds
Hide Mozilla Flash ads
CMS roundup
IA has arrived
aqTree 3
Validating weblog entries
Javascript XML parser
Web services in action
URLs matter
Content to code ratio
Object persistence
Clean URLs
At frigging last
Dspace
Standards compliant Flash
The case against
PHP4 and Apache 2 on Windows
PHP tips and tricks from Rasmus
More geek books
Macromedia Contribute
Leaky abstractions
DOM inspector tutorial
Patterns for web sites
Opera 7 Beta
More Opera 7 links
K-Logging pilot
Blogspace census
Open source web editing
High end CMS vendors in trouble
Funky caching explained
Usability Views
Douglas Bowman goes it alone
Structured procrastination
Microsoft will be around for a very long time…
A royalty free web
OmniWeb CSS hack
Condiment Clothing goodness
A plea for sense
Content inventory tips
Syndicated further reading recommendations
Different browsers different DOMs
Search engines don’t care!
Changing backgrounds
Mark’s tinkerings
Interesting but ultimately useless
Aquari-gone-ics
RESTLog
Mimeo
Information wants to be free
Get the look
Polluting the web
phpPatterns
OWASP Security guide
Taxomita
Syndicating blogs with XHTML
CSS filter guide
Validator documentation
Nervous
Coursework coursework…
PHP training update
Python as middleware
Syndication is not publication
XFML for Radio
OSAF hire Robin Dunn
Conversation with Martin Fowler
rel=”bookmark”
Blogdex spammed
PostgreSQL 7.3
The evolution of PHP
Why computer books suck
XML security on SitePoint
This year’s Demotivators
December – 44 entries
Perl advent calendar 2002
No updates for a while
Taking a break
Coursework complete
Mark goes XFML
Remembering passwords
YAML
Java interfaces explained
Vampire ecologies
Prolog links
The best 404 page ever
DHTML article deconstructed
W3C redesign
PHP for the enterprise
Phoenix 0.5 and mouse gestures
The perils of semantic markup
One time URLs with PHP
Striking the 1976 act
Generics in java
Personal web proxies
Why MSN Messenger sucks
Opera usability problems
Coursework frenzy again
Lambda calculus links
A new source of rants
Google roundup
Trade it on Trodo
Lots to learn
Interview with Tim Perdue
Joe Clark interviews
Clearing a select box
Creative commons launch
Coursework complete
Stuart on plays
Creative Commons copyright link
Tantek’s markup challenge
Hotbot redesign
Conversations with Joe Clark
Gracefully degrading
Usability.net rant
Blockquote citations
Security and coding style
Debugging HTTP headers
Smarter exceptions
2002 / 2003 / 2004 / 2005 / 2006 / 2007 / 2008 / 2009 / 2010 / 2011 / 2012 / 2013 / 2014 / 2015 / 2016 / 2017 / 2018 / 2019 / 2020 / 2021 / 2022 / 2023 / 2024 / 2025

Colophon © 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025