Simon Willison’s Weblog

Subscribe

Friday, 4th July 2008

A browser sniffing warning: The trouble with Acid3 and TinyMCE. Opera recommend “bug detection”, a step up from object detection and browser sniffing where your JavaScript includes mini unit test style fragments of code designed to test if buggy behaviour you are working around still affects the user’s browser.

# 8:24 am / bugdetection, javascript, object, browsers, opera, objectdetection, browsersniffing, acid3, tinymce

Running C and Python Code on The Web. Adobe are working on a toolchain to compile C code to target the Tamarin VM in Flash. This will allow existing C code (from CPython to Quake) to execute in a safe sandbox in the browser.

# 8:26 am / browser, c, python, quake, adobe, tamarin, flash

A printer driver is a folder with one ".ini" file, and a couple of ".dll"s and that's it. It is not a 50 MB download. It is not an IE Toolbar, and Side Pane. It is not half-baked photo software. It is not a splash screen when your computer starts. It is not a tray icon.

Kroc Camen

# 9:03 am / printerdrivers, software, kroccamen

Phasing out support for IE 6 across all 37signals products on August 15, 2008. Interesting move considering BaseCamp is used for communicating with (often corporate) clients. It would be nice to see the browser stats behind the decision.

# 9:17 am / basecamp, 37-signals, ie6, browsersupport

Show Us a Better Way. The UK Government’s Power of Information Taskforce are running a mashup competition (a.k.a. “ideas for new products that could improve the way public information is communicated”) with a £20,000 prize fund and gigabytes of brand new data and APIs. This is a great opportunity for the software community to demonstrate how important this kind of open data really is.

# 9:36 am / powerofinformation, open-data, ukgovernment, mashups, apis

Independence Day: HTML5 WebSocket Liberates Comet From Hacks. The HTML5 spec now includes WebSocket, a TCP-style persistent socket mechanism between client and server using an HTTP handshake to work around firewalls. The Orbited comet implementation provides a WebSocket compatible API to existing browsers today, and can also act as a firewall/proxy between WebSocket and regular TCP sockets, allowing browsers to talk to things like XMPP servers using Orbited to bridge the gap.

# 9:54 am / orbited, comet, html5, sockets, tcpsocket, xmpp, websockets

Table Drag and Drop jQuery plugin. Drag and drop of table rows is a special case (jQuery UI doesn’t seem to support it)—this plugin works pretty well though.

# 12:04 pm / jquery, draganddrop, tables, jqueryui

quipt (via) Extremely clever idea: Cache JavaScript in window.name (which persists between page views and can hold several MB of data), but use document.referrer to check that an external domain hasn’t loaded the cache with malicious code for an XSS attack. UPDATE: Jesse Ruderman points out a fatal flaw in the comments.

# 3:49 pm / security, referrer, quipt, caching, optimisation, javascript, windowname, xss

A Look at the Presidential Candidates. The Big Picture (the Boston Globe’s fantastic photojournalism blog) presents a fascinating collection of historical photos of Senators Barack Obama and John McCain.

# 9:09 pm / barack-obama, john-mccain, politics, photography, thebigpicture, photos

Queue everything and delight everyone. Les Orchard explains why I’ve been getting interested in queues recently: “One of the problems it seems most modern web apps face is the tendency to want to do everything all at once, and all in the same code that responds directly to a user.”

# 10:38 pm / les-orchard, queues

2008 » July

MTWTFSS
 123456
78910111213
14151617181920
21222324252627
28293031