Hello there!
The first OS
As you might guess, the first OS was Windows. We got our first PC the early 2000s and I think it had Windows ME, maybe other versions else I’m not sure but definitely it was Windows. At that time, I didn’t even know other operation systems existed. It was ok and enough to start using PC (mainly play games 😜). Over time, we tried a lot of different versions, like 98, 2000, XP, Vista, etc, but I still was a Windows OS.
Later, when we connected to the internet, I found out what virtual machines are and you can run an OS inside another OS. Initially, it was just VM with another copy of Windows as a playground. I really didn’t like to “experiment” on the main OS, install some software, play with it, and remove it, but uninstallers aren’t perfect. So, you still need to remove some files. VMs were perfect for such scenarios (later it will be replaced by Docker
).
First attempts of Linux
To run VMs, I used VirtualBox
. It had options to run a lot of different OSes, including Linux
. At that time, I knew Linux
was a “hard” OS for developers where you need to know a lot of stuff and live in a terminal but I still wanted to try. I found that Ubuntu
is a popular and “easy version” of Linux. So, I decided to try it. It was pretty easy to install and configure it. I played with it a bit. I tried a lot of different flavors of Linux
. But I had one big problem. Why? Why do I need it? Why is Linux
better than Windows
?
For a long time, Linux
was a toy. The only real use case was a VM with Linux
to compile some C/C++
code. In our university, we had a course where we needed to compile a C/C++
code, I don’t remember what it was, but usually, they allow you to use whatever programming language you want but not in this case. I didn’t want to install a C/C++
compiler (with a lot of dependencies and unnecessary stuff) just to remove it in a few weeks. So, I decided to use a small virtual machine with TinyCore
, a compact Linux
distribution. I configured a shared folder, edited code in Windows
and compiled it in Linux
.
Let’s try Mac OS
Later, after years of Windows
, I wanted to try MacOS
. So, I bought a basic version of Macbook Air. This OS wasn’t something special. Yes, it has differences but from a casual user’s point of view, it does everything you want pretty much the same way. The important part here is that because .NET Core become cross-platform, my overall interest in Docker
/ Kubernetes
and other technologies. I started to use it as a home development machine and started to learn a lot of terminal commands. Yes-yes, I know MacOS
is not Linux
but still it is closer to Linux
then Windows
.
Around this time, I bought my first Raspberry Pi, I think it was version 3B, and I turned it into my home server. The Raspberry Pi team provides a Debian-based Linux
distribution called Raspbian. So, I started to learn how to configure and manage my own server, from starting simple systemd
services to manually managing iptables
rules.
So, at this point, I had three active OSes. Windows
- work and gaming, MacOS
- home/casual development, Linux
- home server.
Also, it’s worth to mention WSL
. Initially (in WSL1
), it was a compatibility layer in Windows
which allowed running Linux
apps in Windows
. No virtualization, they did something similar to WINE
but the other way around. Later, Microsoft
introduced a second version which is just a lightweight virtual machine and now it even allows you to run GUI apps. And still, I considered it as an addition to Windows
to run some Linux
apps while I am in Windows
with a seamless integration between these OSes. But nothing more, not even close to the main daily driver.
Daily use of Linux
In 2022, I fully switched to MacOS
as a main OS. It was a home system and a system for work at the same time. Because of such a slow transition, I was ready and it didn’t cause any significant problems. .NET Core is cross-platform and works fine on MacOS
. Visual Studio for Mac is a shit but you can use Visual Studio Code for small projects or JetBrains Rider for everything else. For databases, you can always spawn a Docker
container.
But what about Linux
? At this point, I was using Manjaro
(an ArchLinux
-based distribution) on Raspberry Pi 5
but then I decided to switch to Manjaro
on my work laptop. Unfortunately, because of some stupid policies in our company, to use you own device for work (BYOD), you need to install some corporate bloatware. Basically, you need to hand over your device to a company. I couldn’t use my Mac anymore, so I decided to switch to Linux
instead of Windows
. And again, because of Mac and home server experience, it wasn’t something special. Just another OS with its own small things.
So, a small recap, there is a last Windows
PC. It was a powerful machine to run games on near-top settings. Also, I bought SteamDeck
, a handheld device. It is based on ArchLinux
and it will be important later.
Microsoft
introduced Copilot and Copilot+ PCs. The overall idea is pretty nice, a tool to help you to do routine work. Like GitHub Copilot which is perfect for generating boilerplate code, basically “Intelligent” IntelliSense. But there is a “dark” side of Copilot. It is called “Recall”. It is a thing that watches your screen, records screenshots and information from it, and allows you to search for anything in this information with the help of AI or it helps with suggestions. Again, the idea of these features is pretty nice. BUT. There is one small security problem. Microsoft
records everything about you. It is a privacy disaster, even if Microsoft
manages to implement it safely and no one, except owner, will be able to access this data.
I decided that my journey with Windows
ends now and I want to use Linux
for gaming also. I’m glad I’ve tried SteamDeck
because it showed that gaming on Linux
is not so bad. Yes, you still can’t run some games, because of bugs, performance, or anti-cheats but I think I can live with it.