Simon Willison’s Weblog

Subscribe

January 2008

Jan. 23, 2008

If Web authors actually use this feature, and if IE doesn't keep losing market share, then eventually this will cause serious problems for IE's competitors — instead of just having to contend with reverse-engineering IE's quirks mode and making the specs compatible with IE's standards mode, the other browser vendors are going to have to reverse engineer every major IE browser version, and end up implementing these same bug modes themselves.

Ian Hickson

# 10:07 am / ian-hickson, hixie, internet-explorer, ie8, xuacompatible, web-standards, browsers

Photo Matt: Act Two. Automattic is an excellent case-study of building a business on top of an open source project.

# 10:42 am / automattic, matt-mullenweg, open-source, wordpress

GeoNames: missing countries. United Arab Emirates and a few other countries are missing from the GeoNames XML set I used to seed Django People. I’ve added UAE by hand; I’ll add the others as soon as I have time.

# 10:45 am / django, django-people, geodata, geonames

Legacy. James Bennett has what I think is the most interesting analysis of the X-UA-Compatible header to date.

# 2:14 pm / browsers, ie8, internet-explorer, james-bennett, web-standards, xuacompatible

Sunsetting Quirks Mode. Apparently proper standards support in IE (or at least the IE8 renderer) will be triggered by the HTML5 doctype, providing an alternative to those who don’t wish to pollute their markup with an IE-specific meta tag.

# 2:56 pm / browsers, doctypes, html5, ie8, internet-explorer, sam-ruby, xuacompatible

Cashing in the Bling. Pownce is open to the public, and Leah has written up some neat friend importing tricks that take advantage of the pre-existing “profile bling” links to profiles on other sites. I hope to do something smart with the profile links on Django People in the future, although I’m not convinced the site would benefit from a “friends” mechanism.

# 3:17 pm / bling, django-people, portablesocialnetworks, pownce

Caching Layer for Django ORM. Interesting extension to Django’s ORM that adds automatic caching of querysets and smart cache invalidation.

# 3:18 pm / caching, david-cramer, django, orm, ormcaching, python

Django People: Colophon. I’ve added a colophon to Django People, something I try to do for all of my personal projects.

# 4:58 pm / colophon, django, django-people, python

Troubleshooting Memory Usage. Useful for getting the most out of a VPS.

# 6:52 pm / hosting, memory, vps

Dynamic Time-Travel Maps. Absolutely beautiful dynamic implementation of Chris Lightfoot’s Time Travel project, put together by Stamen Design and MySociety. Drag sliders to specify your preferred commute and housing budget to see where in London you can live.

# 9:06 pm / chris-lightfoot, mysociety, stamen-design, timetravel

Introducing EveryBlock. EveryBlock launched! Adrian Holovaty, Wilson Miner, Paul Smith and Daniel X. O’Neil’s startup which answers the question, “What’s happening in my neighborhood?” Cities covered by the launch are Chicago, New York and San Francisco.

# 9:56 pm / adrian-holovaty, chicago, daniel-x-oneil, django, everyblock, new-york, paul-smith, san-francisco, wilson-miner

Jan. 24, 2008

Django People: OpenID and microformats

In hindsight, it was a mistake to launch Django People without support for OpenID. It was on the original feature list, but in the end I decided to cut any feature that wasn’t completely essential in order to get the site launched before it drowned in an ocean of “wouldn’t-it-be-cool-ifs”.

[... 626 words]

flickr.places.findByLatLon. New API method for Flickr Places. If only Flickr could return a bounding box for each place...

# 1:05 pm / apis, flickr, flickrplaces, geo

Canon EOS 450D / Digital Rebel XSi. Two weeks after a buy I EOS 400D. Sigh. It’s not out until April, but the big new features are a 3" LCD and "live view" mode. The kit lens now has image stabilisation.

# 2:48 pm / cameras, canon, digitalrebel, eos400d, eos450d, photography

Jan. 25, 2008

Community sites on Django People. Small new feature: I can now add community sites to individual country pages. If you know of any regional community sites that I’ve missed, let me know in a comment or by e-mail.

# 12:40 am / brazil, community, django, django-people, python

Usability Disaster Story. A strange combination of usability oddities culminated in 95% of visitors to the Mono website downloading a two year old version by mistake.

# 6:36 am / miguel-de-icaza, mono, usability

In a recent [ASP.NET] MVC design meeting someone said something like "we'll need a Repeater control" and a powerful and very technical boss-type said: "We've got a repeater control, it's called a foreach loop."

Scott Hanselman

# 6:59 am / aspnet, aspnetmvc, microsoft, scott-hanselman

Symfonians (via) Similar concept to Django People but for Symfony developers—coincidentally launched within the past week as well.

# 4:15 pm / community, django-people, php, symfony

Jan. 26, 2008

Blob Sallad—canvas tag and JavaScript physics simulation experiment. Björn Lindberg provides a detailed code walkthrough of his brilliant canvas demo, inspired by Loco Rocco.

# 12:25 pm / bjornlindberg, canvas, javascript, locorocco, opera, physics, tutorial

Django sub-reddit. Reddit are trialling the ability to create custom sub-reddits, so I put one up for Django links and discussions.

# 11:56 pm / community, django, python, reddit

Linkherd—django. Linkherd is a Django-powered startup that offers sub-reddit style functionality. I’ve set up a Django site there as well.

# 11:58 pm / community, django, linkherd, python

Jan. 28, 2008

Google Maps Clusterer. I’ve looked at a few clustering libraries for Google Maps, but this one seems to have the nicest API.

# 3:07 pm / clustering, google-maps, maps

Jan. 29, 2008

Since 9/11, approximately three things have potentially improved airline security: reinforcing the cockpit doors, passengers realizing they have to fight back and - possibly - sky marshals. Everything else - all the security measures that affect privacy - is just security theater and a waste of effort.

Bruce Schneier

# 12:14 pm / bruce-schneier, privacy, security, securitytheatre

On the design of the first-run assistant. NetNewsWire’s Brent Simmons explains the in-depth thinking behind the new first-run assistant.

# 12:16 pm / brent-simmons, netnewswire, usability

iTimeMachine. Enables Time Machine to see network drives (a ReadyNAS NV+ for example). There’s also a defaults setting but it didn’t seem to work; this did.

# 11:33 pm / backups, itimemachine, mac, osx, readynas, timemachine

Jan. 30, 2008

Monkeypatching idioms—elegant or ugly? Guido offers a decorator and a metaclass as syntactic sugar for monkeypatching existing Python classes.

# 12:39 am / decorators, guido-van-rossum, idioms, metaclasses, monkeypatching, python

Python Web Framework on the JVM. An update on both Jython and the Django on Jython project—it looks like Jython 2.5 isn’t that far away.

# 2:06 am / django, java, jvm, jython, python

Mono Beta Launch—Official Linden Blog. The Mono VM is now in public beta testing running LSL scripts in Second Life. The first step on the road to IronPython support?

# 2:19 am / ironpython, lindenlab, lsl, mono, python, secondlife, virtualmachines