This section is about Java code that I wrote. This includes command line apps, swing-based apps, and websites with a strong java backend.
This is a utility that maps any source code file, written in any language, to an html file based on a syntax file that you provide. The syntax file is simply a list of keywords and reserved words of that language. Current limitations: only form of comments allowed are the '//' and the /* */ styles
Ever wanted a list of colors and there hex values (like #32345e)? Here is a tool that generates an html file filled with rows and columns of colours and their values. This was one of my beginning projects - I did not know then that the code was #RRGGBB, I just used the table.
This is one of my favourite projects. Here I connect to a database that the user provides, and retrieve all the information about tables and columns in that database, and generate html files just like javadoc does. Main difference is that javadoc has source of information to provide documentation, in this case I don't, so I generate the placeholder files that the user just fills in FrontPage, or some WYSIWYG editor. The look and feel is also just like javadoc
Quite a silly program for batch renaming of files in a directory. The main advantage over Windows batch file based solution is that you can use all the string handling logic in a familiar and easy to use Java format.
Another utility program written out of lack of appropraite knowledge of string handling
in Windows batch files: this does what the find command does on the command prompt,
again, we get to use our own logic when deciding a hit or a pass.
A very useful program that gets the different font families installed on your system and creates and html file with font-family vs. example text mapping. very useful when desiging posters or some presentation.
Probably the most visually appealing Java program I have written till date, Bouncy features a red ball and a blue ball bouncing around in a frictionless environment with a fixed green rectangle. Wrote it during the summer holidays in my first year.
The game of hangman that I wrote. It has a great GUI, and the game is quite enjoyable, however, it did not flourish kgp because I did not know how to publish it convincingly, moreover, the hints provided for the words were more puzzling than helpful.
One of the apps I had great hopes for. But it became too complex too soon. I had dreamed of functionality like entering into passive mode when active mode was not available, hunting for active users, buzzing and chatting, bypassing firewalls and the like. However, I found other ready-made alternatives, and my interest died. After GTalk, there is no question of this project ever reviving.
I am quite proud of this app. I still remember one day when it suddenly struck me that I could write my own version of LOGO if I wanted to. (Well I was introduced to Computers usign LOGO, so it does have some meaning to me). So I did. It has a cool set of features now, after I rewrote the parser engine using Interfaces to connect the app and the parser. It also has a for loop with scoping of variables (!), but a few features like variable step sizes are missing.
This is one project that I wrote in collaboration with Swarnavo. I developed my own pathfinding algo, and he developed some form of populating the graph with random obstacles, and we solved the map. This is also one of my beginner projects. I was quite happy that I had found my own algorithm, without knowing any of the pathfinding algorithms at that time.
After many painful days of searching for information in the Java API javadocs, I decided to make a searchable repository of Javadoc information. This was a herculean task, not because of anything else, but because that i had decided to build the repository by parsing the index files of the javadoc, and they were terribly complex to read. Thankfully, with some idea given by DPC, I was able to complete it.
Towards the end of my first year in I-lab Deepak and I were asked to do a project that handled all transactions in a library. It worked pretty nice, and we had rules set up to prevent borrowing the same book three times in a row, but then one day I formatted my hard drive without thinking, and the entire thing was quite lost.
Sick and tired of the default filelisting of the web-servers, I decided to write my own file-listing page. This is still under development.