December 2008

Thank you everyone who attended our presentation last night at the Calgary Agile Methodologies User Group. We had a tonne of fun, and hope that you took away some valuable information.

CAMUG eComplianceCAMUG eCompliance   CAMUG eCompliance

We are pleased to have Adam Alinauskas, Joel Briggs, Luu Duong and Mo Khan from eCompliance Management Solutions speaking to us this month with their presentation "Shortening the Feedback Loop - Our Sprint in a Nutshell"

Under the Agile software development umbrella there are many principals, processes, methodologies, and practices that fit this style of development. Many companies are relentlessly seeking and implementing ways to continually improve how they design, develop and deliver software. We believe and have found in practice that the Agile way of software development enables, supports and drives this continuous quest for efficiency and improvement. One of the primary goals of Agile software development is to satisfy customer needs through early and continuous delivery of valuable software. We find that most of the business value comes from creating an environment where a shorter feedback loop allows our team to be more proactive and adapt quickly as and when necessary. In this presentation we will share and walk you through a typical sprint/iteration at eCompliance.

About eCompliance Management Solutions Inc. is the leading provider of Occupational Health & Safety (OHS) Management solutions in Canada. Our vision is "To be the preferred technology partner of Canadian organizations in OHS by providing efficient and effective practical solutions to measure, manage and mitigate Health & Safety Risks in the quest for 'Zero Incidents'."

I took some time today to pull down the source code for SvnBridge today, and man, I was blown away. I started at Program.cs and made it to line 25 Bootstrapper.Start(). From there I went on to look at the hand rolled container, then the ProxyFactory.

In order for me to fully grasp the System.Runtime.Remoting API for creating proxies I had to re-write the code from SVN Bridge.... I just had too... it's just how I learn. It's like tracing over cartoons when you're a kid. I still do it!

In case you're interested, the attached code is the sample I put together that is derived from the source code of SvnBridge. If you haven't checked out the source for the project, you really should.

Pretty cool stuff.... Hopefully, this helps out anyone else who's just as curious

My reduced sample source code...

 1   private static void Main(string[] args)
 2   {
 3     var marshal_mathers = new Person("marshall mathers");
 4     var some_celebrity = ProxyFactory.CreateIPerson>(marshal_mathers, new MyNameIsSlimShadyInterceptor());
 6     try
 7     {
 8       var name = some_celebrity.what_is_your_name();
 9       name.should_be_equal_to("slim shady");
10     }
11     catch (Exception e)
12     {
13       Console.Out.WriteLine(e);
14     }
15     Console.Out.WriteLine("will the real slim shady please stand up...");
16     Console.In.ReadLine();
17   }