Brainstorms.html

 

Random Brainstorming Sessions

Deepak Bandyopadhyay

 

(inspired by this page of Ramesh Raskar)

 


In my opinion, every serious PhD candidate should have such a page which gives expression to their creativity & helps them organize their ideas (not necessarily related to the field of research). Who knows, maybe one of these will be picked up & worked on & turned into a real innovation someday... great leaps can happen when like minds get together & dreams are shared. Anyway enjoy!

Check back here often... email me with your ideas or comments/suggestions.


GIS-to-WWW services like mapquest.com give you (often) a reasonably accurate way to get to a certain place in the shortest time. However, you have no idea about the best place to park and this information has to be either customised & disseminated for each such event, or you have to go in for the standard paid parking offered by the facility (eg. the beaches in LA bum you for an avg of $5.00 for entry). How about if to complement the mapquest service, there was a "parking directions" service that suggested an alternate free or lower-cost parking place based on how long you were planning to stay? It could be made dynamic so that each lot could have a flag "has space / is full" that is updated frequently, and street parking could be monitored based on the status of the meter, if one exists, else (try to avoid this) from satellite imagery. This could be done for just the city of LA on a pilot basis, and then extended.


Los Angeles, July 2000

Does anyone know of a program out there that will help explain the purpose of a piece of code to the hapless RA who is trying to hack it? Something that can walk you through the variables & the flow of data in an intuitive way so that you can try out various inputs & parameters & see what the program (or indeed, the bunch of directories with Makefiles) is trying to do? Or, knowing what it does overall, can one have a refined view of what steps it is using to achieve its result?

In the general case guessing the function a program is trying to compute is indeed an NP-hard problem. However, specialized tools are available for verifying that a program meets some axioms. Could this be extended so that suppose I tell the system "this is a computer vision program" or better yet "this program here does Singular Value Decomposition", can the system make it clear for me using a novel "code user interface" view instead of the traditional "code" view, how it is doing it. In a sense this program would model and semi-automate the painful task of reading code written by someone else and understanding what the code does. It is not necessary to have a fully automatic tool that uses just the program in question - user input, tweaking and human-machine combined strategy are OK.


Chapel Hill, November 2000 (started thinking about "code UI" following Gary Bishop's question on the same in my Qualifiers in May 2000).

NOTE added April 2001: People have already worked on this so this idea isn't quite original. I refer you to:

I use Yahoo! messenger for instant messaging, my friend uses MSN messenger, there are still others using Netscape AIM, ICQ and others. All of us have a preference for our instant messengers, and end up communicating with only those that use the same one, or else running multiple messenger clients, creating a mess on the desktop and a waste of resources and training time. There should be an option "add user" in my messenger, or a transparent way of searching for my friends in the databases of all messenger clients out there, and then communicating with them; they use their application, I use mine, and a convention is followed on how to translate messages from one to the other. Internally, the option is implemented as an extension, patch or plugin, and it translates instant messages (data) and control messages between the messenger's protocol and the protocol of the other messenger application.

Critical analysis: I realize this application does not scale well as the number of messenger applications grows. The traditional solution for this is to have a standard or protocol; I have not heard of a standardization effort for Instant Messaging (all the companies seem interested in pushing their own software, and sticking to their internal protocol). One may well be under way, in which case this problem is solved. In the absence of a permanent solution, a plugin such as I have described would be immediately feasible and useful to a lot of people, partly because the pool of popular messaging applications is currently small.


Chapel Hill, October 2001 (started thinking about it following an email conversation with one of my roommates).


Please mail your comments to debug @ cs.unc.edu, or submit them below.

Name, Email addr:
Your comments :