Projects and Publications
- Current Itches
- Project details
Summary of all projects
-
Final year in school I implemented the RSA encryption system using Borland's C++ compiler. The entire scope of the project, was to use this to implement a voting scheme. However we could finish only the command line tools for the job, as we bang ran out of time.
-
First year in college I implemented Huffman's compression algorithm in a variety of languages (C, C++, Perl, Python, Ruby), in order to check performance and productivity of the algorithm and the language respectively. I then tried to display the results using various tools like gnuplot, all the way to the ubiquitous MS Excel. By this time I had a good feel for the Linux OS, and was very comfortable developing on it. I kept reimplementing the project with new toolkits (e.g. ported it from qt to gtk to tk), and new languages too (Java). By the end of this project I was pretty comfortable using Linux as an operating system and with a variety of languages and methods of solving a problem
-
By second year I was quite proficient solving problems using Perl and took to conducting classes introducing Perl to interested final years. During this time I also picked up Java, since a lot of people were raving about Java. By this time, I also decided to start hacking the Perl regular expression engine. I wanted to create a regular expression library in Java which would follow the Perl re syntax. I tried writing my own parser, but when that looked to be tedious, tried to extend the Gnu regular expression library to work with Java. I was busy doing this when all of a sudden Java came out with their next iteration of their environment that had regular expression libraries.
-
Second year, I also spent a lot of time looking at DOS and the DOS interrupt handling mechanism. I needed this knowledge for one of my labs, where we had to design a data acquisition unit and use a computer to store and analyze these values.
-
At this point I was getting bogged down with different API calls for different toolkits and wrote a paper titled "The GUI Jungle". This was selected by the Chennai Mathematical Institute for their annual symposium.
-
I implemented a system of scripts using the Mozilla engine, that would allow me to download web based email to the integrated Mozilla mail client. I submitted this for the IBM Linux Developer's Conference.
-
Third year, I decided to implement a project that would allow a daily cartoon to be displayed to each person who logged into the computer lab, when the cartoon cache for this was distributed across different computers. I got hooked into distributed file systems, and collating and classifying information across different computers. I wrote a paper about this titled "Organic Programming". This was selected by CMI for their symposium again.
-
One of my long running projects has been to make a small hand held portable braille display. This has been a project that I have been involved in on and off as I find the time and the energy to implement.
-
For my engineering major project I implemented a Data Acquisition System to measure micro climatic variables inside ashoe. The project required cost estimation, and was quite tricky as it had to balance a lot of design factors where there was very limited scope for error.
-
During college I also did some freelancing work for which I reverse engineered the communication protocol between the compter and an instrumentation system and wrote linux device drivers for the instrumentation system. I led a team of three developers in building the frame work for reverse engineering the system and then wrote the device drivers. I also added a few client specific extensions to the system, which were greatly appreciated by the client.
-
I also developed a set of embedded Linux boards, that were to be used extensively in embedded systems. I had to design the Linux systems to have a very small memory footprint and also design a framework whereby the core application of the embedded device could be plugged in by furthere developers. My project was used by atleast three different teams and I was leading a team of two people when developing this project.