July 2008 Entries


Introducing PIP (Programming in the Park/Pub)

One thing that really irritates me is the lack of knowledge transfer in our industry. I have been thinking of ways to help fix this and came up with the idea of having a weekly or bi-weekly meet up of fellow Edmonton geeks to just sit around and learn from each other. To accomplish this I am going to setup an informal meet up where people can show up and just work on whatever they want or just go randomly pair with someone. This is meant for all levels of developers So far I have a...

Things I Can't Develop Without: Contracts

No, I am not talking about legal contracts, I am talking about code contracts. What is a "contract" in code? It is simply defining a piece of code (usually an interface but sometimes an abstract class) that defines what the implementation will do. Then every piece of code talks using the contract and not the actual implementation. This becomes very very useful when you need to extend/intercept/modify a class. The first time I used contracts for development effectively was on a system that needed to find people. The interesting thing was that a person could exist in...

ALT.NET - Only Three Spots Left!

The alt.net registrations have filled up fast. We had a few fake entries registered so now that I have cleaned that out we have 3 spots left. If you want to come join us in (currently partly sunny) Calgary then head on over to the site and register http://www.altnetconfcanada.com/ Hope to see you there!

Things I Can't Develop Without: Test Driven Development

Now here is a topic that has been beaten to death in other blog posts but it needs to be on this list. If somehow you have missed the buzz around Test Driven Development (TDD) it is a great way to drive out the design of your software by writing a consumer of your code (the test) first. This way you design very intuitive and easy to read code. I must stress that TDD is primarily a design methodology NOT primarily a testing methodology. By using TDD you design good code and get unit tests as a side effect....

Things I Can't Develop Without: Single Responsibility Principle

Using the single responsibility Principle (SRP) is one of the best changes I have ever personally done to the way I develop software. To boil things down, SRP means that a class should have one, and only one reason to change. The way to accomplish this is to write a class that only does one thing. Now most developers I have worked with may have something like this in their code: public class CustomerUtility { public void Save() public void SaveOrder(Order order) ...

Things I Can't Develop Without: Release Early, Release Often

For the uninitiated Release Early, Release Often (RERO anyone?) is the technique of getting what you are building into your clients hands as early as possible. If this means that all you have is a screen that allows the user to login then give it to them and listen to their feedback. The advantages to this technique are just amazing and the results for me have been, what I would consider a 100% success rate. The tightening of the feedback loop is the real advantage here. For starters the user can give you feedback on something quickly. If you...

A Few Announcements

1) I am alive. I know I have not posted much lately but I have been working like crazy on a project for my current contract. This has given me lots of material for more posts though so watch for those 2) ALT.NET Canada is open for registration http://www.altnetconfcanada.com/ and it is happening onĀ  August 15-17th. Register soon as space is limited and filling up fast! 3) Happy Canada Day!