Software Quality

January 17, 2012

Code Freeze 2012 – Continuous Delivery

Filed under: Code Freeze, Presentations — Tags: , — David Allen @ 9:53 pm

Code Freeze 2012 was held at the University of Minnesota and the theme was continuous delivery (CD).  I want to thank  David Hussman and the folks at DevJam and Mike Whalen and his staff and graduate students for putting on a great program. For those of you who did not attend, I wanted to summarize some of my takeaways from the four excellent keynote speeches. (more…)

May 25, 2011

Parallel Programming with the Task Parallel Library from Microsoft

Filed under: Microsoft CRM, Parallel Programming, Presentations — David Allen @ 9:03 pm

Last week I attended a VERY cool talk on some new ways to do parallel programming, using the Task Parallel Library (TPL) introduced in .NET 4.0.   Microsoft has made it so easy, that even a frozen caveman programmer like me can do it! If you are trying to decide what to learn next month, put this near the top of your list. (more…)

March 10, 2011

Jacob VanScoy spoke tonight about F#

Filed under: Presentations — David Allen @ 8:09 pm

Tonight at the Twin Cities Languages User Group,   Jacob VanScoy  gave a wide-ranging talk on F#, a functional programming language.  The language is available on many platforms including the Microsoft .NET framework, Mac, and Linux.

I found it quite stimulating to learn about something other than C# or Javascript for a change.  It has some really cool features:

  • units of measure
  • concise expression of asynchronous and parallel operations
  • pipeline and filtering capabilities
  • curried functions

F# appears to have a following in scientific and financial circules. I am eager to learn more about it, just for the pure fun of it.

January 16, 2011

Code Freeze 2011 was Great! The theme this year was TESTING

Filed under: Practices, Presentations, Testing — David Allen @ 7:42 pm

The latest Code Freeze 2011 was a great event. The University of Minnesota hosted it again, and it was sold out.  We lead several code dojos. The one I assisted with was intended to demonstrate TDD and pair programming techniques. The audience engaged us with a healthy dose of skepticism.  Here were some of their concerns and reactions.   As usual, I am not satisfied with how we answered them on the spot, so I am reprising the Q & A session here with responses that are more thoughtful and informed by the collective responses of the other dojo leaders I heard. (more…)

April 8, 2010

Presentation on code contracts to Twin Cities Languages User Group Thursday, April 8, 2010

Filed under: Code Contracts, Presentations — David Allen @ 8:06 pm

Tonight I gave a talk on Microsoft Code Contracts to the  Twin Cities Languages User Group.  I appreciate all the people who took time to attend.  I enjoyed the dialogue.  Participants had some great questions and comments. The slides amd demo software in Visual Studio 2010 RC format, are available at my download site.  Here were just  a few questions and comments made: (more…)

February 20, 2010

Presentation on code contracts to Minnesota Visual Studio user group Wednesday, February 17, 2010

Filed under: Code Contracts, Presentations — David Allen @ 2:00 pm

On Wednesday, February 17, 2010, I gave a 90 minute presentation to the Minnesota Visual Studio User Group, on the use of Microsoft Code Contracts to improve software quality. Approximately 17 programmers attended.  I used several Visual Studio solutions and several PowerPoint presentations. All of the materials can be downloaded from my download section. In addition, I have summarized several of the questions that were asked by the participants. For each question, I have included the answer that I gave them, as well as additional thoughts I had after further reflection.   If any of you are giving presentations on the topic of code contracts, feel free to use any of the slides or sample code. 


You have demonstrated how to use a precondition. But I don’t see why I shouldn’t simply use my traditional “if(x) then (do y)” statement to validate arguments. 

Answer I gave:   (more…)

Blog at