_hardwaregeek

Joined 9 years ago

Karma
2,494
Submissions
433
Member since
Feb 27
Student (on leave) at NYU Cloudflare intern for fall 2020 Interested in compilers and programming languages

GitHub: nicholaslyang Email: [email protected]

View on Hacker News

Recent submissions

Comment · 6 years ago
You'd think so, but a surprising amount of students are still attending. What else would they do? Most can't get a job. They can't join a program like the Peace Corps. Anything beyond those two options requires a degree of self confidence and financial independence that most students don't have. Colleges are offering a pretty mediocre proposition but there aren't many other options.
Comment · 6 years ago
I appreciate the correction, but frankly this isn't what I hoped people would take away from my comment. My point was that race/gender/appearance plays a large role in gaining access to normally stratified resources
Comment · 6 years ago
I've been thinking about this exact issue with respect to my accomplishments. How much benefit have I drawn from looking like a programmer? I'm an Asian American male with glasses. I fit the part. Looking back, people gave me respect and their ear far before I deserved it. Would I have gotten the same level of encouragement if I were Black? Would I have gotten the same level of respect if I were a woman? Probably not.

Any social engineer can tell you that appearances are half the battle. A white male in a hardhat with a clipboard could get into most construction sites. A white male in a suit could probably get into most office buildings.

There's some rather vehement responses in this thread. I wonder how many people are threatened by the idea that their accomplishments are partially due to them "looking the part" and not just their work and skill.

Comment · 6 years ago
This article is bugging me for some reason. I don't disagree with it. It's certainly easier to make a language now, even more so than in 2016 when this article was published. But it feels like saying "it's easier to make a bridge than ever". That statement isn't wrong. I'd much rather make a bridge with modern technology. But it's still a damn hard task.

And citing parsing isn't a great example. Parser generators have been around for ages. And they're usually not the hard part anyways. Defining a simple grammar and parsing it, even manually, isn't that terrible of a task. Getting decent error messages and figuring out recovery? That's trickier.

Code generation has certainly gotten easier. But you still need to go through the process of figuring out how to lower your abstractions. My language is still extremely basic but I've still had to map my high level types and control structures down to WebAssembly. LLVM won't do that for you.

There's also more that your average user expects if you want a language that people use. Decent tooling is important, so a language server and some syntax highlighting packages in different editors. Good error messages. Decent type inference. Most of these you can eschew in the first few iterations of your language but eventually you'll need them.

I feel bad criticizing this post because writing a language has been one of the most instructive experiences I've had. I've learned so much about code generation, typechecking, the WASM spec, etc. But it's still a lot of tough work to get to something people can use. I'm not sure parser generators and LLVM make it that much easier.

Comment · 6 years ago
Key point here is that you probably fixed your sleep schedule sometime after high school. Coffee dependency is a pretty common hotfix for a poor sleep schedule. Once you take away the poor sleep schedule, coffee becomes less necessary and more a nice to have.

It'd be interesting seeing the long term effects high school sleep schedules have on people. I wouldn't be surprised if poor sleep patterns in adolescence lead to insomnia and other issues later in life. I definitely felt like my high school sleeping patterns were damaging to my mental and physical health.

Comment · 6 years ago
I agree and sympathize with what you're saying. Coding screens are a necessary evil. But perhaps they can be omitted in certain situations. I know I completed the Google foobar challenge far enough to alert a recruiter, only for the recruiter to send me a snapshot test. Like c'mon, I just solved a whole slew of harder problems than this.

I wonder if companies like TripleByte are actually successful in solving this issue. I've avoided them because I'm skeptical of recruiting companies, but it might be a good idea to have people take one coding screen and have it apply to multiple companies.

Comment · 6 years ago
Agreed that it's tricky, but there needs to be some feedback loop. Otherwise you end up with seriously broken processes that never get fixed. Companies tend to care about false positives more than false negatives, but there's a decent possibility that some companies have an extremely high false negative rate.
Comment · 6 years ago
Also get feedback from candidates, especially rejected ones. The people who get offers will assume that the process works, since it validates their self-worth. Even if the process is very stupid. I've had processes that were so so bad from top companies. Like "here's a repo, clone it, write a program that will be judged by automated tests that you can't see". I had to basically guess what the tests were going to do, which turns the coding challenge into a game of luck.

I'd love to do away with coding screens in general. I glanced at the doc for Stripe and it looks great. I'd have loved to read this doc, but the last time I applied to Stripe I got a HackerRank followed by an auto-rejection. I get why coding screens exist, but it's so annoying to be batted away because I failed blind automated tests.

Comment · 6 years ago
Is it just me or does Quora straight up not work on Firefox? Whenever I click the Continue Reading button, it fails to load more and gives me a generic "Something Went Wrong" error. Do people just not test on Firefox anymore?
Comment · 6 years ago
So happy to see the Dekalog here. It's hard to find it streaming. Dekalog 1 is a particularly relevant film for HN since it deals with a programmer and his idolization of technology. There's a small moment at a shrine with wax that is immensely beautiful. Kieslowski has such a great eye for the small details and poetry within the scene.
Comment · 6 years ago
I misread that as Twitter's Dutch rival. MessageBird would be a hilarious name for a Twitter competitor.
Comment · 6 years ago
I've tried to use iterators and closures in my code, but it's not as easy with error handling and lifetimes. Like I could figure out the magic incantation that lets me map over an iterator with a function that returns a result. Or I could write a for loop that pushes to a Vec.

Or I could chain an ok_or_else on an Option but ugh now Rust is complaining that I'm capturing a reference to self. Screw it, I'll rewrite it to be an if let with a return. Part of the problem there is that we know an ok_or_else with try! will execute the closure and return if the value is None, but Rust's borrow check doesn't know that.

None of this is Rust's fault. It's just that it's hard to combine ergonomic closures and borrow checking.

Comment · 6 years ago
Could use some linear algebra terms. Pivot? Eigen? Nullspace? Kernel? Determinant? Trace?
Comment · 6 years ago
It’s a little too early to see the effects of Jony Ive’s departure. He left less than a year ago. He probably had a decent role in designing Big Sur. Plus all the remaining designers were probably hired by Jony. I doubt we’ll see big change until a few years out.
Comment · 6 years ago
This is super super minor but it's JavaScript not Javascript. IMO the camel case makes it look so much better :D

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton