06 Jul 2008
This weekend I finished up some code that I'd started a little while ago but hadn't had the chance to complete: a function, that can be used in the progressive enhancement style, for showing and hiding parts of a web page on demand.
-- More --
17 Jun 2008
Congratulations Mozilla! Firefox 3 is out today.
-- More --
01 Mar 2008
I recently installed the awesome Accerciser accessibility testing tool on Ubuntu 7.10. I installed the trunk version from subversion.
-- More --
24 Dec 2007
Continuing with the theme of functions and closures (Registering JavaScript object methods as callbacks, Python bound methods), I thought I'd have a look at the relationship between functions, closures, and objects. I'll build a filter, that returns elements from a collection for which a given predicate is true, in Scheme (a language with first-class functions and closures, but no objects), and in Java (a language with objects, but no first-class functions or closures.)
-- More --
28 Nov 2007
In my last post I looked at registering JavaScript object methods as callbacks. When we reference a JavaScript object method we get a function object, which is not bound to the object that it is retrieved from, and I looked at various approaches that one can use to bind a method to an object instance. I thought it might be interesting to have a look at Python's "bound methods" to see how Python facilitates passing around object method references.
-- More --
27 Nov 2007
The registration of callback functions is very common in JavaScript web programming, for example to attach user interface event handlers (such as onclick), or to provide a function to handle an XHR response. Registering an object method as a callback function is not entirely straightforward, but there are a number of approaches that we can use.
-- More --
19 Sep 2007
Alistair McKinnell and Jason Cheong-Kee-You gave an excellent talk on xUnit Test Patterns at XPToronto last night. The presentation included a discussion of Gerard Meszaros's test philosophy framework.
-- More --