Saturday, December 20, 2008

Team Foundation Server Branching Guidance v2 Released

CodePlex - TFS Branching Guide 2.0

“Welcome to the Team Foundation Server Branching Guidance Community Site! The purpose of this project is to build some insightful and practical guidance around branching and merging with Team Foundation Server. It's a collaborative effort by VSTS Rangers in cooperation with VSTS MVPs, Microsoft Services, and VSTS Product Team.

Why the 2nd release?

Since the first release, we have received lots of feedback and change requests. Most feedback indicated a desire for a more practical approach to branching compared to the first release which is more theoretical. With that in mind, we decided to reduce the conceptual part and focus on branching practices with Team Foundation Server.
What is in the package?
  • TFS Branching Guide - Main 2.0
    • This is the main article which briefly explains branching concepts and introduces 3 levels of the most common branching scenario
  • TFS Branching Guide - Scenarios 2.0
    • A collection of less common branching scenarios
  • TFS Branching Guide - Q&A 2.0
    • A set of most frequently asked questions with answers
  • TFS Branching Guide - Drawings 2.0
    • A set of branching drawings in different formats including a large branching poster
  • TFS Branching Guide - Labs 2.0
    • A couple of examples for hands on labs with step by step instruction for practicing the branching scenarios

…”

TFS Branching Guide 2.0  - TFS Branching Guide 2.0 (Release page)

“…

TFS Branching Guide - Main 2.0.pdf
application, 870K, uploaded Fri - 66 downloads

TFS Branching Guide - Scenarios 2.0.pdf
application, 1289K, uploaded Fri - 46 downloads

TFS Branching Guide - Q&A 2.0.pdf
application, 672K, uploaded Fri - 32 downloads

TFS Branching Guide - Labs - 2.0.zip
application, 1502K, uploaded Fri - 31 downloads

TFS Branching Guide - Drawings 2.0.zip
application, 9778K, uploaded Fri - 34 downloads

…”

image

“Welcome to the Team Foundation Server Branching guide! Since the original release of this guidance in 2007 we’ve received many encouraging messages confirming the usefulness of this guide in planning, executing and maintaining branches, in allowing TFS users to devise, execute and maintain their branch plans. Using feedback from users, we, a team of Microsoft VSTS Most Valuable Professionals (MVPs) and Microsoft Services consultants have refreshed the guidance presented in the original document produced as part of a VSTS Ranger project. While some of the original document has been retained, you will notice 3 new themes through the guide.

This guide targets the Microsoft “200-300 level” users of TFS. The target group is considered as intermediate to advanced users of TFS and has in-depth understanding of the product features in a real-world environment. Parts of this guide may be useful to the TFS novices and experts but users at these skill levels are not the focus of this content.

Before executing on your branch plan, pay attention to this cautionary message - every branch you create does have a cost so make sure you get some value from it. …”

image

image

51 Pages, combined, of TFS Branching guidance from Microsoft and TFS Community.

If you’re already happy with your TFS Branching scheme, then this guide may not be for you. But if you’re not, or new to branching or when you hear “branch” all you think of is Pine, Oak, Cedar, etc, then you might want to take a few minutes to review this guidance. Look, the Main guide is only 12 pages and very unlikely to melt your brain… ;)

(via Robert Horvick's Weblog - TFS Branching Guidance Version 2 has been Released)

 

Related Past Post XRef:
Branching Guidance on CodePlex

“Data Structures and Algorithms” free eBook updated

Granville Barnett - Updated version of the free Data Structures and Algorithms book available!

“Just in time for Christmas ;-)

You can download a revised version of the book Data Structures and Algorithms: Annotated Reference with Examples here!

The last version of the book has had just under 14,000 downloads since we released it.

…”

DotNetSlackers - Data Structures and Algorithms: Annotated Reference with Examples

“This book written by Granville Barnett and Luca Del Tongo is part of an effort to provide all developers with a core understanding of algorithms that operate on various common, and uncommon data structures.

Data Structures and Algorithms: Annotated Reference with Examples is completely free!” [Description Leached in Full]

image

There’s nothing like curling up next to the fire with 112 pages of “Data Structures and Algorithms”… :)

(via Alvin Ashcraft’s Morning Dew - Free eBook - Data Structures and Algorithms: Annotated Reference with Examples)

The Sueetie idea is Sweet! The “…candy store for .NET Open Source Online Community Development”

Sueetie: The Future in .NET Open Source Online Community Development

  • “Sueetie is a movement that promotes the creation of online communities using .NET Open Source software.
  • Sueetie developers are dedicated to the success of the .NET Open Source applications that comprise the Sueetie online community suite.
  • …”

Sueetie - Sueetie Manifesto

“…

1. Sueetie is a movement that promotes the creation of online communities using .NET Open Source software.

2. Sueetie developers are dedicated to the success of the .NET Open Source applications that comprise a Sueetie online community site.

3. No commercial or Open Source community application ever meets the requirements of a community without additional custom development.

4. All enhancements made to .NET Open Source applications on a Sueetie project are given back to the original application community.

5. Sueetie developers write original code or leverage code from Open Source resources. Sueetie developers never use code from source-available commercial .NET products in Sueetie communities.

6. The Sueetie feature set grows with the development of each new Sueetie site, as Sueetie developers share their application code in a common Sueetie code library.

7. Sueetie development is about freedom and collaboration. All accomplished .NET developers who are dedicated to the principles of Open Source development are welcome to join the Sueetie Movement.

…”

Interesting idea. Added to Tracking/monitoring list…

(via Reflective Perspective - The Morning Brew #248)

10-4, Good Buddy… The weekly VS2010 & .Net 4 show hosted by the Big BK (Brian Keller)

Channel 9 - 10-4

“10-4 is a weekly video podcast which gives you a look at what's coming in Visual Studio 2010 and the .NET Framework 4.0. Over and out!”

10-4 - 10-4 Episode 1: Working with the Visual Studio 2010 CTP VPC

“For this first episode of 10-4, we’ll look at how to download and use the Virtual PC image of the Visual Studio 2010 September CTP. We’ll give you tips on how to download this massive (7GB+ compressed) VPC, show you how to get past some pesky expiration issues, and get you started with the CTP walkthroughs. Lastly we’ll cover where to get assistance and provide your feedback about this release.

In future episodes we’ll dive more deeply into the technical underpinnings of Visual Studio 2010 and the .NET Framework 4.0, but for this first episode we wanted to make sure everybody could get the CTP and follow along at home as we explore new features.

…” [Show Description leached in full]

Yes, boys and girls, we’re getting to that time in the release cycle where it’s time to start wrapping our heads around the goodness that will be coming…

(via Martin Woodward - New Visual Studio 2010 Video Podcast 10-4)

Friday, December 19, 2008

While we wait on VSTS2010 and its desktop recording feature, here’s something kind of like it you can use today.

C# Corner - Enhanced Desktop Recorder in .NET using C# and Windows Forms

“Nowadays, Desktop or Application sharing is common to coordinate work properly in IT as well as other fields also. Sometimes, it may require to record the Operations done by us on Desktop for future reference. I have not seen many applications which support Desktop recording, sharing and broadcasting of it. I think it's better to design an application that will do above operations little bit easier. So, I design this application in VS.NET 2005 using C# and windows forms. I will explain features provided by this application, one sample scenario where we can use this application followed by its design and coding.

Features present in this application:

  • It allows us to record the Desktop Operations.
  • It allows us to view the recordings with an inbuilt Media Player.
  • It allows us to view the List of recent recordings.
  • Inbuilt Functionality to add Audio to the Desktop recordings.
  • Inbuilt Functionality to broadcast Desktop recordings.
  • Inbuilt Functionality to see remote Desktop.
  • Inbuilt Functionality to play, pause and stop recordings.
  • Inbuilt Functionality to start, pause and stop recording.
  • Inbuilt Functionality to show recording Duration, number of users connected to broadcast (desktop sharing).
  • Easy to use UI.
  • Now, Desktop recording and sharing is just a click away from us.

Sample Scenario for using this application:

Normally, software Testers use to prepare lot of descriptive documents for a bug to explain steps to be followed in reproducing it. I believe an image is equal to 1000's word description. So, why can't a tester record the steps for reproducing the bug in a video, instead of complex documents? Around of 50 - 60% of our effort in fixing the bug will be spent in analyzing, reproducing, get clarifications from testers regarding bug. So, in order to compensate it, the best solution is to record the bug's details in a video with audio support for extra information. In this kind of situations, this application will be very handy to use. There are other cases also, where this application will be useful like analyzing complex application's functionalities etc.

By using this application, we can record all your Desktop activities. I am attaching source code for further reference. I hope this code will be useful for all.”

 

This is a neat sounding project, one that I think I can use ideas from in the very near future…

New SilverLight Spy release, now with Trees…(visual and logical tree of the UI structure)

First Floor Blog - New version of Silverlight Spy

“The first official company release of Silverlight Spy has made it to the web. This release includes a new feature which allows you to view the visual and the logical tree of the UI structure of your application. Previous versions of Silverlight Spy only provided a visual tree view of the UI. The logical tree view displays the elements that are contained in the same name scope. This comes in handy when you need to know for instance what elements the ImplicitStyleManager in the Silverlight Toolkit will style

logicaltreeview

Read the excellent blogposts 'Using ImplicitStyleManager and Theme Containers' and 'Silverlight and the Logical Tree' by Jafar Husain to get more information on the visual and logical tree in Silverlight.

…”

A cool tool that’s getting cooler by the release… ;)

 

Related Past Post XRef:
Silverlight Spy for Silverlight 2 – RTM Support and new UI Automation feature (think automated testing)
Silverlight Spy – See what that Silverlight application is really all about…

Wednesday, December 17, 2008

Windows Update Now…

Microsoft Security Bulletin MS08-078 – Critical Security Update for Internet Explorer (960714)

“…

Executive Summary

This security update resolves a publicly disclosed vulnerability. The vulnerability could allow remote code execution if a user views a specially crafted Web page using Internet Explorer. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

This security update is rated Critical for Internet Explorer 5.01, Internet Explorer 6, Internet Explorer 6 Service Pack 1, and Internet Explorer 7. For information about Internet Explorer 8 Beta 2, please see the section, Frequently Asked Questions (FAQ) Related to This Security Update. For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerability by modifying the way Internet Explorer validates data binding parameters and handles the error resulting in the exploitable condition. For more information about the vulnerability, see the Frequently Asked Questions (FAQ) subsection under the next section, Vulnerability Information.

This security update also addresses the vulnerability first described in Microsoft Security Advisory 961051.

Microsoft Security Bulletin MS08-078 - Critical Security Update for Internet Explorer (960714)

You’ll want to run Windows Update/Microsoft Update now (yes, like now… and yes, you’ll likely need to reboot).

Microsoft has released out-of-band fixes for the recently found IE7 hole, a hole that’s being actively exploited, “Microsoft Security Advisory (961051), Vulnerability in Internet Explorer Could Allow Remote Code Execution”, Microsoft Security Bulletin MS08-078 – Critical.

Updates are are for IE5,IE6 and IE7.

Update now… And remember to make sure you’re family and friends are updated too…

More free, full and complete, eBooks from Microsoft (Limited time only)

Microsoft Learning | Imagine Cup - Free Books, for reading in the cold days (or warm days for those who are in the southern hemisphere) :)

“… Microsoft Press continues its 25th Anniversary ebook giveaway.  And this month we have books from Joseph Davies, Michael Howard and David LeBlanc.

For those for who are not on the Microsoft Press Connection newsletter list, below are links to download.  Please note that these download are only good till 24th of December.  So do it soon! :-)

Understanding IPv6, by Joseph Davies
Writing Secure Code for Vista, by Michael Howard and David LeBlanc

…” [Post Leach Level: 95%]

Free eBooks make my heart warm… ;)

 image

image

Remember you only have until December 24th to get them.

Tuesday, December 16, 2008

Java for .Net? Ja!

InfoQ - Java 1.5 for the .NET Platform

“Ja.NET is a port of Java 1.5 SE to the .NET platform. The compiler is based on the Eclipse JDT, which has been modified to generate IL as well as Java Byte Code. Java traditionally compiles each class into a separate file, but this creates an unacceptable overhead for .NET. To address this, a tool based on Cecil is used to create larger assemblies much in the same way Jar files are created for Java.

In order to get a head-start on library support, the Ja.NET JDK is based on the open source project Apache Harmony …”

Ja.NET - Java Development Tools for .NET

“Welcome to Ja.NET -- a new web site building an open community dedicated to enabling Java as a first class development and runtime environment for .NET.  Our vision is simple: Establish a community of interest, together with a set of projects, focused on delivering the tools and middleware required to leverage the enormous investments that exist today in Java software on the .NET platform.

Our first project is the development of a Java 5 JDK for .NET. We've named it "Ja.NET SE", and we are making good progress towards delivering our first release. We are posting builds regularly, so feel free to download a build and give it a try. If you run into any problems, please let us know.

So if you have a need for Java on .NET, then we’d encourage you to get involved by joining the Ja.NET SE project or starting one of your own. Whether you have a specific Java on .NET need, or you just have an opinion you'd like to share with us, provide us some feedback below, or start up a forum discussion.

…”

Ja.NET - Java Development Tools for .NET - Ja.NET SE Overview

“…

Developer Scenerios

Ultimately, the goal of the Ja.NET SE project is to provide developers with the tools and runtime environment to support the following developer scenarios:

  • Take existing Java class library source code and recompile it using the Ja.NET SE JDK producing .NET versions of those libraries. The new libraries should be easily incorporated into new or existing .NET-based applications (likely written in other .NET languages). The existing Java-based source could be reused as is, or it could be extended to incorporate or integrate new capabilities found in other .NET-based class libraries.
  • Take an existing Java-based application, recompile the source code using the Ja.NET SE JDK, and incorporate other .NET-based class libraries. This will create a new version of the application which can be run on .NET. Using the Ja.NET SE-provided launcher, the new .NET version of the Java application runs on .NET and behaves as it did on the Java RI, yet also provides new functionality derived from incorporating the new .NET class libraries.

…”

Interesting…

Use the Sysinternals Utilities? The EULA bug dialog you? Then try this…

Ask the Performance Team - Batch Files, Task Scheduler and PSTools – and a EULA?

“… The problem that he was running into was that the task never executed the query when run from Task Scheduler, but they ran fine when executed manually.

In these instances, the immediate assumption is that the problem must be due to permissions.  However, in this instance, the task was running in the context of a service account with administrative privileges.  Thus, the immediate culprit was ruled out.  When reproducing the problem, we noticed that when we ran the batch file manually that both PsService and PsTools have a EULA that has to be accepted before the tool(s) will execute:

The service account currently had no way to “click” the Agree button to allow the task to process.  However, all was not lost.  There were a couple of workarounds that we could use to get past this …

Workaround 1: Via the registry – using the REG ADD command in the custom script to ensure that the EULA was flagged as being accepted

Workaround 2: Use the –accepteula switch when running the tools so that the EULA acceptance is not displayed when the script is launched via Task Scheduler.

…”

This is a tip I know I’ll need. I want to use BGInfo so that all of our ‘workhorse” machines (over 140) have the cool and very useful wallpaper that the utility provides. But I didn’t want my users to have to accept the EULA. Sure they would only have to do it once per machine, but still, it would be lame. Which this tip, I should be able to automate the acceptance and remove one more deployment and usage barrier.

As noted in the post not all the utilities may support the “accepteula” switch. Some may require both. YMMV..

Five Minute Guide to Live Framework – What is it and why should you care in eight pages…

Microsoft Health and Life Sciences Evangelism Team - Live Framework and why should you care?

“The Live Framework team recently published a short (but to the point) white paper entitled The Live Framework: What is it and Why Should I Care?

Contents include:

  • From My Computer to My Mesh
  • For what scenarios is the Live Framework relevant?
  • What problems does the Live Framework help you solve?
  • What is a cloud / client symmetric programming model?
  • How do application developers benefit from the Live Framework?
  • What is the programming model exposed by the Live Framework?
  • What application types are supported by the Live Framework?
  • What are the different flavors of Live Operating Environment available today?
  • Do I need the Client Live Operating Environment for creating client side applications?
  • What is the Live Framework Resource Model? How can applications interact with it?

…”

A quick overview for those of us trying to explain, or wrap our own heads around, the Live Framework

image

Microsoft P&P App Arch Guide 2.0 (The Book) Released

J.D. Meier's Blog - Application Architecture Guide 2.0 Final Release

“We released our final release of the patterns & practices Application Architecture Guide 2.0 on Codeplex.  It's the "Microsoft playbook for application architecture."  This is our guide to help solution architects and developers make the most of the Microsoft platform.  It's a distillation of many lessons learned.  It’s principle-based and pattern-oriented to provide a durable, evolvable backdrop for application architecture.  It's a collaborative effort among product team members, field, industry experts, MVPs, and customers.

Key Links

Key Changes Since Beta 2

  • Added a foreword by Scott Guthrie.
  • Incorporated feedback from internal and external reviewers.
  • Tuned and pruned the recommendations across the entire guide.

Architecture Meta Frame (AMF)
The Architecture Meta Frame integrates context, application types, architecture styles, and an architecture frame to help map out the application architecture space. 

ArchitectureMetaFrame_2

The Architecture Meta Frame serves as a durable, evolvable backdrop for the guidance in the patterns & practices Application Architecture Guide 2.0.

Key Scenarios for the Guide

  • Choose the right architecture for your application.
  • Choose the right technologies.
  • Make more effective choices for key engineering decisions.
  • Map appropriate strategies and patterns.
  • Map relevant patterns & practices solution assets.

…”

CodePlex - patterns & practices Application Architecture Guide 2.0

“Welcome to the patterns & practices Application Architecture Guide 2.0 project site! provides design-level guidance for the architecture and design of applications built on the .NET Framework. It focuses on the most common types of applications, partitioning application functionality into layers, components, and services, and walks through their key design characteristics.This guide is a collaborative effort between patterns & practices, product teams, and industry experts. This guide is related to our Application Architecture Guide v2.0 Knowledge Base Project.

…”

381 pages of Application Architecture guidance from Microsoft.

Now I’m not going to say I’m going to drop everything, read this and re-architect my apps, but I AM going to say that every bit of shared knowledge and wisdom helps. Seems silly to re-invent the wheel doesn’t it?

image

 

Related Past Post XRef:
Patterns and Practices Application Architecture Guide 2.0 Pocket Guides Released

We don’t need no stink’n WPF in our Line of Business apps.. right? Wrong! Here’s ten reasons to consider WPF in your next LOB application

The Joy of Code - 10 reasons you should consider WPF for your next desktop application

“…

I'm going to try and prove this with 10 short posts offering 10 reasons why you should consider WPF for your next desktop application, even a Line of Business one.

Note that I said "Consider" not "Must use". Therefore, let me start with an important disclaimer: 2 reasons why you might consider WinForms over and above WPF.

  1. Learning Curve.
    WPF is huge and different. It offers the best of both worlds, taking ideas from both traditional desktop development and the web and combines the two. It then goes further. Much further. It takes a while to get used to all this functionality - don't expect to be as productive with WPF as you are with your current UX platform without putting some effort in first.
  2. Tooling.
    Don't expect to open Cider (the Visual Studio WPF designer) and to start banging out forms in exactly the same way as you did with the fantastic WinForms designer. For one, it's just not reached the high standards of the older WinForms designer yet and, as David Chappell points out, these designers currently have a different focus.
Having said all that, I am a fan of WPF and I've found myself to be at least as productive with this platform once I'd cleared the learning curve.

Let the reasons begin...

…”

I’m currently fighting a like battle, “We don’t need WPF, all we do are LOB apps…” “WPF? No, we don’t need to spend any time or training on that. Why would you need it? We do internal app’s and WPF isn’t for that…” “How does WPF add to the value of the app? Where’s the payback when we’re not doing a flashy consumer application?” etc, etc.

Personally, with what I’ve heard and read, I think WPF is the future, but I’m just one voice.

Which is why this article caught my eye. Any help I can get to sell WPF, to prove that it’s not just dev porn, but will allow us to provide better applications faster to our users, is welcome.

 

Now to walk the walk and stop using WPF in my personal projects…  :/

(via UK Application Development Consulting - 10 reasons to consider WPF for your next desktop application - Reason 10. Validation)

Monday, December 15, 2008

IronPython 2.0 Released - Now built on top the DLR

CodePlexIronPython- IronPython 2.0 Release

Released: Dec 10 2008
Updated: Dec 10 2008 by dfugate
Dev status: Stable Stable: This software is believed to be ready for use
Downloaded: 6149 downloads

IronPython-2.0-Bin.zip
application, 2122K, uploaded Wed - 1102 downloads

IronPython.msi
application, 5137K, uploaded Wed - 2750 downloads

IronPython-2.0-Src.zip
source code, 2881K, uploaded Wed - 743 downloads

IronPython-2.0-Samples.zip
example, 639K, uploaded Wed - 1554 downloads

Release Notes

The IronPython and Dynamic Language Runtime teams are proud to announce the release of IronPython 2.0 final. IronPython 2.0 is the culmination of nearly two years worth of work resulting in a CPython 2.5 compatible release on .NET 2.0 SP1. By far, the biggest change to 2.0 is that our 1.1 codebase was refactored to run on top of the Dynamic Language Runtime. With this we automatically get improvements in many feature areas such as better .NET interop support and hosting Python from managed code. There have been many other major improvements as well. The most notable are:

  • An MSI installer for Windows platforms which includes parts of the CPython 2.5 standard library
  • IronPython assemblies targeting Silverlight and tools such as Chiron to improve the Silverlight dynamic development experience
  • The addition of more C-based standard modules such as cmath and _winreg
  • Significant improvements in importing compatibility and features
  • Distribution of IronPython under the Microsoft Public License which has been approved by OSI
  • Performance improvements. On that note, a new Wiki page has been created for IronPython performance reports - see http://www.codeplex.com/IronPython/Wiki/View.aspx?title=IronPython%20Performance
  • Over 500 bugs have been closed in 2.0. 453 of these were reported on CodePlex
  • Support for precompilation of Python source files into a single dll

This seems like an opportune time to remind everyone that we fix bugs based on the number of votes they have on CodePlex. As we’re planning on releasing IronPython 2.0.1 fairly soon, please vote for your favorite bugs at http://www.codeplex.com/IronPython/WorkItem/AdvancedList.aspx to help ensure they get fixed in time for the next release.

…”

I don’t Python, yet, but I still think this is an important milestone for .Net developers

(via less than dot - IronPython 2.0 has been released, now runs on top of the Dynamic Language Runtime (DLR))

 

Related Past Post XRef:
IronPython Studio 1.0 released with both Isolated and (Visual Studio) Integrated versions
Visual Studio 2005 SDK V3 (September 2006) Released
IronPython 1.0 Beta

Thursday, December 11, 2008

thumbtack – A new link, bookmark, note, photo sharing, thing. Think virtual pushpin board you can share with select people or the world at large

Microsoft Live Labs - thumbtack

image

use thumbtack to

collect a list of your favorite restaurants and share them with your friends

plan a trip- collect information about places to stay and things to do

research your next purchase- store, analyze and sift through your options in thumbtack

take notes and share them with your team…”

A kind of fun little new site/service from Microsoft Live Labs to play with. A simple way to save and share web “stuff.” Here’s an example board where I’ve created a list of sites I’m building for a series of future posts called “A Feed You Should Read.”

Nice to see that Feed support is already baked in (A Feed You Should Read RSS) and of course there’s an embed

I’d like to see an API so I can easily access, add, manage my stuff from external sources, such as maybe a Windows Live Writer plugin… ;)

(via Microsoft Live Labs Blog - Introducing Thumbtack)

Tuesday, December 09, 2008

Isolation Framework, are you Mocking me?

Derik Whittaker - Changing Terms from Mocking Framework to Isolation Framework

“The other day on Twitter Roy Osherove made the statement that he was teaching a class on TDD and he was showing how to use the various Isolation Frameworks.  When I read this I had to ask if he talking about Mocking frameworks when he said Isolation frameworks.  And indeed he was.

As I sat back to reflect on the semantic differences between the terms Mocking and Isolation I had an 'ah-ha' moment. 

However, when you tell someone you are working with an isolation framework the idea should click in their head as to what is going to take place and how it is going to be used.  By using the term isolation framework we are telling our end users (developers) that what we are really trying to do with the framework is remove external dependencies from our test in order to make them more granular and reliable.

…”

Yes! Perfect! Names have power. Names mean and convey a great deal. “Isolation Framework” is a name that, in my mind, makes so much more sense. No Mocking for me anymore, now it’s Isolating!

I’ve been talking about Mocking with my team and others in the building and they give me that blank, deer in the head lights, stare. I explain that mocking is important to unit testing in that it will help isolate the code from its external dependences (which in our case is 99% of the time databases). But they can’t seem to get beyond the name, “mock”. And in my mind, “mock” has a negative cogitation (maybe because of childhood memories and being mocked as a “News Nerd” even today… ;)

Isolation Framework, IMHO, seems to be a great name and like Derik I think if start using it instead of “Mocking” we might great broader understanding and adoption…

Monday, December 08, 2008

WiX 3 is now officially in “Beta”

Aaron Stebner's WebLog - WiX v3.0.4805.0 build is declared an official beta build

“Last week, Rob Mensching and Bob Arnson posted some information on their blogs about the upcoming declaration of a beta build of WiX v3.0 in preparation for locking down WiX v3.0 to get it ready to ship in Visual Studio 2010 (an older 3.0 build is currently available in the CTP).

This morning, the WiX 3.0.4805.0 build was published to the SourceForge release page (in addition to the normal weekly release page) and declared an official beta build.  Here are links to more information about this build:

If you're using a build of WiX v3.0 to create your installers, you should upgrade to the 3.0.4805.0 build if possible in order to help validate the fixes that have been made over the past few months and help the WiX development team determine how close WiX v3.0 is to being done and ready to ship.

…”

I’m a fan of WiX and it’s really nice to see it progress into official beta status… Don’t know about WiX? It’s going to be in VSTS2010, so now is probably a good time to add it to your mental “look into this” keyword list.

 

Related Past Post XRef:
WiX Resources – Some help up the learning curve

The VSTS 2010 CTP, 1/1/2009 and you Hyper-V conversion nuts (myself included ;)

Skinner's Blog - VSTS 2010 CTP, Hyper-V, and January 1st, 2009

“For those of you folks who have converted the VSTS 2010 CTP ( see Grant's post ) to take advantage of the performance improvements in hyper-v, here's a manual way to get around the fact that VSTS will expire Jan. 1st 2009. ( If you're using the CTP with VPC, see Brian's post for a similar workaround ).

1) The first thing to do is snapshot your current image ( if you followed Grant's steps, that should have been the last thing you did while you converted your image to hyper-v ). You'll need this to rollback as needed.

…”

Skinner provides a step by step “going backward in time on Hyper-V” guide for everyone who converted their VSTS2010 VHD over to Hyper-V and are facing the CTP expiration deadline.

 

Related Past Post XRef:
Getting the VSTS2010 CTP Virtual Machine working well on Hyper-V

Happy Two Year Birthday to IE7Pro

IE7pro for Internet Explorer 7 - IE7Pro 2 years

“It’s very glad that IE7Pro is 2 years! Thank all the people who help and support for us. …”

Wow, IE7Pro is only two years old? Seems like I’ve been using it for forever (if you’re an IE user and not using IE7Pro, stop reading this now and get this must have IE addin…)

Congrats to the IE7Pro team for providing such a essential utility!

 

Related Past Post XRef:
IE7Pro 2.1 Released
IE7Pro v2.0 Released
IE7Pro 1.2 Released
IE7Pro v1.0 Released
IE7Pro v0.9.18 Released - Inline, Firefox like Spell Checking Added
IE7Pro - Must have IE7 Add-on?

Excel Financial functions for .NET, implemented with F#

MSDN Code Gallery - Excel Financial functions for .NET

“What is it?
This is a .NET library that provides the full set of financial functions from Excel. The main goal for the library is compatibility with Excel, by providing the same functions, with the same behaviour. Note though that this is not a wrapper over the Excel library; the functions have been re-implemented in managed code so that you do not need to have Excel installed to use this library.

Where I can find documentation on these functions?
Just open Excel and click on Formulas/Financial or go to this link: http://office.microsoft.com/client/helppreview.aspx?AssetID=HP100791841033&ns=EXCEL&lcid=1033&CTT=3&Origin=HP100623561033

I don't think one of the function is right. Excel produces the wrong results! Why don't you do it right?
My goal is to replicate Excel results (right and wrong). Feel free to contribute to the effort by coding what you think is the right solution and I'll add an ExcelCompliant flag to the function to conditionally invoke your code.

How do I use the library?
Just add Financial.dll to the references in your project. The functions are provided as static methods on a Financial class in the System.Numeric namespace.

I see the library was implemented with F#. But I don’t want to redistribute F# along with my application. What should I do?
There are two versions of the library. One of them statically links the F# libraries so that there is no dependency on F#. However, this assembly larger, so if you have F# installed, you can use the FinancialNotStandalone.dll instead.

…”

I found this project interesting in a number of different ways;

  • Getting the Excel Financial functions in a .Net assembly is pretty darn cool
  • The fact it was written in F#
  • The source was included
  • There are 201,349 test cases
  • That F# can be statically linked (meaning you can use this assembly without having F# installed)

(via less than dot - Financial Functions for .NET released)

Saturday, December 06, 2008

SQL Server 2008 – To buy Enterprise or Standard, that is the question…

Microsoft Downloads - SQL Server 2008 Enterprise and Standard Feature Compare

“SQL Server 2008 Enterprise and Standard Feature Compare

File Name: SQLServer2008EnterpriseandStandardFeature Compare.pdf
Version: 3.0
Date Published: 12/4/2008
Language: English
Download Size: 125 KB

image

A pretty simple and straight forward five page comparison grid between SQL Server Enterprise and Standard.

I’ll need this one of these days when we start moving toward SQL 2K8…

 

Related Past Post XRef:
SQL Server 2008 Edition Side–by-side Feature Comparison - (aka. What Edition do I need so I can get feature X,Y or Z?)

Saturday, November 29, 2008

Microsoft Image Composite Editor v1.2 Released – Stitch your way to panorama photo happiness

Microsoft Research - Microsoft Image Composite Editor

File Name SetupICE_x86_1.2.msi
Version 1.2
Date Published 26 November 2008
Download Size 2.9 MB

An application to stitch multiple source images into a seamless panorama.”

Microsoft Research - Image Composite Editor

“What is Image Composite Editor?

Microsoft Image Composite Editor is an advanced panoramic image stitcher. The application takes a set of overlapping photographs of a scene shot from a single camera location and creates a high-resolution panorama incorporating all the source images at full resolution. The stitched panorama can be saved in a wide variety of formats, from common formats like JPEG and TIFF to multi-resolution tiled formats like HD View and Silverlight Deep Zoom.

Composite

Features

  • State-of-the-art stitching algorithms automaticaly place source images and determine panorama type
  • Advanced orientation adjustment view allows planar, cylindrical, and spherical projections
  • Support for different types of camera motion
  • Excellent exposure blending using Microsoft Research fast Poisson algorithm
  • Automatic cropping to maximum image area
  • No image size limitation - stitch gigapixel panoramas
  • Native support for 64-bit operating systems such as 64-bit Vista
  • Output in a wide variety of image formats:

Support

Microsoft Image Composite Editor is provided free of charge and without official support….

…”

This takes the current MS panorama tech adds some magic, gives you some knobs to tweak and the capability to export it into a number of different formats.

Using ICE, I quickly created this is about panorama. It is a 140 degree view from one of my walking routes; from on top of Mt McCoy, the Reagan Library around into Simi.

DCP_2809_stitch

 

Note that like most MSR projects this has a non-commercial usage license clause in the EULA.

Friday, November 28, 2008

Visual Studio, Log Thy Self

Sara Ford's WebLog - Did you know… There’s a way to have Visual Studio log its activity for troubleshooting? - #366

“There’s a built-in command line switch devenv.exe /log to log Visual Studio activity, e.g. which packages got loaded, etc. I’ll call out immediately that the documentation is wrong, but you should read Paul’s comments at the bottom of the page for the real documentation (Paul was a dev on VS). http://msdn.microsoft.com/en-us/library/ms241272.aspx

…”

This is a tip that I’ve been needing for a bit now, but to lazy to look for.

Every so often, when I shutdown VS, I get the “This application has generated an error, do you want to restart it” dialog (which doh, I don’t want to restart it because I was shutting down the app…;)

I’ve been trying to resolve it off and on for the a while now, but since it’s not a show stopper and only an irritant, I don’t invest too much time. Well with the log switch, maybe I can stop the hunt and peck resolution/debugging I’ve been using and get to the root of the issue. It’s worth a try at least…

OpenXML Viewer (CTP) – Open DocX files in FireFox (Windows/Linux) or via command line DocX to HTML utility

CodePlex - OpenXML Document Viewer

“The Office Open XML format specification has been approved as a free and open Ecma International standard. A newer improved version is approved as an ISO/IEC standard.

The OpenXML Document Viewer project is an outcome of the feedback from participants of a series of Document Interoperability Initiative workshops. The main goal of the OpenXML Document Viewer project is to create software tools, plus guidance, showing how documents created using Open XML Format can be translated to HTML. As a result, Independent Software Vendors (ISVs), Solutions Integrators & Mobile Solution providers can use these tools to enable their customers view Open XML documents on heterogeneous platforms and browser applications. The OpenXML Viewer is available under the open source Microsoft Public License (MS-PL), which allows anyone to use the tools, submit bugs and feedback, or contribute to the project …


Milestone1: November 2008 Community Technology Preview

For the first milestone, the focus of the project will be on building the core architectural components for the OpenXML to HTML translator that can be leveraged to build the plug-ins for various platforms to enable cross-platform support.

The following features are planned for the first milestone:

  • Core transformation framework
  • Browser plug-ins for Firefox 3.0.x on Windows and Linux
  • Word Document features including translation of
    • font types
    • images
    • text styles
    • diagrams
    • tables
    • hyperlinks
  • Test Results

…”

OpenXML Document Viewer - November 2008 Community Technology Preview

“…

 OpenXMLViewer_linux_firefox.tar
application, 10920K, uploaded Wed 

 OpenXMLViewer_linux_src.tar
source code, 186K, uploaded Wed 

 OpenXMLViewer_win_firefox.zip
application, 3577K, uploaded Wed 

 OpenXMLViewer_win_src.zip
source code, 138K, uploaded Wed 

 Release Notes.doc
documentation, 176K, uploaded Wed 

 OpenXMLViewer_linux_cmdline.zip
application, 10810K, uploaded Today 

 OpenXMLViewer_win_cmdline.zip
application, 3590K, uploaded Today 

Release Notes

The OpenXML Document Viewer team is pleased to announce the release of the first version of the Open XML to HTML project. The OpenXML Document Viewer project provides plug-ins and tools to view MS Word 2007 documents on platforms where Word 2007 is not available. This is achieved by using the OpenXMLViewer browser plug-in or the command line interface to convert the Word document (.docx) into HTML.

…”

Interesting project… OpenXML is a monster (7k pages to the spec = monster in my book ;) so it’s good to see both someone implementing it and making that implementation available to others. No matter your feeling about OpenXML/ODF, I think you’ll agree that having open, cross platform, OSS and free access to the DocX’s is a good thing?

Wednesday, November 26, 2008

MicrosoftPDC.com – Words from the Lead Developer

Jon Galloway - Looking back at MicrosoftPDC.com (from the inside)

“I had the privilege of working on the MicrosoftPDC.com website as lead developer for the past several months. The process hasn’t been kind to my blogging schedule lately, but the experience definitely taught me quite a bit: working with the top-notch Microsoft developer evangelism team, setting up a site for maximum flexibility, setting up the Silverlight experience, and troubleshooting some interesting issues during the conference. I’m going to run through several of these at a high level and may dig into some of these in more detail later (so comment if you want to hear more about something).

…”

Jon provides a great write up for a site I, and thousands of my closest friends, were all over for a number of days and weeks. It’s officially cool to get some of the behind the scenes views into the work he and the team put into it.

That must have been an exciting, and kind of scary, project. Scary? Whenever, as a dev, you build something for other dev’s, that can be a scary feeling. Who else do we really want professional approval from, besides our peers in the dev space? (yeah, yeah… we want approval from our users, friends, family, etc… but you get the idea) So putting yourself, through your work, out there directly in front of other dev’s… well I know I would be stressing about it… lol

Nice work Jon (and team)!

 

Oh yeah, you asked for suggestions? What would be cool is an “official” API to the data (say via REST?). That way other people could mash-up the data in new and exciting ways (like say providing alternate view of the videos and session lists… ;)

Data Dude Updated for SQL Server 2008 – VSTS 2008 Database Edition GDR RTW’s (Think “VSTS 2008 Data Dude SP1++”)

Microsoft Downloads - Microsoft® Visual Studio Team System 2008 Database Edition GDR

Version: RTM
Date Published: 11/25/2008
Download Size: 285 KB - 25.8 MB*


In addition to providing support for SQL Server 2008 database projects, this release incorporates many previously released Power Tools as well as several new features. The new features include distinct Build and Deploy phases, Static Code Analysis and improved integration with SQL CLR projects.

Database Edition no longer requires a Design Database. Therefore, it is no longer necessary to install an instance of SQL Express or SQL Server prior to using Database Edition.

…”

This is a major release, with a ton of very cool and must have features. And now that the Database Edition SKU has been merged into the Developer Edition (in short, if you own a license for one you get the other for free)…

Make sure you read the installation notes on the download page, as there are some points you might want to consider.

 

Now if only our SQL Server 2008 license, installation and usage process would move forward… :/

CSI Trick of the day: How do you look “under” black Magic Marker’ed text?

{ride the lighting} - WILL SOMEONE PLEASE SAVE THESE PEOPLE FROM THEMSELVES? THE ABYSMAL STATE OF REDACTION IN THE U.S. MILITARY

“I didn’t know whether to laugh or cry when I saw a recent Army draft intelligence (definitely a misnomer) paper on potential terrorist uses of technology. Mind you, some of the subject matter absolutely bears study. …

But hey guys, if you want to be taken seriously on the subject of technology, you don’t use a MAGIC MARKER to redact someone’s e-mail address before converting it to PDF. Think I’m kidding? The draft report may be found at [GD: click through for the PDF link… I don’t want to leach her traffic…;] Look at the bottom of numbered page “1” and you’ll see an e-mail address clearly “redacted” by a magic marker. I was able to read it without even blowing it up …

…”

image

If you look at the PDF you can easily see “under” that “redacted” text.

My first thought is that this would be cool for a CSI, Law and Order, etc show. Where they have a piece of paper with something black marker’ed and then they use a scanner to look “under it”…

My second thought was, “These guys (our Gov) can’t seem to win.” They try to directly redact on a PDF and mess that up. They then try to be clever and redact it (badly) before it goes into the PDF and we see how well worked…

sigh…

Note #1: You cannot remove/replace humans in the work product review process. If humans are going to use the end result work product, then humans need to be in the review process.

Note #2: Reviewing of the work product only counts if you compare the original with the final output product. Reviewing in the middle of the process isn’t good enough. For example, reviewing the paper after the black marker was used, it probably looked pretty good. But was that work product, the redaction, reviewed in its final output form, in the PDF?

Start to finish, “In to Out,” QA is a song my peers know I sing all the time, and are probably as tired of hearing it as I am of singing it, but that doesn’t lessen its importance. In the age of multistep electronic processing, the only way you’re going to have any level of comfort is if you look at the original “In” and compare it to the final “out”. Sure, due to the volume, there’s no way everything can be checked, but that’s not an excuse to not do it at all…

 

Wow, sorry about that… I guess this topic struck a cord or something. ;)

I guess now would be a good time to restate that all my comments are 100% my own, that my employer cannot be held libel for anything I say or write. My opinions are my own and may not be shared by my employer, peers, family, friends, co-workers, people in the same city, state, country or planet.

Tuesday, November 25, 2008

Patterns and Practices Application Architecture Guide 2.0 Pocket Guides Released

CodePlex - patterns & practices: App Arch Guide 2.0 Knowledge Base

“The Pocket Guides in the Application Architecture Pocket Guide Series are modular, focused guides that provide overviews and prescriptive guidance for a particular topic.

Agile Architecture Method Pocket Guide

The Agile Architecture Method Pocket Guide provides an overview and prescriptive guidance for the Agile Architecture Method.

 

Web Application Architecture Pocket Guide

The Web Architecture Pocket Guide provides an overview and prescriptive guidance for designing Web applications on the .NET platform.

 

Mobile Architecture Pocket Guide

The Mobile Application Architecture Pocket Guide provides an overview and prescriptive guidance for designing mobile applications on the .NET platform.

 

RIA Architecture Pocket Guide

The RIA Architecture Pocket Guide provides an overview and prescriptive guidance for designing RIA applications on the .NET platform.

 

Rich Client Architecture Pocket Guide

The Rich Client Architecture Pocket Guide provides an overview and prescriptive guidance for designing rich client applications on the .NET platform.

 

Service Architecture Pocket Guide

The Service Architecture Pocket Guide provides an overview and prescriptive guidance for designing services on the .NET platform.

…” [Post leach level: 90%]

image

image

Pocket Guide = 100+ Page’s… (so a big pocket… like a cargo pocket on my old BDU’s… ;)

(via J.D. Meier's Blog - Pocket Guide Series for Application Architecture)

ObjectListView - “How I Learned to Stop Worrying and Love .NET's ListView”

CodeProject - A Much Easier to Use ListView

ObjectListView

  ReportModernExample

All projects suffer creeping featurism. Things that start simple and elegant end up as the "before" image in a weight-loss ad. This control has grown considerably since it was first written. For those in a hurry, this control has the following major features:

  • It can easily display a list of objects in a ListView, including automatically sorting and grouping.
  • It has a version (FastObjectListView) that can build a list of 10,000 objects in less than 0.1 seconds. [v1.9.1]
  • It can easily edit the values shown in the ListView [v1.8].
  • It can trivially produce nice reports from the ListView [v1.7].
  • It supports data binding.
  • It supports millions of rows through ListView's virtual mode.
  • It supports all ListView views (report, tile, large and small icons).
  • It supports owner drawing, including rendering animated GIFs.
  • Its columns can be fixed-width or limited to a minimum/maximum.
  • It shows a "list is empty" message when the list is empty (obviously).
  • Its row height can be explicitly set.
  • It supports user selection of visible columns by right clicking on the header [v1.9].
  • It supports columns that automatically resize to fill any unoccupied width [v1.10].

This control has many features. If you want to do something with a ListView, this code probably has some code to help you do it.

This control now has its own website, hosted by SourceForge: ObjectListView - How I Learned To Stop Worrying and Love .NET's ListView. This is not an empty shell site. It actually has lots of useful information.

Those who aren't in a hurry can now read the rest of the article. :-)

The ListView "Problem"

I often find that I have a collection of objects which I want to present to the user in some sort of tabular format. It could be the list of clients for a business, a list of known FTP servers or even something as mundane as a list of files in a directory. User interface-wise, the ListView is the perfect control for these situations. However, I find myself groaning at the thought of using the ListView and secretly hoping that I can use a ListBox instead.

The reason for wanting to avoid the ListView is all the boilerplate code it needs to work: make the ListViewItems, add all the SubItems, catch the header click events and sort the items depending on the data type. Each of these tasks is slightly different for each instance of a ListView. If you want to support grouping, there's an even bigger chunk of boilerplate code to copy and then modify slightly.

For a basically lazy person, this is far too much work. ObjectListView was born to relieve this workload.

Unlearn You Must

For those of you who have struggled with a ListView before, you must unlearn. An ObjectListView is not a drop in replacement for a ListView. If you have an existing project, you cannot simply create an ObjectListView instead of creating a ListView. An ObjectListView operates in a more declarative manner than a ListView -- you tell an ObjectListView what you want it to do, and it does it for you.

Beware of ListViewItems. You never need to add ListViewItems to an ObjectListView. If you find yourself adding things to the Items collection, creating ListViewItems, or adding sub-items to anything, then you need to stop — you are being seduced to the dark side. An ObjectListView does all that work for you. You tell it the aspects you want to show on each object (via the OLVColumn objects) and then you give it the list of objects to show.

…”

ObjectListView Project Home

“ObjectListView is a C# wrapper around a .NET ListView. It makes the ListView much easier to use and provides some neat extra functionality.

Larry Wall, the author of Perl, once wrote that the three essential character flaws of any good programmer were sloth, impatience and hubris. Good programmers want to do the minimum amount of work (sloth). They want their programs to run quickly (impatience). They take inordinate pride in what they have written (hubris).

ObjectListView encourages the vices of sloth and hubris, by allowing programmers to do far less work but still produce great looking results.

You can download a demonstration of the ObjectListView in action. This demo includes ObjectListView.cs which is the file you need to include in your project.

Once you have the demo, you might want to look at the Getting Started and the Cookbook sections. …”

It’s a good day when I find a new (well, okay it’s been around for a couple years… so it’s new to me… ;) WinForm ListView. Like many .Net developers I have a love/hate relationship with the ListView, so am almost always willing to enhance/replace it with a better implementation. From what I’ve read, ObjectListView looks to be easily worth a look. It’s been active for a couple years, has a nice level of doc’s, it’s free and best of all the source is available. And any project that tries to help you from “being seduced to the dark side” can’t be all that bad? 

 

(via WindowsClient.NetArticles [GD:There’s no permalink to the WindowsClient.Net entry… :( ] )

Monday, November 24, 2008

TFS 2008 (Team Build) Reference Desksheet – Ton’s of TeamBuild Properties, one little sheet…

FreeToDev - Team Foundation Server Build 2008 Reference DeskSheet – V2.0

few minor updates. A handy reference to aid your work with building software in TFS 2008

image

A cool single page TeamBuild 2008 reference sheet, with links (on the group headers) to get more information…