Simon Willison’s Weblog

Subscribe
Atom feed

Quotations

Filters: Sorted by date

Craigslist is fighting back. Its latest gimmick is phone verification. Posting in some categories now requires a callback phone call, with a password sent to the user either by voice or as an SMS message. [...] Spammers tried using their own free ringtone sites to get many users to accept the Craigslist verification call, then type in the password from the voice message. Craigslist hasn't countered that trick yet.

John Nagle

# 26th May 2008, 8:40 am / spam, phonecall, sms, callback, craigslist

Scoble writes something - 6,800 writes are kicked off, 1 for each follower. Michael Arrington replies - another 6,600 writes. Jason Calacanis jumps in - another 6,500 writes. Beyond the 19,900 writes, there's a lot of additional overhead too. You have to hit a DB to figure out who the 19,900 followers are. [...] And here's the kicker: that giant processing and delivery effort - possibly a combined 100K disk IOs - was caused by 3 users, each just sending one, tiny, 140 char message. How innocent it all seemed.

Isreal L'Heureux

# 23rd May 2008, 7:28 pm / twitter, scaling

A McAfee spokeswoman said the company rates XSS vulnerabilities less severe than SQL injections and other types of security bugs. "Currently, the presence of an XSS vulnerability does not cause a web site to fail HackerSafe certification," she said. "When McAfee identifies XSS, it notifies its customers and educates them about XSS vulnerabilities."

Dan Goodin

# 17th May 2008, 11:31 pm / mcafee, idiotic, security

Hey Google: any chance we can all build the social web together without requiring JavaScript?

Me

# 13th May 2008, 1:49 pm / me, twitter, google, javascript

Something you had, Something you forgot, Something you were

Nick Mathewson

# 13th May 2008, 8:06 am / security, authentication, nick-mathewson

I think there's a great danger that, as a result of framing the current opportunity around "data portability", the story that will get picked up and retold will be the about copying data between social networks, rather than the more compelling, more future-facing, and frankly more likely situation of data streaming from trusted brokered sources to downstream authorized consumers.

Chris Messina

# 12th May 2008, 8:13 am / chris-messina, data-portability, social-network-portability

What amazes me is how close Ruby 1.9 bytecode and Python 2.5 bytecode are. Some things translate almost directly. [...] And, really, if that's true (and I vouch that it is truly, truly true,) then how are Python and Ruby still on separate runtimes?

Why the lucky stiff

# 5th May 2008, 10:14 pm / python, ruby, whytheluckystiff

It's Groove, rewritten from scratch, one more time. Ray Ozzie just can't stop rewriting this damn app, again and again and again, and taking 5-7 years each time.

Joel Spolsky

# 1st May 2008, 9:03 am / windowslivemesh, livemesh, joel-spolsky, rayozzie, groove

We are happy to announce that the Google Contacts Data API now supports OAuth. This is our first step towards OAuth enabling all Google Data APIs. Please note that this is an alpha release and we may make changes to the protocol before the official release.

Wei Tu

# 26th April 2008, 10:15 am / weitu, oauth, google, googlecontactsapi

I've become increasingly convinced that what CEOs should be crying out for is not more innovation but fewer self-imposed obstacles.

Simon Wardley

# 19th April 2008, 4:26 pm / simon-wardley, innovation

Once you reach a certain level of activity in the system where the garbage collector can no longer keep up (and it will happen), then every line of code in your system is now a potential failure point that can leave the whole program in a bad state. Lisp has this problem. Java has this problem. Erlang does not.

Damien Katz

# 14th April 2008, 3:17 pm / lisp, java, erlang, garbagecollection, faliure, damien-katz

[Amazon's] forthcoming persistent storage feature will give you the ability to create reliable, persistent storage volumes for use with EC2. Once created, these volumes will be part of your account and will have a lifetime independent of any particular EC2 instance.

Jeff Barr

# 14th April 2008, 7:50 am / ec2, amazon, jeff-barr, storage

The problem of grues is, of course, their recursive nature. To wit: A) Grues are found wherever it is very dark. B) There are no light sources on the inside of a grue. Therefore, being eaten by a grue is a fate which entails being eaten by an infinite number of progressively smaller grues, presumably nested in a geometrically complicated and interesting way.

Arturus

# 13th April 2008, 2:40 am / lolgrues, grue, grues, metafilter, zork

The Google App Engine model class, db.Model, is not the same as the model class used by Django. As a result, you cannot directly use the Django forms framework with Google App Engine. However, Google App Engine includes a module, db.djangoforms, which casts between the datastore models used with Google App Engine and the Django models specification. In most cases, you can use db.djangoforms.ModelForm in the same manner as the Django framework.

Google App Engine docs

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

Ignoring reality in favour of what we would like to be true doesn't actually work. This simple axiom probably underlies almost everything the WHATWG has done so far, and it has so far served us well.

Ian Hickson

# 7th April 2008, 7:24 am / anne-van-kesteren, whatwg, ian-hickson

The ISO are now calling a "standard" the Microsoft Office format [...] What is interesting is that TeX, LaTeX, OGG/Vorbis, OGG/Theora, Perl, Python, PHP, Ruby, OCaml, are not standardized by any organization. [...] This shows that standardization organizations are no longer relevant in the software field. What really matters is free full documentation, free full implementation source code, and of course the absence of any patent risk. [...] In other words, what matters is evidence that any independent third-party can create and distribute a fully-conforming implementation.

Benoît Jacob

# 2nd April 2008, 8:30 pm / benoit-jacob, standards, iso

NOTE TO INTERNATIONAL DEVELOPERS: PLEASE DO NOT MAKE SERIOUS ANNOUNCEMENTS ON INTERNET JACKASS DAY.

Mark Pilgrim

# 1st April 2008, 10:58 pm / aprilfools, mark-pilgrim

Ian's Acid 3, unlike its predecessors, is not about establishing a baseline of useful web capabilities. It's quite explicitly about making browser developers jump - Ian specifically sought out tests that were broken in WebKit, Opera, and Gecko, perhaps out of a twisted attempt at fairness. But the Acid tests shouldn't be fair to browsers, they should be fair to the web; they should be based on how good the web will be as a platform if all browsers conform, not about how far any given browser has to stretch to get there.

Mike Shaver

# 27th March 2008, 1:35 pm / mike-shaver, acid3, ian-hickson, webkit, opera, gecko, browsers, web-standards

The Perl community has a long-standing love/hate-affair with making changes that impose "spooky action at a distance". They call it "black magic" and it is generally considered it a last resort. Black Magic that makes GLOBAL changes to things like inheritance is often characterised as being "Octarine" (see disk world novels), because it tends to work ok when there's only one person doing it, but start to mix a few together and KABOOM!

Adam Kennedy

# 22nd March 2008, 12:28 am / monkeypatching, magic, adam-kennedy, blackmagic, perl, ruby

Draconian failure on error is not the answer problems of Postel's law. Draconian error handling creates an unstable equilibrium in Game Theory terms - it only lasts until one player breaks the rule. One non-Draconian XML5 implementation in key client product and the Draconian XML ranks would break. Well-specified error recovery is the right way to implement the liberal part of Postel's law.

Henri Sivonen

# 20th March 2008, 2:43 pm / draconian, html5, postelslaw, xml, henri-sivonen, law

For the record, my site is valid HTML 5, except the parts that aren't. My therapist says I shouldn't rely so much on external validation.

Mark Pilgrim

# 10th March 2008, 2:01 pm / mark-pilgrim, validation, html5, standards

We've decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we've posted previously.

IEBlog

# 4th March 2008, 3 am / ie8, web-standards, internet-explorer

"Why doesn't jQuery have an XPath CSS Selector implementation?" For now, my answer is: I don't want two selector implementations - it makes the code base significantly harder to maintain, increases the number of possible cross-browser bugs, and drastically increases the filesize of the resulting download.

John Resig

# 11th February 2008, 5:31 am / jquery, xpath, css, performance, john-resig

Let me be again clear here that Comet isn’t a new single technique. Rather, it’s a combination of existing push technologies with further research into new methods that together provides a robust framework for pushing data to all clients on modern networks.

Michael Carter

# 3rd February 2008, 10:04 pm / michael-carter, comet, javascript

Since 9/11, approximately three things have potentially improved airline security: reinforcing the cockpit doors, passengers realizing they have to fight back and - possibly - sky marshals. Everything else - all the security measures that affect privacy - is just security theater and a waste of effort.

Bruce Schneier

# 29th January 2008, 12:14 pm / bruce-schneier, privacy, security, securitytheatre

In a recent [ASP.NET] MVC design meeting someone said something like "we'll need a Repeater control" and a powerful and very technical boss-type said: "We've got a repeater control, it's called a foreach loop."

Scott Hanselman

# 25th January 2008, 6:59 am / aspnet, aspnetmvc, microsoft, scott-hanselman

If Web authors actually use this feature, and if IE doesn't keep losing market share, then eventually this will cause serious problems for IE's competitors — instead of just having to contend with reverse-engineering IE's quirks mode and making the specs compatible with IE's standards mode, the other browser vendors are going to have to reverse engineer every major IE browser version, and end up implementing these same bug modes themselves.

Ian Hickson

# 23rd January 2008, 10:07 am / ian-hickson, hixie, internet-explorer, ie8, xuacompatible, web-standards, browsers

No matter what great leaps forward the Internet Explorer team make from now on, the majority of developers won’t use them and the majority of users won’t see them. By doing this the Internet Explorer team may have created their own backwater, shot themselves in the foot and left themselves for dead.

Andy Budd

# 22nd January 2008, 9 pm / andy-budd, internet-explorer, ie8, xuacompatible

If you want CSS rules to apply to unknown elements in IE, you just have to do document.createElement(elementName). This somehow lets the CSS engine know that elements with that name exist.

Sjoerd Visscher

# 22nd January 2008, 8:27 pm / css, sjoerdvisscher, internet-explorer

Like DOCTYPE switching did in 2000, version targeting negates the vendor argument that existing behaviors can't be changed for fear of breaking web sites. If IE8 botches its implementation of some CSS property or DOM method, the mistake can be fixed in IE9 without breaking sites developed in the IE8 era. This actually makes browser vendors more susceptible to pressure to fix their bugs, and less fearful of doing so.

Eric Meyer

# 22nd January 2008, 2:24 pm / eric-meyer, doctypeswitching, ie8, browsers, internet-explorer, xuacompatible, web-standards