Can You Move From Windows 10 to Linux And Still Be Productive?

Can You Move From Windows 10 to Linux And Still Be Productive?

I started using PC’s with MS Dos 4 and then 5. I graduated to Windows 3.11 and I’ve used every single version of Windows released since then. I lasted two months on Vista which some have claimed I should get a medal for (Vista wasn’t all that bad…).

But I’ve also dabbled outside of the Windows world. I used OS/2 Warp for almost a year in 1995 (I still have the box!). I’ve used Linux server on and off for around 18 years, starting with Red Hat Linux. I’ve had forays into Linux desktop in the past and none of them have lasted beyond the initial couple of days trial.

But for the last 6 months I’ve been wondering. Can you move from Windows to Linux and still be productive? So I thought I’d blog about my journey to find that out.

What’s wrong with Windows 10?!

I love Windows 10. Let me say that now. It’s the best Windows by far. It’s fast. It’s energy efficient (important when using a mobile device). It’s secure. It has wide hardware and software support. All in all it’s a great operating system

Update, update, update … actually don’t.

I understand why Windows 10 is aggressive when it comes to applying patches and updates. The Windows XP ecosystem was a world of fun and joy for every piece of malware the internet had to offer. It was down to the many people who thought they knew better than Microsoft, and switched updates off (and still do!). That’s actually a little unfair. But Microsoft should take some responsibility for this. Updating Windows often felt like playing Russian Roulette with your operating system. But the fact remained. Windows was the first target of any script kiddie between school and dinner time. And the internet suffered for it.

Successive versions of Windows made updating easier and safer. Confidence was restored (by and large) and the rest of the internet reaped the rewards. While it’s not perfect, it’s a damn sight better than it was. But a large part of the testing comes from consumers on the Insiders build.

Due to incompatibilities with Intel display drivers, iCloud and mapped drives, the Windows October 2018 update (1809) was pulled. The previous April 2018 update (1803) was also hit by problems after release. As was the very first update (version 1511).

I’ve lost confidence in the Insiders model of testing updates. Given the last two major updates to Windows 10 having so many issues, it’s failing to deliver it’s goals.

Let me reboot your computer for you … did you not want that?.

some text You can specify when an update should be able to reboot your computer and I set that outside normal hours. Last thing anybody wants is their computer to reboot in the middle of working causing loss of data.

Most of the time it will wait for me to reboot. But sometimes. Just sometimes I’ll come back from lunch and voila, a login screen after a reboot. So far I’ve been lucky and no data has been lost but it is only a matter of time.

Consistency, Consistency, Consistency.

System configuration is managed through System Settings or the Control Panel. You can do some in one and some in the other. You need to know on which one you need to look at to find the setting you want. System Settings is by and large useless to me. Only when they remove the functionality from Control Panel do I use it. And it’s been this way since it’s release. This continues to be the case across releases so it would seem that this half-way house will stay as it is.

To be fair on this one, I’d consider myself a Power User and I don’t see System Settings aimed at me at all. So maybe it works well for ’normal consumers’ and Microsoft have hit the right balance between the two. But it leaves me with the feeling that there is no clear direction on this.

I see you…

There has been a great deal of debate over this and I’m not going to add much to it. The core of the debate seems to come down to that the world now operates on the Facebook model - you are the product.

What I think is missing from this debate is that Windows 10 is not free. Somewhere along the line you pay for it. Whether through the increased cost of a new computer, buying it directly, or paying for the operating system you upgraded from. Regardless of how you paid for it, you paid for it.

I won’t say any more than that. I’m not comfortable with my operating system sending data back about me and what I do. To avoid adding to the conspiracy theories, you can minimise what is sent back. But you cannot disable it. There are other ways to work around it but this is working around the problem. The problem itself still exists.

Candy Crush. You love that right?

Crapware installed by the big hardware vendors has been the case for years. In the good old days these vendors were not content to just sell hardware. They saw an opportunity to make more money by monetising you. And it flourished as we all accepted that we had to remove all this junk or reinstall Windows when we got a new machine. There are even apps that do nothing but remove this junk.

Unfortunately, we not have to do this now in Windows too. Which is … disappointing.

But it’s not all Windows 10 fault …

My day to day work includes using tools that cause me problems on Windows. These ones more than any others - Vagrant and Docker.

I’ve had more problems with Vagrant under Windows than any other single tool I’ve ever used. And that’s a tall claim. But it’s true. Vagrant runs on Ruby. Ruby on Windows is not a love made in heaven. It works. Usually. It’s slow. Always. When it breaks. It hurts.

Tweet from @cl says my first foray into Windows is going very well and shows the MSYS2 64bit Setup running

On Linux, and Mac, it just works.

Working with the Chocolatey team means sharing Vagrant files. The team are all on Mac’s. What works for them, needs tweaking for me. It shouldn’t, but it does. That’s just Vagrant.

I’ve had problems with new versions of Vagrant breaking my environments. Almost every new release has caused me some level of pain. I now pin the Chocolatey package to a specific version to remove the need to spend hours fixing issues. But at some point I will need to upgrade.

Because the Chocolatey team use VirtualBox and not Hyper-V (they’re on Macs so that’s not an option) or VMWare Workstation (again … Macs) I can’t use Docker as it’s meant to be used on Windows - with Hyper-V. But Docker will work with VirtualBox with a bit of tweaking and the use of Stefan Scherer’s Windows Docker Machine repository. You can even run Windows Docker containers. It’s painful. It feels like a fudge. But it does work.

But these tools all work on Linux without the same amount of fudging required.

But What Of PowerShell?

I’ve been using PowerShell for around 5 years now. When I started there only was PowerShell, which they renamed to Windows PowerShell. With the release of PowerShell Core they named it PowerShell. But enough of the naming lesson. The important thing is we now have PowerShell Core that will work on both Windows and Linux. So where to runit doesn’t seem like such an issue today.

When writing code today I endeavour to make it PowerShell Core compatible. And if it’s not, there is a good reason why. So the move to any Linux operating system will not be a huge issue. Sure, I am expecting issues. But I’m not expecting issues I can’t overcome. And remember if I need to run Windows PowerShell, I can always do so in a Windows virtual machine.

Summary

If you take any of the issues above in isolation, you might think I’m overreacting. And you’d be right. But when you put all of these isolated issues together it leaves me with … a feeling … and that’s difficult to quantify as we techies try to deal with absolutes, in facts, in booleans. A feeling is none of them.

But a feeling is what I have nonetheless.

I’m not a fan of monetising the consumer and try to minimise my participation whenever I can. When it’s on the very operating system I use day to day, it’s that loss of trust in the operating system. Sure I can read the terms and conditions to see what is being shared and when, but that’s not the issue.

When I install an update I expect it to be tested. I expect it to not to reinstall apps that I’ve removed. And I expect it to not reboot my computer when it feels like it. This reinforces the loss of trust I mentioned earlier. I’m the human. I know better about what I want. Don’t overrule me.

In a nutshell I need an operating system to do two things:

  1. Let me do whatever it is I need to;
  2. Not get in my way when doing it;

That’s not happening any more. Windows, and the software, is starting to get in my way. I’m left with spending time, sometimes considerable, working around issues that I shouldn’t have to.

As I said at the start I had looked at the Linux desktop many years ago and it couldn’t compete with Windows. Linux has matured a great deal in that time and I’m going to give it another look.

Maybe it will work for me. Maybe not. I won’t know until I give it a go. What I want to do is blog about my journey and what I discover along the way. So look out for future posts on this.