Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

Is your Rails application safe? (via) update_attributes(params[:foo]) in ActiveRecord is an anti-pattern.

# 22nd September 2008, 8:28 pm / activerecord, antipattern, rails, security

Accessibility Experiment. Joe Walker asks what would happen if we threw away the idea of serving the same accessible site to every user and instead tried building specific versions aimed at different disabilities.

# 22nd September 2008, 9:29 am / accessibility, joe-walker

RestView—a class for creating a view that dispatches based on request.method (via) I finally got around to writing up a simple approach I’ve been using for REST-style view functions in Django that dispatch based on request.method.

# 21st September 2008, 8:47 pm / django, django-snippets, python, rest, restful, restview, views

backup_to_s3.py. I wrote Yet Another S3 backup script today. It’s a thin wrapper about boto that doesn’t do anything particularly impressive, but it fits my brain.

# 21st September 2008, 6:51 pm / amazon-web-services, backups, boto, projects, python, s3, sysadmin

Introducing the Django Debug Toolbar. Another project inspired by DjangoCon: a component based debugging toolbar for Django. I like the architecture so far.

# 21st September 2008, 6:32 pm / debugging, django, djangocon, django-debug-toolbar, rob-hudson

Django version 1.1 roadmap. Django 1.1 is due out in March, but the deadline for feature proposals is November the 7th.

# 20th September 2008, 7:17 pm / django, python, roadmap

Django’s release process. Django is moving to time-based releases, with minor releases (new features but no backwards incompatible changes) approximately every six months.

# 20th September 2008, 7:16 pm / django, python, releases

OAuth Playground (via) Neat OAuth API explorer from the Google Data APIs team.

# 20th September 2008, 4:40 pm / apis, google, google-data, oauth

When Ajax Attacks! Web application security fundamentals. Slides and notes from my talk on web application security at @media Ajax last Tuesday.

# 20th September 2008, 4:16 pm / ajax, atmediaajax, atmediaajax2008, csrf, javascript, security, slides, speaking, my-talks, xss

How Companies Pay Artists to Include Brands in Lyrics. “We just feel that if it’s a product that’s admired by the artist and fits his/her image, we now have the capability of leveling out the playing field and making things financially beneficial for all parties involved.” Charming.

# 20th September 2008, 12:16 pm / branddropping, marketing, music

Tell-a-Friend: Leverage Word of Mouth Marketing. I’d love to know how they intend to stop this free widget from becoming the world’s most popular spam proxy. And of course, they abuse the password anti-pattern despite the existence of safe API alternatives to address book scraping.

# 20th September 2008, 12 pm / spam, tellafriend

We’re Never Content. Amazon will be releasing a proper edge caching CDN on top of S3 “before the end of the year”.

# 18th September 2008, 12:30 pm / amazon, cdn, s3, web-services

DjangoCon and learning from Zope 2. Mark Ramm presented probably the most thought-provoking talk at DjangoCon. He’s started writing it up as a series of posts.

# 17th September 2008, 11:25 pm / django, djangocon, mark-ramm, python, turbogears, zope2

Frame-Busting Gadgets. I’ve always been slightly suspicious of the Google Gadgets / OpenSocial idea of sandboxing untrusted third party content in an iframe. Sure enough, it turns out iframe busting scripts work in Gadgets, meaning a seemingly harmless gadget could potentially launch a phishing attack.

# 17th September 2008, 11:23 pm / framebusting, gadgets, javascript, opensocial, phishing, security

When Ajax Attacks! Web application security fundamentals. Slides and (other people’s) notes from my presentation at @media Ajax on Tuesday.

# 17th September 2008, 11:18 pm / ajax, atmediaajax, atmediaajax08, csrf, javascript, security, speaking, my-talks, xss, recovered

YouTube Playlist: DjangoCon 2008 Sessions. YouTube’s tag and search indexes appear to lag behind the main site by quite a while; this appears to be the definitive index page for videos of talks at DjangoCon.

# 16th September 2008, 4:50 am / django, djangocon08, python, youtube

YouTube: djangocon tag. Google have started posting videos of presentations at DjangoCon on YouTube.

# 16th September 2008, 2:43 am / django, djangocon, google, python, youtube

dConstruct 2008 notes. I missed this year’s d.Construct due to DjangoCon, but from Alastair Campbell’s notes it looks like it was the best one yet.

# 15th September 2008, 3:23 pm / alastair-campbell, conferences, dconstruct

Gearshift. Whoa, a full migrations library written in JavaScript for Gears (which uses SQLite for its data store).

# 15th September 2008, 2:51 pm / gears, gearshift, google-gears, javascript, migrations, sqlite

Kevin Teague explains the Python packaging ecosystem. The distinction between setuptools, PyPI, distutils, eggs, easy_install, pkg_resources and zc.buildout used to make my head spin. Kevin Teague’s outstanding explanation made it all make sense.

# 15th September 2008, 2:06 pm / buildout, distutils, django, easyinstall, eggs, kevin-teague, pypi, python, setuptools

django-batchadmin (via) Seriously classy reusable Django app that adds batch editing (multiple delete by default, with hooks to add your own custom batch actions) to the Django admin changelist screen, using best practice techniques of sub-classing ModelAdmin and hence requiring no patches to Django core itself.

# 15th September 2008, 10:46 am / brian-beck, django, django-admin, djangobatchadmin, modeladmin, python

Google wants your Hotmail, Yahoo and AOL contacts. And they’re using the password anti-pattern to get them! Despite both Yahoo! and Hotmail (and Google themselves; not sure about AOL) offering a safe, OAuth-style API for retrieving contacts without asking for a password. This HAS to be a communications failure somewhere within Google. Big internet companies stand to lose the most from widespread abuse of the anti-pattern, because they’re the ones most likely to be targetted by phishers. Shameful.

# 15th September 2008, 10:39 am / aol, ffs, google, hotmail, oauth, passwordantipattern, phishing, security, shameful, yahoo

Using Python and Stompserver to Get Started With Message Queues. An eminently practical guide to this year’s Hot New Thing (for web developers at least) from Gareth Rushgrove.

# 14th September 2008, 11:39 pm / gareth-rushgrove, message-queues, python, stomppy, stompserver

Goon City. Every internet meme ever, rendered in pixel art. See if you can find the Zeppelin.

# 14th September 2008, 11:09 pm / funny, gooncity, memes, pixelart, somethingawful, zeppelins

I love Zeppelins, and you should too (via) Slides from my PyCon UK lightning talk on Zeppelins. I’ve annotated them using SlideShare comments.

# 13th September 2008, 6:38 pm / airships, lightning-talks, pyconuk, pyconuk2008, slides, speaking, my-talks, zeppelins

djangopony.com (via) “Magic that can’t be removed”

# 13th September 2008, 12:10 pm / django, djangopony, magic, pony

OAuth on the iPhone. Mike from Pownce explains their superbly implemented OAuth flow for the Pownce iPhone app, and how much push-back they got on it from regular users. One interesting point is that an iPhone application could “fake” a transition to mobile safari using core animation as part of a sophisticated phishing attack. This is a flaw in the iPhone OS itself—it does not offer a phishing-proof chrome as part of the OS.

# 12th September 2008, 9:47 pm / iphone, mike-malone, oauth, phishing, pownce, security

Years

Tags