The tea.xyz protocol first earned an entry on Web3 is Going Just Great in late February, when their plan to reward open source software contributors resulted in crypto enthusiasts with no intention of participating in OSS opening endless pull requests to claim ownership of prominent OSS projects. This spam was disruptive to said projects, whose (usually volunteer) maintainers had to figure out what was going on and then try to stop the spammy PRs.Max Howell, the creator of tea.xyz (and creator of homebrew, though he's no longer involved), seemed apologetic, and promised to make changes to the protocol to stop this spammy behavior.Now, deprived of that avenue, people are just creating massive waves of empty software packages, with nothing other than a "teafile" with their crypto wallet address for rewards, and submitting them to package managers like NPM and RubyGems.This spam prompted a blog post from RubyGems, who wrote that they had to devote time to strengthening limits on package publishing and "ensuring [accounts] didn't disrupt the community further."Security researchers at Phylum also wrote up the protocol's impact on the JavaScript world, which has seen as many as 7x as many packages published on NPM as previous daily averages. "Automated sustained spamming of this volume for months on end is rare and does nothing but cause heavy strain on the ecosystem itself, degrading the performance of the ecosystem for genuine users and straining open source security researchers," they wrote.
who could have seen this coming, other than everyone who told the homebrew tree inverter guy this was a bad idea they absolutely shouldn’t do
here’s a hacker news thread that talks about it. to be fair to Max, the question (and the Google-style interview in general) is absolute bullshit. to be entirely unfair to Max, he seems like a fucking asshole and his recent projects have been crowd-sourced consent violations.
I mean sure? Swapping the pointers recursively is also fine. It’s a question meant to see if the interviewee can talk about data structures or code, not to come up with a perfectly optimal working solution. Having a lengthy discussion about what “inversion” of a binary tree even means would even be totally fine imo.
I’ve interviewed a fair number of candidates and I ask them a very simple question with a bunch of edge cases and grade them based on how they talk about it, not the final solution.
I get the feeling that Max got frustrated and wasn’t able to coherently speak about the problem, or the interviewer was dumb as rocks. I think both are equally likely.
Oh yeah I’ve had the misfortune of giving hundreds of interviews – mostly programming interviews, but also talking interviews which I consider vastly superior. As well as being on the receiving end of a few.
I’ve definitely had people do poorly under pressure before. This can be over-complicating the problem, clamming up (surprisingly common), or simply getting too worked up by the interview setting. I hate that because I often think they could have met my rubric in a more relaxed environment.
I’ve also been on the receiving end of bad interviewers. Don’t get me started on HP asking me to implement offsetof in C++… n.b. implementing offsetof in C++ w/o undefined behavior is impossible it has to be a compiler builtin.
idly, first time I’ve seen lemmy do any sensible render with a textblock, which retro-informs a lot about the choices for text handling (which we’ve wondered bout in the other thread)
A whiteboard is just a glorified chalkboard, and I got sick of being asked to prove I understood how to use and manipulate one of the most complex systems ever invented by man by basically rubbing a soft rock against a hard rock.
I’m now in favor of puzzle interview questions, just so this guy gets asked them
EDIT: I was trying to reply to a different comment whoops. this is from the hackernews thread
His complaint seriously backfired here, because it makes working on a chalkboard sound epic. The act of rubbing one rock against another becomes ascendance into the highest realms of thought? That’s fuckin’ alchemy, bro.
I knew he did homebrew, why “tree inverter” though?
here’s a hacker news thread that talks about it. to be fair to Max, the question (and the Google-style interview in general) is absolute bullshit. to be entirely unfair to Max, he seems like a fucking asshole and his recent projects have been crowd-sourced consent violations.
Dude couldn’t invert a binary tree in an interview and so couldn’t get a job, allegedly.
https://twitter.com/mxcl/status/608682016205344768?lang=en
No one could figure out what inverting a binary tree actually means. Like maybe swapping left and right or something?
In which case the best way to invert a binary tree of course being:
struct Node { private: Node *leftish = nullptr, *rightish = nullptr; public: static bool inverted; // I hope no one ever needs two trees... // O(1) tree invert operation! void Invert() { inverted = !inverted; } Node &left() { return inverted ? *rightish : *leftish; } Node &right() { return inverted ? *leftish : *rightish} }; bool Node::inverted = false;
Don’t change the tree. Change your perception of the tree.
I mean sure? Swapping the pointers recursively is also fine. It’s a question meant to see if the interviewee can talk about data structures or code, not to come up with a perfectly optimal working solution. Having a lengthy discussion about what “inversion” of a binary tree even means would even be totally fine imo.
I’ve interviewed a fair number of candidates and I ask them a very simple question with a bunch of edge cases and grade them based on how they talk about it, not the final solution.
I get the feeling that Max got frustrated and wasn’t able to coherently speak about the problem, or the interviewer was dumb as rocks. I think both are equally likely.
Oh yeah I’ve had the misfortune of giving hundreds of interviews – mostly programming interviews, but also talking interviews which I consider vastly superior. As well as being on the receiving end of a few.
I’ve definitely had people do poorly under pressure before. This can be over-complicating the problem, clamming up (surprisingly common), or simply getting too worked up by the interview setting. I hate that because I often think they could have met my rubric in a more relaxed environment.
I’ve also been on the receiving end of bad interviewers. Don’t get me started on HP asking me to implement offsetof in C++… n.b. implementing offsetof in C++ w/o undefined behavior is impossible it has to be a compiler builtin.
idly, first time I’ve seen lemmy do any sensible render with a textblock, which retro-informs a lot about the choices for text handling (which we’ve wondered bout in the other thread)
I’m now in favor of puzzle interview questions, just so this guy gets asked them
EDIT: I was trying to reply to a different comment whoops. this is from the hackernews thread
His complaint seriously backfired here, because it makes working on a chalkboard sound epic. The act of rubbing one rock against another becomes ascendance into the highest realms of thought? That’s fuckin’ alchemy, bro.