A few days ago I embarked on a new project, something that's long been a dream of mine.
Project River (as I've dubbed "her" for now), is intended to eventually be a complete AI Smart House system, controlling everything from appliances to music to recording television shows and ordering Chinese food.
However, while that's the end goal, I've decided to take very small baby steps for now. I'm programming her in C++, and every feature I add requires me to learn about a new library or function. Thanks to many hours of reading articles on the Internet, I've already made a little bit of progress.
What River can do so far:
1. Speak text allowed.
2. Respond to vocal commands such as "Turn the music up"
3. Access a SQL database
4. Control Pandora by sending keystroke commands to Windows.
Yup, when I said "baby steps", I meant it! But she's coming along pretty quickly in my eyes, considering that she's already useful. It's very convenient to be able to say "I love this song", and have Project River say "I like this song too", and give the song a "thumbs up" in Pandora.
So far I've found to great communities that I plan on tapping for ideas and knowledge throughout what looks to be a very long development cycle. Project Leaf, while written in Lisp, has a bunch of great ideas built into it, and is home to a number of very smart robotics amateurs. I hope to contribute to their project in the future. The other great resource I've already found useful is Chatbots.org. Many very smart Artificial Intelligence hobbyists hang out here, and have already given me a handful of great ideas and tools to use.
I intend to make daily or semi-daily updates as to the status of the project.
I realize this blog post is somewhat short compared to most blogs, but alas, I am a man of few words. I figure it's better to start making short blog posts, rather than never make any because the thought of writing a long one stresses me out.
Until next time... Take me out into the black, tell them I'm ain't coming back.