UK Blog Awards 2017: Voting is open and markwilson.it needs your support! #UKBA17

This content is 8 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Please vote for markwilson.it in the UK Blog AwardsI got a bit of a surprise in my email recently, when I saw that someone had nominated this blog for the UK Blog Awards 2017.  That’s a nice touch – after 14 years and well over 2000 posts (some that even I now regard as drivel and some that people find useful), it’s exactly the kind of feedback that keeps me going!

The site has no marketing team (just me), no social media campaign (just my website and my Twitter feed @markwilsonit) – and now it’s the public vote where I’m up against all of the other entrants in the Digital and Technology category vying for a place on the shortlist of 8 blogs.

So, if you’ve ever found something I’ve written useful (or maybe just because you think I sound like a decent bloke and you’d like to support me), please head over to the UK Blog Awards website and vote for markwilson.it in the Digital and Technology category!

Voting is open from Monday 5th December 2016 at 8:00 until Monday 19th December at 10:00 and each email address only counts once!

Architecture for the Microsoft platform: defining standards, principles, reference architecture and patterns

This content is 8 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

BlueprintIT architecture is a funny old game… you see, no-one does it the same way. Sure, we have frameworks and there’s a lot of discussion about “how” to “architect” (is that even a verb?) but there is no defined process that I’m aware of and that’s broadly adopted.

A few years ago, whilst working for a large systems integrator, I was responsible for parts of a technology standardisation programme that was intended to use architecture to drive consistency in the definition, design and delivery of solutions. We had a complicated system of offerings, a technology strategy, policies, architectural principles, a taxonomy, patterns, architecture advice notes, “best practice”, and a governance process with committees. It will probably come as no surprise that there was a fair amount of politics involved – some “not invented here” and some skunkworks projects with divisions defining their own approach because the one from our CTO Office “ivory tower” didn’t fit well.

I’m not writing this to bad-mouth a previous employer – that would be terribly bad form – but I honestly don’t believe that the scenario I’ve described would be significantly different in any large organisation. Politics is a fact of life when working in a large enterprise (and some smaller ones too!). And what we created was, at its heart, sound. I might have preferred a different technical solution to manage it (rather than a clunky portfolio application based on SharePoint lists and workflow) but I still think the principles were solid.

Fast-forward to 2016 and I’m working in a much smaller but rapidly-growing company and I’m, once again, trying to drive standardisation in our solutions (working with my peers in the Architecture Practice). This time I’m taking a much more lightweight approach and, I hope, bringing key stakeholders in our business on the journey too.

We have:

  • Standards: levels of quality or attainment used as a measure or model. These are what we consider as “normal”.
  • Principles: fundamental truths or propositions that serve as a foundation for a system or behaviour. These are the rules when designing or architecting a system – our commandments.

We’ve kept these simple – there are a handful of standards and around a dozen principles – but they seem to be serving us well so far.

Then, there’s our reference architecture. The team has defined three levels:

  • An overall reference model that provides a high level structure with domains around which we can build a set of architecture patterns.
  • The technical architecture – with an “architecture pattern” per domain. At this point, the patterns are still technology-agnostic – for example a domain called “Datacentre Services” might include “Compute”, “Storage”, “Location”, “Scalability” and so on. Although our business is purely built around the Microsoft platform, any number of products could theoretically be aligned to what is really a taxonomy of solution components – the core building blocks for our solutions.
  • “Design patterns” – this is where products come into play, describing the approach we take to implementing each component, with details of what it is, why it would be used, some examples, one or more diagrams with a pattern for implementing the solution component and some descriptive text including details such as dependencies, options and lifecycle considerations. These patterns adhere to our architectural standards and principles, bringing the whole thing full-circle.

It’s fair to say that what we’ve done so far is about technology solutions – there’s still more to be done to include business processes and on towards Enterprise Architecture but we’re heading in the right direction.

I can’t blog the details here – this is my personal blog and our reference architecture is confidential – but I’m pleased with what we’ve created. Defining all of the design patterns is laborious but will be worthwhile. The next stage is to make sure that all of the consulting teams are on board and aligned (during which I’m sure there will be some changes made to reflect the views of the guys who live and breathe technology every day – rather than just “arm waving” and “colouring in” as I do!) – but I’m determined to make this work in a collaborative manner.

Our work will never be complete – there’s a balance to strike between “standardisation” and “innovation” (an often mis-used word, hence the quotation marks). Patterns don’t have to be static – and we have to drive forward and adopt new technologies as they come on stream – not allowing ourselves to stagnate in the comfort of “but that’s how we’ve always done it”. Nevertheless, I’m sure that this approach has merit – if only through reduced risk and improved consistency of delivery.

Image credit: Blueprint, by Will Scullin on Flickr (used under a Creative Commons Attribution 2.0 Generic licence).

Some UK keyboard advice for running Windows on a Mac

This content is 8 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

After the rebirth of my old Mac Mini as a Windows 10 desktop PC, I had a couple of little niggles to sort out with a UK Apple keyboard:

Clear key - acts as Num Lock when running Windows

  • Where is the hash key? (essential for tweeting!) – Ctrl+Alt+3 creates a lovely # (no, it’s not a “pound” – a pound is £, unless we’re talking about weight, when it’s lb).
  • And, talking of currency, a Euro symbol (€) is Right Alt+4 (just as in Windows), not on the 2 key (as printed on my keyboard).

Another useful link is the Use your Apple Keyboard in Windows with Boot Camp Apple support article.

Turbo trainers, Zwift and other such things

This content is 8 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

A few weeks ago, with Summer turning to Autumn, the wind getting up and the sun going down, my thoughts turned to Winter cycling.  I’ve been considering getting a turbo trainer for a while now and I originally ordered a Jet Black Z1 Fluid Pro until I saw a smart trainer on offer at Wiggle for about £85 more than the “dumb” fluid trainer I was going to get… added to which I got nearly a tenner’s cashback via TopCashback

Bianchi C2C Via Nirone mounted on Tacx Vortex smart trainer wit Zwift running on a Windows PCThe trainer I’ve gone for is a Tacx Vortex and it’s proved pretty easy to set up.  Ideally I’d use a spare wheel with a trainer tyre but I don’t have one and my tyres are already looking a bit worn – I may change them when the bike comes out again in the spring, meaning I can afford to wear them out on the trainer first!  All I had to do was swap out my quick release skewer for the one that comes with the trainer and my bike was easily mounted.

Calibration was a simple case of using the Tacx Utility app on my iPhone – which finds the trainer via Bluetooth and can also be used for firmware upgrades (it’s available for Android too). All you have to do is cycle up to a given speed and away you go!

I found that the Tacx Utility would always locate my trainer but the Tacx Cycling app was less reliable. Ultimately that’s not a problem because I use the Zwift virtual cycling platform (more on that in a moment) and the Zwift Mobile Link app will allow the PC to find my trainer via Wi-Fi and Bluetooth.  There is one gotcha though – on the second time I used the trainer I spent a considerable time trying to get things working with Zwift. In the end I found that:

  • The Tacx apps couldn’t be running at the same time as Zwift Mobile Link.
  • My phone had a tendency to roam onto another Wi-Fi network (the phone and the PC have to be on the same network for the mobile link to work).
  • My Bose Soundlink Mini II speakers were also interfering with the Bluetooth connection so if I wanted to listen to music whilst cycling then a cable was needed!

I’m guessing that none of this would be an issue if I switched to ANT+ – as my Garmin Edge 810 does. The trick when using the Garmin is to go into the bike profile and look for sensors.  Just remember to turn GPS off when using it on a stationary bike (or else no distance is recorded). Also, remember that:

“[…] when doing an indoor activity or when using devices that do not have GPS capability, the [Garmin Speed and Cadence Sensor] will need to be calibrated manually by entering a custom wheel size within the bike profile to provide accurate speed and distance.” [Garmin Support]

[Related reading: Bike wheel circumference and its effect on recorded distance]

And, talking of ANT+ – one thing I couldn’t work out before I bought my trainer was whether I needed to buy an ANT+ dongle for Zwift? Well, the answer is “No”! as the Zwift Mobile Link app works beautifully as a bridge on my trainer – it’s worth checking out the Zwift website to see which trainers work with the platform though (and any other gear that may be required).

I’ll probably write another post about Zwift but, for now, check out:

In the meantime, it’s worth mentioning that I started out riding on a 14 day/50km trial. I was about to switch to a paid subscription but I found out Strava Premium members get 2 months’ Zwift free* and, as that’s half the price of Zwift, I’ve upgraded my Strava for a couple of months instead!

So, with the trainer set up in the garage (though it’s easy to pop the bike off it if we do have some winter sunshine), I can keep my miles up through the Winter, which should make the training much, much easier in the Spring – that’s the idea anyway!

*It now looks as though the Strava Premium-Zwift offer has now been limited to just November and December 2016 – though I’m sure it will come around again!

Follow-me calls with Skype for Business

This content is 8 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

18 months ago, I joined the team at risual – and I’ve been meaning to write this blog post since, well, since just about the time I joined the team at risual!

In previous roles, I’ve used a mish-mash of communications systems that, despite the claims of Cisco et al have been anything but unified. For example, using Lync for IM and presence, with a hokey-client bridge called CUCILync to pass through presence information etc. from the Cisco Call Manager PBX; then a separate WebEx system for conferencing – but with no ability to host PSTN and VoIP callers in the same conference (either set it up as VoIP or as PSTN). Quite simply, there was too much friction.

Working for a Microsoft-only consultancy means that I use tools from one vendor – Microsoft. That means Skype for Business (formerly Lync) is my one-stop-shop for instant messaging, presence, desktop sharing, web conferencing, etc. and that it’s integrated with the PSTN and with Exchange (for voicemail and missed call notifications).

The one fly in the ointment is that my company mobile phone is on the EE network. EE’s 4G coverage is fast in urban areas but the GPRS signal for calls can be pretty poor and the frequencies used mean that the signals don’t pass through walls very well for indoor coverage. One of the worst locations is my home, which is my primary work location when I’m not required to be consulting on a customer site.

Here, the flexibility of my Skype for Business setup helps out:

Example call path using Skype for Business

By setting a divert on my company mobile phone to a DDI that routes the call to work, I can let Skype for Business simultaneously call any Skype for Business applications running on my devices and the PSTN number for my personal phone (which, unsurprisingly, is on a network that works at home!). Then, I can answer as a PSTN call or as a VoIP call (depending on whether I have my headset connected!).  If I can’t take the call, then a missed call notification or voicemail ends up in my Inbox, including contact details if the caller was in the company directory.

Outlook missed call notification (redacted)
Ever-so-occasionally, the call is diverted to my personal voicemail, rather than transferring back to work and into Exchange, but that only seems to happen if I’m already engaged on the mobile. 90% of the time, my missed calls and voicemails end up in my Inbox – where they are processed in line with my email.

With new options for hosting Skype for Business Online (in the Microsoft cloud, as part of Office 365), it’s shaping up to be a credible alternative to more expensive systems from Cisco, Avaya, etc. and as an end user I’m impressed at the flexibility it offers me.  What’s more, based on the conversations I have with my clients, it seems that the “but is Lync really a serious PBX replacement?” stigma is wearing off…

A new lease of life for some of my old Macs

This content is 8 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Apple iMac G3For as long as I can remember, I’ve had a selection of PCs (Windows, Mac or Linux) in the house running a variety of operating systems. The Windows machines come and go – they are mostly laptops provided for work (either mine or my wife’s) – although we also have a Lenovo Flex 15 as “the family PC” (in reality, it’s difficult to get near it most of the time as the kids are using it!). Linux is normally for me to do something geeky on – whether that’s one of the Raspberry Pis or an old netbook running Ubuntu to easily update an Arduino, etc. The Mac purchases require a bit more consideration – their premium price means that it’s not something to go into without a great deal of thought and, although I still regret selling my Bondi Blue G3 iMac (one of the originals), I have 2006 and 2012 Mac Minis, and a late-2007 MacBook.

2006 Mac Mini running Windows 10!

Earlier this year, I brought the 2006 Mac Mini back to life with a SSD upgrade and, although it’s not “supported”, I managed to install Windows 10 on it (actually, I installed Windows 7 via BootCamp, then updated). It’s working a treat and, although it only has 2GB of RAM, it’s fine for a bit of web browsing, social media, scanning documents, etc. The only thing I haven’t been able to get Windows to recognise is my external iSight camera – which is a great device but has long since been discontinued.  I had some challenges along the way (and I can’t find all of the details for the process I used now) but some of the links I found useful include:

I also found that my aluminium Apple keyboard (wired) wouldn’t work for startup options; however, if I plugged in an older Apple White Pro keyboard, I was able to use startup options! I later found a forum post (when I was writing this blog post, but not when I originally had the issue) which suggests that a firmware update will fix the issue with the aluminium keyboard.

Once Windows 7 was installed on the Mac, it was just a case of following the Windows 10 upgrade process (back when Windows 10 was still a free upgrade).

Late 2007 MacBook destined for the scrap heap

The MacBook has been less successful. Not only has the keyboard rest broken yet again (for a third time) and the replacement battery that’s only had around 90 charges is completely dead after a couple of years of not being used, but it seems the latest supported Mac OS X version is 10.7.5 (Lion). I had hoped to bring it out of hibernation for use in the garage with Zwift but that needs at least OS X 10.8, leaving me waiting for an iOS app for Zwift (it’s on the way), or borrowing the family PC from the kids when I jump on the turbo trainer. Regardless, with no battery and an ancient OS, it looks like this MacBook is about to go to PC heaven…

2012 Mac Mini going strong but watch the updates…

The 2012 Mac Mini running OS X 10.10 (Yosemite) is still supported and I’m considering installing macOS 10.12 (Sierra) on it.  I say considering, because that looks likely to force me to spend money on a Lightroom 6 upgrade (with Lightroom 7 just around the corner, based on the fact that we’re up to 6.7 now). I also skipped OS X 10.11 (El Capitan) which I now regret, because that means it’s not in my purchase history so I can’t download it if I ever need an older MacOS version.

Live-editing the DOM to expose graphics on web pages

This content is 8 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

I recently wanted to use a graphic of all the current Microsoft datacentre regions for a customer presentation (to be delivered in Microsoft’s offices, in partnership with Microsoft, so copyright was not a concern).  The Azure website has a suitable graphic but there are elements that hide some of the content and saving the picture just saves the overlay with the locations, not the map behind.

I’d seen my sons using developer tools in a browser to change the colours on the page – and that gave me an idea… what if I used the developer tools in my browser to turn off elements, one by one, until I got back to the underlying graphic?

So, by right clicking on one of the elements I wanted to remove and choosing Inspect Element, I was able to view the associated code, delete a <div> or two and peel back the layers.

After that, I was a copy-and-paste away from the graphic I needed to add to my presentation.

This method doesn’t work in all cases – for example it didn’t help me lift the graphics from the Directory of Azure Services (which I find to be more visually appealing than the ones available for public download in the Microsoft Azure, cloud and enterprise symbol/icon set but appear to be in one large scalable vector graphic). Even so, live-editing the Document Object Model (DOM) made the geek inside me feel good!

Somfy roller-shutter garage door stopping part way down

This content is 8 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Last year, I replaced our up-and-over garage door with a roller-shutter version.  It wasn’t new; our neighbour converted her garage so I bought her nearly-new door but that means I didn’t have a professional installer to fall back on when it stopped working recently.

The garage door control system is a Somfy Rollixo RTS and last week, we found that the door would come part way down and then stop, as though there was an obstruction. After winding it down manually one morning, Mrs W was not happy and I promised to take a look when I got home. I couldn’t find the problem – what’s more I couldn’t troubleshoot it using the manual either.  What I did notice though was that, rather than the two red lights I’d expect to see for a safety-edge transmitter low battery indication, I had one red light on the control box, and one orange light on the safety-edge transmitter (which is fitted to the door curtain).

Somfy Rollixo RTS instruction manual has incorrect diagnostics for low battery warning on safety-edge transmitter

I found I could over-ride the cut-out by pressing and holding the remote control button, and set off to the Internet to find a replacement 3.6V Lithium AA battery. First mistake was not reading the Google results carefully enough and ordering a 2/3 AA battery from Farnell/Element 14. Now I can’t return it as I can’t find a courier who works with consumers and will carry Lithium batteries! In the meantime, I’ve bought the correct (AA) battery and, this morning, I swapped it over, after which I found the door operated as it should. That was a relief, as I feared that swapping over the battery would wipe some settings and require me to re-programme the door.

So, why blog about something as trivial as changing some batteries? Well, because the instruction manual is wrong and my experience might help someone else!

Keeping up to date with developments in the Microsoft world

This content is 8 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

One of my customers asked me today how I keep up to date with developments in the Microsoft world.

The answer is, “with great difficulty” but I do have a few resources at my disposal. Rather than create a blog post which will quickly be out of date, here’s a OneNote Notebook that has the info (and is more likely to be kept up-to-date).

I also get a fair amount of information directly from Microsoft, either as a P-TSP or through my work at risual but some of that is under NDA. Hopefully the links in the OneNote (which I will expand over time) will help…

Update on data residency options for Office 365 customers in the UK

This content is 8 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Back in September, Microsoft started offering Azure and Office 365 services from UK datacenters.  At the time, there was no announcement for customers who had existing Office 365 tenants (hosted elsewhere in Europe) about how to move data to the UK but, earlier today, my colleague Brian Cain (@BrianCainUC) tweeted about a Microsoft article titled “moving core data to new Office 365 datacenter regions“. This isn’t a new page but it seems Microsoft has quietly updated it to include reference to a new Data Residency Option for the UK (updated 3 November 2016):

“[Microsoft] offer existing customers that have strict data residency requirements, and that are listed in the table below, an option to have their core customer data moved to the new region.”

Customers with billing address in Previous datacenter region New datacenter region Region available since Announcement
United Kingdom Europe, Middle East, Africa United Kingdom September 2016 Office 365 Blog

[some rows have been removed from the table above]

Previously the UK was covered by the statement that:

“The data residency option, and the availability to move customer data into the new region, is not a default for every new region [Microsoft] launch. As [Microsoft] expand into new regions in the future, [Microsoft will] evaluate the availability and the conditions of data moves on a region by region basis.”

I, and my colleagues at risual, have seen a lot of interest from customers who are UK-based but have Office 365 tenants that were created before 2 September 2016; however my colleague Paul Wooldridge highlighted that the option to move data is time limited.

Microsoft’s “How to request your data move” page is clear that for UK customers the request period begins on 1 December 2016 and ends on 28 February 2017 [update 7 December 2016: my colleague Gavin Morrison spotted that the page has been updated to state 12 December 2016-10 March 2017. Update 12 December 2016: the page has now been updated with date “to be determined”], the actual migration of the data can take up to 2 years, and that:

“[Microsoft is] unable to accept requests to be moved after the deadline in each region”

So, if you’re looking to “Brexit your data”, you have a 3 month window in which to make the request, and potentially up to a 2 year wait. Also, once moved, there is no way back – at least not without performing your own tenant-to-tenant migration.

Further reading

Microsoft’s UK datacenters: what you need to know.