Simon Willison’s Weblog


June 2008

June 1, 2008

I’ve (probably) been using Google App Engine for a week longer than you have. My snappily titled App Engine introduction, presented at BarCamp London 4.

# 3:02 am / appengine, googleappengine, barcamp, barcamplondon4, barcamplondon, talks

Video speech matching on Launched this morning at BarCamp London by Matthew Somerville—TheyWorkForYou now has video from BBC Parliament but they need your help matching it exactly to their transcripts from Hansard. Neat example of a game that helps process large amounts of data.

# 1:52 pm / barcamplondon, barcamplondon4, matthew-somerville, theyworkforyou, mysociety, video, timestamping, government, politicalhacking

MagLev recap. Avi Bryant reports on the RailsConf demo of MagLev, a new closed-source Ruby implementation built with Gemstone (Smalltalk) technology that packs some impressive features (transaction based concurrency across multiple VMs) and exciting benchmarks (6-100x faster than the standard Ruby interpreter).

# 11:26 pm / maglev, avibryant, railsconf, smalltalk, ruby, gemstone

Maglev has begun to publish glowing performance numbers well in advance of actually running anything at all. They haven't started running the RubySpecs and have no compatibility story today. You can't actually get Maglev yet and run anything on it. It's worse than Vaporware, it's Presentationware.

Charles Nutter

# 11:29 pm / maglev, charles-nutter, ruby

June 2, 2008

Scaring people with fullScreen. Unsurprisingly, you can work around the “Press Esc to exit full screen mode” message in Flash by distracting the user with lots of similar looking visual noise. This opens up opportunities for cunning phishing attacks that simulate the chrome of the entire operating system. EDIT: Comments point out that text entry via the keyboard is still disabled, limiting the damage somewhat.

# 10:18 pm / distraction, flash, fullscreen, phishing, security

June 3, 2008

Facebook Open Platform. Facebook have open-sourced (under a modified MPL, does it still fit the OSI definition?) the code for the Facebook Platform, including their implementations of FBML, FQL and FBJS. This is no small release; the tarball weighs in at 40MB and includes libfbml, which depends on Firefox for its HTML parser!

# 12:21 am / facebook, open-source, firefox, fbml, php, fql, fbjs

App Engine Fan: Efficient Global Counters. Implementing efficient counters in Google App Engine, using shards and/or memcached.

# 12:56 am / memcached, counters, googleappengine, appengine

SquirrelFish. WebKit’s JavaScript engine was no slouch, but that hasn’t stopped them from replacing it with a brand new “register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention”. It runs 1.6x faster and has the Best Logo Ever.

# 7:57 am / logo, webkit, javascript, safari, squirrelfish, performance, bytecode

The orphaned baby heron that had to be taught how to fly. Hooray for “Dude” the Heron. The Mail on Sunday have the best photos...

# 9:45 am / dudetheheron, heron, mailonsunday

Bird taught to fly by a MAN. ... but the Sun have video.

# 9:45 am / dudetheheron, heron, thesun

The Machine That Changed the World: Great Brains. I’ve been really enjoying Andy Baio’s series of out-of-print documentaries on technology and the internet, so a few weeks ago I got in touch with him to tip him off about the existence of “The Dream Machine”, a series on the history of computers from 1992 that had a huge effect on my then 11-year-old self. Thanks to Twitter, Jesse Legg and Andy’s awesome foraging skills he’s dug up the US version (same series, different name) and is posting it online. I really can’t recommend it enough!

# 6:11 pm / thedreammachine, documentary, andy-baio, themachinethatchangedtheworld, jesselegg

June 4, 2008

Google Finance Comet. Google Finance now shows live stock quotes, updated by Comet.

# 8:36 am / comet, google-finance, google, stockquotes, cometdaily

Yahoo! Address Book API Delivered. At last, now there’s no excuse to ask your users for their Yahoo! username and password just so you can scrape their address book.

# 6:03 pm / yahoo, security, phishing, passwordantipattern

June 5, 2008

Elliotte Rusty Harold: Why XHTML. “XHTML makes life harder for document authors in exchange for making life easier for document consumers.”—since there are a lot more document authors than there are tools for consuming, this seems like an argument AGAINST XHTML to me.

# 9:25 pm / elliotte-rusty-harold, xhtml, html, html5, web-standards

June 6, 2008

The Machine That Changed the World: The Paperback Computer. This third episode (the second has also been published) is awesome—Sketchpad (the first GUI), NLS, Xerox PARC, the Homebrew Computer Club, Apple and the Macintosh, Lotus 123, Microsoft, and Virtual Reality presented as the “future” of computing. Worth investing an hour to watch it.

# 8:18 pm / themachinethatchangedtheworld, thedreammachine, sketchpad, parc, xeroxparc, apple, macintosh, microsoft, vr

Using the patent application as a guide, Apple appears to be making room on the iPhone for flash memory, which means an end to Apple's standoff with Adobe (ADBE) that's kept iPhones from easily viewing a plethora of Internet videos.

Ben Charny

# 9:08 pm / ben-charny, flash, adobe, apple, funny, iphone

Velocity: A Distributed In-Memory Cache from Microsoft. I’d been wondering what Microsoft ecosystem developers were using in the absence of memcached. Is Velocity the first Windows platform implementation of this idea?

# 9:52 pm / velocity, windows, microsoft, memcached, caching, dare-obasanjo

June 7, 2008

Could Zeppelins soon grace our skies again? The new Zeppelin NT can travel at 125 mph, the same speed as a high speed train—and could cross the Atlantic in 43 hours. This is the same model Airship Ventures (the Californian startup) are using.

# 2:10 pm / zeppelins, airships, airshipventures

Petition to Save Bletchley Park (via) On the 10 Downing Street petition site so unlike most online petitions this one might actually achieve something (though you must be a British resident to sign).

# 2:40 pm / bletchleypark, petitions, computerhistory 30 days until they turn on the Large Hadron Collider at CERN.

# 2:49 pm / particlephysics, physics, lhc, largehadroncollider, cern

280slides and Objective-J. 280 slides uses an Objective-C clone written in 13KB of JavaScript. I have to admit I’m completely baffled as to why you would want to use Objective C instead of JavaScript, but evidently it worked fantastically well for them.

# 4:09 pm / 280slides, javascript, objectivec, compiler, ned-batchelder

An interview with 280 North on Objective-J and Cappuccino. Fantastic comment thread with involvement from the guys who created Objective-J. Just like Objective-C, Objective-J is a preprocessor that runs against regular JavaScript source files so you can use JavaScript and Objective-J idioms interchangeably.

# 7:40 pm / objectivej, javascript, objectivec, 280north, ajaxian

June 8, 2008

Geohash for spatial index and search. Nice, clear explanation of what a Geohash is. It’s a way of encoding a lat/lon position as a short string, with the useful property that similar co-ordinates with more or less significant figures share a common prefix in their geohash.

# 9:35 am / geohash

There was a time when you could whip out a parser in lex and yacc, stitch together a naive VM and throw it over the wall and you'd have a new scripting language. Those days are coming to a close and in a few years (if not months) you won't be able get traction with anything unless it does direct threading, is register based, has generational GC, does peephole optimizations, does trace-folding, does type-inferenced inline caching, etc.

Joe Gregorio

# 9:36 am / joe-gregorio, dynamiclanguages, scriptinglanguages

Updated jQuery Bookmarklet. Nicer than my own “Inject jQuery” bookmarklet because it drops in a temporary message confirming that jQuery has been imported (or telling you that jQuery was already present).

# 8:46 pm / jquery, javascript, bookmarklets, karl-swedberg

June 9, 2008

OS OpenSpace from Ordnance Survey (via) Ordinance Survey now provide a free JavaScript mapping API for “non-commercial purposes” by “private individuals”. The maps look incredibly detailed, although I can’t find any live API demos on the site (the documentation is illustrated with screenshots).

# 8:30 am / maps, ordinancesurvey, openspace, javascript, geo

The X-Robots-Tag HTTP header. News to me, but both Google and Yahoo! have supported it since last year. You can add per-page robots exclusion rules in HTTP headers instead of using meta tags, and Google’s version supports unavailable_after which is handy for content with a known limited shelf-life.

# 9:21 am / google, yahoo, robots-txt, xrobotstag, http

Ordnance Survey OpenSpace Demo (via) Niall Kennedy threw a demo up on his site—the map seems to load a lot faster than Google Maps and the level of detail once you zoom down to street level is really impressive.

# 10:59 am / niallkennedy, openspace, ordinancesurvey, maps

June 10, 2008

Is It OK to Require JavaScript? Not if you can avoid doing so. Unobtrusive JavaScript really isn’t hard if you design it in from the start, and since stackoverflow is a community forum / questions and answers site I have trouble imagining a feature that can’t be made to work without JavaScript.

# 6:41 am / javascript, unobtrusivescripting, jeff-atwood, stackoverflow

Reputation patterns in the Yahoo! Design Pattern Library (via) Pragmatic advice from Yahoo! on encouraging community participation.

# 11:49 am / community, reputation, yahoo, yahoopatternlibrary

2008 » June