Simon Willison’s Weblog

Subscribe
Atom feed

Blogmarks

Filters: Sorted by date

Antisocial. Matt Westcott (a.k.a. Gasman) provides some technical background to his awesome Antisocial 3D canvas demo.

# 9th October 2008, 6:42 pm / 3d, canvas, demoscene, gasman, javascript, matt-westcott

and now... Opera. Jon Hicks is joining Opera as Senior Designer. I absolutely cannot wait to see what he comes up with there.

# 9th October 2008, 6:39 pm / browsers, design, jon-hicks, opera

Antisocial: a Javascript demo by Gasman. The demo is cool (3D on top of canvas); the “demotool” editor is simply amazing.

# 8th October 2008, 3 pm / 3d, antisocial, canvas, demo, demotool, gasman, javascript, matt-westcott

Places to see in London (for geeks). My geek-oriented guide to London attractions that you may not hear about otherwise, updated for this year’s overseas FOWA attendees. Suggestions for additions welcome.

# 8th October 2008, 2:54 pm / fowa2008, geeks, googlemymaps, london, maps

XHTML—myths and reality. Useful overview of XHTML from Tina Holmboe of the W3C’s XHTML Working Group, which suggests considering HTML 4.01 strict unless you need mixed namespaces for things like MathML. I’ve been storing this blog’s content as XHTML but serving as HTML for several years now.

# 7th October 2008, 4:56 pm / html, mathml, namespaces, tinaholmboe, w3c, xhtml

Giving Dabble DB a time machine. More innovation from Dabble DB—the service now offers a UI to their backup snapshots, letting you roll your own instance back to a specific point in time to recover accidentally deleted data.

# 7th October 2008, 12:55 pm / dabbledb, revert, snapshots

Clickjacking and NoScript (via) NoScript CAN protect against clickjacking, but only if you enable the “Plugins|Forbid IFRAME” option.

# 7th October 2008, 11:05 am / clickjacking, noscript, security

Dealing with UI redress vulnerabilities inherent to the current web (via) The best explanation of clickjacking I’ve seen yet, complete with discussion of a number of non-ideal potential solutions. It looks like frame busting JavaScript will defeat it, but only for users who have JavaScript enabled—which means that in this case extensions like NoScript actually make you less safe. UPDATE: NoScript is smarter than I thought; see the comments.

# 7th October 2008, 9:59 am / clickjacking, javascript, noscript, security

Tracking your Cat with GPS. Alex Lee strapped a GPS to his cat.

# 6th October 2008, 9:16 pm / alex-lee, cats, gps, location

FOWA pre-interview: Andrew Turner. I’ve started to post pre-interviews with speakers to the FOWA blog, in advance of the conference next week. First up is Andrew Turner of Mapufacture.

# 4th October 2008, 9:44 am / andrew-turner, fowa, interviews, mapufacture

The Flickr Panda. Reminds me of the prime number shitting bear.

# 4th October 2008, 9:42 am / flickr, funny, panda, primenumbershittingbear

Why Google App Engine is broken and what Google must do to fix it. Aral Balkan describes a number of critical issues with App Engine. If you’re considering building something serious on it you need to read this article; I’ve run in to several of these problems myself just running toy projects on the platform. Here’s hoping they get addressed in the near future.

# 3rd October 2008, 10 pm / aral-balkan, google, google-app-engine, scalability

Obama ’08 for iPhone (via) Slick app, impressive for a three week turnaround. I’m guessing it uses the phone number area codes in your address book to arrange your friends by state for the “call your friends” feature, which is an ingeniously simple hack.

# 2nd October 2008, 6:13 pm / barack-obama, iphone, politics, ravenzachary

Tweetersation. Nat and my latest side project: a JSONP API powered tool to more easily follow conversations between people on Twitter, by combining their tweets in to a single timeline.

# 2nd October 2008, 5:08 pm / api, javascript, jsonp, natalie-downe, projects, tweetersation, twitter

FB App Canvas Pages: I Think I’d Use IFrames. Facebook’s Charlie Cheever explains the difference between FBML canvas pages, iframe pages and XFBML when building Facebook apps. I’m always surprised at APIs that load untrusted content in an iframe, as it seems like an invitation for frame-busting phishing attacks.

# 2nd October 2008, 2:39 pm / charlie-cheever, facebook, facebookapi, fbml, framebusting, iframes, phishing, security, xfbml

Google’s Wikipedia and Panoramio layers are now available in the API. I really like their use of reverse domain style identifiers for the layer IDs: map.addOverlay(new GLayer(“org.wikipedia”));

# 2nd October 2008, 11:59 am / glayer, google-maps, javascript, panoramio, wikipedia

What’s New in Python 2.6 (via) Python 2.6 final has been released (the last 2.x version before 3.0). multiprocessing and simplejson (as json) are now in the standard library, any backwards compatible 3.0 features have been added and the official docs are now powered by Sphinx (used by Django 1.0 as well). There’s plenty more.

# 2nd October 2008, 11:47 am / django, json, multiprocessing, python, releases, simplejson, sphinx-docs

simplejson 2.0.1. Python’s simplejson JSON library got a whole lot faster while I wasn’t looking.

# 1st October 2008, 10:55 pm / bob-ippolito, json, performance, python, simplejson

[REDACTED]. Now that the iPhone NDA has been lifted be prepared for a flood of useful tips about the platform. Here’s Craig Hockenberry explaining how iPhone URL schemes work (used to great effect in the Pownce app for returning to the right place post-OAuth authentication in Safari).

# 1st October 2008, 10:34 pm / craig-hockenberry, iphone, nda, oauth, pownce, urls, urlschemes

Cascading. A Java API abstraction layer over Hadoop that lets developers think in terms of pipes and filters rather than map/reduce. The Cascading developers claim that this model is easier to understand and less error prone.

# 1st October 2008, 1:22 pm / cascading, hadoop, java, mapreduce, pipesfilters

Coming Soon: Amazon EC2 With Windows. It’s not instantly clear if you need to source your own Windows licenses or if the license comes as part of the hourly VM charge. If it’s the latter, I can see this being fantastically useful for both automated and manual cross-browser testing—throw up a Windows VM for just as long as you need to run your tests, running them through rdesktop.

# 1st October 2008, 9:16 am / amazon, browsertesting, ec2, rdesktop, windows

This Week in HTML 5—Episode 7: Clickjacking. Clickjacking is when a third party site is embedded in an iframe with opacity 0 and positioned such that a click on the page actually hits a button on the now invisible third party site. Mark Pilgrim explains how the NoScript site uses this in a non malicious way to for the “install now!” button.

# 1st October 2008, 1:48 am / clickjacking, html5, iframes, mark-pilgrim, noscript, opacity, phishing, security

Using the New MySQL Query Profiler. Extremely powerful new feature in MySQL 5.0.37. Definitely something for the Django debug toolbar.

# 1st October 2008, 1:20 am / django, django-debug-toolbar, mysql, profiling

Popular Websites Vulnerable to Cross-Site Request Forgery Attacks. Ed Felten and Bill Zeller announce four CSRF holes, in ING Direct, YouTube, MetaFilter and the New York Times. The ING Direct hole allowed transfer of funds out of a user’s bank accounts! The first three were fixed before publication; the New York Times hole still exists (despite being reported a year ago), and allows you to silently steal e-mail addresses by CSRFing the “E-mail this” feature.

# 29th September 2008, 1:08 pm / bill-zeller, csrf, ed-felten, ingdirect, metafilter, new-york-times, security, youtube

A Brief Tour of Graphd. The secret sauce behind Freebase—a custom written graph server that models everything as a typed, versioned relationship and can churn through over 3,000 simple queries a second on a single AMD64 core.

# 29th September 2008, 11:32 am / databases, freebase, grahd, graphserver

CSS Systems for writing maintainable CSS. Nat has published the slides and notes from her BarCamp presentation this morning. I’m really excited about her approach, which involves designing a “CSS system” of markup patterns and CSS that embodies the design of an individual site. Future maintenance can then take this overall system in to account, which is assisted by a defined ordering system and shared vocabulary.

# 28th September 2008, 11:30 pm / barcamplondon5, css, csspatterns, maintainability, markup, natalie-downe

James May’s Big Ideas: Come Fly with Me (via) The BBC made an hour-long documentary on Ekranoplans! It’s available for the next 21 days on the iPlayer (UK residents only).

# 28th September 2008, 11:07 pm / bbc, documentary, ekranoplans, iplayer, james-may, tv

Flickr Engineers Do It Offline. Flickr wrote their own queuing mechanism (in PHP), and currently run ten queue servers on dedicated hardware for tasks like pushing new photos in to indexes, denormalisation and “backfills” which move data between clusters and run bulk scripts against large numbers of existing rows.

# 28th September 2008, 1:24 am / backfills, denormalisation, flickr, message-queues, queues

Cheap, Easy Audio Transcription with Mechanical Turk. Andy Baio’s in-depth tutorial on submitting HITs to Mechanical Turk. I hadn’t realised how straight forward and powerful the interface has become.

# 25th September 2008, 6:37 pm / amazon, andy-baio, mechanical-turk, transcription

Years

Tags