Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

Interview @MarsPhoenix (via) “For over a year, Veronica McGregor has been Twittering from Mars.”—an interview with the Twitter voice of the Mars Phoenix lander.

# 11th November 2008, 12:17 pm / marsphoenix, space, twitter, veronicamcgregor

Worst. Bug. Ever. Android phones were executing every keystroke typed in to the phone in an invisible root shell! Text “reboot” to a friend and your phone rebooted. Wow.

# 10th November 2008, 10:51 pm / android, bug, phones, root, security

License Hacking. Wikipedia is making the switch to a CC license, by asking the Free Software Foundation to include that as an option in the latest version of the Free Documentation License which Wikipedia currently uses and which includes an auto-upgrade clause. Devious.

# 10th November 2008, 10:46 pm / creativecommons, fdl, free-software-foundation, licenses, open-source, wikipedia

iPhone Backup Extractor possibilities (via) Nick Ludlam points out that iTunes backs up your iPhone call records by copying across a sqlite database—which means it wouldn’t be at all hard to extract the logs in to a larger database. Could make for a really cool addition to a private lifestreaming application.

# 10th November 2008, 10:41 pm / backup, iphone, itunes, lifestream, nick-ludlam, sqlite

Secrets of the Django ORM. An undocumented (and unsupported) method of poking a Django QuerySet’s internal query to add group_by and having clauses to a SQL query.

# 8th November 2008, 11:49 pm / django, groupby, having, orm, python, queryset, sql

Clearing up inaccuracies about the Google OpenID IDP launch. Google took some undeserved flack when they launched their OpenID provider. For the record, whitelisting providers fits my definition of the “Open” in OpenID perfectly (providers and consumers are free to impose whatever policies they like).

# 8th November 2008, 11:11 pm / google, openid, whitelisting

The Tea Cosy. Our favourite Brighton tea room has redesigned their site—truly classy. Don’t forget to memorise the etiquette rules.

# 8th November 2008, 5:14 pm / brighton, etiquette, tea, tearoom, the-tea-cosy

Introducing Acre. I’m losing track of all the server-side JavaScript hosted web application platforms now. Here’s the Freebase contribution to the genre, complete with IDE, templating language and strong integration with Freebase itself.

# 7th November 2008, 11:23 pm / acre, freebase, javascript, serversidejavascript

jQuery history plugin. I used this plugin to add back button support to a small Ajax app today, with great results. I tried it a while ago and it didn’t work in Safari, but someone has updated it since and now it works perfectly.

# 7th November 2008, 5:32 pm / ajax, backbutton, history, javascript, jquery, plugins

It’s a purple world. Stuart Langridge made a purplish map of the US election results, using JSON data from Google and an SVG map of the US from Wikipedia.

# 6th November 2008, 8:26 pm / stuart-langridge, svg, uselection, wikipedia

Code your own election mashup with Google’s JSON data. The data that powered Google’s US election results map is available to download as a bunch of JSON files.

# 6th November 2008, 8:24 pm / data, google, json, uselection

Just One More Grim Thing (via) Tim Schafer releases 72 pages of design documentation for Grim Fandango, my all-time favourite computer game.

Update 18th Feb 2025: That blog entry is no longer available, but Gameshelf preserved a copy of the PDF.

# 6th November 2008, 7:51 pm / game-design, games, grim-fandango, tim-schafer

Obama v McCain—battleground graph (via) Paul Crowley provides the smartest election visualisation I’ve seen this cycle, using the current projections from fivethirtyeight.com and with a promise of a frequently updated version as the actual results roll in.

# 3rd November 2008, 8:40 pm / elections, graph, paul-crowley, visualisation

Python gems of my own (via) Did you know you can pass 128 as a flag to Python’s re.compile() function to spit out a parse tree? I didn’t. re.compile(“pattern”, 128)

# 3rd November 2008, 11:59 am / eric-holscher, python, regex

Yahoo, Caja, OpenSocial. Yahoo!’s new application platform uses OpenSocial, and protects itself from malicious JavaScript using Google’s Caja secure JavaScript engine. I hadn’t realised that Caja was ready for production use—this is excellent news.

# 30th October 2008, 5:14 pm / caja, javascript, opensocial, security, yahoo

New OpenID Implementations Abound. I’ve missed linking to a bunch of OpenID news recently—in particular, Google Accounts are becoming OpenID identifiers and LiveJournal has quietly ugraded its consumer support to OpenID 2.0.

# 30th October 2008, 5:11 pm / google, livejournal, martin-atkins, openid, openid2

Ghostly fingers of APIs. Phil Gyford has a lovely diagram of the sites that he updates manually and the surprisingly large number of other sites that they affect.

# 30th October 2008, 5:08 pm / apis, phil-gyford

Zeppelin 101 in 5 mins (via) Ribot videoed my five minute lightning talk on Zeppelins at last night’s Skillswap Brighton.

# 30th October 2008, 5:05 pm / brighton, lightning-talks, ribot, skillswap, speaking, my-talks, video, vimeo, zeppelins

JSSpeccy. A ZX Spectrum emulator written in Javascript.

# 29th October 2008, 5:25 pm / canvas, emulator, javascript, jsspeccy, matt-westcott, spectrum, zxspectrum

GeoCouch: Geospatial queries with CouchDB. Interesting approach: uses “external2”, a branch that allows external services to be called from CouchDB. SQLite’s SpatiaLite extension is then used as an external spacial index.

# 27th October 2008, 11:48 pm / couchdb, erlang, external2, geocouch, spatialite, sqlite

typeface.js. Outstanding hack—renders custom fonts using VML in IE and canvas in everything else, using fonts that are defined as a set of vector paths stored using JSON.

# 27th October 2008, 11:45 pm / canvas, fonts, javascript, json, typefacejs, typography, vml

Windows Live Adds Support For OpenID. I hope they include the option to log in to the provider using CardSpace, to address phishing.

# 27th October 2008, 9:34 pm / cardspace, live, microsoft, openid, phishing, techcrunch

Web Security Horror Stories: The Director’s Cut. Slides from the talk on web application security I gave this morning at <head>, the worldwide online conference. I just about managed to resist the temptation to present in my boxers. Topics include XSS, CSRF, Login CSRF and Clickjacking.

# 26th October 2008, 12:15 pm / clickjacking, csrf, logincsrf, security, xss

YouTube Enables Deep Linking Within Videos. Add #t=1m45s to the end of a YouTube URL to jump to that spot. I’d be a lot more impressed by this if visiting a YouTube link in the UK didn’t use IP geo targetting to redirect me to uk.youtube.com, losing the fragment identifier and hence the #t specifier in the process.

# 26th October 2008, 8:28 am / broken, fragments, geoip, urls, youtube

Inside guardian.co.uk: Upgrading our RSS feeds. The Guardian now offers full-content RSS feeds of pretty much everything for which we have the necessary rights (no ads yet, but they’ll be added soon). Adding “/rss” to the URL in various places on the site will get you feeds for sections, subjects, contributors and more.

# 24th October 2008, 11:08 am / fullcontent, guardian, rss, syndication

Trying out Windows on EC2. Phillip Pearson provides the missing documentation.

# 24th October 2008, 9:57 am / amazonaws, cloud-computing, ec2, phillip-pearson, windows

Freebase Hack Day. I’m finding Freebase increasingly interesting at the moment, and their public hack day on the 8th November in San Francisco looks like it could be a lot of fun. They’ll be previewing Acre, a new server-side JavaScript application platform targeted at building Freebase powered applications. Hit “view source” at the bottom of the hack day site to see what an Acre app looks like.

# 24th October 2008, 12:06 am / acre, events, freebase, hackday, javascript, san-francisco

CSSHttpRequest (via) Devious cross-domain Ajax hack that uses CSS for transport (@import rules with data URIs, but it still works in IE). Similar to JSONP but safer, since JSONP can cause arbitrary JavaScript to execute.

# 23rd October 2008, 6:25 pm / ajax, atimport, crossdomain, css, csshttprequest, javascript, json, jsonp

Years

Tags