HNHacker News
TopNewBestAskShowJobs

hardwaregeek

8,419 karma · joined February 27, 2017

Formerly at Vercel, Rome. Interned at Cloudflare (2020-2021), Microsoft (2019)

Interested in compilers and programming languages

GitHub: nicholaslyang Email: nick@nicholasyang.com Twitter: @NicholasLYang

submissionscomments
hardwaregeek··on College students should study more
The problem here is the sheer cost of college. Since college is so damn expensive, it creates a lot of risk aversion. You can't flunk a student or take away their scholarship because they'll end up with a lifetime's worth of debt without any degree. That's potentially life ruining. College as a whole is way more risky. The baby boomer idea of using college to explore one's passions becomes untenable when a single year costs 80k.

The paradox here is that while college is extremely expensive, it's also still very much a gateway to white collar, middle class life. So you end up with a lot of students who are forced into college by their parents, who don't really want to be there, and who need decent grades. So yeah, they're not going to study that hard. To avoid this, we need cheaper college, and more routes into the middle class that don't involve college.

hardwaregeek··on Kuto, a Reverse JavaScript Bundler
Very cool! It's effectively treating code as an immutable data structure, so any code change only requires sending the changed code and a small main function.
hardwaregeek··on Improvements to static analysis in GCC 14
Yeah Rust is popular because it's a practical language with a nice type system, decent escape hatches, and good tooling. The borrow checker attracts some, but it could have easily been done in a way with terrible usability.
hardwaregeek··on How GitHub replaced SourceForge as the dominant code hosting platform
It's so frustrating how code hosting is like 10 years behind the big tech companies' internal tooling. Like GitHub is still terrible for stacked PRs, monorepos, code search, refactoring, etc. We're just starting to catch up with tools like Graphite, but in all honesty, Graphite should be a feature that GitHub made 10 years ago. I appreciate it being built now, but I question why it took this long.
hardwaregeek··on "3 Body Problem" Is a Rare Species of Sci-Fi Epic
The Martian has a charm to it. It's not a massive literary achievement, but it has a character with charisma and actual feelings. The Three Body Problem is entirely cardboard cutouts with at best laughable motivations and at worst, none whatsoever. And the sequel, my god, it has some of the most sexist, insultingly bad writing.
hardwaregeek··on Vegetable stock: my secret lover (2011)
The ginger helps with the aroma. What fish are you using? In theory you could age the bones for a few days, since ultra fresh fish actually has less glutamates. You can also roast the bones to get some light color. Or add in some kombu for more umami.
hardwaregeek··on Vegetable stock: my secret lover (2011)
Fish stock is an underrated one too. I’ve been getting into making sushi from whole fish and inevitably you end up with some bits and pieces from the fish, like the pin bones or the leftover spine. Boil it with some ginger and you’ll get a tasty stock with a deep umami. Add in the fish head if you want some gelatin. You can even buy fish bones for very very cheap if you want to skip a step. Shrimp shells are another easy source for a savory broth.
hardwaregeek··on Go Enums Suck
Did any V8 people work on Go? And V8 is an implementation of an existing language, so that fits under "very good software engineer, very bad language designer". As for C, well, it's not a fantastic language. Not to mention, it's been 50 years since C was created, ignoring those 50 years of progress to build essentially C with GC is pretty poor language design.
hardwaregeek··on Go Enums Suck
It has generics now. It took them a solid 10 years to get it. Packaging took them what, 8 years? They had that ridiculous GOROOT stuff for the longest time. And interfaces are basically duck typed.
hardwaregeek··on Go Enums Suck
Not even Java. The entirety of programming language development. Go is a language written by very good software developers but very bad language designers. It's an entire language of "why don't you just..." statements. Errors? Why don't you just return a value? Generics? Why don't you just use duck typing? Packages? Why don't you just use vendoring?

In some cases these statements have some merit, but, as in most cases, they demonstrate that the authors didn't really do their homework before making a language. Or they willfully ignored all of these issues. I don't know which is worse.

hardwaregeek··on Peter Thiel's $100k offer to skip college is more popular than ever
In What Tech Calls Thinking, there’s a part that analyzes tech college dropout culture. There was a good point that it’s this odd double bind of wanting the prestige of the school but also wanting to rebel or deny it. You want to show to everybody that you could get into Stanford but also you’re too cool for it. It’s also quite funny in that the more challenging classes occur to the end of college. Even if you’re a very advanced student, the classes are only so sophisticated in the first year or two. But I guess the idea is that these kids are genius autodidacts and therefore can learn all the material on their own? That seems plausible in some cases (CS, math) and less so in others (biomedical engineering cough Elizabeth Holmes cough)
hardwaregeek··on In Defense of Simple Architectures (2022)
Hmm I dunno, this architecture feels simple in some ways but genuinely pretty complex in others. Like they defined their own protocol? That's pretty not-simple.

It's like the StackOverflow example. Sure, the architecture is conceptually simple, but you still bought servers and are maintaining them yourself. That's pretty complicated unto itself. Probably the right decision, but not the "simplest".

hardwaregeek··on Why is Prettier rock solid?
Ah that’s a good point. The Dart one is the Wadler one with modified terminology, but the rest do appear to be different
hardwaregeek··on Why is Prettier rock solid?
Ehh I would disagree here. Yes, prettier uses the classic pretty printing paper, but almost every pretty printer does in some form. And even then it’s subjective how you compile the actual syntax down to the printer elements. Prettier uses a very thick layer of complicated translation rules to get the printing just right. Especially with JSX and TypeScript. It’s honestly just good old testing and labor that makes it good. And even then I anticipate more than a few comments decrying prettier’s formatting. You can’t please everybody. That’s why it’s prettier not prettiest
hardwaregeek··on The invention of a new pasta shape (2021)
Agreed. It’s not a very good shape. Uniformity of thickness is important for pasta shapes. It’s why wheels or farfalle also suck. They have thicker and thinner points that cook unevenly
hardwaregeek··on Air Jordan Is Finally Deflating
Why do people care about reddit karma or HN points? Why do people put lights on their gaming rigs or stickers on their laptops? It's fun and provides social validation.
hardwaregeek··on FAQ on Leaving Google
A billion dollars is cheap considering it saves Google from having to pay Apple or Mozilla more money to stay the default search engine. Google gives Apple 10 billion a year just in traffic acquisition payments.
hardwaregeek··on Jake Archibald on the web browser event loop, setTimeout, micro tasks [video]
Watching HTTP 203 was a great way to stay up to date on web technologies! Plus I loved the dynamic between Jake and Surma
hardwaregeek··on Tuna species popular in sashimi and poke bowls in sharp decline
The Chinese prepare it quite well! It's great with some chili oil in a salad
hardwaregeek··on Go: What we got right, what we got wrong
I agree with the programming language sentiments, but in its defense, Go is very much a language for and by people who don't care about programming languages. I mean this in the nicest way. Rob Pike doesn't care that the concurrency is unsafe or that nil is the billion dollar mistake. Neither do most users of Go. Does that make Go a good language? No. But that's besides the point. It's a convenient, good enough language combined with a compelling set of tools that make it easy to use. It's the crocs of programming languages.
hardwaregeek··on The merge vs. rebase debate
I’m confused. Is the workflow to rebase branches and squash merge into main? Because that’s what I do at work and it works quite well. You get atomic PR merges so reverts are easy and you get the clean history for a PR so people can in theory review commit by commit. Although if you want to use merge commits in your own branch, I don’t care because it all gets squashed. I don’t fully get using rebase to merge PRs cause then it’s exposing the commits of the PR, when in fact the PR should be considered atomic code changes. But I suppose for workflows where PRs are not considered atomic code changes, rebasing could make sense.

Really, what this boils down to is a confusion between commits as a save point and commits as an atomic code change. With my aforementioned process, commits inside a PR are save points, I.e. I need to just save my code before leaving work, while commits on main are atomic code changes (and therefore should correspond to a single pull request). In the rebase-everything approach all commits are atomic code changes, which I find a little too obsessive since you need to make sure your code is always working when you commit or rewrite your history so that is true.

hardwaregeek··on America doesn't know tofu
If you like passionate writing about chinese food, I highly recommend Fuchsia Dunlop’s new book, Invitation to A Banquet, which goes over chinese food in remarkable detail. Each chapter is devoted to a single dish or technique and it really goes in depth.
hardwaregeek··on Will scaling work?
Many kids in the US and Europe grew up with computers[1]. There's a large large population of people from Africa, South America, Asia, etc. who just got internet access in the last 10-20 years.

[1]: Or came from wealthy families elsewhere.

hardwaregeek··on Will scaling work?
It's important to remember that the internet is still very very new. Like the generation of digital natives are barely in adulthood. Sure, it's existed in some form for about 40 years, but most of the world didn't have access for the longest time. I wouldn't be surprised if we see massive changes in the next 20 years from the people who grew up on the web (specifically people outside the United States and Europe, where access was harder for a long time)
hardwaregeek··on San Francisco’s rent prices have never returned to pre-2020 levels
Yeah…I don’t know about that. New York has a stunningly good chinese food scene and a surprisingly meh Italian scene. And people looking at you weird if you’re not white or black? Have you lived in New York? In like the last 30 years?

There is surprisingly poor Vietnamese and Indian food in New York, although that’s slowly changing. But for lots of asian cuisines there’s fantastic diversity and quality.

hardwaregeek··on San Francisco’s rent prices have never returned to pre-2020 levels
Yes, you could live in harlem or deep brooklyn but then you lose stuff like an elevator or easy access to grocery stores or a kitchen that doesn’t look like a joke. Don’t get me wrong there’s plenty of nice places but the standard of living is a lot lower than the rest of America.
hardwaregeek··on San Francisco’s rent prices have never returned to pre-2020 levels
My partner and I were stunned to see that SF housing prices are way lower than New York’s. Like a decent 2 bedroom 2 bathroom with amenities like an elevator (ikr what an amenity), in unit laundry and nice fixtures will run you 6k easily in New York. In SF there’s plenty of listings for 3-4K. Its making us seriously consider moving to SF for a bit
hardwaregeek··on Advice for new software devs who've read all those other advice essays
What's tricky is that in a different context, those people would be excellent contributors. Like in a mature product, who wouldn't love a developer who works on documentation, builds out a staging environment, and makes the codebase more scalable? But it just doesn't make sense when you haven't shipped anything yet.
hardwaregeek··on Chili Oil Notes Part 2
Interesting! Do you use it with pure oils or with sauces that are closer to emulsions? I was under the impression that it wouldn't do much for an oil since I've mostly used xanthan to thicken and stabilize water in an emulsion.
hardwaregeek··on You are never taught how to build quality software
I wrote a similar article: https://uptointerpretation.com/posts/art-school-for-programm.... I'd love to see schools that put programming first and foremost, that taught it with the respect that it deserves. There's this idea that programming is not worthy of a course of study, that programmers need to learn computer science and not programming. I disagree. It's a discipline unto itself and learning computer science to learn programming is really ineffective.
← PreviousPage 4 of 29Next →