These are some of the projects I have done over the years. Some are early projects when programming was just a hobby to me and some are newer. Some were just for fun and served no real world purpose while others were done to solve a specific problem.


Amazing Tree

Drag-drop navigation tree [download]

A navigation tree that allows you to drag and drop nodes around the tree.

Features include callback function on successful and unsuccessful drag and drop, point of interest, ability to enable and disable drag and drop, scroll tree when mouse reaches the edge of the window and custom data.

Scroll Demo: Demo that shows scrolling when the mouse is at the edge of the frame.

Full Demo: Shows off many different features of the library.

Clone Demo: Shows the clone feature which allows nodes to be cloned on drag and drop instead of moving them to the new location.


Amazing Tree Amazing Tree Amazing Tree

Frame Glider

Drag-drop across frames [download]

Most javascript libraries include some kind of drag and drop facility. However, I couldn't find any library that supported drag and drop across frames on the same web page. Frame Glider is a javascript library which enables you to drag and drop elements from one frame to another within your browser. [more...]

It has been tested and found to work on Internet explorer 6+, FireFox 1.5+, Opera 9.5+, Safari and Google Chrome

Simple Demo: This is a simple demo with a few frames, droppables, draggables and points of interest.

Complex Demo: This is a more complex demo with many movable and nested frames, droppables, draggables and points of interest. It changes the mouse follower image based on the kind of element the mouse is over. You can also enable and disable drag and drop for the entire page or individual units using the checkboxes. It uses the prototype windows library.

Frame as a droppable: This demo attempts to make an entire frame a droppable. It also shows how a droppable always gets precedence over a draggable and a point of interest. The frame as a droppable effect is acheived by making document.body the droppable. If the document body takes up the entire page of the frame, the end effect is almost as if the frame is a droppable.


Frame Glider Frame Glider Frame Glider Frame Glider

Info Center

A magazine articles database [download]

My brother and I had an active subscription to atleast 2 computer magazines at any given time and our collection of magazines was vast. A number of our friends used to ask us for advice about "the best processor" or "the best graphics card" or the best whatever. We used to end up with an answer like "Oh, yeah. I read an article about that somewhere within the last 6 months", which was obviously not very useful.

So, as the final project at my C++ class at Yashas Softeck, I built this program - trying to give it an old DOS style GUI. It saves the fields of the records into an ASCII text file (info.dat) where each field is seperated from the other by an unused character and records are seperated by newlines - keeping it very simple.

I have provided two header files "MENU.H" and "BACK_GR2.H" to create menus and backgrounds, which can be reused to create those old DOS style GUIs easily. Of course, nobody's going to use them anymore now. Pardon the colour combinations - I swear they looked great on a monochrome monitor :-)


Info Center Info Center

Musicmania

Creates a HTML interface to your MP3s

This is a C++ program that generates the HTML and Javascript code to play your MP3s using windows media player through a browser window. The program looks through the MP3s at the current location and creates HTML pages with frames.

Some of the features are - animated GIFs next to the regular windows media player (thanks to my brother, the graphics whiz), Song book that opens the lyrics to the song currently playing, List mode where the MP3 plays in your default MP3 player (it would most probably be Winamp).

It requires the MP3s to be placed in particular directories and is therefore quite inflexible. So, I am not including the binary here, but if you want the program, just mail me for the source code and detailed description.


Musicmania Musicmania Musicmania Musicmania

Info Share

Allows multiple users to update a database through a HTML interface [download]

Info Share is a set of perl scripts that allows multiple users to update a directory like database with customizable fields through a HTML interface.

The users can create new categories, delete categories, create, edit and move individual entries, etc.


Info Share Info Share

WebDrill

Periodically check web pages for changes or phrases [download]

You can monitor any webpages for changes or check if a particular phrase has appeared. Depending on your choice, you wil be sent a mail if the page changes or the phrase you have selected appears on the page.

This software is still at its very primitive stages. If the current date (or the an ad that changed daily) is displayed some where on the page, that would be taken as a change. Additional options to work around these problems are yet to be worked out.


WebDrill WebDrill

Trans

Change transparency of windows [download]

Trans allows you to change the transparency of the current active window using the hot keys ctrl-alt-up and ctrl-alt-down. You can use ctrl-alt-left or ctrl-alt-right to turn transparency off for a window. Its programmed using the excellent AutoHotkey utility. Source code along with the .exe file is included.

You should note that transparency off is not the same as 0% transparency. Transparency off offers better performance. You can also change the transparency of the windows task bar and the start menu. Just click on them and use ctrl-alt-up and ctrl-alt-down


Trans