Simon Willison’s Weblog

Subscribe

January 2008

Jan. 17, 2008

.aspx considered harmful. Jon Udell: “I guess I’m extra-sensitive to the .aspx thing now that I work for Microsoft, because I know that to folks outside the Microsoft ecosystem it screams: We don’t get the web.”—he goes on to mention that smart URL rewriting is thankfully built in to the upcoming ASP.NET MVC framework.

# 6:01 pm / urls, aspx, jon-udell, microsoft, aspnet, mvc

Oh, and before anyone jumps on me about this not being "full" (meaning bi-directional) OpenID support, I'm quite aware of that. Consuming OpenID is a different beast that can't happen overnight. Give it some time. I'm optimistic that we'll get there.

Jeremy Zawodny

# 7:05 pm / openid, yahoo, jeremy-zawodny

Canon EOS Beginners’ FAQ. A really good, detailed FAQ; I just picked up a Canon EOS 400D (aka Digital Rebel XTi) and I’m figuring out what I can do with it. It looks like I’ll need something better than the kit lens for wildlife photography.

# 7:59 pm / photography, canon, faq, eos, eos400d, digitalrebelxti

Jan. 18, 2008

Yahoo!'s provider implementation only supports consumers that talk the Auth 2.0 protocol. Technically the 2.0 spec allows providers to shun 1.1, but it's not recommended for the reason that I'm sure will become obvious once Yahoo! launches: there's no way for your average end-user to distinguish between a 1.1 and a 2.0 implementation.

Martin Atkins

# 7 am / yahoo, openid, martinatkins, livejournal, openid2

New feature: Blogger as OpenID provider (via) You can now enable your Blogger blog as an OpenID.

# 1:38 pm / blogger, openid, google

Django Developer Jobs. Just an observation: the Django job market is booming at the moment, with 16 new job ads posted so far this year (that’s nearly one a day). If you want to be paid money to develop in Django there’s never been a better time.

# 3:51 pm / python, jobs, django

The thing that disrupts you is always uglier and worse in some way. Less features, less developed. But if there's a 10X price win in there somewhere, the cheap rickety thing wins in the end.

Rich Skrenta

# 10:59 pm / disruption, open-source, richskrenta

FixMySpine. JP muses over what would happen if huge government IT contracts were handed to small, agile teams like MySociety instead of gargantuan IT consultancies. I’ve often wondered the same thing.

# 11:25 pm / jpstacey, fixmystreet, fixmyspine, government, consultancies, it, mysociety

Jan. 19, 2008

Flickr Place IDs. flickr.places.find, flickr.places.resolvePlaceURL and flickr.places.resolvePlaceID combine to provide a really useful, lightweight not-quite-a-geocoder API. It’s a shame you can’t search for places by providing a latitude/longitude point yet.

# 7:34 am / flickrplaces, flickr, api, geocoding, geo

Full Page Zoom Is For Sissies. Ryan points out that sizing everything in ems, while neat, imposes a pretty hefty maintenance cost and is rapidly becoming unnecessary thanks to the page zoom feature in IE 7, Opera and Firefox 3.0.

# 7:36 am / firefox3, fullpagezoom, ems, css, ryan-tomayko, ie7, opera

Yahoo! OpenIDs are the same for all RPs. I had assumed that Yahoo! would be using directed identity to provide a different OpenID for each user/site combination, to prevent correlation of accounts. I was incorrect; they’re just using it for easier sign-in, with the same auto-generated URL used for every site.

# 9:05 am / directedidentity, openid, yahoo

Yahoo! supporting OpenID 2.0 but not 1.1. Yahoo!’s Allen Tom outlines the reasons Yahoo! are supporting OpenID 2.0 but not OpenID 1.1.

# 9:10 am / yahoo, allen-tom, openid, openid2

django-evserver. Marek Majkowski got Comet working with Django using a custom WSGI server that wraps libevent using ctypes.

# 12:15 pm / python, django, comet, wsgi, libevent, ctypes, djangoevserver, marekmajkowski

Jan. 20, 2008

Dangers of remote Javascript. Perl.com got hit by a JavaScript porn redirect when the domain of one of their advertisers expired and was bought by a porn company. Nat Torkington suggests keeping track of the expiration dates on any third party domains that are serving JavaScript on your site.

# 9:49 am / perldotcom, oreilly, nat-torkington, javascript, security, domains, xss

Timber hazard after ship wrecked. A ship went down off the Dorset coast, but its cargo of timber has been washing up all the way along Brighton beach.

# 6:08 pm / timber, brighton, shipwreck

Jan. 21, 2008

Telegraph to become OpenID provider (via) “The Telegraph will soon become the first newspaper in the world, and the first British media company, to become an OpenID provider.”. Didn’t see that one coming!

# 2:43 pm / telegraph, openid, newspaper

jQuery.ScrollTo (via) Neat jQuery plugin for animated scrolling of both windows and overflow elements.

# 9:53 pm / jquery, javascript, scrollto, scrolling, animation, plugins

Django at PyCon. Unfortunately I’ll be missing US PyCon this year (I’ll be at SxSW and Webstock in New Zealand though)—but it’s great to see that there’s a strong line-up of Django related presentations.

# 9:54 pm / django, pycon, python, sxsw, webstock, conferences

Jan. 22, 2008

Heavier than Air. Charles Miller points out that every time Apple breaks the mold with a new product (the iPod, the iPod Mini, the iMac and now the MacBook Air) they lose in feature matrix comparisons but win in the marketplace.

# 1:32 am / charles-miller, apple, macbookair, imac, ipod, ipodmini

World’s ugliest Django app. Brilliant hack from Paul Bissex: a self-contained Django application in 70 lines of code which shows off some internals trickery and makes use of a bunch of handy django.contrib packages.

# 1:34 am / django, paul-bissex, python, selfcontained

Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8. This has huge implications for client-side web developers: IE 8 will include the ability to mark a page as “tested and compatible with the IE7 rendering engine” using an X-UA-Compatible HTTP header or http-equiv meta element. It’s already attracting a heated debate in the attached discussion.

# 12:40 pm / ie8, internet-explorer, browsers, http, web-standards, xuacompatible

Like DOCTYPE switching did in 2000, version targeting negates the vendor argument that existing behaviors can't be changed for fear of breaking web sites. If IE8 botches its implementation of some CSS property or DOM method, the mistake can be fixed in IE9 without breaking sites developed in the IE8 era. This actually makes browser vendors more susceptible to pressure to fix their bugs, and less fearful of doing so.

Eric Meyer

# 2:24 pm / eric-meyer, doctypeswitching, ie8, browsers, internet-explorer, xuacompatible, web-standards

The versioning switch is not a browser detect. PPK: “In other words, the versioning switch does not have any of the negative effects of a browser detect.”

# 4:34 pm / ppk, web-standards, browserdetect, browsers, doctypeswitching, ie8, internet-explorer, xuacompatible

Broken. Jeremy highlights the fly in the ointment: if you want IE 8 to behave like IE 8 (and not pretend to be IE 7), you HAVE to include the X-UA-Compatible header.

# 6:42 pm / xuacompatible, web-standards, ie8, jeremy-keith

<META HTTP-EQUIV="X-BALL-CHAIN">. Mozilla hacker Robert O’Callahan discusses the technical implications of freezing copies of older rendering engines, including the increased footprint and the terrifying prospect of documents in different rendering modes communicating through iframes and the DOM.

# 6:55 pm / roberto-callahan, ie8, dom, mozilla, browsers, xuacompatible

RSS Duplicate Detection. “Detecting duplicate items in an RSS feed is something of a black art”. I hadn’t realised quite how involved such a basic function of an aggregator could be.

# 8:11 pm / rss, syndication, atom, duplicates, aggregator, blackart, james-holderness

If you want CSS rules to apply to unknown elements in IE, you just have to do document.createElement(elementName). This somehow lets the CSS engine know that elements with that name exist.

Sjoerd Visscher

# 8:27 pm / css, ie, sjoerdvisscher

No matter what great leaps forward the Internet Explorer team make from now on, the majority of developers won’t use them and the majority of users won’t see them. By doing this the Internet Explorer team may have created their own backwater, shot themselves in the foot and left themselves for dead.

Andy Budd

# 9 pm / andy-budd, internet-explorer, ie8, xuacompatible

Jan. 23, 2008

Django People

I’m constantly surprised by the number of people I run in to at conferences (or even in one case on the train) who are using Django but are completely invisible to the Django community. It seems that this is the downside of having good documentation: many people just read it and start building, without ever showing their face on the mailing lists or IRC.

[... 194 words]

HTML 5 published as W3C First Public Working Draft! A significant step, almost completely overlooked in the hubbub over IE8.

# 2:15 am / ie8, whatwg, html5, web-standards