Hacker News new | ask | show | jobs
by cormman 2937 days ago
> And then I installed Arch

It's so cool to hate on Ubuntu, but it's the best desktop linux experience. You did yourself a disservice.

What shines for linux is the package manager as a 1rst class citizen. I've had all sorts of issues with `brew` and no issues with `apt`

5 comments

I love Ubuntu. But I installed it on my MacBook and still had plenty of trouble with it. External monitor support is meh, plugging/unplugging them too quickly will cause issues. Plugging into a 1080p monitor alongside my MBP's retina monitor causes issues because I can't seem to run different DPI scaling factors on different monitors at the same time. Suspend didn't work at all at first, and didn't work reliably even after some hacking.

For a work machine, it comes down to reliability and a hassle-free experience for me.

Unfortunately Apple hardware is not particularly well supported by Linux.
Fair enough, suspend and some other small things are probably better on other machines. But the issues with external monitors and DPI scaling are gonna be present for all hardware.
There are a few long-time MacOS design decisions that puzzle me. The lack of proper package management is one. Of course, the same might be said of Windows--although it's different enough from *nix that it's at least somewhat understandable.

The other one is the limitations of the Finder. There are better third-party apps but they don't integrate as first-class citizens.

It's because package management is a bad paradigm for application management.

MacOS descended from NeXT, which had Application Bundles, but even before that MacOS Classic did the sensible thing and just used folders. You want to install an application, you just put the folder somewhere on your disk. No library conflicts, no web of dependencies to break, and it integrates easily with the file management metaphor personal computers have had since forever. Want two copies of the same application, but different versions? No problem. Want to move the application to another disk? No problem. Uninstallation is one delete away. Want to put it on a floppy and take it to a friend's computer and run it? You get the idea.

Turns out you don't need a package manager unless you intend to over-engineer application management to the insane level that the open source community has.

For simple apps that makes sense. But then you have apps that require kernel drivers. Or the app itself is a shared library. Or multiple users on the same system use the app, etc.

>Turns out you don't need a package manager unless you intend to over-engineer application management to the insane level that the open source community has.

You don't necessarily need a package manager, but you can't solve the problem with simple folders either.

> For simple apps that makes sense. But then you have apps that require kernel drivers.

A.k.a drivers. The app is just a control panel. MacOS classic used "extensions" for this, which were basically just app folders you put in a specially designated folder.

So the modern version of that could just be dropping a folder into a special location there kernel knows to search for drivers, and include a control panel app.

> Or the app itself is a shared library.

A.k.a not an app at all. Shared libraries only really make sense as part of a stable base system that developers can target and depend on, otherwise you get DLL hell and require something like a package manager and all its associated limitations for basically no benefit at all.

If your application uses a library and you don't want to compile it statically, just include a copy in the app folder, secure in the knowledge that it will never cause a conflict or break your application due to an update or some other application replacing it.

> Or multiple users on the same system use the app, etc.

Desktops, a.k.a "Personal Computers", don't really have much of a multi-user use case. They did briefly in the time after the internet became a big deal but before smart phones were invented, but that time is over. Know what we did on Windows 98? We just shared the system, it wasn't a big deal.

Even so, it's not like you need two copies of the application to have two different configurations.

None of this is anywhere near as complicated as the people who promote it like to pretend it is.

>So the modern version of that could just be dropping a folder into a special location there kernel knows to search for drivers, and include a control panel app.

Do you mean the kernel is going to load random files from a user writable location? That sounds like a security nightmare TBH. Also, then you can't safely lazy-load kernel drivers because you never know what the user has done to the folder. Or if the OS has to lock access to the folder then the user has no feedback as to why they can't "uninstall" stuff by simply deleting folders, etc, etc. There are dozens of problems. Turns out, people have already thought over those problems and proposed solutions :)

>otherwise you get DLL hell and require something like a package manager and all its associated limitations for basically no benefit at all.

You claiming there is no benefit to being able to install/remove/update third party shared libraries doesn't solve anything.

>just include a copy in the app folder, secure in the knowledge that it will never cause a conflict or break your application due to an update or some other application replacing it.

That assumes you have the rights to distribute the library and that the library is small enough.

>Desktops, a.k.a "Personal Computers", don't really have much of a multi-user use case.

Maybe not for you. For millions of other users, its a very important use case.

>None of this is anywhere near as complicated as the people who promote it like to pretend it is.

Well its certainly not complicated if you re-define the problems as non-problems.

> Do you mean the kernel is going to load random files from a user writable location? That sounds like a security nightmare TBH.

On a server, sure, but on a PC? It's their computer, they should be able to do that. You're confused because permission systems on Desktop OSs are currently based around user accounts, which is silly. If they were based around applications instead it wouldn't be a problem.

> That assumes you have the rights to distribute the library and that the library is small enough.

If you don't, then why is your application using it? As for size, multi-GB applications are pretty common. It's not libraries that bring that size up, it's assets. Some applications have icons larger than most libraries. Otherwise, if your application isn't valuable enough to be worth the size of that library, then maybe you shouldn't use such a huge dependency in the first place.

> Maybe not for you. For millions of other users, its a very important use case.

Apparently not one you're willing to elaborate on. Besides, as mentioned, I believe there are better and simpler solutions to the problem than package management. In fact, how the hell does package management even help here?

Or if you like to have a secure machine that doesn't have 40 copies of a zero-day embedded in binaries across the system.
Fair enough. And I suppose Apple's attitude is more or less along the line that if you want to use our pristine machine as a Unix desktop/laptop managing the random packages you install is on you.

I almost wrote and didn't, but it's also true, that app stores (whether iOS or MacOS) are also effectively a form of application virtualization/package management.

Not all UNIXes have package management.
Which one doesn't? Solaris, Irix, SCO and everyone else I can think of does.
Embedded UNIX like OSes, mainframes with POSIX system?

Last time I used Solaris, around 2004, it had single application packages, like rpm before yum, meaning I had to manually track down the dependencies from Sun repositories.

From the top of my head, CoreOS. (It's built with Gentoo tooling, but intentionally ships without emerge etc. because you're supposed to use it as a base for Docker.)
I'm curious, what are the limitations of the Finder?
I have a few limitations/annoyances to contribute:

1. Try to dragndrop content from a child folder to the parent folder. There is a very VERY small area at the top of the window where you can drop your files. (got worse on 10.13)

2. Transfer of multiple files (multiple actions) is not managed successivly but simultaniously.

3. Constant loss of sidebar content, i.e. mounted drives.

4. Info about folder/s inconsistency: Open info for one folder 'Cmd+i', for multiple folders 'Cmd+Alt+i' if you want the overall size (and it doesnt' get highlighted) | Close info window for one folder 'Cmd+w', for multiple folders 'Cmd+Alt+i'.

5. No option to edit file/folder names in Save As... dialog

6. Save As... dialog again: click on a file by accident and your initial file name is gone.

7. I don't understand how people can use the columns sorting but that's personal taste I guess.

8. Missing native window snapping (half size, full size etc.).

MBP 2009 OS X 10.11 & Hackintosh macOS 10.13.4 and my background is years and years of M$.

There are things I love about the Finder, too. :)

Look at something like Pathfinder instead. The ordering of folders makes more logical sense to me. There's more flexibility in navigating to frequently used locations. There are more options in the menu. Etc.

There's nothing really bad about Finder. It's just sort of meh for a tool that one uses all the time.

Having a 'shelf' (with stack-like behavior) like Pathfinder does is very useful, it allows you to go into a dir in one tab, grab arbitrary files, park that selection temporarily, then switch to the destination and drop them. Yes, you can copy-n-paste (finally) in Finder.app, but without any way to to see what files are on the clipboard (short of pasting), and you can do two bunches at once. Of course, for lots of other file-moving, it's easier to use the command line anyhow (like matching on patterns). Pathfinder also filters and searches in the current dir, which Finder never seems to do...
The shelf here was a key part of the NeXTstep manager. Drives me nuts that Apple removed it.
What's wrong with Pathfinder that makes it not a "1st class citizen"?
When you do something like Save As... within an application and the dialog box is the native Finder.
I'm pretty sure that's a misconception. That's just the application using a system library for that dialog box, and the system library's look and feel (unsurprisingly) match the Finder's. In some cases, the code may actually be the same (i.e. the Finder itself uses that system library, too), but far from always.

This tends to show up if you're trying to tweak/customize preferences (e.g. from the command line or editing plists directly), since you usually have to duplicate the effort for both places.

I don't know, I just tried out Lubuntu on an MBP and it was a shockingly bad experience. And I use Linux every day in the terminal.

After an hour of trying to figure out how to connect to my WiFi I gave up -- I was hoping to get a non-technical friend onto Linux on her very old laptop, and I though if I as a nerd can't figure out the most basic thing, the first thing you'd want to do with the OS, well...

Still looking for a Linux for older hardware that will not completely freak out non-technie folks from a Mac background. Xubunto was the same, with better icons.

What happened?

All you need to do is click on the little wifi icon in the status bar (or go to preferences -> network connections).

I can recommend elementary os for people that would like a polished Linux distro
> but it's the best desktop linux experience

This is extremely subjective. I'm a full-time EXWM (Emacs as a window manager) on NixOS user and my environment is customized[1][2] to work the way I want it to.

Default desktops can work great for you if your mindset and workflow align with the designer(s) of the UI - but in my opinion it is much more valuable to be able to (note: not forced to) customize everything about your environment to slowly tailor it to your needs.

TL;DR - there's no single "best desktop experience".

[1]: https://github.com/tazjin/nixos-config [2]: https://github.com/tazjin/emacs.d

I completely agree there is no best desktop. I think the statement is better suited as Ubuntu is the "best desktop experience for the average person". I think that's what most people really mean when having this discussion. The average person part is sort of implied.
Problem with that is that "average person" isn't defined by any kind of metrics or anything, it's just whatever the developer imagines it is, which is usually some drooling moron caricature (when they don't want to provide a feature) or themselves (when they've written something that harms others' workflows).
What's an average person, though?

We're keeping this aura of mysticism around customized computer setups (obviously also because there's commercial interests against them).

I think many "average" people would have no greater difficulty learning a fast, simple, customizable mail client instead of Outlook for example.

> It's so cool to hate on Ubuntu, but it's the best desktop linux experience.

Really? I feel like writing the article "The decline of Ubuntu".

That sounds pretty cool.