by Carson Reynolds
Upgrade Recommender System
Anna is ready to upgrade her software distribution to a newer version. The package management program has been carefully tracking the stability, reliability, reported and sensed usability of her software. It recommends a new configuration for her system based on uploaded ratings of software from users just like her. Software programs below a “trusted” threshold of reliability and usability are avoided.
The program that Anna is using crashes again, leaving her frustrated. She needs a program that can play MP3s, but is completely unsatisfied with her current program. She opens her package manager and clicks on the program which just crashed. She writes a very negative review of the program and rates it 2/10. Her core dump is uploaded along with her usage statistics. The package manager recommends an alternative that is rated better and provides functionality to play MP3s.
As Anna opens her control panel she sees not only her current settings but the systems’ suggested settings for each option. Each knob has a tick mark denoting where it’s currently set, and a second with the system’s recommendation. The recommendations are derived from past use experiences from users with hardware configurations akin to Carol’s.
Michael is a promising VJ artist. His craft consists in improvising visual displays to accompany music. As he performs he searches and modifies video elements to fit the mood and texture of the music plaid live by another performer. The interface he uses monitors how he reacts to various possibilities. It is constantly speculating different permutations on the current video clip he is using which he can either manually modify or incorporate into his projected display.
He is presented with a landscape along which his current projection varies. Michael introduces perturbations into the current trajectory of video display causing the system to veer off the path of least resistance toward more interesting variations that better fit the music.
Raul opens a window to the peer-supercomputer. His computer joins a network of peers that share memory and abstracted processing, much like other distributed computation systems (e.g. Folding@Home). The difference however is that he is allowed to use the community supported computer interactively instead of altruistically.
The environment offers simple ways for the user to interact with machine learning using a variety of interfaces from the textual to the geometrical. The system recommends different styles of notation which yield different computational performance (i.e. vectorization of for-loop code).
Greg is experimenting with different ways of controlling his model airplane. Using a deformable surface he constructs a gradient that describes the behavior of the airplane’s control system. The surface he handles consists of woven ribbons that detects the orientation and configuration of the whole gradient. Using the same tool Greg experiments with different settings for the homeostatic control system for his autonomic computer. Setting up equalibria and trajectories Greg is able to describe complex behavior in a simple and intuitive way.