Live data from Hacker News

TypeScript types can run DOOM [video]

youtube.com

161–170 of 391 posts

Re: TypeScript types can run DOOM [video]

#161
post #109

One of the top comments in the video: > If this guy goes for a big tech interview they're still going to ask him how to invert a binary tree The industry's hiring process is so messed up that this is completely believable. "We've decided to prioritize other candidates, as you are strong in the fundamentals but lack the kind of experience in Vue that we're looking for."

By now there is more than one story how some open source developer wasn't hired because their skills with the project they created was not sufficient for the job.

The "invert a binary tree" thing is a reference to a tweet by Max Howell [1] where he complains that he didn't get hired by Google even though he wrote Homebrew, which he estimates 90% of their engineers use.

Howell describes himself as a "dick" [2], hadn't been involved with the Homebrew project for years, and has since gone on to write the NFT-based package manager Tea [3] and pkgx [4], which is an "everything app"-style CLI tool with lots of fever-dream AI art and RCE as a feature.

It's possible that Google just didn't hire him because he wasn't a good candidate.

[1]: https://x.com/mxcl/status/608682016205344768

[2]: https://www.quora.com/Whats-the-logic-behind-Google-rejectin...

[3]: https://tea.xyz/

[4]: https://pkgx.dev/

Re: TypeScript types can run DOOM [video]

#163
post #84

Earlier quoted context omitted.

I’m 100% sure that if he was being considered for a domain expert role in some domain related to this (e.g. TypeScript) his score in a typical whiteboard interview wouldn’t have been a deciding factor whatsoever. This is a standard hiring track even in big tech. Sometimes you’ll even be exempt from these interviews altogether. But if he was being considered for a mid level generalist role, yeah, none of this would’ve…

> But if he was being considered for a mid level generalist role, yeah, none of this would’ve mattered. And why should it? As someone who has been on the hiring manager side, I'll state the obvious: because it demonstrates insanely good problem-solving skills that would transfer to nearly any challenge.

Seriously lol. Someone who can figure this out can figure anything else out.

Re: TypeScript types can run DOOM [video]

#164
post #64

Amazing work. I'm interested in the choice of WASM - presumably any target that can run DOOM could've been used? Of which there are innumerable choices I assume. Was it for symbolic reasons or genuinely the most useful target?

love this feedback - will definitely talk about it in the next videos. you're gonna laugh.. but the answer is "ignorance". I had no idea what I was doing and had literally never touched WebAssembly before but thought it'd be a good place to start. Then it just stuck. Hilariously, later a friend explained to me "Dimitri, this would have been a LOT easier if you had just targeted ASSEMBLY. IT WAS RIGHT THERE IN THE NAM…

Ah nice! Well, hats off this is really impressive. As other commenters mentioned the extent to which it's documented and the restricted scope probably helped.

Re: TypeScript types can run DOOM [video]

#165
post #98

One of the top comments in the video: > If this guy goes for a big tech interview they're still going to ask him how to invert a binary tree The industry's hiring process is so messed up that this is completely believable. "We've decided to prioritize other candidates, as you are strong in the fundamentals but lack the kind of experience in Vue that we're looking for."

Has anybody ever figured out what "invert a binary tree" means? That came from Max Howell, and nobody else seems to have ever received that question. The best anyone can figure out is that it's reversing the left and right branches, which seems like it's ten lines of code, at most?

I think brew's author point holds even if you replace "invert binary tree" with any other LC problem.

In terms of the problem itself, a binary tree can be expressed something like:

    type Node = { value: T, left?: Node, right?: Node }
Given a root, you can invert it recursively with some code like this:

    function invertTree(root) {
      if (!root) return null;

      // Swap!
      const tmp = root.left;
      root.left = invertTree(root.right);
      root.right = invertTree(tmp);

      return root;
    };
Or using an explicit stack:

    function invertTree(root) {
      const stack = [root];
      while (stack.length > 0) {
        const node = stack.pop(); if (!node) continue;

        // Swap!
        const tmp = node.right;
        node.right = node.left;
        node.left = tmp;

        stack.push(node.left);
        stack.push(node.right);
      }
      return root;
    }
I think without prep would be harder to come up with the non-recursive version.

Re: TypeScript types can run DOOM [video]

#166

One of the top comments in the video: > If this guy goes for a big tech interview they're still going to ask him how to invert a binary tree The industry's hiring process is so messed up that this is completely believable. "We've decided to prioritize other candidates, as you are strong in the fundamentals but lack the kind of experience in Vue that we're looking for."

Given his skills, he'll be able to pass the usual coding interviews with some preparation. In most companies, the bar isn't that high, they're just there to ensure that candidates have some minimal (usually undergraduate) algorithmic knowledge, and is able to interact with the interviewer (communicate their ideas, act on hints and so on...).

Re: TypeScript types can run DOOM [video]

#169
post #136

Earlier quoted context omitted.

Why do you think person capable of making doom run in such an environment is incapable of basic tree operations?

I suspect the technical interview devolves into an act of shunting the blame of potential bad hires away at some places. Elite credentials and leetcode shibboleths serve the same purpose: this person has checked the boxes we've agreed upon as important in the hiring process, regardless of the job duties. If they turn out to be a bad hire, who could've known, esp. with that Ivy League bachelor's degree? It's less the…

>shibboleth Fantastic word right there, had to look it up. That's exactly how I'd describe the hiring process these days. Relevant expertise seems like its only seen as a bonus. That or I'm interviewing at some terrible companies.

Re: TypeScript types can run DOOM [video]

#170
post #109

Earlier quoted context omitted.

By now there is more than one story how some open source developer wasn't hired because their skills with the project they created was not sufficient for the job.

I go back and forth on my opinion for this one. You wouldn’t necessarily want a mechanic or engineer to drive a race car, for example.

[deleted]
Post reply on HN