edit: hey guys, 60+ comments, can’t reply from now on, but know that I am grateful for your comments, keep the convo going. Thank you to the y’all people who gave unbiased answers and thanks also to those who told me about Waydroid
and Docker
edit: Well, now that’s sobering, apparently I can do most of these things on Windows with ease too. I won’t be switching back to Windows anytime soon, but it appears that my friend was right. I am getting FOMO Fear of missing out right now.
I do need these apps right now, but there are some apps on Windows for which we don’t have a great replacement
- Adobe
- MS word (yeah, I don’t like Libre and most of Libre Suit) it’s not as good as MS suite, of c, but it’s really bad.
- Games ( a big one although steam is helping bridge the gap)
- Many torrented apps, most of these are Windows specific and thus I won’t have any luck installing them on Linux.
- Apparently windows is allowing their users to use some Android apps?
Torrented apps would be my biggest concern, I mean, these are Windows specific, how can I run them on Linux? Seriously, I want to know how. Can wine run most of the apps without error? I am thinking of torrenting some educational software made for Windows.
Let me list the customizations I have done with my xfce desktop and you tell me if I can do that on Windows.
I told my friend that I can’t leave linux because of all the customization I have done and he said, you just don’t like to accept that Windows can do that too. Yeah, because I think it can’t do some of it (and I like Linux better)
But yeah, let’s give the devil it’s due, can I do these things on Windows?
- I have applications which launch from terminal eg:
vlc
would open vlc (no questions asked, no other stuff needed, just type vlc) - Bash scripts which updates my system (not completely, snaps and flatpaks seem to be immune to this). I am pretty sure you can’t do this on Windows.
- I can basically automate most of my tasks and it has a good integration with my apps.
- I can create desktop launchers.
- Not update my system, I love to update because my updates aren’t usually 4 freaking GB and the largest update I have seen has been 200-300 mbs, probably less but yeah, I was free to not update my PC if I so choose. Can you do this on Windows? And also, Linux updates fail less often, I mean, it might break your system, but the thing won’t stop in the middle and say “Bye Bye, updates failed” and now you have to waste 4GB again to download the update. PS: You should always keep your apps upto date mostly for security reasons, but Linux won’t force it on you and ruin your workflow.
- Create custom panel plugin.
- My understanding is that the Windows terminal sucks? I don’t know why, it just looks bad.
I am sure as hell there are more but this is at the top of my mind rn, can I do this on Windows. Also, give me something that you personally do on Linux but can’t do it on Windows.
Speaking as a Linux fanboy (since '98), I actually like PowerShell (the language/scripting part of it, not the shell part). I use it for work primarily, and love the object-oriented approach. It may not shine when you're dealing with plain-text-output binaries (say, if you're running some cross-platform cli tool), but when you're working with PowerShell's built-in cmdlets, or you're processing structured data like JSON or CSV, that's when it's object-oriented nature really shines. Once you load up your data into a variable, you can just use the
object.property
syntax to access various properies, or even use some built-in methods to perform actions on the objectAlso, if you want to filter and format the output text, there's various ways you can mess around with it to display the data however you want to - whereas in traditional nix shells you'd have to mess around with a different grep/sed/awk expressions every time - and in doing that, you'd lose the information as the text goes thur the pipeline.
One of my favorite features is
Out-GridView
, which displays a graphical table containing whatever you piped into it, which allows you to do a live filtering of data, or a graphical selection for input - say I pipe a CSV file into it and selected a few rows from the table, I could pass the selection onto the next command in the pipeline.Here's a one-liner that illustrates how powerful this can be:
Get-Process | Out-GridView -PassThru | Export-Csv -Path .\ProcessLog.csv
This above lets you select multiple processes from the
Out-GridView
window. The processes that you select are passed to theExport-Csv
command and written to the ProcessLog.csv file. I can't even begin to imagine how you'd archive this natively in a standard Linux environment without relying on a third-party tool, or writing an overly complicated script that may depend on other languages like Python.