Monday, July 27, 2009

Games are the Way to Test Software

When the .NET framework was being developed one of the mechanisms that Microsoft used to test the framework was a game available to any employee. The goal was to give the framework a more thorough and real-world test pass by crowd sourcing and disguising the fact that the gamers were actually testers. (OK, that's not quite true, they told us point blank that the aim was to test.)

The bing search engine Page Hunt game has once again proven that the best way to test software is to make testing fun. This game is designed to provide information about the search phrases that people expect to use to find websites they want to find. However, the test is packaged up in a spoonful of fun and challenge. Give it a try and help make Internet searching easier.


- the bing Page Hunt game

Read more about the bing Page Hunt game at TechnologyReview.com.

Update: here's a video that supports the fun theory: Piano Stairs http://www.youtube.com/watch?v=2lXh2n0aPyw

Update: Microsoft Ribbon Hero allows gamers to test the Office Ribbon UI

Friday, July 24, 2009

bing images are cool

I've really been enjoying the background images used on the bing search engine page.

Here's the one from yesterday...



I'd like to have access to a store of the images, but the only one I've found is the bing images on Facebook and they're not very good quality.


- Moorea

Bing has a "previous image" option in the lower right corner that allows you to scroll through other pics.

Thursday, July 23, 2009

Worldwide Partner Conference 2009

This year's Microsoft Worldwide Partner Conference (#WPC09) took place in New Orleans. It was the first time I had been back to New Orleans since hurricane Katrina, so I excited to see how the city is doing. However, we ended up being so busy at the conference that I didn't get a chance to get any further than the French quarter, so I really didn't see much at all.


- Microsoft CEO Steve Ballmer during a keynote (photo: http://www.momentsindigital.com/)

The hottest topics at the show were SharPoint 2010, bing and Windows 7. Of course, since Metalogix is the leader in SharePoint and Exchange productivity solutions, I was particularly interested in the SharePoint 2010 sneak peak session that Arpan Shah. I had heard that SharePoint 2010 would support different browsers, but it was interesting to see that all of the demos were done with Firefox.



I'm really excited about the developer tools that are coming. Check out the SharePoint 2010 developer sneak peak video. The visual web part editor looks great. As soon as I got back to the office I started setting up a Hyper-V image to run the technical preview build of 2010. I haven't installed the dev tools yet, but the install went smooth and I'm looking forward to diving in.

In terms of the success of the show, I sent out a tweet that started "recession, what recession?" Attendance was strong and we had more attention this year than in the past. The only sign of cutbacks were the feeling (maybe it was just me) that the air conditioning was noticeably less than in previous years and they actually ran out of attendee bags. I don't remember that ever happening before. In fact, exhibitors usually have to wade through them to get out on the last day.

Of course, since I hadn't been to New Orleans since 2004, I also got to catch up with some old friends from my Microsoft days and even one from junior high.


- ran into an old friend. Bruce from http://www.momentsindigital.com/

YouTube sensation Playing for Change killed with Michael Jackson's "Billie Jean" at the closing party.


- Playing for Change playing the attendee party (photo: http://www.momentsindigital.com/)


- New Orleans still has its shine (photo: http://www.momentsindigital.com/)

Wednesday, July 22, 2009

Does your Xbox Blog?

I just came across this great post on SharePoint expert Mike Gannoti's blog and just had to share.

"Did you know that my Xbox 360 blogs? No, not me blogging about my Xbox, but my Xbox blogging about me and my gaming exploits (okay more it blogging about my son playing on it). Seriously, it seems everyone is blogging including machines. My Xbox has its own blog at http://360voice.gamerdna.com/blog.asp?tag=MasterG and it is pretty active in it’s commentary. On July 17th my Xbox 360 wrote:

“My power supply almost exploded! MasterG turned on the juice and we did some serious gaming! 5,025 points of total gamerscore is pretty good. Admit it. That is an improvement of 20 points over last time! He made some progress on Infinite Undiscovery finishing 2 achievements, and without even blinking! Ok, maybe he blinked once...”

Now how the heck can an Xbox blog? Well it is a pretty neat example of the magic of software couple with web services. Xbox 360 is hooked to Xbox Live. When I, or in this case my son, is logged in and playing, the Xbox supplies the service with raw data that is then exposed by some public APIs and then a service such as this blogging one uses an AI engine to look at the activity, or lack thereof (you should see what it starts saying when no one plays it for a while) and generates auto text complete with links to info. If you are a gamer you can grab one of these yourself and let your own Xbox start telling the world about you and your exploits, or is it Xploits? Check it out at http://360voice.gamerdna.com/"

Tuesday, July 21, 2009

SharePoint 2010 NDA

The Microsoft SharePoint team has become frustrated with people failing to live up to their NDA obligations for SharePoint 2010.

This is from Joel Oleson's post on the topic:

SharePoint 2010 is "Still in TAP, Still NDA except for specifically revealed info during one of the PDC keynotes, Channel 9 interview video, WPC Elop keynote (well done Takeshi!), Arpan’s Preso at WPC, System info on SharePoint blog, SP2 detail, Tom’s SharePoint Roadmap preso at Teched, the 2010 Sneak Peak videos and other info on http://sharepoint.microsoft.com!"

Thursday, July 16, 2009

SharePoint 2010 Dev Docs Preview

Curious about developing on the SharePoint 2010 platform? Download the technical preview of the SharePoint 2010 developer documentation today.

This is taken from the readme in the download:

"This download contains the following pieces of developer documentation:
Customizing the Ribbon in Windows SharePoint Services “14”: The Ribbon is now included in the user interface for Windows SharePoint Services “14” and Microsoft SharePoint Server 2010. This white paper describes how developers extend the Ribbon by using a combination of XML and ECMAScript (JavaScript, JScript). Customizations to the Ribbon in the included example are created by using the Feature infrastructure, and can be deployed by using a solution package (.wsp file). This white paper is provided in both PDF and XPS format.

SharePoint Products and Technologies 2010 Technical Preview Managed Reference SDK: This compiled help (.chm) file contains reference topics focusing on types and members new to the SharePoint Products and Technologies 2010 managed object model that are called by other Microsoft applications. This reference does not reflect the entirety of the SharePoint Products and Technologies 2010 managed object model."

Saturday, July 11, 2009

Paul McCartney in Halifax

So you can file this in the 'right place at the right time' category...

My brother and I leave the Halifax Jazz festival and decide to go check out the Paul McCartney gathering in front of the Lord Nelson hotel. Tipped off by a local radio station about a Sir Paul sound check, the crowd believes they might get a glimpse of the superstar.

Well, after about 15 minutes and a few Beatles songs--led off by the Halifax Police Department, I kid you not--Paul's security comes up the ramp from the underground parking. I figured we'd be lucky to see anything but it turns out that the vehicle slows down, his window is open and he's filming the crowd. I was amazed how close we got.



- Sir Paul films the crowd filming him

Wednesday, July 08, 2009

SharePoint Stops IP at the Door

My father-in-law has a great understanding of the difference between a traditional bricks and mortar company and a modern software business. For example, he once commented that "the value of a software company walks out the door at 5:00 every day."

Most people half his age don't appreciate this point--we'll set aside the fact that 5:00 doesn't mean much in the software world. Clearly, what he was saying is that the knowledge and experience of the people is the most important intellectual property in any software organization. Of course, there is value in the source code and collateral that employees create, but imagine the impact of your staff leaving without any sort of knowledge sharing.

In the past, I have made my own efforts to help prevent the loss of data as I moved from one company to another. At Microsoft, I used the MCMS FAQ as a way of sharing knowledge about Microsoft Content Management Server. When I left, it was just Stefan Gossner and myself working on it--it wasn't a community project, but it probably should have been.

But times have changed, with systems like Microsoft SharePoint taking hold in organizations, social computing can keep that valuable knowledge inside the company. The SharePoint social computing demo discusses the different ways that people share knowledge with MOSS 2007 and the new new methods seem so obvious now--for the MCMS FAQ, I had to write custom code to package the data in a consumable format. However, before I left Microsoft, SharePoint MySites were starting to be used, and the wave of change was clearly on the horizon. Nowadays, I can create a wiki on the Metalogix SharePoint intranet in just a few clicks.

What's coming in the future? Well, details about SharePoint 2010 are hard to come by right now, but there are certainly going to be some improvements. For example, the new SharePoint 2010 taxonomy features will allow users to categorize their information and further remove any friction from knowledge sharing. Instead of your IP walking out the door, it can be blocked at the firewall.

Wednesday, June 24, 2009

SharePoint and Social Computing

Yesterday, I was thinking about social computing and how many new apps seem to pop up each week. Today, an article happened to come out that focuses on this same thing: Is SharePoint Set To Become The De Facto Enterprise Social Media Platform--it continues along the vein of previous articles such as Will Microsoft Become Facebook for the Enterprise?

One question raised by the article is whether Microsoft's release schedule precludes SharePoint from being in touch with the current state of social computing. People who argue that this is true will be quick to point out that it has been 2.5 years since the last release and SharePoint 2010 isn't out in Beta yet. Also, while the article contends that "Enterprises don't just jump on the latest social media fade [sic],"... people do. So even if there is no corporate policy about Twitter or Facebook, people will be using them and most likely they'll be using them for business purposes (e.g., product evangelism, business networking, etc.).

However, what the article doesn't seem to ask is: what's the difference between the release dilemma that SharePoint faces and the same considerations for Microsoft Office? If a feature is considered for implementation during a two-year release cycle for Office, that feature had better be compelling enough that it's going to be relevant for longer than the next release cycle. This is no different for social computing functionality that the SharePoint Program Managers have to consider for one of their releases.

In the end, it isn't about how fast SharePoint can add the latest and greatest functionality, it's about how well they'll address the long-term needs of the enterprise. At Metalogix, we migrate customers to SharePoint, so we're well aware of how long it takes some companies to move to the latest platforms--they're not on a 2.5 year release schedule, they go at their own pace.

Thursday, June 18, 2009

Slovakian sponge toffee

I'm in Bratislava watching a piece of German speaking sponge toffee.

He’s on the KIKA TV channel and he’s trapped in the KIKA lounge. Apparently, he’s not too happy about it.



OK, he's actually a loaf of bread named Bernd and the show is called Bernd das Brot. The show seems to play after the station has gone off the air--way better than a test pattern.

Tuesday, May 19, 2009

TechEd 2009

last week I was in LA for the Microsoft TechEd 2009 conference. Metalogix had a booth and we were, as always, making the world safer for SharePoint migration, SharePoint selective restore, SharePoint archiving and now Exchange archiving and file archiving as well.

many people have commented/blogged about the reduced attendance this year. however, with the move back to a one week format, I felt as though I had as many meaningful conversations about our software as I would expect at TechEd, so I wasn't disappointed.

the most disappointing aspect of the show was that Brooks Brothers shirts go for 3/$200 in LA, whereas in Orlando, you can get a deal closer to 3/$100. :)


- LA convention centre. love those palms.




- the expo hall floor


- the Metalogix booth where all things SharePoint are discussed.

Tuesday, April 14, 2009

Google car in Halifax

I looked out the window today and just happened to see the controversial Google maps "street view" car coming down the road in front of the Metalogix office.

the car records 360 degree images that allow Google map and Google Earth users to virtually drive around and see what things look like from street level instead of from space. the practice has some privacy advocates up in arms because people who happen to be in the camera's lens will be photographed without their permission, and possible without their knowledge.

personally, I don't think taking images like this in public is a problem. but, unfortunately, I was nine stories up, so I had no chance of getting in the shot.

Wednesday, April 08, 2009

Dalhouise Auto Polo

Dal published this parody in their April fools student paper.


- click for full-size version

Thursday, April 02, 2009

C# ResourceManager path

this is something that would have been nice for them to include on the MSDN page about the ResourceManager class in C#. a ResourceManager is used for localization b/c it allows you to read the right language string from .resx files that you've added to your application.

you may find that you get this error message when trying to read a string out of a resource file:

“Could not find any resources appropriate for the specified culture or the neutral culture. Make sure \"AppName.FileName.resources\" was correctly embedded or linked into assembly \"AppName\" at compile time, or that all the satellite assemblies required are loadable and fully signed.”

the trick here is that you must include the VS project folder in the path when you instantiate the ResourceManager object. So if my assembly is "AppName" and my resource file called "FileName.resx" is under a folder called "FolderName," then the syntax looks like this:

// Declare a Resource Manager for localized string resources
private ResourceManager resManager = new ResourceManager("AppName.FolderName.FileName", System.Reflection.Assembly.GetExecutingAssembly());

note that you shouldn't include the file extension for the resource file.

Tuesday, March 31, 2009

SharePoint Connections 2009

SharePoint Connections 2009 was in Orlando Florida at the Grande Lakes JW Marriott. despite numerous news reports which suggested otherwise, I was not attacked or even slightly eaten by rampaging Burmese pythons.

the SharePoint connections show is a subset of dev connections. also included in the same show is Visual Studio connections, ASP.NET connections and SQL Server connections. not surprisingly, the 500-600 attendee count was smaller than previous years. it will be interesting to see how the current economic kerfuffle is going to affect the attendance at shows such as Microsoft TechEd and the Microsoft SharePoint Conference. (note: my list of 2009 SharePoint conferences.)

I managed to get myself pretty ill, and I was only in town for two nights, so I was shockingly lacking in any social time and I don't have any interesting photos to share. however, on the plus side, we did have quite a few people come by the Metalogix booth to talk about selective restore for SharePoint--as well as our migration, upgrade and archiving products for SharePoint.

Friday, March 06, 2009

SharePoint online password issue

since Metalogix is a Microsoft Gold certified ISV partner, and we have a number of SharePoint products (e.g., SharePoint migration solutions and Selective Restore for SharePoint backups), we were invited to join the TAP for the hosted version of SharePoint, SharePoint Online. we were also a launch partner since our SharePoint Site Migration Manager software allows customers to copy/migrate SharePoint sites, lists, items, etc. to or from SharePoint online. SharePoint Online is also referred to as MOS, since it's part of the Microsoft Online Services offering.

anyway, we found that our users were having issues with their MOS passwords. I tried using the admin interface to reset the passwords, but it didn't seem to help. I haven't figured out what causes the original issue, but I do have some insight into why the reset isn't working.

if you try and reset a password twice through the regular user interface, you will see an error message saying that passwords can only be reset once a day. in the admin interface, there is no such error--it will just let you go through the process, but it simply won't work.

the workaround to this problem is to use the admin interface to disable the account and then re-activate it. doing this will reset the account and you'll be able to successfully reset the password.

Thursday, February 05, 2009

SharePoint Conference Season Dates 2009

I thought I’d put this together just to see when (and where) everything is happening this year. I'm not sure what I’ll be going to, but it’s good to know the dates.

SharePoint Connections -- March 22-25 -- Orlando
SharePoint Summit -- April 6-8 -- Montreal
Microsoft TechEd -- May 11-15 -- LA
Microsoft Worldwide Partner Conference -- July 13–16 -- New Orleans
Microsoft SharePoint Conference -- October 19-22 -- Las Vegas
Microsoft TechDays in Halifax -- November 2-3 -- Halifax, Canada
TechEd Europe 2009 -- November 9-13 -- Berlin
SharePoint Connections -- November 9-12 -- Las Vegas
Microsoft PDC -- November 17-20 -- LA

Metalogix usually has a booth at most of these. This year, we'll have the added honour of showcasing our new Selective Restore Manager for SharePoint Backups.

Monday, January 05, 2009

compacting VPC free space

when one of my XP Virtual PC (VPC) images reached 17GB, I knew it was time to compress it. however, the main reason the virtual hard drive got so large was due to space that was now empty. to get the VPC to compress back down to just the space it was using, I found that I needed to follow the steps from a blog tip. after this process, my VPC went down to 7GB.

note: you'll need substantial free space on your host machine to complete this process. my 17GB hard drive needed 22GB of free space. the process also takes a long time--at least 2-3 hours in my case.

1) Inside the VM, run the special disk defragmenter that works on empty space
2) Inside the VM, run Virtual Disk Precompactor or other disk utility program to "zero out" deleted data (this comes as an ISO in the VPC additions folder)
3) Shutdown the VM, run "Virtual Disk Wizard" from the VPC console to compact the VHD.

here are the details:
instead of using the defragmenter comes with Windows, you should use the defrag tool created by Dave Whitney.

install the defrag tool:
- log in as a machine administrator (this is necessary to install the service).
- copy bootdfrg.exe to your windows\system32 directory.
- from a command prompt, navigate to the dir where you have the new derag tool and type: defrag -i
you should get back: "The Disk Defragmenter service was successfully installed."The service is now installed.
to uninstall, type: net stop defragsvc & defrag -u

run the defrag:
to run the tool on the C: drive type: defrag -d c

from MS support on the Virtual Disk Precompactor:
"Capture the .iso from (C:\Program Files\Microsoft Virtual PC\Virtual Machine Additions\Virtual Disk Precompactor.iso). If your virtual machine is running when you capture Virtual Disk Precompactor.iso, Virtual Disk Precompactor starts automatically. If you click Yes when prompted, Virtual Disk Precompactor precompacts all virtual hard disks for this virtual machine. If Virtual Disk Precompactor does not start automatically, you can start it by navigating to the CD drive of the guest operating system and double-clicking Precompact.exe.

Alternatively, you can also run Virtual Disk Precompactor from the command line by navigating to the CD drive of the guest operating system and typing Precompact. The available parameters are:-Help - Displays help for the precompactor.-Silent - Runs the precompactor in unattended mode.-SetDisks - Specifies the disks to be precompacted. If this parameter isn't specified, then all virtual hard disks for this virtual machine are compacted. For example, the following command will precompact your C, D, and E drives in unattended mode: Precompact -Silent -SetDisks:CDE"

Virtual Disk Wizard:
the virtual disk wizard is an option in the VPC console. remember to shut down your VPC and then run this option. you should select "Compact existing virtual hard drive."

Sunday, December 28, 2008

kitten proof your Wii

I have previously written about the adventures of living with Luddite kittens. this Christmas presented a special challenge (pardon the pun). under the tree arrived a Wii for my wife and me. we opened the box and then shared a look of horror--the Wii comes with an LED sensor bar that's powered by a thin cable. we knew instantly that this cable would not last a day in the same household as our cats.

we have tried the usual precautions, but none have worked for our tag-team of furry felines. for example, duct tape with the sticky side out keeps Rory away, but Asha likes chewing on sticky things, so her gnawing exposes the wires for Rory. it's hard to believe that such adorable creatures could cause any trouble at all...


- Asha (the oldest)


- Rory (the baby of the family and the proud owner of razor sharp teeth)

and, of course, we got caught up in a rousing game of Wii tennis and took our eye off Rory for the few seconds she needed to make mince of the cable. after splicing it back together, I knew that it was time for some more precautions. we went to the hardware store and bought a healthy supply of Split Flex Tubing (about $12 for 20'). it's simply a flexible tube that we are putting around any cable that seems fine enough for Rory's taste--fortunately, she stays away from thicker cables.

in addition to the Wii's sensor cable (which we'll only use until we can get a wireless one), we've put the tubing around the thin part of the Wii power cable, the power cable for the Xbox 360 add-on fan, and the small cable that comes with the Xbox 360 wireless network adapter--the router has long since been moved into a cat-free room.


- the Wii power cable protected from harm


- the Xbox 360 wireless network cable with a protective cocoon

so far, I'm very happy with the tubing. I think it might save me from some ill will towards our pets. on that note, I'm currently reading Marley and Me, which I'm also hoping will put our cats in a positive light.

XML indentation not working

I'm using an XML file to store a configuration file for the Metalogix Batch Migration Utility. during a recent bug bash, I noticed that the config files were not being properly indented despite the fact that I was setting System.Xml.Formatting.Indented in my code.

// Create an XML writerSystem.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(1000);
System.IO.StringWriter stringWriter = new StringWriter(stringBuilder);
System.Xml.XmlTextWriter xmlWriter = new XmlTextWriter(stringWriter);
xmlWriter.Formatting = System.Xml.Formatting.Indented;
xmlWriter.Indentation = 5; //optionally adjust the indentation
// Write out configuration settings
xmlWriter.WriteStartElement("Configuration");
xmlWriter.WriteRaw("" + txtDBFile.Text + "");

it turned out that the issue was simply that I was using xmlWriter.WriteRaw instead of xmlWriter.WriteElementString. the latter will respect System.Xml.Formatting.Indented and is cleaner code anyway.

to crush this bug, all I had to do was replace the last line (and other similar lines) with this:
xmlWriter.WriteElementString("DBFile", txtDBFile.Text);