Rex Kerr
2 min readOct 18, 2023

--

Honestly, if you can't invert a binary tree, either (1) you shouldn't get near anything computationally intensive--Homebrew isn't, or (2) you need serious pair programming all the time to keep you from doing damage.

Inverting a binary tree is not remotely hard. If Howell was having an off day or whatever, or just was tired, sure, everyone makes mistakes; lots of people space out now and then. Give 'em a break. But being able to think through a really simple problem like "start at root, swap left and right children, repeat on left and right children" is such a low bar that Howell not feeling embarrassed by it is a really bad sign.

It matters, too, even when you might not expect it to.

Homebrew's a package manager. Conda, the Python environment management thingy, also doubles as a package manager. Conda's inventors were so bad at algorithms (in practice; maybe they're brilliant at it but made a "not worth optimizing" tradeoff early on that came back to bite them later) that--given the very large number of complex dependencies that big projects now have to solve--Conda can take hours on a really fast machine only to fail to find the dependency solution that actually exists. Since people depend on the way it does it not really changing, people wrote an entire duplicate env/package manager called Mamba.

So, anyway, it's entirely possible for Google folks to make a bad call. But I wouldn't let someone who can't get the logic easily--they don't need to remember the terminology, it's fine if they ask--near anything that might get serious use.

--

--

Rex Kerr
Rex Kerr

Written by Rex Kerr

One who rejoices when everything is made as simple as possible, but no simpler. Sayer of things that may be wrong, but not so bad that they're not even wrong.

No responses yet