|
It's bash compatible. And to be honest, it's the ecosystem that sets it apart (oh my zsh, etc.). But, outside of the ecosystem, zsh has a better setup tool (you'll see it the first time you use it), if you do stuff like shell scripting its syntax is bash compatible but some of its newer syntax is a bit cleaner. It's tab completion is hands down better than bash. But really, at the end of the day it's the ecosystem that'll do it.
For me at least, I'll use zsh for my login shell on my user account on my dev box. For servers I don't install anything extra and stick with bash. If I'm writing a reusable shell script it's always in bash syntax to work with both. But, if I'm on my dev box and writing something specific to zsh I'll user the newer stuff.
But, these are just words... we need pictures. Especially when viewing things like Oh My Zsh where you get context aware prompts. I'd never install Oh My Zsh on a server as its overkill, but on a dev box why not. Typically these days I script most of what I want from OMZ (Oh My Zsh), but what I learned I learned from that project so its a great place to start with.
But all that doesn't really matter. However, the one thing I cannot live without is the fish-like history search. It's like the scroll wheel on the mouse. It's a game changer. There's no going back man.
Let me just give you an idea... fish-like completion. If you see the grayed out part, it's searching my history as I type out new commands. You can cycle through matches via up or down arrows and do tab completion. If you ever have to remember what the world you typed for a command you rarely used, this is a life saver. I'll never go back until I find this plugin for bash. Edit: Here's a quick video of it too.
Jeremy Falcon
modified 10-Aug-24 14:05pm.
|
|
|
|
|
Like you I made the switch to Linux (Ubuntu) when I purchased a new desktop for my home use back in 2015. It's still my primary (only) computer unless you want to count an Android phone and an Android tablet. My wife has a Win10 laptop but I only use it when she says, "Here, fix this [grawlix] POS."; "Yes, dear."
My reasons track with yours: ease of updates and seems to use less resources. After all, it's still running after nearly 10 years and I haven't noticed it becoming sluggish (I did upgrade to an SSD a few years ago). I also do a bit of hobbyist coding. I do miss Visual Studio's tool integration but not that much - especially since retiring in 2018).
Start long winded (somewhat related) story...
I run everything in VMs so the Windows programs I use for which I can find no Linux replacement that I like I have a Win10 VM. I can't upgrade to Win 11 (no TPM 2.0) so I'll probably replace the whole PC towards the end of the year (Black Friday sales maybe? That's how I got this system.)
When I bought the PC back in 2015 it had Windows 10 pre-installed.
I dumped that and put Unbuntu and Oracle Virtual Box on it.
I created a couple Linux VMs (my main daily use system, a Plex Server, a figure out Linux play system) and a Win 10 VM.
When I spun up the Win 10 VM it of course said my system was not registered. That was when I discovered that MS no longer put a colored license key sticker on the installation CD. I called MS support and asked how I could find the key. They gave me a command to return it. It didn't work because Windows was newly installed on the VM and not the version that was pre-installed on the PC.
So, I asked him, "If, let's say, I had taken a system backup (disk image) before I embarked on this VM adventure, could I restore said backup, run this command to record the key, and then come back to this VM to enter it?"
He asked me, "And, you only mean to run Windows in this VM and not copy or replicate it elsewhere?"
I replied, "Yes. I have no intention of making copies of Windows or this VM."
To which he replied, "Then, Yes. This command will work for you."
We both chuckled, that's what I did, and the rest, as they say, is history.
I pretty much jumped in the deep end of the Linux pool and managed not to drown (though there have been bouts of emphatic cursing). But, I'm happy with how things have turned out and I haven't looked back.
|
|
|
|
|
I typically main linux on mothballed desktops, or at least I used to, but now I tend to give them to family.
I've gotten pretty familiar with it, and yet still I won't main it for billable work if I don't need to.
The reason is simple - it's really easy for something to go sideways with linux (depending on what you're doing, but I do a lot of dev, so it's a frequent issue) and when it does, it takes a lot of fiddling to fix. I can't afford that - or at least, I don't feel good about billing clients for troubleshooting my dev machine, so it's lost money.
Sure, with Windows things blow up too, but having even written a (small) part of windows for Microsoft, I'm pretty familiar with the soft underbelly of it, and I can cajole it into at least limping along to do what I need even in the worst case, without having to go down a rabbit hole like I would with linux.
So part of it is familiarity. Also there's one distro of windows I use. There are a million distros of linux, each with their own quirks, so knowledge of one doesn't go as far as it does with windows.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
^ This, a million times over.
|
|
|
|
|
FreedMalloc wrote: I pretty much jumped in the deep end of the Linux pool and managed not to drown (though there have been bouts of emphatic cursing). But, I'm happy with how things have turned out and I haven't looked back.
Great story & that has been my experience too.
I had some of the same issues with windows in VirtualBox.
|
|
|
|
|
I don't play games.
Edit: Office 2003? Photoshop 7 (2002)? Visual Studio 2010 Express?
modified 10-Aug-24 14:15pm.
|
|
|
|
|
It's kind of a weird question, because consider that one of the main reasons I run windows - aside from app compatibility is it's easier to run other operating systems inside windows than it is to run windows inside linux.
I use WSL (linux) and WSA (android), and given WSL required a kernel recompile, it at least does what I need now for embedded.
If I target an OS I need to be able to test on that OS. Like it or not, Windows is what's for dinner, at least for me.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Oh, I easily remote to Windows boxes via Remmina (RDP software)
And I run my full copy of Windows via VirtualBox on my Ubuntu distro & even build apps that I’ve deployed to the windows App Store from my Windows VM. No troubles at all.
|
|
|
|
|
I've had issues with VirtualBox failing to capture certain USB devices.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: I've had issues with VirtualBox failing to capture certain USB devices. Not only you. And not really me, but I have heard it a lot
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Ah, yes, that is very true.
|
|
|
|
|
I have been running on Linux for over 20 years now.
Started with Fedora and switched some years back to Linux Mint for my gaming machine and LMDE for my development machine.
Experimented with SUSE in the early 90's but that was not a real succes, just had too little time to really get into it.
Last month I changed my gaming machine from an old Intel system to a brand new AMD gaming monster.
Just take the SSD-drive from the old hardware and plug it in the new one and all is well. Try that with Windows.
Same 3 years ago with my development machine, just take the SSD-drive and put it in the new hardware and it just runs.
For development I use:
- Aqua Data Studio for SQL Server management and development. So much better than SSMS, you have no idea until you try it.
- JetBrains IntelliJ IDEA for Java/Quarkus/Camel development
- JetBrains Rider for C#
- JetBrains PHPStorm for Laravel
The JetBrains IDE's are so much better (and faster) than Visual Studio, I never really liked the Microsoft development tools, they always seemed to get in the way.
Further I run several Docker containers with MSSql server on Ubuntu (yes, that is the best MS product and because I need it for my customers).
But also an NGinx webserver, a Postgresql server and several others.
I gave Windows the final kick out of the door couple of years back when I had to demo an application for a customer.
The evening before I boot the (hardly ever used) portable (I dislike portables with a passion) and it wanted to update so I let it.
The next morning it still wasn't done updating.
Needless to say I took an old portable that ran Linux, installed the application and went to the meeting.
That evening the new poratable was also running Linux.
All this just to make clear that you can perfectly develop on Linux even C#.
What you cannot do however is develop Winforms applications and run very specific MS applications (PowerBI for example).
|
|
|
|
|
Stefan de Zeeuw wrote: running on Linux for over 20 years now.
Stefan de Zeeuw wrote: Last month I changed my gaming machine from an old Intel system to a brand new AMD gaming monster.
Just take the SSD-drive from the old hardware and plug it in the new one and all is well. Try that with Windows.
Stefan de Zeeuw wrote: The next morning it still wasn't done updating.
Terrible experience with windows updates has become the norm.
Stefan de Zeeuw wrote: All this just to make clear that you can perfectly develop on Linux even C#.
Yep I write all my C# .NET Core on Ubuntu via VS Code. WebAPIs, console apps, and cross-platform (“winforms”) using Photino — see https://Photino.io & my article here on CP;
Photino: Open Source, Cross-Platform, Desktop Note-Taking App, via .NET Core[^]
|
|
|
|
|
I gave up on Windows (at home) many years ago. The wife uses a Mac and I mainly use Fedora WS. I keep a ChromeBox as an extended experiment. I don’t miss Microsoft stuff at all.
|
|
|
|
|
I've had an HP Microserver (with 24Tb of disk!) running Debian for 10 years now. It still runs just fine but, on the desktop, I use Windows 11 (without TPM because I hacked it when I was on the Insider program). I spend a lot of time using WSL and VScode with remote SSH editing of files on the Microserver and several Raspberry Pis.
I've also got a subscription to Microsoft 365 and 1Tb of Onedrive space. I haven't retired yet so still use Office and Windows at work.
I'm tempted to switch but the 2 application I sue for my hobby of 3D printing (Fusion 360 and Ultimaker Cura) don't have Linux versions and I've not sure my (obsolete) 3D Connections Space Explorer Spacemouse is supported under Linux.
If I knew I could run Fusion & Cura with the Spacemouse and use my Onedrive storage reliably, I'd switch.
|
|
|
|
|
The first version of Linux that I used was on floppy discs (Soft Landing Systems) on a 386 machine
in '92 (Kernel version less than 1)
Since 2009 I write SDR software (C++, Qt framework) on Linux, there was a question to have it
for Windows as well. So, using the excellent cross compilation facilities with M ingw64 on Fedora, I cross compile the software - and test is on a Windows box.
After a while I decided to run windows and Linux on the same development laptop, using dual boot.
I (almost) only use windows for testing my stuff. Someone complained about photoshop not running on Linux, I use gimp for that, use LibreOffice for office like things.
One thing I am missing on Linux and that is the photoprinter software that goed with the canon inkjet printer.
Once - just as an exercise - I installed mingw64 on Windows to be able to compile my applications
locally, but using the tool(chains) on Linux works for me much easier.
Interesting observation is that on average running the applications on Windows takes up to 5 times
more CPU power than running them on Linux.
While Qt has a "Qt-creator" I'm too old for that stuff so I am using a command window with manually
given commands. Vim is the editor, qmake and cmake are the makefile generators, always generate dusiting development with the sanitizer libraries linked in and - if needed - debug with gdb.
Applications are reasonably sized, somewhere between 40000 and 50000 lines of C++ and they support a varietyy of SDR devices.
I also wrote a few plugins for SDRuno, an SDR framework that only runs on Windows. The SDRuno used nana
for the GUI issues, so my plugins use it as well.
I had to surrender to Microsoft MSVC and while the plugins work, I really dislike the MSVC environment.
While the error messages are (more or less) reasonable, I really dislike the behaviour of the toolsset, it feels like a big brother that knows everythinh better than the programmer and is eager to take over control.
I use fedora, it offers by far the best cross compilation facility for windows. The only drawback of
using Fedora is the speed with which new releases are prepared: once per half year.
Updating to the newest version is rather simple though.
I use Ubuntu, always an older version, in a VM for creating AppImages (kind of containers for Unix)
of the applications.
With Windows I have problems (apart from using the MSVC)
a. whenever I am in a hurry, the system starts updating and shouts "do not switch off the computer"
b. The dependency of the different dll's, and the "user friendly" messages you get whenever
a required dll cannot be found. This inevitably leads to installers for the applications with way too many dll's in it.
c. The enormous amount of API's, not really a transparent set
|
|
|
|
|
The reason I might is, Microsoft want to push everything into the cloud and into a subscription for this or that, and I like to be able to work offline and not have to keep paying for the privilege of using my own kit.
BUT. I've spent too much time in the past trying to figure out arcane commands, trying to get NDIS drivers working, reinstalling kernels, trying to get SAMBA going, and messing around with boot loaders, etc. etc. to really want to go back there again. Is linux really workable now, or do you still need to poke around in the entrails first?
Anyway, are the apps really there now? Full compatibility with the MS Office suite, for instance?
|
|
|
|
|
I switched my main machine to Linux a few months after the Windows 8.0 release. I do keep a Windows VM for games (that don't work under Linux), Affinity Photo and TurboTax. I'd love to be able to get rid of my Windows VM.
|
|
|
|
|
Hi,
One suggestion I do have for Linux distro providers is to create a windows interface.
Not the code, just the UI.
Most of the people I know don't want to learn another interface. They are interested in
another OS aside from Windows but have 0 interest in another UI. Windows-like UI's hasn't
worked for them. They want a Windows 7 type UI or even a windows 10 UI.
Cegarman
document code? If it's not intuitive, you're in the wrong field
Welcome to my Chaos and Confusion!
|
|
|
|
|
Linux needs a Driver API so 3rd parties can make drivers fast and people can install what they want even if it doesn't follow some Linux ideology. DKMS isn't what I'm talking about. You need an actual API like Apples DriverKit etc. Every OS has this except Linux. It makes mix and match hardware not practical with Linux and it makes someone like me not want to contribute to drivers because it takes to much of my time. And it makes companies not interested in making official drivers as its to hard to maintain.
|
|
|
|
|
switched so many years ago it isn't even funny. I run linux at home and as much as I am allowed at work. Since I am the IT manager(essentially director) very small shop. I get to use it alot.
To err is human to really elephant it up you need a computer
|
|
|
|
|
The last time I tried to use Linux as my main Desktop OS, I tried to create a shortcut on the desktop.
Turns out, that's not really a thing in Linux.
Then it turns out that "Create Folder" shortcuts whilst saving things weren't ever implemented.
After a few things like this, I realized that it wasn't yet ready for being a daily driver, and went back to Windows.
-= Reelix =-
|
|
|
|
|
Reelix wrote: I tried to create a shortcut on the desktop
That is actually quite a pain to do. I've written my own apps and then had to create the desktop file & it is a complete pain so you are right about that one. They should make it much easier to do.
|
|
|
|
|
Wish it was possible and legal to viably run Cubase 10.5 (or higher) and Native Instruments Kontakt on GNU\Linux. Ever since after Build 1809 of Windows 10, Microsoft has become a poor choice for professional audio. While Macs are rumored to run both of the above products flawlessly, there are stupid expensive.
I've actually briefly uses Macs for Garage Band and simple things, and the experience was good, but I've never really stressed it out like I do with Cubase on Win 10. Unfortunately, Windows 10 these days does dumb things like freeze for seemingly random reasons for several seconds at weird times or just drop audio packets. Driver support (while probably better than on the Mac) is also starting to wane and semi-pro amateurs and practicing musicians are sometimes forced to upgrade their expensive audio interfaces for no other reason than the vendors and Microsoft refuse to support or rewrite the old drivers. I've had OS crashes because of old drivers, and I've had audio glitches in situations where I shouldn't because MS Windows decides to do dumb background tasks at random times. Steinberg ASIO under Windows XP 64 Bit uses to be a solid platform bot Win 10/11 are not glitchy IMO. The audio dropouts and glitches seem to be worse when Microsoft pushes out their regular updates. Fortunately, my Win 10 hasn't received updates in quite a while (LOL).
|
|
|
|
|
raddevus wrote: If you could run all of your apps & games on Linux…
What about muscle memory?
I know where windows services are.
I know how to find the mouse settings.
I know how to bring up task manager.
etc.
If all of those are duplicated then what exactly would be the difference?
raddevus wrote: no sitting & staring at update screen like Windows)
Solution, so don't do that?
At the end of the day I shutdown my computer. No hibernate. No sleep. Everything closed. Just habit probably because I want to make sure of the state of everything.
So if it wants to update I just walk away.
|
|
|
|
|