Monthly Archives: February 2013

Switching Between Remote Machines when Debugging

I’m currently switching between debugging on an ARM-based Surface RT and another remote machine (actually a VM running Windows 8 on my dev box). I wish there was a more convenient way to switch between remote machines, i.e. from the pulldown menu in Visual Studio. But at least there is a way. Open the project’s properties and select the Debug tab. You can then choose the remote machine. Using the Find button will show all the visible machines:


Lovin’ Me Some Cheap Libraries

In my MT State Library days, we worked with double metaphone in conjunction with the GNIS placenames data we had. It was remarkably accurate. I see now that the author of that algorithm has a new version, which is available as a C#, C++ or Java library for $40…quite reasonable for what it does. One of the problems I’ve had with open source is that it sometimes precludes decent code from being propagated because the developer has no way to at least receive some modest compensation. On the other hand, I come across insane prices for code libraries all the time.

What I like is something such as this where it makes sense to purchase because it works and it is so cheap. Recently, I paid $35 for a DLL that does datum shifts (moving lat/lon coordinates from one geodetic model to another). The code was available (after much digging) in Java. But I would have spent 3-4X that amount converting and testing it.

No affiliation with this company:

Somehow not covered in the documentation

You know that observation Admiral Grace Hopper made?

“Life was simple before World War II. After that, we had systems.”

I think one of the things not often taught to programmers or covered in books is how obscure things can get when systems go interoperable. I was having a hard time getting the sign-on, sign-off behavior promised in the Microsoft Live SDK to work. One thing you do when logging in is pass whatever scopes you need, such as access to SkyDrive or Hotmail. It turns out that whenever you first do this, Live saves a profile for the app, including all the scopes (which the user has consented to). Later, when the hapless programmer is vainly trying various combinations of scopes, unbeknownst to him or her it doesn’t matter because Live doesn’t update the profile.

I happened to come across a post on the MSDN site mentioning that what you have to do is visit and remove those scopes (or to be on the safe side, the entire app) from whatever logins you’ve used for testing, e.g:


Then the next time you login from an app, the current scopes will be used. The one scope to avoid, at least with the button control for Windows Phone, is wl.signin. One I know to keep is wl.offline_access, which helps avoid having to login every time.