%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
Page is Major Work in Progress :)
Davidia, A History:
History: Davidia is the title of a program that I have been working on in upwards of 2 and a half years. It originated out of my messing with x10 home automation and speech processing through Microsoft's SAPI in the spring of 2001. It started out simply as a program that responded to the spoken phrases "lights off" and "lights on" by correspondingly turning the lights in my room on and off. Since then a considerable number of features has been added (and removed waiting to be reimplemented), and davidia has undergone a number of transformations.
Davezlink: At all points, the features in Davidia are limited by my experience in programming. At first it was a console program with no visual interface. I then tried to learn windows programming more heavily and developed a very rudimentary visual interface, basically a window with a text box to display debugging information as the program ran, and a menu with a few menu commands. First Davezlink was used to create more in depth voice commands for the x10 protocol. For those of you familiar with it, you know each device gets assigned a house code and device code. It was programmed to respond to voice commands such as "A one off" and "A 14 on". After that, i spent a good week writing a basic alarm program, the first "module" of davidia that actually had a visual interface. I spent more time on that interface than i did on the actual alarm program it was controlling! The next feature added was basic voice control for winamp, allowing someone to pause, play, stop, and skip to the next song in winamp. Stopping and playing songs was great, but wouldn't it be better if you could launch any song by its title? Right on.... that took a while to get down but that was implemented, so that davidia scanned the dir with all my songs, adding their titles to the voice recognition engines list of recognizable songs. Pretty soon i could say "play semicharmed life" and play it would.
Davidia: It was now the summer between sophomore and junior year. Around this time i think i finally thought up the name davidia instead of davezlink. It sounded cooler, i thought... heh. I decided to expand the x10 modules. I wanted to put Davidia online at some point, and there are multiple hardware interfaces that can be used to transmit x10 commands onto the power lines in your home. Thus i had to write the code that allowed Davidia to communicate with the devices... This was... not fun. I spent many many hours everyday working on it, and by the end of the summer i had working code to control both smart homes powerlinc and x10s cm11a and cm17a. I then developed my second visual interface. then moved on to TV tuner programming. If i can turn songs on and off, why not change the channel with my voice. This was the deepest programming yet.
This was the problem when you write UI programs in win32. Programming in win32 is EXTREMELY not fun for any complicated visual interfaces. The problem was that at that time i didn't know OOP, and thus i couldn't use MFC (Microsoft Foundation Class) to write the visual interface. Thus i went to work .... (insert needed sleep here)