Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

Session variables without cookies. Brilliant but terrifying hack—you can store up to 2 MB of data in window.name and it persists between multiple pages, even across domains. Doesn’t work with new tabs though, and storing JSON in it and eval()ing it is a bad idea—a malicious site could populate it before sending the user to you.

# 13th May 2008, 9:59 pm / crossdomainstorage, javascript, json, security, sessions

Graffletopia. Huge collection of free OmniGraffle stencils.

# 13th May 2008, 5:58 pm / omnigraffle

Django admin OmniGraffle stencil. Alex Lee put together a beautiful stencil for OmniGraffle containing all of the common UI elements seen in the Django admin interface, as a tool for wireframing.

# 13th May 2008, 5:58 pm / alex-lee, django, django-admin, omnigraffle

Persevere adds Comet Support. Persevere sounds neat: a RESTful HTTP/JSON data store (the interface reminds me of CouchDB) which recently gained the ability to “subscribe” to a resource and receive notifications of updates via comet.

# 13th May 2008, 8:09 am / comet, couchdb, javascript, json, persevere, rest, restful

django-db-log. Middleware that logs Django exceptions to the database, using a clever scheme based on an MD5 of the traceback text to group duplicate errors in to batches.

# 13th May 2008, 8:07 am / david-cramer, django, djangodblog, exceptions, logging, middleware

Yahoo! Internet Location Platform. As an ex-Yahoo! this is really exciting—WhereOnEarth (a London company acquired by Yahoo! in 2005) provide the incredibly detailed geographical data used by Flickr, Upcoming and FireEagle—and now it’s available as an external API.

# 12th May 2008, 9:02 pm / apis, fireeagle, flickr, geocoding, location, upcoming, whereonearth, yahoo

Airship Ventures (via) New startup providing tours of Silicon Valley in a frickin’ Zeppelin. Strangely enough I’ve been complaining about the lack of Zeppelins over Silicon Valley for several years. Really.

# 12th May 2008, 6:41 pm / airships, pubchat, siliconvalley, zeppelins

Beanstalkd. This is the light-weight cross-language queue I’ve been waiting for. Similar to Starling but your workers don’t need to poll for new jobs; you can call the blocking “reserve” call instead.

# 12th May 2008, 9:12 am / beanstalkd, lightweightqueue, queue, starling

Python with a modular IDE (Vim). Great tips—I’d use these if I wasn’t still scarred from the time vim encrypted my file instead of saving it because I had caps lock on by mistake.

# 12th May 2008, 7:09 am / capslock, ide, python, vim

Byteflow Blog Engine. This looks like the most full-featured of the Django blog engines by a pretty big margin, including OpenID client and server support. A product of the growing Russian/Ukrainian Django community.

# 11th May 2008, 7:41 pm / byteflow, django, openid, python, russia

Processing.js. John Resig’s outstanding port of the Processing visualisation language to JavaScript and Canvas. Runs amazingly well in Firefox 3. One hell of a hack.

# 9th May 2008, 8:24 am / canvas, javascript, john-resig, processing

Opera Dragonfly. Opera’s new Firebug-style developer console. Out in alpha and it shows (slow to load and the interactive console leaves a lot to be desired) but still looks incredibly promising, especially the remote debugging tools for working with Opera on phones and games consoles.

# 6th May 2008, 7:04 pm / debugging, dragonfly, firebug, opera

Unobtrusive JavaScript with jQuery. The online handout for the tutorial I gave this morning at XTech.

# 6th May 2008, 6:53 pm / handout, javascript, jquery, unobtrusive-javascript, xtech, xtech08

Sneaking Ruby Through Google App Engine (and Other Strictly Python Places). In a characteristic stroke of genius, _why makes a solid initial attempt at compiling Ruby 1.9 source to Python 2.5 bytecode.

# 5th May 2008, 10:13 pm / bytecode, google-app-engine, python, ruby, whytheluckystiff

Making Time Machine work with the ReadyNAS. Finally, a decent set of instructions on using a ReadyNAS with Time Machine. The trick is to create a local sparse disk image with a magic name (based on hostname and eth0 MAC address), then move it to the NAS.

# 4th May 2008, 5:55 pm / backups, macos, readynas, timemachine

twistori. Lovely implementation of a neat idea for a Twitter app from Amy Hoy and Thomas Fuchs.

# 4th May 2008, 8:20 am / amyhoy, thomas-fuchs, twistori, twitter

James B. on Pownce (via) James Bennett has started using Pownce for sort of medium-format blog entries, longer than a tweet but shorter than a blog essay and delivered with a healthy dose of snark.

# 2nd May 2008, 9:15 pm / blogging, james-bennett, pownce, snark

How one site dealt with SQL injection attack (via) Horrifying story of developer incompetence from Autoweb: “The contractor had no idea how to find and fix the Web page vulnerability that allowed the SQL injection attack code to execute successfully.”

# 2nd May 2008, 9:01 pm / autoweb, incompetence, security, sql-injection

Django Users Group London meetup, 19th of May. The inaugural meeting of DJUGL will be on the 19th of May at the Capital Radio building in Leicester Square, sponsored by GCap Media. Three presentations starting at 7pm (I’ll be giving one of them), then on to the pub. Sign up on EventWax; there are only 70 places.

# 2nd May 2008, 12:19 pm / django, djugl, events, gcap, gcapmedia, london, python

SourceForge Allows OpenID Logins. Excellent—SourceForge is the kind of site that I log in to infrequently enough to always forget my password (and indeed username) making OpenID a great fit.

# 1st May 2008, 1:05 pm / openid, sourceforge

Consumption is also about choice. Tom Armitage’s thoughtful response to Clay Shirky’s Web 2.0 talk on television as “cognitive surplus”.

# 1st May 2008, 1:01 pm / clay-shirky, consumption, tom-armitage, tv

so-you-wanna-see-an-image (via) WordPress.com use Amazon S3 to store images (presumably to save having to create a massive scalable redundant filesystem themselves) but the images are served via a load balanced memcached / varnishd caching system that they control.

# 1st May 2008, 10:13 am / amazon-s3, caching, memcached, s3, varnish, wordpresscom

Load Balancer Update. WordPress.com has switched from Pound to nginx for load balancing, resulting in a significant drop in CPU usage. I’ve been using nginx on my little VPS for over a year now with no complaints, nice to know it scales up as well as down.

# 1st May 2008, 10:06 am / load-balancing, nginx, pound, wordpress, wordpresscom

Adobe and Industry Leaders Establish Open Screen Project (via) Talk about burying the lede... the real story is that Adobe are going to drop the license restriction that prevents other people from implementing SWF players. They’re also publishing the AMF and Flash Cast protocols and removing licensing fees for Flash Player on devices.

# 1st May 2008, 9:43 am / adobe, amf, flash, flashcast, swf

Core Techniques and Algorithms in Game Programming. Scarily detailed online book on games programming, including 2D and 3D graphics, AI, multiplayer network code, indoor and outdoor rendering, character animation and much more. UPDATE: Removed the original link, which appeared to be a pirated copy.

# 1st May 2008, 12:26 am / algorithms, game-design, games, programming

The Sea Forts (via) History and stunning photos of British World War II sea forts (kind of steel castles on stilts) seven and a half miles off the coast of Kent.

# 27th April 2008, 10:51 pm / history, photography, seaforts, wwii

Promise and Peril for Alternative Ruby Impls. Charles Nutter’s detailed and opinionated overview of the state of twelve different Ruby implementations (six of which are covered in detail).

# 27th April 2008, 2:18 pm / charles-nutter, ironruby, jruby, macruby, rubinius, ruby

QuerysetRefactorBranch. What’s new and changed now that queryset-refactor has merged to trunk.

# 27th April 2008, 7:34 am / django, python, querysetrefactor

Multi-Inflection-Point Alert. Dammit, Tim, stop giving away our competitive advantages!

# 26th April 2008, 6:48 pm / bigtable, couchdb, java, python, rails, rest, simpledb, soap, tim-bray

Years

Tags