_huayra_
Joined 14 years ago
Joined 14 years ago
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!
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.
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..."
```C++ struct MyType : Node<MyType> { Node<MyType> next, prev; // rest of data }; ```
I usually reach for Boost.Intrusive when I need this [0].
[0] https://www.boost.org/doc/libs/1_88_0/doc/html/intrusive/usa...
Concretely, there are a lot of things that are getting more "NOC-y" (network-on-chip). I'm not an OS expert, but deal with a lot of forthcoming features from hardware vendors at my current role. Most are abstracted as some sorta PCI device that does a little "mailbox protocol" to get some values (perhaps directly, perhaps read out of memory upon success). Examples are HSMP from AMD and OOBMSM from Intel. In both, the OS doesn't directly configure a setting, but asks some other chunk of code (provided by the CPU vendor) to configure the setting. Mothy's argument is that that is an architectural failure, and we should create OSes that can deal with this NOC-y heterogeneous architecture.
Even if one disagrees with Mothy's premise, this is a banger of a talk, well worth watching and easy to understand.
[0] https://www.usenix.org/conference/atc21/presentation/fri-key...
[0] https://github.com/ClockworkLabs/SpacetimeDB?tab=License-1-o...
I asked it to summarize this thread [0] and it just said "that thread is about the monthly "who's hiring"' on HN", not even close.
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?
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").
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
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.
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.
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.