Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

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

# 8th October 2009, 4:35 pm / rails, ruby, security, xss

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.

# 8th October 2009, 11:48 am / jp-calderon, python, twisted

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.

# 8th October 2009, 8:26 am / ajax, broken, javascript, links, michal-migurski, usability

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.

# 7th October 2009, 12:23 pm / mobile, ppk, standards, testing, webkit

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

# 7th October 2009, 11:43 am / jacob-kaplan-moss, python, ryan-tomayko, unix

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.

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

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”.

# 6th October 2009, 7:59 am / computer-vision, photos, photosketch

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.

# 5th October 2009, 9:15 pm / actionscript, adobe, compilers, flash, hacking, iphone, llvm

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.

# 5th October 2009, 3:39 pm / ernestmaples, freeyourdata, geocoding, openrightsgroup, postcodes, royalmail

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.

# 5th October 2009, 9:16 am / michael-wolff, paywalls, rupertmurdoch, vanity-fair

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.

# 4th October 2009, 10:29 am / alex-martelli, django, history, james-bennett, python

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.”

# 3rd October 2009, 10:28 pm / branding, design, lego, logos

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).

# 2nd October 2009, 2:16 pm / databases, django, mysql, python

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).

# 1st October 2009, 3:51 pm / django, fowa, motion, python, sixapart, typepad

GeoDjango and the UK postcode database. Excellent introduction to GeoDjango using the recently leaked UK postcode database. Obviously, you should only follow the steps in this tutorial using the officially licensed database, available for a mere £1,700.

# 30th September 2009, 2:25 pm / chris-lamb, django, geodjango, gis, postcodes, uk

YUI 3.0.0: First GA Release of YUI’s Next-Generation Codeline. YUI 3 has some very neat ideas—everything is dynamically loaded, so you start with a tiny bootstrap script and call YUI().use(’module-name’) to load just the code you need. Congratulations to the team.

# 29th September 2009, 11:38 pm / javascript, libraries, yahoo, yui, yui3

Google Docs OCR. Whoa, the Google Docs API just got really interesting—you can upload an image to it (POST /feeds/default/private/full?ocr=true) and it will OCR the text and turn it in to a document. Since this is Google, I imagine they’ll also be using the processed documents to further improve their OCR technology.

# 29th September 2009, 9:57 pm / apis, googldocs, google, ocr

Simon Willison (simonw) on Twitter. I just realised I’ve never actually linked to my Twitter account on my blog. This is mainly an experiment to see if doing so makes my follower count go up...

# 29th September 2009, 9:49 pm / experiment, me, simonw, twitter

Python Logging 101. A really useful introduction to Python’s logging module by that module’s author, Vinay Sajip.

# 29th September 2009, 6:40 pm / logging, python, vinaysajip

openstreetmap genuine advantage. The OpenStreetMap data model (points, ways and relations, all allowing arbitrary key/value tags) is a real thing of beauty—simple to understand but almost infinitely extensible. Mike Migurski’s latest project adds PGP signing to OpenStreetMap, allowing organisations (such as local government) to add a signature to a way (a sequence of points) and a subset of its tags, then write that signature in to a new tag on the object.

# 29th September 2009, 9:49 am / cryptography, gis, mapping, michal-migurski, openstreetmap, pgp

“That’s maybe a bit too dorky, even for us.”. Astonishingly exciting: Flickr now have machine tag support for OpenStreetMap—tag a photo with osm:way=WAY_ID and Flickr will figure out what OSM feature you are talking about and link to it with a human readable description.

# 28th September 2009, 10:39 pm / flickr, machinetags, openstreetmap, photography

Google’s first press release. From 1999, announcing $25 million in equity funding. I’m impressed to see that the mission statement already stated “Google’s mission is to organize the world’s information, making it universally accessible and useful.”

# 27th September 2009, 8:35 pm / funding, google, pressrelease

shunit2 (via) xUnit style testing for shell scripts.

# 27th September 2009, 7:34 pm / bash, shell, shunit2, testing, unix, xunit

MySQL, Python and MacOS X 10.6 (Snow Leopard). I gave up on compiling things when I upgraded to Snow Leopard—I’m back to running Ubuntu in a VMWare instance, mounted over Samba so I can still use TextMate.

# 25th September 2009, 10:14 pm / macos, mysql, python, samba, snowleopard, textmate, ubuntu, vmware

Justniffer. Packet sniffing tool that can output sniffed HTTP traffic formatted the same way as an Apache access_log file.

# 25th September 2009, 10:12 pm / apache, justniffer, logging, networking, packetsniffing

OpenID: Now more powerful and easier to use! The OpenID+OAuth hybrid protocol (where a user can sign in with OpenID and grant an application access to their OAuth protected resources such as a contact list at the same time) is now supported by Google, Yahoo! and MySpace—this feels like OpenID finally coming of age.

# 25th September 2009, 9:08 pm / google, hybrid, identity, myspace, oauth, openid, yahoo

Adding signing (and signed cookies) to Django core. I’ve been increasing my participation in Django recently—here’s my proposal for adding signing and signed cookies to Django, which I’d personally like to see ship as part of Django 1.2.

# 24th September 2009, 7:31 pm / cookies, cryptography, django, security, signedcookies, signing

Gmail for Mobile: Reducing Startup Latency. Cheeky iPhone optimisation trick—parsing 200 KB of JavaScript takes an iPhone 2.2 device 2.6 seconds, so Gmail embeds code components in /* comments */ in a script tag and evals them on demand later on when the features are needed.

# 23rd September 2009, 10:29 pm / google, iphone, javascript, optimisation, performance

More technical details about Google Chrome Frame. It’s implemented as a Browser Helper Object, uses IE’s cookies, history and password-remembering, includes the WebKit developer tools and appends “chromeframe” to the regular IE user agent string—though not apparently the Chrome Frame version itself.

# 23rd September 2009, 10:20 pm / bho, chrome, chromeframe, google, internet-explorer

Years

Tags