Simon Willison’s Weblog

Subscribe

November 2007

Nov. 2, 2007

The Story Behind ES4. If you’re scratching your head at the recent eruption of acrimony surrounding ECMAScript 4 (the next standardised version of JavaScript) Neil Mix has a relatively easy to follow catch-up post.

# 6:15 am / neilmix, ecmascript, standards, es4, javascript

PyObjC 2.0 changes (via) All the good stuff that’s in PyObjC 2.0, released as part of Leopard. According to bbum this is the most significant release of PyObjC in 7 years.

# 6:18 am / bill-bumgarner, bbum, pyobjc, python, osx

Papercraft Portal. Maybe we do need a colour printer after all...

# 6:21 am / portal, papercraft, valvesoftware, craft, want

The Web Application Scale of Stupidity goes from OGF (One Giant Function) to OOP (Object Oriented Programming), like this: OGF ——– sanity ——— OOP

Cal Henderson, paraphrased

# 6:23 am / oop, onegiantfunction, objects, ogf, calhenderson, peter-van-dijck, php, programming

Bit Twiddling Hacks. I’ve never been much of a bit twiddler, but I’ve always felt I should learn.

# 6:49 am / bits, bittwiddling, binary, programming, hacks

But here's the thing: Regular people on the web love Snap previews. I know you don't believe it - I didn't want to believe it. But it's completely true. In the testing and feedback I've seen, it's some emotional pull about the fact that links "do something" now, instead of just being on the page.

Anil Dash

# 6:49 am / anil-dash, annoyances, usability, snap, snappreviews, livejournal

Hello Revver.com 2.0. Revver, one of the more established video startups, have launched their new version which is powered by Django.

# 7:03 am / django, revver, video, startups, python

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]

Nov. 7, 2007

How to make Ajax work for you. Slides from my three hour Ajax tutorial, presented at Web 2.0 Expo Berlin on Monday.

# 10:35 am / ajax, javascript, tutorial, web2expoberlin, speaking

Gmail Greasemonkey API (via) The new version of Gmail includes API hooks for Greasemonkey script authors. The documentation is by Mark Pilgrim, author of Greasemonkey Hacks.

# 10:38 am / mihaiparparita, mark-pilgrim, gmail, google, greasemonkey, javascript

How will OpenID change your site? Excellent introduction to OpenID by Peter Nixey—includes some really nice analogies for explaining both the concept and the implications.

# 10:41 am / peter-nixey, openid, thinkvitamin

Comet Daily. New regularly updated site covering Comet, the Ajax-like umbrella term for JavaScript server-push techniques. Already a bunch of great stuff on there.

# 10:53 am / javascript, comet, ajax, cometdaily

Announcing Dojo 1.0. The tough learning curve that accompanied 0.4 and earlier has been replaced with an elegant core module (dojo) and two exciting subprojects (dojox and dijit). Well worth a look.

# 1:17 pm / dojo, javascript, dojox, dijit

In the long term, I want to replace JavaScript and the DOM with a smarter, safer design. In the medium term, I want to use something like Google Gears to give us vats with which we can have safe mashups. But in the short term, I recommend that you be using Firefox with No Script. Until we get things right, it seems to be the best we can do.

Douglas Crockford

# 3:36 pm / javascript, noscript, firefox, google-gears, dom, security, mashups, douglas-crockford

Nov. 8, 2007

Django documentation bookmarklets. James Bennett continues his month-long series of daily Django tutorials with documentation for one of Django’s best kept secrets: application introspection HTTP headers and bookmarklets that make use of them.

# 10:59 am / bookmarklets, django, james-bennett, python, introspection

dojo.NodeList API docs. Support in Dojo for jQuery-style chaining operations.

# 11:16 am / javascript, libraries, dojo, jquery, chaining

Nov. 9, 2007

Orbited: The Orbit Event Daemon. HTTP daemon designed for long-lasting comet connections, written in Python using pyevent on top of libevent.

# 11:01 pm / pyevent, libevent, python, comet, http

Pseudo-custom events in Prototype 1.6. Useful tutorial showing how to use Prototype 1.6’s custom events to implement a cross-browser mouse wheel event.

# 11:02 pm / mousewheel, prototype, javascript, customevents, andrew-dupont

Using Time Machine across the network (via) Haven’t tried this tip yet, but apparently “defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1” lets Time Machine back up to a network drive.

# 11:04 pm / timemachine, osx, unsupported, network

JavaScript Madness: Keyboard Events. Keyboard events in JavaScript are a total pain. This looks like a pretty comprehensive reference to getting them to work cross-browser.

# 11:07 pm / crossbrowser, javascript, keyboard, events

mochiweb—another faster web server. Bob Ippolito’s latest project: a high performance Erlang web server.

# 11:22 pm / bobippolito, erlang, webserver, mochiweb

Nov. 11, 2007

Prism Prototype Now Available on Mac and Linux. Prism is the new name for Mozilla Webrunner, a toolkit for building native desktop applications on top of the Mozilla technology stack.

# 10:21 pm / mozilla, prism, webrunner

Eye-Fi launches. Really neat idea: a digital camera SD card with built-in WiFi to beam your photos straight to your laptop. SitePen built the UI, which runs in your browser on top of Dojo and talks to a small web server running locally.

# 10:40 pm / eyefi, digitalcameras, photography, wifi, sitepen, javascript, dojo

Using multiple classes within selectors. Pretty much definitive guide to using multiple classes in a CSS selector, including problems with IE 5 and 6 and one way of addressing them using conditional comments.

# 11:07 pm / ie5, ie6, ie, css, classes, russweakley, conditionalcomments

Nov. 12, 2007

Reinteract—Better interactive Python. Really neat Mathematica-style pygtk interactive prompt for Python, where previous lines can be edited in place and graphs and other graphical primitives can be displayed inline. Includes an elegant plugin mechanism.

# 12:55 pm / reinteract, plugins, python, interactive, mathematica, pygtk

HTML5 Media Support in WebKit. WebKit continues to lead the pack when it comes to trying out new HTML5 proposals. The new audio and video elements make embedding media easy, and provide a neat listener API for hooking in to “playback ended” events.

# 11:21 pm / media, audio, events, html5, osx, safari, video, webkit, javascript

Nov. 13, 2007

JavaScript Method Overloading. John Resig shows a clever trick for overloading JavaScript methods based on the number of arguments, using the little-known .length property of a JavaScript function object.

# 2:39 pm / javascript, john-resig, methodoverloading

Nov. 14, 2007

Django Book Update. It’s done! Went to the printer on Friday, due in bookstores in the second week of December (just in time for Christmas). Congrats to Adrian and Jacob.

# 12:59 am / django-book, django, python, adrian-holovaty, jacob-kaplan-moss

Django Changeset 6671. Malcolm Tredinnick: “Implemented auto-escaping of variable output in templates”. Fantastic—Django now has protection against accidental XSS holes, turned on by default.

# 5:05 pm / malcolmtredinnick, django, autoescaping, xss, security, python, templating

google-axsjax (via) “The AxsJAX framework can inject accessibility enhancements into existing Web 2.0 applications using any of several standard Web techniques”—including bookmarklets and Greasemonkey. The enhancements conform to W3C ARIA, supported by Firefox 2.0 and later.

# 5:18 pm / firefox, aria, w3c, accessibility, ajax, javascript, axsjax, google, greasemonkey, bookmarklets

2007 » November

MTWTFSS
   1234
567891011
12131415161718
19202122232425
2627282930