So I've finally managed to get fxCop officially adopted on a work project (*). Better yet, thanks to an upgrade, we now are using the Ultimate Edition of Visual Studio: I no longer have to use the command line of fxCop . Instead, It's integrated right into the build.
DoNotDeclareReadOnlyMutableReferenceTypes is a rule that checks for visible read-only fields that are mutable reference types (classes). A mutable type is a type whose instance data can be changed once it has been constructed.
[img:5 align=float_right]Synergy is a useful wee utility that allows you to share a single keyboard and mouse across multiple machines - kind of a software equivalent to a KVM switch, but for keyboard and mouse only. This is very useful if you have two or more machines located next to each other. While I've used it to link two Windows XP machines, Synergy has support for a wide range of operating systems, including Macintosh, Linux (and other Unix variants) and the Windows 9x series.
Here's a walkthrough of how I set up Synergy to share my keyboard and mouse between two Windows systems.
At their recent developer conference, Google gave the delegates a sneak peek of their new product, Google Wave. You can see the Google Wave demonstrations for yourself on YouTube.
Disclaimer: I've not used Google Wave at all, just viewed the release video and read a bunch of other commentaries. My comments below (in italics) are based on their developer early access preview and things are likely to change markedly between now and release.
A project I’m involved with is using JetBrainsTeamCity as the continuous integration environment.
One of the metrics we wanted to track on this project was the count of warnings produced when compiling. We hoped that, by giving the warning count visibility, we’d be able to gradually reduce the number of warnings over time.
It turned out that adding this into the statistics tab of our TeamCity environment was pretty easy – easier in fact, than counting the warnings.
I'm always looking to do things better tomorrow that I did yesterday - and to that end, I find other peoples "Best Practices" posts endlessly valuable ... not that I always agree with them of course, but I do enjoy being challenged to think.
After using both RSS Owl and RSS Bandit for simply ages, I've finally found an RSS Reader that works the way that I want - and it was under my nose the whole time.
That's right, Thunderbird. The RSS Reading experience is dead simple - you subscribe to a bunch of feeds, and they show up as mail folders. New postings appear as new messages. Couldn't be easier or simpler.
I've been trying an experiment - having integrated StyleCop into my build scripts (using StyleCop.cmd), I've been working to reduce the number of violation messages that it reports.
The key is that I haven't spent very much time making changes just to keep StyleCop happy - rather, I've been continuing development as normal, writing code, fixing bugs and so on, but with half an eye on StyleCop's metrics.
I've been spending some time recently setting up TeamCity, the Continuous Integration server from JetBrains.
Why TeamCity and not CruiseControl.NET?
In my opinion, TeamCity is far more approachable and usable right out of the box. Configuration is through a polished web-based front end. Documentation is pretty good, but most of the time you don't need any docs at all because the UI walks you through the process.
Today I was listening to a recent episode of Hanselminutes, where Scott Hanselmann interviewed three guys from Planet Argon about the source control tool Git. I originally heard about Git some time ago and didn't pay it any heed - having heard the show and done some follow-up research, I'm beginning to think that Git would be worth further investigation.