Live data from Hacker News

Homebrew Is Awesome

danthesalmon.com

41–50 of 59 posts

Re: Homebrew Is Awesome

#41

As someone who has been working on Homebrew for 14 years: it’s nice to see something positive about Homebrew on the front-page for a change. Homebrew is far from perfect or the best package manager but it is still surprising to me how much the Hacker News crowd likes to hate on something so ubiquitous with no meaningful corporate backing run by volunteers mostly in their spare time.

I've never understood the homebrew hate. As an end-user I could not give less of a shit about the underlying implementation but instead I care about how it works for me and having used it well over a decade and often using it "blind" ("Hey, I want cli tool XYZ, let's try `brew install XYZ`, nice! That worked perfectly!") I can say it works amazingly well.

Way too often technical people care more about the pureness of the underlying implementation than they do the end-user experience. I've both worked with and been that person in the past, the person that wants to impose internal implementation limits on the UI/UX. One of the best lessons I've learned is try to make software that behaves how people want it to behave, not necessarily in a way that perfectly jives with how you implemented something on the backend/internally.

I don't know much about the inner workings of homebrew and the best part is I don't have to. MacPorts worked decently enough for me pre-homebrew but it would sometimes break in unexpected ways. Homebrew "just works" in a way that I greatly appreciate.

Re: Homebrew Is Awesome

#42

As someone who has been working on Homebrew for 14 years: it’s nice to see something positive about Homebrew on the front-page for a change. Homebrew is far from perfect or the best package manager but it is still surprising to me how much the Hacker News crowd likes to hate on something so ubiquitous with no meaningful corporate backing run by volunteers mostly in their spare time.

I love Homebrew. I find it especially useful on Linux, where it lets me avoid all the pain of distro-specific packaging.

I had no idea it was desirable or even possible to use homebrew outside of Macs.

Re: Homebrew Is Awesome

#43

As someone who has been working on Homebrew for 14 years: it’s nice to see something positive about Homebrew on the front-page for a change. Homebrew is far from perfect or the best package manager but it is still surprising to me how much the Hacker News crowd likes to hate on something so ubiquitous with no meaningful corporate backing run by volunteers mostly in their spare time.

Absolutely _love_ Homebrew. Thanks for all you (and the other volunteers) have done to keep it running!

Re: Homebrew Is Awesome

#44

Homebrew is a horrible thing for user who is not familiar with ruby syntax. Community do not have any user friendly how-to guides for developing new Formulae as well as weird tests like to long description or to long line. For example I have a mono repository which contain Makefile and can produce one or six different executable tools. Four of these six tools are CLI utilities but the other three should work as a ser…

I had literally never written any Ruby before contributing to Homebrew and now I write it for a living. This was when there was no documentation and now there is lots (https://docs.brew.sh, https://rubydoc.brew.sh).

I'm really not convinced that Ruby syntax is what makes the Homebrew formula DSL non-trivial. I've written enough YAML for k8s stuff that it seems like the language is rarely the cause of misunderstanding.

Re: Homebrew Is Awesome

#45

As someone who has been working on Homebrew for 14 years: it’s nice to see something positive about Homebrew on the front-page for a change. Homebrew is far from perfect or the best package manager but it is still surprising to me how much the Hacker News crowd likes to hate on something so ubiquitous with no meaningful corporate backing run by volunteers mostly in their spare time.

I've had two issues with homebrew that always bothered me:

1. It doesn't work well with multiple users 2. It doesn't build apps using DESTDIR correctly.

Number 2 has been a bigger issue for me. Homebrew configures autotools applications using the full prefix of /usr/local/Cellar/app/version. It then gets installed to that prefix and is symlinked to /usr/local.

The problem here, is apps built like this look for their data in their prefix path (/usr/local/Cellar/app/version/usr/share/data/) rather than /usr/local/data. This ends up breaking things.

For example, I was working on porting a gtk app to mac os, and needed to build gobject bindings. Normally, glib would be built with a prefix of /usr/local, so it'd look for all gobject bindings in /usr/local/share/gir-1.0/. But since glib is being build with a prefix of /usr/local/Cellar/glib/2.40.0, it is expecting all gobject bindings in /usr/local/Cellar/glib/2.40.0/usr/share/gir-1.0/.

But, when I build libchamplain, it installs its gobject file in /usr/local/Cellar/libchamplain/1.0.1/usr/share/gir-1.0/.

Now, everything gets symlinked to /usr/local/share/gir-1.0/, so it looks like it would work, right? Except, gobject was built with the full prefix, so it _only_ looks in /usr/local/Cellar/glib/2.40.0/usr/share/gir-1.0/ for gobject files. This means it doesn't find libchamplain or any other libraries.

The correct way to do this, is to run configure with the destination prefix (/usr/local/), then do an install using DESTIDR: make install DESTDIR=/usr/local/Cellar/glib/2.40.0/. Then you can symlink to /usr/local/.

Re: Homebrew Is Awesome

#46
post #16
post #4

Earlier quoted context omitted.

No, the default Homebrew install location moved to /opt/homebrew on new Apple Silicon Macs. (I don’t know why Intel Macs still use /usr/local.) In any case, it’s possible to choose a custom installation location, even on Intel Macs if you prefer. https://docs.brew.sh/Installation Further discussion on the decision: https://github.com/Homebrew/brew/issues/9177

/opt/homebrew isn't a folder provided by the operating the system, but it's still a "system folder" as in not a user folder. That's messed up. I have to imagine that this causes no end of issues on multi-user machines. The homebrew folder should either be somewhere under ~, or owned by root or some other system account.

I remember having one user account for my personal stuff and another user account for work on a personal machine (startup life) and needing to chown brew's install folders whenever I switched users. Extremely annoying.

Re: Homebrew Is Awesome

#47

Earlier quoted context omitted.

I was simply responding to the statement > its possible to choose a custom installation location, even on Intel Macs if you prefer. Whilst it is physically possible, it won't work. What would be better is a plan. Putting it in a different system folder like `opt` isn't much better.

It does work, it's just not supported because the experience is worse. Open source (Homebrew included) is full of lots of plans: it's lacking people willing and able to execute on those plans. When or if that happens: Homebrew will support installations in more locations.

How is the experience worse if it works?

The other explanations imply that it may not work due to hard coded paths.

Re: Homebrew Is Awesome

#50

Earlier quoted context omitted.

Nice. What about the default telemetry?

The default telemetry is: - (still) not sent until we notify you that it's opt-out - moved (this year) from Google Analytics to our InfluxDB instance (destroying all existing GA data) - only kept for 365 days - contains no PII - no longer even attempts to identify individual users - necessary to be opt-in in order for us to be able to effectively run the project

[deleted]
Post reply on HN