Simon Willison’s Weblog

Subscribe
Atom feed

Entries

Filters: Sorted by date

djng—a Django powered microframework

djng is nearly two weeks old now, so it’s about time I wrote a bit about the project.

[... 1,501 words]

rev=canonical bookmarklet and designing shorter URLs

I’ve watched the proliferation of URL shortening services over the past year with a certain amount of dismay. I care about the health of the web and try to ensure that URLs I am responsible will last for as long as possible, and I think it’s very unlikely that all of these new services will still be around in twenty years time. Last month I suggested that the Internet Archive start mirroring redirect databases, and last week I was pleased to hear that Archiveteam, a different organisation, had already started crawling.

[... 920 words]

List of SxSW 2009 panels with “social” in the title

  • A Hard Sell? Social Media & Your Boss
  • Can Social Media End Racism?
  • Digital Urbanites: How To Become Part of the New Social Capital
  • The Future Of Social Networks
  • How Social Networks Are Killing the Revolution
  • Making Whuffie: Raising Social Capital in Online Communities
  • The Mix at Six Hosted by Social Media Group
  • Mobile Social SXSW BBQ
  • My Boss Doesn’t Get It: Championing Social Media to the Man
  • PBS’ Interactive Social Media & Online Video Studio
  • The Search for a More Social Web
  • Security for the Social Set
  • Social Engineering: Scam Your Way Into Anything or From Anybody
  • Social Gamers: Away From the Keyboard
  • Social Media For Social Good
  • Social Media Marketing
  • Social Media Marketing: An Hour a Day
  • Social Media Nonprofit ROI Poetry Slam
  • Social Media: If You Liked it, Then You Should Have Put a Digg on it...
  • Social Networking in Health: e-Patients, Data & Privacy
  • Social Patterns and Antipatterns For the Win
  • Suxorz ’09: The Ten Worst Social Media Campaigns
  • Twitter for Marketers: Is It Still Social Media?
  • Using GPS & Location to Enhance Social Networking
  • Using the New Digital Social Media to Accelerate Sustainability

A few notes on the Guardian Open Platform

This morning we launched the Guardian Open Platform at a well attended event in our new offices in Kings Place. This is one of the main projects I’ve been helping out with since joining the Guardian last year, and it’s fantastic to finally have it out in the open.

[... 839 words]

Pragmatism, purity and JSON content types

I started a conversation about this on Twitter the other day, but Twitter is a horrible place to have an archived discussion so I’m going to try again here.

[... 555 words]

Rate limiting with memcached

On Monday, several high profile “celebrity” Twitter accounts started spouting nonsense, the victims of stolen passwords. Wired has the full story—someone ran a dictionary attack against a Twitter staff member, discovered their password and used Twitter’s admin tools to reset the passwords on the accounts they wanted to steal.

[... 910 words]

DjangoCon and PyCon UK

September is a big month for conferences. DjangoCon was a weekend ago in Mountain View (forcing me to miss both d.Construct and BarCamp Brighton), PyCon UK was this weekend in Birmingham, I’m writing this from @media Ajax and BarCamp London 5 is coming up over another weekend at the end of this month. As always, I’ve been posting details of upcoming talks and notes and materials from previous ones on my talks page.

[... 446 words]

Announcing dmigrations

The team at Global Radio (formerly GCap Media) is the largest group of Django developers I’ve personally worked with, consisting of 14 developers split into two scrum teams, all contributing to the same overall codebase.

[... 625 words]

Back to full-time employment

I’ve been freelance for a year and a half now, and it’s been a great deal of fun. For me, being freelance meant having the freedom to pursue all sorts of different interests—technical writing, public speaking, Django, OpenID, JavaScript—and the opportunity to work with some really fantastic people.

[... 181 words]

The point of “Open” in OpenID

TechCrunch report that Microsoft are accepting OpenID for their new HealthVault site, but with a catch: you can only use OpenIDs from two providers: Trustbearer (who offer two-factor authentication using a hardware token) and Verisign. "Whatever happened to the Open in OpenID?", asks TechCrunch’s Jason Kincaid.

[... 451 words]

Debugging Django

I gave a talk on Debugging Django applications at Monday’s inaugural meeting of DJUGL, the London Django Users Group. I wanted to talk about something that wasn’t particularly well documented elsewhere, so I pitched the talk as “Bug Driven Development”—what happens when Test Driven Development goes the way of this unfortunate pony.

The slides [... 1,759 words]

jQuery style chaining with the Django ORM

Django’s ORM is, in my opinion, the unsung gem of the framework. For the subset of SQL that’s used in most web applications it’s very hard to beat. It’s a beautiful piece of API design, and I tip my hat to the people who designed and built it.

[... 820 words]

wikinear.com, OAuth and Fire Eagle

I’m pleased to announce wikinear.com. It’s a simple site that does just one thing: show you a list of the five Wikipedia pages that are geographically closest to your current location. It’s designed (or not-designed) to be used mainly from mobile phones.

[... 1,190 words]

Django People: OpenID and microformats

In hindsight, it was a mistake to launch Django People without support for OpenID. It was on the original feature list, but in the end I decided to cut any feature that wasn’t completely essential in order to get the site launched before it drowned in an ocean of “wouldn’t-it-be-cool-ifs”.

[... 626 words]

Django People

I’m constantly surprised by the number of people I run in to at conferences (or even in one case on the train) who are using Django but are completely invisible to the Django community. It seems that this is the downside of having good documentation: many people just read it and start building, without ever showing their face on the mailing lists or IRC.

[... 194 words]

Yahoo!, Flickr, OpenID and Identity Projection

Via ReadWriteWeb, view source on a Flickr photostream page and search for “openid” and you’ll be rewarded with the following snippet:

[... 582 words]

Unobtrusively Mapping Microformats with jQuery

Microformats are everywhere. You can’t shake an electronic stick these days without accidentally poking a microformat-enabled site, and many developers use microformats as a matter of course. And why not? After all, why invent your own class names when you can re-use pre-defined ones that give your site extra functionality for free?

[... 2,277 words]

Comet works, and it’s easier than you think

Visit Comet works, and it's easier than you think

I gave a talk this morning at the Yahoo! Web Developer Summit on Comet, cometd and Bayeux.

[... 1,314 words]

Figuring out OpenSocial

So it’s out, and lots of people are talking about it, but I’m still trying to work out exactly what it is. There seem to be two parts to it: a standardised set of GData APIs for accessing lists of friends and their activities (like the Facebook news feed) and a bunch of JavaScript APIs for enabling developers to write hostable widgets and “container sites” to embed those widgets.

[... 289 words]

Getting from point A to B (the right way)

If your laptop is relatively recent it might have hardware support for virtualization (Intel Core Duo chips do, for example). If so, it’s worth looking in to using VMWare or Parallels to run a virtual linux server locally on your machine. You’ll need a fair amount of RAM for this as well—2 GB minimum probably.

[... 194 words]

Questioning Steve Ballmer

This morning I attended a half day briefing at Microsoft UK entitled “The Online Opportunity—What Makes a Successful Web 2.0 Start-Up?”. Despite the buzzword laden title the event was well worth the trip up from Brighton, mainly due to the Q&A with Steve Ballmer (a pretty rare opportunity).

[... 423 words]

Designing for a security breach

User account breaches are inevitable. We should take that in to account when designing our applications.

[... 545 words]

jQuery for JavaScript programmers

When jQuery came out back in January 2006, my first impression was that it was a cute hack. Basing everything around CSS selectors was a neat idea (see getElementsBySelector) but the chaining stuff looked like a bit of a gimmick and the library as a whole didn’t look like it would cover all of the bases. I wrote jQuery off as a passing fad.

[... 2,608 words]

Website for the masses!

You could try building it on top of a wiki engine, like MediaWiki—see my comment on this older question.

[... 33 words]

What to do on vacation?

I had a fantastic (and not expensive) Cajun meal here last night at Montage—really fun place, very quirky.

[... 33 words]

A note about simple registration

Simple registration is an extension that allows OpenID consumers to ask your provider for extra information—your name, e-mail address, date of birth and so on.

[... 391 words]

Doing Local Right

Visit Doing Local Right

“Doing Local Right” was the title of my talk at this year’s @media Europe. Patrick had asked me if I could put together a case study, and I jumped at the chance to share some of the work of my former colleagues at the Lawrence Journal-World newspaper in Lawrence, Kansas. I had the privilege of working at the newspaper for a year in late 2003-2004.

[... 735 words]

Help me figure out my Macbook Pro!

For (slightly) better diagnostics of your wireless connection problems, try running the “Console” application (use Quicksilver or Spotlight to find it). That will show your the system log which often includes more information about connection errors.

[... 50 words]

Massive Dreamhost hack, WordPress not to blame

On mezzoblue, Dave Shea reports that someone had modified every index.php and index.html file on his site to include spam links at the bottom of the page, hidden inside a <u style="display: none;">. Dozens of other people in his comments reported the same thing happening to their sites.

[... 279 words]

Problems with XHTML content type.

The first question you should be asking is why you need XHTML—if you don’t have a specific reason (the need for XML parsers to be able to consume your pages) you’re much better off with HTML 4.01 for now, and HTML 5 in probably a year or so.

[... 245 words]