Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

Flirting with mime types [PDF] (via) Different browsers have different rules for which content types will be treated as active content (and hence could be vectors for XSS attacks). IE uses a blacklist rather than a whitelist and hence rendered active content for 696 of the tested content types.

# 14th April 2008, 8:18 am / browsers, contenttypes, internet-explorer, security, xss

Amazon takes EC2 to the next level with persistent storage volumes. You can store a snapshot of a storage volume to S3 with a single API call, making backups trivial.

# 14th April 2008, 8:04 am / backups, ec2, rightscale, s3, storage, virtualization

Multiple inheritance of newforms and modelforms. If you ever see “Error when calling the metaclass bases metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases” when trying multiple inheritance with newforms and modelforms, here’s a scary solution I found.

# 12th April 2008, 12:54 pm / django, inheritance, metaclasses, modelforms, multipleinheritance, newforms, python

CSRF presentation at RSA 2008. It terrifies me how few people understand CSRF, years after it was discovered. I’ll say it again: if you’re a web developer and you don’t know what that acronym means, go spend an hour reading about it—because the chances are your applications are vulnerable.

# 12th April 2008, 10:52 am / csrf, jeremiah-grossman, rsa, rsa2008, security

Sharedance (via) “Sharedance is a high-performance server that centralize ephemeral key/data pairs on remote hosts, without the overhead and the complexity of an SQL database.”—ideally suited to session data, which is a poor fit for a full relational database.

# 12th April 2008, 10:39 am / django, sessions, sharedance

Active on IRC in the past hour. New Django People feature in collaboration with Brian Rosner—DjangoBot now provides information on currently active IRC participants. There’s an opt-out privacy control and the bot sends you a message about it the first time it logs your activity.

# 12th April 2008, 12:58 am / django, django-people, irc, python

django-rosetta—Google Code. Very classy Django-powered interface for both reading and writing your project’s gettext catalog files, hence allowing application translators to work through a web interface.

# 11th April 2008, 7:31 am / django, djangorosetta, gettext, i18n

Google App Engine for developers. Best in-depth coverage so far, from Niall Kennedy. I didn’t know that Guido had worked on the Django compatibility layer.

# 10th April 2008, 11:14 pm / django, google-app-engine, guido-van-rossum, niall-kennedy, python

Video on Flickr! There’s a 90 second length limit, because “... Flickr is all about sharing photos that you yourself have taken. Video will be no different and so what quickly bubbled up was the idea of long photos, of capturing slices of life to share.”

# 9th April 2008, 1:16 pm / flickr, photos, video

A List Apart: Issue 256. The EveryBlock issue. Paul Smith on EveryBlock’s tasty custom maps, and Wilson Miner on EveryBlock’s tasty accessible data charts.

# 9th April 2008, 12:21 pm / a-list-apart, everyblock, maps, paul-smith, wilson-miner

OpenID for Google Accounts. Google App Engine integrates with Google’s user accounts, so Ryan Barrett (of Google) used it to build an idproxy.net style OpenID provider.

# 9th April 2008, 1:09 am / google, google-app-engine, idproxy, openid, ryan-barrett

Running Django on Google App Engine. Django 0.96 is included, but you need to disable the ORM related parts and use the Google App Engine Bigtable interface instead.

# 8th April 2008, 1:15 pm / django, google, google-app-engine, python

Google App Engine. Write applications in Python using a WSGI compatible application framework, then host them on Google’s highly scalable infrastructure. The most exciting part is probably the Datastore API, which provides external developers with access to Bigtable for the first time.

# 8th April 2008, 7:25 am / bigtable, google, google-app-engine, python, scaling, virtualisation, wsgi

Hash Collisions (The Poisoned Message Attack). Demonstrates the MD5 weakness by providing two deliberately engineered PostScript documents with the same MD5 hash but radically different rendered output.

# 4th April 2008, 7:24 pm / collisions, hashing, md5, postscript, security

Comet at the Highland Fling. I thoroughly enjoyed the Highland Fling yesterday. Here are the slides from my talk on Comet.

# 4th April 2008, 10:13 am / comet, conferences, highlandfling08, javascript, my-talks

Why the webstandards world appears to be choosing Django. I’m not convinced that this is a definite trend, but it certainly makes for an interesting discussion.

# 4th April 2008, 8:33 am / django, gareth-rushgrove, python, web-standards

Implementing a syntax-higlighting JavaScript editor in JavaScript. Appropriately subtitled “a brutal odyssey to the dark side of the DOM tree”. Some seriously clever trickery going on here.

# 4th April 2008, 8:27 am / dom, javascript, syntaxhighlighting

i am near (via) Inspired by wikinear.com and powered by FireEagle, currently just showing nearby pubs from OpenStreetMap but with more stuff planned. I love the URL scheme—pubs.iamnear.net.

# 4th April 2008, 7:53 am / fireeagle, iamnear, openstreetmap, pubs, tom-taylor, urls, wikinear

Advanced JavaScript Debugging Techniques. There’s more to JavaScript debugging than just Firebug.

# 4th April 2008, 7:51 am / debugging, firebug, javascript, sitepen

The Royal Mint: The New Designs Revealed. Matthew Dent’s design for the new UK coinage is inspired—absolutely beautiful. Can’t wait to get my hands on some of these.

# 4th April 2008, 7:42 am / coins, design, matthew-dent, mint, royalmint, uk

Brendan Eich: Popularity. I never knew that Brendan went to Netscape on the promise of “doing Scheme in the browser”.

# 4th April 2008, 7:30 am / brendan-eich, javascript, netscape, scheme

London Connections. Marvellously obsessive blog about the vagaries of London transport, including some really nice custom created maps. I love detailed maps of tube stations; anyone know a good place to find them?

# 2nd April 2008, 8:53 pm / london, londonconnections, mapping, maps, transport

Firefox 3’s password remembering. I’m loving Firefox 3, and the way it does password remembering (with a non-modal toolbar so you can tell if your password worked before deciding to save it) is just one of the major improvements. Opera gets this right as well.

# 2nd April 2008, 8:24 pm / firefox, firefox3, mozilla, nelson-minar, opera, passwordsaving

CSS Compatibility and Internet Explorer (via) Official Microsoft guide to which CSS properties are supported by which versions of IE. This is the kind of documentation browser vendors should be providing as a matter of course.

# 2nd April 2008, 8:05 pm / css, documentation, internet-explorer, microsoft, standards

OpenID and Spam. Matt Mullenweg: “OpenID has a ton of promise for the web—let’s not hurt it by setting people up for disappointment by telling them it’s a spam blocker when it’s not.” True for the case of general registration, but I still believe whitelisting known OpenIDs could be a powerful tool for fighting spam on personal sites.

# 2nd April 2008, 7:33 pm / matt-mullenweg, openid, social-whitelisting, spam, whitelisting

Python-by-example. “This guide aims to show examples of use of all Python Library Reference functions, methods and classes”, thus addressing my number one complaint about Python’s standard library documentation.

# 2nd April 2008, 3:42 pm / documentation, python, stdlib

What’s New in Edge Rails: Easier Timezones (via) Time zones can be a nightmare to get right—if this works well it’s going to make a lot of people’s lives a whole bunch easier.

# 2nd April 2008, 3:39 pm / rails, timezones

Welcome to Game Neverending. It really is back! Hot tip: start by taking the survey, then sell the five pieces of blue paper at the bank with the pig on the roof.

# 1st April 2008, 9:15 pm / flickr, fun, gameneverending, gne

Classy Query. Beautifully implemented parody of class-based JavaScript and verbose namespacing as a jQuery extension, from John Resig. The source code has some neat tricks in it, in particular the buildClass() function.

# 1st April 2008, 9:48 am / aprilfools, funny, javascript, john-resig, jquery, namespacing, parody

Find Your Friends. Flickr have added a characteristically classy friend import feature, pulling from Gmail, Yahoo! and Hotmail address books without any unhygienic password sharing. It’s a crying shame that the Yahoo! contacts API they are using isn’t available outside the company.

# 1st April 2008, 1:01 am / flickr, gmail, hotmail, passwordantipattern, portablesocialnetworks, yahoo

Years

Tags