It only took 7 years!

During 2010 I went on a trip to South Africa and while visiting Robben Island prison I took a photo that I used in a blog post about metadata.


At the time I mentioned that tagging of photos to make them easier to find later was a mostly manual task with only a timestamp and location being automatically captured. I also speculated that tagging would be automated some day…

Since your camera can’t determine (at least not yet) whether a photo contains a boat, you need to manually point out which photos do contain a boat…

And here we are seven years later and we have an API that can look at that same image and tell me that it’s “a large ship in a body of water”:


What’s even better is that you’re seeing this show up more and more as a just a feature in the apps we use every day like Office and Photos 😁



Baby steps with Bash on Windows

Creating software never gets boring as the platforms, tools and techniques are always evolving. Until recently being a developer in the Microsoft world meant working with languages like C# and VB.NET, tools like Visual Studio, Windows Command Prompt and PowerShell. Starting with the Windows 10 Anniversary update we now have access to a Linux command line called Bash and a lot of the awesome tools that the Linux community have built over the years (curl, ssh etc.)

The Microsoft Store app
in Windows 10 now makes it very easy to install Bash and the first thing you need to decide is which Linux distribution (AKA distro) you want to install… I went with Ubuntu.

Here are some more details on getting bash up and running on your Windows 10 machine:

Now that you have bash, here are links that I used to answer my questions about Bash…

What are some basic bash commands and tools?

How do I install software using bash?

How do I work with files across Windows and Bash?

How do I create scripts to string command together?

What are some fun things to use in demos?

nyancat: sudo apt-get install nyancat

cowsay: sudo apt-get install cowsay

htop: sudo apt-get install htop

midnight commander: sudo apt-get install mc

Let me know if you find anything else that would be cool to use for demoing

Scheduled Publishing

Since Microsoft got rid of MCMS (Microsoft Content Management Server) and rolled its web page authoring features into SharePoint (2007 to Online) the product has supported the creation of an article that can be set to go live automatically at a specified date and time. This is a feature that I’ve been asked about loads and recently had to provide some detailed steps. Enjoy!

Scheduling a page for publication at a later date

  1. Create a new page or navigate to the article that you want to schedule for later publication

  1. Click Ribbon > Publish > Schedule

  1. Set the publishing schedule for the article as desired and click OK

  1. Note that the author is informed of the scheduled publication date

  1. Click Ribbon > Publish > Publishing > Publish
  2. Add optional editorial comments and click Continue

  1. Note that the article is now published and will become available to readers on the scheduled date and time

Not seeing the “Schedule” button on the ribbon?

In order to schedule publishing the following configuration needs to be in place on the Pages library storing your articles.

  1. Navigate to an article where you want to enable scheduled publishing
  2. Click Ribbon > Page > Page Library > Library Settings

  1. Click General Settings > Versioning Settings
  2. Ensure that Content Approval = Yes
  3. Ensure that Document Version History = Create major and minor (draft) versions
  4. Click OK

  1. Click General Settings > Manage item scheduling
  2. Ensure that Enable Item Scheduling = Yes
  3. Click OK

Apps using tenant scope permissions in a local site

If you have an autohosted SharePoint app that requests tenant scope permissions and you set the target site to a local URL you might run into a problem when debugging from Visual Studio.

The certificate is added and the app deploys fine. The user is then prompted to grant the app permission but a message notifies us that the current user does not have permission to trust the app.

Sorry, only tenant administrators can add or give access to this app

So in order to grant a user “tenant administrator” rights in a local farm complete the following:

Add the account (not via a group) to the Farm Administrators role in Central Administration

Do an IISRESET after granting the permission.

When you re-deploy the app from VS the account should now be able to click the “Trust It” button.

And you’re off to the next hurdle…

Lenovo track pad gestures driving you crazy on Windows 8?

Lenovo recently updated their track pad drivers to recognise touch gestures in Windows 8. This means that you will notice that you can swipe in from the left edge to switch applications and swipe in from the right edge to bring up the charms bar.

At first this seems cool but when you try and use the machine for real work this causes some issues… trust me I saw the funny (and distracting) side-effects in a workshop today!

In my opinion it’s much more efficient and accurate to spend some time learning the hotkeys for operating the “touch functions” of Windows 8.

So here is how you can disable these new “features”:

  1. From the Windows 8 start screen
  2. Hit “Windows Key + W”
  3. Type “mouse”
  4. Choose “Change mouse settings”

  1. Click “Settings” in the TouchPad section of the UltraNav tab

  1. Expand the “Application Gestures” node on the left to turn off the undesired gestures.