Updates from RussellGilbert Toggle Comment Threads | Keyboard Shortcuts

  • RussellGilbert 8:37 am on April 14, 2018 Permalink | Reply  

    Ode to the Burghers of Sussex 

    Dear Parking Peeps of the ancient county of Sussex,

    I’ve dug deep into the Gilbert treasure chest had have duly coughed up. That is to say that handed over the doubloons required by your penalty charge notice.

    It’s a bit disillusioning that you have rejected my cunning, carefully considered and, I thought, perfectly executed challenge to what seemed to me to be a bit of a burghal smash and grab.

    The great scribes of Sussex have recorded my vehicle registration against my permit to park, so the knowledge that I had paid, and was in fact a thoroughly decent member of the citizenry and a jolly nice bloke, was surely within your grasp.

    Whilst I appreciate that the moral high ground in municipal parking barely breaks sea level, compared say to relieving 3rd World poverty, I nevertheless intend to occupy it with the inner calm of an honourable soul.

    Yours, in peace, love & hope.

    Russell Gilbert.

    Scion of Oswald, Osmund & Oslac

    PS. Please spend the 25 quid wisely.

  • RussellGilbert 10:37 am on April 10, 2017 Permalink | Reply
    Tags: Microsoft ID,   

    Dear Santa, For Christmas please arrange for my Microsoft ID to be at peace with the World. 

    For some time, I’ve been trying to live in a seamlessly joined up digital World. iPhone, PC, Mac, my car, my tablets (Surface, iPad & Android) all talking nicely to each other, all my diaries, all my inboxes, all my reminders, on every device, all in sync. Nirvana.

    I’ve come close but each success brings a new hurdle to fail at. With each failure, I can’t help a wistful look at my Betamax video recorder, while I scream, silently to myself, ‘Surely it can’t be happening again!’.

    In search of a backend that works with everything I’ve migrated from the dizzy uplands of Office 365 to the dark side that is Google G-Suite, and then back to Office 365 again. More of this in another post, but the news I wish to bring before my humble reader today (you know who you are) is that along the way I broke my Outlook.com, fixed it, broke everything else and, after much angst, fixed that too…

    Having migrated my whole life to G-Suite, my outlook.com account lay fallow for some time. In migrating back to O365 I wanted to return to Outlook.com too (It’s where my Arsenal FC fixture list is sync’d, obviously vital). They say that absence makes the heart grow fonder, but in this case Outlook.com was basically sulking and refused to show me any of my data merely telling me that it’s server had had quite enough of my non-presence and would never talk to me again. After consulting Mr. Google I logged in to account.live.com, created myself a brand new @outlook.com email address, made it my primary alias and, hey presto! All my data was back. Hoorah! No idea what weirdness is going on in Microsoft’s back-end, but then, I’m not sure I want to know what weirdness is going on in Microsoft’s back-end.

    Anyhoo, with Outlook.com working and my O365 migration done I moved on to some actual work…

    Next job; publish the Xamarin forms app I’m working on to my Azure dev App Service slot. But it was not to be. When I tried to publish V2017 told me I had to re-enter my credentials. The pseudo code for the process would look something like this…

    While (BeingAwkward == true)


        Switch (GetRussellsMicrosoftIdFromHim())


        Case RussellsAtOutlookComId:

    BeingAwkward = true;



        Case RussellsOldId:

    BeingAwkawrd = true;




    BeingAwkawrd = true;




    If (BeingAwkward == true || BeingAwkward == false || AnythingElse())


        BeingAwkward = true;

    } else


        BeingAwkward = true;





    After a happy half hour playing with this infinite loop I consulted Mr. Google again; I called Grey Matter for help (brilliant peeps, by the way); I emailed Scott Guthrie (who’s problem it isn’t, but who is, as we all know, a thoroughly bloody nice bloke). Armed with all this top notch help I soon eventually discovered the problem and the fix…

    • Creating a new alias for my Microsoft account had somehow signed me up for Visual Studio Dev Essentials which had overwritten my paid for subscription (!?).
    • To fix this I had to…
      • Go to the Volume Licensing Service Centre, sign in with my old primary Microsoft ID alias
      • Go to Relationship Summary
      • Select the right agreement (why are there two? I don’t know)
      • Change the associated email address to my new Outlook.com address
      • Logout of Visual Studio 2017 & quit
      • Clear the Visual Studio User cache (Lots of stuff on Google)
      • Restart Visual Studio & re-entered my credentials


    Peace & calm return to the Gilbert household. Microsoft Id’s & aliases playing nicely once more, even amongst themselves. The sun shines brightly in the Azure blue sky. Who knows, the Gunners may even get something out of Crystal Palace tonight.

  • RussellGilbert 10:09 am on April 4, 2017 Permalink | Reply
    Tags: , , Xamarin,   

    Visual Studio and Xamarin Update Pain 

    I’m in the middle of writing a cross platform app (UWP, IOS, Android) using Xamarin on Visual Studio 2017.

    Yesterday, just for fun, I updated stuff on my PC…

    • I set my Windows 10 PC to the Release Preview Ring on Windows Insider and got the Creators update
    • I installed the latest VS2017 update (15.0.26228.12)
    • I updated my MacBook to MacOs 10.12.5 Beta (16F43C)
    • I updated my Xcode to 8.3 (8E162)


    After which some stuff was broken.

    • VS would connect to my Mac & Start the build agent but after a few seconds it would just stop.
    • My IOS app wouldn’t compile. It kept bombing with “The ‘ConvertPdbToMdb’ task failed unexpectedly”.
    • I couldn’t deploy my UWP to my Surface Pro.


    I finished all the updates around 9:00pm last night & started on getting things working again at 8:00am this morning. I’ve just got it all going (10:00am). Here are the fixes…

    Connecting to the build agent: Download and install the latest Xamarin Studio on my Mac (6.2.1 Build 3), reboot my Mac, Restart Visual Studio

    ConvertPdbToMdb task failed: Go to the Build tab on Property page of my common .Net Standard library, click the ‘Advanced’ button at the bottom & set ‘Debugging Information’ to full in the ‘Output’ section.

    Deploy to UWP: Dunno mate. Rebooted my Surface Pro a few times and it started working.

    Amazingly, my Android app – often a source of deployment pain – didn’t even break wind.

    Given all the updates I did at the same time I guess a couple hours of chasing down issues isn’t the end of the World. But, the whole Xamarin/Visual Studio plumbing still feels a bit fragile and it’s frequently not great at giving useful information back. I’m looking forward to seeing how it all evolves now VS2017 is out there. Hopefully, a whole building full of clever peeps at Microsoft are on the case.



  • RussellGilbert 8:33 am on March 29, 2017 Permalink | Reply
    Tags: Entity Framework, Unit Tests   

    Entity Framework 6 Test Doubles 

    I’ve returned to Entity Framework 6 recently, having spent a while in and amongst the muck and bullets of carving my own SQL commands. I’m building a new cross platform mobile app using Xamarin with an Azure WebAPI App back-end and I really want to test my data access classes. EF7 comes with a handy in memory provider that can be uses for unit tests but EF6 doesn’t.

    However, if you go to the Microsoft EF6 repository on GitHub (https://github.com/aspnet/EntityFramework6) all the classes you need are there. I’ve pulled them out into a discrete library that I can simply reference. It didn’t take long and it seems to work a treat, although I haven’t done much testing yet. If anybody wants to save a bit of time, I’ve put the project up on my own GitHub repository.

    You can find it here https://github.com/russellg59/EF6TestDoubles.

    I’ve added a few comments to stop my Resharper whinging but otherwise the code is pretty much as Microsoft wrote it. I’ll maintain it there as I use it, and I’ll test it more as I go but right now it seems to work for the simple testing that I’ve done.

  • RussellGilbert 5:21 am on October 2, 2015 Permalink | Reply
    Tags: , ,   

    The Swiftness of the Code Deceives the Developer 

    Thanks to those who patiently listened to me prattling on about Swift at the Oxford .Net Dev meeting last night. It was really good to catch up with some familiar faces. Here are the links to resources that I promised…

    Beginning Xcode: Swift edition by Michael Knott

    Cocoa Programming for OSX by Aaron Hillegass, Adam Preble and Nate Chandler I didn’t mention this book last night but should have. The projects in there are a great way to get to grips with the new language. These guys are part of Big Nerd Ranch and it’s also worth checking out their website.

    https://developer.apple.com/videos/ (checkout the WDC 2015 videos)

    https://developer.apple.com/videos/wwdc/2015/?id=408 (Protocol-Oriented Programming by Dave Abrahams, professor of blowing you mind)

    Happy coding peeps.

  • RussellGilbert 10:00 am on September 2, 2015 Permalink | Reply  

    Swift Singleton 

    Just read through a forum post on creating a singleton with Swift, which came up with a couple of what seemed to me to be less than optimal options .  I reckon the best way is to just declare your class with a private constructor and then have a static property that returns the instance…

    class Lonely {
      private init() {

    static let instance = Lonely()

    let myLonely = Lonely() // won’t work because there are no internal/public initializers available

    let myLonely = Lonely.Instance // gives you the only possible instance

    This is pretty much the standard approach in C# and it seems to work fine in Swift (2.0 at least, haven’t tested it with earlier versions)



  • RussellGilbert 7:34 am on August 27, 2015 Permalink | Reply
    Tags: , , ,   

    Too much is not enough 

    Been getting myself skilled up on Apple Development using swift lately. As things stand I much prefer C# over Swift and Visual Studio over XCode but it’s early days and the jury should rightly still be out.

    Not too early for one gripe though… Apple please sort your documentation out!

    The fruity ones go to great lengths to make rich documentation easily available from right withing their dev environment. The problem is that whenever you look up a class there’s just too much of it (documentation not the class, that’s a whole different discussion). There’s no concept of a journey that the reader can navigate according to what he or she needs to know at that particular moment. Basically, you have to plough through the whole turgid mass to find what you’re looking for. Wouldn’t it be great if the doc for each class had a summary right at the top with maybe a table showing the methods and properties available? If the methods and properties were well named you might not even have to read any further. The MSDN library does this really well (more pertinent and less verbose code examples though please Microsoft).

    Too much is not enough Apple, what we need is less.

  • RussellGilbert 8:40 am on February 9, 2015 Permalink | Reply  

    See-thru fruit 

    One question in the Apple vs Windows debate was answered for me this week. Mrs. G., a woman of great wonder & a queen amongst her species who is nevertheless prone to treat change with some distrust, had a disaster with her iPhone 5c. Something horrible happened with socket the charger fits into and it stopped charging. My random sticking of small sharp objects into the aperture, surprisingly, yielded little in the way of a fix despite the application of much brute force and ignorance.

    So off I went to the Carphone warehouse to negotiate the vending of a suitable replacement. After a few minutes pleasantly discussing geeky stuff with a very nice man I walked out with a brand new Nokia Lumia 735, running the latest, greatest (so far) version of Windows Phone 8 and a bit. Clearly Mrs. G, would now have a huge learning curve to navigate but….

    1. The particular Lumia 735 I procured is green J
    2. It’s considerably cheaper than an iPhone.

    After a weekend of toil at the coal face of transferring data from an iPhone that I couldn’t plug in and that had naff all in the way of charge left, with a feeling of growing trepidation I set Mrs G free with her new toy. I really needn’t have worried. The Great One took to it like a proverbial duck to the wet stuff. Leaving me to consider the following conclusions…


    1. Mrs G is not just elegant, graceful & beautiful she is also a pretty sharp cookie.
    2. Microsoft is chock full of very clever people who have finally got something right.
    3. It’s simple, stupid. What’s all the fuss about?


    I’m currently erring on the side of option 1 – which at least buys me a few brownie points on the domestic front.

  • RussellGilbert 7:54 am on February 5, 2015 Permalink | Reply  

    Outlook for Android – First Impressions 

    My first impression of the Outlook for Android app is it sucks. Mail’s OK, Calendar’s OK but no Tasks & the People Tab shows bugger all that’s of any use; email addresses but no phone numbers or postal addresses. Maybe these things will be added in future version, although for some reason Microsoft has a complete downer on showing tasks – took them ages to provide this basic functionality on Windows Phone. As it is, however, the Android version of Outlook is of absolutely no use whatsoever to anyone who wants to do actual work and is not just dicking around.

  • RussellGilbert 8:48 am on February 3, 2015 Permalink | Reply  

    Bog Standard Comprehensive (name redacted to protect the innocent) 

    I have some great friends from school but looking back on it the actual education was, for the most part, pretty indifferent. I love science & I love history, how was it possible that the teaching of them at school bored me rigid? Two years of copying notes the chemistry teacher made on an overhead project whilst droning on in a studied monotone didn’t help. Given the passage of time I’m not really sure that the droning was either studied (little at my school was studied I fear) or a monotone, I just remember being bored witless. There were some great teachers too but on balance not enough.

    My advice to parents everywhere, whatever school your kids go to, is encourage them to read, get personally involved in their learning and find ways of making it fun. Almost everything I know that’s important to my life I’ve learned outside school.


    PS The Internet rocks.

    PPS David Cameron, Ed Miliband et al; “Education, Education, Education”, as someone not necessarily known for keeping his word once said.

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc