Simon Willison’s Weblog

Subscribe

October 2009

Oct. 1, 2009

TypePad Motion. Launched today at FOWA, Motion is a microblogging application written in Django that uses the TypePad API for all persistent storage—which means you can deploy it as server-side code on your own site, but scaling horizontally is handled by TypePad (you just need to scale out the state-free front end).

# 3:51 pm / django, python, sixapart, motion, typepad, fowa

Oct. 2, 2009

MySQL Connector/Python. A pure Python implementation of the MySQL client/server protocol, meaning you can talk to a MySQL server from Python without needing to first install the MySQL client libraries (which often requires compiling from source).

# 2:16 pm / mysql, python, databases, django

Oct. 3, 2009

Logos in Lego Town. “Unlike the railways, there have been a multitude of different airline logos in Lego land – indicating a de-regulated market and open competition.”

# 10:28 pm / lego, design, logos, branding

Oct. 4, 2009

When I worked at Amazon.com we had a deeply-ingrained hatred for all of the SQL databases in our systems. Now, we knew perfectly well how to scale them through partitioning and other means. But making them highly available was another matter. Replication and failover give you basic reliability, but it's very limited and inflexible compared to a real distributed datastore with master-master replication, partition tolerance, consensus and/or eventual consistency, or other availability-oriented features.

Matt Brubeck

# 9:50 am / sql, nosql, replication, reliability, scaling, amazon, matt-brubeck

History of Django’s popularity. “What sequence of events made Django the most popular Python web framework?”—insightful answers from Alex Martelli and James Bennett.

# 10:29 am / django, python, history, alex-martelli, james-bennett

I grew up in a college town, and one Halloween our doorbell rang and we opened the door expecting to see trickortreater - but what was in front of our open door - was another door! Like, a full-on wooden door, that had a sign that said "Please knock." So we did, and the door swung open to reveal a bunch of college dudes dressed as really old grandmothers, curlers in their hair, etc, who proceeded to coo over our "costumes" and tell us we were "such cute trick or treaters!" One even pinched my cheek. Then THEY gave US candy, closed their door, picked it up and walked to the next house.

np312 on MetaFilter

# 7:34 pm / metafilter, halloween

Oct. 5, 2009

Rupert to Internet: It’s War! Fascinating essay on Rupert Murchoch’s plans to charge for access to his company’s websites, by his biographer Michael Wolff.

# 9:16 am / rupertmurdoch, michaelwolff, paywalls, vanity-fair

Royal Mail: closing job search over data dispute while sacking workers. The Royal Mail have cease-and-desisted ernestmarples.com, a free postcode geocoding API which powers a number of UK open democracy sites. One of the sites is Job Centre Pro Plus, creating a perfect opportunity for an ORG press release.

# 3:39 pm / openrightsgroup, royalmail, postcodes, freeyourdata, ernestmaples, geocoding

Developing for the Apple iPhone using Flash. A brilliant feat of engineering: Adobe worked around Apple’s “no runtime allowed” rules by writing a compiler front end for LLVM that compiles ActionScript 3 to ARM assembly code, and apparently ported the regular Flash drawing APIs as well.

# 9:15 pm / adobe, hacking, iphone, flash, llvm, compilers, actionscript

Oct. 6, 2009

This is very interesting technology. But that Adobe would go to this length suggests that they suspect that Apple will never allow the Flash runtime on the iPhone.

John Gruber

# 7:33 am / john-gruber, flash, adobe, iphone, apple

PhotoSketch turns a rough sketch in to a photo montage (via) Computer vision is really exciting at the moment—Photosketch is an application which takes a rough labeled sketch, finds images matching the labels, filters them by the sketched shapes and composes them in to a not-too-bad photo montage. As wmf on Hacker News points out, “this technology has epic potential in the LOLcat market”.

# 7:59 am / computervision, photosketch, photos

Oct. 7, 2009

I like Unicorn because it’s Unix. Ryan Tomayko analyses Unicorn, a new, pre-forking Ruby HTTP server that makes extensive use of Unix syscalls and idioms, and asks why dynamic language programmers don’t take advantage of these more often.

# 11:42 am / ruby, exec, fork, programming, ryan-tomayko, unicorn, unix

Python is Unix. Jacob ports Ryan Tomayko’s simple prefork network server to Python.

# 11:43 am / python, jacob-kaplan-moss, ryan-tomayko, unix

There is no WebKit on Mobile. PPK ran 27 tests against 19 different WebKit-on-mobile implementations and found enormous disparities between the levels of support in currently available mobile phones.

# 12:23 pm / webkit, mobile, ppk, testing, standards

Oct. 8, 2009

breaking links. Mike complains about sites such as Twitter and WordPress.com which mess around with Ajax and links and hence breaks the ability to command-click to open a new tab in Safari (and Chrome). I just realised that I’ve subconsciously retrained myself to right click and select “open in new tab” to avoid that exact issue.

# 8:26 am / javascript, broken, ajax, links, michalmigurski, usability

Twisted Web in 60 seconds. A common complaint about Twisted is how hard it is to figure out the web stack. Jp Calderon’s tutorial (in nine installments and counting) is the best documentation on web development in Twisted I’ve seen.

# 11:48 am / twisted, jpcalderon, python

XSS Protection by Default in Rails 3.0. Fantastic news—congratulations, Rails core team.

# 4:35 pm / xss, rails, ruby, security

Official Google Webmaster Blog: A proposal for making AJAX crawlable. It’s horrible! The Google crawler would map url#!state to url?_escaped_fragment_=state, then expect your site to provide rendered HTML that reflects that state (they even go as far as to suggest running a headless browser within your web server to do this). Just stick to progressive enhancement instead, it’s far less hideous. It looks like the proposal may have originated with the GWT team.

# 5:52 pm / javascript, progressiveenhancement, search-engines, google, crawling, ajax, seo, gwt

Cloudvox. A brand new startup offering “API-driven phone calls” with a beautifully simple webhooks based API.

# 11:31 pm / webhooks, cloudvox, telephony, apis

Oct. 9, 2009

MichaelMoore.com in Django. A seriously impressive case study—a complete rebuild from the ground up completed in just five weeks using Django, Solr and Haystack for a high traffic site with a top 10,000 US Alexa ranking.

# 12:38 am / python, michaelmoore, django, scaling

Micro Men. “Affectionately comic drama about the British home computer boom of the early 1980s.”—aired last night, and on BBC iPlayer for the next week. I thought it was absolutely charming, as well as being a thought provoking history of the rise and fall of the British computer industry in the early 80s.

# 12:47 am / bbc, iplayer, micromen, history, computing, tv

Oct. 10, 2009

Django security updates released. A potential denial of service vulnerability has been discovered in the regular expressions used by Django form library’s EmailField and URLField—a malicious input could trigger a pathological performance. Patches (and patched releases) for Django 1.1 and Django 1.0 have been published.

# 12:24 am / django, security, python, regular-expressions

WebKit, Mobile, and Progress. Alex Russell responds to PPK’s analysis of the many different WebKit variants in today’s mobile phones, pointing out that the replacement cycle and increasing quality of WebKit in more recent phones means the situation still looks pretty good.

# 12:28 am / alex-russell, ppk, webkit, mobile, browsers

OpenStreetMap Rendering Database. Amazon have added an OpenStreetMap snapshot as a public data set, thanks to some smart prompting by Jeremy Dunck.

# 1:05 pm / amazon, ec2, s3, publicdatasets, openstreetmap, mapping, jeremy-dunck

Oct. 12, 2009

OSM static map api. A very welcome addition to the OpenStreetMap world (with plenty of options for overlaying points, polygons etc) slightly marred by the size and relative ugliness of the OpenStreetMap watermark.

# 1:37 pm / openstreetmap, mapping, apis, staticmaps, watermarks

Oct. 13, 2009

MySQL backups with EBS snapshots. Assaf Arkin’s 45 line ruby script shows how to lock tables / XFS freeze / create an EBS snapshot / unfreeze and unlock, with hourly snapshots preserved for the past 24 hours and daily snapshots for the past week. Is an EBS snapshot enough to restore your data to somewhere other than EC2 though?

# 12:34 pm / assafarkin, ruby, ec2, mysql, ebs, cloud, backups

Temporary Mapping: Solar Decathlon. The OpenStreetMap default renderer supports start_date and end_date tags, meaning you can map temporary installations (in this case the 2009 Solar Decathlon on the DC National Mall) and have them automatically appear and disappear at the correct times.

# 3:18 pm / openstreetmap, andrew-turner, solardecathlon, mapping, tags

Oct. 14, 2009

The State of Solid State Hard Drives. From Jeff Atwood’s report it sounds like the price/performance ratio for SSD hard drives has got to a point where switching is the most cost effective way of improving a personal machine’s performance. Anyone know what’s involved in putting one of these things in a MacBook Pro?

# 1:03 pm / ssd, harddrives, performance, jeff-atwood, macbookpro

Oct. 15, 2009

“I made the first animated under construction icon”. twoleftfeet on MetaFilter describes how he created the first ever Under Construction animation in 1995, after discovering his server-push animations could be replaced by the exciting new animated GIF.

# 2:11 pm / metafilter, underconstruction, animation, gifs, internet-history, history

Oct. 17, 2009

nginx_http_push_module. More clever design with webhooks—here’s an nginx module that provides a comet endpoint URL which will hang until a back end process POSTs to another URL on the same server. This makes it much easier to build asynchronous comet apps using regular synchronous web frameworks such as Django, PHP and Rails.

# 4:48 pm / nginx, comet, webhooks, django, php, rails

2009 » October

MTWTFSS
   1234
567891011
12131415161718
19202122232425
262728293031