Its more than a year since I updated this section. Some of my new ideas are - fixation based object detection (see resume), multifan wind mills.

Robots augmenting human ability: Teleoperation of robots lets us vary the scale of operation. While making regular hand movements a doctor could perform microscopic movements in a robotic arm. A magnification of scale can also be beneficial to society. Lifting off rubble in a disaster scenario may currently require cranes whoes deployment at the disaster site is hindered by damage to road infrastructure. Instead a humanoid robot which implements the scale magnification could lift off the rubble. Given its biped nature it has the all terrain capabilities of a human, thus making its deployment easier and faster. Such systems could also replace humans in hazardous situations such as furnaces, mines, deep sea, outer space etc.

DNA inspired rendering: The DNA encodes the entire organism. An computer science analog of the DNA might encode entire arbitrary objects - table/chair/room etc. Instead of rendering triangle by triangle, one can specify this compact structure and have the graphics system render the entire object. Perhaps, this could be extended to real life objects such that mechanical systems coud use this compact structure to build entire objects.

Software Engineering and Monadology: Object oriented programming paradigm lets us model reality the way we perceive it. This view consists of objects which have behaviors and attributes and are related by relationships like “is a part of”, “has a” etc. A different view of reality was presented by Gotfried Wilhelm Leibnitz, in his work, “The Monadology”, which treats the entire universe to be made up of monads. Monads are windowless entities, that is, they cannot interact with the objects surrounding them. The cause effect relationships that we perceive are due to a preexisting harmony. Monads don't have parts (Mereological nihilism). One could develop a new programming paradigm for modelling this view of reality.

Programing course assistant plugin: Write a public for an IDE/editor to determine the difficulties faced by students doing their programming assignments on it. Collect this data and send the info to the programming course instructor so that the instructor could accordingly guide the student. This is helpful as the student may be unable to analyze/articulate his/her own difficulty.

Database with dirty records: Database that lets us insert corrupt records (records not satisfying constraints) but treats them specially as say dirty records. We can run queries in three modes 1) Only clean records, 2) Only dirty records 3) Both the records.