I extracted information from the useful resources available at http://gregg.angelfishy.net. The document puts the Gregg alphabet, and 147 brief forms all in one helpful quick reference. The wallet-sized version is much smaller -- suitable for cutting, folding, and placing in your wallet.

This is an application to help visualize the commute times around the Puget Sound to and from Microsoft main campus. It includes well over 1,000 data points.

I don't really feel right calling this a project, but this is the most appropriate place to classify it :) This is just a simple MP3 to play an A440 test tune. Loop it in your media player, and tune your instrument!
See also: A440 MP3

Webcam Control is a small application suite to let you control many features of your Media PC using a webcam and specially printed business cards. No more fumbling around with those clumsy remotes!

PerfCompare is designed to help you micro-benchmark small snippets of C# code. The most effective performance improvements come under the guidance of a Profiler. Once you've identified a bottleneck, PerfCompare's Performance testing helps you quickly test and compare ideas. When you want to dig a little deeper, PerfCompare's ILDasm integration helps you see exactly how the compiler translates your C# code into MSIL. Finally, PerfCompare's history management features help you easily track, compare, and export your performance tests.

I wrote Note Trainer to help me learn guitar. It shows a random note on the treble cleff staff, delays a bit, then plays the actual note. You play the note as soon as you see it, then decide for yourself if you played the right one :) You can click any part of the staff to add or remove that note from testing.

This little C# application generates random mazes for you. Kids find it entertaining, although I should really put in a bit more positive reinforcement at the end :)

The Sierpinski Triangle is a neat mathematical diagram of triangles within triangles. I wanted to implement one in C#, and it only takes about 50 lines of custom code (not including the template code that Visual Studio generates for you.) The recursion code only takes up ~ 10 lines!

I got a GPS awhile back, and it lets you generate a 'Track Log' of where you've been. I wanted to place this data on top of a map, but all of the software to do this costs money! So I wrote a small program to display your track log in an otherwise invisible window. It puts a little red dot where you stopped, so you can really see how bad traffic was ;)

Inspired by an excellent windows utility called Search Bar Pro, I wrote a web-based utility to let you access nearly any search engine through a single page. It also lets you customize it to add search engines!
See also: Search Bar Pro

I was on a roll, and this painting program / SVG editor is the result. I wrote it in SVG, and it even lets you export (save) your SVG drawing to another SVG document. Ariel loves drawing on it, too.

Who can resist making a child happy? Ariel like the last game so much that I thought I'd try working with animation and other things. This game of catch the Ladybugs is the result.

SVG is the web consortium's proposed replacement for Flash (and other "vector" formats.) While experimenting with it, I wrote this little game of memory for my daughter, Ariel. If you know your letters, you can play too!

I wrote this introduction to computer programming for the absolute beginner. It starts slowly with questions like "how do I type a computer program." and gently progresses through more advanced topics like "conditional statements," and "functions." This is simply the web-based version of the tutorial in my online writing portfolio.

My Spline Applet lets you drag control points around to play with three types of parametric curves: natural splines, hermite curves, and bezier splines. For the implementation-curious, it also links to the source code.

The Javascript Testbed gives you a good place to create or test simple JavaScript scripts. Simply type your free-form javascript into the edit-box, then press the button!

GPG And Password Security gives you a good overview of how to practice "safe computing" by using GPG (Gnu Privacy Guard, a free implementation of the most popular data encryption software) to keep strong passwords. It also contains links to 2 password generators I have developed.

The Essential Unix / Linux Reference lets you download (and optionally print) the manpage entries of 39 of the most common and useful Unix / Linux commands. I've indexed the PDF version with a good table of contents, so you don't have to go out and spend $50 on a Unix tome that you'll only use a few chapters of. If you print the reference, please be kind and use both sides of the page!

The Outlook Spam Filter shows you how to create an effective and customized keyword-based spam filter. Although I've since moved on to other spam-blocking mechanisms, it gets rid of most of my junk email.

Rich Site Summary files give you a convenient ways to create online portals without having to create script to manually extract links. This phase of the Moon RSS lets you add one to your portal.
See also: My online portal

On May 9, 1998, my daughter Ariel Joan Holmes entered my life. About a year later, she started wrecking my programming assignments by smashing the keyboard when I wasn't looking. With KeyCatcher running, she can smash away and the program will catch it all! For the same low, low, price, you also get a quick notepad.

WebEdit is a little browsing companion for your travels through the web. Simply minimize WebEdit while you surf, and if you find information you want to jot down simply write it in the text field. When you want to save your information, put your email address in the field and press submit.