Simon Willison’s Weblog

Subscribe

Entries

Filters: Sorted by date

Generating HTML with XQuery

Generating XML and HTML using XQuery (via More Like This). I had been confusing XQuery with XPath—it turns out XQuery is a fully featured scripting language which can be used to do all kinds of things with data from XML documents. The article explains how XQuery can be used to build a web photo gallery application and compares XSLT and XQuery using a Docbook transformation example.

CD Zapping

CD Zapping: Take one CD, Microwave at full power for 5 seconds, and place on top of tesla coil. Enjoy!

Easy routing with Linux

I spent the last few days setting up a home network. I’m living in a student house with 4 other people and we recently shelled out for a 1 Mbit cable connection fron BlueYonder. I had never built a network before but neither had anyone else so the task of putting it all together fell on my shoulders.

[... 317 words]

Dictionary of Linux commands

One for the bookmarks: O’Reilly’s Alphabetical Directory of Linux Commands. 379 commands complete with a description and list of command line options. Found via an advert on the Internet Bookmobile story (and I usually never click on ads).

Lessons from the Bookmobile

I first read about the Internet Bookmobile last week on Aaron Swartz’ Weblog. Lessons from the Internet Bookmobile is a new article on the O’Reilly Network by Richard Koman, who spent the week preceeding the opening of the Supreme Court Eldred vs Ashcroft case travelling with the bookmobile as it made it’s way up from San Francisco to Washington, stopping off at schools and libraries along the way to demonstrate the importance of the public domain. The article discusses the potential effect cheap book printing technology combined with the internet and the public domain could have on schools, libraries and even commercial publishers:

[... 234 words]

Tricking browsers and hiding styles

Eric Meyer on CSS: Tricking Browsers and Hiding Styles. This bonus chapter which was not included in the book explains the various techniques that can be used to hide CSS rules from browsers, including the high pass filter and the infamous voice-model hack. Eric has also published Picking a Rendering Mode, a comprehensive guide to DOCTYPE switching and the effect it has on modern browsers.

50 XSLT tips

50 XSLT Tips. I particularly like Tip 13, whish shows how you can use a recursive template call to print things out multiple times (for example, 5 asterisks for something with a 5 star rating).

contentEditable in Mozilla

ContentEditable for Mozilla is a hot topic at the moment. The main focus of the debate is this bug on Bugzilla, which gets pretty heated. Blogzilla has a good explanation of the principles behind the disagreement, while Scott Andrew makes an excellent case for copying IE’s implementation:

[... 111 words]

Where PR flacks come from?

Dorothea Salo skillfully explains her theory of where soulless PR flacks come from.

I want this book

Dynamic HTML, 2nd edition is out (via Joel on Software). I want it.

Mozilla prefetching

The Mozilla Link Prefetching FAQ (via Blogzilla). Prefetching is a browser mechanism, which utilizes browser idle time to download or prefetch documents that the user might visit in the near future. Web page authors can turn on prefetching for their pages using a <link rel="prefetch"> or <link rel="next"> element (or the corresponding Link: headers).

[... 417 words]

Python e-mail features

Python 2.2.2 is out. It’s mostly bug fixes, but they have also included the latest version of the Python email package. I’ve been playing with Python’s email features recently as part of an experimental idea to import all of my mail (from various accounts) in to a mySQL database and build my own web mail / mail application program. Working with email in Python is beautfully simple, thanks to the aforementioned email package and the powerful pop3 and IMAP classes in the standard library.

Scam the spammers

Here’s a fun new way to waste time on the internet: Scamming Nigerian spammers. This guy has a whole bunch of entertaining email exchanges with Nigerian scam artists, but the best has to be the Cthulu themed scam. Watch the Nigerian scam artists get slowly sucked in to a world of cults, demons and unspeakable horror.

Catch-up time

Catch up time...

List o’ Links

Paul Freeman has a clever new feature on his blog: List o Links, a list of links that he wants to record without writing up a full blog entry. I’m tempted to borrow the idea (which originated with Anil Dash) but I’m slightly put off by the problem of integrating it with my existing blog archives. For the moment I think I’ll borrow Mark Pilgrim’s technique of occasionally posting “catch up” entries with a bunch of blog-worthy links.

Dave on tag soup

Dave Winer: What is Tag Soup?

[... 271 words]

Google Answers uncovered

Information for Sale: My Experience With Google Answers is a fascinating insight in to the world of Google Answers:

[... 100 words]

Wired Redesigns

Wired have redesigned, and now boast one of the snazziest CSS layouts on the web. The redesign is explained in A Site for Your Eyes, and has already drawn commentary from Jeffrey Zeldman and Mark Pilgrim (with plenty more certain to come). I think the title of Mark’s entry pretty much sums it up—this could well be the high profile redesign the web standards movement has been waiting for.

The css-discuss Wiki is now live

The css-discuss wiki has finally gone live to the public. Here’s my message to the mailing list announcing the launch.

Voostind interview

Virtual Interview: Vince Oostindie (via techno weenie). Vincent is the author of the excellent Eclipse Library for PHP and a regular on the SitePoint forums, where he frequently educates people in programming PHP using OOP methods. The interview is well worth a read if you are interested in either of these topics.

Eldred oral arguments

Lots of news on Eldred vs Ashcroft today. The best account I’ve seen so far of proceedings in the courtroom is this one by Kwindla Hultman Kramer, who has a press pass and was thus allowed to take notes in the court room. I tried to explain to a house mater yesterday why extending the copyright term is bad for creativity, but today I found this article which does a much better job than I did. Slashdot has some excellent links and a lengthy discussion as well.

Google News to RSS

Google News to RSS is brilliant. Simply type in some search terms (or append them to a query string) and the script queries Google News and returns the results formatted as RSS, allowing you to add a customised feed to your aggregator to follow interesting news stories.

Taking a leaf from Pingback’s book

Moveable Type 2.5 is out. From the changelog:

[... 51 words]

Free the mouse

On Wednesday, Laurence Lessig will take on the Supreme Court in Eldred v. Ashcroft. He will probably lose, but I sure hope he doesn’t. Last night I watched Lessig’s <free culture> keynote presentation from OSCon (made available in Flash format by Leonard Lin) with my girlfriend, and I’ve been catching up on the case with this Wired article and MSNBC’s Glitterati vs Geeks. Lessig’s blog has some interesting links as well.

Eric has permalinks

Eric Meyer now has permalinks! Now if he would only start pinging weblogs.com when he updated I (and many others) could add him to their blo.gs-powered blogroll.

[... 189 words]

Sensible URLs with PHP

Brent Simmon’s Law of CMS URLs:

[... 187 words]

.NET saves Boy!

.NET Saves Boy Down Well (via Sam Ruby):

[... 97 words]

Sam Ruby joins up

Sam Ruby has pingback. Ping!

Sidekick suck

Leonard Lin has a new HipTop—a hand-held wireless device for browsing the internet. His description of how well different sites work in the device makes for depressing reading. Blogs constructed with CSS and web standards in mind frequently fair worse than less well structured sites—it seems that rather than ignoring the CSS as it should do the device’s browser attempts to render it and mangles sites in the process. Anil Dash has an excellent summary of why this is a Bad Thing(TM) for all involved.

Term languages

These notes are from a Computation III lecture on 2nd October 2002.

[... 986 words]