soft-shell crabvietnam crab exporter

Simon Willison’s Weblog

Newsletter
Atom feed

Entries

Filters: Sorted by date

They Work For You

Today is/was (you never can tell with these wretched time zone differences) NotCon 2004, London’s premiere low-cost, informal, one-day technology conference. Friday’s MiniNTK promised the unveiling of a new project from the people behind FaxYourMP and PublicWhip and sure enough, here it is: TheyWorkForYou.com.

[... 210 words]

Wikipedia enhancements

I don’t know when it happened, but Wikipedia has a stylish new design in mostly valid XHTML 1.0 Transitional (the front page validates, some of the inside pages do not) with a CSS layout to boot. They even have an option to turn off the single layout table used on their home page. The site seems much easier to navigate now and the organisation of the front page is a masterpiece of information architecture. When you’ve got over 250,000 articles just in the English version providing a useful home page is going to be a challenge, but Wikipedia pulls it off with aplomb.

[... 220 words]

A few more thoughts on plinks

From the comments on my plinks entry, it seems some people are seeing ugly green hash marks all over the place. If that includes you, you need to force-reload my stylesheet to ensure you are getting the copy with the plink hiding styles.

[... 444 words]

plinks—a purple numbers variant

Via Tim Bray, I came across the concept of Purple Numbers. In a nutshell these are permalinks attached to every paragraph on a page which, to paraphrase Tim, make every paragraph on a page a first-class Web citizen.

[... 1,213 words]

Time to fix those broken pages

I have a whole bunch of gripes about Internet Explorer, but my personal favourite is the way it will render a document served with a text/plain Content-Type header if it thinks the file might contain HTML. The direct result of this is that people with misconfigured web servers who are serving their HTML with the wrong Content-Type frequently don’t realise, so when users of better behaved browsers such as FireFox visit they get hit in the face with a page of raw source code.

[... 307 words]

Executing JavaScript on page load

Peter-Paul Koch recently wrote:

[... 772 words]

TBL on TLDs

Tim Berners Lee (how many TLA celebrities is that now?): New Top Level Domains Considered Harmful. Read the whole thing—Tim blows the .xxx and .mobi proposals out of the water and takes a neat swipe at for-profit registrars in the process. Reading this, the main thing that struck me is how incredibly forward thinking TBL really is. People complain about the long duration of W3C processes and the futuristic nature of the semantic web but the W3C are trying to build technologies that will still be relevant ten or twenty years from now. When you consider the longevity of TCP/IP, this is a really smart strategy. It’s a shame so many people involved with the web have trouble thinking past the next few months.

Domain Keys Explained

Via Jeremy Zawodny,, Yahoo’s Anti-Spam Resource Center have published an explanation of their proposed Domain Keys spam fighting technique. At first glance it looks very promising. There’s no centralised authority, no requirements for changes to existing protocols and the central concept is extremely easy to understand. Essentially, mail servers generate a public/private key pair and sign outgoing messages with the private key, while publishing the public key as part of their DNS record. Because only they can publish to their public key in this way the signature can be used to confirm that the sender of the email has not been spoofed. The presence or lack of a signature can be used as part of the process of identifying spam.

[... 155 words]

Atom discussion minutes

The minutes from the Atom/W3C discussion in New York have been posted online. Unfortunately the default formatting is pretty difficult to follow. I found it a lot easier to figure out who was saying what after applying the following CSS (using the test styles bookmarklet):

[... 81 words]

Defending against the OS X help: vulnerability

There’s a nasty OS X vulnerability under discussion at the moment which lets a web page execute code on your machine by taking advantage of a flaw in the “help:” protocol. There’s a non-malicious demonstration of the exploit on this page, and Jay Allen is hosting a discussion on the exploit and ways to avoid it.

[... 253 words]

Supplemental Results

Does anyone know what Google means when it says that something is a “Supplemental Result”?

Simple mini-languages with PHP

I linked to PDML the other day in my blogmarks, but beyond a cursory glance I hadn’t really dug in to what makes it tick. Dumky over at Curiosity is bliss points out that it makes use of an ingenious output buffering trick. To create a PDML document, you add a single line to the top of a page that includes and executes the PDML library (written in PHP). The rest of the document is written in the custom PDML markup language. The script uses output buffering to capture the rest of the page, then executes a callback function that actually processes the page content (see ob_start() for details).

[... 195 words]

W3C Internationalisation Guidelines

Via Phil Ringnalda, the W3C have published three useful articles on HTML internationalisation techniques. In classic W3C style, the boilerplate and verbiage at the start of the documents threatens to overwhelm the actual content. Here’s a tip: jump straight to chapter 2, which is normally where the interesting stuff starts. Here are the ammended links:

Google approved PageRank stripping

Blogger are now using the redirect-without-PageRank technique to protect their hosted blogs against comment spam (also used by Moveable Type). At the risk of sounding incredibly pleased with myself (which I am), that was my idea! Sweet.

[... 213 words]

Switch statements in Python

Python doesn’t support a native switch statement. I’ve found myself using the following coding idiom instead recently which seems to work pretty well:

[... 114 words]

What makes a geek?

Meri has a great post up entitled Because We Are Geeks, which highlights the differences between geeks and the rest of the world and asks if geeks are really suited to designing and marketing products for non-geeks.

[... 148 words]

Don’t make me lie to you

So what’s the deal with this?

[... 194 words]

CSS History

John Allsopp: Message To The Messengers—Props to the old school:

[... 151 words]

Staying valid

Andrei Herasimchuk:

[... 290 words]

Google, circa 1998

Thanks to the ever impressive Internet Archive (did you know they host old public information films as well?) here’s Google’s homepage from 1998. Their searchable index was slightly less than 25 million pages, their hardware was less than a dozen machines apparently held together with lego and their crawler was called BackRub. Following the links will take you to Sergey and Larry’s homepages, where digging a little deeper will even uncover the now infamous Sergey-in-drag photo.

[... 204 words]

CSS-Discuss Wiki Spam

The css-discuss wiki has pretty much looked after itself since its inception a year and a half ago, thanks to a small but active community of wiki gardeners. Unfortunately, recent months have seen a rise in the amount of SEO spam hitting the site. Spam gets deleted pretty quickly, but there’s always room for more help to provide a faster turnaround. If you run an aggregator and don’t mind spending a minute or so a day tending the wiki you can sign up for the RecentChanges RSS feed and help check over new changes as and when they are made. Your assistance will be greatly appreciated.

Curious Javascript in .NET

I’ve never had the opportunity nor the inclination to do anything with .NET; at work we use open source tools for all of our web development, and I prefer open source tools for my own personal experiments as well. At any rate, the javascript:__doPostBack links I’ve seen on .NET powered sites such as Channel 9 and Orkut plain give me the willies.

[... 213 words]

Kansas City web developer meetup

The last one was fun, so we’re having another. This time we’re shooting for Thursday April 29th at around 8pm, probably at a venue in Kansas City. If you’re interested in coming along drop a note to myself or Adrian and we’ll add you to the impromptu mailing list.

Mozilla 1.7 RC 1

There are some interesting tid-bits hidden away in the release notes for the new Mozilla 1.7 RC 1 release. The following in particular caught my eye:

[... 196 words]

Python in Mathematics

Python in the Mathematics Curriculum by Kirby Urner is something of a sprawling masterpiece. It really comes in four parts: the first is a history of computer science in education, the second an appraisal of the impact of open source on education and the world at last, the third a dive in to the things that make Python so suitable for enhancing the mathematics curriculum and the fourth a discussion of how computer science and traditional mathematics are likely to play off against each other in the field of high school education.

[... 319 words]

Fixing sequence problems in PostgreSQL

This one’s mainly for my own future reference. The following error message in PostgreSQL:

[... 77 words]

Slashdot Humour

Spotted in a thread about a newly discovered TCP/IP vulnerability:

[... 63 words]

AntiRSI for OS X

OK, so I have to admit I gave up on WorkRave after about two weeks—it got on my nerves. Onne Gorter just dropped me an email about his free AntiRSI program for OS X and I’ve decided to give it a go. It draws a pretty icon in the Dock with a live updated timer for how long until your next rest break, and the source code is freely available. Let’s see if this one lasts longer than WorkRave did.

Bookmarklet request

Anyone know if it would be possible to create a bookmarklet that emulates an EyeDropper style application: as you move it around the page it shows you the hex colour code for the pixel directly under the mouse pointer? I’m pretty sure it can’t be done but I’d love to be proved wrong.

McGraw Hill sold me out

Like everyone else on the internet, I get a fair amount of spam. I tend to keep my main work as clean as possible, while skipping over the spam in my lower-traffic personal account and cleaning it up every week or so.

[... 587 words]