If you're looking for an inexpensive (as in free) holiday gift for your favorite geek, take a look at Microsoft Robotics Studio, which Microsoft released on Tuesday. Microsoft Robotics Studio is a development environment for creating robotic software for a wide variety of hardware platforms. You can develop robotics applications using Visual Studio, including Visual Studio Express languages (Visual C# and Visual Basic), which are free to download, as well as Microsoft IronPython. Third-party languages that support the Microsoft Robotics Studio services-based architecture are also supported.
There are several Robotics Studio tutorials available to learn more. In particular, take a look at the Microsoft Visual Programming Language (VPL) tutorials. VPL is an application development environment designed on a graphical dataflow-based programming model rather than control flow typically found in conventional programming.
On a related topic, the January 2007 issue of Scientific American has a cover article by Bill Gates, A Robot in Every Home.