Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

Introduction to Abject-Oriented Programming. The best part is the comments, where several people completely fail to get the joke.

# 8th July 2007, 6:24 am / abject, funny, programming, wtf

Anyone who recently downloaded GreaseMonkey scripts from userscripts.org should check their scripts. I haven’t confirmed this, but this Jyte claim suggests that userscripts.org was hacked and cookie stealing code inserted in to some of the scripts. UPDATE: Not hacked; just bad scripts submitted through the regular process.

# 7th July 2007, 10:43 pm / greasemonkey, jyte, security, userscripts

The CSS Redundancy Checker. A tool for checking your markup for outdated CSS rules that don’t match any of your HTML. We were discussing the need for something similar to this at Torchbox a few weeks ago.

# 6th July 2007, 12:02 pm / css, hpricot, html, ruby, tom-armitage, tools

Let there be web divisions. A call to arms from Jeffrey Zeldman: organisations need Web divisions that operate separately from Marketing and IT.

# 5th July 2007, 1:34 am / jeffrey-zeldman

The Django Web Application Framework. I’m slowly pushing my presentations from the past couple of years up to Slideshare. This is a Django talk from April 2006, so it’s a little out of date.

# 5th July 2007, 1:07 am / accu, django, python, slides, slideshare, speaking, my-talks

Clever Caching. Instead of invalidating your cache directly, bump a version number on your model (blog entry or whatever) and use that as part of the cache key. This also gives you dynamic etags for free.

# 5th July 2007, 12:56 am / caching, etags, memcache, michael-koziarski

welovelocal.com. Nicely designed new local business review site, London only but going UK wide soon. OpenID enabled!

# 4th July 2007, 8:24 pm / local, london, openid, welovelocal

UnicodeBranch: Porting Applications. A checklist for porting Django applications to handle the new unicode changes. If your application only handles ASCII text at the moment you shouldn’t have to change a thing.

# 4th July 2007, 2:41 pm / ascii, django, porting, unicode

Unicode data in Django. Documentation for Django’s new unicode support.

# 4th July 2007, 2:24 pm / django, unicode

Django changeset 5609. “Merged Unicode branch into trunk. This should be fully backwards compatible for all practical purposes.”

# 4th July 2007, 2:22 pm / django, malcolm-tredinnick, unicode

PyMOTW: subprocess. Better documentation for the swiss army knife of process control tools.

# 4th July 2007, 10:18 am / doug-hellmann, python, subprocess

SlideShare: Webapps scalability. Lots of great presentations on scaling, from Twitter, Digg, Vox, LiveJournal, Last.fm and more.

# 4th July 2007, 12:53 am / digg, lastfm, livejournal, scaling, sixapart, slideshare, twitter, vox

Lego Millenium Falcon Stop Motion. This introduced me to a whole world of YouTube Star Wars lego stop motion videos.

# 3rd July 2007, 11:03 pm / animation, lego, milleniumfalcon, starwars, stopmotion, youtube

The Geni “contact us” form. As you type your message, Geni pulls in likely entries from their FAQ using Ajax—with pretty decent results.

# 3rd July 2007, 9 pm / ajax, faq, geni

Google Translate (beta). Google’s beta translator based on statistical analysis of things like the United Nations corpus. I have no idea how long this has been available; it isn’t linked from their homepage.

# 3rd July 2007, 4:43 pm / google, i18n, languages, translation

HTML Entity Character Lookup. Look up HTML entities by characters that are a similar shape.

# 3rd July 2007, 3:41 pm / html, tool, unicode

Gmail and Django. I’d never considered using Gmail to send e-mail from applications, but it could be a useful way of avoiding having outbound e-mail falsely flagged as spam.

# 2nd July 2007, 9:46 pm / django, email, gmail, nathan-ostgard

jQuery Taconite Plugin. Lets you serialize jQuery DOM manipulation commands as an XML document for retrieval via Ajax.

# 2nd July 2007, 6:29 pm / ajax, javascript, jquery, plugins, taconite

Web hosting landscape and mod_wsgi. Graham Dumpleton explains how mod_wsgi’s daemon mode should provide secure Python deployment for commodity hosting providers.

# 2nd July 2007, 3:47 pm / graham-dumpleton, hosting, modwsgi, python, wsgi

Processing Web Documents using Alexa Web Search, Amazon S3 and Amazon EC2. I’m not sure when it happened, but Alexa Web Search can be hooked in to EC2 now—presumably with free bandwidth between the two.

# 1st July 2007, 7:19 pm / alexa, amazon, aws, ec2, s3

dnspython. Python DNS toolkit—seems like the kind of thing that should be in the standard library.

# 1st July 2007, 11:55 am / dns, python

jQuery plugin: Validation. Pretty clever way of attacking the client-side form validation problem; supports both configuration object literals and custom attributes on the form fields themselves.

# 30th June 2007, 10:26 pm / javascript, jquery, plugins, validation

Python, Mac OS X, and Readline. This worked for me, though you need to already have gcc and svn installed. It’s crap like this that made me switch to Ubuntu on Parallels for most of my Python development.

# 30th June 2007, 10:24 pm / macos, parallels, python, rant, readline, ubuntu

Does negative press make you Sicko? (via) Google’s Health Advertising Blog encourages the healthcare industry to buy ads against Sicko as part of an “issue management campaign” to help “educate” the public. Creepy.

# 30th June 2007, 6 pm / creepy, google, healthcare, sicko

Appalachian. “Appalachian is a Firefox add-on that adds the ability to manage and use several OpenIDs to ease the login parts of your browsing experience.”

# 30th June 2007, 1:36 pm / appalachian, firefox, openid, plugins

Years

Tags