Monthly Archives: September 2011

Check out the Number of Sessions and Speakers for NextWeeks SOLD OUT SharePoint Conference 2011 Anaheim Convention CenterCalifornia

“Searching for Sarah” – Why Booz & Co. chose FAST Search 200
“We’re Going two-way Baby!” How Vancity Took its Intranet From Static to Social 200
36 Terabytes: How Microsoft IT Manages SharePoint in the Enterprise 200
A Closer Look at SQL and SharePoint: Tips and tricks from the field 300
Access & Office 365: Rapid Cloud App Development on Office 365 with Access Services 300
Access Services – Everything You Wanted to Know 300
Advanced BI Visualizations using Visio Services 300
Advanced Scorecarding and Dashboards with Excel, Visio and PerformancePoint Services 300
Advanced SharePoint Data Access with Silverlight 400
Advanced Windows PowerShell for SharePoint 2010 IT Professionals 300
Application Lifecycle Management: Automated builds and testing for SharePoint projects 300
Applying a Brand to your SharePoint Web Site 200
Architecting and Automating SharePoint Governance 200
Are Office Web Apps Enough? Architecting the best Office experience for your customers 300
Attractive Business Intelligence: Dashboards, Pivots, Scorecards, KPIs, and Reports Using Microsoft SharePoint 2010, Office 2010, PowerPivot, and SQL Server 2008 R2 200
Automating Business Processes with SharePoint 2010 (Part 1) – Using SharePoint Designer, InfoPath and Workflow 300
Automating Business Processes with SharePoint 2010 (Part 2) – Using BCS, Word Automation Services (and More Workflow) 300
Avanade: Unleashing Competitive Advantage through the use of Social Media and Collective Organizational Intelligence 200
AvePoint: Governance Enforcement with out of the box SharePoint and AvePoint’s DocAve Platform 200
BA Insight: Enterprise Search and the Cloud: Unifying Information across SharePoint, O365, LOB systems, and more 300
Backup and Recovery for SharePoint 2010 300
Best Practices Around SharePoint 2010 User Profiles 300
Best Practices for Building your Website for Scale with SharePoint 2010 300
Best Practices for Creating Publishing Page Layouts 300
Best Practices for Deploying Project Server 2010 on SharePoint Farm 300
Best Practices from the Field: Managing Corporate Metadata and Taxonomies with SharePoint 2010 200
Best Practices With jQuery and SharePoint 300
Beyond Ten Blue Links: Why Search-Driven Applications Matter to the Enterprise 200
Beyond the Basics: An Advanced Conversation on FAST Search for SharePoint 2010 300
Branding and Customizing My Sites with SharePoint 2010 300
Branding SharePoint Online Sites 200
Building Business Applications on Azure using Office365 and Windows Azure AppFabric 300
Building Custom In Place Records Management Solutions 300
Building integrated SharePoint 2010 and CRM Online solutions. 300
Building Language-Based SharePoint Internet Sites Using Variations 300
Building Office Solutions that Leverage Duet Enterprise 300
Building Self-Service BI Applications using PowerPivot v2 “Denali” for Excel 2010 and SharePoint 2010 300
Building Visually Compelling BI Experiences with PowerPivot 300
Business Intelligence Overall Architecture 300
Campaign and Experience Management on a SharePoint 2010 Website 200
CANCELLED – Visual ECM: Building Dashboards to Manage Content More Effectively 300
CANCELLED – Windows 8: Developing Metro Style Applications for SharePoint 300
Capacity Management for SharePoint 2010 300
Change Management: Preparing End Users for SharePoint 2010 200
Clearing away the Clouds: What’s Hype and What’s Real in Cloud Adoption, Today and Tomorrow 200
Cloud Packing: Preparing for the Move into SharePoint Online 300
CMIS Deep Dive and Roadmap 300
Collaborative Decision Making: How the Convergence of Collaboration Software and Business Intelligence can Optimize Decision Making in Your Organization 200
Communication and Collaboration across Baker Hughes 200
Content Acquisition for Search in SharePoint 2010 200
Content Query WebPart: A Deep Dive on SharePoint’s Swiss Army Knife WebPart 300
Content Targeting with the FAST Search Web Part 300
Creating a FAST Search Driven Windows Phone 7 Application for a SharePoint Internet Sites 300
Creating an Easy To Use File Plan Builder for Your SharePoint Records Center 300
Creating Awesome Dashboards with SharePoint 2010, Infopath 2010 and SharePoint Designer 200
Creating Beautiful and Engaging Web Sites with SharePoint 2010 200
Creating Vivid BI reports with “Project: Crescent” for SharePoint 200
Customer Spotlight: Reduce Costs and Increase Reliability by Migrating from a Legacy ECM System to SharePoint 2010 200
Customer Spotlight: Saying Goodbye to Paper – Building a Multi Million Document Repository to Save Time and Money 200
Customizing Content Publishing Approval Workflows 300
Data Access with Search and the KeywordQuery API 300
Deep Dive on Developing Custom Service Applications 400
Deep Dive on SharePoint Ribbon Development & Extensibility 400
Deep Dive: Excel Services and PerformancePoint Services Administration and Troubleshooting 400
Deep Dive: Implementing Kerberos for your BI Applications 400
Delivering Data as a Service using Azure platform and self service BI at Microsoft 200
Deployed SharePoint Search? What’s next? 200
Deploying SharePoint 2010 as a Mission Critical Application 300
Deploying SharePoint 2010 in Private, Public and Hybrid Cloud Architectures 200
Developing and Extending Enterprise Content Management features 400
Developing and Getting the Most from Sandboxed Solutions 300
Developing and Managing SharePoint Solutions with Visual Studio 200
Developing Cloud-Based Applications for SharePoint Online using Windows Azure 200
Developing LOB Connectors in SQL Azure and Business Connectivity Services 300
Developing SharePoint applications with HTML5 and JQuery 300
Developing Windows Phone 7 Applications for SharePoint 300
Document Management: Planning For Success 200
Documents are boring but document solutions are not!! 300
Drive Adoption and Get Users Excited About SharePoint 100
EMC Corporation: Proven Best Practices for Virtualized SharePoint and FAST Search 200
Enabling the new Self-Service Alerting with SQL Server “Denali” Reporting Services 300
End-to-end BI Security Implementation Best Practices 300
Enforce Governance by Automating Site Provisioning in SharePoint 2010 300
Enliven Customer Web Sites With Excel Services Web Parts and Embedding 200
Enterprise Deployment Considerations for the User Profile Service Application 400
Everything you Need to Know About Security and FAST Search for SharePoint 2010 300
Exploring the Office Developer Story in Microsoft Office 365 300
Extending SharePoint 2010 Health & Monitoring 300
Extending SharePoint 2010 to your customers and partners 300
Extending the reach of SharePoint in multi-vendor environments 200
FAST Search for SharePoint 2010 – Hello World 200
From Web Content Management to Customer Experience Management: How to Optimize External Web Sites and Deliver a Search-Driven Experience 200
Generating Business Documents using Word Automation Services and Open XML 300
GimmalSoft: Managing Electronic Records within SharePoint 2010, including DoD 5015.2 200
Got iPads, Android tablets, smart phones and Windows devices? Managing Office 2010 endpoints in an Interoperable and multi-device World 300
Hallmark Retail Connect ® – Connecting Hallmark Gold Crown Stores 200
Handling Explosive Content Growth: Advanced Strategies for Managing Retention and Disposition in SharePoint 400 Bring SharePoint to Outlook and Lotus Notes 200
Hit The Ground Running with Claims Authentication in SharePoint 2010 300
How Del Monte Foods has kept things fresh through 4 versions of SharePoint 200
How eBay Successfully Upgraded their Intranet to SharePoint 2010 200
How FAST Search Empowers Information Discovery and Intranet Search at Microsoft 200
How Gaming Giant, EA Drove Culture Change with SharePoint 2010 100
How General Mills Made Enterprise Search Personal 200
How is Duet Enterprise helping customers in the real world? 200
How Microsoft Builds, Deploys and Runs SharePoint Online: A Peek Behind the Curtain 300
How Microsoft Built Academy, it’s Social Video Platform 300
How SharePoint is Being Used to Manage Content at the World’s Largest Airline 200
How to Effectively Deploy Updates in SharePoint 2010 300
How Turner Broadcasting System Turned On Employee Engagement With SharePoint 2010 200
How We Built Community Site 300
HP: Private Cloud Collaboration with HP Enterprise Cloud Services 200
Identity in SharePoint Online 200
Implementing an OnPrem/Office365 Hybrid Architecture 200
Implementing FAST Search for SharePoint 2010 at the IMF 200
InfoPath + SharePoint Designer + Office 365 = Forms in the Cloud! 200
InfoPath 2010 – Best Practices for Design and Performance 200
InfoPedia: A High Performance, Self-Service knowledge sharing and Enterprise Content Management Solution 300
Instrumentation and Debugging on Premises and in the Cloud 300
Integrating and Synchronizing SharePoint Metadata with other Metadata Stores and Environments 400
Integrating Commerce Server with a SharePoint Internet Site 300
Integrating Microsoft Office 2010 and Windows Phone 7 300
Integrating Microsoft Visio Services with System Center for BI 300
Integrating SharePoint Social features into your Windows Phone 7 Application 300
Integrating Social Networking Sites with a SharePoint Internet Site 300
Introduction to SharePoint 2010 Development 200
IW (heart) Office. Helping Information Workers Love Office Even More 300
K2: Is Workflow and Process Automation the Key for Gaining More Value from SharePoint? 200
Knowledge Communities: Unlocking SharePoint 2010′s Hidden Value 200
KnowledgeLake: Getting Ready for the Cloud – Is your Content Strategy Partly Cloudy? 200
Landing SharePoint Data in Office Client Solutions 300
Leveraging AlwaysOn in SQL Server Denali with SharePoint 2010 200
Leveraging Project 2010 with Office 365 for Project Management Success 200
Localizing SharePoint Solutions/Lösungen/פתרונות/解决方案 300
Make Your Search Social with FAST Search! 200
Making Enterprise Search a Strategic Platform Within an Organization 200
Making SharePoint 2010 Collaboration Rock by Increasing Findability 200
Making the Most of Search in SharePoint Online 300
Making the Most of Your Content: Combining ECM and Enterprise Search 300
Making your SharePoint Websites Sing on Smartphones 300
Managing Innovation with SharePoint & Project Server 2010 300
Managing LOB Data with BCS & SharePoint Search 300
Measuring the Value of Your SharePoint 2010 Investments 200
Metalogix: At Last – Size Doesn’t Matter! Considerations for building a SharePoint ECM platform to accommodate TBs of Content 200
Microsoft Project and Project Server 2010 Overview 200
Microsoft’s Vision and Strategy for the Future of Business Intelligence 200
Migrating & Organizing Content: Unleashing the Value of Automatic Placement 300
Migrating from 2007 to SharePoint 2010 – How to do it “Search First” 200
More Than My: How Microsoft is Driving Social Adoption and Intranet Transformation 200
Moving beyond Service Applications to build a social ecosystem 300
Multi-Tenancy with SharePoint 2010 300
NetApp: Addressing the Challenges of SharePoint Data Management Efficiently 200
Neudesic: Space X Launches SharePoint 2010 with Neudesic Pulse for Out of this World Business Collaboration 200
Nintex: Nintex Workflow End-to-End Solutions: One Big Demo, Live Without a Net 100
Notes From the Field: Sizing and High Availability with FAST Search Server 2010 for SharePoint 300
One Content Library, Multiple Websites with SharePoint 2010 at D&M Holdings 200
OpenText: Connecting SharePoint to your Information Governance Strategy 100
Oranges, Rocket Ships and Six Pack Abs – What your SharePoint Corporate Portal is Lacking 200
Out of the Sandbox and into the cloud: Build your next SharePoint app on Azure 400
Overview – Enterprise Search in SharePoint 2010 200
Overview of Business Intelligence in Office and SharePoint 2010 200
Overview of Duet Enterprise for SharePoint 2010 and SAP 200
Overview of ECM in SharePoint 2010 200
Packaging SharePoint Branding Elements for Deployment 300
Performance Testing and Optimizing SharePoint Websites 300
Performance Tuning SharePoint 2010 300
Planning and Implementing SharePoint 2010 Upgrade and Migration 300
Planning and Managing Sandboxed Solutions and Services 300
Planning for the Lifecycle of Your SharePoint 2010 Website 200
Planning Your Approach to SharePoint ECM 200
Planning your SharePoint 2010 Topology 300
Practical Approach to SharePoint Governance: The Key to Successful SharePoint 2010 Solutions 200
Project 2010 and SharePoint 2010 Better Together 200
Project 2010 Development for SharePoint Developers 300
Putting Search on the Map with FAST Search For SharePoint 300
Quest Software: SharePoint Migration, Implementation and Customization Notes from the Field: Observations on What Not to Do 300
Real World Examples for Virtualization, Configuration, and Security with FAST Search 300
Relevance and Ranking in SharePoint Search 2010 200
Remote BLOB Storage with SharePoint Server 2010 Deep Dive 300
SAP: Bring the Power of SAP Applications to Microsoft SharePoint Platform 100
Scaling SharePoint Document and Records Centers to Terabytes and Beyond 300
Search Engine Optimization on a SharePoint 2010 Internet Site 300
Searching Video with FAST Search for SharePoint 2010 300
Security Design with Claims Based Authentication 400
Selecting a Records Management Strategy: What’s Best for You? 200
Service Application Federation with SharePoint 2010 300
Setting up and Configuring PowerPivot v2 for SharePoint in SQL Server 2008 R2 and “Denali” 300
Seven Habits of Highly Effective SharePoint Developers 200
SharePoint 2010 Planning and Adoption Framework 200
SharePoint 2010 Solutions for Public Sector 200
SharePoint 2010: Improving Productivity with Social 200
SharePoint and Friends: The Future of Productivity 100
SharePoint Designer 2010- A Tool for End Users? 200
SharePoint Infrastructure for Geographically Distributed Organizations 300
SharePoint Internet Sites that Integrate FAST Search 300
SharePoint Lifecycle Management Solution with Project Server 200
SharePoint Online Overview 200
SharePoint Workflow Best Practices 300
SharePoint, Azure and Claims Integration for Developers 400
Solving Agile and PMO Problems by Integrating Project Server 2010 with Team Foundation Server 2010 200
Solving Enterprise Search Challenges with SharePoint 2010 300
Solving Office Compatibility to accelerate Office deployments 200
Step-by-step: Building Search Driven Applications That Matter 300
Tackling the Challenges of a Multinational Organization with Collaboration 200
Taxonomy Based Content Targeting for a SharePoint Internet Site 300
TELUS Goes Social: How a Canadian Telecom Changed the Learning Model 200
The City of SharePoint: What SharePoint Planners Can Learn From City Planning 200
The Convergence of ECM and Knowledge Management: Strategies for Success 200
The End to End Guide to Upgrading Custom Code from 2007 to 2010 300
The Forrester Survey: Best Practices in SharePoint 2010 Adoption and Migration 200
The Inside Scoop: How Microsoft Architected an Enterprise Scale Records Management Solution 300
The Inside Scoop: How Microsoft BI Solutions are helping Seattle Public Schools 200
The Inside Scoop: How Microsoft Built a Scale Lab for 120 Million items 300
The Inside Scoop: How Microsoft IT Created their CIO Scorecard Using Self-Service BI 200
The Inside Scoop: How Microsoft IT Enables Information Discovery with Managed Metadata 300
The Inside Scoop: How the SharePoint BI platform was used to create stunning dashboards at the Cherwell District Council 200
The Inside Scoop: How the SharePoint Dev Team Troubleshoots Performance and Reliability 400
The Nuts and Bolts of Managing Enterprise Content Types At Scale 400
The Official Guide to Troubleshooting FAST Search for SharePoint 2010 300
Tips and Tricks: Configuring SQL Server 2008 R2 Reporting Services with SharePoint 2010 300
Tips and Tricks: Effectively manage your SharePoint Farm with BI 300
TITUS: Using Claims for Authorization in SharePoint 2010 300
True Business and IT Partnership: Best Buy Governance and SharePoint 2010 200
Understanding SharePoint Administration Part 1 200
Understanding SharePoint Administration Part 2 200
Upgrading SharePoint Solutions and Features – A Closer Look 300
Upgrading User Profiles and My Sites from SharePoint 2007 to SharePoint 2010 300
User-Centric Design for Deploying FAST Search Server 2010 for SharePoint 300
Using SharePoint to Drive Adoption of Records and Information Management – The Charter Communications Story 200
Using the Business Decision Appliance to Enable Self-Service BI in any Organization 200
Visio Services – Creating a No-Code Visio Services Dashboard using Office 365 200
What’s new for SQL Server “Denali” Analysis Services and PowerPivot v2 200
What’s new for SQL Server “Denali” Reporting Services 200
Why Your Next SharePoint Deployment Should be Virtualized 300
With SharePoint 2010 Your Extranet is Easy 200
Work Smarter, not Harder! Top Ten Tips for Improving Productivity with SharePoint 200

Find me at SharePoint Conference

Hopefully your bags are packed and you are ready to head to the Anaheim for the sold out SharePoint Conference next week. I know I am excited. Quickly I wanted to give you a list of my sessions and other events where you can stop by to say hello or heckle (whichever you prefer) next week.


All three sessions will be a good old time. My partner in crime Todd Klindt and I will do our best to entertain and hopefully teach you something along the way.

  • Understanding SharePoint Administration Part 1 Monday 11 AM Marriott: Platinum Ballroom 1-5
  • Understanding SharePoint Administration Part 2 Monday 3:45 PM Marriott: Platinum Ballroom 1-5
  • Planning and Implementing SharePoint 2010 Upgrade and Migration Tuesday 3:15 PM Marriott: Platinum Ballroom 1-5

Post Conference:

No Todd just me but it is a special all day deep dive into SharePoint 2010 administration on Friday. Should be lots of fun. I plan to beat as much knowledge into your heads as possible. The post conference is an additional registration. For more info check out

Free Books:

Who doesn’t love free books. Todd, Steve, and I will be signing our SharePoint 2010 admin book at a few different places during the week.

  • Monday between 6:30 and 8:30pm we will be at the ESPN Zone at the Idera party signing books.
  • Wednesday at 3 PM we will be at the Rackspace booth. They bought a lot so come get one.
  • Wednesday evening during the Reception in the Exhibit hall we will be signing a few more books at the Rackspace booth.

Random events:

  • Tuesday from 12 to 12:30 Todd and I will be at the Quest booth doing some crazy thing. Some game show. Should be fun and requires audience participation.

At the booth:

SharePoint911 will have a booth as always. Come say hello. We have a whole bunch of fun people to meet there. For more info or pretty pictures of the team click here.

  • Randy Drisgill – MVP
  • Phil Jirsa
  • Todd Klindt – MVP
  • Jennifer Mason
  • Jonathan Mast
  • Raymond Mitchell
  • Larry Riemann
  • Laura Rogers – MVP
  • John Ross – MVP
  • Nicola Young
  • Shane Young – MVP

Even more important? At the booth we will be giving away stress reliever Cows, and two new mystery animals. J Very exciting. Be sure to Moo at anyone in the booth to get the mystery animals.

See ya there!

Shane – SharePoint Consulting

[Expired] 3x 50GB Binverse Usenet Accounts

Windows Guides has teamed up with Binverse to provide 50 GB Premium Usenet accounts three (3) Windows Guides readers. If you’d like to find out more about Binverse, please head to their homepage: Binverse. They offer free trials if you want to test out their service. What is Usenet? If you’re unfamiliar with Usenet, here’s a [...]

[Competition] 3x 50GB Binverse Usenet Accounts

Windows Guides has teamed up with Binverse to provide 50 GB Premium Usenet accounts three (3) Windows Guides readers. If you’d like to find out more about Binverse, please head to their homepage: Binverse. They offer free trials if you want to test out their service. What is Usenet? If you’re unfamiliar with Usenet, here’s a [...]

Future mocking revisited

Previously , I have posted how it is possible to mock a method without passing the dependency through a constructor / calling method. This is something true for third party controls and tools where we have little control over how its created.

You can find more on that in the following post:


Now the feature that lets you mock  members without passing the dependency, we call it Future mocking. However it does not mean that Justmock ignores the instance completely but rather there is a workflow where it checks if there is no match for instance (of course it is a profiler intensive feature) and mocked within current context it tries to match any setup that is meant for.

One of the best example that I recently encountered through a community feedback that describes a UI case where based on some action against the form, raises an event which needs to be handled in a specific way in the unit test to assert the expected value.

Therefore, we have a Form class where the constructor looks something like:


  2. public Form2()
  3. {
  4.     InitializeComponent();
  6.     this.service = new EntryService();
  8.     service.Saved += new EventHandler<EntrySavedEventArgs>(service_Saved);
  9. }            


We have a SaveToDatabase method that on the other hand invokes the Save method in EntryService and finally raise an event when successfully saved.


  1. public void SaveToDatabase(string value)
  2.     {
  3.         try
  4.         {
  5.             this.service.Save(value);
  6.         }
  7.         catch (DuplicateEntryException ex)
  8.         {
  9.             MessageBox.Show("Entry Duplicated " + ex.DuplicatedValue);
  10.         }
  11.         catch (ArgumentNullException)
  12.         {
  13.             this.label1.Text = "Valeur manquante";
  14.         }
  15.     }


Here  for now lets consider our event target will have just the following block:


  1. void service_Saved(object sender, EntrySavedEventArgs e)
  2. {
  3.     this.label1.Text = "Saved string : " + e.EntryValue;
  4. }


In the first snippet we can see that EntryService is created in  the constructor of Form2 class and therefore not injected via some external class/agent. The thing that the particular user wanted to do is to raise the target event with the expected EntryValue that is passed during SaveToDatabase call. So the specification for it that verifies such follows:


  1. [Subject(typeof(Form2))]
  2. public class when_save_to_database_is_invoked_on_form
  3. {
  4.     Establish context = () =>
  5.     {
  6.         IEntryService serviceMock = Mock.Create<EntryService>();
  7.         Mock.Arrange(() => serviceMock.Save(valueToSave)).Raises(() => serviceMock.Saved += null, new EntrySavedEventArgs(valueToSave));
  8.         sut = new Form2();         
  9.     };
  11.     private Because of = () =>
  12.     {
  13.         sut.SaveToDatabase(valueToSave);
  14.     };
  16.     private It should_assert_that_label_contains_expected_valueToSave = () =>
  17.         sut.label1.Text.ShouldEqual("Saved string : " + valueToSave);
  20.     static Form2 sut;
  21.     const string valueToSave = "Raise Event";
  22. }

Here we can see that although no instance is supplied to the target UI class JM picks up the intended setup from the context. Needless to mention that in code there are smells like labe1 is private and is accessed by specifying InternalsVIsibleTo  for specification assembly but rather it should be implemented using MVVM and {Binding Label1 } way. But that is out of the scope of this post and leave that to the reader. I would further thank Vincent Grondin for the project and you can try this out with the latest release as of today.

You can further download the sample project here:


Finally, hope this has given you an idea on getting started with future mocking.


Data Protection Manager und System State Sicherung–Replica Inconsistent

Ich falle selber jedesmal wieder darauf herein…

Wenn ich mit dem Microsoft System Center Data Protection Manager (DPM) 2010 eine Sicherung des System State eines Servers machen möchte und dazu eine neue Protection Group anlege, schlägt der Sicherungsvorgang fehl.

The replica of System Protection on is inconsistent with the protected data source. All protection activities for this data source will fail until the replica is synchronized with consistency check.

DPM failed to create the backup. If you are backing up only System State, verify if there is enough free space on the protected computer to store the System State backup. On protected computers running Windows Server 2008, verify that Windows Server Backup (WSB) is installed and that it is not performing any other backup or recovery task.

Die Lösung ist eigentlich recht simpel, man muss nur genau lesen…: “verify that Windows Server Backup (WSB) is installed”

Ok, dazu auf dem zu sichernden Server den Servermanager starten und über Features “Windows Server Backup Features” installieren. Und schon klappt es auch mit der System State-Sicherung. Natürlich könnte auch fehlender Speicherplatz auf dem zu sichernden Server die Ursache sein, aber das ist eigentlich zu Offensichtlich.

Warum benötigt DPM ein lokal installiertes Windows Backup? DPM ist ja eine Backup Lösung. Ganz einfach: DPM kann von sich aus keinen System State sichern und startet daher am Zielserver das windowseigene Backupprogramm, macht damit eine Sicherung und kopiert dann die Sicherungsdatei auf den DPM. Bei der Wiederherstellung läuft es genau andersherum.

Ich hoffe, ich kann mir das irgendwann mal merken…;-)

Viele Grüße

Dieter Rauscher
MVP Forefront

Dell Venue Pro Not Ready for Mango!

All right, mine is an open-market (pure Dell factory unlocked, no hacks/workarounds) Dell Venue Pro Windows Phone purchased in India. As excited as others, I thought I would update my device too to the latest greatest Mango RTM version. Since Microsoft didn’t say DVP is not ready for Mango in its International Phone Update site (the US version does say Mango update not available for DVP) and the build number is different for international update (7.1.7720), I believed it would play well and ventured ahead to force update my device. After roughly an hour, every phone update symptom was positive: the device threw a successful update message, Zune showed the new Mango build from my device and the new default wallpaper on the phone was also changed to a mango pile photo. I was so excited and was just a touch away (well, six touches – SIM PIN) from diving into the Mango world!! After a second I touched the first digit, gosh… the DVP restarted itself!! Well, waited for it to come back to the SIM PIN number pad, tried again touching it – well, it restarted again. Thinking I messed up the update, I reverted to previous version via restoring in Zune. After consciously watching for about an hour and made sure the update went into the device well, I again touched the screen – huh, the device pressed itself for restart. Well, even third time was not a charm for me and finally I stayed with the old version itself (7.0.x).

Bottom-line – Dell Venue Pro is not ready for the latest Mango update yet!! It just doesn’t like your touch yet! :-) I do not know if there was any success story yet! Please leave a comment if you know about one!

When Dell said they would support Mango later this Fall, I didn’t realize they literally meant it!

Empty groups not being expanded in a combobox for a TFS work item

A common work item type (WIT) edit in TFS is to limit the list of names shown in a combo to the users assigned to the project i.e. the members of the Team Projects Contributors and Project Administrators groups.

This is done by editing the WIT either via your favourite XML editor or the Process Template Editor (part of the power tools). You edit the Allowedvalues for the field you wish to limit such as the Assigned To as shown below,


Which gives the following XML behind the scenes (for those using XML editors)

<ListRule filteritems="excludegroups">
  <LISTITEM value="[Project]Contributors" />
  <LISTITEM value="[Project]Project Administrators" />
  <LISTITEM value="Unassigned" />

Notice that Expand Items and Exclude Groups are checked. This means that the first two lines in the list will be expanded to contain the names in the groups, not the group names themselves.

A small gotcha here is that if either of the groups are empty you do see the group name in the combobox list, even with the Exclude Groups checked. Team Explorer does not expand an empty list to be a list with no entries, it show the group name. So you would see in the combo something like

  • [MyProject]Contributors
  • John
  • Fred
  • Unassigned

where John and Fred as project administrators and the [MyProject]Contributors group is empty.

This should not be a serious issue as in most cases why would you have a Team Project with no contributors or administrators? However it is conceivable with more complex security models you might see this issue. if so make sure each group in the list has at least one member, again if it does not have any members do you really need it?

VB Quark #5: C is for Char

Can you pick the problem with this code ? :

      Dim currentChar As Char

      For i = 0 To
         currentChar = getChar(i)
If currentChar = "a" Then
            count += 1
End If


The answer of course is the literal “a” is of type string, not of type Char. Hence currentChar gets implicitly widened to a String to make the expression a string comparison expression. This means a new string is created with the contents of currentChar on each iteration, and the comparison is a string comparison which checks for null strings and empty strings and then does a compare ordinal etc. This is incredibly inefficient.

If “a” was typed as Char, then the comparison is a simple low level IL compare of the underlying values (int16’s).

You can use CChar, as in CChar(“a”), but it’s a lot easier just to add the type literal suffix c, eg “a”c

      Dim currentChar As Char

      For i = 0 To
         currentChar = getChar(i)
If currentChar = "a"c Then
            count += 1
End If

The change in this code is about 20 fold performance improvement (run as release build outside of Visual Studio). That’s a 20 fold increase just by typing one extra letter !!

This example was based on real sample code where a massive file was being parsed char by char.  There too, attention to the fine detail showed a massive performance improvement over the original code. It’s often the little things that can make a huge difference.


This VB quark was brought to you by the type literal “c”

Converting a .NET DateTime object to a JavaScript Date object

When using a WCF or ASMX web service in ASP.NET, you might find the need to pass back a DateTime object via JSON. However, what you might not realize is that by passing a .NET DateTime object back to JavaScript, you’d receive an “Invalid date” script exception. The data being passed back to JavaScript may resemble the following:


The reason that the date is formatted in this way is that JavaScript uses Unix Epoch as the base date and time. This value is 1/1/1970 at 12:00:00 AM. JavaScript tracks dates as the number of milliseconds from the Unix Epoch value to the date submitted.

To assist in the JavaScript date conversion, I have added an extension method for the DateTime object that resembles the following:

private static readonly long UnixEpochTicks = (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks; 
public static long? ToJsonTicks(this DateTime? value)
    return value == null ? (long?)null : (value.Value.ToUniversalTime().Ticks - UnixEpochTicks) / 10000;

public static long ToJsonTicks(this DateTime value)
    return (value.ToUniversalTime().Ticks - UnixEpochTicks) / 10000;

In JavaScript, I can now pass this value into a Date() object and get the correct DateTime value for my locale.

Feel free to use this method in your applications. I offer no warranties or guarantees with the code above.

Recent Comments