I’m ready for 9th grade…
|
You Passed 8th Grade Math |
![]() Congratulations, you got 10/10 correct! |
[via Chris Sells]
VS.NET 2005 and SQL 2005
Both VS.NET 2005 and SQL 2005 RTM versions are now available on the MSDN subscriber downloads site…
Congratulations to everyone at Microsoft for this major release… I cant wait to start working with these new tools. See Soma’s post for more details.
Go nuts!
My blog is worth…
According to this site, my blog is worth…

My blog is worth $22,581.60.
How much is your blog worth?
[via Haacked]
.NET 2.0 Breaking Changes
As the release of .NET 2.0 rolls closer, more and more concern will be placed to the question of: “What’s going to break as I migrate up to 2.0?”
The answers to this question are available at http://msdn.microsoft.com/netframework/programming/breakingchanges/default.aspx.
Starting a Meme: What makes you a good developer?
Recently, a friend asked me a very interesting question: “What 3 to 5 attributes do you possess *as a person* that make you good at your job?”
At first, the question seems to ask what makes you good at your job, so you put down things like develop extensible applications and understands object oriented analysis and design. This is not what this person was after though, and what he was really looking for made me dig a lot deeper into myself to find the answer.
This is the list I came up with:
- Good communication
- Active learner
- Problem solver
- Confident
- Teacher
I cant wait to see what others put down and if there’s a common thread among what makes a good developer.
Thanks for playing! :)
Google AdSense for Feeds
After a bit of negative feedback regarding the ads in my RSS/ATOM feeds, I have removed them. Ultimately, you the reader are most important, and if the ads in your aggregator are bothering you, I have no problem removing them.
Now back to your regularly scheduled programming…
Provider Pattern and Unit Testing
I’ve recently wrapped up a project using .NET 2.0 and this project manifested the need to have certain pluggable pieces. For these pieces, I chose to go along with the rest of the .NET 2.0 framework and implemented this using the Provider design pattern.
Following the pattern strictly involves deriving from ProviderBase and then using the ProvidersHelper class to instantiate all the classes from the configuration section.
The ProviderBase class has an Initialize method that gets called by the ProvidersHelper.InstantiateProviders method. The other thing is that you should be creating static methods that delegate to the underlying (previously instantiated) provider.
Does the Provider pattern lend itself well to unit testing? Let’s look at a set of unit testing rules suggested by Michael Feathers. His last rule is that a test is not a test if you have to do special things to your environment (such as editing config files) to run it.
I’m leaning towards thinking that the extra layer (the class that has all the static methods) is not worth the headache. Would it be better if there was a base class or an interface defined, and then you could test the implementation directly?
Sure, you could test the implementation directly now, but to get the information into it now, you’d have to perform additional setup and pass that off to the Initialize method. The principles of dependency inversion state that an object should be given its dependencies, rather than asking for them. Given this, it makes sense that these items go into the constructor of the class.
As our company becomes more familiar with the principles of unit testing, I fear that we will fall into this situation more and more. Given what I know now, I will certainly advise against the Provider pattern in favor of an interface/factory class approach, which will also facilitate integration with a dependecy injection container (such as Castle Windsor).
Are you unit testing providers? Are your experiences similar? Id love to hear about it.
A Test Runner for mbUnit
Andrew Stopford, the new leader of the mbUnit team, is wondering why people seem to overlook mbUnit. My personal thought on this is that until recently, it was unclear how to download and install mbUnit. Previously, you only got mbUnit by installing a VS.NET addin, which might have scared people away.
We’re using mbUnit after evaluating it against several of its competitors.
After using it for a while, one of my favorite features is this:
using MbUnit.Core; class Startup { public static void Main(string[] args) { using (AutoRunner runner = new AutoRunner()) { runner.Load(); runner.Run(); runner.ReportToHtml(); } } }
This simple class allows me to build my unit tests as an executable, therefore allowing me to execute them at any time. Awesome…
The Curious Incident of the Dog in the Night-Time
Christopher John Francis Boone knows all the countries of the world and their capitals and every prime number up to 7057. He relates well to animals but has no understanding of human emotions. He cannot stand to be touched. And he detests the color yellow.
Mark Haddon has written a brilliant, clever story which brings you into the mind of an autistic teenager. I was very pleastantly surprised at how good this book is. The characters and story feel so real, primarily because the author wrote the book as if Christopher himself was the author.
The Curious Incident of the Dog in the Night-Time follows Christopher’s quest to investigate the suspicious death of a neighborhood dog all the while introducing you into the different ways he views and thinks about the world.
This is easily one of the best stories Ive read. Absolutely recommended.
No more page file
A great tip from Peter Provost.
My laptop (Dell Latitude D800) has 2gb of RAM on it, and I too turned the page file off on it after reading this tip.
Ive come to the same conclusion as Peter. Things seem to my quite a bit snappier and also a lot quieter since the fans arent running that much.
I dont typically run on batteries, so I cant speak to Peter’s statement that he seems to be getting 50% more life out of the battery.
All told though, for me this is working well… If you have enough RAM, you may want to give it a shot as well.




