I spent the remainder of Memorial Day getting through Season 6 of "Star Trek: The Next Generation". The first episode that I watched was
"The Quality of Life". In this episode, a scientist working on a mining platform develops small semi-autonomous robots that serve as mechanics and troubleshooters on the platform. The episode takes a twist when one of the robots (called an
exocomp) "malfunctions" and fails to fix a plasma leak (or a similar type of Trek accident).
The episode takes a turn when Data speculates that the devices are "alive" and the malfunction was really the device exhibiting self-preserving behavior and that the devices are living organisms, entitled to all of the considerations and rights due to sentient beings. The episode is interesting because it takes an interesting perspective on the nature of life and free will.
In my own research, I've been working on my
Pennyworth system that uses a machine learner to deduce its user's activity, location, and social context. Over the past few weeks, I've been adding features to the learner that makes it much more robust when faced with continuous values or bad information (noise).
Sometime over the weekend, I finished a feature that limits the ability of the system to
"overtrain" itself and render itself unable to generate general predictive models of its user. I had just wrapped up coding and was beginning to test the system when I began to notice that the system was "refusing" incorporate the noise I was giving it and was falling back on other mechanisms to avoid paradoxes that I was attempting to introduce. For a few minutes, I sat perplexed in front of my computer, wondering how I would be able to trick it in order to test the new code. Eventually, I had to resort to wiping the system's memory and test with a fresh learner.
Now, I am not claiming that my system is "alive" or anywhere near as sophisticated as the fictitious robots described above. However, there was a similar instance of the machine refusing to comply with its users intention that I found quite interesting and thought-provoking. Sometimes I feel that I'm deep enough into
the black box that any "intelligent" behavior is routine and completely expected. However, I was pleased that there are still things in my work that can jump out and surprise me.
~
Independent of the philosophical nuggets, my work on context sensing is going quite well. The Pennyworth system is functionally complete and I'll be working this summer working on a project that uses its context-sensing features to build
assistive technologies for students at the university. The plan is to identify a handful of students with a variety of impairments (sensory, motor, and cognitive) and enroll them as co-designers to create context-aware technologies that restore or enhance functionality that has been lost due to the impairment.
I've also been working with
the Growl project to implement the necessary functionality (AppleScript API) that will allow Pennyworth to control and adapt the notification settings to work with your context. A scenario that I've already implemented is downsampling notifications when I'm busy and my attention is completely committed (read: playing
the Battlegrounds in World of Warcraft).
If any of this sounds interesting, you can download and begin to play with Pennyworth by
visiting the website and reviewing
the documentation. I'm interested in recruiting more users and exploring the range of applications that could benefit from context sensitivity. In addition to assistive technologies and notification management tool, I'm interested in exploring new communication technologies (context-aware IM clients), productivity tools (time trackers & workspace management), games (context-sensing within WoW), and so on.
The program is free ($0.00) and open source, so give it a spin. You'll be helping me get my degree.