Simon Willison’s Weblog

Items in Mar, 2009

Filters: Year: 2009 × Month: Mar ×


My Guardian OpenPlatform API’n’Data Hacks’n’Mashups Roundup. Superb collection of Guardian Open Platform mashups from Tony Hirst, all of which use free online tools such as Yahoo! Pipes and Many Eyes. We invited Tony in to give a tech talk at the Guardian last week. # 31st March 2009, 10:04 pm

Special Events in jQuery. How to add a custom “tripleclick” event to jQuery, using the jQuery.event.special extension hook. # 30th March 2009, 10:15 am

Help! My iPod thinks I’m emo—Part 1. Detailed write-up of one of my favourite panels from this year’s SxSW, on music recommendation engines. # 30th March 2009, 10:11 am

Apparently [unladen-swallow] is already 30% faster than CPython, and this version is being used to run some of the Python code on YouTube.

Ted Leung # 30th March 2009, 10:10 am

ProjectPlan—unladen-swallow. A branch of Python 2.6 aiming to radically improve performance (the target is a 5x improvement), by compiling Python to machine code using LLVM’s JIT engine. I think this is a Google 20% time project (or maybe not, see the comments). An early version without LLVM is already available for download. # 30th March 2009, 10:09 am

Development virtual machines on OS X using VMWare and Ubuntu. Bradley Wright provides detailed instructions for getting the JeOS (VM optimised) flavour of Ubuntu running with VMWare tools so you don’t need to run samba just to share your desktop. # 24th March 2009, 2:31 pm

Future roadmap for mod_wsgi. mod_wsgi 3.0 isn’t too far off, and will include Python 3.0 support, WSGI application preloading and internal web server redirection (similar to nginx X-Accel-Redirect). Version 4.0 plans a major architectural change that will allow multiple versions of Python to be run from the same Apache. # 19th March 2009, 5:27 pm

We are facing an economic crisis that is within our capacity to solve, and an ecological crisis that we lack the political means to prevent. It’s only by failing at the former that we might have a chance at surviving the latter.

Maciej Cegłowski # 19th March 2009, 4:11 pm

Building Fast Client-side Searches. Flickr now lazily loads your entire contact list in to memory for auto-completion. Extensive benchmarking found that a control character delimited string was the fastest option for shipping thousands of contacts around as quickly as possible. # 19th March 2009, 3:35 pm

Pwn2Own trifecta: Hacker exploits IE8, Firefox, Safari. You just can’t trust browser security: Current versions of Safari, IE8 and Firefox all fell to zero-day flaws at an exploit competition. None of the vulnerabilities have been disclosed yet. # 19th March 2009, 3:30 pm

Parrot 1.0.0 “Haru Tatsu” Released! Parrot hits 1.0! Anyone know how complete Pynie, the Python implementation on top of Parrot is? # 19th March 2009, 3:17 pm

Streams, affordances, Facebook, and rounding errors. I asked Kellan about scaling activity streams the other day. Here he suggests the best technique is not to promise a perfect stream (like Twitter does)—Facebook used to get away with 80% loss of update messages, but their new redesign has changed the contract with their users. # 19th March 2009, 2:02 pm

Load spikes and excessive memory usage in mod_python. “The final answer? Stop using mod_python, use mod_wsgi and run it with daemon mode instead. You will save yourself a lot of headaches by doing so.” # 16th March 2009, 5:26 pm

slippy faumaxion, take two. Mike Migurski made a slippy map using triangular tiles, based on the same principle as Buckminster Fuller’s famous Dymaxion World Map. # 15th March 2009, 3:40 pm

Parallel merge sort in Erlang. Thoughts on an Erlang-y way of implementing a combined activity stream (e.g. Facebook and Twitter). Activity streams are a Really Hard Problem—as far as I know there’s no best practise for implementing them yet. # 15th March 2009, 1:36 pm

Fixing IE by porting Canvas to Flash. Implementing canvas using Flash is an obvious step, but personally I’m much more interested in an SVG renderer using Flash that finally brings non-animated SVGs to IE. # 15th March 2009, 1:34 pm

redis (via) An in-memory scalable key/value store but with an important difference: this one lets you perform list and set operations against keys, opening up a whole new set of possibilities for application development. It’s very young but already supports persistence to disk and master-slave replication. # 15th March 2009, 1:32 pm

Concurrence. Exciting: a Python framework for “creating massively concurrent network applications” (the tutorial benchmarks a Hello World web server at over 8,000 requests a second). It’s implemented on top of libevent using pyrex, can run on either Stackless Python or Greenlets from the py library and ships with a WSGI server, an HTTP client and a DBAPI 2.0 compliant MySQL driver. # 15th March 2009, 1:28 pm

Ruby on Rails 2.3 Release Notes. I’m impressed with how thoroughly Rails has embraced Rack (Ruby’s standardised web framework API, inspired by Python’s WSGI). # 15th March 2009, 1:22 pm

maps from scratch. An idea whose time has come: using EC2 AMIs for tutorial sessions to give everyone a pre-configured environment. # 15th March 2009, 1:20 pm

Southerly Breezes. Andrew Godwin is slowly assimilating the best ideas from other Django migration systems in to South—the latest additions include ORM Freezing from Migratory and automatic change detection. Exciting stuff. # 15th March 2009, 1:17 pm

It makes increasingly less sense even to talk about a publishing industry, because the core problem publishing solves—the incredible difficulty, complexity, and expense of making something available to the public—has stopped being a problem.

Clay Shirky # 15th March 2009, 5:09 am

Understanding Bidirectional (BIDI) Text in Unicode. It turns out you need to sanitise user input to ensure there are no unicode characters that switch your site’s regular text to RTL. # 15th March 2009, 4:37 am

List of SxSW 2009 panels with “social” in the title

  • A Hard Sell? Social Media & Your Boss
  • Can Social Media End Racism?
  • Digital Urbanites: How To Become Part of the New Social Capital
  • The Future Of Social Networks
  • How Social Networks Are Killing the Revolution
  • Making Whuffie: Raising Social Capital in Online Communities
  • The Mix at Six Hosted by Social Media Group
  • Mobile Social SXSW BBQ
  • My Boss Doesn’t Get It: Championing Social Media to the Man
  • PBS’ Interactive Social Media & Online Video Studio
  • The Search for a More Social Web
  • Security for the Social Set
  • Social Engineering: Scam Your Way Into Anything or From Anybody
  • Social Gamers: Away From the Keyboard
  • Social Media For Social Good
  • Social Media Marketing
  • Social Media Marketing: An Hour a Day
  • Social Media Nonprofit ROI Poetry Slam
  • Social Media: If You Liked it, Then You Should Have Put a Digg on it...
  • Social Networking in Health: e-Patients, Data & Privacy
  • Social Patterns and Antipatterns For the Win
  • Suxorz ’09: The Ten Worst Social Media Campaigns
  • Twitter for Marketers: Is It Still Social Media?
  • Using GPS & Location to Enhance Social Networking
  • Using the New Digital Social Media to Accelerate Sustainability

[... 190 words]

Practical, maintainable CSS (via) Nat’s posted slides and a video from her latest talk at last week’s Brighton Girl Geeks evening. # 12th March 2009, 12:46 am

Get our full university data. “The Guardian’s university rankings are the most visited part of Education Guardian”—and now they’re available as a spreadsheet. # 11th March 2009, 1:52 pm

Guardian + Lucene = Similar Articles + Categorisation. Alf Eaton loaded 13,000 Guardian articles tagged Science in to Solr and Lucene and is using Solr’s MoreLikeThisHandler to find related articles and automatically apply Guardian tags to Nature News articles. # 11th March 2009, 12:53 pm

I’m not bowled over much these days. But Guardian Open Platform is a chasmic leap into the future. It is a work of simplistic beauty that I’m sure will have a dramatic impact in the news market. The Guardian is already a market leader in the online space but Open Platform is revolutionary. It makes all of their major competitors look timid.

Tom Watson # 10th March 2009, 2:30 pm

A few notes on the Guardian Open Platform

This morning we launched the Guardian Open Platform at a well attended event in our new offices in Kings Place. This is one of the main projects I’ve been helping out with since joining the Guardian last year, and it’s fantastic to finally have it out in the open.

[... 839 words]

django-gae2django. An implementation of the Google App Engine API (datastore, memcache, urlfetch, users and mail) that runs on Django, allowing you to take an existing application written for App Engine and deploy it on your own server on top of Django. # 9th March 2009, 3:37 pm