Tag Archives: Microsoft

My Microsoft Hololens Adventure – Preparing Study Resources

As I continue my adventure of learning how to program for the HoloLens, the first step is actually learning how to program! I am lucky enough that I took some programming classes while in College and I’ve done a lot of Scripting in Windows PowerShell – this helps me understand programming constructs. I just need to become more well-practices in the area of Object Oriented Programming and understanding the C# Syntax.



To do this I actually started digging in a bit back in March covering some of the basics to refresh my memory. One of my favorite resources is the Microsoft Virtual Academy. I haven’t watched much but the first video I started watching was Bob Tabor’s C# Fundamentals for Absolute Beginners. As the subject says this is for absolute beginners so I’ve done a bit of skimming on a lot of the videos, but it gives a good introduction if you haven’t programmed before. I most likely will continue to skim these videos occasionally just to keep my mind fresh since I haven’t written a full blow application before.

Universal Apps:

The next video series I intend to watch is the Developing Universal Windows Apps with C# and XAML. The reason I am wanting to check with video out is my applications I want to have work across all Windows Platforms – this is something I’ve never done so it’ll be a challenge to pick it up. The nice thing about using this as a stepping stone is Universal Apps will not only work on HoloLens but also Windows 8+ Windows PC’s and Windows Phones.

HoloLens Apps:

When developing for the HoloLens there are two different types of app models, let’s explore each one.

2D Apps:

2D HoloLens apps will be the easiest ones to build – at least I think it will be for me. These apps are just like any other Windows Universal App, except the HoloLens will project the 2D App on a wall, or in front of you while using the HoloLens.

To make 2D Apps on the HoloLens I am intending to heavily rely on the Developing Uniersal Windows Apps with C# and XAML that is referenced under Universal Apps section.

In addition to the video the Microsoft Dev Center also has a couple of pages on building 2D Apps.

Building 2D apps
Current limitations for apps using APIs from the shell

Holographic Apps:

Holographic Apps are a very new concept – this is what makes the HoloLens a truly magical experience. You will see 3D renderings throughout your house, office, or where ever you are using the HoloLens at.

To start developing for HoloLens you must understand the different ways to interact with the HoloLens. This includes

World coordinates
Gaze input
Gesture input
Voice input
Spatial sound
Spatial mapping

To get a better understanding of the ways you interact with the HoloLens I suggest taking a look at the Development Overview video from Microsoft.

As I continue my adventure with learning how to develop for HoloLens I’ll make sure I share more information as I find it.

My Microsoft Hololens Adventure – Setting up the Development Tools

I’ve started my adventure of learning how to program for the Microsoft HoloLens. If you haven’t heard about this new adventure please check out my blog post My Microsoft HoloLens Adventure – Introduction. On that blog post I have a video introducing myself, and my intentions. In addition I’ve included a video of the unboxing of the Microsoft HoloLens. Throughout this blog post I will highlight the steps required to get your PC setup to program the HoloLens.

Matt wearing the Hololens

System Requirements:

  • Windows 7 SP 1 or greater (Windows 10 recommended) – Must be Professional, Enterprise or Education edition
  • Hyper-V enabled on the system
  • 64-bit CPU with at least 4 cores
  • 8 GB of RAM
  • BIOS that supports:
    • Hardware-assisted virtualization
    • Second Level Address Translation (SLAT)
    • Hardware-based Data Execution Prevention (DEP)
  • GPU that supports:
    • DirectX 11.0 or later
    • WDDM 1.2 driver or later

Enable Hyper-V:

  1. Open Control Panel
  2. Click Programs
  3. Click Turn Windows features on or off
  4. Check Hyper-V
  5. Click OK
  6. Restart computer when install finishes

Installing Visual Studio 2015:

To write applications for the HoloLens you must use Visual Studio 2015 with Update 2 installed to write the Universal Windows App. Luckily you can use the Visual Studio 2015 Community edition at no cost! The community edition will provide enough features for you to get started, however if you are an experienced developer and want to dig into more depth you may want to evaluate the Professional or Enterprise editions. To compare what each edition has check out the Compare Visual Studio 2015 Offerings page.


  1. Download Visual Studio Community Edition
  2. Run the Installer
  3. Choose custom install
  4. Select Tools and Windows 10 SDK
  5. Click Install

HoloLens Emulator:

To develop for the HoloLens doesn’t require that you have a HoloLens – although it does make it more entertaining! If you do not own one do not fear – you can download and install the HoloLens Emulator.


  1. Download the HoloLens Emulator
  2. Run the Installer
  3. Click Next
  4. Click Next
  5. Read and review the License Agreement
  6. Click Accept
  7. Click Install

Unity HoloLens Technical Preview Beta:

To build holographic applications you need to use the Unity HoloLens Technical Preview – this gives you the ability to place 3D Models into your applications to be treated as Holograms.


  1. Download the 32-bit or 64-Bit client based on your needs.
  2. Run the Installer
  3. Click Next >
  4. Read and review the License Agreement
  5. Click I Agree
  6. Click Next >
  7. Click Install
  8. Click Finish
  9. Download the UWP Runtime
  10. Run the Installer
  11. Click Next >
  12. Read and review the License Agreement
  13. Click I Agree
  14. Click Install
  15. (Optional) Download the offline documentation
  16. Run the Installer
  17. Click Next >
  18. Read and review the License Agreement
  19. Click I Agree
  20. Click Install
  21. Click Finish

Reflecting on Ignite 2015 – The Good, The Bad and The Ugly

I know I am late to the game, Ignite ended over a week ago! I would just like to share my perspective on how the week went, as it was quite different than I am used to. This year I went to Ignite as Staff, I’ve never worked a conference, let alone one the size of Ignite.

Note: I thought it would be a good idea to shave - not doing this again for a long time!

Note: I thought it would be a good idea to shave – not doing this again for a long time!

My week of Ignite actually started quite early, I arrived Friday May 1st in the evening to Chicago. My first thought it holy cow I’m going to hate Chicago, they had the NFL Draft going, and traffic was crazy. I’ve been to Chicago before but did not remember how much traffic there was! After missing a turn and adding an additional 20 minutes to my 2 1/2 hour drive from Indianapolis I was ready to unwind in the hotel. Check-in was fairly easy, aside from the long wait to check in.

Read more »

Building a Desired State Configuration (DSC) Lab

Recently I presenting at the Indianapolis PowerShell User Group and talked about Desired State Configuration. The presentation was 100% demonstrations, and I decided it would be a good idea to provide all of the PowerShell commands/instructions I used to build my lab environment for the presentation.

Note: Please note that these instructions were written using multiple Experimental DSC Resources, Microsoft and I myself provide no guarantee that these will work in a production environment. I strongly encourage that you use test environments that do not matter until you feel comfortable with DSC.


  • Licensed/Trial Media for Windows Server 2012 R2
  • An installed/updated Sys prepped VM Parent Disk
    • Stored at D:\Templates\Server2012R2.vhdx
  • a Virtual Switch within Hyper-V Configured as a Private, named “Private Network”
  • At least 7GB of free memory
    • You can adjust this all the way down to just 4GB
  • Downloaded copy of the latest DSC Resource Kit – Download Here

Now before we dive into the scripting component of this blog post I want you to know that this is not 100% automated. You will have some manual steps here and there, it is possible to 100% automate – but that will require significantly more effort. Please continue reading for instructions on this demonstration.

Read more »

PowerShell: Check for user accounts running Windows Services

Recently I worked with a client to validate that if a user account were to be disabled that it wasn’t going to break any of their currently running applications. You can be bit by an accidental miss-configuration where an end-users account is running a Windows Service or possibly at a lower level in a specific application such as SQL Server jobs. Luckily with the Power of PowerShell we can conquered the Windows Services! It is also possible to create a SQL Query, or even PowerShell scripts to query SQL, but we will not be covering that in this article.

Checking Windows Services:

The biggest concern I had was the Windows Services, it is easy enough for a junior admin to install SQL and specify their own account as the Service Account. THIS IS BAD! However with some simple PowerShell we can perform a visual inspection, or with some minor adjustments we could look for a service running with a specific user.

In the above example we are using a parenthetical command along with the Get-CimInstance Cmdlet. The command that is executed first is the Get-ADComputer, this will required the ActiveDirectory module is available on your computer system. It uses the filter parameter to look for any computer that is running Windows Server (any version). It then passes those values to the Get-CimInstance which performs an initial WQL Query, which doesn’t allow and statements. Therefore we have to pipe it’s returned values to a where statement which will continue filtering for us. At the very end it provides me the service name, the user account running it, and the computer this service is on.

I was able to run this against the clients environment and within a few minutes we new that it was safe to disable the account.