Category Archives: Programming

Data Structure Visualizations

Update: David Galles (the author of the tool mentioned in this post) just told me a good news that he just rolled out the new HTML5 version of his awesome tool. Now you can enjoy cool animations right from your browser without the hassle of downloading the whole program. I tried it and it worked like a charm. Click here to try it yourself. Thanks David Galles ! 🙂 

This article made it to the homepage of  Hacker News,  popular bookmarks of Delicious and top posts of the day of WordPress. I’d like to say thanks for all readers for your enormous interest in such a simple post. 🙂

I always think the best way to understand complex data structures & algorithm is to see them in action. So I want to share with you an awesome data structure visualization tools written in Java by David Galles.

This tool is a comprehensive collection of common data structures and algorithms.  So just in case you lose your CS textbook and want to brush up your algorithm-fu for the upcoming software engineer interview, you may find this tool helpful.

You can check out some screenshoots of the program below; then download the its java version by click on this link : Data Structure Visualizations.

Dijkstra's algorithm

Dijkstra's algorithm




Filed under Programming

Nautilus Script: Upload Documents to Google Docs

EDIT: I apologize to those who have downloaded and failed to run my Python script. I forgot to mention in my post that this script requires Google Data Python API. You need to download it first from this URL:

Direct download:

I am a BIG  fan of Google’s word processing editor : Google Docs.  It has become an indispensable part of my academic life.  To be honest, I have not touched MS Office since I discovered it. Everything’s got thrown up to Google Docs and … Done!! No more USB flash drive to carry on;  no more long time spending to search for a particular document which you don’t even remember its name. With Google Docs, just type the “unique” word that I am sure it is in the document. Boom…! My document shows up in no time. 🙂

OK, sure that’s enough advertising for Google :)) .  Since Google Docs is that important to me,  I wrote a small script for Nautilus(kind of extension). This script provide an convenient way to upload your documents from local hard drive to Google Docs.

Just select all files you want to be sent to GDocs, then click on extension menu of Nautilus. That’s it.

The script itself was written in Python. It used  Zenity to take care of its GUI (~for simplicity’s sake). It supports all common document types. If some certain file’s formats are not supported to upload to Google Docs, you have the option to upload them as plain-text.

Instruction to install a Nautilus script can be found here: NautilusScriptHowto

You can download the script here:

Send2GDocs Nautilus Script

Have fun and stay warm!


Filed under Programming