They Got Rob Conery, Too !?!?
How long until Atwood and Galloway fall?
Congrats, Rob. You really deserve it.
Microsoft seems to be making all the right moves lately.
Brain Food 10-26-2007
- Lisp on the .NET Runtime - InfoQ has a nice rundown of some efforts to port Lisp to .NET. At this point, I'd probably stick to F# if I wanted to "go functional" with .NET.
- Fright-Driven Development - Atomic Object made a CruiseControl build indicator that's definitely much cooler than CCTray.
- Drinking from the Fire Hose at Microsoft - Phil Haack talks about his early impressions of Microsoft as an employee.
- Beautiful Code in the Real World - A little hope for the millions of programmers out there yearning for beauty while mired in a steaming pile of legacy code.
Visual Studio Tip: Navigate Backward/Forward
One small but handy feature in Visual Studio that took me a while to notice is the "Navigate" feature.
Have you ever right-clicked on a method call, selected "Go To Definition" (another feature I hope people know about), and then struggled to find your way back to the file and line you just came from?
Have you ever been messing around with some method, decided to take a quick look at some property or field declared near the top of the code file, and then couldn't remember the exact name of the method you were just looking at or where exactly it was buried in your file?
Next time this happens, look for the little "Back button" pictured below, and click it! You'll be magically transported back to your last cursor position. And I'm sure you can imagine what the little "Forward button" sitting next to it does as well.
Never "lose your place" again!
(Maybe next time I'll write about the "Bookmark" feature, this feature's more robust and long-term cousin.)
Easy Notifications with System.Media.SystemSounds
I was working on a console application the other day that very commonly took several minutes (or in some cases, hours) to run to completion.
Right before terminating, it would print out a little summary of what it had done. Instead of sitting there staring at the console waiting for my program to finish, I would start it up, work on something else for a little while, and periodically pull up the console to see if the program had finished.
After many instances of pulling up the console only to see it had not yet finished, I started to think about how I could have the application notify me upon termination. I wanted to stop having to check in on it every couple minutes and just have it let me know when it was done.
Knowing that many applications that occupy the taskbar notification area (or the "system tray") often use a standard Windows sound to notify the user of events, I began looking for something easy I could do from C# to get a similar effect for my console application.
I had to look no further than System.Media.SystemSounds to get what I wanted.
Right before my program is set to terminate, I simply added the line:
System.Media.SystemSounds.Beep.Play();
Now my console application emits a standard Windows "ding" right before it terminates, and I avoid having to constantly check in on its progress. Problem solved!
Note: You can also try Console.WriteLine('\a') to write out the ASCII control character known as the "alert" or "bell," but I wouldn't recommend it. I scared myself half to death doing this, as the sound you'll hear is not regulated by the Windows volume setting and will likely be very loud and unexpected. :)
Debuggers Considered Harmful?
"Debuggers are based on the idea that the code base has enough places bugs could happen that the work of locating the bug is involved enough to justify machine assistance. This is not true of well-tested code. More importantly, the whole point of [T|B]DD is that you identify the bugs before you write the code. As tools which track down bugs in existing code, debuggers presume and encourage a workflow which is exactly backwards."
Web 2.Overload
"If I was Mike Arrington I’d go to the nearest bridge, tie a noose around my neck, jump off, shoot myself during the freefall, and have my head torn off by the amount of slack in my rope."
What's It Like to Be a Web Developer?
I was thinking today about how to describe the experience of being a Web developer.
I'd compare it to having a schizophrenic family member (or friend) that you visit every day at the asylum where he lives.
The first day that you go to visit, his ramblings are so chaotic and disorganized that you're almost overwhelmed.
But as time goes on, you start to discern patterns in his ramblings and become familiar with his eccentricities. He's still obviously crazy, but you can faintly detect a certain order in his madness.
You eventually come to terms with his insanity but always hold out hope that one day you might be able to have a normal conversation with him.

