85 comments

[ 4.4 ms ] story [ 86.1 ms ] thread
So I like coding in linux too. I absolutely prefer it over anything else; but, lately my ubuntu distro has not been able to wake up from suspend so I force a reboot when I get back to my computer after a prolonged break. And I was pretty intentional about not futzing around with X11 and third-party graphics with this distribution specifically to avoid this kind of thing happening and have a long-term Linux OS.

I also recently got a bluetooth adapter and found out I simply cannot turn on bluetooth. When I was younger, I had more patience to hack around with things until they work exactly as I like, but I'm surprised that I'm still encountering issues like these in 2021 on a desktop-focused OS.

I wish other OSes followed the unix philosophy more. I wish I could separate the windowing manager from the desktop in OS X, and have more extensive customization options over everything. It'd be nice if Windows had as nice of a filesystem organization story as any linux distro.

Honestly, it's weird that Ubuntu has the reputation that it does. I still conceive of it as a "user-friendly" distro in the back of my mind, but my experience is that it constantly finds new and interesting ways to break. Compare that to Arch, which was a PITA to setup once, but since I have, I've had one minor thing break on an AUR package and that's it. But Arch has the reputation as the one that breaks on updates.

My experience is definitely contrary to my conception of, and the reputation of these distros.

Yeah. PPAs are such a user-unfriendly alternative to the AUR, which just has everything.

Also, Ubuntu (with GNOME), Kubuntu, and Xubuntu (but not Lubuntu...) recently switched to some new crypto greeter (the thing you put your password into to unlock your encrypted drive at boot) which glitches out very badly. On every other boot, it flickers between its graphical facade and the underlying CLI prompt, and single keypresses are interpreted as multiple ones. Lubuntu, however, uses the same crypto greeter as Manjaro seems to, which still works.

Also, a funny thing: my keyboard (a Code V3)'s Num/Caps Lock LED keys don't illuminate at all in any of the *buntus, though they do in Debian, Manjaro, and Arch (on both newer and older kernels than Ubuntu 20.04 currently uses).

It's pretty disappointing.

On the other hand, after around 2 years of using Manjaro without problems, kernel 5.10 got me recently. :D It has big problems. Same problems in Arch. But, unlike in Arch, a kernel rollback in Manjaro is an in-OS GUI and/or a GRUB selection away. Manjaro's been the sweet spot for me, and it looks like it'll continue to be.

On the other hand², some software I recently had to build explicitly refuses to run on any unsupported *nix systems, and it doesn't support Arch or Arch-flavored distros. :c (Hence my recent adventures in Ubuntu.)

So there's definite downsides to straying off of the Ubuntu-flavored Linux reservation, but Ubuntu's always been surprisingly buggy for me compared to Arch and Manjaro.

Sticking with an LTS/Recommended kernel has served me well in Manjaro. Currently I'm running 5.4.95-1.

Last year I was running a 4.x kernel but I began having an issue with some piece of software (I forget) that, when I researched it found everybody recommending a switch to a 5.x kernel which fixed it immediately for me.

Switching kernels indeed is extremely easy!

Yep, rolling back to 5.4 saved me. :p

Just watch out for 5.10. Happily, 5.11 seems okay, but it's still experimental.

Sticking to the LTS is a great idea, though part of me wants to go "Well then why not just run Ubuntu?! ;w;", despite having some answers. (Funnily, Ubuntu 20.04 LTS actually updates from 5.4 to 5.8. Apparently, the Ubuntu LTS doesn't stick to the LTS kernel now! Unless it never really did.)

>Also, Ubuntu (with GNOME), Kubuntu, and Xubuntu (but not Lubuntu...) recently switched to some new crypto greeter (the thing you put your password into to unlock your encrypted drive at boot) which glitches out very badly. On every other boot, it flickers between its graphical facade and the underlying CLI prompt, and single keypresses are interpreted as multiple ones. Lubuntu, however, uses the same crypto greeter as Manjaro seems to, which still works.

EDIT: it turns out that the falling back to the underlying CLI is the greeter's response to arrow key input (e.g., the up arrow key is "^[[A", which is multiple characters[0]). XD And, with Num Lock turned off, the numpad keys work as arrow keys.

0: https://unix.stackexchange.com/q/103608

For the bluetooth adapter, you might need a distro with a newer kernel. I recently put an Intel AX200 wifi+BT combo card in an old laptop and couldn't get it working in Debian 10, but it works perfectly out of the box with Pop!_OS 20.10.
>>ubuntu distro has not been able to wake up from suspend

Yes, this has been bugging me too. At work, I recently upgraded to a Dell Precision running Ubuntu 20.04 and this has been happening quite frequently (a bit less since a firmware upgrade). Strangely this was never an issue on my previous Dell Latitude running the same.

Possible avenue of investigation from my experience years ago, it was Light Locker. Across multiple installs.
What laptop do you have? You may know this, but for anyone who doesn't: with Linux, you really have to choose the laptop model from a list. Here's a good list for Ubuntu: https://certification.ubuntu.com/desktop

I've got two thinkpads that I've never had any real problems with. One is a 2-in-1 and the tablet mode is amazing with xournalpp (I've never owned an iPad so I can't compare).

Bluetooth is always a little testy though. Lately, it's been getting a lot better, but if bt is a make-or-break feature, you might wanna try wsl or a VM.

Also, remember to 'sudo apt upgrade'. It fixes a lot of random problems.

(comment deleted)
> It'd be nice if Windows had as nice of a filesystem organization story as any linux distro.

...are you serious? There's a lot of words to describe the Linux filesystem organization and 'nice' is definitely not one of them. Windows file hierarchy has some problems to be sure, but at least it doesn't scatter every application's files all over the hierarchy and require a specialized tool and database to track which ones belong to which applications.

It's popular for Linux distributions to have a scattered hierarchy with a package manager, but it certainly isn't a requirement. Take a look at AppImages.
AppImages are pretty great, when they actually exist for your applications. It is exceptionally disingenuous, however, to suggest that the existence of some AppImages invalidates the file hierarchy organization problems of any distro.

You might have been better to point out the existence of GoboLinux, but that is but one not very popular distro among many.

Please do not baselessly accuse me of being "disingenuous," I'm trying to help you. If you won't use GoboLinux or ask packagers to make AppImages for the apps you want then I don't know what to say, those are solutions to your problem. If you're saying you want all other distributions to be like GoboLinux, I doubt that would happen because that comes with its own set of other problems. Edit: You can do some pretty interesting things here with Nix/Guix too although that still requires a package manager. The reason I said AppImages is because that's currently the best method that doesn't require any package manager at all.
> Please do not baselessly accuse me of being "disingenuous," I'm trying to help you.

Help me with what exactly? Am I in need of saving for my denial of The One True UNIX Way?

> If you won't use GoboLinux or ask packagers to make AppImages for the apps you want then I don't know what to say, those are solutions to your problem.

There are lots of reasons I don't use GoboLinux, not the least of which is that I don't think compiling applications from source is a reasonable application distribution method in 2021. As for asking application developers to make AppImages: why do you assume that I don't?

Regardless, the point is that the "Linux filesystem organization story" referred to by the parent is neither GoboLinux nor a bunch of AppImages and you are being disingenuous to pretend otherwise. It's a tired old Linux Desktop evangelism tactic roughly equivalent to "well, Linux is just a kernel...", which is to say that the argument is that what Linux Desktop (and by extension its filesystem organization) is is so ill defined that it can be whatever you want it to be -- provided you write most of it yourself, from the kernel up, like Android.

However there is a clear "way things are done" for the vast, vast majority of Linux distros and that is obviously what's being talked about here.

I haven't "pretended otherwise" or evangelized anything, please don't make these accusations at me. I can only offer you suggestions on what to do, I'm not going to argue about what the "right" way to do is as that's simply not interesting to me. The vast majority of Linux distributions may not do things the "right" way but they also support AppImages, so use that to your advantage. If you had no success in getting upstream to make AppImages then you'll have to make them yourself. It seems that's what a lot of flatpak and snap packagers ended up doing, just my observation.

To put this another way: We can sit here making the same complaints about Ubuntu and RHEL that have been made for decades, but what's the point? Let's do something about it. And if that doing something means we turn the whole system into AppImages, then... what else would you really want? It sounds like your problem would then be solved.

> I can only offer you suggestions on what to do,

Why are you doing that? I clearly neither asked for, nor want your suggestions! That's why you come off as an evangelist.

It seems like you were having trouble with your Linux filesystem so I'm offering solutions that I've seen or heard of. Is there something else I can offer that would work better for you, or am I misunderstanding what the complaint is?

Edit: If you weren't asking for help with this that's fine, however some other interested reader may want to hear the suggestions. Feel free to ignore me.

I am deeply concerned about your inability to understand what is happening in this thread.

Let me break it down for you:

- User posts that they wish Windows filesystem organization was "nice" like Linux's

- I express doubt that anyone can consider Linux's filesystem organization "nice"

- You start telling me about AppImages and how even though very nearly every single distro on the planet organizes files a certain way, it isn't technically required to do so.

Please explain to me why you think your continued "help" and "suggestions" should be something I value? I am not "having trouble with my Linux filesystem organization", I am straight-up criticizing the way nearly every distro that exists organizes files. That's a very different thing.

Please don't make these insulting and condescending comments, this is against the site guidelines. If you think my understanding is wrong then just explain it, you don't have to insult me. Again, there are solutions to these problems and there are people who are working on making it "nice" for whatever your definition of that term is. AppImages (or really any similar packaging method) also technically run on very nearly every single distro on the planet so if those were improved, it seems like that would change some of your criticism. You don't have to value my suggestions, that's why they're suggestions and not requirements.

Although I guess I don't understand, where is your criticism coming from if not from a period of past or current frustration with the filesystem organization? I'm only responding to the criticism as you wrote it because I think there are ways that the core problem can be solved. From the point of view of how we solve it, it doesn't seem like it is a different thing. Does that make sense?

> Again, there are solutions to these problems and there are people who are working on making it "nice" for whatever your definition of that term is.

...which is irrelevant, because the original poster I was responding to is saying that the current standard is nice, and I was disagreeing.

So just to be clear, what would be relevant to you and what could be done to solve this? Since you already knew about AppImages and consider them a solution, could we say your criticism is essentially that not enough applications are using AppImages? (And if you were wondering, I am not associated with AppImages in any way, I'm just another person trying to talk to you about problems on Linux)
I am not interested in this discussion, as I have had it dozens of times (probably hundreds over the past 20 years) and find the effort tedious.
Me too, that's why I'm asking about ways we can solve it for real so we can avoid the circular discussion. I've seen a great many people complaining that the Linux filesystem is "broken" but putting forth little effort to communicate their requirements or fix things. Please, let's be better than that.
Can I refer you to:

https://news.ycombinator.com/newsguidelines.html

Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith.

I have no idea how you got the idea that cycloptic was being disingenuous, evangelising or trying to save you "for my denial of The One True UNIX Way".

> I clearly neither asked for, nor want your suggestions! (from below)

On HN most people like to chip in what they think might be suggestions. Either say thanks, but no thanks, or just say nothing instead of being rather rude.

> I have no idea how you got the idea that cycloptic was being disingenuous, evangelising or trying to save you "for my denial of The One True UNIX Way".

I have no other way to explain the sequence of events that occurred. I expressed doubt that anyone could think the Linux file hierarchy organization was "nice", they responded that it isn't "required" and that AppImage exists. What are they trying to convince me of? What "help" did my post suggest that I needed?

I'm sorry, I'm trying to be reasonable here, but no one has yet explained to me how else I could possibly have interpreted that post.

What do you refer, specifically?

Based on "application's files all over the hierarchy" it seems you talk about configuration files (data files can be spread all over, in any operating system; binaries in Linux reside in a few directories (/opt and /usr)).

If you refer to gconf/dconf, AFAIK they require a specialized tool but they're not scattered (you interact through the tool, after all, so they're centralized).

Possibly you refer to the Freedesktop configuration files. Those are definitely scattered, and some concepts are very obscure (the defaults system is indeed terrible, as it's scattered, and it has different concepts of default). However, they don't require specialized tools - in my experience, they're always text files.

I mean literally the application and its files. A package for something like KeePassXC[0] places its assets, "shared" libraries, and binaries in disparate directories mixed with other applications binaries, assets, and libraries.

[0] https://packages.ubuntu.com/groovy/amd64/keepassxc/filelist

Configuration files are a whole 'nother garbage fire mess, but that's true in Windows too so whatever.

ok, you're referring to package management.

if you talk about configuration files, well behaved packages will differentiate removal and purge; the latter will remove configurations and data.

> [0] https://packages.ubuntu.com/groovy/amd64/keepassxc/filelist

what's wrong specifically with that? based on the list of files, the package is well-behaved, as it's placing the files in the expected locations (I personally didn't know about /usr/share/metainfo, but seems correct). also, it's not clear why the quotes in "shared" libraries; .so is a shared library extension, and it's proper design to make it available.

apt takes care of those files, so there's no problem. how it handles the data files should be described in the scripts, but this is up to the package maintainer.

Windows, for comparison, is hell, since applications install files pretty much where they want, and that's why Windows, in the long term, gets more polluted than Linux (worst offender - leftover DLL, which impact the system).

OS X could be the good reference for your isolation standards, but keep in mind that that level of isolation prevents reuse, and indeed, the open source package management reference is Brew, which has its own rules.

As I said, what's wrong is that organizing files in this way is that it necessitates something like a package manager to keep track of which files are associated with which applications. This is not a "nice" way to organize things, it's a needlessly complicated one as evidenced by the operating systems, both current and historical, that don't do that and don't need a package manager.

> Windows, for comparison, is hell, since applications install files pretty much where they want, and that's why Windows, in the long term, gets more polluted than Linux (worst offender - leftover DLL, which impact the system).

Applications rarely install files (other than configuration files) outside of their own 'Program Files' directory. What you are saying was true until about XP, IIRC, but generally isn't today.

In my opinion RiscOS, NeXT, the original MacOS and current MacOS have the right idea with their single-object applications. It prevents reuse, yes, but the majority of "shared" libraries are used by exactly one application anyway, and the continued interest in container technology are evidence of all the problems caused by trying to share everything anyway.

I don't see how the current MacOS is any different from Linux there. For end-user applications you can have the user download an app bundle (equivalent to AppImage) or get it off the app store (equivalent to flatpak/snap). For random open source libraries and utilities, you still would want to use Brew or Macports, which are package managers.
It's been a while since I've used a current (post-MacOS9) Mac. It used to be the case that the vast majority of applications were Application Bundles.
I do just fine with macOS UNIX userspace.
> binaries in Linux reside in a few directories (/opt and /usr)).

and .local/bin and $HOME/bin and $that_path_where_python_and_ruby_put_stuff and let's not forget that one executable which is in /usr/lib/name_of_the_app for some reason...

There's no limit to where applications can put their files, and this applies to any operating system, so complaining about, say, version managers has nothing to do with a given operating system.

If you take Windows, you're going to have %USERPROFILE%.pyenv for example, when it comes to Python (pyenv).

It's unlikely, but not impossible, that a binary ends under /usr/lib, since it wouldn't be in $PATH. If it's there, it's likely invoked via a script somewhere, and this is not good practice, and again, not inherently Linux.

$HOME/.local/bin is not good practice, for the same reason (not being in the standard $PATH).

$HOME/bin seems actually a good place for placing user-specific binaries, since there must be one place for them, and I think it's a proper place.

I bought a laptop with Ubuntu preinstalled and had an amazing experience for the first month.

Then one day the computer would no longer boot. I had to manually tinker to revert to older version and it booted again, but now 50% time microphone didn't work.

Then one day I installed mysql, and had to do some crazy brute force experimentation to be able to run a local copy of our db.

I accept it's possible the hardware vendor messed up the setup, and someone with greater skills than me could have worked around these issues more productively whilst benefitting from greater flexibility and customisation in other areas.

I will stick to MacBooks from now onwards. I don't have the time to deal with all this hassle.

At some point I had similar issues with every windows machine I ever used :) Macs do benefit a lot from single vendor for software and hardware
You just described my daily experience with OSX until I decided to toss it and switch to Linux.

Never going back.

I have found it to be somewhat awkward too. I’ve been using a headless Linux server under my desk recently and using remote vscode and shh to interact with it from macOS. Just the other day though the wifi just stopped working, nothing I did could bring it back. Until the fifth restart, still no idea why that happened. Sometimes it won’t boot, gets stuck in the boot sequence and I have to reboot a handful of times until it straightens itself out.

I just don’t get these issues with macOS. But sadly the specification of machine I’m running Linux on costs 1/3rd of what I’d pay for a similar Mac Pro, so for now I’ll have to live with it.

Yeah, it's great until something greats in new and exciting ways.
I've been running Manjaro on two desktops and one laptop for over two years now, without any of the problems that I'd experienced with Ubuntu, similar to the ones that you've mentioned. Recently I also installed it on an old Mac Pro 2012 and it runs beautifully there.

I'm a lazy ass, I don't like fiddling with my tools to keep them working and Manjaro (and I'm assuming other Arch based distros) is the way to go IMO. Also XFCE beats Gnome hands down in stability and efficiency. Every Ubuntu desktop I've tried to maintain has eaten itself somehow. I've been using Linux for almost 20 years too!

I also run multiple Mac and Windows systems and they are both way more work to keep running with my preferred configuration than Manjaro, especially around the time of major updates. I'll never go back to them for my main workstation and instead just use them for Windows/Mac specific stuff when necessary - and video games.

There is only one problem I've never found a solution for on my Linux desktops: How to retain HDMI audio output as the default output after the display wakes up. I can probably script something to fix this after wake up, but I'm too lazy to look into it and luckily I don't do a lot of work with multimedia. All my entertainment stations are running Windows except for one.

Honestly building some command line tools on OSX is such a headache that I feel like I'd break three keyboards a year if I was a linux user and had to go through that cryptic and poorly documented experience all the more often.
I also started on Linux without knowing how to program, but simply having that accessibility and ability meant that I had the option of quicker ways for doing batch things. I would agree with the author that Linux can be a gateway to programming.
I think the author wasn't discussing types of individual use cases like hardware or Ubuntu problems, but if Coding On Linux is unfortunately synonymous with such issues I can see how some might be put off.
I also love coding on Linux, but there are shortcomings. Not enough to make me prefer Windows, but enough to make me wish for something better.

Generally, Windows has better GUI-based tools. The big one being debuggers, I really miss debugging in Visual Studio (C++). But more generally, Windows tends to have a better selection of IDEs, database editors, version control GUIs, etc...

I love command lines and text editors, maybe that's the reason why I prefer Linux, but sometimes, GUIs are useful.

I don't know how the experience on OSX is. It never struck me as a particularly developer friendly platform but I may be wrong. It has a proper Unix shell, so it shouldn't be that bad.

OSX is still miles behind windows when it comes to debugging.

I dislike windows with a passion (having had to code on it for ~5 years was torture), but I'm with you: debugging with Visual Studio was the best I've ever had (and I've coded on OSX, Windows, Linux, and other stranger things).

And yet Visual Studio is weak against Delphi and both weak against Visual FoxPro.

No mainstream debugger today is good with visualization of data structures (still you see 0xf... everywhere) and much less if have more than 10 entries.

With Fox I was able to debug the whole database visually!

Use the right tool, SQL Server Management Studio.
Oh,

Fox is not like a half-crippled* rdbms of late. The "database" is the whole program! (forms, menus, the database itself, etc)

* in the sense that RDBMS are relegated to data storage, when in the case of fox was open to make full apps

I used to do a couple of xBase apps during 1991 - 1994.
Visual Studio Code has an excellent visual debugger for Go. I'm certain it's the same experience for C/C++.
Does it have edit and continue?
I am neither a C++ developer nor a Windows user but as an IntelliJ user just wondering if you have tried CLion?
Not the OP, but having used both Visual Studio and CLion, Visual Studio is far ahead. For one thing, Visual Studio includes a better front end for code completion (EDG front end) and is able to handle complicated c++ constructs much better than CLion. The debugger also has some more refinement. In addition, Visual Studio has a built in profiler that is very simple to use. I would say that CLion is more comparable to Visual Studio Code with the C++ plug-in than full Visual Studio.
I use Visual Studio in Windows with WSL2 to get the best of both worlds. I have the GUI niceness of Visual Studio combined with the shell goodness of Linux.
If Windows is a good GUI, how do I reliably swap caps lock and control?
Assuming you really want to know, try SharpKeys.
https://sharpkeys.en.softonic.com/ looks so scammy, and I have ublock turned on... I can only imagine how it must look without that. I'm sure it's fine but why do all windows tool s always get hosted on the most scam looking websites?

When I'm stuck on windows I use https://docs.microsoft.com/en-us/sysinternals/downloads/ctrl...

Of course adding setxkbmap -option ctrl:nocaps to ~/.xinitrc seems way easier to me. But I'm probably in the minority.

AutoHotkey seems to work for me
(comment deleted)
https://github.com/microsoft/PowerToys has reliable key remapping. Also has decent window tiling.
Swapping left control and caps lock disturbs AltGr, which appears to be a synthesis of left control and right alt.
I see what you mean. I truthfully don't usually swap and instead leave ctrl-left as is and just re-assign capslock elsewhere (e.g. win-right, or another chord) as the habit of which key to hit for ctrl is hard for me to break. AltGr at least still works in this setup.
Ah. I just left the physical control key alone, and thus have no caps lock key at all. Seems some applications grab the keypresses at a lower level than where PowerToys changes it, so sometimes caps lock is activated when my intention is to hold control.

Was screensharing with a react native hotshot yesterday, and felt my perceived age doubled to 102 as I suddenly was yelling in all caps, with no quick exit.

macOS (or OS X) appeared quite developer-friendly to me. Xcode had a nice debugger that worked locally as well as remotely on a phone. Also you could use the IDE and commandline tools that were fairly well integrated.
CLion is great for C++ on all the platforms
Been coding on ubuntu for the last 10 years and just moved to m1 air.

I miss gnome but not much else, and definitely not tweaking everything from the console by using obscure commands found on google

I love the macos "just works" mantra and while i'm still getting adjusted to it and there are definitely some quirks I don't like, I think I'm being more productive on mac for just not needing to mess with random things breaking when ubuntu gets updated

Sure if everything that one cares about are POSIX CLI applications and daemons.
None of this has anything to do with Linux and could better be phrased as “a Unixlike environment”.

Better yet, it could be phrased as “I like using the command shell and it's many utilities.”, for even non-Unixlike environments have such shells and utilities, from what I head.

Nowadays, I mainly run Linux in a VM - being it WSL2 on Windows, or a plain old Ubuntu VM on macOS.

I do so because of the Linux ecosystem, not the operating system. For instance, the package managers are way better than anything that macOS and Windows currently offer, and Docker is nice for local development.

I really don’t care about the operating system itself. I just need a nice UNIX-like experience, and Linux seems to offer the best one.

Not the best article for Linux lovers but probably good for people that have very little idea about linux. I recently had to edit a lot of videos. With a couple of scripts in bash using FFMPEG I did a ton of work, denoise, watermark, add a titles according to the file name, trim. All this could have been done in OSx or windows but the «common» users of those OS have little contact with the command line.
That article is really weak as are most articles on opensource.com (some kind of content marketing site of Red Hat). I recount the following points as someone who has worked with Linux for many years and is using it on the Desktop as well as on servers at work but (or thus) has not lost his sense for reality:

- the point of "automation" applies to all Unix-like systems. You probably could do the same with Powershell and pdftk for Windows.

- Code connections: I don't even know what this is about.

- Existing code: same same, but I guess there's indeed more open source / free software for Linux/Unix systems than Windows.

- Direct access to peripherals: You might have access to /dev/video0 but that doesn't relieve you from the intricacies in working with that device. Take a look at https://www.kernel.org/doc/html/v4.9/media/uapi/v4l/capture.... to see if that's such a nice API. Also take a look at this to see if the API on macOS is so much worse: https://developer.apple.com/documentation/avfoundation/camer...

- Abstraction layers: the "conveniences" in Qt and Java obviously are not very Linux-specific. "Whole stacks" like Pipewire are work in progress while the multiverse of Jack, Pulseaudio and Alsa makes every programmer wonder what's the proper framework to use.

EDIT: I think Linux is a great platform for programming internet services in a modern Unix (containers, userspace networking, epoll, sendfile, AIO, async_tx, ...) way but that's not in the article.

There's rampant *NIX provincialism out there that's blind to the reality that Windows is basically on par (and even innovative) as a dev environment. Just another form of self-serving elitism.
Windows owns the desktop, laptops, kiosks, and PC games, yet it doesn't have developers, go figure.
How it "doesn't have developers"? Who develop Windows itself and all products for Windows, aliens?
I too love coding on linux, and have been doing so exclusively since the 90s.

But I must admit there's quite a hill to climb before you're sufficiently steeped in this environment to feel like it's a welcoming home.

And it's not perfect, but nothing is. Just the other day I wanted to burn someone at the stake after wasting an hour rediscovering Debian broke /etc/vim/vimrc.local overrides of defaults.vim for users lacking a ~/.vimrc, while simultaneously making defaults.vim enable the absolute worst mouse settings anyone using vim for decades could ever be forced to use in an xterm.

But that's also an indication of how exceptional it has become for my GNU/Linux boxes to not behave precisely as I want and expect at all times. One little thing like that and it feels like the world has been turned upside down.

When you develop on and for a Libre OS like this long enough, it becomes part yours. I live in my own window manager, hacking mostly on my own projects, in an operating system running system code I've contributed to both professionally and personally. Whether that's a good or a bad thing, I'm really not sure. But it certainly facilitates a unique and strong relationship with the machine.

Love the choice of window managers and desktop environments in GNU/Linux. I love i3wm and XFCE. I fully utilize my screen(s) real estate (automatically), and everything I need is at my fingertips.
I spent the last few years using Arch for development. Meh. There’s a lot of over zealous Linux people that defend it rigorously, and while generally things do work pretty well, the devil is always in the details.

I just switched back to macOS, downgrading to an old dual core 2015 mbp which runs overall better than my T480 with 32GB of RAM.

Don’t get me wrong, I wanted to love it, and I believe in the project, but I’ll check back when there’s a DE that can actually scale its GUI properly and when Bluetooth and Spotify don't make my T480 quadcore processor lag.

My programming-related usage was four years on Mac, then two years on Linux (a quad core Dell) and now I'm back on a M1 Mac.

I believe that there are people who have their Linux boxes configured just right with carefully crafted dotfiles and custom tiling DEs and whatnot, but it's usually people who do coding or writing or some other single thing.

You don't hear often about people who would use their 12-month-uptime-no-crashes-whatsoever machines for coding for a living, a bit of gaming on the side, some hobby-level photography stuff, maybe a bit of music production, and all of that without a single issue.

i love linux for everything except for:

- gamedev

- gaming

- audio

- video editing

anything multimedia, linux (for me) only good for terminal based tasks, everything else lags behind competition, even macOS is better suited nowadays