Thursday, August 30, 2007

Content aware resizing algorithm for images



This computer graphics research has been greatly hyped lately due to the recent report on Slashdot. It is based upon a simple idea but it achieves amazing effects. Not only can it resize images with the minimum information loss or perceptible distortions, it can also be used to achieve similar effects (but not exactly the same) to image inpainting.

The paper can be read here,
Video demonstration of the algorithm, and... next one is the best
Third party implementation of the algorithm that you can download and hack.

Debugging, profiling JavaScript and detecting memory leaks by source code instrumentation


I found a paper from Microsoft Research yesterday which describes a reliable way for debugging JavaScript remotely on multiple platforms and... here comes my favorite part... reliably detecting IE6 memory leaks in JavaScript.

Why not use Drip instead? While Drip is useful for catching memory leaks, there are many cases where Drip does not work. For example, Drip 0.5 does not catch memory leaks in FCKeditor.

How about lapsed listeners? The paper has talked about lapsed listeners in section 6.2 but I can't see any solution they mentioned in the paper. Perhaps I've overlooked that.

The paper also talks about remote, multi-client performance profiling and many other nice things that could be of tremendous help in modern web application development. While products like Firebug and Tito Web Studio already provides profiling and basic debugger support, they are browser specific and the performance data applies only to the developer's workstation. It is always possible that a web application runs dramatically differently on other computers that the developer has not expected it to, and that's where the paper's approach can help.

You can read the paper here.

Monday, August 20, 2007

Kernel based virtualization on Fedora Core 7


Linux kernel running Windows XP (well, the installer, at least) via Intel Vanderpool technology. Hmm... the irony.

The installer runs noticeably slower than VMWare though. Also, there are some show stopper usability bugs with Fedora Core 7's Virtualization Manager which are stopping me from fully installing Windows XP in the VM console... thus forcing me to call the VM engine (QEMU/KVM) from the command line to do the second stage of WinXP installation.

Update: Just found the reason for the slow down. While installing Windows XP on QEMU/KVM, the user must press F5 (instead of F7 as indicated by KVM's FAQ) at the beginning of the installation and choose "Standard PC" as the computer type. The problem is documented here.

Friday, August 10, 2007

Microsoft Seadragon and Photosynth demonstartion



The first demo (Seadragon) is a ZUI implementation of a photo manager. The second demo (Photosynth) is a 3D photo stitching and modeling software.

Both are amazing stuff.