Geeks With Blogs
Blog Moved to http://podwysocki.codebetter.com/ Blog Moved to http://podwysocki.codebetter.com/ January 2008 Entries
Design by Contract Revisited with C# and .NET
In a previous post, I talked about various attempts at frameworks that are trying to do Design By Contract (DBC) in .NET. Many simply just come across as simple validation frameworks without the heart of DBC which is the contract. Where is the contract? Well, dig through my code and find out! It's something that I've been harping on time and time again is that without transparency to the caller and callee of the contract, it's just another validation framework. You'll hear either myself or Greg Young ......

Posted On Thursday, January 31, 2008 7:32 PM

Come join me at my new home...
Well, I've decided to move my home for now. No, I'm not restarting up my MSDN blog, although I could. It's sitting all lonely out there with nobody to visit, nor any content. Instead, I have moved to weblogs.asp.net/Podwysocki. If you're using my Feedburner, and quite frankly you should be, there will be no difference for you all, as I'll just move it over seamlessly. I'll continue to cross-post for now and take what I can. Hope you join me there ......

Posted On Thursday, January 31, 2008 5:29 PM

C# vNext Revisited
I often rethink or have additions to my posts. This topic of what's coming in C# vNext is definitely one of them. I'm always looking for ways to push the envelope to see what I can get from the language. I have to credit such people as Scott Bellware and others to look more outside of the C# bounds and look to such things as Ruby and even F# to really open my eyes to the possibilities of this language. I'd love to see more F# features in the language as they have slowly seeped in and now pretty ubiquitous. ......

Posted On Wednesday, January 30, 2008 8:38 PM

CMAP Meeting 2/5 - User Experience (UX)
Central Maryland Area .NET Professionals (CMAP) is holding their next meeting on Tuesday, February 5th, 2008. This month looks to be a great one by Michael Wolf on the User Experience (UX). In the agile methodology, it is quite an essential piece that often gets overlooked. It's obvious too many times after looking at The Daily WTF to see plenty of evidence of that. Alon Salant posted a good set of Agile User Experience Resources that's pretty extensive on how UX fits into the Agile/XP practice. ......

Posted On Tuesday, January 29, 2008 8:11 PM

Further Adventures in F#
Update: Added more F# samples and the foundations of functional programming In a previous post, I've begun a pretty fun adventure into F#. I'm still working on quite a few samples to post here shortly, but in the mean time, I've collected a bunch of samples that I think are pretty cool and well worth a look. I'm currently digging through Robert Pickering's book "Foundations of F#". I'm especially interested in his DSLs which I hope to cover here shortly. For those interested in the foundations of ......

Posted On Monday, January 28, 2008 11:26 PM

BizTalk 2006 R2 Posters
For all of those stuck in the BizTalk 2006 R2 world as I am constantly, Microsoft has released two new posters with the BizTalk 2006 R2 Architecture. These are rather large PDF files that you could print out if so desired through a plotter. Each of these are about 5-6MB, but make a great reference. Download each at your leisure: BizTalk Server 2006 R2 Database Infrastructure Poster BizTalk Server 2006 R2 Runtime Architecture Poster Get them while they're hot ......

Posted On Monday, January 28, 2008 11:57 AM

Interviewing Redux
I'm still prepping a few posts on F# and Design by Contract (DBC), so stay tuned in the next day or so. But, I recently read through the altdotnet mailing list about conducting interviews and phone screens. Jeremy Miller had a great response to this that I felt needed its own response. I've been interviewing people all throughout my career and I've definitely picked up on things as time goes on, honing the craft as it were. Cloning Myself It's true in the past I've been guilty of wanting someone ......

Posted On Sunday, January 27, 2008 11:57 PM

Adventures in TDD - Bit by the LUA bug
Recently on a project, I was bit hard by a Least User Access (LUA) bug that I ultimately should have caught. I was using a third-party component which was performing some unexpected operations. I didn't catch this item, however, until it almost went live. And it was intermittent at best when it failed. This was an unknown unknown as opposed to one of those known unknowns. So, where did my process go wrong? LUA and Development Going back through my career, I've usually been security focused. I want ......

Posted On Friday, January 25, 2008 4:59 PM

Testing your internals inside out
Recently among other places it was asked on the altdotnet list about the strategies of unit testing with regards to assemblies and naming This message here caught my eye regarding putting your NUnit tests in the same assembly as the code under test. The message states about putting the tests in the same assembly : There are a couple advantages to this approach: The nearness of the files will make it easier (and therefore more likely) that developers will work on the test in tandem with the class ......

Posted On Thursday, January 24, 2008 6:55 PM

Aspect Oriented Programming with .NET with Windsor
Update: Fixed some code issue and added a bit more discussion With our DC ALT.NET group, we've discussed IoC quite often as part of the discussion. Some are pretty new to the concepts of using Dependency Injection with these IoC containers. Instead, you'd find people with overloaded constructors all over the place and mocking out the dependencies in the unit tests and so on. Anyhow, I have two favorite IoC containers, being Jeremy Miller's StructureMap and Castle Windsor. If you unfamiliar how to ......

Posted On Wednesday, January 23, 2008 7:40 PM

DC ALT.NET Meeting - 2/20/2008
We are announcing our third meeting of DC ALT.NET on February 20th at 7PM. The meeting this month will bring ALT.NET to Reston, Virginia and the Stelligent headquarters. I want to thank Jay Flowers for offering his office as our get together. The food and booze will be provided by Stelligent, so a big thanks to them! Oh, and they are hiring if anyone is interesting (schilling off). I'm glad to see Jay's back blogging again as well, even though he is doing Java stuff now... :-) Oh, and I'd like to ......

Posted On Wednesday, January 23, 2008 4:49 PM

Grokking the Model View Presenter (MVP) Variations
For many of my current ASP.NET projects, I've been using the Model View Presenter (MVP) for this. However, there are many ways to implement this and if you ask someone, you'll likely get a differing opinion each and every time. Such as the case with the Model View Presenter. I've covered this before, but in the context of SharePoint, so now I'm just going to stick with ASP.NET and the concepts itself. The Model View Presenter Martin Fowler came up with the concept for the Model View Presenter back ......

Posted On Wednesday, January 23, 2008 12:38 AM

Design by Contract and C# (without Spec#)
After finishing the mini-lecture circuit and my often viewed dive into Spec#, I decided to see if anyone else was working in the Design By Contract (DBC) arena with C#. Greg Young and I often talk about this subject and various scenarios where it would make sense, and where it wouldn't. Hopefully we'll hear more from the Spec# team shortly about the futures. It turns out there are two other attempts at what Spec# does, and that's what I'm going to dive into today. Back to Basics So, first, let's ......

Posted On Tuesday, January 22, 2008 12:58 AM

Bye Bye Magpie!
Recently I read a post by Jeff Atwood called, "The Magpie Developer". In there, he likens many software developers to magpies, which always get distracted by shinier things. But of course he notes that he gave up following all of that because it gets tiring. I'd have to agree with this. Scott Hanselman and many others will post new and notable projects and code. How are we supposed to keep up with this and expected to be deep in anything, yet a well rounded developer. Am I a Magpie? I always wonder ......

Posted On Friday, January 18, 2008 6:04 PM

My Adventures in F#
Update: Added new Hanselminutes show on F# and other links With the new year comes new challenges. Recently I've been looking to take my background in statistics and get back into graduate school. With those days brought the days of functional programming, pattern matching and all sorts of things. So, with that, I began to look at F#. Why F#? No, it's not because it's shiny and new and everyone's talking about it. To a point, it made me more aware, but I won't just hop on the next best thing without ......

Posted On Friday, January 18, 2008 5:43 PM

Challenges in Higher Learning And Software as an Art Form
I was perusing Joel Splosky's blog the other day and ran across the post about Undergraduate Programming. Seeing as how, when I find the time, I'm trying to go back for my Masters degree. It's my goal before my wife and I have kids and other obligations start popping up. It's a noble goal and the only thing holding me back is taking the GREs. But, one thing the post made me do is reflect upon my own formal education. I graduated back in '99 with a BS in Management Science / Decision Support Systems ......

Posted On Thursday, January 17, 2008 6:37 PM

DC ALT.NET Meeting January Wrapup
Well, we had another great DC ALT.NET meeting last night. I want to send a special thank you to CMAP, Randy Hayes and Chris Steen for allowing us to crash the architecture special interest group. It was much appreciated and we'll have to do this again. But of course we have our roving location and pub-club model, so we'll continue to mix it up! Of course Scott Allen missed our event and instead went to Redmond. Where are his priorities??? :-) We had some great discussions on Test Driven Development ......

Posted On Thursday, January 17, 2008 1:31 AM

Announcing ALT.NET Open Spaces Round 2 in Seattle
Dang it, Bil Simser beat me by five minutes! Although I did beat Dave Laribee to it. Anyhow, we are pleased to announce the second round of ALT.NET Open Spaces, Seattle, well, er, Redmond at DigiPen Institute of Technology from April 18th-20th. We're close enough to Microsoft, 5 minutes in fact, so we hope to have lots of fellow 'softies out there. Once again, this is the Open Spaces Technology model, so we'll get the topics to discuss and vote with our feet. On Friday the 18th, we'll get the topics ......

Posted On Wednesday, January 16, 2008 11:43 PM

CI Factory RC3 1.0 Released
Just as I announced the release of the new Continuous Integration Guidance from Carel Lotz, I neglected to mention the release of CI Factory RC3 1.0 last week by Jay Flowers. So, without further ado, let's look at it. CI Factory is a canned Continuous Integration(CI) server and installation script. Since it uses a standard workspace, you can build almost anything out of the box. CruiseControl.NET and NAnt are the core of this framework. You can read more about what this framework is here. Out of ......

Posted On Tuesday, January 15, 2008 1:44 AM

Continuous Integration: From Theory to Practice 2nd Edition Released
Carel Lotz last year released a guide on Continuous Integration (CI) for .NET 2.0 last year and was made available for download via PDF for free. Carel took the series of posts on CI and rolled them into one guide. The guide included CI with the following tools: CruiseControl.NET MSBuild MSBuild Community Tasks FxCop NUnit NCover NDepend Subversion InstallShield QuickTest Professional Sandcastle TypeMock.NET Rhino Mocks Flash forward to today. Carel spent the last two weeks and has updated the guide ......

Posted On Tuesday, January 15, 2008 12:55 AM

Visual Studio 2008, SQL Server 2008 & Windows Server 2008 Launch Event Coming to a City Near You!
As noted today, you can now register for the Launch of Visual Studio 2008, SQL Server 2008 and Windows Server 2008. You can find the closest event to you from here. For all you DC folks like me, our event is March 25th and you can find that registration information here. Here is the basic information: Take a test drive Come to an event and test drive Windows Server® 2008 operating system, Microsoft® SQL Server® 2008, and Microsoft Visual Studio® 2008. Meet the experts Enjoy hands-on labs, face-to-face ......

Posted On Monday, January 14, 2008 6:22 PM

Where Are You ALT.NET PurseFight?
For the past month or so, the ALT.NET PurseFight! blog has been a great source for pretty funny stuff when it comes to discussing ALT.NET items. Of course the identity has not been known to anyone, which has made it even more funny and interesting at the same time. It's like someone was watching us for material. Anyhow, since early January, when a lot of turmoil on the list happened, there was a great post called "This is why we can't have anything nice" which basically covered the rename of the ......

Posted On Monday, January 14, 2008 6:02 PM

New Book - .NET Domain-Driven Design with C#
No, I haven't written a book, well, not just yet. Anyhow, so far in the Domain Driven Design world, we have a few references of how to do Domain Driven Design. These books are an invaluable resource for doing DDD, but at the end of the day, they don't have as many end-to-end solutions. The current books/bibles on DDD are: Domain-Driven Design: Tackling Complexity in the Heart of Software (Evans) Applying Domain-Driven Design and Patterns: With Examples in C# and .NET (Nilsson) Domain Driven Design ......

Posted On Monday, January 14, 2008 9:19 AM

DC ALT.NET Meeting 1/15/2008 Reminder
For those who missed it, our DC ALT.NET group will meet on January 15th at 7PM. I'm hoping for a great turnout of passionate developers in the DC Metro area. Hope you can make it. Also, don't forget to join the list as we discuss more issues and our next meeting stuff. The meeting this month will bring ALT.NET to CMAP. Are you a developer who always keeps an eye out for a better way? Do you look outside the mainstream to adopt the best practices of any development community, including Open Source, ......

Posted On Sunday, January 13, 2008 11:26 PM

Domain Driven Design Cannot be Adequately Implemented without DI and AOP
There have been a lot of things lately that have been grabbing my attention with regards to Domain Driven Design and definitely some things I've missed. It's all about my continuous learning about this subject that's near and dear to my heart. Back in 2006, Ramnivas Laddad gave a presentation entitled Domain Driven Design with AOP and DI. In this talk, he asserts that you cannot implement Domain Driven Design without the help of Aspect Oriented Programming and Dependency Injection. He states several ......

Posted On Sunday, January 13, 2008 11:23 PM

The Gizmodo Uncut Bill Gates Interview
Gizmodo conducted a pretty good 20 minute interview with Bill Gates during CES which was pretty eye opening. You can view it here. Previously during the week it was shown in parts, so they have finally posted the complete part to Youtube. He's pretty frank in the interview and I thought it was interesting to get his perspective now that his day to day duties are coming to an end ......

Posted On Friday, January 11, 2008 9:25 PM

C# - vNext
I've been reading lately about what people are interested in with the next version of C#. It's amazing to think how far the language has come from the early days. Many of the newer features of the language with 3.0 by far have made it a better language. So, what did we get with the latest C# 3.0? Object Initializers Automatic Properties Anonymous Types Extension Methods Lambda Expressions LINQ Collection Initializers By far, I agree with most of Jeremy Miller's sentiments regarding C# vNext, including: ......

Posted On Friday, January 11, 2008 9:20 PM

Extensions Methods for Good and Evil and Mixins
Lately, I've been evaluation my use of extension methods. Extension methods have a good use, but that can quickly turn to overuse and confusion. The Evil When I start seeing these methods, I really start to wonder if it's really necessary. In fact, I run away screaming with my hands flailing above my head. internal static class ExtensionMethods { public string IsValidEmailAddress(this string email) { ... } public DateTime IsBefore(this DateTime date) { ... } } For readability sake, it's very tempting ......

Posted On Friday, January 11, 2008 6:54 PM

Are Code Comments An Apology for Bad Design?
Very recently on the CLI_DEV (formerly ALTNETCONF) mailing list, Joe Ocampo asked whether the standard saying, "Code Comments are an apology for bad design" holds in regards to documenting your non-public API. I believe that question arose once before and usually a flame war erupts of some sort. I found this button sums up my feelings best! But, anyhow, it's a real valid question and believe it or not, people have quite strong opinions on the matter. With tools like Resharper and other refactoring ......

Posted On Wednesday, January 9, 2008 6:44 PM

Object Mother Pattern versus Test Data Builder Pattern
When creating my unit tests, I've been a big believer in the Object Mother pattern for creating state for my immutable value objects. Basically, I need to put the objects in a valid state in the constructor. Doing such is usually a pain, however. Before the ObjectMother pattern, you had code similar to this to create an object in valid state, such as a medical claim. Remember that we need hundreds of these to capture the variations in our model for our tests. Claim claim = new Claim( new DateTime(2008, ......

Posted On Tuesday, January 8, 2008 1:11 AM

.NET 3.5, Design by contract and Spec# Wrapup
Update: Adding Visual Studio Integration discussion Update: Stay tuned for additional posts in this series as things permit Well, this is my last post in the series to wrap things up. This will be updated as things come to mind, as they always do in a series like this. There may have been unclear things that I will attempt to explain a little further, plus clarify and explore new things. Let's get caught up from the series: Part 1: Spec# introduction Part 2: Method Contracts (Preconditions/Postconditions) ......

Posted On Monday, January 7, 2008 11:07 PM

Bill's last day at Microsoft
From the CES Keynote... Quality is all I need to say! Video: Bill Gates Last Day CES Clip ......

Posted On Monday, January 7, 2008 8:37 PM

.NET 3.5, Design by contract and Spec# Part 6
Updates: Part7: Spec# Wrapup On an ongoing coverage of Spec#, I've decided to post some of the actual results of a sample Spec# class and what the results look like in C# and even IL. Let's get caught up to the previous posts before we continue: Part 1: Spec# introduction Part 2: Method Contracts (Preconditions/Postconditions) Part 3: Invariants Part 4: Object Ownership/Assertions & Assumptions Part 5: Frame Conditions/Inheritance/Boogie By the way, I may have failed to mention that there is ......

Posted On Sunday, January 6, 2008 9:58 PM

.NET 3.5, Design by contract and Spec# Part 5
Update: the following updates: Part 6: Implementing a non-null string collection Part7: Spec# Wrapup Well, I thought I'd find some distraction from watching my Hokies losing to Kansas right now 14-17. Boo! Oh well, let's get back to our coverage of Spec#. Let's get caught up to where we are so far. Review each of these before we continue. Part 1: Spec# introduction Part 2: Method Contracts (Preconditions/Postconditions) Part 3: Invariants Part 4: Object Ownership/Assertions & Assumptions So, ......

Posted On Friday, January 4, 2008 1:12 AM

DC ALT.NET Meeting 1/15/2008
We are announcing our second meeting of DC ALT.NET on January 15th at 7PM. The meeting this month will bring ALT.NET to CMAP. Are you a developer who always keeps an eye out for a better way? Do you look outside the mainstream to adopt the best practices of any development community, including Open Source, Agile, Java, and Ruby communities? Are you always looking for more elegant, more simple, more maintainable solutions? If so, then you might be an ALT.NET practitioner! This group follows the Open ......

Posted On Wednesday, January 2, 2008 11:31 PM

Making Yourself Better for 2008
In a previous post, I talked about the things I'm going to do this year, now it's your turn. Here's what I'd like to see from you this year. Be a mentor Contribute to open source Get involved with the development community through user groups, forums, etc Start a blog and share your voice Step outside your comfort zone to find new ways of solving problems and check with the community as a whole Read open source code and understand it for six products. Learn a new language such as: Ruby Boo C# Python ......

Posted On Wednesday, January 2, 2008 4:45 PM

CMAP Meeting 1/2/2008 - ASP.NET MVC
Today, the CMAP user group will hold their first meeting of 2008. This meeting will be a Visual Studio 2008 InstallFest. If you hadn't registered already, too late, it's already booked up, but feel free to attend the ASP.NET MVC portion of this event. Also, DC ALT.NET is announcing our meeting for January at this event. I will have a writeup of this later on today and post here. Tentatively it is scheduled for January 15th, so sign up at our site and participate! Anyhow, the topic this month is ASP.NET ......

Posted On Wednesday, January 2, 2008 1:21 AM

Making Myself Better for 2008
Last year was a very good year for me, but I'm always looking for ways to learn more and better myself for the next year. After all, it is hard to top 2007, the year in which I buy a house, get married and have a great honeymoon in Italy. So, somehow I need to top myself yet again! Anyhow, these are the things I'm looking to do this year to make me a better designer, developer, etc: General Read a new book a month Run a marathon (Well, only running 5 miles a day right now) General Development Give ......

Posted On Tuesday, January 1, 2008 10:25 PM

Starting Junior Programmers on the Right Agile Track Guidance
Part of my job is not only to design and implement solutions for my customers, but also to make my customer's developers stronger as well. During these customer engagements, there are many times when junior developers are involved. My job is to help those on the team to be stronger and then in turn help become leaders. Where to start? Well, I could start with a stack of point technology books (ASP.NET, SharePoint, BizTalk, etc) that become obsolete right during their printing, so that's not where ......

Posted On Tuesday, January 1, 2008 7:53 PM

Copyright © Matthew Podwysocki | Powered by: GeeksWithBlogs.net | Join free