4 ms·
This looks like a fun little project, nice work! I'm not a big fan of keeping the Homebrew terminology though. I never know what a formula, keg, cask, cellar,
by mort96 2y ago
This looks like a fun little project, nice work!
I'm not a big fan of keeping the Homebrew terminology though. I never know what a formula, keg, cask, cellar, tap or bottle is. Why not keep to the standard terms of package and repository etc? I don't know beer brewing terminology or how beer brewing is analogous to package management, and I honestly wish that it wasn't something which my tools expect me to learn.
- seumars 2y agoAgreed. Come to think of it Homebrew has pretty bad ergonomics in general. What i want is an overview of compiled binaries, where they are, and what their versions are. That’s it.
- BowBun 2y ago`brew ls --versions` + `brew list | xargs brew list` Everything you need is there...
- alexykn 2y agoI will probably change the terminology at some point for this. For initially building it it is way easier to keep them the same though as trying to understand brew itself (at least for me) isn't so straight forward. It's a massive project
- moritzwarhier 2y agoKudos for your humility. I'd agree that the current homebrew terms are inappropriately whimsical and hard to grasp, but you are right in your intuition and goal, IMO. That is, taking care of the gears first and then carefully adjusting the public API.
- bartvk 2y agoNowadays, normal users don't need to know. They just "brew install <name>".
- mort96 2y agoI disagree. I need to understand what Homebrew means when it says that a cask is keg-only or whatever, or what it means to tap a cellar or whatever when I wanna add repositories. The documentation and '--help' output also refers to the beer brewing terms, not standard package management terms.
- alexykn 2y agoSome reason I just died laughing. Really struggled with all that stuff while building this, just seemed to make no sense in the beginning. Maybe I should do /opt/sapphire/cave, opt/sapphire/cove and opt/sapphire/quarry for mine haha
- tekknik 2y agoI always found terminology like this refreshing. You don’t need to know it for 99% of interactions and really only need to know it if you’re building formulae. But what’s with all the engineers complaining because someone made a fun project? Why does everything have to be tediously serious?
- QuercusMax 2y agoAs an experienced homebrewer, I don't think knowing about making beer makes it any clearer to me. Why do I need to install Docker from a Cask? Oh, it's because on Mac, a Cask is actually a Mac package (DMG or PKG or something). It's just arbitrary beer-flavored terminology. No different than the Windows registry, which apparently uses a honeybee / hive metaphor because some Windows dev hated bees and their teammates liked trolling them.
- Lammy 2y agoThat one was non-obvious to me as well, but I am sympathetic to the need to call them something. Not trying to bikeshed, but if there was a single obvious name for them then you would have used it instead of “DMG or PKG or something”.
- Philpax 2y agoCertainly, but I'm sure there's a more descriptive name than "cask"!
- chuckadams 2y agoThe nice thing about new terms is they don’t have overlapping meanings with existing ones. And FFS why do people want to suck the joy and frivolity out of everything?
- p_ing 2y agoA HIVE is the only nonsensical name in the registry; everything else is keys, subkeys, or values. https://learn.microsoft.com/en-us/windows/win32/sysinfo/structure-of-the-registry https://learn.microsoft.com/en-us/windows/win32/sysinfo/stru... That said, the registry has been around for ~30 years and the terminology is well known to Windows users. It didn't build off of previously available terminology. Homebrew just made shit up on the spot based on the project's name to be internally consistent with itself. Microsoft has it's own fsckery of randomly named cute crap elsewhere, of course.
- Philpax 2y agoPlease kill the Homebrew terminology if you can! Its idiosyncratic names are the bane of my existence; it might have been cute in 2010, but it's frustrated me ever since. I don't want to memorise their twee names; I'd much rather the name tell me what the entity / operation does by itself.
- ok_computer 2y agoCute names for standard things is one of my software bug bears, i.e. pet peeves, i.e. annoyances. Ruby gems and rust crates and something something beans. It is cute jargon and it annoys me to hide the definition inside a language specific terminology.
- mort96 2y agoIt's actually one of the main reasons I landed on using Axum for a web server in Rust instead of Rocket: I got fed up with the additional level of semantic indirection the cutesy names added. I didn't wanna burn brain cycles decoding what it means to install fairings or launch rockets, or what "ignition" means contra "liftoff". I like boring names for things.
- kergonath 2y ago> I like boring names for things. It’s not that I like boring. But I really like descriptive names. I have other things to do with my time than figuring out what the hell a cask, a tap, or a bottle is. Like solving the problem that requires the damn software.
- philsnow 2y agoLöve (lua thing for graphics / games) historically had this but the names were all sex-related (SECS, LUBE, COCK, AnAl, HUMP, Polygamy, Swingers, Quickie). None of the project names were metaphorically related to their functions. It's toned down lately and a ton of projects have been renamed, though not scrubbed, so the old names are still in the code and some documentation uses the old names. Also, you can't rewrite tens of thousands of forum posts from 2010 that use the older names that show up while searching for issues.
- alexykn 2y ago[flagged]
- atonse 2y agoYes! A thousand times yes. Homebrew terminology makes absolutely zero sense whatsoever and I find it irritating when I encounter it every now and then (like when a package says tap something and then install it blah blah) I wish they’d just call them binaries, macOS packages, packages, gui-packages, etc. To be clear, all those words are also jargon but they’re reusable concepts across software.
- ks2048 2y agoI agreee with this, but is there a “standard” of terms? “repo” I understand to be a git repo, with all it entails. But, “package”, “library”, “module”? It seems like different languages have differenct usages.