Prism: INotifyPropertyChanged implementation usage with BindableBase

Did one of these 3 years back for Windows Phone 8.1 I guess.

Gist for this new one here.

Step 0 – In Visual Studio, start a new Blank App (Universal Windows)

Step 1 – In Visual Studio, install Prism.Windows

PM> Install-Package prism.Windows -Version 6.3

Note that doing this caused prism.Windows to appear in the project references.

Step 2 – to start off tidy, add folders View, Model, ViewModel to the project

Step 3 – create a viewmodel file(s) (e.g. MahVm.cs as below),  and follow the code below, noting that MahVm inherits from BindableBase (once you add in the using for Prism.Mvvm)



Windows 10… N – don’t use it for app development.

At least, if the app in question uses speech. Background is that I routinely use Azure VMs for development… so let’s extend that to writing apps. The ready-made VMs that also include Visual Studio are the “N” variants. So I used them, as usual. However, I wasted a number of hours failing to get to the bottom of this error when executing a pretty standard block of text-to-speech code (at the time I was not questioning whether “N” was OK to use):


Class not registered

at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at System.Runtime.CompilerServices.TaskAwaiter.
ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.
HandleNonSuccessAndDebuggerNotification(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
 at HW.MainPage.d__1.MoveNext()} System.Runtime.InteropServices.COMException

I spent a lot of time after that trying to debug, googling up the wrong tree, reinstalling various releases of Visual Studio, all with the same, bad, result. In fact I should have just gone to bed, because as ever a tiny light bulb came on when I thought about… N.

So this morning I googled issues around Visual Studio and Windows N 10, and almost immediately found this:


So I tried the media feature pack, got a message that “does not apply to this installation” or somesuch. Yes I could have persevered, but decided to trash the N instance, and create a non-N instance, and manually install Visual Studio, and this sample. And then it was all fine.


And I thought there might be some issue with trying to do speech on a VM, but that was all fine, and came loud and clear through my speakers on my host PC. QED.



Just dumping notes tonight, as just need to get things recorded and move on.

Install-Package Microsoft.TeamFoundationServer.ExtendedClient -Version 15.112.1

lambda-tester: verifying callbacks

Their (see post from last night) documentation is really clear with good examples that you can easily work from.

So I’ve now moved on to trivial callback verification. Some screenshots as I inched forward…

npm install chai -g
npm install chai --savedev
npm init




Git: move or rename a file or folder


If you want to change the case of a file or folder, but not rename it, then you need to do this in 2 steps. E.g. given a folder [Test], that I want to change to [test], then do this:

git mv Test temp

git mv temp test

Github Desktop, for example, will interpret that as a single rename (Test -> test), and you can commit without further ado. I could not find a single step way to do this rename.


Linux (Zorin 12.1): what can you do

This is firstly a test post, using Chromium on Linux, specifically Zorin. Although 30 (ahem) years ago I might have considered myself a Unix whizz… well I’ve forgotten a lot of what I knew. It’s sitting there, but needs to be teased out. And of course at that time there was no GUI to speak off.

The very first positive thing I note is that speed of bootup (I have installed native rather than live) compared to Windows (7 in this case). The mechanical disk in the old laptop I am using really struggles to return the command prompt in less than say 5 minutes on Windows, whereas having wiped Windows and replaced with Zorin, I would say it is close to 1 minute. It’s entirely my impression and anecdotal.

Apart from installing LastPass for Linux, my first non-admin task is to install Android Studio. Instructions for Linux are here.