December 2, 2005
About two months ago Dan Fernandez called me into his office and said, "You need to put together a Coding4Fun Holiday Guide." Okay. While not entirely sure what that meant I figured it would at least involve some sort of gift wish list and some project ideas for the whole family. Sure enough, by putting the word out to our authors and requesting input through the C4F site blog, great ideas poured in. Some of the ideas are "freebies." Some are just the kind of fun stuff that only programmers appreciate. Some will be helpful resources to use in your coding projects. Some will have great appeal to kids. And some will separate the true geeks from the mere wanna-bes.
Since we're all coders here, one of the things we wanted to do was distinguish this guide from other online holiday gift guides by primarily focusing on products that have an API you can code to. For most items, we've included links for how you can get the product and how you can code it.
Please note that all prices are approximate street prices in U.S. dollars. These products are not necessarily endorsed by Microsoft and are the personal opinions of the Coding4Fun team and of course our faithful reader submissions.
Gifts for under $5
Sometimes the budget isn't there, but that's okay! Remember, it's the thought that counts.
Visual Studio Express Editions
First, make sure they know about the FREE downloads of Visual Studio 2005 Express Editions. It comes in five flavors: Visual Basic, C#, C++, J#, and Visual Web Developer. Each comes with SQL Server Express Edition 2005 and the Express Edition of the MSDN library. There is no better programming deal anywhere. Best of all, they can all be installed side-by-side on your computer at the same time.
Cost: Free until November 2006
Get it: Visual Studio Express Home Page
Images, Icons, and Components Oh My!
Just for registering Visual Studio Express, you get a ton of freebies including an eBook on either ASP.NET, VB, or C#, 250 stock photography images from Corbis Images, 100 Windows icons from IconBuffet, free components including IP*Works ADO.NET Provider for programming RSS, POP, IMAP, SMTP, and NNTP that make checking email as easy as writing "Select * from Inbox" and GraphicsServer.NET graphing/charting controls.
Cost: Free just for registering Visual Studio Express
Get it: To receive these benefits, download and register Visual Studio Express
Paint.NET is an image and photo manipulation program created by students at Washington State University. While it doesn't have all of the features Photoshop has, it's simple and powerful enough for the developer on a budget.
Get it: Paint.NET Home Page
Code it: Paint.NET is written in C# with a managed API that you can learn how to code to by reading this CodeProject article
NetStumbler is a program that graphically shows you nearby wireless networks (802.11a, b, and g). Using it, you can easily see where available network points are and their signal strength. There is even a PocketPC version called MiniStumbler for portable devices
Cost: Free, donations accepted
Get It: NetStumbler Home Page
Code It: NetStumbler includes a scripting (VB script or Jscript) reference API in their documentation and can even be integrated with a GPS device and Microsoft Streets and Trips 2006 (reviewed below) to provide a map of wireless hot spots.
With Id Software's Quake 4 already out, Quake 2 is an oldie, but goodie that's perfect for learning game 'modding' using managed code.
Get It: Download Quake 2 Demo
Code It: Vertigo Software built Quake 2.NET which is a managed C++ version of Quake 2 that enables you to build your own Quake add-ins using managed code.
To help keep up with the latest in the Express Forums and other RSS enabled coding sites, you really need a full-featured RSS reader. RSS Bandit is a free reader written by .NET programmers and is one of our favorites.
Get it: RSS Bandit Home Page
Programming for Kids
For your younger programmers, download and try the Kid's Programming Language (KPL). What a cool application this is. With relatively few lines of code, your aspiring programmer can create games, utilities, and graphics in an environment that looks a lot like Visual Studio but is written for the pre-teen beginner. The concepts learned in KPL transfer to Visual Studio when your child is ready, giving him or her a head start on being the next Bill Gates.
Code it: Check out this Coding4Fun article that walks through creating your first application with KPL.
Coding Bumper Sticker
And if you do have a five-spot to spend, have a little fun and give that special someone an "I'd Rather Be Coding" bumper sticker!
Get it: Available in various colors and sizes from Bumper Art
Gifts for under $50
If your loved one is really into web development, then she needs a place to host her site. Microsoft has lined up a long list of web site hosters supporting ASP.NET 2.0. Depending on your needs, these companies offer hosting from about $5 to several hundred dollars. But, for many hobbyists there are plenty of good deals for about $50 annually, including domain name registration.
Get it: ASP.NET 2.0 Hosters Home Page
USB Wireless Security Lock
For approximately $15 you can give the fully programmable USB Wireless Security lock which will lock your PC when your key fob goes out of range and even enables you to run custom programs when your PC is being locked.
Get it: Available through New Egg
Binary Wall Clock
A more fun, if less practical route might be a Binary Wall Clock. This is a great wait to say, "I'm 1337 and proud of it!" It is a nifty gift and comes in a variety of colors.
Get it: Available through DevToys
For the budding game developer that needs a simple tool for creating game textures, you should try MilkShape 3D, which includes file format support for Half Life, Quake 3, and The Sims among others.
Cost: Free to try, $25 to buy
Get it: MilkShape 3D on Download.com
Code it: You can find lots of tutorials and even some model viewers on the MilkShape 3D home page to help you get started.
Make Magazine Subscription
If hardware hacking is the kind of thing that appeals to your inner geek, then you may also want to consider a subscription to O'Reilly's MAKE magazine. While not a strictly programming journal, this new quarterly publication is making a real splash with those looking for ideas and hacks to computerize their cars, automate their homes, and basically just build fun stuff. .
Cost: $34.95 for an annual subscription
Get it: Make Home Page
Microsoft Wireless Notebook Optical Mouse 4000
And if you are just looking for nice hardware to brighten someone's day, there is the new Microsoft Wireless Mouse 4000. Targeted at laptop and tablet users, this is a perfect gift for the coder on the go. I love mine!
X10 Smart Home Starter Kit
This holiday season, why not spend some time and make your home a little smarter with Smart Home Starter Kit?
Get it: Smart Home 1140 Starter Kit
Code it: Tony Northrup has a great 3-part video series that shows you step-by-step how to add X10 to your home and even program against X10 devices in Visual Basic or C#..
Gifts for under $500
Windows Xbox 360 Controller
This wired controller can be used to play both Xbox 360 and Windows PC games, and best of all, you can program with it too. You'll be the envy of everyone in your neighborhood if you can actually find one of these controllers this holiday season.
Code it: The October DirectX SDK includes Xinput libraries that you can use to program your controller to do fun things like control a Phidgets Pan and Tilt Web cam the way Andy Dunn did in this Coding4Fun Coding4Fun Channel9 video or control a Windows Media Center the way Casey Chestnut did in this step-by-step article.
The Ultimate Remote Control
USB UIRT offers a USB Universal Infrared Receiver Transmitter. The UIRT will receive signals from the remote controls you already have (allowing your PC to perform actions when the "Play" button is pressed on your VCR remote, for example). It can "learn" from remotes you already have and transmit a duplicate of these signals from your PC (for example, your PC could automatically turn ON your VCR and tune it to channel 3) Or, the UIRT could use codes available from the Web for other remotes (such as the Philips Pronto) to control all of your equipment with Remote (IR) receivers (including special "discrete" remote codes your brand-name remote doesn't include!). For example, the USB-UIRT could transmit the discrete "Input 3" code to your TV to directly switch it to input 3, rather than cycling through all of the inputs. Wow!
Get it: USB-UIRT Home Page
Code it: The UIRT does not currently support a .NET interface. The manufacturer does provide a Windows DLL file for COM support and publishes the API. (Another case of a .NET wrapper waiting to be built—hint, hint.)
Half Life 2
PC Gamer called this 3D first-person shooter "â€¦the best game ever made" and with cool weapons like the gravity gun and a fully moddable game system, it's no wonder Half Life 2 is one of the most popular games around. The stand-alone game will run you $39.99 while the Source Premier pack includes source code for Half Life 2, CounterStrike, and more for just $59.99.
Get it: http://www.steampowered.com/
Code it: Using Visual C++ .NET 2003 (2005 is still not supported), you can create your own game mods using the Half Life 2 game engine. You can find a full list of modding resources at the Half Life 2 Mod Spot on Coding4Fun.
Using the new Serial Port classes in the .NET Framework 2.0, you can create some pretty cool applications to display dynamic information on a CrystalFontz LCD display.
Get it: CrystalFontz Home Page
Code it: Scott Hanselman has a great article that shows how to display what's playing in Windows Media Player on an LCD display and Kit George has a cool Space Invaders Console game demo that he hooked up to an LCD display to control how you fly the spacecraft.
Probably the most open-ended DIY robotic tinkering that most hardware enthusiasts will do can be filled by a visit to Phidgets. While the Starter Kit Assortment #2 is priced at $414, you will likely want to add-on to that starter kit to make truly amazing robotic inventions.
Cost: $76.95 – $414+
Get it: Phidgets Home Page
Code it: Phidgets supports a variety of languages for its products, including a .NET interface. An API manual with examples in C# is available in PDF format.
Some of the more popular Phidgets Kits include:
RFID Tag Reader Kit
Get it: The RFID Tag Reader kit from Phidgets is $76.95.
Code it: Check out www.Phidgets.com's example code!
Pan & Tilt Web Cam Kit
Cost: $119.75 for the kit and $30 for the camera
Code it: Check out the Coding4Fun Channel9 video where Andy Dunn shows how to control one of these using an Xbox 360 controller.
Microsoft Streets & Trips 2006
Microsoft Streets & Trips 2006 provides turn-by-turn speech support as well as improved .NET integration. This software and GPS combo can be used with your laptop, Tablet PC, Windows Mobile PDA, and Windows SmartPhone to make sure your always able to find your way home without stopping to ask for directions.
Get it: Streets and Trips 2006 Home Page
Code it: Scott Hanselman again comes to the rescue with a great article on how read data off of the GPS receiver.
Debating about the best MP3 player can be more controversial then a programming languages war, especially among audiophiles. Now add to that the introduction of multimedia devices that play video and it is a jungle out there.
Cost: $150 - $400
Code it: You can easily program against your MP3 collection using Windows Media Player as Jeff Key shows us in this Coding4Fun article. Peter Bernhardt also has an article that shows how to dynamically display your iTunes music collection and iPodder.NET is an open source C# application for syncing podcast subscriptions with an iPod.
Smart USB Thumb Drive
U3 makes a hardware/software combination for USB thumb drives that allow creating of specialized application drives. You can create a boot drive. Or build an application that runs solely from the thumb drive, never installing on the hosting PC or leaving behind any data. This is the ultimate in portable applications.
Get it: U3 provides links to a variety of Thumb Drive makers supporting their technology.
Code it: Sign up for the U3 Developer program which includes a free SDK.
The second great tinkering system in this category is from XGameStation, which makes a DIY gaming console. While the basic console is fully assembled, it's up to you to program the games. This is a great way to learn low-level programming and understand the basics of game development. The system from XGameStation is open-source, which means it's begging for an ambitious C4F reader to write a .NET wrapper to generate the needed assembly code for game programming.
Cost: Starting at $199
Get it: Visit the XGameStation home page
Code It: Comes with it's own assembly code but is supported by a number of community created tools like SX/B Basic. (Yet again, another opportunity to create a managed code library!)
I'm sure we all remember how much fun it was to build LEGOs when we were younger, and boy, have they grown up. LEGO offers the Robotics Invention System (RIS) 2.0 through its "Mindstorms" collection. The LEGO RIS comes with its own microprocessor unit that can be programmed by writing code on your PC and then downloading it via an infrared device that is connected to a USB port. You'll will love the ability to create dozens of different projects with the initial kit. LEGO sells themed add-ons for the RIS (e.g. Star Wars and SIM games) to extend the possibilities to wherever your imagination take's you.
Get it: LEGO Mindstorms Home Page
Visual Studio 2005 Standard Edition
If you're a serious hobbyist, chances are you want to create Mobile applications using the .NET Compact Framework or use 3rd-party Visual Studio add-ins, two features that aren't available in Visual Studio Express.
Cost: $199 upgrade, $299 full price
MP3Car and Mini-ITX Computers for Your Vehicle
Trick out your ride with a "Carputer" system for your vehicle. These are real PCs that run Windows XP, and systems can be built to your specifications. Now you can provide a true multimedia experience, support sophisticated GPS navigation systems, and use WiFi internet services in your vehicle.
Cost: Systems under $400
Code it: Since it's Windows, you can write any Windows application you normally would on your desktop, like adding Text-To-Speech capabilities. For car-specific programs, there are lots of APIs, but some popular choices include iDrive Navigator or the Destinator Navigation System.
Does your special someone not have a Windows SmartPhone yet? Microsoft and Sprint come to your rescue with the Sprint Power Vision PPC-6700 with the new Windows Mobile 5.0 operating system. The power of this new version of Windows Mobile makes it the best available OS for handheld devices. And Sprint has provided the hardware to make use of it. If you're using Visual Studio 2005 Standard or higher, then this is also an opportune target for coding some fun mobile applications.
Cost: $419 not including service
Get it: Available through Sprint
Gifts under $5000
If you are here, either you are curious or your very special someone is really "jonesing" to code.
Phidgets does have great kits for much less, but the higher end stuff is what dreams are made of. Check out their web site for information on the kits to connect Microsoft Flight Simulator to Phidgets interfaces and displays. There are even people building complete airliner cockpit simulators! This is serious robotics for the hobbyist.
Get it: Visit the Phidgets Cockpit Simulator Home for more information
Code it: Download the PDF file, FS2Phidgets Manual for a programming introduction. Then check out the project submitted by Phidgets customers who have built and programmed some amazing simulators. Plus there are several active forums to provide assistance to the new FS2Phidgets programmer.
Windows XP Media Center Edition PC
Let's start with the most basic item, a PC. Without recommending a manufacturer, C4F agrees that a PC with Windows XP Media Center Edition 2005 offers a raft of coding opportunities for hobbyist programmers that just can't be beat! Shop online or in stores for the best deals. But make sure it has MCE 2005 installed.
Cost: Some available now as low as $600 with rebates
Get it: Learn more about Windows XP Media Center Edition systems and the PC makers offering it.
Code it: This is a great platform for coding with the Windows Media Player SDK. Check out Arian Kulp's recent Coding4Fun article on building a custom application with Windows Media Player on a Media Center PC.
Sony DVP CX777ES
A great complement to any Media Center PC is the Sony DVP CX777ES. This 400 disc, progressive scan DVD juke box. But what distinguishes this from other players on the market is Sony's inclusion of an RS-232 port and posting on its web site of the protocol to interface with and program the unit. On SourceForge, there is a free interface library already written to do just that. Now you can program a video jukebox to show just what you want when you want it.
Get it: Check the Sony website for the retailer nearest you.
Code it: You can find an Interface library for RS-232 port on Sourceforge.
Windows XP Tablet PC Edition
If you're looking to buy a notebook PC, you should take a Tablet PC for a test drive and see if you like to think in ink.
Cost: Starting at $899
Code it: The Tablet PC has a great SDK and the Mobile Ink To Do Starter Kit has everything you need to get started building very cool applications like Casey Chesnut's Web Cam optical flow labyrinth game.
Windows Server 2003 Standard Edition
Besides being able to host your own Web site, Windows Server 2003 also includes support for Windows Media Services which has an API that high end hobbyists would love to tinker with.
Code it: If you're new to programming Windows Media, I recommend getting Fundamentals of Programming the Windows Media Platform (MS Press) as Chapter 19 includes some cool code for how to code your own Internet radio station!
If your special someone's taste in robotics is more the programming than the building, then our top of the line gift suggestion for 2005 is the Sony Aibo Robotic Companion. This mechanical dog will make you forget he's only a machine. There are numerous built in programs and Sony is planning to make this ultimate companion programmable in the future. Ah yes, A geek and his dog. (Sorry, I could not resist saying it.)
Get it: Aibo is available direct from Sony and from Sony authorized dealers.
Code it: Sony offers a dedicated Aibo Software Development Environment web site with SDKs, forums, documentation, and examples.
Microsoft Speech Server 2004 Starter Kit
For the über geek with money to burn, nothing says I'm cooler then you then being able to call your home computer from your cell phone and telling it to turn the lights off (using X10) or have it dynamically read your favorite blog or even stream your music collection right over the phone.