Live data from Hacker News

TypeScript types can run DOOM [video]

youtube.com

171–180 of 391 posts

Re: TypeScript types can run DOOM [video]

#171
post #98

Earlier quoted context omitted.

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.righ…

[deleted]

Re: TypeScript types can run DOOM [video]

#172
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…

The role of such standardized coding interviews is to ensure consistency when hiring at very large scale. Some big tech companies hire thousands of people a year, and interview ten times that.

Candidates have a very diverse set of backgrounds, age, experience, culture, education, interests, experience. The coding interview is a common denominator: undergrad algorithmic knowledge, being able to solve problems which are application of classic algorithms. This is something that a decent coder should be able to prepare for within a few months of regular practice. In my case, I can tell that these months of practice were the best investment in my life. And honestly, I feel I'm a better programmer after this preparation.

> Cue the vague feeling of disgust on the interviewer's part that the interviewee didn't know something "so simple" in a tense environment with lopsided power dynamics.

This is your interpretation of the situation. As an interviewer, I want the interviewee to succeed, I understand it's stressful for them as I've been in their shoes before.

Ultimately, there are more candidates than positions, so whatever the interview is, people will complain about it. I think leetcode is a decent interview technique. I wish we would give more time to candidates though.

Re: TypeScript types can run DOOM [video]

#173
post #79

From YT comment section: >> @TimMattison >> If this guy goes for a big tech interview they're still going to ask him how to invert a binary tree > @MichiganTypeScript > So actually in the "why" video, you're going to hear about exactly that! I was looking for a job during working on this and absolutely got some disappointing rejections, and one was because of my lack of skillset on things like this in a big tech comp…

[dead]

Re: TypeScript types can run DOOM [video]

#174
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 do think shipping a product that has real users (and everything it entails, like writing the docs) is 100x more important than having leetcode and common interview tactics fresh on your mind. Without context, I suppose I can see the Homebrew guy's case possibly signaling a sort of hubris since it was just a fizzbuzzy-level question. In his defense, I would find it ridiculous if we just had a technical convo about h…

> I do think shipping a product that has real users (and everything it entails, like writing the docs) is 100x more important than having leetcode and common interview tactics fresh on your mind.

It depends on the job! At a small product company, absolutely. Shipping useful features to customers is what you're hired to do. Hardcore CS knowledge is less useful than understanding how to talk to customers and shipping. Interviews should reflect that.

But that isn't all jobs, or all software. For a lot of problems - particularly in systems software or places where performance matters, understanding data structures and algorithms is essential. For example, video game engines, operating systems, databases, LLM inference and training, etc.

I get it - most product engineers don't make use of "leetcode" skills. But absolutely relevant at a place like google. If you don't understand how to reverse a binary tree, I wouldn't hire you to work on Google Chrome or the Go compiler either.

> But a medium+ question risks me not even being able to solve like, like having to use dynamic programming. And that's just humiliating.

What an incredibly entitled thing to say. "Those horrible interviewers asked me to solve a problem that was too hard for me! How humiliating! I failed the interview and its all their fault!"

Re: TypeScript types can run DOOM [video]

#175

Earlier quoted context omitted.

hi! yep! this definitely happened. I do mention it in the next "why" video, but it's good feedback to know this is interesting to people because I could say a bit more about what those rejections were like - specifically the one where I failed the technical screening. I'm actually really excited to share that part of the story because I hope it can be a small thing in the back of people's mind to help them if it happ…

What you've accomplished demonstrates a very important skill you have, persistence. Kudos and don't give up. About those rejections, did they effect your confidence in yourself and your skills? How did they make you feel?

I was crushed and embarrassed. Yep. Not even gonna lie.

I used to work on Insomnia at Kong, which is literally a frontend for cURL. But some of the questions I couldn't answer were like "how do you get headers with cURL". I DON'T FRIGGIN KNOW. THAT'S WHY I WORKED ON A GUI FOR CURL. I CAN'T STAND USING THE CLI. lol. But to them, it was a question they were supposed to ask, and I got it wrong. Same story for questions about the git CLI DX (I'm a GitKraken fanatic lol), and more like that.

I would rate my confidence overall as being quite low. Well. I donno how to explain what I'm trying to say. It's not that it's low or high, it's that I don't factor it in a lot in what I decide to do. Where I've noticed some people dip their toe in, I find it easy to just cannon-ball into the frozen lake without needing a lot of justification. That's what I meant in the video about "close-enough-manship". I'm a sort of personality that spends a lot of time just failing miserably over and over again in the least efficient way possible until I get what I'm looking for - and I usually quickly move on before I learn what I could have done better, lol. I've been told that my comfort in the face of non-stop-failures is what confidence is, but I donno if that sounds right.

Getting a job these days is really tough on the psyche.

Re: TypeScript types can run DOOM [video]

#176
post #164

Earlier quoted context omitted.

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.

exactly! knowing what I know now, actually WebAssembly was probably just about the best thing I could have accidentally picked!

Re: TypeScript types can run DOOM [video]

#177
post #81

i envy dimitri's ambition and capabilities. i want to be able to dedicate that much effort and more into something I'm passionate about. mostly personal discipline/skill issues but MAJOR props to dimitri and this awesome project.

If you decide to have kids that’s a great long term project.

I'm glad you said this actually, because I had a section in the "why" video where I tried to compare this project to how I've felt having kids and cut it out because it was too cheesy. maybe I'll bring it back!

Re: TypeScript types can run DOOM [video]

#179
> "It was a brutal year long journey of 18 hour days" [to run doom in TypeScript types]

This is some serious dedication for what at first blush may sound to many to be a completely unserious, or even useless, achievement. But I say to those people: a DOOM proof is just as worthy of praise as any other academic mathematical proof, and has the advantage of being verifiable by laymen.

Congrats on this amazing achievement.

Re: TypeScript types can run DOOM [video]

#180
post #161
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.

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"…

This wasn't the only story like that. I at least remember similar stories about some kind of database / library maintainer and yet another javascript framework.

Dont have enough time to find them now, but it's kind a obvious people would like to apply to places that already use their open source code. I would at least try, but no one use open source game-clone engines so no way on earth anyone will use what I worked on.

Post reply on HN