Skip menu

may 20, 2011 # CSS Matrices

Made a small tool for getting the css matrix output of the combined transformations (translate, rotate, scale and skew) of an html element. Stay tuned for updates.

november 18, 2009 # Section on 3D stuff

Added a new section on 3D stuff in canvas. And I'm finally on twitter now.

november 15, 2009 # Whatever:hover 3.11

The latest update to Whatever:hover fixes a huge performance issue with the css expressions. Before 3.10 they were not cleared properly, so if you're using an older version, you're advised to update!

december 21, 2008 # Whatever:hover 3

A new version of Whatever:hover is now available!

Whatever:hover is a small script that automatically patches :hover, :active and :focus for IE6, IE7 and IE8 quirks, letting you use them like you would in any other browser. Version 3 introduces ajax support, meaning that any html that gets inserted into the document via javascript will also trigger :hover, :active and :focus styles in IE.

november 20, 2008 # Canvas in 3D

Working on a 3D engine on canvas. More info can be found on the Lost Boys blog, and a demo is running on this page. More demo's will follow soon.

Since it's work in progress, lots of stuff is subject to change.

Current work on the engine includes better texture mapping, and Collada support of which the latter is already coming along nicely ;) A demo featuring this will follow soon.

july 9, 2006 # Minor update

I've added the sudoku solver to the examples section (where it should have been from the beginning), and I've added a section to the scripting page to keep track of the "accessible javascript" posts on my blog.

november 12, 2005 # Weblog!

Finally! I got a weblog! Of course I could have gotten one ages ago, but once xs4all started running this as an experimental (for now) service I could no longer resist. Who knows, one day I might even get a decent domain for my ramblings ;)

september 26, 2005 # Whatever:hover update and licensing.

Whatever:hover has been updated. Most notably, version 1.4 now cleans up the events that are dynamically created, fixing an increase in parsetime and memory per reload. Support for :focus is included in a separate 2.0 version (note 3 explains why). Both 1.4 and 2.0 are now licensed under LGPL, so you can finally legally use them for commercial purposes.

september 16, 2005 # The <canvas> element

As from firefox 1.5beta, the canvas element is supported! I've been messing aroud a bit with it, and ported a playful line-drawing thingy that I'd originally made in flash to the canvas, and since I was on it anyway, I also gave making a really basic 3D wireframe model a try. Both scripts also appear to work on safari too (which should be obvious, in a sense).

september 14, 2005 # So much for summer :)

A short rant on life (feel free to skip to the next paragraph if you don't care): The problem of turning a hobby into a profession is that you spend less and less time doing it as a hobby. This doesn't necessarily mean that you lose interest, but at some point you will inevitably reconsider the time you spend on each hobby you have. In my case this means that (in my own time) I'm currently more into photography and making music than webdevelopment. And since I got more hobbies than time to practice all of them, this site occasionally suffers from slow-updatetitis. My advice for you; carefully consider which of your hobbies you turn into a profession (if you have that luxury) :)

On a more technical note; Recently, scripting events while managing the corrent scope and avoiding memory leaks got some attention again. PPK launched a contest to recode add- and removeEvent functions in such a way that the mentioned problems don't occur (though the "should not leak memory" guideline has apparently been removed from the list).

The issue I have with this contest is that the scope and memory issues are not necessarily an issue :P event.srcElement or might not directly return the desired node, but there's nothing too complex about searching for a specific child or parent of it in your document. And while it is true that IE's attachEvent doesn't return the desired scope in "this", you could just as easily capture the correct scope (be it a node or some custom object) with a closure:

var self = this; addEvent(someElement, 'mouseover', function(e){ self.something(); // any scope you choose! })

Closures are not evil. While they can cause circular references and thus memory leaks, there are good articles out there on how to cope with this. Avoiding them is pretty much useless since various other code constructions result in a circular reference where you didn't directly code one anyway, so instead of avoiding them you should simply use the onunload event of the window object to manually clean up your garbage; That is the problem of circular references; the garbage collector can't clear the objects, because they are pointing to eachother. This is not even merely a javascript issue, it is a programming issue in general.

:hover in IE # CSS Hover

Whereas most modern browsers natively support :hover for any element, IE only supports :hover for <a> elements. But, using behaviors (IE only feature, a bit like mozbindings) and some scripting it's possible to make IE support :hover on any element. As far as IE supports CSS, you can then use :hover in any way you see fit.