Simon Willison’s Weblog


March 2008

March 3, 2008

Jython’s Future Looking Sunny. Sun have (finally) invested in Jython, hiring lead maintainer Frank Wierzbicki. They’ve also hired Ted Leung to “represent the wider world of Python at Sun”. Great news.

# 4:08 pm / python, jython, sun, ted-leung, frank-wierzbicki

March 4, 2008

We've decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we've posted previously.


# 3 am / ie8, web-standards, internet-explorer, ie

The real reason Google’s clicks are flat. Rich Skrenta explains that Google’s recent reduction of the clicable area in Adsense ads, while reducing click-throughs by 60%, will eventually balance out due to non-accidental click-throughs being worth more to advertisers.

# 4:34 am / google, richskrenta, clickthroughs, adsense

Two data streams for a happy website. Useful architectural concept for scaling: keep user-specific and generic data separate from the start, in recognition of their different caching and partitioning constraints.

# 4:40 am / caching, scaling

ExpanDrive. Looks like this SFTP mounting application for OS X fixes the problems I’ve had with sshfs (which tends to freeze things up if you lose your network connection while using it).

# 7:32 pm / sshfs, ssh, sftp, john-gruber, expandrive

Principles and Legality. Eric Meyer notes that language about legality in Microsoft’s recent IE announcement suggests that Opera’s much criticised EU threat may have helped positively influence the result.

# 7:45 pm / opera, ericmeyer, ie8, standards, microsoft, legal

Table-Based Layout Is The Next Big Thing. Kevin Yank points out that the inclusion of display:table in IE 8 will finally open up a powerful tool for creating CSS layouts that has so far been mostly ignored.

# 11:01 pm / ie8, displaytable, css, kevinyank, tables

Making bridges talk. Tom Armitage hooked Tower Bridge up to Twitter: “I am closing after the MV Dixie Queen has passed Upstream”.

# 11:07 pm / tom-armitage, towerbridge, twitter

WhatDoTheyKnow (via) New from mySociety: a site for submitting and publically tracking Freedom of Information requests to the UK government.

# 11:38 pm / politicalhacking, mysociety, whatdotheyknow, government, foi

Google Maps Without the Scripting. Google Maps has finally added a simple API for retrieving static map images.

# 11:54 pm / staticmaps, mapping, google-maps

March 5, 2008

In-Depth django-sphinx Tutorial. Another neat Django extension from the guys at Curse: easy integration with the sphinx full text search engine.

# 12:03 am / django, curse, python, sphinx-search, search, david-cramer

xssinterface (via) Clever JavaScript library for implementing opt-in cross-domain messaging in JavaScript (allowing communication between pages and iframes on different domains). Uses HTML 5’s postMessage API if available, otherwise falls back on either Google Gears or a clever cookie hack.

# 12:08 am / xssinterface, crossdomain, javascript, html5, postmessage

Gears 0.2 Released! New modules are HttpRequest and Timer, both for use within workers (which provide Erlang-style message passing concurrency). Particularly interesting is that the Gears HttpRequest module can be used for much cleaner Comet implementations in IE.

# 12:21 am / ie, google-gears, comet, javascript

CouchDB, XML, and E4X. Brilliant—CouchDB now enables SpiderMonkey’s E4X support, meaning CouchDB views can easily query XML documents stored inside JSON objects using E4X syntax.

# 12:31 am / couchdb, javascript, xml, e4x, json, spidermonkey, christopher-lenz

Acid3 is out. The third Acid test, again compiled by Ian Hickson. This one viciously tests DOM Scripting standards compliance and currently exposes flaws in every browser.

# 12:34 am / javascript, wasp, ian-hickson, acid3, standards

About our maps. Why and how EveryBlock rolled their own maps.

# 1:05 am / everyblock, mapping

How to Do Anything Photographic (via) A huge collection of excellent looking photography tutorials by Ken Rockwell.

# 1:12 am / kenrockwell, photography

Ward Cunningham’s Visible Workings. Intriguing idea: software that explicitly reveals the underlying business logic in end-user understandable terms. I didn’t find the example very easy to comprehend but the concept is fascinating.

# 1:53 am / wardcunningham, jon-udell

Equidistant Objects with CSS. Handy tip; I needed to do this recently and ended up setting everything using pixels. This works much better.

# 9:26 am / css

Internet Explorer 8 Readiness Toolkit. The new built-in development tools look similar enough to Firebug to make me very happy. Also of interest: Selectors API (for fast getElementsBySelector), CSS 2.1 support, support for XHTML style namespaces in HTML, an interesting Web Slices feature based on the hAtom microformat and 6 connections per host (up from 2) which should make Comet easier.

# 6:28 pm / comet, javascript, css, standards, ie8, selectors, namespaces, hatom, microformats

Welcome to Fire Eagle! It’s launched! A service and accompanying API for saving your physical location and selectively sharing it with applications that you trust.

# 7:05 pm / fireeagle, yahoo, location, api

March 6, 2008

Introducing the Google Contacts Data API. Brilliant! (and about time)—now there’s no excuse for asking your users for their Gmail username and password so you can import contacts from their address book. Yahoo! and Microsoft need to catch up on this one fast.

# 11:29 pm / yahoo, microsoft, google, apis, contacts, portablesocialnetworks

JavaScript in Internet Explorer 8. John Resig’s analysis. News to me: IE 8 doesn’t support the W3C event model—I had assumed that would be a priority.

# 11:59 pm / javascript, ie8, john-resig, standards

March 7, 2008

Windows Live Contacts API (via) I didn’t realise Microsoft already have a contacts API for Live (which presumably covers hotmail as well).

# 5:57 pm / microsoft, hotmail, windowslive, portablesocialnetworks, contacts

March 8, 2008

Windows Live ID Delegated Authentication. Would make life a lot simpler if they just supported OAuth, but at least they include sample code in Python, Ruby and PHP.

# 3:19 pm / python, ruby, php, microsoft, live, oauth, liveid

March 10, 2008

For the record, my site is valid HTML 5, except the parts that aren't. My therapist says I shouldn't rely so much on external validation.

Mark Pilgrim

# 2:01 pm / mark-pilgrim, validation, html5, standards

Major Update to Prism (via) Mozilla’s site-specific browser tool can now use separate profiles (and hence separate cookie jars) for each instance, making it an excellent tool for protecting yourself against CSRF vulnerabilities in the web applications you rely on.

# 2:03 pm / csrf, prism, mozilla, sitespecificbrowsers, cookies

March 11, 2008

The GigaOM Interview: Mark Zuckerberg. Some interesting titbits on Facebook’s architecture.

# 5:41 am / facebook, architecture, mark-zuckerberg, scaling

IE8 speeds things up. Steve Souders notes that IE8 downloads script files in parallel before executing them sequentially, giving it a significant speed boost over other browsers that download sequentially.

# 5:42 am / ie8, steve-souders, browsers, performance

What Sucks About Erlang. Damien Katz shares his greatest frustrations from working with Erlang on CouchDB.

# 5:45 am / couchdb, erlang, damien-katz

2008 » March