All posts by Tim Anderson

Microsoft financials: Azure revenue grows 93% year on year

Microsoft delivered excellent figures in its latest financial results, for the period Jan-March 2018. Total revenue of $26,819 million was up 16% year on year, within which Azure revenue grew 93%.

The overall story is that cloud services and subscription income is working well for the company. Azure is not the whole of Microsoft’s cloud; in fact I would argue that Office 365 (built around hosted Exchange) is equally important, since it drives uptake for other products and services including desktop Office and Dynamics. Office 365 commercial revenue grew 42% and Office consumer grew 12%.

Perhaps more surprising is that this was also a good quarter for Windows and Xbox. Windows OEM revenue up 4%, Surface up 32%, Xbox up 24%. Why is Windows growing? One reason is that businesses really are upgrading to Windows 10, where perhaps they sat out Windows 8 as best they could. This is necessary for security reasons if nothing else. The uptake for Windows 10 has had spin-off benefits for things like Surface sales, as CFO Amy Hood explained in the financial webcast.

Even LinkedIn is doing well, with revenue growth of 37%, driven by job advertising and sponsored content.

In the webcast, CEO Satya Nadella talked up “the intelligent cloud and the intelligent edge” and the role of AI in securing the cloud.

GDPR is also seen as an opportunity. It is less costly to host applications in our GDPR-complaint cloud than to achieve this on-premises, said Microsoft.

So everything is fine for Microsoft? Perhaps, perhaps not. The company has transitioned not only to cloud, but to enterprise, and is becoming less and less visible to consumers. The home PC is not the ubiquitous thing it once was, and in mobile there is no longer any Windows, aside from the occasional Windows 10 tablet. Xbox and gaming PCs are the only bright spots in consumer.

This means the company has changed its character. It has also missed out on things like mobile payments, home assistants and home automation. You can see how Google, Amazon and to some extent Apple are jostling for position as a kind of portal to everything for the consumer, with great strategic advantage as powerful intermediaries to consumer purchases. Microsoft is absent.

Every business person is also a consumer and retreating from this market could prove costly long-term.

For now though, the company is delivering nicely on Nadella’s cloud strategy.

Here is the breakdown by segment, such as it is:   

Quarter ending March 31st 2018 vs quarter ending March 31st 2017, $millions

Segment Revenue Change Operating income Change
Productivity and Business Processes 9006 +1299 3115 +575
Intelligent Cloud 7896 +1166 2654 +506
More Personal Computing 9917 +1142 2523 +488

The segments break down as:

Productivity and Business Processes: Office, Office 365, Dynamics 365 and on-premises Dynamics, LinkedIn

Intelligent Cloud: Server products, Azure cloud services

More Personal Computing: Consumer including Windows, Xbox; Bing search; Surface hardware

The Future of PowerShell:

PowerShell, Microsoft’s scripting platform, is significant for several reasons. It is critical to Microsoft’s strategy of reducing dependence on a GUI in Windows Server. It is also a key piece in automating IT administration, which is fundamental to business agility.

The platform was invented by Microsoft’s Jeffrey Snover, now Technical Fellow and Lead Architect for the Enterprise Cloud Group. The evolution of PowerShell has gone hand in hand with the company’s broader strategy for Windows and Azure, guided by Snover as architect.

PowerShell is everywhere in Azure Stack, Microsoft’s packaged version of Azure for running on-premises, and presumably in the online version of Azure as well. There are an “average 472 cmdlet calls” when a VM is created, according to Snover’s keynote at the recent PowerShell Europe conference in Hanover.

The PowerShell team is now apparently part of the Azure Management Team within Microsoft.

What is happening with PowerShell? The main thing to understand is that Microsoft has forked the platform. Windows PowerShell is the Windows-only version, while PowerShell Core is cross-platform on Windows, Mac and Linux. Windows PowerShell is based on the .NET Framework, while PowerShell Core is based on .NET Core.

The situation with this is odd, in that Windows PowerShell is installed by default in Windows Server and the one that most people use; but PowerShell Core is the one that is under active development. This is explained here. Snover emphasised in his keynote that Windows PowerShell is done:

image

Note though that PowerShell is modular, and although the Windows PowerShell engine is not being developed, new or enhanced modules will still appear. In fact, they are likely to run both on Windows PowerShell and on PowerShell Core. Like all forks, there will be some pain over compatibility versus using the latest features as the Core platform evolves.

If you want to try PowerShell Core you can download it here. However it is of limited use for day to day work unless you also install and activate a module called WindowsPSModulePath which you can get from the PowerShell Gallery. This lets you use all your current Windows PowerShell modules, subject of course to compatibility.

image

So what is next for PowerShell? Snover’s ambition for the platform, he said, is to manage any server or service, from any client, running on any cloud (or on-premises, any hypervisor).

Much of what is interesting is not so much new features in PowerShell itself, but additional modules or other utilities.

PSSwagger is helpful for creating modules: it will create a PowerShell module from a Swagger API (a popular standard for specifying RESTful APIs).

CloudShell is a command shell for Azure which you can run from a web browser.

Windows Admin Center, formerly known as Project Honolulu is a browser application for managing servers (and some desktops). You can open a PowerShell session directly from the browser. In addition, it is PowerShell that enables much of the other functionality.

image

As for Microsoft’s plans for PowerShell Core, Snover refers to this site which sets out the company’s strategic investments. These include help system improvements, a GUI framework for the console perhaps like Curses on Linux, a mechanism for PowerShell to prompt for install (as in Bash) when a command is not found, but a module containing that command is known to exist, and Just Enough Administration (JAE) on Linux.

At the PowerShell conference Principal Software Engineer Steve Lee talked about a PowerShell Standard Library, which itself targets .NET Standard 2.0, for module authors to use when creating modules so they will work cross-platform.

PowerShell and Microsoft’s platform

One of the intriguing things about Microsoft’s evolution is its embrace of both Linux and cross-platform. PowerShell is one small part of this, but fits in with that strategy. We should no longer think of Microsoft’s platform as based on Windows, even though of course it mostly runs on Windows today. The OS is becoming less important as the company focuses on services and applications.

The further implication is that cross-platform support is not just a nice-to-have feature for pieces like .NET Core and PowerShell Core, but essential for Microsoft itself as it integrates multiple operating systems in its cloud platform.

While we tend to applaud cross-platform support as a good thing, it is not without pain. PowerShell is a case in point. Windows PowerShell is at the same time the current thing, and the thing that is no longer evolving.

PowerShell and IT admins

PowerShell is an essential skill for Windows IT admins. On Office 365, for example, there always seem to be things you can do in PowerShell that you cannot easily do though the GUI, and even where you can, it often pays to use PowerShell because you can script and automate common operations. The same is true for Azure.

Not everyone loves PowerShell as a language. Some complain of its verbosity. It can also be prickly to work with. It is not at all English-like, making it less accessible for beginners than most scripting languages.

It is however well suited to its purpose, which is what counts.

David Bowie: Welcome to the Blackout

The 21st April 2018 was Record Store Day, when the industry comes up with hundreds of special edition vinyl records which are offered for sale only through independent record shops. A helping hand for the independents, or a an attempt to con us into buying overpriced product via the old trick of artificial scarcity? Take your pick; but there’s no doubting that it gets thousands of people into record shops for at least one day in the year.

image

For me, the highlight this year was a 3LP David Bowie live release, called Welcome to the Blackout. Not least because it was recorded at Earls Court London on the evenings of 30 June and 1 July 1978, and well, I was there, at least on one of the nights (I am not sure which). I remember it was an amazing experience, and that the the set visuals including the vertical bars backdrop were stunning – apologies for the poor quality of the picture below, which is taken from here.

image

The Earls Court concerts were filmed by David Hemmings but the film was never released. However this might explain why the concerts were recorded by Tony Visconti and selected songs from the last two concerts were mixed by David Bowie and David Richards at Mountain Studios, Montreux between 17th and 23rd January 1979 (according to the sleevenotes). Two additional songs on Welcome to the Blackout, Sound and Vision and TVC 15, do not use Bowie/Richards mixes, perhaps because they were not selected at the time.

In 1978 David Bowie embarked on the ISOLAR II world tour, building on the release of Low and Heroes. The tour began in San Diego, March 1978, and ended in Tokyo, December 1978. Performances in Philadelphia in late April, and in Boston in early May, were recorded and formed the basis of the album Stage, first released in November 1978. Stage was originally just 17 songs, presented in a different order from that of the performance. In 2005 this was expanded to 20 songs, and the performance running order was restored, so that the opening track is the moody instrumental Warszawa. There was also a surround mix released on DVD Audio for a short time. Then in 2017 Stage was again reissued, now with 22 songs.

Since we already have Stage in so many guises, do we need Welcome to the Blackout? Having enjoyed this release for a couple of days, my answer is an emphatic yes. The Earls Court dates were at the end of the European leg of the tour, which did not resume until November in Australia. Bowie seems to be energised by this being in some sense the last concert of the tour and refers to this several times. He also performs two songs not on any version of Stage: Sound and Vision, and Rebel Rebel.

More important, the character of both the performance and the sound is different. There is simply more energy, and although the crowd noise is still mixed fairly low, it comes over as more of a live performance than the rather bland sound of Stage. We also get a longer Station to Station, under 9 minutes on Stage, and over 11 minutes here.

image

The band, the same one as for Stage, is outstanding:

Carlos Alomar: Rhythm guitar
Adrian Belew: Lead guitar
Dennis Davis: Drums and percussion
Simon House: Electric violin
Sean Mayes: Piano, string ensemble
George Murray: Bass guitar
Roger Powell: Keyboards, Synthesizer

I’ve compared several songs on Stage and Welcome to the Blackout. For example, the song Blackout itself, which is decently performed on Stage, is introduced here by Bowie saying hoarsely “Welcome to the Blackout”; the instrumentation at the beginning of the song is more menacing and engaging on the new release; the vocal is more frenetic and desperate.

In TVC 15, the opening loony voiceovers is louder and more distinct on Welcome to the Blackout; it sounds like the band is having a great time and the song is more fun to listen to.

Jean Genie is stunning on this album; the guitar growls and grinds, Bowie’s vocal is full of drama; it makes the Stage performance (only on the 2017 edition) sound tame.

Despite the occasional flub, I can’t find any instances where I prefer the Stage recording.

Of course the album is meant to be heard as a piece, and seems to me to be an excellent capture of one of Bowie’s best performances.

Having said that, this concert lacks the intensity of Bowie in 1974 or 1976. Bowie is more at ease here.

I was fortunate to catch Bowie in performance in 1978. His next tour was not until 1983, when we got a different kind of performance to support the more mainstream Let’s Dance album; and after that in 1987 with the unsatisfactory Glass Spider tour.

Full track listing:

Warszawa
”Heroes”
What in the World
Be my Wife
The Jean Genie
Blackout
Sense of Doubt
Speed of Life
Sound and Vision
Breaking Glass
Fame
Beauty and the Beast
Five Years
Soul Love
Star
Hang on to yourself
Ziggy Stardust
Suffragette City
Art Decade
Alabama Song
Station to Station
TVC15
Stay
Rebel Rebel

Finally a shout out to Ray Staff who mastered the album. On first listen he did a great job. I love the dynamics and the overall balance of the sound.

Recommended; and if you find the album hard to find at a sensible price, or don’t have a record player, there is no need to panic as it will probably be out on CD and download/streaming in a few months.

Update: Welcome to the Blackout is released on CD on 29 June 2018.

Review: Orbitsound Dock E30 one-box audio system with wireless charging aims to fix the problems of stereo

image

It is simple but appealing: one small box instead of all the clutter of a conventional hi-fi system. Orbtisound’s Dock E30 is also designed for today’s audio ecosystem. It supports wireless playback with Apple AirPlay, Spotify Connect, Android audio streaming over Wi-Fi, and also Bluetooth aptX and wired input via analogue or optical digital signals. There is an app for iOS and Android, and you can even dock your phone either by sitting it in the groove provided, handy for seeing cover art. You can also charge a phone using the built-in Qi wireless charging (as used by Apple), or by connecting a cable (not supplied) to a USB-C charging support. For wireless charging though you should lay the phone flat on the charging plate rather than standing it up.

image

Wireless charging aside, this is all what you expect from a modern audio system; but the Dock E30 has something distinctive. This is the technology called Airsound. Orbitsound says that the problem with conventional stereo is that you have to sit in a sweet spot dead centre between and in front of the speakers to get a true audio image. “We have managed to overcome this inherent limitation in stereo by doing away with the idea of left and right channels,” says Orbitsound. What they have come up with, explained to some extent here and here, is a three-speaker system, where the sound of the main front speaker is modified by two “spatial” side speakers to give, it is claimed, a stereo experience wherever you sit. There is said to be a particular advantage when you have more than one speaker connected.

Orbitsound’s explanation of Airsound is sketchy, to say the least, but it helped me to understand the results of my listening tests. I set up the Dock E30 in my living room and tried it using various types of connection from both iOS and Android. For the main listening test though I settled on wired input for maximum consistency. I compared the E30 with several other speaker systems, including the slightly more expensive Sony SRS-X9 (now replaced by the similar SRS-X99).

First impressions are good, with a powerful bass reinforced by the passive bass radiators on the back of the unit. The power output is not specified, but I got plenty enough volume for my smallish living room. I tried walking round the room and found a good consistency of sound, though frankly the SRS-X9 which uses conventional stereo speakers was also pretty good in this respect.

How does the sound compare to that from the Sony? I found my notes contradictory at first. I felt the sound, while decent, was smoother and better defined on the Sony than on the Dock E30. At the same time, I could sometimes hear details on the Dock E30 more clearly than on the Sony. One example was the delicate guitar in the background during the intro to Steely Dan’s song Peg (which is beautifully recorded). It was more prominent on the Dock E30, even though overall I felt that the Sony had more clarity.

Pondering Orbitsound’s claim of a true stereo image wherever you sit, I pulled out a handy test track, Paul Simon’s Cars. In the middle of the track there is a little stereo effect. “You can drive them on the left” comes out of the left speaker, then “you can drive them on the right” from the right. Then Simon resumes singing in a central position.

I have to say, the Dock E30 made a complete mess of this effect. Bizarrely, the “on the right” vocal projected to the left of the image. On the Sony, everything was as it should be, so no, I had not got the channels reversed anywhere. Bear in mind that the Dock E30 only has one front-facing speaker; the other drive front-facing driver is a passive bass radiator.

image

Audio processing: pros and cons

In the end this is all about processing. Orbitsound is trying to get a sense of room-filling stereo from a small box. It does this by munging the stereo signal into a mono part on the main speaker, supplemented by two spatial effects speakers that fire outwards from the left and right ends of the Dock E30, using some kind of algorithm that is not really designed to give you a true stereo image, but rather to create an illusion of depth.

This I believe explains why I found the sound perplexing at times. Some details might be brought out more prominently, others not.

You can adjust the Airsound effect by holding down mute for three seconds on the remote, then spinning the volume dial. If you adjust it for minimum Airsound, you get something close to mono. This is not a bad thing; I love my mono Squeezebox Radio. If you adjust for maximum Airsound, the sound become echoey and phasey, something which is not to my taste but might be an effect you enjoy.

Setting Airsound to minimum is close, but I would like to see an option to disable it completely and simply have mono, though that would be rather a waste of three speakers.

Don’t worry, just listen?

Listening to the stereo effects in Cars is an edge case. I found the Dock E30 enjoyable to listen to with music from classical to jazz to pop and rock. It has good bass extension, which can be excessive at times, but is easily controlled using the tone controls on the remote. Most people are not going to worry about the processing and can just listen.

Personally though I am more purist. I favour a less processed sound and prefer the clean, honest clarity of a system like the Sony XRS X9.

image

A good buy?

Leaving aside the Airsound debate, the Dock E30 offers good sound quality with exceptional bass for its size.

The design is subjective of course, but while it is not objectionable, there are better-looking speaker systems in my opinion. The groove on top may trap dust, and the controls on the front are not beautiful.

On the other hand, I am very happy with the flexibility of the unit. It has a generous range of inputs, both wired and wireless. The remote with its tone controls and mute button is excellent.

The ability to charge your phone is a nice bonus.

Unfortunately I am not convinced by Airsound or that this is the best use of three speaker drivers; but at the same time it is good to see some innovative thinking. I recommend that you audition before purchase.

Specifications

Frequency response: 70Hz-17.5kHz +/- 3dB

Tone controls: Bass and treble, +/- 8dB

Drivers: 3 x 48mm neodymium drivers, 3 x 90x60mm passive bass radiators

Optional subwoofer

Removable magnetic grille

Remote

Dimensions: 291x150z114mm

Weight: 4kg

Colour: Black, Bamboo or White

What is Azure Sphere?

Microsoft has announced Azure Sphere, and in a manner which I’m guessing many will find confusing.

It is obviously something to do with IoT (Internet of Things) and intended to make your IoT solutions more secure. It is obviously something to do with Azure, Microsoft’s cloud platform. But what is a “crossover class of MCU”? What is an “HLOS small enough for MCUs”? Where does the “Azure Sphere OS”, which is Microsoft’s new Linux, actually run?

image

Let’s start with MCU (Microcontroller Unit). The most informative description of what Azure Sphere is all about is this research paper [PDF]. The target of Azure Sphere is devices powered by microcontrollers – in other words, IoT devices that are more than just sensors and have their own processors, though with less capability than a full SoC (System on a Chip). It is obvious that such devices, if compromised, have considerable risks. A fire in your oven? A radiotherapy machine that kills rather than heals? Toys that spy on children? Not good.

Microsoft’s solution is to have those devices run on a new processor designed in partnership with MediaTek (a large Taiwanese system-on-chip manufacturer) and running the tiny Azure Sphere OS. Built-in features include hardware-based security (private keys in a hardware-protected vault), hardware-enforced compartmentalization, certificate-based authentication and failure reporting. The new processor is called Sopris in Microsoft’s paper.

image
The Sopris Microprocessor

These Azure Sphere devices communicate with Microsoft’s Azure Sphere service to receive both OS and application updates, and to process failure reports.

Azure Sphere does not determine how the production data from your IoT device is handled. You can deal with this as you like, using Azure, another cloud provider, or on-premises infrastructure.

A point of interest is that the Azure Sphere OS runs Microsoft’s own customised version of Linux. Why Linux? Microsoft must have concluded that there was insufficient advantage, and more friction, in using a version of Windows (though Windows IoT Core exists). Use of Linux in Microsoft can only increase; and remember, Linux is now built into Windows.

Why Subsystem for Linux in Windows 10 and Windows Server? And what are the implications?

Microsoft is busy improving Windows Subsystem for Linux (WSL), the compatibility layer that lets you run Linux on Windows. WSL is not an emulator. It accesses the same file system and you can launch Windows applications from WSL, and vice versa. It also runs actual Linux binaries.

The latest announcements cover copy/paste between Linux and Windows, and a tabbed console. Both enhancements are in the skip-ahead insider version of Windows 10, which means they are unlikely to be in the one about to be released, currently known as Spring Creators Update (but rumoured to be getting a name change). In other words, you may have to wait around six months for this to be generally available.

image 

These are not huge changes, but overall WSL is a big deal. Why is Microsoft doing it? One Betanews commenter says:

I still can’t figure out who this whole "Linux-on-Windows" thing is meant for. Developers who work on both platforms maybe? I guess it would be handy for people who just want to try out Linux before migrating to it, but that’s the last thing Microsoft would want to promote.

Microsoft has in fact stated the primary purpose of WSL:

This is primarily a tool for developers — especially web developers and those who work on or with open source projects. This allows those who want/need to use Bash, common Linux tools (sed, awk, etc.) and many Linux-first tools (Ruby, Python, etc.) to use their toolchain on Windows.

There is a bit more to it. Developers are small in number relative to general users, but disproportionately influential, since they make the applications the rest of us run, and if the applications are not there or are inferior, the ecosystem starts to fail and the operating system declines.

I am not sure when it was that developers started to prefer Macs, but I noticed this trend many years ago, perhaps from the time that OS X moved to x86 (2006). This was not just about preferring the Mac user interface. In 2008 Apple opened up iOS, its mobile OS, to third-party applications, and a Mac was required for iOS development (this is still the case). It has long been relatively easy to run a Windows emulator on a Mac, but not vice versa, so for developers who want to support multiple target platforms from one computer, the Mac makes sense.

OS X / macOS is a Unix-like operating system, based on BSD (Berkeley Software Distribution). This means that moving between Linux and Mac is relatively smooth, from a developer perspective. The same tools are generally available. The internet runs mostly on Linux so the Mac has an advantage there as well.

In some cases this is more than just inconvenience. Windows has a long-standing issue with path lengths. MAX_PATH is defined as 260 characters. This limitation can be mostly removed if you have Windows 10 build 1607 or higher. Nevertheless, path issues have made Windows awkward for developing with Java, Node.js, and other languages or frameworks which typically use deeply nested directories. Open source developers perhaps did not care as much about these issues because they were mostly using Mac or Linux.

Microsoft has responded by improving Windows as a platform on which to develop applications. Visual Studio now targets Mac, iOS and Android as well as Windows. MAX_PATH has been alleviated as far as possible. WSL however goes much further. You can install and run Linux development tools and utilities such as gcc, perl, sed, awk, grep, wget, openssl, perl and more. There is no MAX_PATH issue. You can run the Linux build of Apache, PHP, MySQL and more. I used WSL to debug a PHP application and explained how here.

WSL is not perfect. Not everything is implemented. You can check the current issues here. Still, it is genuinely useful and mitigates the advantages of Mac or Linux for developers.

Microsoft has also added WSL to Windows Server. Why? The main focus here seems to be on administrators. There are times when it is handy to run a Linux command or script on Windows Server. It is not intended for production use as a server, though there is now support for background tasks; however it is still per-session so you would need to keep a user logged on in order to run, for example, a web server. More important, Microsoft has not designed WSL for production use as a server platform so it might not be as optimized or reliable as you require.

Implications of WSL

Where is this going? This is where it gets speculative. I will argue though that WSL is in part an admission of defeat. Windows remains an important development platform, but is now greatly outweighed by Unix-like platforms:

  • Web/Internet applications
  • iOS applications
  • Android applications

Where Windows support is needed, developers have many cross-platform options to choose from, a popular choice today being Electron, based on Chromium (the open source foundation of Google Chrome) and Node.js.

Today there seems little chance of Windows winning back market share as a mobile operating system, and the importance of desktop applications looks destined for long slow decline.

Windows Server remains a significant application platform, but Microsoft is focused more on driving developers to Azure cloud services than on Windows Server itself. SQL Server now runs on Linux, ASP.NET Core is cross-platform, and Azure has excellent support for Linux.

All of this leads me to think that WSL will continue to improve, perhaps to the point where production loads are supported on Windows Server, for example. Further, the ability to run Windows applications on Linux (which is more or less what happens in SQL Server for Linux) may become equally as important as the reverse.

Sandy Denny: 5 Classic Albums

These last days of the CD have delivered some amazing bargains for those who still like CDs – and I count myself as one, even if they are more often played through a music server than in an actual CD player.

image

One such is the 5 Classic Albums collection of Sandy Denny (6 January 1947 – 21 April 1978), a singer with an amazing voice who was a member of the band Fairport Convention in the sixties.

In 1969 Denny left Fairport to form her own short-lived band, Fotheringay. After just one album, the band folded and Denny embarked on a solo career.

This set covers those solo years, during which she released four albums. The fifth album is a recording of her last concert, released in 1998.

The North Star Grassman and the Ravens (1971) opens with Late November, a song originally written for Fotheringay. It’s a fine album, firmly in the folk tradition but also highly individual, almost jazz-like at times with its interesting rhythms and tonalities. The band includes the amazing Richard Thompson (also ex-Fairport) on guitar and several other instruments.

Sandy (1972) is perhaps her most celebrated album. The haunting It’s take a long time, The Quiet Joys of Brotherhood, which starts a cappella, the gorgeous Listen Listen, and more.

Like an old fashioned Waltz (1974) is a more lush album thanks to strings, brass and piano accompaniments and would be better without them, though it is still very enjoyable. The opening song Solo is great and features the immortal words “I’ve always kept a unicorn and I never sing out of tune”.

Rendezvous (1977) is again over-produced and poignant to hear now, knowing it was her last album. It opens with Richard Thompson’s I Wish I Was a Fool For You (For Shame of Doing Wrong) which almost sounds like a rock song, as Denny seeks a new audience. The cover of Candle in the Wind is not Denny’s finest hour but still seems prophetic: “your candle burned out long before your legend ever did”. Her voice is huskier thanks to smoking but she remains a strong singer.  I’m a Dreamer is a lovely song, as is the closing number, No More Sad Refrains.

Gold Dust (Live at the Royalty) (1998) is Denny’s last concert and well worth hearing. The concert was recorded and always intended for release as a live album, but there were some problems with the tapes, and some guitar and backing vocals were overdubbed for the eventual production in 1998. The song Solo is a highlight.

Overall, although it is wrong to describe all these albums as “classic”, what you do get is immersion into the music of a very fine singer and songwriter. Recommended.

Products from Amazon.co.uk

A Windows 10 annoyance: controlling autoplay

I installed Cyberlink PowerDVD on a new  Windows 10 PC (Fall Creators Update) and was annoyed to find that it opened whenever I put a CD into the computer drive.

image

PowerDVD is a good DVD and Blu-Ray player though the company’s products are among the most annoying in terms of pressing you to upgrade or buy additional products. I was not surprised that it had grabbed an autoplay association even though I did not recall getting any options on installation. Windows 10 is meant to give the user more control in this respect.

I typed AutoPlay into the Start menu and up came the Windows 10 settings. Autoplay is on, but there is no setting for CDs.

image

This dialog also has a link for Default App Settings so I clicked that.

image

No setting for CDs here, though there is a default music player, and it is not PowerDVD. I clicked the link in this dialog for Set defaults by app and selected PowerDVD. Perhaps this would show me what it has hooked into.

image

So apparently Power Media Player has grabbed the file association for files ending dot (no further extension) but it did not show how it was picking up CD autoplay. In fact, .CDA files are set to VLC. Further, if you don’t like an association here, you can’t easily change it. I clicked the dot link and got this:

image

No, there is no option for “Do nothing”; and if you have ever clicked that “Look for an app in the Store” thing, you will know how unrewarding it is.

Hmm, I wonder if the old Control Panel can help? I opened Control Panel and typed Autoplay:

image

So there it is. A nice logical dialog, and I dropped down the list for Audio CD and Enhanced Audio CD and selected Take no action.

I’ve posted this for two reasons. First, in case anyone else struggles to find this setting. And second, because it shows how far Microsoft has to go before Windows 10 settings are coherent and logical for users.

What is ML? What is AI? Why does it matter?

ML (Machine Learning) and AI (Artificial Intelligence) are all the rage and changing the world, but what are they?

I was asked this recently which made me realise that it is not obvious. So I will have a go at a quick explanation, based on my own perception of what is going on. I am not a data scientist so this will be a high-level take.

I will start with ML. The ingredients of ML are:

1. Data

2. Pattern recognition algorithms

Imagine that you want to identify pictures that contain images of people. The data is lots of images. What you want is an algorithm that automatically detects which images contain people. Rather than trying to code this on your own, you give the ML system a quantity of images that do contain people, and a quantity of images that do not. This is the training process. Once trained, the ML system will predict, when shown an image, whether or not it contains people. If your training has been successful, it will have a high success rate.

The combination of the algorithm and the parameters (these being the characteristics you want to identify) is called a model. There are many types of model and a number of different ML systems from open source (eg TensorFlow) to big brands like Amazon Machine Learning, Azure Machine Learning, and Google Machine Learning.

So what is AI? This is a more generic term, so we can say that ML is a form of AI. IBM describes its Watson service as AI – Watson is really a bunch of different services so that makes sense.

A quick way to think of AI is that it answers questions. Is this customer a good credit risk? Is this component good or faulty? Who is the person in this picture?

Another common form of AI is a chatbot or conversational UI. The key task here is artificial language understanding, possibly accompanied by speech to text transcription if you want voice input, and then a back-end service that will generate a response to what it things the language input means. I coded a simple one myself using Microsoft’s Bot Framework and LUIS (Language Understanding Intelligent Service). My bot just performed searches, so if you wrote or said “tell me about x”, it would do a search for x and return the results. Not much use; but you can see how the concept can work for things like travel bookings and customer service. The best chatbots understand context and remember previous conversations, and when combined with personal information like location and preferences, they can get a lot of things right by conjecture. “Get me a taxi” – “Is that to Charing Cross station as usual?”

Internet search has morphed into a kind of AI. If you type “What is the time?”, it comes up on the screen.

image

The more the search engines personalise the search results, the more assumptions they can make. In the example above, Bing has used what it thinks is my location to give me the time where I am.

AI can also take decisions. A self-driving car, like a human driver, takes decisions constantly, whether to stop, go, what speed, turn this way or that. It uses sensors and pattern recognition, as well as its programmed route, to make those decisions.

Why does AI matter? It feels like early days; but there are obvious commercial applications, now that using ML and AI is within reach of any developer.

Marketers and advertisers are enthusiastic because they love targeting – and consumers often prefer more relevant advertising (though they might prefer less advertising even more). Personalisation is the key, and as mentioned above, ML and AI are good at answering questions. The more data, the more personal the targeting. How much does this person earn? Male or female? Where are they? Single or in a relationship? Do they have children? Even answering these (and many more) questions somewhat inaccurately will greatly increase the ability of marketers to offer the right product or service at the right moment.

Of course there are privacy questions around this. There are other questions too. What about the commercial advantage this gives to those few entities that hold huge volumes of personal data, such as Google and Facebook? What about when showing people “more relevant content” becomes a threat to democracy, because individuals get a distorted view of the world, seen through a tunnel formed by their own preference to avoid competing views? Society is only just beginning to grasp the implications.

Another key area is automation. Amazon made a splash by opening a store where you do not have to check out: object recognition detects what you buy and charges your account automatically. Fewer staff needed, and more convenient for shoppers.

Detecting faulty goods on a production line is another common use. Instead of a human inspecting goods for flaws, AI can identify a high percentage of problems automatically. It may be just a case of recognizing patterns in images, as discussed above.

AI can go wrong though. An example was mentioned at an event I attended recently. I cannot vouch for the truth of the story, but it is kind-of plausible. The task was to help the military detect tanks hidden in trees. They took photos of trees with hidden tanks, and trees without hidden tanks, and used them for machine learning. The results were abysmal. The reason: all the photos which included tanks were taken on an overcast day, and those without tanks on a clear day. So the ML decided that tanks only hide on cloudy days.

ML is prone to this kind of mistake. What similar problems might occur when applied to people? Could ML make inappropriate inferences from characteristics such as beards, certain types of clothing, names, or other things about which we should be neutral? It is quite possible, which is another reason why applications of AI need an ethical framework as well as appropriate regulation. This will not happen smoothly or quickly, and will not be universally implemented, so humanity’s use of ML and AI is something of a social experiment, with potential for both good and bad outcomes.

QCon London: the Ethics track and the psychology of software

The most significant thing about the Ethics track at QCon London, a software development conference I attended last week, is that it existed. I can recall ethics being discussed at QCon in previous years (including a memorable appeal by Martin Fowler at Thoughtworks about rectifying the gender imbalance in IT) but not a specific track.

Why does ethics matter more today? Ethics has always mattered, but the power of software over our lives is increasing. It is possible be that algorithms at Facebook, YouTube and Twitter influenced the result of the last US election and the UK’s Brexit referendum. Algorithms play a large role in influencing many of choices, what to buy, where to eat, where to stay, which airline to book, which vendor to use.

Software also consumes more of our time than ever, as we constantly check our phones for notifications, play games or read online content.

The increasing importance of AI (Artificial Intelligence) also raises ethical questions. Last week I attended the Re-work AI Assistant Summit, also in London. One of the sessions concerned “Building an AI Friend”, presented by Artem Rodichev from Replika. The demos were impressive, showing how a bot can be engaging and help users to talk about what matters to them. I asked though if the company had thought about ethical issues, for example if a child became attached to a bot without realising it was non-human. The answer I got was in effect a blank look, followed by the statement “we have a minimum age limit of 7”. The company has no announced business model, but I would encourage it to form an ethical policy early as these things are hard to bolt on in retrospect – as Facebook is discovering today, in the aftermath of the exposure of how its personal data is being misused by third parties.

AI is also poised to take over more jobs previously done by people. This could be a great liberator for humanity, or alternatively divide society even more deeply into haves and have-nots.

We need more ethics discussion then; but is it too late? Well, it is never too late to improve matters, but perhaps much harm could have been avoided if the industry had focused on this earlier.

I attended a talk by Alexander Steinhart (a technologist at ThoughtWorks) on the psychologist’s perspective on ethics in technology.

image

Steinhart talked about addiction. “We all want to unplug, but cannot”, he said.

“Now we are all connected. On average people are nearly three hours online every day. They check phones every 7 to 15 minutes. Many people have difficulties in finding the right balance.”

When is a habit an addiction? When it “gets into the way of your life and you can’t do anything else, and when you try to change behaviour you don’t manage,” said Steinhart, mentioning that “distraction” is identified as a risk by many people today, including teenagers.

Interruptions and distractions are detrimental to our productivity and also a source of stress, he said. Once you are distracted, it takes 20-25 minutes to recover your focus. “Take care that you are not connected all the time.”

Unfortunately we have also developed an “attention economy” where web sites and apps are rewarded for holding our attention and they have evolved to do that effectively.

A great way, apparently, to get us addicted is to have mechanisms that only occasionally reward us. We will try and try again in hope of reward. Lotteries are like this. So are slot machines. So too, says Steinhart, are things like notifications in apps, or the action of pulling down to refresh emails or other feeds. Most of the time we get nothing of value and we know that. But occasionally something really good arrives. The possibility keeps us hooked.

Another difficulty is that humans do not always cope well with abundance. When a previously scarce resource, food for example, becomes abundant, logically what should happen is that we become more discriminating, selecting only the best and discarding the rest. In practice though this is not the case, and we have seen the ascendance of junk food that does us harm.

We now have abundant information. Answering a question that might once have required a trip to the library or several phone calls can now be done in an instance. That is fantastic; but are we coping well? Somehow, instead of becoming more discriminating about the sources and value of available information, humanity is prone to consuming more and more information of low quality, whether that is banal time-wasting or actual falsehoods and information that is intended to deceive or mislead us.

Steinhart argues that we have moved into a new technological era but have not yet learned how to manage it. He draws an analogy with urbanisation; it tool mankind a while to learn how to build cities that were agreeable places in which to live.

Human needs includes some that are will served by today’s technological landscape. We need to experience “all of the different senses, to small, to taste.” We need privacy and solitude. “If you put managers alone for one hour in a room with nothing to do, they make better decisions the rest of the day,” claims Steinhart. We also need conversations, not just connections. “There is so much human interaction that you cannot digitise, like looking someone in the eye” he said.

How does this translate to ethics in technology? We need positive computing and software design that is “aligned with human goals,” he said.

Free and open source software is helpful in this respect, because the goals of the software are aligned with our needs rather then profit.

What can software developers do? “It is not your fault that technology is distracting,” said Steinhart, “but it’s your responsibility to change something.”

image

It is interesting to imagine what software might look like if designed for human needs rather than business interests. Steinhart’s ideas are around making software quieter, designed to get out of our way rather than to interrupt us, smartphones that encourage us to leave them alone, and of course to avoid anti-patterns which feed addiction or deliberately try to trip us up.

I noticed this tweet today about how an Amazon app behaves when you try to cancel. The user clicks Cancel subscription and gets this:

image

The following screen reverses the button colouring so that if you trained yourself to tap the faint button, you actually do the opposite of what you intend:

image

Until the last screen (there’s another one?) where they switch again:

image

This was not in Steinhart’s talk, but it seems a good example of software designed for the business and not for the user.

I have seen a similar pattern in Amazon’s web checkout where you have to click carefully to avoid being signed up for Amazon’s Prime subscription by accident. Not good.

Ethics and technology

This post is long enough; but there is, I hope, much more to say on this subject.

Despite enjoying Steinhart’s talk and others in the Ethics track, I was not encouraged. We need, of course, regulation as well as more principled businesses, and we do not know what such regulation should look like, nor how to implement it.

One thing though is worth repeating: if as a software developer you are asked to do something that is ethically unacceptable, you should refuse. Professional standards include more than quality of coding.