Projects

Listed below are a sampling of projects I have worked on or am working on. If you have any questions or comments on any of these projects feel free to contact me. Any source code listed is free to be viewed and used.



SVN Rock* (pronounced "SVN Rock Star")


*Details forthcoming*

TortoiseSVN Revision Get


TortoiseSVN Revision Get is a super-simple graphical wrapper around some functionality offered by the wonderful TortoiseSVN Subversion client for Windows. It was coded in C# using Windows Presentation Foundation (WPF) for the UI layer.

*Details forthcoming*

Rock, Paper, Azure! Bot


I coded a Rock Paper Scissors "bot" in C# to compete in Microsoft's Rock, Paper, Azure! competition against bots created by other programmers. Bots would go head to head in a battle with the winner of each "round" winning one point, with the overall battle winner being the first bot to reach 1000 points. The challenge came from handling the following additions to the standard Rock, Paper, Scissors game:

  • Dynamite move - Beats every move EXCEPT Water Balloon, but is only available in limited supply.
  • Water Balloon move - Loses to every move EXCEPT Dynamite.
  • Ties - Ties result in the point that would have went to the winner accumulating and then being awarded to the next winner. So if 3 consecutive rounds were tied, the winner of the fourth round would receive 4 points.
More minor aspects to be accounted for came in the form of move validation and in ensuring that the bot made a move before the alotted time ran out. My bot "GoodOlRock" used heuristic methods to gain perspective on potential opponent moves, particularly during the vital tie points. Logic tracked the opponent's moves for each consecutive tie level (e.g. results of 3rd consecutive tie moves were distinguished from results of 4th consecutive tie moves), and the result of each of these rounds. My bot then used this data to aid in the move decision process. It also employed strategies to appear as unpredictable as possible for the opposing bot, such as not making the same move X consecutive times at certain points of the game, and randomnly ramping up use of the Dynamite move for a certain number of moves. GoodOlRock finished in a respectable 10th place out of 48 competitors.


Official Rock Paper Azure! site


MLB Standings is a gadget for the Sidebar in Windows Vista. This gadget keeps baseball fans informed by fetching updated standings for each Major League Baseball team from ESPN.com, and bringing it right to their Sidebar or desktop.

While docked, the gadget shows a single division at a time, displaying each team's Win and Loss total, and the Number of Games Back. Undocked, the Win Percentage is also shown.

You may download the latest version of the gadget (1.2) here or at the Windows Live Gallery, where you can provide a rating and feedback.

The gadget source (Javascript for the logic and CSS/HTML for the design) is in the Users\[Username]\AppData\Local\Microsoft\Windows Sidebar\Gadgets\MLBStandings.gadget folder on your hard drive.


This form, written in PHP, allows associates of Amazon.com to enter their Associate ID and the URL of any Amazon product, and be presented with an affiliate product link, image link, and dynamic banner link. I created this tool while writing for a technology site so that my colleagues and I did not have to frequently hassle with Amazon's link creator.

*No longer supported*

Download Source