Thursday, April 24, 2008

Pictures from the MVP Summit 2008 (some from Laurent Duveau).

Link to the full album:

MVP Summit 2008

Most notables (click for larger pictures)...

Sea of red

The Montreal MVPs

And their jerseys

Going to the Summit in style

ScottGu

SteveB wearing the Canadian jersey during his keynote thanks to Barry Gervin

The French MVPs had to wear what?  Looks like they weren't happy about it  ;-)

However, we had so much fun with them

Thursday, April 24, 2008 9:47:46 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1]  | 

logoGUVSM.gif

more info at www.guvsm.net

Prochaine assemblée

Mardi 29 avril 2008

Meeting inaugural du groupe d’intérêt Team System

VSTS

Survol de Visual Studio Team System et Roadmap
Conférenciers: Claude Remillard, MVP Team System et Étienne Tremblay, MVP Team System


Étienne Tremblay est un architecte sénior chez EDS Canada avec plus de 15 ans d'expérience en développement d'applications d'entreprises. Il a travaillé dans les industries minières et manufacturières et récemment, la gestion de configuration et outillage de développement. Il a développé un système pour surveiller la qualité dans la fabrication de voitures, un système de gestion de réclamations, un système d’opération et de surveillance de mines et un système de gestion de d'itinéraires en utilisant des modèles d'application n tiers. Tout au long de ces années il est devenu un expert en matière d'outillage de cycle de vie de développement de logiciels et a été l'un des architectes de la solution corporative Visual Studio Team System chez EDS. Cette initiative l’a amené à voyager autour du monde pour donner de la formation adaptée aux développeurs .NET d'EDS. Il a été un conférencier lors de plusieurs conférences internationales en 2005, 2006 et 2007 sur Visual Studio. Il a aussi donné une conférence virtuelle pour MSDN sur « comment adopté Visual Studio Team System ». Il représente EDS sur le Conseil Consultatif de Microsoft pour Team System. Il a été attribué le statut de MVP Team System en 2006 et 2007 et a été choisi comme juge pour la compétition internationale de Design de Logiciel de l’Imagine Cup 2007 en Corée du Sud.

M. Rémillard est co-fondateur et président de la firme InCycle et a obtenu le statut de MVP Team System en 2007. Au cours de ces dernières années, M. Rémillard présente régulièrement a diverses tribunes au sujet des meilleures pratiques en gestion du cycle de vie des applications, tout autant pour le compte d’InCycle que celui de Microsoft. Précédemment, il a occupé divers postes de direction dans le secteur du développement logiciel. Il a notamment été président d’Acceleron, une société de développement de logiciels qui a mis au point et commercialisé une solution de gestion des dépenses pour laquelle près d’un demi-million de licences ont été vendues dans le monde.

Thursday, April 24, 2008 8:16:03 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

Learning WCF

Author: Michele Leroux Bustamante
Publisher: O'Reilly Media, Inc.
ISBN-10: 0596101627
ISBN-13: 978-0596101626
Retail Price: $44.99 US, $58.99 CDN
Publication Date: May 2007
Softcover: 582 pages
Online information: Table of contents, source code
URL: http://www.oreilly.com/catalog/9780596101626/
Book URL: http://www.thatindigogirl.com/

Windows Communication Foundation (WCF) is a set of .NET technologies for building and running connected systems. It unifies various technologies previously available like Web Services and .NET Remoting into a single programming model and let you build Service Oriented Architecture (SOA) applications.

“Learning WCF” is a book targeted at experienced .NET developers wanting to learn WCF from scratch. In the first chapters, the author explains what services are and the whole idea behind SOA. She then guides you thru the WCF path learning about contracts, bindings, hosting, concurrency, reliability and security. You’ll find plenty of code examples and each one is explained in details. To help you apply the WCF concepts, each chapter has a lab that you can just read or experiment with by downloading the source code. The approach in these labs is a “step by step” one and often, the author guides you thru one path then backtracks and explains you a different way to accomplish the same thing. This is very useful to get a good understanding of the technology.

Even thought the title has the word “learning” in it, the book will get plenty of mileage serving as a reference book in the future and don’t think that it’s a “light” book; most of the concepts explained are advanced ones. I often had to reread complete sections not because they were poorly written but because of the vast amount of information provided.

WCF is vast and learning it is not a simple task but thanks to Michele Leroux Bustamante’s “Learning WCF”, this process is a lot simpler. High praises for “Learning WCF”.

Thursday, April 24, 2008 7:19:55 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

If you're planning to attend the Patterns & Practices Quebec City Summit but haven't registered yet, do it right away!  I just heard from Joel Quimper that the Summit is almost sold out, less then a dozen seats are still available.

http://www.pnpsummit.com/queb2008.aspx

Thursday, April 24, 2008 12:05:18 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

I was trying to explain quickly what Code Access Security is to someone when I found this blog entry from Emmet Gray:
http://home.hot.rr.com/graye/Articles/CodeAccessSecurity.htm

In a nutshell, he explains why your code won't run if run from a network share and what are CAS, mscorcfg.msc and caspol.exe.  It's a great 5 minutes CAS primer.

Thursday, April 24, 2008 11:24:44 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

If you created reports using Visual Studio 2008 and Crystal Reports 2008 Basic (the one included with VS) and you want to deploy your app on a server, you'll also need to deploy the CR runtime.  Your first reaction might be to go to the Business Objects Website and download the CR 2008 runtime.

http://support.businessobjects.com/downloads/runtime.asp#08

Well, that's the wrong runtime.  That one is for the "full" version of CR 2008 (version 12).  The CR included with VS 2008 is the basic one (version 10.5).

So where do I get the basic (10.5) runtime?  It's right on your machine:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5

 

Thursday, April 24, 2008 10:14:27 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Wednesday, April 23, 2008

Ray Ozzie hinted it at his Mix08 keynote

The name: Live Mesh
https://www.mesh.com/Welcome/Welcome.aspx

What it is:
http://dev.live.com/blogs/devlive/archive/2008/04/22/279.aspx

Ray Ozzie introducing it on Channel 9:
http://channel9.msdn.com/ShowPost.aspx?PostID=399578

The architecture:
http://channel9.msdn.com/ShowPost.aspx?PostID=399577

Hands on demo on Channel 10:
http://www.on10.net/blogs/nic/Hands-on-with-Live-Mesh/

Must now read, watch, try and formulate an opinion  ;-)

Wednesday, April 23, 2008 6:09:06 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Tuesday, April 22, 2008

If you like TheRegion.com, home of the Microsoft Regional Directors, you'll love this Vista Gadget created by Adi Saric.

Download it here:
http://gallery.live.com/LiveItemDetail.aspx?li=d73ec145-95a0-4f62-b8a4-be0c8ac4f21e

 

Tuesday, April 22, 2008 7:12:36 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

While waiting for Enterprise Library 4, you might want to use Entlib 3.1 with Visual Studio 2008.  All the blocks will work but the VS integration will not.  Does that mean you're stuck editing the config file by hand?  Not at all, all you need is add a few registry entries by downloading a .REG file from CodePlex.

http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=entlibcontrib&ReleaseId=11669

The steps are:

  1. Install EntLib 3.1
  2. Run the .REG file
  3. From the VS command prompt, run devenv /setup

Voilà!

Tuesday, April 22, 2008 8:42:29 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Wednesday, April 16, 2008

With his own VS 2008 hockey puck and Hockey Canada jersey, ScottGu is now an official honorary Canadian!

Wednesday, April 16, 2008 3:43:34 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Monday, April 14, 2008

I finally made it to Seattle.  Why do I say finally?  Well, we were flying American Airlines, you know, the airline that grounded all its MD-80 last week and guess what?  6 MVPs from Montreal were flying on MD-80s Sunday morning flights!  So it's not until Saturday that we had a confirmation from AA that our flights were not cancelled.

Upon arrival, we were looking for a way to get to our downtown hotels when I noticed a couple of stretched limos.  I asked our much the ride was and it would have been the same price as riding a shuttle so guess what?  The Montreal MVPs arrived to their hotels in grand style:


Laurent Duveau, Dominic Sevigny and Etienne Tremblay


Me, Eric Moreau and Mario Cardinal

Monday, April 14, 2008 9:02:32 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Friday, April 11, 2008

I was trying to return a WCF custom FaultException and just couldn’t figure out how to read the custom info I was sending from the client when I found this blog entry from Jean-Paul Smit:
http://bloggingabout.net/blogs/jpsmit/archive/2007/03/21/wcf-fault-contracts.aspx

My comprehension of the whole process was OK, I was just missing one key element and the light came thru when I read this line:

  • in ex.Detail you can find your custom fault contract

Funny how a single line of text in a short blog entry can help you a lot sometimes  :-)

Friday, April 11, 2008 2:09:43 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Thursday, April 10, 2008

Some of the experts at the Launch 2008 Montreal Technical Readiness 2008: Bertrand, Laurent Duveau, Etienne Tremblay and Mario Cardinal.

Very very crowded!

BTW, I forgot to credit Jean-Luc David for the picture in my previous post.  Thanks JL!  Check his pictures here: http://www.flickr.com/photos/jldavid

 

Thursday, April 10, 2008 7:39:48 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Wednesday, April 09, 2008

Some of the experts at the Launch 2008 Montreal Technical Readiness 2008 ATE Booth:

Wednesday, April 09, 2008 7:19:30 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

Interesting numbers on Microsoft Certified Professionals Worldwide:
http://www.microsoft.com/learning/mcp/certified.mspx

 

Wednesday, April 09, 2008 7:13:52 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Sunday, April 06, 2008

In my previous post (LINQ to SQL in multi layered + service apps), I mentioned how LINQ to SQL can be used in WCF apps but how to you deal with concurrency checking?  One way is to use a Timestamp column in your tables.  This is a binary type so how will WCF deal with that?

LINQ to SQL maps the SQL Timestamp type to the System.Data.Linq.Binary type.  If you add a DataMember attribute to a System.Data.Linq.Binary field, it will work.  WCF will not choke on that.  So what does the client sees?  Something like this: Service1.Binary.

This whole thing may leads to a few problems:

  1. Binary stuff is not very interoperable
  2. Service1.Binary != System.Data.Linq.Binary

One solution is to convert the info from Binary to String.  Andrew Siemer posted a couple of extension methods that allow you to do just that.  Check it out:
http://geekswithblogs.net/AndrewSiemer/archive/2008/02/11/converting-a-system.data.linq.binary-or-timestamp-to-a-string-and-back.aspx

Simple and easy and you can convert the data right into your LINQ to SQL queries.

 

Sunday, April 06, 2008 8:00:48 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

In my previous post, one reader commented that the proposed LINQ query would be utterly slow so I did a quick unscientific showdown.

In the left corner: the query returning complex objects from anonymous types:
var q = from o in ctx.Orders
        where o.CustomerID == id
        select new { Detail = o.Order_Details, CustomerID = o.CustomerID, OrderDate = o.OrderDate, OrderID = o.OrderID, ShippedDate = o.ShippedDate, ShipCity = o.ShipCity };

In the right corner: the query returning complex objects from POCOs:
var q = from o in ctx.Orders
where o.CustomerID == id
select new TransportObjects.Northwind.Order {
Detail = o.Order_Details.Select(item => new  TransportObjects.Northwind.OrderDetail {
ProductID = item.ProductID 
}).ToArray(),
CustomerID = o.CustomerID, OrderDate = o.OrderDate, OrderID = o.OrderID, ShippedDate = o.ShippedDate, ShipCity = o.ShipCity};

The weapons: 50,000 orders each having 10 order details rows meaning 500,000 objects.

The result: it's a tie!

Yep, both queries returned the results in about 2 seconds using SQL Server Express 2005 locally (no layers, no WCF etc)

 

Sunday, April 06, 2008 7:41:59 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Friday, April 04, 2008
Friday, April 04, 2008 8:46:36 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Wednesday, April 02, 2008

In my previous post about using LINQ to SQL in multi layered apps, I mentioned that this query was not optimal because I would need to build the POCOs from the objects returned by LINQ.  This would mean that objects would be created twice. 

var q = from o in ctx.Orders
        where o.CustomerID == id
        select new { Detail = o.Order_Details, CustomerID = o.CustomerID, OrderDate = o.OrderDate, OrderID = o.OrderID, ShippedDate = o.ShippedDate, ShipCity = o.ShipCity };

Not ideal so I asked if anyone had an idea on how to do that.  Stefan Sedich suggested this query:

var q = from o in ctx.Orders
where o.CustomerID == id
select new TransportObjects.Northwind.Order {

Detail = o.Order_Details.Select(item => new  TransportObjects.Northwind.OrderDetail {
ProductID = item.ProductID 
}).ToArray(),

CustomerID = o.CustomerID,
OrderDate = o.OrderDate,
OrderID = o.OrderID,
ShippedDate = o.ShippedDate,
ShipCity = o.ShipCity};

Cool!  The query returns the Order complex object with the Detail property filled from orders Details.

Thanks a lot Stefan!

 

Wednesday, April 02, 2008 7:04:54 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Tuesday, April 01, 2008

Enterprise Library 4.0 March 2008 CTP was released yesterday.

http://www.codeplex.com/entlib

Tuesday, April 01, 2008 8:03:08 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

Theme design by Jelle Druyts