WSL Changes in Windows 10 1809

I found a really good blog article about the changes that were made to the Windows Subsystem for Linux (WSL) in the Windows 10 1809 update (or whatever it will be called when they eventually release it again) on the Windows Command Line Blog.

Link to article: What’s New for WSL in the Windows 10 October 2018 Update

I managed to install the 1809 update on my Surface Laptop and ThinkPad before the 1809 update got pulled, but I never looked through my Ubuntu app to see what was different. My favourite change is the changes to the Copy/Paste behaviour. I have had the odd issue with this in the past, especially with Remote Desktop, so it is definitely a welcome change. The other change that I find very convenient is the ability to open a Linux shell from File Explorer by right-clicking on it. I use this feature all the time with PowerShell, so it is very nice to be able to do this with WSL:

WSL Open Shell

Also mentioned was support for WSL on ARM devices, so once I am able to get my Lenovo Miix 630 up to the 1809 update I will test to see if it works. This was an annoyance for me before with the WoA implementation, so if this works it will make the device even better than it already is for my usage.

Lenovo Miix 630

I wanted to do a follow up my previous post about Windows on ARM since I have had some recent hands-on experience with this platform. I was able to obtain a Lenovo Miix 630 through a contract that I am working on and I have been using it in a daily basis for the last 2 months. I had wanted to give this platform a fair chance, and here is what I found out.

Windows 10 S Disclaimer

I am going to start off by saying that I am not going to criticize this device for running Windows 10 S. I am also completely aware that it can be freely upgraded to Windows 10 Pro. In fact, I did upgrade it as part of this review so that I could run some benchmarking tools which were not compatible with Windows 10 S (I moved it back to S mode afterwards). I fully intended to run this device in S mode as part of the day to day usage of it from day one.

Hardware Overview

Overall the Lenovo Miix 630 is very well designed and it definitely feels like a premium device. The device itself is only 7.3mm thick and that is thanks to the fanless design and the compact Qualcomm chipset. At 3.1 pounds it is a bit heavier than I would have expected, but that is not really a big deal.

Just like the Surface Pro, the keyboard serves as a cover for the front of the device, but it also acts as the kickstand as well. The keyboard cover is very well designed and is fairly similar to the HP ENVY x2 (which in turn is based on the Qualcomm Reference Design for this platform). It attaches with powerful magnets at the bottom of the device and actually requires a bit of force to remove. Also similar to the Surface Pro, the keyboard also folds behind the device when you want to use it in Tablet mode without having to remove the cover entirely.

The Lenovo Digital Pen attaches to the cover with a built-in holder that cannot be removed, and just like the Surface Pro the pen can also magnetically attach to the right side of the device when you are not using it. I would definitely recommend using the built-in holder when transporting the Pen, since it is very likely to fall off. I don’t have a lot to say about the accuracy or quality of the Pen itself, I only ever use it for annotating documents and never for drawing anything, but it seems to work well and is fairly similar to the Surface Pen.

The device itself has very few ports on it, just a single USB C Port and a Headphone jack. To save space on the device, the SD Card and SIM Card share the same slot and is easily opened with the removal tool. If you require additional ports or would like to use USB A devices you have the option of using the device with a USB C Hub. I had the MECO 7 in 1 USB C Hub and it worked perfectly and supported charging as well. It also works perfectly with a regular USB C to USB A adapter as well. I normally use Bluetooth headphones now, but the few times I had to plug in my headphones it sounded perfectly fine. It even supported the microphone on my Jabra headset.

Hardware Specifications

Processor Qualcomm Snapdragon 835 @ 2.21GHz
Graphics Qualcomm Adreno 540
Operating System Windows 10 S
Display
  • 12.3” FHD+ (1920 x 1280)
  • 400 nits, IPS and multi-touch
Camera
  • Front: 5 MP, infrared camera with Windows Hello support
  • Rear: 13 MP, auto-focus camera
Microphones 2 x Dual array microphones
Memory 4 GB LPDDR4 @ 1866MHz
Storage 128 GB UFS 2.1
Audio 2 x 1W speakers
Battery 48 Wh
Dimensions Without keyboard: 210mm x 293mm x 7.3mm / 8.23″ x 11.54″ x 0.29″
Weight
  • With keyboard: 1.39 kg / 3.1 lbs
  • Without keyboard: 770 g / 1.7 lbs
Keyboard and Pen
  • Full sized backlit keyboard
  • Lenovo Digital Pen (uses AAAA battery)
Colour Iron Grey
WLAN 802.11AC (2 x 2) WiFi
Bluetooth Bluetooth 4.1 + Low-energy + security
WWAN LTE Cat 11
Connectors
  • 1 x USB Type-C (Charging, DP, 3.0)
  • 1 x Micro SD card slot (on SIM tray)
  • 1 x Nano SIM card slot
  • 1 x Audio combo jack

Software

The Lenovo Miix 630 came preinstalled with Windows 10 S version 1709. Before I did any updates or made any changes to the device I decided to create a recovery USB drive. I don’t normally do this with my devices anymore since it is easier to just download the latest version of Windows 10 to a USB device, but since this is an ARM device I don’t really have that option. I intended from day one to run this device in S mode, but for curiosity and to do some benchmarking I did upgrade it to Windows 10 Pro for a short period of time. A minor annoyance with S mode is that once you switch to Pro, you cannot easily go back to S mode. Even if you perform a System Recovery through the OS you will always go back to Windows 10 Pro. You can only put the device back into S mode by using a recovery USB drive and doing a complete reinstall.

Once the recovery media was created I updated the device to the 1803 update. Since I am running Windows 10 S I am restricted to running applications that can only be found in the Microsoft Store and the applications that I found myself using the most often were:

  • 8 Zip
  • Termius
  • Torrex Pro
  • Drawboard PDF
  • KeePassReader
  • Pocket Casts
  • iTunes
  • VLC
  • Netflix
  • Microsoft Office Suite (Word, Excel, Outlook, OneNote, PowerPoint)

All of the regular applications that are included with Windows 10 are present and work as expected (File Explorer, Edge, Remote Desktop, Calculator, etc) so that was not an issue for me.

OneDrive came pre-installed as a regular application (it is the only application that shows up in Programs and Features) and behaves the same way as it does on any version of Windows 10. The sync functionality works perfectly fine, and luckily Windows 10 is smart enough to automatically suspend syncing while on an LTE connection.

Something odd that I noticed was that there is an option to install the Windows Subsystem for Linux feature, but there is no way to install any of the distributions from the Microsoft Store:

Lenovo Miix 630 Ubuntu Error

This issue is probably easy to fix, the Linux applications in the Microsoft Store probably just need to be recompiled for ARM.

I have been using Edge as my primary browser for the past 6 months on all of my Windows 10 devices and I don’t have anything bad to say about it. With support for extensions I can easily add important tools such as uBlock Origin and RES. The fact that it handles multiple local media files (such as PDF) means that I didn’t need to worry about adding applications such as Adobe Reader.

Overall the Windows on ARM experience is pretty much the same as you would expect from Windows 10 S mode on a regular x86 platform.

Battery Life

One of the biggest draws to the Windows on ARM platform is the exceptional battery life. Qualcomm and the OEMs that are building these devices are advertising at least 20 hours of battery life and I can easily say that those claims are true:

Lenovo Miix 630 Battery Life

One of the benefits of running this device in S mode instead of Pro is that the emulation layer that Windows on ARM uses to run regular x86 applications is not used at all. I noticed that when I was running the device in Pro mode and using Chrome instead of Edge, the battery life was seriously affected. I was averaging only around 8 to 10 hours depending on the usage instead of the 16+ hours I was getting in S mode. If battery life is important you need to factor this in when you decide if you want to use S mode or not.

LTE and the Always Connected PC

One of the features that I was the most excited about with this device was the inclusion of a built-in LTE modem. Obviously this feature is nothing new, you can easily buy a regular Windows laptop that has this feature as well.

The laptop shipped with a SIM card for the Lenovo Connect service. It was supposed to include 1GB of data per month, but it does not seem to work in Canada. To properly test the LTE connectivity I picked up a SIM card from Rogers and added it as a tablet plan to my account. Once I inserted the SIM card it immediately showed up:

Lenovo Miix 630 Rogers LTE
Rogers LTE, complete with the logo.

Windows 10 is very good at managing LTE on the device, and things like quotas and suspending background services are easy to setup. I normally leave LTE disabled when I am not using it, but it is quite handy to leave it on and still receive notifications when the computer is suspended (and not take a hit on battery life). The Mobile Hotspot function also works quite well, but when you use that feature it is very easy to use all of your data.

Performance

The Lenovo Miix 630 is not going to set any records for performance. The Snapdragon 835 is over a year old at this point and while it is a very capable platform, it could definitely be faster. However, the purpose of this device is to be extremely portable with long battery life, so to expect the performance of a high-end device is not realistic. It is also not the point of this device, since I consider it to be a companion device similar to an iPad.

The onboard storage seems to have fairly good performance (Samsung KLUDG4U1EA-B0C1) and is the same NAND memory that is present on the Samsung Galaxy Note 9. The 4 GB of memory is sufficient, but I have been using devices with a minimum of 8 GB for the last few years so it would be nice to have more memory.

Lenovo Miix 630 Task Manager
Lenovo Miix 630 Task Manager

Most of my usage so far has been with Edge, Outlook, OneNote and Remote Desktop. It handles media very well (VLC and Netflix mostly) and I don’t have any issues with it. I have used the device with a USB C to HDMI adapter and the Microsoft Wireless adapter to project media to a monitor/TV and it handled it without any issues as well.

Overall I am happy with the performance and the Lenovo Miix 630 fits well into my workflow. I know of the limitations of the device the second I go to use it, so I always keep that in mind so I am not disappointed with it.

Issues

No device is perfect and this is definitely a 1st generation device, so I have encountered a few minor issues with the device. The most annoying issue is that sometimes I run into an issue with keystrokes not always being recorded. This is definitely an intermittent issue that doesn’t always happen. I find that when I have the keyboard lying flat instead of propped up the issue happens less frequently.

Another annoying issue is with the screen always trying to automatically adjust the brightness. This only happens when it is on battery power, and I definitely notice it when I am browing the Internet. Whenever I open a tab in Edge I notice the display quickly dims and then goes back up. I am not sure how to fix this, but I am thinking that it might just be a driver issue so hopefully a future update corrects this. The issue even occurs when I disable automatic brightness on the device. However the issue never happens when it is plugged in.

And this is very annoying:

Lenovo Miix 630 cmd.exe
Seriously? Same thing happens with PowerShell and Regedit.

This is a limitation of the Windows 10 S environment and nothing specific to Windows on ARM. I understand why Microsoft disallowed the usage of these utilities, but it is a bit annoying when I need to quickly check a setting.

Thoughts

This is a definitely a generation one device and I think it has promise. The performance of the Qualcomm Snapdragon chips are getting better with every release and it won’t take long for these chips to catch up to the offerings from Intel and AMD.

At the time of this writing, I was using the Windows 10 1803 update. When the 1809 update is released I will update this post if I notice any changes with the device.

Extras

I was able to get an official recovery USB device from Lenovo for Windows 10 Pro S 1709. I used ImageUSB 1.3.1106 (ImageUSB Website) to create the image, and you will need at least a 16 GB USB drive to copy it to a USB drive.

Download: Lenovo Miix 630 Windows 10 Pro S 1709

Commodore History Series

The 8-Bit Guy has been working on a fairly comprehensive history and review of the Commodore Computer family starting from the Commodore PET, to the Commodore 64, all the way to the Commodore C128. I admit that I am complete nerd and I find this entire video series very interesting, mostly because for a brief time when I was a child I had a Commodore 64 and it was technically the first computer that I ever owned. In parts 4 and 5 of the series, he even has one of the engineers (Bil Herd) that actually worked on the Commodore machines give his input and insight to the design of some of the systems.

Here are the links to each video (plus a link to his channel), which I highly recommend subscribing to if you are interested in retro computing/history:

Commodore History Part 1 – The PET

Commodore History Part 2 – The VIC 20

Commodore History Part 3 – The Commodore 64

Commodore History Part 4 – The Plus4, C16, and C116

Commodore History Part 5 – The C128

He created a playlist on YouTube for these videos (Commodore History Playlist @ The 8-Bit Guy) and I can only assume that he will update this in the future.

He is planning on releasing at least one more episode covering the Amiga, but I was never very interested in that platform mostly because I have never actually used one. I also believe there is a possibility of a dedicated episode about the various Commodore clones.

The 8-Bit Guy Channel: https://www.youtube.com/user/adric22

Windows NT 3.51 on Hyper-V

I ran into a few issues with running this very old Operating System as a Virtual Machine on Hyper-V a few days ago. I needed to do this for a personal project that I am working on, one that I have been thinking about doing for a while now. Since I ran into a few issues with getting this to work correctly, I thought I should share my findings and write a quick guide on how to get Windows NT 3.51 Server and Windows NT 3.51 Workstation running on Hyper-V.

The issue that I kept encountering was the installer would constantly crash during installation because of a problem with the Network Adapter. I needed the ability to run Windows NT 3.51 Server as a Domain Controller instead of a standalone Server, so removing the Network Adapter at installation time was not an option for me.

Software

For this guide I used the following software/environment:

  • Windows 10 Pro – Version 1803 (OS Build 17134.320)
  • Windows NT 3.51 Server – Build 1057 (RTM)
  • Windows NT 3.51 Workstation – Build 1057 (RTM)

At the end of the installation I upgraded Windows NT 3.51 Server and Windows NT 3.51 Workstation to Service Pack 5. I also installed NewShell as an experiment just to see how it worked.

Windows NT 3.51

Before I started this project I realized that I have never actually used this Operating System, or have even seen it installed anywhere. My first Windows computer was running Windows 95, and I just never encountered Windows NT 3.51 (why would I, it was targeted towards businesses primarily). I used to run into Windows NT 4.0 all the time when I worked for an MSP a few years ago, but that was it. I think I only ever used Windows 3.1 once or twice and that was it, so I wasn’t even very familiar with the Program Manager/File Manager User Interface.

The history on the creation of Windows NT is definitely an interesting one and I recommend reading more about it if you get the chance. Operating System history and Retro Computing is an interest of mine, and with the availability of Virtualization it is very easy to try out these old Operating Systems without too much effort. The fact that I have to write a guide to get this particular Operating System up and running is a small annoyance, but it is possible.

Why Hyper-V?

I definitely had a lot of options for how I would undertake this project. I was certainly was not going to attempt using real hardware for it, so Virtualization was my only real option. I also did not have the option to use Azure or AWS (not because of the obvious lack of support for Windows NT 3.51), but because I will need to host multiple Virtual Machines later in the project and I simply did not want to pay for that. It doesn’t help that there a lot of options for Virtualization nowadays (QEMU, VirtualBox, VMware), but I settled on Hyper-V because it runs natively on my Surface Laptop without having to install anything extra and I wanted to see if it was possible to do his project with only using Microsoft products.

Virtual Machine Settings

There are a few specific settings that needs to be created in order for these Virtual Machines to work correctly. I won’t go into the specifics on how to create a Virtual Machine in Hyper-V, but here are the details on what the Virtual Machine settings need to be for both Windows NT 3.51 Server and Workstation:

  • Generation: Generation 1
  • Memory: 64MB (you can use more memory if you want, but remember that it is a 32-bit Operating System)
    • Dynamic Memory Disabled
  • Virtual Hard Disk: 1GB (you can create a bigger disk if you want, but you won’t need that much space)

Once the Virtual Machine has been created, go into the Virtual Machine settings and make the following changes:

  • Processor: 1 Virtual Processor
    • Processor Compatibility: Migrate to a physical computer with a different processor version
  • Remove the SCSI Controller (not needed).
  • Remove the Default Network Adapter (not compatible with Windows NT 3.51).
  • Modify the BIOS settings by moving the Floppy Drive to top of list. The proper order should be Floppy, CDROM, IDE, Legacy Network Adapter.
  • Under Integration Services, ensure that Guest Services is disabled.

For the Network Adapter you have two options depending on how you intend on using the Server after the installation is completed:

  • If you are setting the Server up as a Domain Controller, add a Legacy Network Adapter and add it to the Virtual Network that you intend to use. There is a setting that you will need to change during installation to prevent it from crashing.
  • If you are setting the Server up as a regular Server, do not add the Legacy Network Adapter. You will have to add the adapter after the installation is complete. If you are installing the Workstation this also applies.

An additional step that will help with the installation is to enable compatibility for older Operating Systems on the Virtual Machine. There is nowhere to set this in the Hyper-V Manager, it must be set with PowerShell:

PS C:\WINDOWS\system32> Set-VMProcessor "Windows NT 3.51 Server" -CompatibilityForOlderOperatingSystemsEnabled $true

You can confirm that it has been setup correctly with this command:

PS C:\WINDOWS\system32> Get-VMProcessor "Windows NT 3.51 Server"  | fl CompatibilityForOlderOperatingSystemsEnabled

CompatibilityForOlderOperatingSystemsEnabled : True

I did try the installation with and without this setting and I can’ say for certain if it helps or not. I know that it is required for Windows NT 4.0 and Windows 2000.

Pre-Installation

Windows NT 3.51 does not boot from CD for the installation, and you will need three boot disks in order to install the Operating System. I won’t go into details on how to get these disks, but they are easy to find online (you can also create them by using a Windows 9x boot disk and the NT 3.51 CD). To convert them to work with Hyper-V, all you need to do is change the file extensions from img to vfd.

Installation

I won’t go into all of the steps on how to go through the MS-DOS and GUI installation of Windows NT 3.51, I am only going to focus on the Networking components.

If you setup the Virtual Machine without a Legacy Network Adapter, the installer will complain about the lack of a Network Adapter. You can ignore the warnings, just choose the following options to install Windows NT 3.51 without a Network and you will be able to continue the installation without the Network:

Windows NT 3.51 Network Card Message 1
Select the Continue option.
Windows NT 3.51 Network Card Message 2
Select the Continue option.
Windows NT 3.51 Network Card Message 3
Select the No Network option.
Windows NT 3.51 Network Card Message 4
Select the OK option to continue.

If you setup the Virtual Machine with a Legacy Network Adapter, there is a quick change that you need to make in order to allow the installation to complete successfully. For whatever reason the Windows NT 3.51 installer cannot automatically determine the speed of the network, which is set to AutoSense by default. If you change the speed to something else (10 Mbps for instance), the installer will not crash. If you leave it on AutoSense you will very likely run into this error that will crash the installer:

Windows NT 3.51 Installation Error
Thanks for the help Dr. Watson.

I am not entirely sure what is causing the error and given the age of the Operating System and the fact that it is being run in a Virtual Environment (which is was never designed to do) I don’t think I will ever know the true reason. I think it might have something to do with the installer thinking that the Network is up and running when it actually isn’t, and it can’t recover gracefully from the error. To prevent this, make the following changes to the DEC PCI Fast Ethernet DECchip 21140 adapter:

Windoes NT 3.51 Network Adapter Message 1
The Connection type is set to AutoSense by default.
Windoes NT 3.51 Network Adapter Message 2
Change the Connection Type to another speed, 10 Mbps seems to always work.
Windoes NT 3.51 Network Adapter Message 3
Click Continue to proceed with the rest of the installation.

Once the Network settings have been configured you can continue setting up Windows NT 3.51.

Post-Installation

If you installed Windows NT 3.51 without a Network Adapter, you can now safely add it to the Virtual Machine. You will need the installation CD in order to install the drivers and you will be able to configure the Network however you want. You can install it by going to the Control Panel and going to the Network settings.

If you installed Windows NT 3.5 with a Network Adapter you will be greeted with an error message the first time the system boots up:

Windows NT 3.51 Network Error
If you check the Event Viewer, the error states that the Network failed to start.

To correct this issue all you need to do is go to the Control Panel, open the Network settings and set the Connection Type of the Network Adapter to AutoSense. Once the Virtual Machine restarts, the error message will be gone and the Network will be available.

Once the Network settings have been configured, you should fix the Screen Resolution by changing it from 640×480 to 800×600. You will need to restart the Virtual Machine to apply the settings.

Windows NT 3.51 Service Pack 5

It is fairly straight-forward to install Service Pack 5 on Windows NT 3.51 Server and Workstation. I added the file to an ISO image, mounted it on both Virtual Machines and copied it to the C drive in it’s own directory. There are only two commands that you need to run in order to install the Service Pack:

SP5_351I.EXE -d
UPDATE.EXE

The installation only takes a minute and you will need to reboot the Virtual Machine at the end of the installation.

NewShell

The installation of NewShell is entirely optional. I put the files onto an ISO image to move the files over to both Virtual Machines just like the Service Pack files. It only requires one command to install the update:

SHUPDATE.CMD

Reboot the Virtual Machine to apply the update. Once the system restarts you will immediately notice the change:

NT 3.51 OldShell
OldShell
NT 3.51 NewShell
NewShell, looks familiar to another Microsoft product.

If you want to go back to the old Program Manager/File Manager user interface, you can uninstall NewShell by going into the installation directory and running this command:

SHUPDATE.CMD /U

Hyper-V Limitations with Windows NT 3.51

There are a few limitations to running Windows NT 3.51 on Hyper-V, all of which will never be resolved. Hyper-V Guest Additions do not work and will never work. The drivers for the video adapter can only work at 16 colours and maxes out at 800×600 for the resolution. I looked around for third-party drivers but I was not able to find any.

An annoying issue that I ran into with Hyper-V was that when you are accessing the host system over Remote Desktop, you cannot use Remote Capture on the Virtual Machine.

Windows on ARM

I have been thinking about this topic for a long time and I was trying to think of what I really wanted to say. One of things that really bothers me with technology (and I guess other parts of life as well), is that people are not always well informed on what is going on. I have been working in IT for almost a decade and the amount of false information and misconceptions that I hear on an almost nearly basis is absolutely maddening. I have heard so much incorrect information on Windows, Linux, Networking, the Cloud and Security and I have probably spent more time correcting people instead of actually fixing things or implementing new solutions for them. I have no problem in explaining how these things work to people, but unfortunately I cannot understand things for people.

I am not a Microsoft apologist (as I have been accused of in the past by some people) but I feel as though the misconceptions and unfair criticism of Windows 10 and Windows 10 S is unjustified and I want to try and give a fair rundown on where Windows as a platform is going and why it is a good thing that Microsoft is going in that direction. Windows on ARM is an interesting development and I am very interested in it.

Windows NT and Non-x86 Platforms

Not a lot of people realize that Windows can be used on more than just x86 and x64-based hardware. Windows NT was designed from day one to be portable on multiple hardware platforms and was supported at one time on the MIPS, Alpha, PowerPC and Itanium platforms. I am not 100% certain if Windows on ARM (WoA) is the latest hardware platform that Windows has been ported to (I admit that Windows IoT as a platform is not something I follow too closely), but it seems to be the most talked about over the last year with Microsoft’s announcement about their partnership with Qualcomm (https://www.zdnet.com/article/microsoft-to-pc-makers-lets-make-some-windows-10-arm-based-pcs/) and the actual release of devices with this architecture.

There has been a mixed reception on these initial devices that have been released so far, but only time will tell if the platform is successful or not.

It has been a few years since I have really used a non-x86 device running Windows, and that is excluding the many Windows Phone 8/8.1 devices (ARM) that I used between 2012 to 2016 and my Xbox 360 console (PowerPC) that I owned around the same time. I had the opportunity to manage a few Itanium Servers running Windows around 2010 which had some unique challenges that I was not really used to at the time.

The first device that I ever used running Windows in a normal sense (Windows desktop/shell) on a non-x86 platform was the first generation Surface running Windows RT.

Windows on ARM (Round One – First Generation Surface)

When the Surface line was first announced I was very excited, I bought the original Surface the day it became available for preorder back in early October 2012. At the time it was certainly an interesting device, and the specifications are pretty modest in comparison to devices that are available today:

Operating System Windows RT
Processor Nvidia Tegra 3 @ 1.30GHz
Memory 2GB
Dimensions 10.81w X 6.77h X 0.37d inches
Weight 1.5 lbs
Integrated Storage 32GB or 64GB
Screen Resolution and Size 1366 x 768 pixels/10.6 inches (16:9) with 5-point multi-touch
Interfaces
  • 1 x USB 2.0
  • 1 x Micro SDXC Card Reader
  • 1 x 3.5mm Headphone Jack
  • 1 x Micro HDMI
  • 1 x Surface Cover Port
Connectivity
  • WiFi (802.11a/b/g/n)
  • Bluetooth 4.0
Battery 31.5Wh (up to 8 hours)
Camera and Audio
  • Front and Rear 720p HD Camera
  • Stereo Speakers and Microphone
Other
  • Ambient Light Sensor
  • Accelerometer
  • Gyroscope
  • Magnetometer

The most interesting detail that was announced with it was Windows RT. It essentially was just Windows 8, but compiled on the ARM architecture. Only programs that shipped with Windows RT would work (File Explorer, Internet Explorer, Notepad, Office, etc) and only applications available through the Windows Store (now Microsoft Store) would work on the device. Microsoft pitched this as a benefit since a device like this would not be susceptible to problems such as malware or viruses that other platforms had. This did not deter me from buying the device at the time, I was willing to try it with those limitations.

Things were a lot different back then when Microsoft released the first Surface device. Windows RT was a bit of a mess, which I found odd because I actually never had a problem with Windows 8. The Windows Store at the time was essentially a barren wasteland and was missing basic applications that you would expect to be available for any platform. Universal apps were not around yet, which meant that apps that I could run on a Windows Phone would not run on Windows RT, even though they were the same architecture. I can’t say anything bad about the Surface hardware itself, it worked very well and was pleasant to use. It was also nice to get Office for free on the device as well since I did not have Office 365 at the time.

Surface RT
My original Surface RT with Touch Keyboard, in all it’s glory (taken with my iPhone 4S)

I actually really enjoyed using the Surface RT when I had it. It functioned well as both a laptop and as a tablet and I always preferred it over using an iPad. I never had a problem with using Internet Explorer as the only browser, since Chrome was not available on the platform and Edge did not yet exist (yes, I like Edge, it is a great browser in my opinion).

As time went on there were some fun little workarounds to the limitations that people discovered. I remember a few months after launch the ability to side load certain apps such as PuTTY with a minor workaround. I also played around with published Remote Desktop applications at the time which allowed me to load applications such as Visio on a device that was never really meant to support it. It wasn’t a bad device, but it wasn’t quite ready for the masses and it was most definitely a first generation device. Since it was the first Surface device, the kickstand only had one position unlike the newer Surface tablets that can go to any position.

After a few months I ended up selling it and buying an ASUS ultrabook instead since I ran into several issues with some applications that I absolutely needed on a portable Windows device. Obviously the Surface brand went on to be quite successful for Microsoft and my personal daily driver is a Surface Laptop, which I think is an absolutely fantastic device.

Chromebooks, ChromeOS and the iPad Pro

Between the time I had my first Surface device and today my work life has changed quite a bit. I decided to move on from full time roles and moved into contract and consulting work. Since I was never sure where I would be working everyday and I was using transit, I wanted a device that was small and lightweight but also had all day battery life. For connectivity, LTE would be nice to have, but not necessarily a deal breaker since I always had my cell phone with me.

I was always interested in Chromebooks for several reasons. I liked the fact that it was Linux based and had many of the security features that I am used to in a Unix environment. I also liked the fact that it was simple, just being a browser, which I basically do most of my work in (through Office 365). The latest Chromebooks and ChromeOS versions offer more and more features, such as the Google Play Store apps being available.

I picked the ASUS Chromebook Flip C302CA because it was very positively reviewed and met a lot of my requirements, and I wanted to see if I could use it for work. I tried using it for several tasks that I would normally use my Windows 10 laptops for, and to really try it out I took it on vacation for 2 weeks rather than my Surface Laptop. I found it worked exceptionally well for most of the tasks that I needed it for. It supported the Google Play store which allowed me to load many of the essential apps that I needed, it had USB C which easily allowed me to connect peripherals such as Ethernet and HDMI cables and I was able to easily backup my iPhone photos. The battery life was exceptional, plus I could connect MicroSD cards. I was disappointed in Chromecast versus Miracast that my Microsoft Wireless Adapter provided, since it did not require WiFi to operate. Where I was staying didn’t have WiFi, but I don’t think most people would have this issue.

The issues I ran into were mostly with the few applications that I needed to run. RDP applications are not that good on Android, and none of the applications that I used were not able to display at the proper resolution despite my best efforts. I wanted to try installing one of the Linux distributions on it but I decided against it. I don’t like the idea of turning off Secure Boot, which to me that defeated the point of having a Chromebook in the first place. I also just wanted a device that just worked, and that required too much effort and introduced potential issues that I usually did not have time to resolve. I expect my devices to just work and time that I am spending fixing my own devices is time that I am not spending on training or billing my clients.

After trying out a Chromebook I wanted to also try out the iPad Pro. I will say first off that it is an amazing tablet. I am fairly invested in the iOS platform so I found it very convenient to be able to sign in with my Apple ID and just have everything available. There was only one issue with the iPad Pro that I found and it was a deal breaker for me; it is not a laptop. The most frustrating thing for me was the lack of mouse support, which made some tasks completely impossible for me. The Apple Pen was actually very nice to use, but not necessary for me. The builtin LTE was a great feature, but it was not enough to keep me on the platform.

As a side note, why did I not just get the Surface Pro with LTE? The cost is pretty much the main reason (over $2300 CAD with a keyboard), so I never even really considered it because of that.

Windows on ARM (Round Two – Qualcomm)

When the announcement for WoA came out I was a bit skeptical that it would ever produce any actual results. Microsoft announces new products and partnerships all the time, but it does not always mean that a product will make it to market. I knew that it depended on a lot of different parties coming together; Microsoft, Qualcomm and OEM partners in order to actually produce a WoA device. This is part of Microsoft’s Always Connected PC initiative, and the first devices that were released were running the Qualcomm Snapdragon 835 SoC. The other question that I and a lot of other people had was about everything would work and would it be a repeat of Windows RT?

Windows on ARM will be different because of x86 (not x64 at this time) emulation. ARM64 applications will run natively and UWP apps from the Microsoft Store will run without any issues. On the surface, the version of Windows 10 that runs on the ARM architecture is no different from the regular x86 version of Windows 10.

By using the Qualcomm SoC hardware, there are many advantages over regular x86 devices:

  • Instant on ability
  • Cool and fanless design
  • Multi-day battery life
  • Integrated LTE modem for Always Connected PC
  • Low powered standby with the big.LITTLE architecture (allows for background notifications while using minimal power)

There are a few Windows on ARM limitations that you should be aware of:

  • ARM64 Drivers are required for devices
  • x64 Applications are not supported (maybe in the future)
  • Some games with OpenGL may not work
  • Shell Extensions won’t work
  • Windows Phone apps may not work correctly
  • No Windows Subsystem for Linux support
  • Hyper-V is not supported

These are not necessarily issues for some people. Depending on your work load and how you use these devices, these are probably not issues for most people. For one I couldn’t imagine using Hyper-V (or any virtualization) on a device with these specifications. Since Windows 10 on ARM will be using emulation for non ARM64 applications and non UWP apps, there will be a slowdown depending on the application that is running. To expect a large application such as Photoshop to run at the same speed as x86 is unreasonable, but a smaller and simpler application such as Notepad++ should run at the same speed as an x86 device of similar specifications.

Windows 10 S

I talked about the original Surface earlier for a reason, because a lot of things have changed in 6 years on the Windows platform and the Microsoft Store. Even though it seems as though Windows 10 S is exactly the same as Windows RT, this is no longer the case and the limitations can be easily removed if you want.

There are limitations with Windows 10 S, but it really depends on what you are doing with the device. If you are aware of the limitations then you are probably going to be fine using a device running in S mode. One benefit is that you can switch to Windows 10 Home/Pro (depending on the device), usually for free. I however typically like to remain in S mode for a few reasons:

  • I want the security of S mode since only authorized applications will run
  • Extended battery life (x86 apps are a bigger drain on system resources because of background services and emulation)
  • Most of the work that I do in Windows is through a web browser, so separate applications are not needed for my workloads

I believe that the last point really applies to most people, and only a few exceptions. No, you cannot use Chrome, but I will defend Edge on it’s capabilities. It is a perfectly capable browser that supports modern web standards and support plugins for things like Ad Blocking, so I think people should give it a proper chance.

Some annoying restrictions that are a bit of a pain on S mode are lack on Command Line support, but Microsoft is supposed to be working to resolve this in future updates to the platform.

The Future of Windows on ARM

All I can say is that I hope the platform continues to evolve. The Snapdragon 1000 was announced and Qualcomm released their roadmap up until 2023. Since Qualcomm basically never releases a roadmap, this was certainly a surprise to me. Intel has been struggling for the last few years with their product line, and since ARM does not have the same legacy baggage that x86 does, it may be possible with ARM to overtake Intel in the near future.

Microsoft also is planning on retiring the Windows 10 S branding, since it is confusing to people. They are going to enhance the S mode functionality and make it easier to go back and forth between this mode without the need to reinstall the Operating System.

My Experience with Windows on ARM

There are only a few options right now on what devices you can use with the Windows on ARM platform. The HP Envy was pretty much the first to market and it had a lot of negative comments for performance, mostly concerning the choice of SSD in the device.

I ended up trying out the Lenovo Miix 630 which I was testing for a contract that I am working on, and I will be posting a comprehensive review shortly since I have been using it for over a month.

New Website

Welcome to the new online presence for myself, Matthew Burr.

Just a brief background on me, I am an IT Professional specializing in Network Administration and Network Architecture living and working in Toronto, Ontario, Canada, and I have been working in this field for almost 10 years. I have worked at many companies during that time, in various different roles, hopefully making a positive difference at each company.

I own and operate Ten Fifteen Solutions, an IT Contracting and IT Consulting business which I started several years ago. I work with clients of any size, in any industry, so check it out if you want to find more information.

I have gone back and forth on starting a personal website for the last few years, mostly because I never seemed to have enough time to dedicate to it. I no longer have a Facebook account or any other social media accounts, since I find the privacy issues and data collection to be far too invasive. I would also like to control my own destiny in regards to my data and how it is used, so the only way to really do that is to stop using it altogether and use a lot of fun browser extensions and tools like VPN to limit collection of it.

I plan on using this site for a few things. I will use it to upload things of interest for other IT Professionals, share articles/guides that I have written and occasionally ramble about things that will probably never be read by anyone.