My Journey to Finally Ditching Windows for Good
boilingsteam.com
boilingsteam.com
Yes and no.
WSL 2 provides a decent development environment (I've been using WSL 1 and now 2 since it's been available), but there's still much to be desired. Such as not having horrendous file mount performance on Windows mounted drives, not having to worry about WSL 2's VM eating up and not reclaiming your disk space and memory. But let's ignore those things because IMO they will be fixed in due time.
Windows is way behind the curve with tiled window managers vs native Linux and while technically you can run VcXsrv and run a tiled window manager through WSL 2, it totally fails on multiple monitors and also requires installing everything within WSL's file system. It just feels like you're battling 2 operating systems.
Also from a "just let me use my own computer as I wish" perspective, Windows is still spying on you with telemetry even with basic mode and using Windows Pro and it forces updates on you. This likely will never change and if you lived in a world where you could run everything you wanted on either Windows or Linux, I think most people would probably opt to have the OS that doesn't spy on you and reboot on its own right?
IMO native Linux is more than just features vs lack of features. It's a whole mindset shift on how everything works and how you can mold your dev environment to do exactly what you want instead of being forced on what to do by some company. I would switch to native Linux in a heartbeat if Davinci Resolve worked well on my hardware (a video editing tool that runs on Linux). Video editing is the only use case stopping me from switching.
On what kind of hardware are you right now?
Every time I export videos of any format with Resolve it adds weird black artifacts and audio pops to my videos. The audio pops happen in every video and it only happens in the exported video, it's fine in the timeline. I'm only dealing with 1080p 30 fps videos too. These issues happen on Windows too with Resolve where as video editing tools like Camtasia are super fast and I have no problems even after 400+ videos.
I tried so hard to switch. Spent close to an entire week trying to debug everything and couldn't resolve it (pun intended).
Besides that, the machine works really well for overall Dockerized Flask + Rails + Webpack development / ops work / recording screencast videos with OBS / video editing with Camtasia / 1080p gaming (although I have a 2560x1440 monitor) so I haven't really had a strong urge to retire this workstation and build a new one.
[0]: https://nickjanetakis.com/blog/the-tools-i-use#computer-desk...
I tested it on Debian (unstable channel at the time), but the same problem happens on Windows too. If I were to try Linux again it would involve setting up a dual boot and maybe trying Arch, or at this point Debian stable maybe (when I tried unstable it was before Buster was available).
Just use one of the third party utilities.
> it forces updates on you.
Prior to this, Microsoft received over a decade of scorn for not forcing updates for 0-days and other RCEs. RCEs in the wild on Windows make the news. RCEs in the wild for months on end are bad for the entire world.
Does no one remember the complete nightmare that was going to a relative's house and realizing they hadn't updating Windows in 1 year? From bot nets to hidden folders full of pirated files (or worse...), and an overall general expectation that all banking credentials ever entered on that machine are compromised.
Yes mandatory reboots are irritating, yes it would be nice if Microsoft hired back the armies of QA people they got rid of years ago so that the updates were more reliable, but those updates serve a real purpose.
When I go to my relatives for which i have installed a version of Linux, even though they don't update it very often it is never infected with anything. No malware, no virus, nothing. Always working exactly as I left it. That's one less headache when I deal with family members.
If enough people do this for their family members, when the Linux malware comes, it will sweep like a wildfire on dry wood. A complacent attitude, being trained not to worry about updates or malware is likely setting people for a very unpleasant surprise down the road.
Yes, but at the same time I ran Windows XP and Windows 7 without any updates for about 15 years combined and I can count the number of times I had to format due to malware or a virus on less than 1 hand.
I once had 280 days of uptime on Windows 7 while constantly running VMs, an entire dev environment, games, etc.. It was a really good OS for what it was.
I guess the moral of the story here is if you want to play with sharp knives you should have the option to. Power users who have been using computers for most of their lives shouldn't be put on the same playing field as your 65 year old Aunt or Uncle who still thinks AOL is the internet.
I think this is the KEY reason why I'll probably be running windows forever.
It's not that linux doesn't offer a bunch of benefits (indeed, that's why I use WSL heavily). It's that so much GUI software only really supports Windows or Mac. Linux is less than an afterthought most of the time.
I have ~200gb of files sitting on a non-SSD that contain things like videos and a bunch of other files that I don't want to put in WSL. I'd really like to be able to use tools like find, grep and friends to interact with those files.
With painfully slow access to Windows mounted drives this makes using those tools not possible in practice. No one wants to wait 15 seconds to grep through a directory where the same operation finishes in 1 second in native Linux.
This becomes a real nuisance with my backup script that rsyncs things from WSL 2's file system + Windows mounted drive onto an external drive. It takes rsync over 5 minutes (!) just to figure out what it needs to send over the wire because statting hundreds of thousands of files on a Windows mounted drive is ridiculously slow. With WSL 1 it used to take about 5 seconds to run rsync with that backup script to transfer a very small diff of files. I'm not exaggerating here either. It's literally 5 minutes vs 5 seconds and I'm sure native Linux would probably be 2-3 seconds.
The Windows 10 mix of old Windows UI with the Metro UI is a horrible mix, if you ask me.
I think the only thing I'd add to it is the quick search for installed apps.
Arguments about what is "better" just seem like what I like more. I feel like I'm basically rooting for a sports team. Someone can show me "proof" that their set up is better, and I'm still going to root for my home teams.
With that being said, I wish we would collectively as the tech community be less focused on branding and software and more so on the working conditions throughout the supply chains that end up on our desks. Who cares if you have a pc/bsd/mac/linux/solaris/android/iphone set up if the pieces that go into it hurt other human beings and the environment.
To be fair Steam got massively useful on Linux the day they released Proton. It made the number of games you could play go from a few thousands to something like half of the Steam catalog.
The other thing, is that it has ceased to matter. I was a Linux fan for a number of years. I learned a lot from it, and I still maintain a number of Raspberry Pi builds in my house.
But today, virtually everything that I care about is platform independent, most notably the "scientific" Python toolchain. My programs run without modification on any platform. So I've become platform agnostic, and use whatever makes the best use of hardware resources such as the two things mentioned above.
However, in a certain sense, I've ditched Windows, because I've ditched caring about platforms.
Battery Life: can't argue with you here, it's certainly a compromise if you work on a laptop.
The reason I use Linux is nothing is going to be pulled out from under me. No long random updates, the computer is mine.
Linux makes good enough use of the massive resources a modern laptop has.
Main reason for this is the Windows Subsystem for Linux - -with WSL I could use all the tools I run on Linux and my workflow didn't change much. I use ConEmu with WSL as a drop terminal and it works totally fine.
I ran Linux as my primary desktop OS when I was in High School and College. I fought with NVIDIA and printer drivers, I tweaked XF86Conf to get dual monitors, I cursed more sound subsystems than I care to remember. I was fairly fluent - you had to be simply to get a working system back then.
Things have improved somewhat - I can install a distro on a laptop (such as the T420s I currently run Linux on) and it will support my wireless networking and my native display resolution and my touchpad out of the box. The technical pieces have improved. What hasn't improved is the mindset.
Linux doesn't care about the user. Linus may go on about the kernel never breaking userspace, but that doesn't stop userspace breaking itself over and over - by design or accident.
I upgraded my laptop to the latest version of Linux Mint yesterday. The preferred way to do that is to wipe my laptop, do a clean install, and reconfigure everything. How is that an acceptable user experience? There is an upgrade script, but it forces you to remove any third-party apt repositories and has no override switch. I commented out my third-party repos, did the upgrade - and it deleted those entries from /etc/apt/sources.list.d. Thanks for the data loss! Even without that, the process was painful - it didn't persist my elevated credentials, so I had to come back during the upgrade and type my password at a sudo prompt a total of 3 times over the course of half an hour.
When pieces of the Linux ecosystem play together, it feels more like a lucky accident than anything planned. For instance, let's say you want to try out the i3 window manager. Most guides will tell you to use dmenu as a program launcher. This works fine right until it doesn't - let's say you want to run a program which requires root. It will simply silently fail without even an error dialog. You're left to go back to the command line and search around to hope you can figure out what the equivalent command is and run it manually there.
Now, I'm sure you'll talk about how i3 isn't the default Linux window manager and is designed for power users. That's not an excuse for silently failing in dmenu without any information, but let's talk about other areas.
Linux is significantly behind Windows, OS X, and Chrome OS in all areas of accessibility. Screen readers, magnifiers, high DPI, different DPIs for different monitors. This is a combination of multiple UI frameworks each with their own way of doing things and the fact that the greater Linux community has to be dragged kicking and screaming into a modern graphical experience. Linux users are still fighting against compositors, which means that the Linux graphics stack is still trying to catch up to Windows Vista (which is now 14 years old).
I would need to keep a journal to talk about all the little quirks I run into with Linux, but every week there are multiple things. Maybe Icing Window Manager went away, so my Cinnamon taskbar is broken and I have to do research to find that it's been replaced by "Grouped Window List". Maybe my touchscreen isn't working - or is it working and this app isn't responding to its signals? Do I REALLY need to print things from this PC? Is it worth trying to get that running?
Are there solutions to these problems? In theory, yes. In practice, the communities around many pieces of Linux software are either actively hostile to suggestions ("why don't you go code that up yourself"), assume a high level of technical proficiency ("just go manually specify all of your network configuration in this text file") or expect an investment of time ("haven't you read these four documents"?)
I am unwilling to spend the time to use Linux that regularly. I have been using Windows devices in one form or another for 27 years. As time has gone on, the one thing I've come to respect is that for the most part they just work. I can remove hardware, add hardware, remove software, add software, upgrade repeatedly - and they just keep trucking. Other than times when I have manually screwed up Bitlocker, I cannot recall the last time my Windows machine wasn't able to boot into a graphical environment with networking - no matter what I had done. I suppose it would have to be back in the XP days. Despite people on this forum and other complaining about upgrades, there are millions of PCs out there and the vast majority go through windows updates every month (including major updates twice a year) without a hitch. Every time I do a major Linux upgrade it's far more of a gamble.
If it weren't for these I would have ditched Windows a long time ago
Nothing garantees that an update won't break the compatibility though.
If something like that were available on ARM (even without the baked-in NT support), I'd probably switch from macOS, or at least buy another computer to use MS Linux for my development work. MacOS is less and less appealing for web development these days, but I'm not switching to any NT-based Windows.
- Docker on macOS is an absolute performance dog when you get above about 8 containers running simultaneously. I finally gave up and set up a Linux VM via Parallels. Now my battery lasts at least twice as long during local development.
- Cloud deployment targets (including serverless) are almost always running Linux, so running/debugging on the Mac is less accurate (unless you're using Docker, but performance is bad).
- Homebrew is great and all, but Ubuntu is a more important compile/release target for most open-source packages.
Now for front-end development, I still prefer the Mac for a few reasons, especially the quality of the screen, trackpad, and the Quartz display-PDF window manager. If design work is necessary, some of the best tools are on the Mac.
Maybe a Linux VM in Parallels on macOS is the best solution for now, but you can see why I'd prefer a Microsoft (or Apple for that matter) Linux OS if I could have that with a great screen, trackpad, display-PDF window manager, and graphics/design software.
I do web dev on Linux on a Thinkpad X1 but it seems I'm clearly in a minority there -- which I think is a bit weird since Apple is so obviously anti-web.
For me, it's a great experience; maybe you should try it? ;)
Debian is great, but also sooo late. I wish on something more dynamic.
Then I had a daughter and LOL time for gaming? LOL