Simon Willison’s Weblog

Subscribe
Atom feed

Entries

Filters: Sorted by date

LugRadio Live

The guys over at LugRadio (nice new site, see Stuart’s blog for gnarly implementation details) have announced the details of their long hinted-at Linux event, LugRadio Live. I’m pretty excited about it; word on the grape vine is that they’re booking some really cool speakers, but they’re completely committed to keeping a grassroots feel to things. The 15 minute lightning talks should be a lot of fun (I’ve tentatively offered one on Firefox extensions) and it sounds like the atmosphere will reflect that of the show—irreverent, fun and with a trip to the pub afterwards.

[... 128 words]

Google cruft

New Google feature: Google Movies. Displays aggregated movie reviews (like Rotten Tomatoes), looks up local movie times based on your zip code saved in Google Local (more evidence of the fabled Google cookie), and even handles recommendations.

[... 120 words]

Do Content Management Systems really work?

Have you considered trying a Wiki? In my experience, the more permissions / workflow / etc you have in a CMS the more likely it is that people won’t use it. Wikis may be a little unconventional but the barrier to entry is fantastically low and they can work extremely well (I like MediaWiki or TaviWiki myself).

[... 143 words]

Google Maps and XSL

I’ll probably write more on this later, but it seems that Google Maps is using XSL. I spotted it loading the following pages while sniffing its activity with LiveHTTPHeaders:

[... 174 words]

Don’t build web apps that only work in IE

This is a rant, for which I will make no apologies. The wonderful thing about web applications is that they free you from being tied down to a specific platform. A well written web application is accessible from any platform that can run a web browser. Netscape and Microsoft both realised this back in the mid-90s, which is why Microsoft pulled out all the stops in winning the browser wars; they knew that the browser as an open application platform was a direct threat to their Windows lock-in. It’s not inconceivable to argue that this was the main reason they added so many weird little proprietary DHTML extensions to IE in the following years—and it’s those that are the root of the problem.

[... 311 words]

New eclipse downloads page

Back in November I had a bit of a whinge about how hard it was to find the right file on the Eclipse download page. The Eclipse project have unveiled a prototype of a new, friendlier page and it’s an enormous improvement, thanks mainly to the invaluable new “Looking for Eclipse?” box:

[... 95 words]

rel=“nofollow”

Reading between the lines (which in this case isn’t particularly hard), this and this (don’t forget to view source) suggest that Google are soon to announce that they won’t be calculating PageRank for links with a rel="nofollow" attribute. Finally, an official way of fighting the economics of comment spam by denying PageRank on user-submitted link content. Sam Ruby points to Mark Pilgrim’s prediction that spammers won’t care—they’ll spam anyway, on the offchance that they hit somewhere undefended. I’m optimistic—if the major weblog (and wiki) vendors get behind this one it could help stem the tide.

[... 133 words]

I need a new backpack

I’m a big fan of eBags.com for this kind of thing, because it lets you pick the model of your laptop and then tells you which bags it will fit in. I bought a bag from there last year and the e-commerce / delivery side of things was flawless.

[... 62 words]

Fixing MSDN with Greasemonkey

Site specific browser customisations have been a a recurring theme on this site over the past six months. Thanks to the ever inventive Aaron Boodman that problem is pretty much solved. Greasemonkey is a plugin for Firefox that lets you create user site customisation scripts (.script.js), easily install them in Firefox and then set which sites they should be run on. Michael Moncur has a handy tutorial on getting started.

[... 318 words]

map.search.ch

Forget about Google Suggest; if you want to see some really impressive dynamic web content go and have a play with map.search.ch. It uses XMLHttpRequest and a bunch of other tricks to let you smoothly pan and zoom over an enormous and detailed map of Switzerland, based on satelite photos (so you can zoom right in to individual streets and see the houses). Even better, it supports hackable URLs letting you link directly to cities or even street addresses.

[... 166 words]

Some notes on Wikipedia

I’ve been driving myself crazy with coursework over the past couple of weeks, and since it’s always good to have something to take your mind off things I’ve also been spending a fair amount of time lurking around the beautiful Wikipedia. Here are a few things about Wikipedia you may have missed:

[... 509 words]

A quote

From What’s next for Google, by Charles H. Ferguson.

[... 92 words]

Google Print

I’m probably late to the party on this one, but I just noticed that Google Print results are now included in any Google search that starts with “books on”. I can’t say I like the lousy discoverability of the interface much—a search box at print.google.com would be a welcome addition—but the results are pretty impressive. It’s also a shame that they’re using a nasty obfuscation technique to disable copying and printing (based on serving book pages up as background images), if only because it will fuel yet more questions from newbie web developers asking how to do exactly that. Still, with today’s announcement that Google are to team up with five leading libraries to scan more books this service is going to get a whole lot more important over the next few years.

Casting out getters and setters

Python Is Not Java by Phillip J. Eby (via Ned) is the most useful article on programming I’ve read in ages. If you have any interest at all in either language, go and read it. It’s all good, but the part that really struck a nerve for me was this:

[... 221 words]

Blogmarks on del.icio.us

I’m horribly ill again: having defeated the mumps I now seem to have come down with some kind of ’flu thing. Lovely. In between whinging about my state of health and watching episodes of Frasier I’ve been playing with del.icio.us as part of my research in to web annotation. The connection between the two isn’t particularly strong but it’s clear that something very exciting is happening over there.

[... 276 words]

Eclipse download hell

One of the many thing the Mozilla/Firefox team have got right is the fantastic ease with which the application can be downloaded. Visitors to www.mozilla.org are greeted with a nice big “Free Download” link, aimed straight at the version for their (automatically detected) operating system hosted on a mirror geographically close to their IP address. It’s hard to think of any way they could improve on this.

[... 527 words]

No EU Software Patents

It would be nice if someone with some serious design credentials would knock up some more aesthetically pleasing banners.

[... 119 words]

The Register hit by XSS

Here’s a nasty one: popular tech news site The Register was hit on Saturday by the Bofra exploit, a nasty worm which uses an iframe vulnerability in (you guessed it) Internet Explorer to install nasty things on the victim’s PC. Where it gets interesting is that the attack wasn’t against the Register themselves; it came through their third party ad serving company, Falk AG.

[... 262 words]

Mumps!

I’ve become yet another statistic in the Bath Mumps epidemic of 2004. I’m quarantined until next Monday, and this afternoon we had a camera crew from ITV West come round to film some doom-and-gloom footage warning students to get vaccinated. Amusingly the camera man hadn’t had Mumps and took suitable precautions to avoid infection. I’m told that the piece will go out on ITV news for the south west at 6pm this evening.

Usability blunders

I stumbled across this today and thought it was just too good not to share.

[... 62 words]

Open source license help needed

Every now and then, I get an e-mail asking me to clarify the license associated with code that I’ve posted on this site, such as my date parsing script. I’m looking for an open source license that I can start slapping on things to ensure people that they can use it for whatever they want, but wading through the list of licenses is no fun at all. Here are the features I’m looking for:

[... 294 words]

Let a thousand conspiracy theories bloom

I’m about to hit the sack, but current indications are that Bush has won Ohio by a couple of percentage points and thus has been re-elected as President of the United States.

[... 122 words]

Election endorsements

My ex-colleague Jacob Kaplan-Moss has put together a fantastic site listing the presidential endorsements published by American newspapers in the run up to the election. I was looking for something like this just the other day so it was great to find the answer so close to home. I was depressed but not at all surprised to see my former employer endorse Bush, but it’s interesting to see that of the four Kansan papers listed two endorsed Kerry, despite that state’s huge Republican majority.

Keeping up appearances

Wow, I think this is the longest gap in my blogging since I started! I wish I could say I’ve been enjoying the sunshine or taking up a new hobby, but the truth is that the weather’s been horrible and I’ve just been run off my feet readjusting to life in England and at University.

[... 222 words]

Back in England

And I’m back.

[... 80 words]

Running Pydoc under mod_python

I’ve written about pydoc before. In my opinion it’s one of Python’s best kept secrets: a way of instantly browsing the properties, methods and documentation strings of any module available to the Python environment. It can even run a local HTTP server to allow for easy browsing of available documentation.

[... 372 words]

Python2.4 highlights

A.M. Kuchling’s “What’s New in Python X” documents are always a treat, and his guide to the forthcoming Python 2.4 is no exception. Among other things, 2.4 elevates sets to built in type status, dramatically improves the usability of Python’s list sort method (for easier application of DSU, aka the Schwartzian transform), makes reverse iteration easier and introduces an alternative string substitution method.

[... 231 words]

Matching newlines in JavaScript

Just a quick note: the . character in a JavaScript regular expression will never match a newline character. If you want to match any character including newlines you can use the [\s\S] character class instead, which means “any character that’s either whitespace or not whitespace”.

[... 86 words]

Browser innovation is alive and well

Here’s a feature that caught me by surprise (maybe I haven’t been keeping my ear close enough to the ground): the new Firefox 1.0 preview release supports Live Bookmarks, a novel twist on RSS aggregators where feeds look just like bookmark folders, displaying a list of bookmarks corresponding to the headlines from the feed. Best of all, the feature support RSS autodiscovery. Sites with auto-discoverable feeds display an attractive RSS icon on the right hand side of the status bar, allowing for one click subscriptions.

[... 230 words]

Command line blacklisting

Just over a year ago, I started blacklisting domain names from links featured in comment spam. My idea then was that these blacklists could become a shared resource: people would publish their own blacklist and subscribe to those of people they trust, thus making it much harder for spammers to operate. While the sheer volume of spam domains meant that the technique was much less useful than I originally anticipated, I’ve continued to maintain my blacklist ever since as a preventative measure against repeat spammers.

[... 721 words]