Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been a long time linux desktop user, recently switched over to macOS after getting fed up from not being able to do many basic "productivity" related tasks, without having to open a terminal, search for a package on google, fiddle with some config, do a rain dance, etc...

Skimming through just the blog post and some of the comments on this thread gives me a bit of a flashback thinking of all of the headaches I've endured __trying__ to get Linux to work for simple stuff like document management, PDF markup, synced notes, calendars, display scaling, general performance things, etc.. This was fun and interesting at first, but after a while there were diminishing returns. Believe me, I really wanted it to work, I love Linux (as a server). It hit me at some point that life is brief, and technology should probably be making my life easier, not more difficult.. So I switched to macOS.

That aside, it is really important for progress on this front so that we don't have a total monopoly, and kudos to anyone working in the space. Fighting the good fight.



I did feel like you and did the same as you, however I noticed I am just fighting a different fight in macOS than Linux it is not all that better you still have to fight the system to make it work for you

- Convoluted first setup , you need x-code command line tools for even say git.

- Docker doesn’t work completely for all builds and still needs a Linux vm to run

- your servers are not usually arm64 not everything works as it would locally

- node < 12 projects need Rosetta hacks which are just as annoying to get to work. Similarly support for older versions runtimes /apps /libraries limited

- Applications like Dropbox have(or had) limited or no support and only slowly adding them

- I have to still setup basic coreutils and dozen other gnu basics which either are not there or very old versions from 80s

- Procfs and other standard Linux goodies you are used to are not there .

- you have to keep in mind BSD isms and context switch. Flag order matters in BSD /Mac world rm /dir -rf won’t work but will in Linux.

- Homebrew is not too bad as package manager but compared to Linux world (apt , Pacman, yum or emerge ) it is pretty limited in features and options


I've had the exact opposite experience. When I started using Linux the UI was a crutch, but as I learned, the command-line became much more compelling because it was substantially more powerful- it's infinitely easier to add features via flags and params than it is to integrate in a GUI. I pretty much live in the command-line now and I've never been more productive.

All of my calendar/doc/notes needs are in the cloud, so I'm dependent on a browser there. I don't have any display issues and general performance is better than Windows 10. I mean, just being able to run BTRFS is a game changer in reliability. All that said, I still love MacOS and use it for my work laptop, but Windows is just a hot mess at the moment and not something I want to subject myself to.


First time I’ve heard “BTRFS” and “reliability” together.


btrfs has come a long, long way. At this point the only major remaining problem is the parity raid implementation, so most people just run it on top of mdraid. btrfs native striped and mirrored raid are stable at this point.

In my subjective experience, I've been using it for the last 6 years and have not had a fault thus far.


I'm giving it a shot once again (fourth time I believe?) but even Jim Salters article from last year really highlight the short comings. He does focus on RAID like you mention, however the tooling in general in full of papercuts as he shows and IME. https://arstechnica.com/gadgets/2021/09/examining-btrfs-linu...


I've been running it on my primary nvme drive for the past year and have had no issues and performance has been surprisingly good. Raid for a high-end nvme drive is a bit out of my budget.


I didn't say it outright, but I was comparing to NTFS. EXT4 is also extremely reliable, albeit with the backup features of BTRFS.


They are different paradigms. The command is a power tool, suited for expert users (vs intermediates and beginners)

The stance is also different of the command line. As someone who also does creative work, the command line is simply not a tool I can use. “Paint Logo” is not a command :)

Making Linux a diverse tool for different stances and operations would be a great help for adoption.


I'm fine with GUI tools, I use them too. I just like the CLI for lots of things that I do. I write lots of scripts for various tasks, set them up as startup scripts or cron jobs and I'm done. GUIs are terrible for automation.


Amen. Engineers like to tinker.

From installing custom ROM on their phones, to deciding which JavaScript router to use along with other 99 packages to run a blog.

We’ve all been there.

But sometimes the time comes, where you just want to be as productive as possible or focus on other things.

And that’s when things like Ruby on Rails or iPhone start look interesting. They just work, and let you focus on creating value, rather than feeding your inner pedantic tinkerer.


Does the IPhone just work though? My wife has one and I always find it a pain to deal with. Simple things like playing videos often don't work with VLC (never had this problem with Android) so I have to use Handbrake to convert it to a format that the Iphone will accept. Same thing with audiobooks, MP3 versions don't work I have to convert them to M4B for some reason.


My sense is that it "just works" if and only if you've completely bought into the Apple ecosystem. If you want to back up your photos onto iCloud, Apple has made it easy. If you want to periodically back up your photos onto an external hard drive, Apple shrugs and says that you should manually copy them over.


I really wish/hope there is a big push to attract creatives for projects. I am 100% sure “tinker to the end of time” mentality hurts adoption as a general use OS.

Tried to donate some time to some projects, but devs usually just shrug or don’t like if you come with UX suggestions. Hopefully that is changing, really enjoyed the article.


The Linux world has two competing ideals: "So easy my grandparents can use it" and "Learning the terminal will make you a better person". Anyone who tries to make things too simple (PCLinuxOS) is derided and criticized by Popular Linux YouTube Channel, Reddit, etc. Anyone who tries to make things too technical (Arch) is ignored by Popular Linux YouTube Channel, Reddit, etc. So only those distros that flounder somewhere in the middle get popular. Ideally, the Linux desktop world would just split in half, so that there can be a clean separation between these two ideals. People who want "Easux is so easy my grandparents can use it" won't be bothered that Hardux is hard to use. People who want "Learning the Hardux terminal will make you a better person" won't be annoyed that Easux is easy to use.


> Ideally, the Linux desktop world would just split in half, so that there can be a clean separation between these two ideals.

Isn't that basically what's happening already?

ChromeOS and Android Linuces on the one side, GNU/Linux (sorry Stallman haters) on the other...


ChromeOS and Android don't run on regular desktop or laptop PCs, at least not without a heroic amount of hacking and configuration.


ChromeOS is heading that way: https://news.ycombinator.com/item?id=30350860


I don't think they're competing ideals at all. What is needed is a configurable system with easy defaults, just like setting nano as the default editor but allowing me to change it to vim.


Maybe in theory they aren't competing, but in practice they definitely are. Remember, open-source is made by whoever shows up and contributes. If everyone who shows up is either a hardcore Linux expert, or someone who want to make Linux easier for the masses, then who will integrate the two goals? Open-source isn't a corporation, where there top-down leadership. It's a bottom-up ad-hoc collaboration.


When I was a younger engineer I loved Ubuntu because I got to feel like a hacker that was making my custom working environment.

But these days I’m just irritated by how much it takes to do _primitive_ things.

I spent 30 mins today just getting my Outlook calendar to display in Ubuntu. I had to use Stack Overflow to learn of a package I had to install. No error messages. The calendar just remained blank until I installed it. Then I had to sync, have the app crash, sync again, and reboot.

I then turned on notifications so I’d get calendar reminders. Had to manually turn off 50 other app notifications. And even with some app notifications turned off I still got notifications (like for every single slack message).

It’s awful.

I think there will always be responses of, “X distro sucks. Use Y instead.” And I’m done taking them at face value. Every distro I’ve tried feels the same kind of bad UX, just usually a different set of badness.

Free is free. Nobody should feel bad about this reality. A lot of hard work has been put into these things. But that doesn’t mean we should pretend that it’s good.


I have very limited experience with Linux but every time I try to install something, I find that I lack some dependency and then wind up trying to build from source. What could fix these types of issues? Why does most software just install effortlessly on Mac OS? Is there something that Apple does that could be mimicked in Linux? I may be naive, but seems like a legit question.


There is a simple thing they do that we could mimick (and some have started). macOS and Windows ditched (or never used) the concept of widely using dynamic libraries and dependencies.

Apple and Microsoft build SDKs that you compile against, and for the most part those are the only dynamic libraries that you use. Between point releases the ABI is compatible so you can do thing like security updates without recompiling applications. Everything else is bundled inside or distributed along side the application and is the responsibility of the app developer.

There are a few attempts at doing this on Linux - Flatpack, Snap, and AppImage.


And even then, .NET runtime is the one horrible part about getting apps to run on windows.

In the modern era I think saying no to dynamic linking is the right move.


I would argue dynamic linking in itself is still very important, in the sense that if some nasty security vulnerability is discovered in an important core package (OpenSSL or glibc or something), a patch can be pushed out without requiring downstream applications to be recompiled.

To be honest, I don't think most developers have a robust mechanism of tracking vulnerabilities in the projects they directly depend on, let alone the dependencies of dependencies.


> I have very limited experience with Linux but every time I try to install something, I find that I lack some dependency and then wind up trying to build from source. What could fix these types of issues?

There's a number of solutions, none of them (even Apple's own) are really all that ideal. Pretty much all of your Mac apps are statically linked, which is why you download a large 300mb DMG or .app file that lugs along all of it's dependencies with it when you're getting a program. This has a few advantages (it's arguably safer, you can expect most software to "just work", etc) but it also has some disadvantages (uses more memory, lots of redundancy and "wasted" space with every download, kinda obfuscates directory structure, etc).

Honestly, there is no right answer here. Linux has tried doing a similar thing with Flatpak, but it's oftentimes more trouble than it's worth. Linux desktop software is supposed to be run as a local user without sandboxing; there's very little you can do to change that without re-architecturing the entire program to work that way too.

> Why does most software just install effortlessly on Mac OS?

Wait until you try Brew or Macports. The main reason why I genuinely cannot use MacOS on a regular basis is because of it's lack of a proper package manager, and moreover it's container support and general virtualization is unbelievably bad. If you manage to install Docker you're a hero, but if you manage to get it working properly? That would be news to me. Here on Linux it's just a "sudo pacman -S docker" away, and I don't have to lift a finger afterwards for configuration. Sometimes there are perks to running the same software you deploy to.

At the end of the day, it really depends on how you want to use your computer. I do SRE stuff for a living and desktop Linux is a godsend for that workload. Would I recommend it to a family member though? Not in a hundred years. Linux is still a server operating system first, and a desktop OS second. For me, that makes more sense than buying a Macbook and then using it to SSH into a remote server to do all my work.


A 300MB statically linked app is a million times better UX than the nonsense and user abuse committed to save a little bit of disk space. Absolutely optimizing for the wrong things.


Not on a server OS.


I’m curious which distro you were using. I was forced to switch to Linux as a desktop server because of a HW failure that prevented Windows from booting.

And I have found it a breeze to use it as my primary desktop (it’s not a laptop though).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: