free web page counters
Welcome to MSDN Blogs Sign in | Join | Help

Pre-register to get certified at TechEd EMEA 2008 Developers

Currently already more than 200 Belgians and Luxembourgers have registered for TechEd Developers in Barcelona from 10 to 14 November. The certification group of Microsoft Learning just sent us a notice on their onsite testing offer that I want to share with you.

You can benefit from an exam voucher with 25% discount and a free retake (“Second Shot”) if you don’t pass the exam at your first try. If you pass your exam at the conference, you also get an extra free eLearning voucher. Plus, the first people to get certified will receive a t-shirt “Certified at TechEd 2008 Barcelona”. To receive your voucher code for pre-registration, please send an email to v-tries@microsoft.com.

Visual Studio Team System 2010 Week on Channel 9

This week is Visual Studio Team System 2010 week on Channel 9! Brian Keller and friends will have 20 videos going live this week featuring interviews with the Visual Studio Team System product team including several screencast demonstrations of the latest bits.

Posted by tommer | 0 Comments

Patrick Tisseghem, We Will Never Forget You

Patrick Tisseghem passed away on Wednesday 3 September 2008 in Goteborg (Sweden). Here is a copy of the official announcement on the U2U website:

image

It’s hard to believe and understand. I want to express my deepest sympathy to his family and his co-workers at U2U.

It’s about 9 years ago that I first met Patrick. A humble and friendly man, but at the same time very knowledgeable and smart. Somebody that earns your respect almost instantly. Now 9 years later, Patrick is a worldwide renowned SharePoint expert, has published two books, has given trainings and presentations all over the world. He is a guru in IT. At the same time, he was still the nice guy, always helpful, always prepared to share his knowledge (also with the Belgian developer and SharePoint community); just the same as when I got to know him. It was always nice to have Patrick around for a drink and a chat. He was great company...

Thank you for all that you’ve done, and for all that you are! Thank you for the great times! Thank you, Patrick… We will never forget you!

Posted by tommer | 0 Comments
Filed under: ,

pptPlex: Pan-and-Zoom Presenting with PowerPoint

Microsoft Office Labs have just released pptPlex, a new add-in for PowerPoint that enables a new way of navigating through a presentation. Instead of the traditional transition effects of PowerPoint, pptPlex allows a user to zoom in and out of slides with panning effects between slides as transition.

During Mix Essentials in Belgium, Martin Tirion used a similar effect for his presentation but he developed it completely in Silverlight. Contrary pptPlex is completely integrated in PowerPoint and doesn’t require any coding from you.

Here’s a video the Microsoft Office Labs team created to introduce pptPlex:


Video: An Overview of pptPlex

Please note that software from Microsoft Office Labs are prototypes. As they say themselves: “The prototypes <…> are like "Concept Cars".  They aren't products or features of Microsoft Office.  Don't expect them to work perfectly, or be available here forever.” In the discussion forum

Posted by tommer | 0 Comments

Team Foundation Server integration with Dynamics AX 2009

A few weeks ago we released Dynamics AX 2009. Great news for Dynamics AX developers: they can now leverage Team Foundation Server for Version Control. Here is a preview video that was created before the final release on the version control features in MorphX, the IDE of Dynamics AX. And there is also a whitepaper available describing how to set up the version control system for Dynamics AX using Team Foundation Server.

 

Deferred Loading in LINQ to SQL

After the post on LINQ and Architectures, this time co-author Marco Russo of “Programming Microsoft LINQ” shares information on deferred loading in LINQ to SQL.

The deferred loading of data in LINQ to SQL can operates at two granularity levels: the entity and the entity data member.

LINQ to SQL allows the definition of an entity model that maps relational table rows to instances of a .NET class. One interesting feature is the navigation between entities. For example, you might have the following lines of code:

Order_Det order = db.Orders.Single((o) => o.OrderID == 10251);
decimal total = order.Order_Details.Sum(od => od.Quantity * od.UnitPrice);

By default, each of these lines of code produces a different query to SQL Server. The first line looks for the order 10251. The second line get the lines of the order and calculates its total value. I said “by default” because this is a behavior controlled by the DeferredLoadingEnabled property of the DataContext. If you disable this property with the following line of code:

dataContext.DeferredLoadingEnabled = false;

the access to the Order_Details property will result in an empty list.

Probably it is not common disabling DeferredLoadingEnabled setting. More often, you might find useful to load in memory all the lines of an order together with an Order instance. To do that, you can use the LoadOption setting of the DataContext, which has to be set before querying the Orders in the DataContext instance.

DataLoadOptions loadOptions = new DataLoadOptions();
loadOptions.LoadWith<Order>(o => o.Order_Details);
dataContext.LoadOptions = loadOptions;

As I said, another level of deferred loading is the entity data member. If you have a table with a very large column (for example, a VARCHAR(MAX) one), you can avoid to load that property in memory each and every time you build an instance of the containing entity. To get deferred loading on a data member, you need to declare the storage member of Link<T> type, which is a wrapper over the T exposed type of the data member itself. In the following code we can see the Address property of a DelayCustomer class declared in this way.

[Table(Name = "Customers")]
public class DelayCustomer {
     private Link<string> _Address;
     [Column(IsPrimaryKey = true)]
     public string CustomerID;
     [Column]
     public string CompanyName;
     [Column]
     public string Country;
     [Column(Storage = "_Address")]
     public string Address {
          get { return _Address.Value; }
          set { _Address.Value = value; }
     }
}

The Link<T> wrapper produces an access to the SQL Server database whenever that property is accessed for the first time after the container object initialization. The following code will produce a query to SQL Server for each of the row in the foreach loop.

var query =
     from c in Customers
     where c.Country == "Italy"
     select c;

foreach (var row in query) {
     Console.WriteLine(
          "{0} - {1}",
          row.CompanyName,
          row.Address);
}

Deferred loading of entities and properties is useful to consume less memory when not all the related entities and/or not all the entity data members are accessed frequently.

The Programming Microsoft LINQ book describes deferred loading for both entities and data members. The book is for sale at Belgian IT book stores:

Posted by tommer | 1 Comments
Filed under: , , ,

LINQ to MSI (Windows Installer database)

Bart De Smet is back with a new sample of a LINQ query provider, this time targeting Windows Installer databases, or more commonly named MSI’s. (If you want to learn more about MSI’s, you can also watch the recording of “Building setup packages with WiX”.)

Posted by tommer | 0 Comments
Filed under: , , ,

Coding for Fun: Writing Your Own Windows Live Messenger Agent in 30 Mins

Writing Your Own Windows Live Messenger Agent Fellow Microsoft employee Christof Claessens explains i a MSDN Chopsticks video how you can create your own Windows Live Messenger agent in 30 minutes. Although I didn’t try it myself yet, it looks like something to explore during a rainy weekend…

Posted by tommer | 2 Comments
Filed under: , ,

Paolo Pialorsi on LINQ and Architectures

Paulo Pialorsi is co-author of the book “Introducing Microsoft LINQ”, which is downloadable for free (please note that this book has been written for LINQ beta 1, thus some syntax is obsolete now). However, the Programming Microsoft LINQ book is updated to RTM and has an entire chapter dedicated to LINQ and architectures of multi-tier solutions. Paulo wrote a short text for Microsoft Press on LINQ and Architectures:

One of the most frequent questions I get while talking about LINQ with other people is: “What’s the role of LINQ in a distributed architecture?”

In fact a lot of developers think about LINQ as an ORM replacement, however LINQ is not just an ORM, and LINQ is not just LINQ to SQL. LINQ is a new programming model, with a declarative approach, realized through language extensions. LINQ to SQL is just a LINQ flavor, targeting the needs of people who want to have a “simple” and easy to use ORM for Microsoft SQL Server only persistence storage.

From an architectural point of view, LINQ should find its place in many of the common layers of n-tier architectures. For instance you can leverage LINQ as a data layer replacement, using LINQ to SQL or LINQ to Entities. By the way the data layer should continue to return and manage your own domain model entities, in order to be persistence ignorant and independent. Then you can use LINQ to Objects into the business layer, in order to query and handle your domain model entities. Sometime could be useful to be able to query IQueryable<T> set of data within the business layer, in order to leverage LINQ providers (LINQ to SQL, LINQ to Entities, LINQ to YourPersistenceInfrastructure J, etc.) and extracting from the storage exactly what is needed, even if transparently for the business layer. However keep in mind that each query provider can handle a different set of expressions while visiting the expression trees corresponding to LINQ queries to execute. Working with IQueryable<T> in layer higher than the data layer, could be prone to issues and you should take care of this while defining your solutions’ architecture.

In the presentation layer you should leverage LINQ to SQL or LINQ to Entities, just in case you are working on a two-tier (client/server) solution. On the other side you could use LINQ to Objects in order to manage entities and also to make custom data presentation, using anonymous type projection, in order to build “on the fly” Data View Objects to bind to the UI.

The Programming Microsoft LINQ book is for sale at Belgian IT book stores:

Posted by tommer | 0 Comments

Addictive Games in Silverlight 2: Shock and Chip-8 Computer Emulator

image Nikola Mihaylov has an interesting blog on Silverlight, but also maintains a website containing nice stuff: Nokola. Warning: checking out the games on his website, may cause loosing precious time.

Nikola must be a very nice guy, as he is also providing the source code of the games as a download. The first game is "Shock", a variant of the Breakout game (see the image at the right). A second Silverlight application is a Chip-8 Computer Emulator with several 1970's games like Pong, Bomber, Alien, etc... Both are Silverlight 2 applications (currently working on beta 1 of Silverlight 2).

Lastly, he's also publishing links to interesting tutorials about Silverlight on his website.

Don't blame me if your work isn't finished in time. ;-)

Posted by tommer | 1 Comments
Filed under: , , ,

Several European Microsoft engineers talking about their jobs

In a previous post I wrote about Microsoft's European Development Centers. There are several videos on their International Tech Jobs blog that might give you some insights on what they do in those Microsoft development centers and how they are tackling specific software development challenges:

Posted by tommer | 3 Comments

Microsoft Development Centers in Europe?!?!

In previous posts, I sometimes mentioned Belgians working at Microsoft in Redmond. But did you know that we also have development centers in Europe? There are teams in:

So you thought all our code was developed in the US? You can keep up-to-date on how it is to work in those Microsoft development centers, by reading their International Tech Jobs blog.

Posted by tommer | 2 Comments
Filed under:

Microsoft releases Source Analysis for C#

Last Friday we announced the public release of Microsoft Source Analysis for C#. This tool was originally only used by Microsoft's development teams internally (known as StyleCop) to enfore a common set of best practices for layout, readability, maintainability and documentation of C# source code.

Microsoft Source Analysis for C# is hosted at MSDN Code Gallery, where you can find more useful resources for developers.

PS. Did you know that fellow Belgian Steven Wilssens is one of the program managers behind MSDN Code Gallery?

Posted by tommer | 1 Comments
Filed under: ,

First Public Release of Pex, Automated Exploratory Testing for .NET

Nikolai Tillman and Peli de Halleux announced the first public release of Pex (under Microsoft Research license). From the website:

Pex (Program EXploration) is an intelligent assistant to the programmer. From a parameterized unit test, it automatically produces a traditional unit test suite with high code coverage. In addition, it suggests to the programmer how to fix the bugs. Watch the screencast!

Pex generates Unit Tests from hand-written Parameterized Unit Tests through Automated Exploratory Testing based on Dynamic Symbolic Execution.

PEX
See the full-size image at the Pex Website

You can download Pex here. It's recommended to have Visual Studio 2008 Professional to try out Pex.

As you might remember, Peli de Halleux is a Belgian guy that moved to Redmond in October 2004 to work for Microsoft . Before that he developed the first versions of the MbUnit unit testing framework as a hobby project. And of course he was also known for the different Reflector add-ins that he built.

Steve Ballmer Keynote Video at Mix Essentials

Steve Ballmer - CEO of Microsoft Corporation - closed the Belgian Mix Essentials conference with a keynote on Microsoft's vision on the evolving web and world. At the end of the keynote, Steve answered questions from the audience during an open Q&A session.

This video is recorded at the Mix Essentials conference on 24 April in Belgium.

Posted by tommer | 0 Comments
Filed under: ,
More Posts Next page »
 
Page view tracker