Simon Willison’s Weblog

Subscribe

Sunday, 15th March 2009

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.

# 4:37 am / bidi, calhenderson, filtering, security, unicode, userinput

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

# 5:09 am / clay-shirky, newspapers, publishing

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.

# 1:17 pm / andrew-godwin, databases, django, migrations, orm, south

maps from scratch. An idea whose time has come: using EC2 AMIs for tutorial sessions to give everyone a pre-configured environment.

# 1:20 pm / cloud-computing, ec2, mapping, michal-migurski, tutorials

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

# 1:22 pm / python, rack, rails, ruby, wsgi

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.

# 1:28 pm / greenlets, http, libevent, mysql, pyrex, python, stacklesspython, wsgi

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.

# 1:32 pm / keyvaluepairs, masterslave, redis, replication, salvatore-sanfilippo, scaling

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.

# 1:34 pm / canvas, flash, ie, svg

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.

# 1:36 pm / activitystreams, erlang, facebook, twitter

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.

# 3:40 pm / buckminsterfuller, faumaxion, mapping, michal-migurski

2009 » March

MTWTFSS
      1
2345678
9101112131415
16171819202122
23242526272829
3031