tools

Using svn+ssh On Windows

Subversion supports repository access over an SSH tunnel. That is good news because the first "S" in SSH stands for secure. So the next question is how do we configure Subversion to use SSH?

Unix users are usually familiar with SSH; it has supplanted telnetd as the de facto shell daemon. For this reason we will not cover svn+ssh on Unix here - there are existing resources for that. This article will explain exactly how to svn+ssh on Windows.

Using custom performance counters in .NET

Everyone needs the ability to monitor performance and track statistics inside applications. As developpers our code is a black box when running. We can't really tell how many times a loop is runs or how long an operation has taken, other then using log files. Another sexy way is to use the PerformanceCounter class. It lets your report statistics that can be viewed using the "PerfMon.exe". The bueaty is you can create custom counters to be used any way you please. Lets go over the steps to register and use some custom performance counters.

The CounterCreationDataCollection is used to store a list of counters. The first step would be to populate the collection with all your counter types. The PerformanceCounterType enumeration lets you control the type of coutner. I recommend reading the documenation to review different types you can use. Below is a example creating a collection of 2 custom performance counters.

How Microsoft and LAMP projects differ...

Tim Ewald suggests in Using Java that three categories of differences exist between Microsoft and Java projects.

Langauge

First, once you environment is set up, the only difference between Java and C# is the idioms. Yes, C# has some nice features that Java does not (some will come in 1.5), but they aren't enough of an issue to make you go one way or the other.

Model

Second, this is no OO paradigm that the Java community couldn't beat to death. Okay, maybe it's particularly bad in the XML space, but do we need layers of factories to create factories to create objects (seriously)? This isn't that big a deal either, but I wish there was a little more emphasis on practicality instead of purity.

Build

Third, and most interesting, is the community projects. The Java world is really vibrant, with lots of stuff coming from the community. There is a vibrant .NET community too, but it seems more focused on helping people achieve things with the bits MS ships than with adding major things to what MS ships. Yes, I know there are a lot of .NET components that the community builds, but I don't know of any that have an uptake anything like JBoss, Hiberante, Struts, Velocity, etc. In the Java world, because there is no single controlling party, people are much more willing to undertake projects building tools and infrastructure for free or for profit. And, just as important, developers are willing, and in fact eager, to use them. Too many .NET developers won't embrace things that MS doesn't produce. Which is too bad because while MS has tons of smart people, it doesn't have all of them.

Syndicate content