Not "FDEs," not solution architects, not SREs, not BD/"Echos," not tech support. I get that it's a consulting org with a "boots on the ground" mentality. Tell me where their devs come from
3,333 karma · joined October 10, 2019
Not "FDEs," not solution architects, not SREs, not BD/"Echos," not tech support. I get that it's a consulting org with a "boots on the ground" mentality. Tell me where their devs come from
More widely applicable advice would be how to deal with compromise, not how to hold out for "the right one."
What do you do if the job that makes you an offer doesn't excite you? What if the house that feels like home needs more repairs than you can afford? What if the program that accepts you has crappy funding? What if the person who chooses you has red flags?
Do you say "screw it," cross your fingers, and walk through the door that kind of sucks? Or do you keep looking as long as your resources last you?
There are a lot of people on HN who want a technical manual for how to party, and a lot of them keep telling each other that the art of conversation is about attentive listening. Can you imagine a conversation between two people practicing attentive listening on each other?
As in, the author was working as a waiter or a coach at the time.
A waiter's job is to keep your butt in the seat, get you to order some stuff, and then leave a tip. The waiter may or may not give a shit about you as a person, but it's secondary to their job. That simulation is the creepy vibe.
I've probably never eaten at the kinds of stratospherically high-end restaurants the author writes about. I've eaten at restaurants with Michelin stars. I've never had a waiter flirt with me, daydream with me, or offer ad hoc therapy. And if I ever do, I suspect I might find the charade off-putting.
...is this really the openness to chance that anyone (other than LinkedIn influencers) has in mind? Friendship is super flipping far from making business connections. We want people who sympathize, care, make themselves available, so we can be the same to them.
What are your goals for these reading groups? How completely are you meeting them? "Goals" in a broad sense, anywhere from "motivating myself to read more" to "building a community of experts and friends."
My experience is primarily with Palantir. Almost all the founders I know worked together at Palantir, went into business to work on problems they first encountered at Palantir, got angel investment from wealthy early Palantir employees, and got connected to institutional funding through those wealthy Palantir investors.
Dan's essay is dated 2022. It is now 2024, so maybe something has changed since then on the code path between Postgres and Fivetran to allow backtracking.
That said, damn I wish the meetup scene came back to South Bay, or even just SF, or anywhere at all within driving distance.
I get that grad students organize a lot of mini-conferences, talk series, and forums with other grad students, but I'm not in grad school.
The author, Ruth Whippman, is a "current affairs" journalist and documentary maker. In other words, she has made a career of picking trending pop-psychology topics and writing fluff commentary on them. Her books have subtitles like "Why are we driving ourselves crazy and how can we stop?"
Having said this, one pattern in how adult men behave emerges very clearly, at least to me, living in a middle-class US suburb. Men don't have a habit of building community. Women do.
For example, my suburb and neighboring ones have subreddit communities. Those subs regularly get posts from new arrivals who have trouble finding friends.
On average, female posters mostly get responses from other women, and most of the responses are about making plans to exchange contacts, get together as a group, and try activities together.
On average, male posters get grouchy responses from other men telling them that they aren't trying hard enough or creatively enough.
Women in my area have built social organizations that reach out to female newcomers and try to pair them up with other women looking for activity partners. Men have not.
https://smallcultfollowing.com/babysteps/blog/2013/11/20/par...
https://haibane-tenshi.github.io/rust-reborrowing/
https://stackoverflow.com/questions/62960584/do-mutable-refe...
Meanwhile, you are insisting on reasoning about Rust from first principles and making lists of links to documentation that is, at best, tangentially relevant.
For example, the fact that `&T` implements Deref is not relevant here. Applying Deref::deref to a &T returns a &T. For most intents, it's a no-op.
fn main() {
#[derive(Debug)]
struct X(i32);
let mut s = X(1); // create value
let mut1: &mut _ = &mut s; // create a ref mut
*mut1 = X(2); // write through mut1
println!("using mut1: {mut1:?}"); // print mut1
let mut2: &mut _ = &mut *mut1; // create a second ref mut
*mut2 = X(3); // write through mut2
println!("using mut2: {mut2:?}"); // print mut2
*mut1 = X(4); // write through mut1 again
println!("using mut1: {mut1:?}"); // print mut1
}You can create a mutable reference `mut1`, mutate through it, create a new mutable reference `mut2`, mutate through it, then mutate through `mut1` again. Here is an example to illustrate:
fn main() {
let mut s = String::from("1"); // create value
let mut1: &mut _ = &mut s; // create a ref mut
*mut1 = String::from("2"); // write through mut1
println!("using mut1: {mut1}"); // print mut1
let mut2: &mut _ = &mut *mut1; // create a second ref mut
*mut2 = String::from("3"); // write through mut2
println!("using mut2: {mut2}"); // print mut2
*mut1 = String::from("4"); // write through mut1 again
println!("using mut1: {mut1}"); // print mut1
}
Lifetime analysis can infer shorter lifetimes for unused refs. But creating refs in the wrong order matters even if you never use them, and not all orders are valid Rust programs. Here's a very small example that doesn't compile: fn main() {
let mut s = String::from("1");
let mut1: &mut _ = &mut s;
let mut2: &mut _ = &mut s; // never used!
println!("Using mut1: {mut1}");
} fn main() {
let mut s = String::from("s");
let mut1: &mut _ = &mut s;
let mut2: &mut _ = &mut *mut1;
*mut2 = String::from("t");
println!("using mut2: {mut2}");
println!("using mut1: {mut1}");
}
Some people use a mental model of reference lifetimes that allows "discontinuous lifetimes" where the valid region has holes. I don't think that's how the compiler models reborrowing, and even under that model, `mut1` is created before `mut2` and gets dropped after `mut2`.