-
New and Notable 270
-
Agile/Software Development/ALT.NET
ASP.NET MVC
ADO.NET Data Services (Astoria)
WCF/SOA
-
Thoughts on Evolutionary Design
-
Jeremy, as always, has a lot of interesting things to say in his latest Train of Thought. I agree with most of what he said, in particular with evolutionary design, as Steve Eichert and I practiced it at Algo. It is important to not "allow your design thinking and abstractions get ahead of your development and requirements." It also important to postpone technical decisions until you actually need to make them, The Last Responsible Moment. It's ok to rewrite and refactor and evolve the design. It's a natural cycle that matches how we learn the domain, as a team, together with Business.
That being said, all environments are not the same, and we did get in a position at Algo where we were doing so much evolutionary design and still a lot of things were missing due to constant reprioritization - the "tech" and "infrastructure" stories would always get postponed and never scheduled until we had to break me off from the team to handle them.
This all ties in with my friend Jim Shore's Design Maps and The Other Side of Design. There are two sides to the coin, Predictive Design and Reflective. Predictive is given a bad name as Reflective is the analyze existing code, find flaws, and refactor cycle, but as Jim shows with his Design Maps, neither approach is necessarily better than the other for all things. Successful systems *do* get built every day with Predictive Design as well as many fail. The important thing is to find *your* Design Map and work with your team to find your team's map and use an appropriate mixture of design taxonomies for what you are doing.
-
New and Notable 268
-
Visual Studio
SaaS/Cloud Computing/REST/WCF
-
The Return of the CLR
-
Otherwise known, as "Return of the Giant Hogweed"
Once upon a time, .NET was so new that there wasn't a Visual Studio .NET yet (the beta crashed every 5 minutes so you couldn't use it even if you wanted to), no books, few blogs and one had to use things like the Shared Source CLI or Rotor to figure out things in .NET along with command lines and notepad (some of us actually yearn for those days in some ways). In those days, I learned a lot about CLR Internals by going to the source Luke as shown in this post on 7/1/2002 on how to use Rotor (Here is the one I did for the MAC). The constant companion was my well-worn book Shared Source CLI Internals. I read this book so many times it was torn apart. For years, I gave a very popular CLR Internals talk at DevTeach and elsewhere.
Then it grew quiet. The .NET scene exploded but most people could care less about the "internals" like those in the early days. Rotor did get a V2 but few people cared again. People went on to drag data grids, .NET development was co-opted by the ALT.NET revolutionaries ("Did you declare a spike for that?") and it grew quiet for CLR wonks. .NET got no CLR changes after 2.0 until recently. Some CLR innovation did occur, especially in the area of cross-platform support, with Silverlight.
I am glad to see Joel announce a V2 draft of the Shared Source CLI Internals, along with Ted. I am super exited!!!!
The second part of the great CLR news is that there are finally some CLR changes in 3.5 SP1 to dig into. In the upcoming timeframe, you are going to see some new renewed focus from me on the basics and the CLR internals in this blog. In the meantime, I leave you with this re-creation of that magical night of 7/1/2002 with Vista. Long Live MSCOREE!
-
Screencast - Creating your First WCF Service
-
As Cliff announces, CSD is partnering up with my friends Aaron and the PluralSight folks on a new weekly .NET developer screencast series to show how to accomplish tasks in WF/WCF 3.5 and Visual Studio 2008. This week, for the inaugural screencast, CSD MVP Aaron Skonnard walks you through how to create your first WCF Service. The screencast guides the viewer through creating the service from scratch in VS2008 - defining a data contract, a service contract, and testing/hosting the service in VS2008. Cool!
-
WCF, WS-* and REST in .NET 3.5 SP1
-
As I listed in this post on the .NET Framework 3.5 SP1, there are a bunch of significant additions to WCF in SP1. The list looks pretty focused towards REST services and the Web. It's no secret that many developers are looking to REST and the simpler programming model for Web applications. In this regard, Microsoft is perhaps playing catch up here adding first-class REST features alongside the premier WS-* features. With WCF being extensible this has been fairly simple and has resulted in a single framework for building services that allows us developers to target both SOAP and REST based services. I think the really cool thing, is that since a WCF Service can expose multiple endpoints, its a snap to expose both a SOAP/WS-* endpoint and a REST endpoint. In other words, the same service functionality over both endpoints. This is low cost and itterative way to get into REST. You don't have to fight between the two, Indigo lets you use both with much of the same concepts you have already learned.
If you want to truly understand all this, you will want to get Jon Flander's RESTful .NET book when it ships. I have been working as a tech reviewer on the book and its going to rock!
-
And They Say Its Just a Service Pack
-
Patrick uses the awesome power of the assembly comparison feature of the tool NDepend to show exactly how much more there is in .NET Framework 3.5 SP1:
Summary:
# Assemblies 112
# Namespaces 919 to 935 (+16 +1.7%)
# Types 39 988 to 40 513 (+525 +1.3%)
# Methods 387 421 to 386 790 (-631 -0.2%)
# Fields 241 567 to 246 795 (+5 228 +2.2%)
# IL instructions 8 598 933 to 8 620 940 (+22 007 +0.3%)
Yah, sure. It's just a service pack :)
-
Alienware Repave Clean Image Install List
-
I already did my "Inessential List of Tools" back some time ago but yesterday, in the attempted install of the new VS2008 SP1, I found that the so-called Hotfix Cleanup Utility would not work for me. Nothing was really working to remove the Beta 1 bits including manual registry methods, so I decided to repave the Alienware. Several people thought this would be worth posting as to what I installed and what order, so here goes.
-
Vista Ultimate + patches
-
Vista SP1
-
Visual Studio 2008 Team Suite
-
Live Mesh (holding files from old image)
-
Reflector plus SysInternals stuff
-
Visual Studio 2008 SP1/.NET Framework 3.5 SP1
-
SQL Server 2008 Standard Edition
-
Silverlight Beta 2 released yesterday
-
PowerShell
-
Resharper 4.0
-
E Text Editor
-
Office 2007 Ultimate
-
Zune software
-
Nunit, MbUnit, XUnit, TDD.NET
-
Plaxco and Xonbi
Those are the major items, most of the rest can be found on Scott's list or mine.
-
New and Notable 264 - Visual Studio 2008 SP1 and .NET Framework 3.5 SP1 RTM!
-
Of course, this is so much more than a Service Pack with the release now of ADO.NET Data Services (Astoria) and the Entity Framework among others. In my area of interest, CSD, there are some significant changes for REST programming (1st class citizen now) as well as some other additions:
There were several enhancements to WCF in .NET Framework SP1 that make it easier for developers to build and deploy a broader, more scalable set of Web Services:
-
Improvements in writing REST based services ranging from easily supporting ServiceDocuments publication and consumption to providing greater control and usability of UriTemplate.
-
Expanding the reach of the DataContract Serializer by relaxing the need of having [DataContract]/ [DataMember] on types and by supporting an interoperable mechanism for dealing with object references
-
Support for ADO.NET Entity Framework types in WCF contracts
-
Scalability increases of 5X - 10X are available for WCF services hosted in IIS7-integrated mode.
-
Improvements to the tools for developing, testing, and hosting Web services.
-
Improved Partial Trust Debugging Experience with support for writing to the Event Log.
If you previously installed a Visual Studio 2008 Hotfix, you must run the Hotfix Cleanup Utility before installing Visual Studio 2008 SP1. For more information, see Visual Studio 2008 Hotfix Cleanup Utility for Installing Visual Studio 2008 SP1.
Visual Studio 2008 Express Editions with Service Pack 1 (Bootstrappers)
http://go.microsoft.com/fwlink/?LinkId=123679
Visual Studio 2008 Express Editions with Service Pack 1 (iso)
http://go.microsoft.com/fwlink/?LinkId=123680
Visual Studio 2008 Service Pack 1 (Bootstrapper)
http://go.microsoft.com/fwlink/?LinkId=122094
Visual Studio 2008 Service Pack 1 (iso)
http://go.microsoft.com/fwlink/?LinkId=122095
Visual Studio Team System 2008 Team Foundation Server Service Pack 1
http://go.microsoft.com/fwlink/?LinkId=124829
.NET Framework 3.5 Service Pack 1
http://go.microsoft.com/fwlink/?LinkId=124150
-
New and Notable 262
-
ASP.NET
ALT.NET/Software Architecture