Archive for the ‘Geek’ Category

Programming Standards Enforcement

Friday, July 20th, 2007

This one had a few of us rolling on the floor laughing at work today.

Wii Tennis And A Roomba

Tuesday, April 3rd, 2007

It’s been quite a while since I’ve written here but I have been plenty busy with packing, moving, unpacking plus the daily grind on top of that.

But all work and no play makes me a dull boy — that’s where the Wii helps. I was in a race with Chris at work to see who could accumulate > 2000 points in Wii Tennis. On Sunday night I won a game which put me at 2011 points. Just enough to edge Chris out before he could get there, but he’ll stick to his story that he had tennis elbow and couldn’t play as often as I could.

On Tuesday this week Lauren and I picked up a vacuum cleaner from Canadian Tire. It’s a Roomba Discovery created by iRobot. iRobot is a robotics company that just happens to have a hugely successful robotic vacuum. From the outside it looks like a pretty neat company with some very interesting software challenges.

Now for the neat part. You can control the roomba’s motors and read the sensors through the serial port. There is a published serial port (hardware) hack that puts a Bluetooth radio onboard the device which allows the radio to connect to any other Bluetooth device that can talk the serial port protocol. Now I need to build some hardware so I can write some software.

http://www.makezine.com/blog/archive/2006/02/how_to_roomba_bluetooth_interf.html

Don’t Buy Vista

Tuesday, January 30th, 2007

There is absolutely no reason for anyone to buy a version of Microsoft’s new operating system labeled “Vista”.

The time to upgrade to Vista will be when you buy a new computer and Vista comes preinstalled. This way you won’t have to worry about hardware incompatibilities and slow execution because your machine may not have enough horsepower.

Most software vendors say their software is “Vista Compatible”, but I wonder how true that is. Things like tax software, and anti-virus could be issues. If you’re not dreaming about the bleeding edge of technology and you like your computer to work for more than a few hours — then just wait. Don’t be an early adopter unless you want to deal with the upcoming issues that are bound to surface as the code base is explored by more users in new and exciting ways.

Is XP broken for you? If not, just keep on trucking because your web browser will continue to work if you don’t upgrade.

Here is a new argument against Vista based on the environmental impact of replacing tonnes of computer components. While I don’t endorse all the political ideas of the green party they do have a valid point in this specific case.

Hacking Democracy

Thursday, November 9th, 2006

I watched the HBO documentary called “Hacking Democracy” last night and it was quite eye opening. They showed how a Diebold optical scanning voting machine was able to have it’s memory card altered to effectively “stuff” the ballot box in the favour of a candidate while maintaining the accuracy of the total vote count.

Without having looked at the software — because it is illegal thanks to the DMCA — I will speculate my thoughts on this situation.

The machine relies on removable memory cards in the same way that your camera does. This allows machines to be disconnected from a computer network, but relies on “sneaker net” to transfer the number of votes from each individual machine to the “central tabulator” which reads each memory card and sums up the totals for every machine in the election.
(more…)

Visual Studio 2005 Pre-Build Magic String

Thursday, November 2nd, 2006

I had a struggle a while back trying to get a pre-build event to fire before my code was compiled.

The pre-build event generates a class that allows me to inspect the revision level of my code and ties the revision to the subversion source code repository.

Today I had a coffee and revisited the problem. I had a lot more success. The magic string is shown below:

"$(ProjectDir)genSvnVer.bat" "" ModuleTracClient

This expands when run on my laptop to:

"C:\Documents and Settings\cgness\My Documents\Visual Studio 2005\Projects\client\ModuleTrac\genSvnVer.bat" "" ModuleTracClient

There are 3 components to the magic command line above.

  1. The executable needs to be quoted since the $(ProjectDir) macro may expand to something with spaces. C:\Documents and Settings... when parsed by the shell evaluates up to the first space C:\Documents which is not an executable.
  2. Parameter 1 for the batch file allows me to set the output location concatenated to the current working directory for the output of the script.
  3. Parameter 2 sets the namespace to be used in the generated C# class.

The script I’m using is the one I posted to the Subversion mailing list but I added a parameter for where to put the output. That will be left as an exercise for the reader.

To debug your pre and post build events simply change to the output window, check if they possibly would work in the command shell and read the errors carefully. Happy shelling!

No Silver Bullet

Friday, October 13th, 2006

More seriously, even perfect program verification can only establish that a program meets its specification. The hardest part of the software task is arriving at a complete and consistent specification, and much of the essence of building a program is in fact the debugging of the specification.

Frederick P. Brooks, Jr.
No Silver Bullet: Essence and Accidents of Software Engineering

Published in the ACM Queue

Friday, September 22nd, 2006

I recieved an email from someone at the ACM Queue letting me know that my submission to the What’s on Your Hard Drive section was selected and will be published in the October edition of the magazine.

The really interesting part in all of this is that I don’t remember what I wrote for my favorite and least favorite tools so I’ll be as shocked as everyone one else when it comes out. Being a source control zealot I’m sure I put subversion down for my favorite, but my least favorite tends to rapidly evolve day by day.

2006-10-13 09:00 Update: Read it for yourself.
2006-10-13 17:00 Update: The mug arrived today.

VehicleLog: Graphing Sparklines

Wednesday, August 23rd, 2006

I discovered this pretty neat graphing tool in PHP called SparkLines. You’ve probably seen them often if you are an avid investor. The idea is to make small text sized graphs that can go inline of the text that displays basic information.

I’ve added a small graph at the top of the table listing of the mileage page in VehicleLog. Yeah, I know it’s highly nerdy to track your fuel and mileage consuption but I’m ok with that since it’s what I do.

Source code can be found on https://code.nesser.org/browser/trunk/VehicleLog/

Virtual Earth Mobile 1.64

Thursday, June 29th, 2006

If you have a windows mobile device or a pocketPC device with an internet connection and you sometimes require help navigating to locations this is the program for you.

An internet connection is required to update the maps, but there is a cache so if you figure out your path in the comfort of your home you can save EDGE GPRS charges.

Virtual Earth Mobile Screenshot

This software uses googles API to access Virtual Earth. It’s also rather new and prone to crashing so don’t be surpised if it does not perform as expected.

Virtual Earth Mobile 1.64

Bare Metal Restore

Wednesday, May 10th, 2006

How are your data backups? Do you have a data backup? Do you have an off-site data backup?

What would you do if your machine were to have a hardware failure? Knock on wood it doesn’t happen, but here is a neat method of storing every bit you have on your hard drive using good old fashioned GNU tar

http://linuxboxadmin.com/articles/bare-metal.php

Maybe now would be a good time to back up your data because bad things do happen to good people.