I’ve been using Windows, as my main OS, since pretty much the turn of the century. I’ve never hidden my disdain for the 9x (95/98/Me) codebase. It was a horrid experience, full of badly made drivers, plug and play that never worked, and guaranteed crashes/freezes more than once a day. Fortunately, I hardly had to deal with it, as my Amiga happily carried on being my main machine, whilst I fired up the PC (an AMD Duron @ 700mhz running Windows 98 and, later, Me. Ewww) for secondary tasks. However, this changed when x86 CPUs started reaching gigahertz speeds, and Windows 2000, built on the NT codebase, was launched. Out of the box it was so much more stable than it’s 9x siblings. Plus it offered excellent networking technology meaning I could finally share files across my home network, and control who could access them. I also built a new system based on an AMD Athlon processor, at this time, and the shift to the Windows environment begun. Of course, every Microsoft OS since has been an evolution of that (2000, itself, an evolution of NT 4), so there’s always been an air of familiarity to it. In hindsight, I probably should have gone with Linux all the way back then. But most of the software I wanted to use was Windows only, at that time. But things have moved on, and with MS baking in lovely telemetry data in to Windows 10, it’s time to ditch and switch.
From a PHP developer’s perspective, it makes perfect sense. In my current job I use a Mac as my primary machine. Due to being based off BSD, its Unix roots mean it’s not too far off the Linux experience when it comes to my workflow. Also, I spend pretty much all day, everyday, running virtual machines that run Linux as development VMs. Sometimes, trying to do dev work on a windows machine on a project that has been built with Linux in mind can be a right pain to work with. Then of course, there is the Windows backslash, for folder separators, as opposed to forward slash on every fucking other OS going. Having Linux as my home desktop will help the system really become second nature to me. There are also my Rapsberry Pi’s and AWS servers running Linux. Oh yes, and my Android phone? Yup. Linux. You can start to see why this would be a good thing. Funny thing is that I’ve always toyed with the idea of going to Linux full time. I remember even trying to get Linux running on my Amiga (but I think it needed a more powerful 68k CPU than I had at the time). I’ve still got some Mandrake install CDs from an issue of Linux Format from well over a decade ago. Yet, I still never fully committed to leaving Windows by the wayside. A case of OS Stockholm Syndrome, maybe? Probably more a case of my line of work making me more used to it to the point it became a no-brainer. It also helps that Linux has really started to cement itself as a viable home OS in more recent times. Not to mention that Windows 10 seems to be breaking further with each successive update.
I decided to go with Ubuntu as most of my VMs run it, as well as the dev VMs at the office. I did consider looking in to other flavours of Debian, and a I already have a laptop that runs Linux Mint, but it seemed a little pointless at this stage. I just wanted to get up and running. So I shrunk the drive that Windows lives on (it has a rather generous 1TB SSD to itself, created a new 128GB partition and installed Ubuntu to that. Whilst I could have created a new VM for this, I wanted to make sure I was fully immersed in to the environment and getting the best experience possible with my hardware. I’ve have noticed that Ubuntu can sometimes feel a bit laggy, when virtualized with VMWare. A VM would also require booting in to Windows, which makes it tempting to switch back to the desktop when I need something. Only by fully fusing myself will I truly break free (an interesting juxtaposition for sure).
The install was pretty painless and quick; just booted in to a live Ubuntu USB stick and ran install from there. I was greeted by an already familiar Ubuntu desktop. However, unlike my VMs which are used sporadically, I’m going to be staring at this desktop day in, day out. So naturally I wanted to tweak it to my liking. First off was to move the favourites bar down to the bottom of the screen, similar to Windows and Mac. The ‘Show Applications’ button then had to be moved to the ‘top’ of the bar, which put it on the left hand side. I then had to install the Gnome Tweak Tool, which allowed me to apply a dark theme to my desktop. Finally I got rid of the garish default background and applied a nice backdrop that spanned both my monitors. I then installed my most used applications: PHPStorm, Visual Studio Code, Firefox, Thunderbird, Spotify, Steam, and Sublime Text. LibreOffice, which is already installed would replace MS Office. With those in place, I settled down and got on with things.
And here’s the thing. I settled in pretty much straight away. Thanks to Firefox sync, all my usual bookmarks were immediately available. Thunderbird synced up with Gmail so I had all my emails there, too. PHPStorm, being a Java application ran exactly the same as it does on Windows. I barely needed any adjustment to the new environment at all. Naturally, I’ve already got some experience with it, and plenty of command line experience, but I haven’t really felt like it was too difficult or cumbersome to do what I wanted. I never felt lost. As far as day ones with a new OS goes, this was certainly a pleasant experience. By the end of the day I felt I could easily ditch Windows and not miss it. However, there are some things that will force me to keep Windows around as a secondary OS. Ableton and Visual Studio being 2 main reasons.