Hacker News new | ask | show | jobs
by nmalaguti 3507 days ago
One of the major benefits of macOS has been that everyone who uses it has a consistent experience. Some people will use more specialized applications or tools, but the base has been very consistent.

Homebrew has made things even easier and has been adopted as the one right way to install things in a lot of projects and companies. And the fact that it is a rolling release package manager means you can always get the latest and greatest or use homebrew/versions to stick with an LTS version.

I have always found installs of the same Linux distro by different people to be almost incompatible, let alone installs of different distros. Different hardware, different desktop environments, different applications and configurations. On the one hand everyone can have a tailor made experience, but it makes it hard to debug or come up with common configurations and instructions.

Elementary is making some simple and familiar choices that make it easier for everyone to start at the same place. It looks and feels good, but is different enough that I can't just switch without feeling all the rough edges.

If developers are serious about migrating to a linux distro and PC hardware, I think a hybrid rolling release for devtools and versioned releases of the base system might be needed to capture a lot of the success of macOS. I'm not even sure if that's really possible.

2 comments

Homebrew barely works. I dread messing with it. It's not Homebrew's fault: with Macs the stars have to align to get things to work much of the time. I find that the origin OS for most of my libraries (Linux/Debian) is much more reliable than a Mac. I had some issues switching away from a mac at first, but I got over them.
> Homebrew barely works. I dread messing with it.

One of us must be smoking something. I've never had a more reliable/friendly package manager (among apt-get, pacman, macports, pkg_add, yum).

Brew works great most of the times and it is indeed very human friendly. The problem sometimes arises when you need to install something a little bit more exotic than usual (eg. graph-tool was my last case) in that case lot of things can go wrong.
Maybe the experience depends on what packages you install?
It is hard to say, because the grandparent says that Homebrew barely works without providing any examples of the problems they have ran into.
Yeah as long as you're using what everyone else is using and stay "inside the lines" it's OK. But step off into special territory, you're better off on Linux.
Wild guess: people who keep Xcode and its associated command line tools up to date have smooth experiences. Those who don't, do not.
Brew recently started refusing to install anything if your xcode is out of date, and forces you to wait for a "brew update" if it hasn't updated in 24 hours. It's actually hideously user-unfriendly, but it probably saves the devs a lot of stupid github issues.
Unless you made the mistake of upgrading to Xcode 8 while staying with El Capitan and then wondering, why nothing works.
What specifically doesn't work?

It's working for me but I would love to have an example of breakage to take to my IT as another reason they should allow the company machines to be updated.

The only time I remember having a problem with Homebrew is in the summer where I'll run some beta version of the new macOS on a testing machine while trying to use Homebrew which does not support the beta. Other than that it never fails for me, and I install a boat load of tools through Homebrew. I even install as much of my GUI tools as possible using brew cask.
Parallel universes with opposite realities: proven!
What's forcing you to use Homebrew? You could easily use pkgsrc or Nix.
The problem absolutely is Homebrew.
It's better to substantiate allegations. Causes people to take you more seriously.
Homebrew is a "package manager" that has worse dependency management than a ham sandwich and a community that reacts to criticism with "don't talk to us, you're being negative".
If Homebrew is better than Apt it must be really, really good.
Pro tip: it isn't. With it's absolutely abysmal dependency management, I'd argue that it barley qualifies as a package manager.
As a Linux user that has also used Mac for almost 3 years I would say you shouldn't get away with that without explaining exactly what you mean here.
Homebrew was built as a source-only package manager, with the most basic of dependency management systems.

Now they try to default to binary distribution but the dependency management basically works up until compilation time only.

So for example, the Percona Toolkit package has a dependency on `:mysql` which can be provided by the Oracle mysql package, Persona Server package, or MariaDB package.

But binary packages don't really do dependencies like that - they hard-code to whatever they were built against.

The end result is you can't realistically have percona server and percona toolkit installed via homebrew, without also having the oracle mysql package installed and constantly link/unlink-ing between percona server and oracle mysql whenever you need to update percona toolkit.

Do you know what the Homebrew response to this issue was?

Close the issues, remove/disable the binary package of percona-toolkit, and force all users to compile the package from source, every time they install/upgrade it.

To even put Homebrew in the same category of tools as Apt/Dpkg or Yum/RPM is a joke.

Are we talking about apt on Debian/Ubuntu vs Homebrew on Mac or about some special Mac apt?
The only apt I know is the Debian package management tool.