Smart lighting: Part 1 (getting started with Philips Hue/Zigbee)

This content is 4 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.

Earlier today, I spotted a tweet from Karan Chadda (@kchadda) that reminded me of an unfinished blog post from 2017…

So, here’s part one of the story that never got posted…

A new Hue

Around four years ago, I began an experiment. Hot on the heels of success with a Wi-Fi activated smart socket (a TP Link HS-110), I thought I’d expand on my home’s Internet of Things (IoT) credentials with some smart lighting.

I should explain that my house is a fairly typical UK house: a 1990s-built, detached property, with some pretty uninspiring pendant lights in most rooms. The kitchen/dining room is a little different, as it has low-voltage MR16 spotlights. These were recommended by the electrician who worked on our extension in 2009.

I did some research, and decided that I wouldn’t go down the Wi-Fi route. Not only were the bulbs expensive but it’s not a great use for Wi-Fi (and at the time my home Wi-Fi performance was pretty flaky). Instead, I went for a Zigbee-based solution, with Philips Hue at its heart.

The Hue gateway is pretty easy to set up – it just needs a wired connection to the network. Most home routers have a few of these; my setup is a little more extensive, with PowerEthernet running to my office and other locations that are away from the Internet connection but have a need for wired network connections. With a gateway in place, it was just a case of strategic lightbulb swap-outs, taking out traditional bayonet-fit (B22) bulbs and replacing them with smart equivalents.

Smart lighting, not so smart users…

At this point I should explain, all the smart technology is useless if the circuits aren’t left powered on. And this has been the major flaw in my plan. Our family is divided between the geeks (myself and my eldest son), and the “normal” tech users (my wife and my youngest son). If I was being less charitable, I might put my wife into the laggards category but, to be fair, she’s happy to adopt technology when she can see its value.

For me, part of that value was the ability to set up routines so that lights turn on/off when we’re away from the home. I also have one that turns all the lights off after everyone has gone to work/school (because physical switches appear to only work in one direction for my family – they can all turn lights on, but seemingly not off – I believe this is a common complaint for Fathers up and down the land, walking around houses turning lights off in empty rooms, even during daylight hours).

The biggest drawback I found was that I’ve yet to identify suitable Zigbee switches for the UK market. That means that, when the circuit is switched off (usually when leaving the house or going to bed), the lights are no longer controllable in software. On the flip side, the less-technically-inclined family members can operate the lights as normal, with the only minor inconvenience being, if the light has been turned off in software, they need to flick the switch off and on again to turn on the light “manually”.

Those in other parts of the world may have more luck – have a listen to these podcast episodes or watch some of the videos on this channel:

Form factors and accessories

Over time, I’ve expanded the system and I now have smart bulbs in the communal areas (hall, stairs, landing, etc.) as well as in the home offices and some of the bedrooms.

Unfortunately, there are no suitable MR16 Hue-compatible bulbs, so the rooms with those lights still have traditional halogen (for dimmer-controlled rooms) or LED spotlights. I’ve also stuck with “normal” bulbs in the bathrooms.

I’ve added a Hue sensor in the garage storeroom (so the light comes on when we open the door) and a couple of Hue dimmers, one of which has moved between various rooms over the last couple of years but is currently in our loft room. For the dimmer, I bought a Samotech adapter that covers the original light switch (left switched on), whilst still allowing the Hue dimmer to attach magnetically.

Samotech adapter in use with a Philips Hue dimmer and a standard UK light switch

The verdict?

All in all, things are working well. After nearly four years I’ve only had one failed bulb (replaced under warranty after about a year). The Philips Hue system seems to be a widely supported platform, with plenty of integrations (e.g. to smart home assistants) and the use of third-party bulbs in places has helped me to keep costs down to a reasonable level (I’ll write about these in my next post).

Acknowledgements

Featured image by HeikoAL from Pixabay.

What’s the future of the office?

This content is 4 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.

2020 saw huge changes in the way that we work. The COVID-19 novel coronavirus forced home working for millions of people, and left office blocks empty for weeks or months at a time. As we enter 2021, will that change? And will we ever go back to our previous work patterns?

I don’t have a crystal ball, but I’d have to answer that with a “yes” to the question of change and a “no” to the return to 2019 working patterns.

Unfortunately for commercial landlords (and so for large chunks of our pension funds), the genie is out of the bottle. Remote and flexible working is now normal. Physical distancing requirements mean that offices can’t operate at their previous capacity. We simply cannot go back to a world whether offices squeeze people into banks of hot desks based on a 6 desks for every 10 people model. And as for lifts – pah! You’d better get used to climbing the stairs.

Even my rather poor fortune-telling skills come to the conclusion that we have to find a new way to use office space. And conversation with others more intellectual than I has led me to the conclusion that, rather than offices being the place for people to meet and come together to do work, they will be the places of safety for those who cannot work at home.

Offices as a meeting space

In April 2020, I’d probably have said that we still need somewhere to go and meet. Humans need contact, and some of our best work is done together. I’m itching to go back into an office, grab some pens and write on the walls, as I get increasingly excited by a concept and thrash out the details with my colleagues.

As 2020 continued, we got used to doing everything on a small screen. Whilst I seem to hear nothing but universal hatred for Microsoft Whiteboard (personally, I can’t see the problem) and tools like Miro are lauded as the latest and greatest, we are getting used to working as remote teams.

The problem comes when we have a hybrid approach with groups of people “in the room” and groups outside, as Matt Ballantine (@ballantine70) has noted on multiple occasions, including the Twitter thread below:

Offices as a place of security

Some work needs to be performed in a secure environment. Arguably that could still be remote (digitally secure) but if analogue paperwork is involved then that could be a challenge.

And not everyone has a place at home in which to work, securely. For some, a kitchen counter, shared with children for their homework, may not be the best place for work. Similarly those who live with parents or in a shared house with friends may only have a bedroom in which to work. If your work is harrowing (e.g. social work), do you really want to sleep in the same room?

We need to provide a place for people to work who don’t have the option of remote work. Offices will continue to function for that purpose and it’s entirely possible that making these spaces COVID-secure will see “hot desks” return to single-person occupation.

The rise of localism

Many people are concerned about the impact of reduced office working on local businesses. What about the cleaners (if anything, they have more to do)? What about the sandwich shops? What will this mean for the country’s future transport needs?

Whilst I have genuine sympathy for the independents that are no-doubt struggling with reduced footfall and enforced closures, or partial closures, that sympathy does not extend to the Pret a Mangers and Wetherspoons of our identikit town centres. I am concerned for the people that work in these businesses but not for the corporates that own them.

But, for every pound that’s not spent in big towns and cities, there’s another that’s spent in a local economy somewhere else. The small town where I live appears to be thriving – people who previously commuted and simply weren’t in the town during weekdays now use the Thursday market and the local shops. The local coffee shop has even opened new branches.

We’ve also seen banks, for example, starting to bring spaces above branches into use as local touchdown centres, rather than encouraging workers to commute to large offices in major towns and cities.

This rise of the local economy is good for society in general and good for finding a work-life balance.

Helping people to do their best work

Perhaps the real purpose of the office is to help people to do their best work. That may take a variety of forms but it’s also where technology can help. We need to provide the safe working environment. We need to provide the collaboration spaces, whilst remaining physically distanced. We need to keep people communicating.

  • The way we work has changed and we cannot rely on being co-located.
  • “Working out loud” has to be the operating model, supported by flexible technology and processes that encourage collaboration.
  • And services provided across the Internet are now at the heart of this transformation.

Some Business Transformation may be required, to make sure the processes can keep up with new ways of working – but, whatever the future of the office is, we can be sure of continued change over the coming months and years.

Acknowledgements

Large parts of this post are based on conversations with Matt Ballantine and others on the WB-40 Podcast WhatsApp group. Thanks to Matt and to Chris Weston for the inspiration and for providing this community where we often work out loud, in digital safety.

Featured image by MichaelGaida from Pixabay.

Installing Google Play on an Amazon Kindle Fire tablet

This content is 4 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.

Amazon’s Kindle Fire tablets are excellent value but they run their own version of Android (Fire OS). Fire OS doesn’t include Google’s app store (Google Play) and the Amazon store has fewer apps.

This is not the first time I’ve blogged on this topic but both Android and the Fire OS have moved on considerably, so I thought it was time for an update.

Over the years, I’ve had a few Kindles: first I bought one of the eInk devices; then I bought a Fire HD in 2016, and another in 2018 because my first one was lacking in memory. Then, after an accident with a water glass by my bedside, my 7th generation (2018) Fire HD was fried (I don’t think it was water damage – I think an electrical surge damaged it) and I needed to replace it. Luckily, it was close to “Amazon Prime Day” and so my 2020 Kindle Fire HD was not too big a hit on the wallet…

That means that, every couple of years, I’ve needed to go back around the loop of installing Google Play on my Kindle. On this most recent occasion, I was pleased to find that the process is just as simple as last time. It just needed me to download and install four APK files, making sure they were from a reliable source and in the right order.

Some good advice

The advice I followed this time was from Corbin Davenport (@corbindavenport)’s Android Police article. As I write this, I’ve found it was updated a few days ago to help with any Christmas 2020 purchases. You can find the details at The ultimate guide for installing the Google Play Store on Amazon Fire tablets.

For my 10th generation Kindle Fire HD 8, I needed:

  • Google Account Manager 7.1.2 (com.google.gsf.login).
  • Google Services Framework v9-4832352 (com.google.android.gsf).
  • Google Play Services (64-it ARM,nodpi, Android 9.0+) (com.google.android.gms).
  • Google Play Store (universal, nodpi) (com.android.vending).

To find which generation of tablet you have, either check on the device (in Settings, Device Options, About Fire Tablet) or in your Amazon account (Manage Your Content and Devices). Then, use the Android Police article I mentioned above to download the appropriate APK files.

That sounds a bit technical…

If it all sounds a bit “geek”, yes, it is. But all you are really doing is installing some Android modules that Amazon does not provide. The installation process is simple, as long as you:

  1. Are familiar with downloading files on an Android device and know how to find them.
  2. Have removed any SD card that may be installed (to make sure the apps go onto internal storage).
  3. Have allowed the installation of apps from unknown sources, for the Silk browser – which you will use to download the APK files.
  4. Install in the order listed above (files ending login, gsf, gsm, vending) and install them all before opening any of them.

Once you’re done and have restarted the device, you should see the familiar Play store icon and will be ready to install your favourite Android apps.

The end result

My Kindle is now fully loaded with a stack of Android apps. I use:

  • All the British TV on-demand apps (BBC iPlayer, ITV Hub, All 4, My5).
  • HDHomeRun for live TV streaming.
  • Spotify, YouTube, Plex, Sonos, VLC for most of my music and video needs.
  • TV Guide.
  • Some smart home stuff (like Philips Hue and, of course, Amazon Alexa).
  • Microsoft Office Apps and the Microsoft Remote Desktop Client.
  • Google Chrome (and Microsoft Edge) because the Amazon Silk browser is pretty poor – I only used it to download the APKs to install Google Play!
A selection of Android apps and the Google Play Store on an Amazon Kindle Fire tablet

Some of these apps are available from the Kindle store but I generally install from Google Play to get the latest versions and to simplify update management.

Invalid/missing request nonce when connecting WordPress to Google Photos

This content is 4 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’ve wanted to make my blog posts more visual for a while but selecting good stock images takes time. Creating them takes even more time!

Anyway, I decided to include an image from Pixabay (with credit) in yesterday’s post as well as in the one that I’ve scheduled for after my return to work in January.

I could quickly fill up my web space with images and I didn’t really want to expand my WordPress database with images either (they are currently hosted in a folder structure) but there is an option in WordPress to include media stored in Google Photos.

Unfortunately, my attempts to authorise access were met with a message about an “invalid/missing request nonce” (whatever that is). I tried another computer, in case the problem was related to cookies, or to restrictions on my work PC, but that was no help.

Then I tried another route…

Logging into wordpress.com (even though my blog is self-hosted with wordpress.org) and managing the marketing connections gave me an alternative interface to authorise WordPress with Google Photos. That then jumped into life:

WordPress.com Marketing and Integrations page, showing succesful connection to Google Photos.

After this, I could easily insert images from Google Photos into my blog posts.

And seriously, whoever decided that WordPress has something called a “nonce” should look it up in colloquial English

Featured image by Kevin Phillips from Pixabay.

What does it mean to work flexibly?

This content is 4 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.

2020 has brought many things – not all of them welcome – but for many office workers one of the more significant changes has been the acceptance of working from home.

Of course, there are many jobs that can’t be carried out remotely but, for a lot of people, the increased flexibility that comes with home working is a benefit. For others, it may be less welcome – for example those who do not have a regular place to work from, or who share a house with family who are also competing for the same resources. That means that offices continue to have a role but we’re not quite sure what that is yet. One thing does seem certain: it will continue to evolve over the coming months.

Outputs, not inputs

I’ve been fortunate to have worked from home for some of the time for many years. I’ve been contractually based from home since 2005 but even before then I tried to work from home when I could. What I’ve seen in 2020 is organisations where managers previously wouldn’t allow their teams to work from home being forced to accept change. Very quickly. A culture of “presenteeism” was often rife and sometimes still is. Some organisations have transferred poor office-based culture to a poor online culture but others have embraced the change.

Moving to remote work means providing flexibility. That certainly means flexibility in where work takes place, but it may also mean flexibility in when the work happens.

My own work is contractually 30 hours over a 4 day working week. In reality, it’s not based on hours, it’s based on outputs – and I put in what is needed in order to deliver what is expected of me. That will almost always take more hours – and sometimes there’s a fine balance. Sometimes, I have to say “enough”. I’ve learned that modern work is never “done”, just that priorities change over time. And, as a manager, I have to look for the signs in my own team’s workload and be ready to reassign work or adjust priorities if someone is overloaded whilst a colleague has gaps.

Crucially, I don’t need my team to be in front of me to manage them.

“Working hours”

Similarly, many of us no longer need to be tied to the “9 to 5”. Some roles may require staffing at particular times but, for many office workers, meetings can be scheduled within a set of core hours. For organisations that work across time zones, that challenge of following the sun has been there for a while. Avoiding the temptation to work extended days over multiple time zones can be difficult – but, conversely, working in bursts over an extended period may work for you.

I’m mostly UK-based and nominally work on UK time. For many years, I’ve had an unwritten rule that I don’t arrange meetings first- or last-thing in the day, or over lunch. If that means that all of my meetings are between 09:30 and 12:00 or between 14:00 and 16:30, that’s fine. A solid day meetings is not good. Especially when they are all online!

Before 09:30 people with chlldren may be on the school run. Those with other dependents may have other responsibilities. Everyone is entitled to a lunch break. At the end of the day there may be other commitments, or maybe another meeting is just not going to get the best out of people who have already been in back-to-back Microsoft Teams calls.

Often, I’ll return to work in the evening to catch up on things. That’s not to say I expect others to. I actually have a disclaimer on my email which says:

“My working hours may not be your working hours.  Please do not feel any pressure to reply outside of your normal work schedule. Also, please note that I do not normally work on Fridays. Another member of the risual team will be happy to assist in my absence.”

It’s about setting expectations. In a previous role, I wrote about my email SLA but people shouldn’t feel pressured to respond immediately to email. As a former manager once told me:

“Email is an asynchronous communication mechanism over an unreliable transport.”

[Mark Locke, Fujitsu, approx 2010]

When working across time zones, that’s particularly important but we should also be empowered to work when it works for us.

For me, I’m not great at getting up in the morning. I often get into flow in the late afternoon and work into the evening.

So, whilst I’m sure messages like this one in Microsoft Outlook from My Analytics are well-intentioned, I don’t find them helpful because they are based on the concept of “working hours”. Yes, I could delay send, but what if that person likes to start their day early?

My Anaytics prompt in Microsoft Outlook to consider delaying an email until working hours.

On the basis that email should not be time-sensitive (use a chat-based medium for that – maybe even a phone), it shouldn’t matter when it’s sent, or received. The workplace culture needs to evolve to prevent the “I sent you an email” response from being acceptable. “Ah, thank you. I haven’t seen that yet but I’ll make sure I watch out for it and respond at an appropriate moment.”.

Time to adjust our expectations?

So, in a world of increased flexibility, with colleagues working at a time and place that works for them, we all need to adjust our expectations. I suggest thinking not about when a message is sent but instead about whether email is actually the right medium. And, as for whether we need a meeting or not… that’s a whole blog post in itself…

Featured image by congerdesign from Pixabay.

Investigating my not-so-superfast broadband

This content is 4 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’m constantly frustrated by my broadband speeds. They are not bad, but not as good as they should be either, especially not when marketed as “superfast broadband”. And the real-world speeds seemed to drop about 10% when I switched ISPs from PlusNet to Vodafone a couple of years ago. I think I’m out of contract now, so it’s a good opportunity to take a look at what is possible.

For reference, I’m on a Vodafone Superfast 1 business broadband package, which should give up to 38Mbps, with a claimed average of 35Mbps and 73% of customers able to achieve those speeds:

Vodafone's estimated broadband speed for my phone line.

In the real world, I get around 22Mbps down and 7Mbps up, according to various speed checkers. The most I’ve ever seen on a speed test is around 25-26Mbps, with my previous ISP.

Step 1: Check basic broadband availability.

The Kitz Broadband Checker helps here, using BT Wholesale and SamKnows data to check what is available for a given phone number/postcode. There are basic details of the local telephone exchange and there is a rough indicator of how far away it is. It may be 618m as the crow flies, but I can tell you it’s more like 1500m by road/cable (assuming it follows the route I would expect around the local streets and doesn’t run along the alleyway behind my house). I don’t understand all of the acronyms and abbreviations but it seems to me that the site doesn’t (yet) understand whether Fibre To The Premises (FTTP) is available, or just Fibre To The Cabinet (FTTC) and earlier broadband options.

Step 2: A few more details from BT Wholesale

The BT Wholesale Broadband Checker was my next port of call. This tells me all sorts of things about my line, like that: I should be able to get around 42.5Mbps down (instead of my 22) – which is probably where the real-world claimed up to 38Mbps comes from; that FTTP is available (along with several other products); and that my current FTTC cabinet is Cabinet 10. I’ve spotted this cabinet on my walks around town and so I know it’s not particularly close to home – probably around 1000m by road, though it could be as little as 350m if the cable runs through the alleyway I mentioned earlier.

BT Broadband Availability Checker results for my phone line

Step 3: Check the modem stats

I stopped using my ISP-provided modem a couple of years ago and switched to a DrayTek Vigor 130 modem (since discontinued by the manufacturer) with a Ubiquiti AmpliFi router.

Logging on to the router’s web interface told me that I was syncing at around 27Mbps down and 7 up and on VDSL Profile 17A with a signal to noise ratio (SNR) around 6:

DrayTek Vigor 130 modem online status

That fits with my real-world performance in speed tests of around 22Mbps. Digging a little deeper via a telnet session gave me a whole load of stats:

> adsl status
  ---------------------- ATU-R Info (hw: annex A, f/w: annex A/B/C) -----------
   Running Mode            :      17A       State                : SHOWTIME
   DS Actual Rate          : 27400000 bps   US Actual Rate       :  7265000 bps
   DS Attainable Rate      : 28950732 bps   US Attainable Rate   :  7265000 bps
   DS Path Mode            :        Fast    US Path Mode         :        Fast
   DS Interleave Depth     :        1       US Interleave Depth  :        1
   NE Current Attenuation  :       25 dB    Cur SNR Margin       :        7  dB
   DS actual PSD           :     4. 3 dB    US actual PSD        :    11. 7  dB
   NE CRC Count            :      935       FE CRC Count         :    13805
   NE ES Count             :      261       FE  ES Count         :     7519
   Xdsl Reset Times        :        0       Xdsl Link  Times     :        7
   ITU Version[0]          : fe004452       ITU Version[1]       : 41590000
   VDSL Firmware Version   : 05-07-06-0D-01-07   [with Vectoring support]
   Power Management Mode   : DSL_G997_PMS_L0
   Test Mode               : DISABLE
  -------------------------------- ATU-C Info ---------------------------------
   Far Current Attenuation :       28 dB    Far SNR Margin       :        6  dB
   CO ITU Version[0]       : b5004244       CO ITU Version[1]    : 434da4a1
   DSLAM CHIPSET VENDOR    : < BDCM >

Comparing that sync speed of 27.4Mpbs with the BT Wholesale test in step 2, and my connection is running as quickly as it ever has (though I’m not sure what period the BT Wholesale test ran over for its maximum observed speed).

(It also tells me that my cabinet has a Broadcom chipset, so it’s most likely to contain Huawei equipment).

So, why is my “Superfast broadband” not so… superfast?

So, I have lots of metrics, what’s the analysis?

  1. Possibly: my connection. Several years ago (pre-broadband) we had a second phone line put in the house (since disconnected) and I seem to recall that some jiggery-pokery was required at the exchange to accommodate that, possibly even running two phone numbers over one copper connection. I thought that might explain why I get about half the theoretical maximum bandwidth (and my neighbour three doors down gets the whole lot).
  2. Possibly: internal wiring on-premises. My modem is connected directly to a line into the house but it’s not the BT master socket – it’s connected by some other external route that I don’t understand. I’ve tried moving previous modem/routers to connect directly to the master socket and it’s not made any noticeable difference to sync speeds.
  3. Most likely: physics. Whilst researching this post, I found information about FTTC speed vs. distance from the cabinet (repeated on various forums). At 1km from the cabinet, the most I will get, even on a 17A (80Mbps) profile, is 28Mpbs and I’m syncing at around 27 (this table at ThinkBroadband suggests even lower). So what about my neighbour who gets 38? Maybe he’s just lucky, or perhaps his line takes a different route around town…

Assuming my analysis is correct, this is probably about as good as it gets, without an FTTP upgrade. And, as the service is cheap (around £28/month including a home phone calling package and with no line rental), we might just stay put for now – after all my Teams calls work in the day and my Netflix and YouTube work in the evening/at the weekend!

SamKnows?

As a little addendum (and there is nothing in this for me), if you’re trying to work out what’s going on with your broadband, I’d recommend checking out SamKnows. I have one of their “white boxes” on my network and have had for several years (ever since the late Jack Schofield pointed me in their direction). In exchange for some real-world performance monitoring, which is aggregated to assess ISPs, I get reliable stats on the state of my connection.

SamKnows stats for my connection

Getting started with Markdown

This content is 4 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.

The problem

One of my recent projects has been to build out a repository of architecture artefacts for my team to use in delivery of our engagements. I wanted something quick, simple to use, and my budget was… zero. I probably could have used Github or Azure DevOps but I wanted to integrate with an existing SharePoint site, so I simply created a new document library and started uploading files.

Some more requirements

I didn’t want a folder structure – ideally I will use the metadata on the files to allow searching – but I did want some simple release notes to act as an entry point/index of what’s here.

I wanted to avoid Office file formats. They are good for many things, but I wanted something lightweight that would render easily in a browser or a text editor. And I wanted something a bit more than a text file. Which led me to Markdown – something I’ve been meaning to get to grips with for a while now*.

A solution

Markdown is not new, but it is beautifully simple. And in a world of wall-to-wall Microsoft productivity tools, it turned out to be incredibly elegant.

Getting started with Markdown is simple. Open a text editor and write some words – as set out in John Gruber’s original post. This guide tells a bit more though – or try a tutorial.

I actually started writing my Markdown (.md) files with the Dillinger Markdown Editor. Once I had the basics, I switched to editing in the SharePoint text file editor, or in Visual Studio Code:

As can be seen from the screenshot in the tweet above, the syntax is pretty straightforward but I just use Adam Pritchard’s Markdown cheatsheet to help with any syntax stuff I can’t remember. And the Markdown files render pretty well in Edge (presumably in other modern browsers too). There’s no need to worry about special tools to render to HTML.

Markdown FTW

So that’s got me started with using Markdown. The learning curve is so gentle that I can’t see me using anything more heavyweight now (like a Teams Wiki or a shared OneNote) when a few .md files will do the job quite nicely…

* I have a dream. A dream that one day, we will no longer write our design documents in Microsoft Word but will select sections of standard text from a website, enter the design decisions in a form, and hit “generate”. Documents will be created for Consultants, rather than by Consultants – and I can avoid what sometimes feels like a life of constant copy-editing (good techies that can write well seem to be a rare breed). That day is still a long way away… or is at least a side project that I haven’t worked out how to get started on…

Tweaking audio and (webcam) video quality in Windows 10

This content is 4 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 the spring (whilst I was on Furlough Leave and had time for weeknotes), I wrote about some upgrades to my home office. The LED lights didn’t work out (battery life was too short – I need to find something that works from mains power) so they went back to Amazon but the Marantz MPM-1000U microphone has been excellent.

I’ve seen a few tweets and videos recently about using software to use a smartphone camera as a webcam. Why might you do that? Well, because many laptop webcams are a bit rubbish (like the one in my Apple MacBook) or poorly placed, giving an unflattering view from below.

I had a play with the Iriun webcam software recommended in this video from Kevin Stratverdt and it worked really well, with the phone on a tripod, giving a better angle of view.

Ultimately though, the Microsoft Surface Pro 6 that I use for work has a pretty decent webcam, and my Nokia 7 Plus was no better quality – all I was really gaining was a better camera position.

I do still have a challenge with lighting. My desk position means that I’m generally back-lit with a north-facing window to my left. Some fill-in light in front might help but I also wanted to adjust the settings on my webcam.

Microsoft Teams doesn’t let me do that – but the Camera app in Windows 10 does… as described at Ceofix, there is a “Pro mode” in the Windows 10 Camera app that allows the brightness to be adjusted. There are more options for still images (timer, zoom, white balance, sensitivity, shutter speed and brightness) but the brightness option for video let me tweak my settings a little.

The next challenge I had was with audio. Despite using the volume controls on the Surface Pro to knock the volume up to 100% whilst I was presenting over Teams earlier, everyone else on the call sounded very quiet. It turned out that 100% was not 100% – there is a Realtek Audio Console app on my PC which, as well as letting me adjust the speaker and microphone settings, including volume, balance, Dolby audio, sample rate and depth. Finding this revealed that my volume was actually no-where near 100% and I was quickly able to increase it to a level where I could hear my client and co-presenters!

Bulk removing passwords from PDF documents

This content is 5 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.

My payslip and related documents are sent to me in PDF format. To provide some rudimentary protection from interception, they are password protected, though the password is easily obtained by anyone who knows what the system is.

Because these are important documents, I store a copy in my personal filing system, but I don’t want to have to enter the password each time I open a file. I know I can open each file individually and then resave without a password (Preview on the Mac should do this) but I wanted a way to do it in bulk, for 10s of files, without access to Adobe Acrobat Pro.

Twitter came to my aid with various suggestions including Automator on the Mac. In the end, the approach I used employed an open source tool called QPDF, recommended to me by Scott Cross (@ScottCross79). Scott also signposted a Stack Overflow post with a PowerShell script to run against a set of files but it didn’t work (leading to a rant about how Stack Overflow’s arcane rules and culture prevented me from making a single character edit) and turned out to be over-engineered. It did get me thinking though…

Those of us old enough to remember writing MS-DOS batch files will probably remember setting environment variables. Combined with a good old FOR loop, I got this:

FOR %G IN (*.pdf) DO qpdf --decrypt --password=mypassword "%G" --replace-input

Obviously, replace mypassword with something more appropriate. The --replace-input switch avoids the need to specify output filenames, and the use of the FOR command simply cycles through an entire folder and removes the encryption.

The 5 or 6 Rs of cloud transformation

This content is 5 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 years ago, a couple of colleagues showed me something they had been working on – a “5 Rs” approach to classifying applications for cloud transformation. It was adopted for use in client engagements but I decided it needed to be extended – there was no “do nothing” option, so I added “Remain” as a 6th R.

I later discovered that my colleagues were not the first to come up with this model. When challenged, they maintained that it was an original idea (and I was convinced someone had stolen our IP when I saw it used by another IT services organisation!). Research suggests Gartner defined 5Rs in 2010 and both Microsoft and Amazon Web Services have since created their own variations (5Rs in the Microsoft Cloud Adoption Framework and 6Rs in Amazon Web Services’ Application Migration Strategies). I’m sure there are other variations too, but these are the main ones I come across.

For reference, this is the description of the 6Rs that we use where I work, at risual:

  • Replace (or repurchase) – with an equivalent software as a service (SaaS) application.
  • Rehost – move to IaaS (lift and shift). This is relatively fast, with minimal modification but won’t take advantage of cloud characteristics like auto-scaling.
  • Refactor (or replatform/revise) – decouple and move to PaaS. This may provide lower hosting and operational costs together with auto-scaling and high availability by default.
  • Redesign (or rebuild/rearchitect) – redevelop into a cloud-aware solution. For example, if a legacy application is providing good value but cannot be easily migrated, the application may be modernised by rebuilding it in the cloud. This is the most complicated approach and will involve creating a new architecture to add business value to the core application through the incorporation of additional cloud services.
  • Remain (or retain/revisit) – for those cases where the “do nothing” approach is appropriate although, even then, there may be optimisations that can be made to the way that the application service is provided.
  • Retire – for applications that have reached the end of their lifecycle and are no longer required.

Right now, I’m doing some work with a client who is looking at how to transform their IT estate and the 5/6Rs have come into play. To help my client, who is also working with both Microsoft and AWS, I needed to compare our version with Gartner’s, Microsoft’s and AWS’… and this is what I came up with:

risualGartnerMicrosoftAWSNotes
ReplaceReplaceReplaceRepurchaseWhilst AWS uses a different term, the approach is broadly similar – look to replace/repurchase existing solutions with a SaaS alternative: e.g. Office 365, Dynamics 365, Salesforce, WorkDay, etc.
RehostRehostRehostRehostAll are closely aligned in thinking – rehost is the “lift and shift” option – based on infrastructure as a service (IaaS) – which is generally straightforward from a technical perspective but may not deliver the same long term benefits as other cloud transformation methods.
RefactorRefactorRefactorReplatformRefactoring generally involves the adoption of PaaS – for example making use of particular cloud frameworks, application hosting or database services; however this may be at the expense of portability between clouds. The exception is AWS, which uses refactor in a slightly different context and replatform for what is referred to as “lift, tinker and shift”.
 Revise  Gartner’s revise relates to modifying existing code before refactoring or rehosting. risual, Microsoft and AWS would all consider this as part of the refactoring/replatforming.
RedesignRebuildRebuildRefactor/re-architect.Gartner defines rebuilding as moving to PaaS, rebuilding the solution and rearchitecting the application.

AWS groups its definition of refactoring and rearchitecting, although the definition of refactor is closer to Microsoft/Gartner’s rebuild – adding features, scale, or performance that would otherwise be difficult to achieve in the application’s existing environment (for example.
  Rearchitect Microsoft makes the distinction between rebuilding (creating a new cloud-native codebase) and rearchitecting (looking for cost and operational efficiencies in applications that are cloud-capable but not cloud-native) – for example migrating from a monolithic architecture to a serverless architecture.
Remain  Retain/revisitPerhaps because their application transformation strategies assume that there is always some transformation to be done, Gartner and Microsoft do not have a remain/retain option. This can be seen as the “do nothing” approach but, as AWS highlights, it’s really a revisit as the do nothing is a holding state.
Maybe the application will be deprecated soon – or was recently purchased/upgraded and so is not a priority for further investment. It is likely to be addressed by one of the other approaches at some point in future.
Retire  RetireSometimes, an application has outlived its usefulness – or just costs more to run than it delivers in value, and should be retired. Neither Gartner nor Microsoft recognise this within their 5Rs.

Whichever 5 or 6Rs approach you take, it can be a useful approach for categorising potential transformation opportunities and I’m often surprised exercise how it exposes services that are consuming resources, long after their usefulness has ended.