4 ms·
> I mean Google famously didn’t give a shit about hiring Max Howell (creator of homebrew) because of hazing-style pointless whiteboard trivia [0]. People usual
by dozzie 8y ago
> I mean Google famously didn’t give a shit about hiring Max Howell (creator of homebrew) because of hazing-style pointless whiteboard trivia [0].
People usually omit the part that Homebrew was at that point a quite shitty
reiteration of ideas well-implemented in many other places (RPM/Yum, DEB/APT,
and half a dozen other package managers). It was a common complaint that
installing one package could break several others, because Homebrew updated
some common dependency and the new one was missing symbols or had otherwise
incompatible ABI. There also was this hilarious bug report that Homebrew
served everything over plain HTTP (and Homebrew had no digital signatures
whatsoever), and the ticket got closed by a Homebrew team member saying it's
not a problem, which spoke tons about their competency in package management.
I don't know how the situation looks now, but when Howell was interviewed by
Google, Homebrew was not something you could be proud of writing.
- mlthoughts2018 8y ago> "People usually omit the part that Homebrew was at that point a quite shitty reiteration of ideas" I realize we might just disagree in our assessments, but I think this is an unfair characterization. At that point in time, homebrew was basically the only way I could get cross-platform support to work for several image processing projects that my lab was working on. To us, despite its obvious rough-around-the-edges needs for incremental improvement over time, it was a complete lifesaver. I think this speaks to a larger point too about the way that engineers cut down and compete with other engineers in petty ways, instead of acknowledging that getting a complex working system up and running that adds value for people is a huge accomplishment that utterly dwarfs any sort of algorithm trivia in terms of whether a candidate is worth hiring, especially in a company like Google. The perspective that, > "when Howell was interviewed by Google, Homebrew was not something you could be proud of writing." is just so incompatible with my world view about what counts in software engineering that it likely means we are coming from perspectives so far apart that there's little hope we could agree.
- dozzie 8y agoSuccess of Homebrew was based on marketing, not on the tool being well designed on technical level (because it was not designed well) or its authors' technical competence (because they haven't displayed it much). Google was hiring for a technical position based on technical prowess, not on marketing one (maybe the skills tested were unrelated to the job, but they were still technical), but people pulling out the Google vs. Homebrew case mistake one for the other, which certainly needs correction. > [...] likely [...] we are coming from perspectives so far apart that there's little hope we could agree. You see, I come from Linux administration field. We have package managers deployed in the field for two decades now. These package managers usually don't silently break your library dependencies on update (though Fedora and desktop Ubuntu break them with a lot of noise) and have integrity ensured cryptographically. I take these features almost for granted, as I work with them every day for a long time. Any package manager that provides anything less than that is, in my view, badly designed, especially because there are many examples of how it should be done, it just takes some effort to learn them. On the other hand, you, coming from macOS angle, didn't have a prior experience of working with many package managers -- or at least that's my guess. If I am right, it's quite clear why a poorly designed but popular package manager (i.e. one that has many packages available already) was a huge improvement for you. It was the same for Debian's APT twenty years ago, but APT had pretty much no prior art and the internet was not a viruses/worms/spyware-driven machine it is nowadays.
- mlthoughts2018 8y ago> "On the other hand, you, coming from macOS angle, didn't have a prior experience of working with many package managers" Just to clarify this: I personally have always used Debian and Ubuntu, and spent a lot of time with APT (including helping to build a PPA for wrapping a custom wrapper for NetworkManager for my company because their third-party VPN solution prevented all of us who use solely Linux from being able to work remotely for a while. Despite my personal views that Linux provides me with better tooling, many of my colleagues don't share that view, and they like to use Mac. At times, homebrew has given us a super easy way to solve some problems that arise from that situation. This doesn't mean it's perfect. Just that it solves specific problems that a lot of users have in a way where they are not adversely affected by its downsides. Every tool out there will have downsides, and a subset of the population who hates the tool because of those downsides. It just strikes me as incredibly myopic to privilege your own experience in system administration as oh so much more enlightened than a person manage the overall problem of a package management tool that users are actually using with success. It's just tone deaf to me to say, "but for these engineering reason that I care about, I discredit the entire achievement of the project because the author didn't design it the way I want." And even if it's not merely "the way you want" but includes broader and more established criteria from history of package management solutions, it's still nonsense to use that to dismiss it. It's a lot like the shortsighted dismissals of early MongoDB, which went after very specific customer use cases at the expense of omitting big design considerations that the history of database engineering had come to accept as standard. MongoDB used this to build a customer base who was happy with what they engineered. And then began investing in going back to fix the things that were glaringly suboptimal from historical database perspective. Lots of people wallowed in their constant criticism of MongoDB, turning their noses up at it. Yet now it's a public company, releasing lots of features that bring it into alignment with those earlier best practices that it was forced to omit for the sake of addressing shorter term workflow needs of its customers. To me, this is effective engineering. Sticking my nose up at MongoDB because of its earlier choices to omit accepted database designs would be a silly way to look at it. I'm not saying that example maps perfectly to homebrew, but it is similar in spirit. It's one thing to say, "I don't like that homebrew prioritized XYZ for its users short term experience instead of addressing big, underlying, sysadmin design considerations ABC." It's totally different to say that this choice entirely discredits the project.
- stephenr 8y ago> was at that point Still is afaik. It’s hard to take a package manager seriously when it refuses to run as root and installs system-wide tools as user-owned.
- bendmorris 8y ago>Homebrew was not something you could be proud of writing. Anyone should be proud of writing a widely used tool that provides value to so many individuals and companies, regardless of nitpicks from the peanut gallery.
- stephenr 8y agoNitpicks, Glaring security issues that are design “features” and thus will effectively never be fixed... sure those are the same thing.