Ruby on Rails
JavaScript, XHTML, CSS
Java, Distributed Systems
<you_name_it>
javascript
The Impossible: ShadedBorder Updated
Submitted by Steffen on Sat, 06/20/2009 - 20:29Well, actually I thought ShadedBorder is kind of discontinued (in favor of LiquidCanvas)... But I proofed myself wrong and here it is: The first update for ShadedBorder since 1.5 years!
It fixes the IE8 1px overlap bug reported by Tony and comes with a performance optimization for every browser supported: The ShadedBorder nodes will only be cloned on demand.
Grab version 0.6.2 now at the ShadedBorder project page.
Liquid Canvas Positioned
Submitted by Steffen on Thu, 04/09/2009 - 10:50I really love user comments like this one from Kaz van Wel:
I'd like to say I really like your Liquid Canvas script, you really made an invention by putting some scripts together and a wrapper around it to make a cross browser solution to round borders and a lot more possibilities :D. I really think this can change the web like Ajax did around 2006, once people know it exists.
Well Kaz, I think so, too: Let's spread the word! :-)
Kaz also brought my attention to a bug in Liquid Canvas: It was basically impossible to put a "liquid-canvased" element into a container with absolute or relative positioning.
IE8 Support for Liquid Canvas
Submitted by Steffen on Mon, 03/23/2009 - 22:27A new version of excanvas has been released yesterday: It now supports IE8. Well, haven't we - ahhm... Liquid Canvas - been waiting for this ;-)
So this is what I did an hour ago: I copied the new version into my Liquid Canvas project and ... surprise it didn't work. After a short debugging session I spotted the problem. It seems that excanvas no longer likes dynamically generated DOM elements with the tag name "canvas" - replacing it with "div" did the trick.
Ruby's "each" for JavaScript
Submitted by Steffen on Mon, 12/22/2008 - 19:32Wow! 30 new subscribers due to my last blog posting about JavaScript inheritance: Welcome dear new readers :-) Due to this fact I've decided to try out something new. No fancy new technologies for showing-off but a tutorial-like introduction to some neat and often unknown JavaScript functions that can make your life easier.
Sine I really love Ruby, I thought: Why not take a use-case from the oh-so-beautiful Ruby world and transfer it to JavaScript. Well, here it is. Nothing new but still pretty cool: Ruby's "each" for JavaScript.
So, this is an experiment I'll really appreciate your feedback - is it too trivial or do you like it? Anyway, let's just start ...
JavaScript Inheritance via Prototypes and Closures
Submitted by Steffen on Mon, 12/08/2008 - 19:26JavaScript as a prototypical language offers loads of solutions to implement classes and class inheritance. When coming from an Object Oriented language such as Java or Ruby, these solutions aren't obvious at the first glance.
I started coding JavaScript years ago and always found a solution for my specific case. But things felt messy and I always thought "Is this really the right way of doing it?". Well, after all those years, experience took away this feeling and now I want to share some stuff that finally meant a break-through of understanding for me.
There are two different concepts of doing inheritance in JavaScript. One is using the prototype property of a function as a mean to create something similar to a "class". The other concept is using the constructor function itself to create a class dynamically during runtime.
For both concepts I'll show you their basic idea and compact helpers for creating inheritance in an elegant way.
Let's start with the prototype-based concept.
