Category Archives: windows

Linux on the desktop: growing, but not by as much as some claim

My attention was caught by the claim that Linux desktop use “surged to 22% on one workday.”

Unfortunately the claim does not stand up to scrutiny. The figures are drawn from Cloudflare data and based on North America only. The 22% is there but only at 9:00 UTC, which is 4:00am on the east coast and 1:00am on the west coast, or in other words, when most of the USA is asleep. At 15:00 UTC on the same day, Linux share was down to 6%.

Figures showing Linux share of 22% in North America - but only when most people are asleep
Figures showing Linux share of 22% in North America – but only when most people are asleep

If you set Cloudflare to show global figures, they are more even, with Linux desktop usage tending to peak at around 7%. Windows remains dominant.

I agree though with reporter Steven Vaughan-Nichols that Microsoft has damaged Windows with intrusive advertising and other user-hostile moves, such as the wrecking of the Start menu, the central position for the taskbar, and the confusing repositioning of key options like Copy on the right-click menu in File Explorer.

Almost whenever I touch a Windows 11 machine on behalf of another person, I offer to move the taskbar back to left alignment, and so far every single person has preferred it that way. There’s a good reason: the left corner is easier to hit with the mouse pointer. The central position was a victory for cosmetics over usablity.

I digress though. Today it looks unlikely that Windows on the desktop will be displaced by Linux; however what is more important is the desktop computing continues to be displaced by mobile and web. The notion of a home PC died long ago, other than for gaming.

My bank is “improving” its web site for online banking, in fact making it worse for desktop users. It justifies this by saying it will be better on mobiles. It is annoying but may be the right thing from the bank’s perspective.

In my own area, software development, desktop PCs remain more suitable than any other form factor, though I confess to using a Mac most of the time now (Windows 11 was my break point). On Windows, WSL (Windows subsystem for Linux) has become near-essential.

I also still use Word, Excel and Outlook so Microsoft continues to get money from me.

Running Visual Studio 2008 in Windows 11

One thing Microsoft is generally good about is keeping old applications running. Applications built with Visual Basic 6.0 (first released in 1998) still run well (in most cases) on the latest Windows.

I maintain an application which is not quite that old, but which was built with Visual Studio 2008 and .NET Framework 2.0. It still runs but needs modernizing and taking cross-platform.

I tried opening the project in Visual Studio 2026 but the automatic project conversion failed and it was proving difficult to fix up. Maybe it would be easier to keep it as-is and import it piecemeal to a new project, converting the database from Access MDB to SQLite along the way.

To this end, I decided to install Visual Studio 2008 on Windows 11. One can still download the trial from Microsoft as this Stack Overflow thread discusses, and upgrade to full if you have a valid key. I had to disable Windows 11 Smart App Control in order to mount the .iso files.

I installed both VS 2008 and the SP1 patch, as well as the MSDN library. Remarkably everything worked smoothly, with the exception of SQL Server 2005 (installed by default) which Windows warns will not work correctly.

My project loads and runs perfectly and the old Visual Studio is delightfully responsive to use.

The presence of local help is nostalgic:

One of the first things I did was to write code to export the MDB to SQLite, an important step forward in the modernization journey, and the task was completed in less than a day.

Getting started with Azure Artifact Signing

Signing applications is a requirement for deploying a desktop or mobile application and can be fiddly. Microsoft’s Azure Artifact Signing always looked to me like a good solution in that the pricing is reasonable at $9.99 per month for up to 5,000 signings, and it is run by Microsoft so one would think that the certificates will be satisfactory for Windows users.

This week I got started with the service. Microsoft has a handy quickstart guide and the first thing to note is that availability is limited to USA and Canada for individual developers, or USA, Canada, EU and UK for organizations. Luckily I work for a small UK limited company so qualify as an organization.

I also noted that a pay as you go Azure subscription is required; if you have a sponsored subscription that will not work.

The first step is to create an Artifact Signing Account. Billing starts from when this account is created, even if you are unsuccessful in obtaining a signing certificate. Should this be the case, make sure to delete the account.

Next, check the roles assigned to the user that will operate the code signing. There are two: Artifact Signing Identity Verifier and Artifact Signing Certificate Profile Signer. I assigned them both to my Entra ID user.

Now there are two steps to obtaining a certificate profile. The first is Identity Validation. In my case this is for an organization; you will need a DUNS number, two valid email addresses, a functioning web site, and the first and last name of the individual that will use the service. The organization address should match the one recorded at Companies House, even if day to day work is done elsewhere.

The organization identity verification automatically progresses to individual identity verification. In my case this was done by a company called AU10TIX and I was able to use a UK driving licence.

Next I hit what looked like a roadblock. I received an email asking me to verify my email address; however clicking the link got me a web page stating “the request is blocked” and “service unavailable”. Thinking that perhaps the service was unavailable, I tried several times and on different networks. I am not the first to experience this. I was on the point of raising a support case when I got a further email advising that validation was complete.

Once identity validation is complete you can create a certificate profile. The type I need is called Public Trust. I had several mysterious failures with uninformative errors; I suspect this might be to do with non-unique profile names but no idea really. Again I was on the point of contacting support when I tried a new profile name and it worked.

The quickstart guide ends at this point and the next document you need is the one on setting up signing integrations. You will need a recent Windows SDK including SignTool.exe, the .NET 8.0 runtime, and the Azure Artifact Signing client tools, if like me you want to sign a Windows executable.

Then you need to create a JSON file traditionally called metadata.json, and a command to sign the file. The command will be lengthy so fire up Notepad or similar and put it in a .cmd file or similar. You need to discover the location of SignTool and the location of Azure.CodeSigning.Dlib.dll and note that there are different x64 and x86 versions.

The command includes a timestamp without which the code signing is useless as the certificate has a lifetime of just three days.

I carefully assembled the command and I am happy to report that it worked first time.

Output from code signing command

So far so good. The whole process is somewhat intricate but I am hoping this will prove a good solution for Windows.

Notes from the field: when Remote Desktop cannot connect

Following a power outage, all my Windows servers (hosted on a single Hyper-V server) rebooted. They are configured to come back up, but I found that Remote Desktop was not working to many of them, including the domain controller.

I found a workaround using the Hyper-V manager on one server to which I could connect; this lets you connect via a different route.

Today I focused on what was causing the issue. Microsoft has quite a reasonable troubleshooting guide here which pointed me in the right direction: on the Mac I use for day to day work, for example, port 3389 was blocked on the target server. In the Windows firewall this port was open for private and domain profiles, but not for the public profile, which is what one would expect.

Microsoft’s guide says to enable port 3389 on all profiles but that seems wrong to me. Likely OK for a server, but not for a laptop, for example. And why would it matter?

The answer was that even on the domain controller, the local network was set to the public profile.

The local network on the domain controller I was trying to reach was set to the public profile.

Oddly, as I explored the network settings, this changed by itself to the domain profile, and Remote Desktop started working again.

There is a detailed post here on the intricacies of network profiles and why they can go wrong. It is potentially quite a tricky problem since of course you need access to the server in order to fix it, and if your setup is like mine, the servers do not have keyboards or screens attached.

Amazon Linux 2023 on Hyper-V

Amazon Linux 2023 came out in March 2023, somewhat late as it was originally called Amazon Linux 2022. It took even longer to provide images for running it outside AWS, but these did eventually arrive – but only for VMWare and KVM, even though old Amazon Linux 2 does have a Hyper-V image.

Update: Hyper-V is now officially supported making this post obsolete but it may be of interest!

I wanted to try out AL 2023 and it makes sense to do that locally rather than spend money on EC2; but my server runs Windows Hyper-V. Migrating images between hypervisors is nothing new so I gave it a try.

  • I used the KVM image here (or the version that was available at the time).
  • I used the qemu disk image utility to convert the .qcow2 KVM disk image to .vhdx format. I installed qemu-img by installing QUEMU for Windows but not enabling the hypervisor itself.
  • I used the seed.iso technique to initialise the VM with an ssh key and a user with sudo rights. I found it helpful to consult the cloud-init documentation linked from that page for this.
  • In Hyper-V I created a new Generation 1 VM with 4GB RAM and set it to boot from converted drive, plus seed.iso in the virtual DVD drive. Started it up and it worked.
Amazon Linux 2023 running on Hyper-V

I guess I should add the warning that installing on Hyper-V is not supported by AWS; on the other hand, installing locally has official limitations anyway. Even if you install on KVM the notes state that the KVM guest agent is not packaged or supported, VM hibernation is not supports, VM migration is not supported, passthrough of any device is not supported and so on.

What about the Hyper-V integration drivers? Note that “Linux Integration Services has been added to the Linux kernel and is updated for new releases.” Running lsmod shows that the essentials are there:

The Hyper-V modules are in the kernel in Amazon Linux 2023

Networking worked for me without resorting to a legacy network card emulation.

This exercise also taught me about the different philosophy in Amazon Linux 2023 versus Amazon Linux 2. That will be the subject of another post.

What is an operating system for? A friend’s Windows 11 rant shows disconnect between vendors and users

What is an operating system? The traditional definition is something like, the system software that manages computer hardware and provides services for applications.

This definition does not describe what you get though when you install an “operating system” such as macOS, Windows, Android or ChromeOS – or more likely, receive hardware with it pre-installed. What you get is an operating system (OS) plus a ton of stuff that can only be described as applications. In practice, the reach of what we call an operating system has extended over the years. Even in the early days, an OS would come with utilities, including a command line, a command line editor, perhaps a C compiler, file management tools and so on. Then there was a change when pre-installed graphical user interfaces arrived. Windows came with Notepad, Calculator, Write and Paint.

What is a commercial operating system today? We can add to the traditional definition at least the following:

  • A vehicle for advertising
  • A means of lock-in
  • A vehicle for data collection

On Windows, advertising is everything from the pre-installed trials, to the nagging to upgrade OneDrive, to the mysterious appearance of Candy Crush on the Start menu.

The lock-in comes via the ecosystem. Apple is worse than Windows for this in that more of its applications work only on Apple operating systems. On Windows though Microsoft hardly has to bother since a huge legacy of Windows-only applications keeps users from changing, especially in business.

Data collection is via near-enforced login and telemetry. An Apple ID is not required for macOS but it is strongly encouraged and necessary for the App Store. A Microsoft or Entra ID account is not required to use Windows, but the setup points you strongly in that direction.

Is any of this good for the user? A friend is disappointed with Windows 11 – mainly because it is less familiar than Windows 10. His central points are that Microsoft makes irritating changes that disrespect the learning users have invested in Windows, and has left behind the notion of the operating system as a blank canvas waiting for applications to make it useful.

Personally I put up with Windows 11; it is not that different, though there are a few things that I particularly dislike:

  • The taskbar icons in the centre. I routinely move them to the left. Settings – Personalisation – Taskbar – Taskbar behaviors – Taskbar alignment, no registry editing required. This single change makes Windows 11 feel much more familiar, and it is better since left-aligned icons are easier to target.
  • The Start menu. This was great in Windows 95 and improved up until Windows 7. Windows 8 replaced it for … reasons. Windows 10 reinvented it but badly. I have trained myself always to click All apps as a second step after clicking Start. Click on a letter for the letter menu, select a letter, start the app. It works reliably, unlike Search which is a usability disaster when what you want is to start an application.
  • The File Explorer. You right click a file, and instead of a single menu of options, there are three sets of options, one in a row of icons, one in a mysterious subset of options, and one under Show more options. A poor user interface for a common task.

There are other things, of course. I always turn off the distracting Widgets on the taskbar. I always show as many of the “additional System tray icons” as I can, with the exception of consumer Teams. I always open Edge, reflect on the cheap ugly mess that is the default home page, and set about disabling it.

These annoyances are mainly design errors by Microsoft rather than an a direct consequence of the changing role of the operating system; yet they would be impossible without that change.

Imagine for a moment if Windows were optimised for installing and running applications. Oddly, Windows 8 (which most hated for more or less the same reasons my friend cites for disliking Windows 11) did have that vision. Install from the Store, with clean setup and easy removal. Run full-screen with no distractions. Before you say it, yes there were issues, the UI was not good enough, the apps were not there, we missed multiple overlapping windows, and more. There was a good concept in there though.

Windows 11 rant: “I replaced Win 11 with Win 10. It was like walking back into my house”

A friend purchased a Windows 11 laptop and this was his reaction, slightly edited. It caused me some reflection on what is an operating system, which I have posted separately. I also note: Windows 10 goes out of support in October 2025.


“I recently bought a Win 11 laptop. I was stunned. I must apologise for what follows, but it actually made me quite angry to realise that the Chief Product Manager at Microsoft clearly has NO understanding of ‘opportunity costs’, thus wasting millions of our ‘person-hours’ worldwide.

“For many years I worked in health research, where we realised a decade or two ago that something doesn’t just have to give better results to be worth implementing. It’s got to be SUFFICIENTLY better to offset the cost of implementing the change. If you start something new that ‘works better’ but in doing so, fail to consider the additional costs involved in everyone changing how they do things, professional and patient, to not just know but understand how & why the new thing is better it is very easy to end up with everything working worse than before. NEW must be > (OLD + Opportunity Costs). Ideally a lot greater, if you want to bring people with you. This isn’t rocket science, not anymore.

“I get that most IT correspondents are professionals used to having to plough through new Operating Manuals (pdf, sure) every two years, but out here in Userland I am far too busy doing interesting stuff with my computer & applications. Over a few years I learnt where the main knobs & levers of Win 10 are. And haven’t thought about it since. So, for Microsoft to carelessly move everything, just because they believe the new setup will be quicker/easier/more efficient for me is not only staggeringly rude, but stupid.

“Consider: It probably only took me a few hundred hours of use of Win 10 to learn where all the OS stuff was to the point where it was automatic. Since then the OS stuff has usually required no conscious input at all, like riding a bike. Some things might not be easy to find, but once you know, you know. Then along comes Win 11, and all this stuff is a pain in the arse again, nothing is where it used to be. So I don’t CARE if, in theory, the new arrangements are easier to use ONCE YOU KNOW THEM, my point is, why should I, and (hundreds of) millions of other Windows users, have to re-learn all that sh*t?

“IT’S JUST AN OPERATING SYSTEM! (Can someone at Microsoft put up posters?)

“I’m not interested in it! It’s the environment in which the things I AM interested in – applications – video editors, DAWs, office apps etc.- live. Don’t f*ck with it. How would you feel if suddenly you had to learn to speak & walk again, just because someone thought they knew a better way to do these things?

“And consider the hundreds of hundreds of millions of person hours you are WASTING, as we have to re-learn where things are? Double-click when before we had to single click. Settings moved somewhere completely different. Even where on the screen to look: Does Microsoft not employ a single behavioural psychologist who could tell them how much time (and attention) is wasted when you move something that was always bottom left to top middle?

“And then, the final straw: I found that most of these maddening ‘I’m bored, let’s change grass from to green to blue’ ‘improvements’ can be reversed, just by editing the registry. It was only on my fifth edit, I realised what was going on. The old ways of doing things, that I’d invested serious time in learning about to the point where they were automatic, were STILL THERE! It’s just that someone Microsoft couldn’t even raise their eyes from Tiktok (or whatever was distracting them), to add a few lines of code, to make the previous ways of operating, accessible via a menu. Remember them? You put the user in charge? Of their own computer? The very thought…

“At that point I realised that Microsoft’s institutional memory had, ironically, forgotten why Bill Gates got so rich in the first place. Let’s recall – IBM agreed to let him licence rather than sell his OS for their new, pathetically under-powered ‘Personal Computer’, because they thought it would be a small market. I mean, who would want to use a desktop PC , when they could use a terminal to access a mainframe with a brain the size of a planet (sorry, Doug)? History tells us they then discovered, too late, that the Mk.1 Human Being prefers under-powered personal computers over high-powered mainframes, for the same reason we all prefer living in small chaotic houses to living in large, well-organised institutions.

“So I replaced Win 11 with Win 10. It was like walking back into my house. Subsequently, in a typical working day I no longer had to expend any further conscious thought on operating the Operating System – because I learnt how to do that years ago. And then got back to the interesting stuff.”

The era of tiny PCs: 400g and smaller than a paperback book

My work PC for the last few years has been a 2018 HP Omen gaming PC which has been brilliant; I have replaced the GPU and added storage but everything still works fine. That is, it used to be, until I reviewed a mini PC which has surprised me with its capability – not because it is exceptional, but because everyday technology is at the point where having something bigger is unnecessary for everyday purposes other than gaming.

Mini PC with paperback book and CD to show the size

The new PC is a Trigkey S5 with an AMD Ryzen 5560 CPU, 500GB NVMe SSD and 16GB DDR4 RAM, and currently costs around £320. Its Geekbench CPU score is better than my 5-year old HP with a Core i7.

GPU score is way less than the old HP.

Still, there is support for three displays via HDMI, DisplayPort and USB-C and 4K/60Hz is no problem.

Inside we find branded RAM and it does not look as if the components are shoe-horned in, there is plenty of space.

The power supply is external and rated at 19v and 64.98w.

Expansion is via 4 USB-A ports, one USB-C, and the aforementioned HDMI and DisplayPort sockets. There is also an Ethernet port, and of course Bluetooth and Wi-Fi.

Operating system? Interesting. It is not mentioned in the blurb but Windows 11 happens to be installed, but with one of those volume MAK (Multiple Activation Key) licenses that is not suitable for this kind of distribution (but costs the vendor hardly anything). When first run Windows setup states that “you may not use this software if you have not validly acquired a license for the software from Microsoft or its licensed distributors,” which you likely have not, but Trigkey may presume that most of its customers will not care. I recommend installing your own licensed copy of Windows as I have done, or your preferred Linux distribution.

Windows does run well however and 16GB RAM is enough for Hyper-V and Windows Subsystem for Linux (WSL) 2.0 to run well. Visual Studio 2022, VS Code, Microsoft Office, all run fine.

I am not suggesting that this particular model is the one to get, but I do think that something like this, small, light, and power-sipping, is now the sane choice for most desktop PC users.

Windows Server 2022 Essentials – a good deal for small businesses but what is it really?

I have just installed Windows Server 2022 Essentials on a Gen 10 Plus HPE Server – a somewhat arduous experience mainly thanks to what seems to me HP’s buggy firmware and utilities. I optimistically tried to use Intelligent Provisioning; this is meant to update itself before use but got into a loop where it would not update, the solution being to download the latest version from HPE and install it from a USB stick. That worked but I still could not get Intelligent Provisioning to install Windows Server and ended up going a more manual route. Once installed you will need HP’s SUM (Smart Update Manager) to install drivers and update other bits of firmware; this runs as a local web application but when it attempts to open in the default browser (Edge) it hangs on “Loading”; the solution was to use Firefox. I also hit a documented problem where Windows reports virtualization as not enabled and Hyper-V therefore does not work. All fixed now and one thing that I do like about HPE servers is the ILO (Integrated Lights Out) and the ability to do everything remotely including changing BIOS settings.

The main focus of this post though is Windows Server 2022 Essentials, which I purchased with the new server.  Curiously it installs as Windows Server Standard and at first I thought something must be wrong. Not so; this is quite a different thing than previous versions. Windows Server Essentials is two things: a role in Windows Server 2012, 2012, and 2019; and an edition of Windows Server aimed at small businesses. The edition is a good deal for organizations that fit within its limitations since it is modestly priced and does not require CALs (Client Access Licenses),  though it seems you can now only buy it as OEM software. If you exceed the limitations, you have to upgrade to full Windows Server and add the CALs too.

The fact that Server Essentials is both a role and an edition leads to some hilarious confusion including this remark in the official documentation.

image

All that is irrelevant now though as the role has gone since Server 2019.

The consequence of these changes is that Server Essentials now has very little specific documentation. The features are the same as Windows Server Standard, other than the stringent hardware limits which are:

For Windows Server 2022 Essentials:

1 CPU socket, 10 CPU cores, 128GB RAM

For Windows Server 2019 Essentials:

2 CPU sockets, no core limit, 64GB RAM

In addition, the licensing terms state that “Up to either 25 unique users or 50 unique devices may access and use the software at one time” and that “Windows Server CALs are not needed to access the server software.  Some server software functionality may require special CALs.”

Finally, there is provision for virtualization of the server by installing both directly on the hardware and a further instance as a VM, provided that “if you run both permitted instances at the same time, the instance of the server software running in the physical operating system environment may be used only to run hardware virtualization software or provide hardware virtualization services.”

In every other respect, it is Windows Server Standard. A note here states:

With Windows Server 2022, the Essentials edition is available to purchase from OEMs only, however there is no specific installation media. Instead, an Essentials edition product key is used to activate the Standard edition of Windows Server 2022. You get all the same features.

I cannot see any requirement for it to be a domain controller or other such restrictions which apply to earlier versions – though in most cases it probably would be. You can also run Azure AD Connect on versions since 2019.

Windows Server Essentials is the last remnant of what used to be Small Business Server, which in its time was a great solution for small organizations when properly installed and managed. Microsoft now expects such businesses to use 365, though a local server is still handy for things like local user management, print management, local file shares, or applying group policy if you do not use InTune. Further, there is still plenty of business software that expects to run on Windows Server.

Remote Desktop on Mac failes to connect with 0x207 error

I am setting up a new Mac and got this annoying error from the Microsoft Remote Desktop client.

Worse, a number of people have complained about this error but there is a lot of useless advice out there, and also the bad advice to disable NLA (Network Level Authentication) on the Windows PC. Don’t do that, it is bad for security.

One of the few helpful threads on the topic is this one which point to this article on the subject of how to enable integrated authentication on Mac and Linux using Kerberos. I followed the advice here and it worked though I’m not sure if the ALL CAPS is necessary for the domain, but I used it and it worked – as long as I entered user@ALLCAPS in the RDP username as well.