Additional profile information on Alfred Thompson at Google+
Hand checking code seems to be a dying art. At least for students that is. Throw some code into the IDE and hit F5 to compile and run and then see what happens. "Ready, Fire, Aim"
At the risk of sounding like the old guy reminiscing about the good old days that were not really so good I can't help but remind people what it was like in the days when you could expect to get to the computer once a day. Each shot at the computer meant one compile/run/test cycle. One really had to be careful about what you sent to the computer and that meant you went over your code carefully, by hand, before letting the computer get at it.
Back in the day that meant you looked for syntax errors as well as logic errors. I'm not so sure that letting the computer do most of the syntax checking is all that bad an idea anymore. On the other hand, really bad things can happen if the logic is wrong. I still like the idea of looking at the code closely, pretending to be the computer to make sure that the algorithm works the way it is supposed to work.
Call me old fashioned if you'd like but to me spending some time to double check the code by hand to the point of having a high level of confidence in the results seems like a good idea. When the program has its first clean compile and runs for the first time it shouldn't be a surprise that it works correctly. All too often it seems as though programmers, well mostly beginners, put together some rough set of code with the hopes that it will achieve close to the correct result. Once they see how close they get they assume they can gradually fix things. While iterative development is in many ways a good idea it would be a lot better to go from success to greater success than from near success to closer to success.
This is the twenty-first of a series of posts based on the book Programming Proverbs by Henry Ledgard. The index for the series is an earlier post and discussion of the list as a whole is taking place in the comments there. Comments on this "proverb" are of course very welcome here.
Over at the Microsoft Robotics Studio Blog Joseph Fernando has a couple of interesting posts.
The first one is about a new robot that lets people take a virtual tour of the palace at Versailles. Robotsoft has created a robot that is allowed into the private areas of the palace. Orange Telecom fiber customers will be able to view what the robot "sees" in high definition from home. They will also be able to control the robot from their PCs. Pretty cool really. This allows people to visit, at least virtually, a lot more of the palace but without the security concerns of letting people actually physically wander around. Could this be a way to open more currently private spaces with broad public interest? Maybe.
Joseph also provides a bunch of links to the recent Sumo Robot competition that Microsoft sponsored at MEDC 2007. I really enjoyed the pictures he posted of the behind the scenes set-up operation as well. They assembled 40 sumo bots for the event. I can't imagine how much more work it would have been if they hadn't been using standard parts like the fully assembled Create robots from iRobot that were the robot bases.
(BTW it appears that Tom's Hardware is running a Create robot contest.) I'm not sure if that is the same or different from the one at http://www.instructables.com/group/iRobot but there look like oppertunities to do fun robotic stuff over the summer and win cash as well.
How does Blake Handler always see these announcements before I do? The man is amazing. Good thing I read his blog or the presentation I am giving next week at the CS & IT Symposium would have stale data. OK what am I rambling about now?
Windows SteadyState is the 2.0 version of what used to be called the Shared Computer Toolkit. This is a tool for managing and protecting computers that are shared my many people. Things like libraries, school classrooms and computer labs and even Internet Cafés. it lets you protect your C drive, limit activities that users can do and otherwise simplify managing a shared or public computer.
The handbook with installation and setup instructions can be found here. Summer time is just the time to think about how to manage computers in a lab next school year. I'd love to hear from people who have used this or otherwise looked at it seriously.