Recent submissions

Comment · 1 year ago
The other thing I would encourage folks here to do is self-advocate.

We may deride the bloviations of the folks who are "all talk and no code" and how they seemingly ride the coattails of folks actually in the trenches, but honestly a lot of people do great work and sorta expect it to get "naturally noticed" in the corporate environment.

Not saying ditch your IDE and just throw around buzzwords in boring could've-been-an-email "sync meetings", but don't forget that demonstrating the value you have is also important and often neglected skill.

If a clever PR hotfix merges in the forest, does it make a sound?

I am telling on myself here, in a way, as this article hit hard and with great serendipity: I was part of a RIF at a well-known company this very morning, and I most definitely did not advocate very well for myself despite really holding the projects I was on together technically in the background / shadows.

Comment · 1 year ago
I frankly don't know how I'd collect any useful info without it.

I'm sure there are bookmark services that also allow notes, but the tagging, linking related things, etc, all in the app is awesome, plus the ability to export bib tex for writing a paper!

Comment · 1 year ago
At the byte level, it's quite possible the layouts are the same. However, an "intrusive data structure" means that the nodes themselves are the data.

In other words, intrusive is like this:

struct T : NodeType<T> { // T data NodeType<T> next, prev; };

whereas non-intrusive data structures the T's are not the nodes themselves

struct NodeType<T> { NodeType<T> next, prev; T t; };

Doing non-intrusive means you need to own the lifecycle of the nodes (and make them copyable, move-constructible, or some combo thereof). Intrusive means that the caller can manage the nodes' lifecycles and just say "here's a node, I promise it'll live while the list is still alive" and have that node be on the stack, heap, static, etc.

Comment · 1 year ago
Funny how they're bad at this from start to end. Most of these comments talk about the "end" part, but don't forget: Google has a notoriously laggy hiring process with extreme delays and an unacceptably high level of silence on important issues from recruiters.

I have been ghosted so heavily from recruiters TWICE at Google when I was literally telling them "Hey I have offers from $x and $y and I need to decide in 2 weeks. Is there any chance I can get an offer from Google beforehand?" only to receive complete silence and had to go with a different offer. 1-2 months later, the recruiter gets back to me with an offer, I have to decline.

The most hilarious part about it: after I decline, I get interviewed by some team at G that tries to figure out why people declined. I guess they're expecting some teachable moment, some nuance and insight. My answer both times started with "lemme show you an email thread that is very one-sided..."

Comment · 1 year ago
Comment · 1 year ago
Comment · 1 year ago
Comment · 1 year ago
Comment · 1 year ago
Thanks, this is interesting. I have done a lot of this sorta stuff (glob expanding giant directories) without a thought for this `ARG_MAX` libc parameter, but now I know I need to keep it in mind!
Comment · 1 year ago
On my system, `getconf ARG_MAX` is over 2m.

I have seen some heinously long cmdline strings, but nothing close to that. Usually when invocations have creeped up into the O(1k) character limit at places I've worked, I've implemented a "yaml as cmdline args" option to just pass a config file instead.

Have you seen scenarios where this is actually limiting?

Comment · 1 year ago
You've definitely called me out: I currently live in an area where I can do a bunch of different hobbies year round for the most part, and happen to enjoy them.

I totally agree that if one goes all in for their D&D hobby, meeting women directly is not likely, but it's totally possible to connect to other people via that hobby (e.g. to the dungeon master's single female friend, etc).

I guess the point I was trying to make is don't singular focus on "finding a girlfriend" and then contort oneself into doing things they don't find enjoyable for extended periods (e.g. cooking classes, volunteering with pets, salsa dancing. Those are great hobbies, but too often my awkward male friends begrudgingly do those even though they hate them because they think "that's where the women are").

Comment · 1 year ago
This advice is thorough, but as the author admits a bit autistic. It approaches a relationship as a specific highly-fixated goal that requires reps / practice.

In general, I think any guy trying to do this is not going to find what they want.

I can only give my own (likely more applicable) advice to other straight men on here (which I suspect is a very high % of the users), but I would ignore much of this advice and do the following:

* Live your own life to the fullest. Don't even worry about dating / the apps. Just do activities you love and develop a passion (or more than one!). The apps are basically designed to mess with your psychology and the yield of your time spent on them is very low unless you are extremely attractive (not me lol!). Start rock climbing and go to a bunch of meetups for it, meet new people, and be the one who asks people (men and women) to meet up for climbing. Copy-paste this onto whatever activity you want (I've done it with skiing, climbing, mountain biking, and sailing). You will eventually meet a partner through these group activities and you won't waste any time trying to "date", and often you'll be able to vet your partner in a less intense "setting" than a date. For example, you can talk about what money "means" to each of you while walking to the crag and realize that although she might be attractive, you'll probably just fight about money all the time.

* As part of a full life, maintain your friendships. You need to be able to lean on your friendships to fulfill specific needs that your partner shouldn't need to or be able to do. I talk about code with my coding friends, not a girlfriend. I nerd out about sailing with my crewmates, not a girlfriend. I talk about espresso with a bunch of deep-pocketed coffee nerds on discord, not a girlfriend. Think of spending time with friends in the same way you do the gym: it might be tough to fit in on any single "session", but if you stop doing it after a while, you'll find yourself really behind the 8 ball. If you think you can't afford the time, I can almost assure you that the time spent in the company of friends will so vastly reduce your mental rumination / anxiety / depression you fight when you spend so much time alone that the "friend time" will more than "pay" for itself.

* Know what you want, and communicate it clearly. If you're looking for something low-key, be clear to your partner. If you are angling to get serious and move in faster, be clear about that. Most of the friction in relationships comes from when each individual is on different pages about the trajectory of where they want things to go.

* Talk about money. I see so many couples don't do this and perpetually fight over things that come down to "what does money mean to you?". For example, if your partner gets a tax refund and thinks "oh boy! let me buy a new computer" while you think "give me my interest-free loan back, US government, so I can shove this into an index fund and have greater financial security to tell my employer to kick rocks if things get too terrible", you're gonna have problems reconciling that unless you're very explicit.

* Table stakes are similar to the article though: stay fit, eat well, avoid mental numbing mechanism and substance abuse

Comment · 1 year ago
Even if Ampere could afford to undercut the internal development of these hyperscalar ARM chips (which to my knowledge they cannot), there is more value in in-housing ARM chips like Amazon / Microsoft are doing: you can more easily try out wacky ideas in chip / firmware design.

Often times these companies might have an idea for how to save power / tweak cores in a weird way on a CPU, but have a chicken-and-egg problem with not knowing exactly how much it'll reduce COGS. Not knowing that and having to negotiate with a vendor (who will often want to charge more for the feature) means that it's difficult to do unless it's an obvious slam-dunk.

By bringing chip development in-house, adding new features skews more towards a political decision that requires less rigorous financial calculations (e.g. "how much power will this save relative to the vendor_cost++ and our own developer cost?" for 3rd-party chips). It basically allows these cloud providers to ship new features more quickly in their CPUs.

Comment · 1 year ago
Ultimately, every AI thing I've tried in this era seems to want to make me happy, even if it's wrong, instead of helping me.

I describe it like "an eager intern who can summarize a 20-min web search session instantly, but ultimately has insufficient insight to actually help you". (Note to current interns: I'm mostly describing myself some years ago; you may be fantastic so don't take it personally!)

Most of my interactions with it via text prompt or builtin code suggestions go like this:

1. Me: I want to do X in C++. Show me how to do it only using stdlib components (no external libraries).

2. LLM: Gladly! Here is solution X

3. Me: Remove the undefined behavior from foo() and fix the methods that call it

4. LLM: Sure! Here it is (produces solution X again)

5. Me: No you need to remove the use of uninitialized variables as the out parameters.

6. LLM: Oh certainly! Here is the correct solution (produces a completely different solution that also has issues)

7. Me: No go back to the first one

etc

For the ones that suggest code, it can at least suggest some very simple boilerplate very easily (e.g. gtest and gmock stuff for C++), but asking it to do anything more significant is a real gamble. Often I end up spending more time scrutinizing the suggested code than writing a version of it myself.

Comment · 1 year ago
I remember reading that book when it clicked how frustrating the doors at my grad school uni could be: they had what is clearly a "pull" handle on both sides, but it only opened one way. They just added signs that said "Poussez" (push in French) on the push side because clearly no one thought about the design before installing it! It's unbelievable in the decades since that building my office was in was built, no one thought "hey let's put plates on this side so you CAN'T pull".

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton