Carlo Wood has made a tool to undelete files on EXT3 filesystem. It's called ext3grep. This tool is available after he accidentally delete data in his home directory (3 GB) with rm -rf (one nasty command -- DO NOT TYPE THIS ON YOUR SYSTEM AS ROOT!!).
He then studied how EXT3 works and created a tools to recover the files. He also provides explanation about basic EXT3 scheme and some demos on the tools he created. The program is still under heavy development and he can't guarantee that it will out for you since he stopped the development as soon as he managed to recover his files.
The source code is not available for download, but you can send him an email and asked for the source code and he probably will give the source code for you.
Update (9 June 2008): Thanks to John C. Young, he gave me this link : http://code.google.com/p/ext3grep/. It contains the project page as well as the source code for this project. Have fun with it