Algorithms + Data Structures = Programs - Episode 121: Stories & Chatting with Zach Laine! (Part 5)
Episode Date: March 17, 2023In this episode, Conor and Bryce get some random stories fom Zach Laine and chat about other random topics.Link to Episode 121 on WebsiteDiscuss this episode, leave a comment, or ask a question (on Gi...tHub)TwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the GuestZach Laine has been using C++ in industry for 15 years, focusing on data visualization, numeric computing, games, generic programming, and good library design. He finds the process of writing bio blurbs to be a little uncomfortable.Show NotesDate Recorded: 2023-02-16Date Released: 2023-03-17CppCastC++NowElixirConf 2015 - Keynote: Elixir Should Take Over the World by Jessica KerrStop working on your slides - Andrei AlexandrescuCppCon 2018: Louis Dionne “Compile-time programming and reflection in C++20 and beyond”PLDI 2022 ConferenceAgdaChip WarIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8
Transcript
Discussion (0)
And then, yeah, and then she crossed herself again.
I'm like, what is about to happen right now?
And then as we're going down the side of this, you know, crater wall, I swear I'm not making this up.
I looked over and there was an airplane fuselage just on the hill.
Just, you know, they don't all make it.
It's a numbers game.
Some of them end up on the side, you know. and welcome to ADSP the podcast episode 121 recorded on February 16th 2023 my name is
Connor and today with my co-host Bryce we finished part five of our five-part interview
with Zach Lane today we get some random stories from Zach and chat about a number of other random topics.
Well, we have to get at least – do you have to go anywhere, Zach?
We have to get at least one Zach Army story because they're all hilarious.
So there's a brief one that I like like from this is when i was at uh
c plus is now a few years ago i think it's like right before the the pandemic and at the time um
uh which was jason turner's uh podcast i've forgotten the name cpp cast cpp cast yeah so
i was sitting there and hanging out with some folks ben dean is one of them ben's a super nice
guy and i said somehow we got to
talking about that podcast. And I said, yeah, I'm kind of bummed they never asked me to come on the
podcast. Like, I don't really actually want to go on the podcast that bad. I just want to be asked.
Wait, you were never a guest?
No, no, I was never on there.
What?
And so I said, really, I just want them to ask me so I can say, you know what,
I got a lot going on right now. I can't relate.
And then Ben turns around to Jason who is right there and he says, Jason, hey, how about having Zach on your podcast?
He's like, oh, yeah, Zach, would you like to come on the podcast?
I said, you know what? I got a lot going on right now.
This is perfect instant gratification of exactly what I want.
I'm like, Ben, you need to just, I need to just take you
with me everywhere. It's just an instant wish fulfillment. Wow. So wait, is this your first
C++? I mean, we're like C++++ podcast. Is this your first C++ podcast? No, you said you were on
CPP chat. Yeah, I was on CPP chat, but that was with a whole bunch of people from SG16,
the Unicode folks. Unicode is one of the things I work on, not because I wanted
to know anything about Unicode. I kind of accidentally- Nobody really wants to know anything
about Unicode. I love Unicode. Yeah, exactly. How do you think we get those APL BQN symbols?
Let's make it happen. Unicode, baby. Yeah. But we're not fun Unicode people. We're the kind
of Unicode people that say, we should have a rule for what can be in an identifier, like a kind of Unicode people that say like, we should have a rule for like what can be in an identifier, like a name of a function or something.
And because we need a rule,
we're going to go and make the rules make sense.
And that means you can't use the shit emoji anymore in your,
in your slideware.
And that really,
that really upset some people.
Some people like really felt the loss of the poo emoji going away.
And yeah,
sorry guys.
So yeah,
that group has done some really interesting stuff, but none of it's very fun.
I remember seeing a lightning talk.
I think it was at Meeting C++ 2019 maybe where someone did a gobbled compiler explorer all in like emoji.
Or maybe it was actually – it was during the Meeting C++ quiz at 2019.
Yes, it was.
And one of the questions was, what does this evaluate to?
And it was like,
that was pre-pandemic.
Like that was like,
we were like on the road
for like four or six weeks.
Yes.
You've told that story
like six times on this podcast.
All right.
So I do have an army story for you.
We'll take it.
All right.
So I was trying,
I was trying to think of one.
Okay.
So there was this guy that I was,
he was in my platoon.
He was in my squad. I knew him pretty well. This guy's name was. Okay. So there was this guy that I was – he was in my platoon. He was in my squad.
I knew him pretty well.
This guy's name was Machado.
Machado had this habit of asking insane questions, just what-if questions, just to get the conversation going.
It's so weird, right?
So I was a paratrooper.
So when you do a jump, like you're in a plane, you jump out.
The people at the beginning of the jump, at the end of the jump, they come out in very different places.
So there's – once you hit the ground, you pack up your chute and everything.
You go to this place everyone calls the assembly area where you kind of form back up in your units and stuff.
And so the assembly area is a thing we refer to all the time.
People call it the AA or the AA, right?
Okay.
So Machado says this.
He says, all right, you jump, right?
And your shit don't open, right?
Okay, so then you pull the reserve. shit don't open right okay so then you pull
the reserve that don't open right now what do you do you sprout wings and now you can fly do you go
to the assembly area or you just fly away i was like wait what i was like wait wait wait wait
what does the first part have to do with the second part i don't understand this you said
like what if i sprouted wings where would i go and then somehow you tied this into jumping out of an airplane
and going to the assembly like i don't understand like i have so many questions about this question
this is the most insane question anyone's ever asked oh machado he's full of questions like
that some that are really probably not podcast appropriate, but bizarre, bizarre scenarios this guy would come up with.
Oh, man.
That guy was nuts.
Well, it's the answer.
What's the answer?
I mean, I would probably fly to the assembly area and say, I got a lot going on right now.
I'm going to fly away.
We got to meet up at a conference
it's been two
when was the last time
we saw each other Zach
I think it was
2019
like four years
are you coming out
well I
wait did you come to the
C++ Now in 2019
might have been 2018
no
the first conference
I ever went to
was the C++ Now
2019
okay
and then there was a few
for that year
and then
I met you at a couple of committee meetings as well.
Yeah.
But then,
yeah,
since then,
yeah,
it's coming up in May.
I'm definitely going to be there.
If you want to come to aspirants,
it's a,
I was invited,
but,
uh,
I can't,
I've got,
um,
two races that bookend that weekend.
I basically,
I'm not sure unless if I skip those races in some,
at some point in the future.
Are you,
did you submit Bryce?
Are you going to see us now?
So I submitted,
I don't know if I'm going to go because conference travels,
not like work sponsored conference travels,
not going to happen.
So that's pay out of pocket,
which I might do.
But I also, I may have a, a work thing I have to do that weekend, that week. not like work sponsored conference travel is not going to happen. So that's pay out of pocket, which I might do.
But I also, I may have a work thing I have to do that weekend, that week, which is in Italy.
And like, I love, I love all the C++ people, but you know, if I have to pick between you,
y'all and hanging out in the Amalfi Coast, I'm going to go with the Amalfi Coast.
Do you have any other conferences lined up, Zach?
No. So since I go to committee meetings really faithfully these days, I basically
have limited myself to just that one conference. I just go to C++ now. And I got to say, I went to
CppCon the first two years and it wasn't, I think, as mature a conference as it is now.
I think the program is better now than it was the first two years.
Right. So there's that.
But I really felt like when I went the first two years, like after having gone to C++ now, it's such a singular experience.
Like everyone's in this small town with nowhere to go, nothing to do, but like to do the conference.
That really makes a really tight group.
But then also like the caliber of the presentations, like they aren't all great, but the ones that you see there that are great are like, wow, this like changes a lot of things for me.
You know, they're really influential.
Whereas I didn't really feel like I saw anything like that at the first two years of CPPCon.
So, again, I think it's a better conference.
I think I would have more sort of like great experiences in terms of the presentations themselves.
But the fact that it's so like sort of distributed – I should say distributed.
So big is what I'm trying to say.
It's a completely different experience.
Yeah, it's hard to run into people and just have a chance, a discussion with folks.
So I really think like I've kind of been spoiled by this one conference I really like so much.
If I go to another one, I'm like always comparing it to that one. So I think I won't get as much
out of other conferences. So that's part of it. Yeah. It's very hard to replicate,
especially the venue that they have. And it's an Aspen. Like it's, I don't think I've ever
gone to a conference anywhere else where the running has been so phenomenal. And like,
and like you're technically like, I don't treat it like that, but you're at altitude. And so like, if you are going for runs for a week, then you go back down
to sea level or wherever you're at. And you're like, Holy smokes. I mean, it feels great. What
happened? And like, I remember actually the first couple of times where I went for runs up there,
I was just like, why am I so tired? Am I not getting enough sleep? Or like, cause,
cause they are long days. And like, you know, you're, you're basically, you wake up watching
talks, talking in between every single talk, dinner, lunches, like it's very, very, you know, you're, you're basically, you wake up watching talks, talking in between every single talk, dinner, lunches, like it's very, very, you know, and sometimes you'd
be up till 2am, 3am in the morning, like, you know, chatting about technical stuff or
whatever, just, you know, meeting with folks.
And, uh, but I'm like, usually even if I'm tired, like I don't feel this bad.
And then I realized, oh yeah, like there's less oxygen up here.
Like, uh, it impacts your ability to feel, feel good. And it's just so beautiful.
Um, yeah, it's a great spot, but yeah, the altitude really gets to you. So early on in the,
in the conference, like I think right before I had my first kid or something, you know, I used,
I used to lift weights pretty, pretty, um, um, faithfully. And I did it like all the time. I
didn't want to miss like a whole week. Right. So I go into the weight room there. And, you know, they didn't have free weights.
I was just on the little bench press machine.
I just put on like my warm-up weight and I went and just didn't move my hands.
I'm like, okay, let me take a plate off.
And I still couldn't move it.
And then finally I got down to like the bar and like a little bit more.
And then I could barely move it all the way up and I got so tired.
I was like, okay, maybe I'll skip this week.
Yeah.
I don't know if I'm going to be able to do this.
Yeah.
It definitely impacts.
One year, we used to have this fellow.
I think his name was Ed who would come every year.
But then there was one year where the altitude just got to him.
And I think he collapsed or something.
And he was just like, I can't come back.
It's just this is too – the air is too thin here.
Yeah.
And that's the thing.
I've been told that altitude sickness is kind of funny.
Like people will be fine for a while and then they'll get it.
I'm talking about repeated trips.
If you're there and you acclimate that's one thing but like people who have done things at altitude for a number of
years they'll feel like they're comfortable with it and they'll go back again and they'll have
problems and i think that's what happened to ed because ed was like a regular he'd been to several
of them and then he couldn't go after that it's always like hit or miss for me like some years
like i don't feel it at all some you and i think it depends on whether you drive up from denver or
you fly right in like if i fly right into aspen, like, yeah, I'm going to, I'm going to feel it.
Yeah.
Yeah.
This is why Tony, Tony Van Eerd, who's a local Ontarioan who lives out in Kitchener, I believe.
Hope I got that right.
He was saying that, you know, for, we've got C++ North, which is held downtown Toronto,
but we could try and replicate the the c++ now kind of experience
and call it like c++ muskoka which would be probably easier to get to because it would just
be like a car ride plus a flight to toronto whereas most people i mean i don't know if it's
half and half some people fly into aspen i. I remember landing in Aspen, though, and thinking, like, you know, of the times – I know statistically speaking, flying is the safest.
But just, like, you're flying through mountains and, like, finding this little thing, and I'm like –
So the flights into Aspen, I always feel super safe on those flights because the pilots need a special rating to fly into, like, a handful of mountain airports in the in the US, and that's one of them.
And so the pilots that you get
on those flights are usually
like, they're like hot shots,
like former Navy pilots.
Yeah, they
tend to know their stuff.
I landed in
Tegucigalpa Airport, which
is in an extinct volcano.
That's where the city is.
So where do you put the airport?
On the edge of the city, right?
You don't put it downtown, right?
So then when you're landing, you don't want the takeoff to be up against the crater wall.
So when you land, you're coming like down the crater wall and then you pull up at the
last second and you land there.
And I remember I was near the front of the plane
and I could see the woman who had been our flight attendant in our section sitting, you know,
facing us. So she's like, you know, by the aisle side seat, the other flight attendants, my kids
here, but, and she's sitting there and she's like mumbling to herself and like her eyes are closed.
And I'm like, what is happening? And then she crosses herself. Yeah, I was going to say that she do a little.
Yeah, and then she crossed herself again.
I'm like, what is about to happen right now?
And then as we're going down the side of this, you know, crater wall, I swear I'm not making this up.
I looked over and there was an airplane fuselage just on the hill.
Just, you know, they don't all make it.
It's a numbers game.
Some of them end up on the side, you know, they don't all make it. It's a numbers game. Some of them end up on the side, you know.
And when we landed, she got on the PA and she said, let's all thank the pilot.
Everyone applauded.
I felt like there would have been a standing ovation if we weren't buckled in.
Like, it was insane.
I was like, how dangerous was that?
Like, they didn't tell me before I got on the plane.
They just told me, like, as we're about to land.
And they didn't even tell me without crossing themselves.
That was the communication.
Yeah, it was like c post post now 2013 or 2014 but there was a blizzard as as there often isn't that early in may and um
i i was in denver waiting for the flight to to um to go and it was like unclear like a lot of the flights after mine had been
canceled already it this was the last one that was going to go if any of them were going to go
and then um this guy in like a bombardier jacket like not like typical airline pilot uniform this
guy was out of regulations he uh he walks um up from the jet bridge into the area and he swipes the microphone from the gate agent.
And he's like, well, hello, folks.
My name is Captain whatever.
And he's like, well, they've given us enough fuel that we could divert to Los Angeles if we needed to.
So we're all going to get on this plane and we're going to fly on over to Aspen.
And I'm going to see if I feel like we can land.
And if we can, we'll do that.
If not, we're going to go somewhere else.
And he just said it so confidently that I was like, you know, I'm going to get on the plane with this man.
Like he seems nervous.
And it was the smoothest landing I've ever had into the Aspen airport.
In the Aspen airport landing, there's sort of like one valley that they fly you through.
And then you have to make a pretty sharp turn in that valley to come into the approach to the airport.
Yeah.
And as we're landing, there's like zero visibility.
But it was the smoothest landing I've ever had in that airport.
And when everybody landed, we all gave that man a round of applause.
Yeah. That landing could be kind of rough there yeah i don't i don't know what's happening but yeah even even now when
i'm just on regular flights i i have a certain amount of anxiety even though like it's like i
studied statistics in university and i know the statistics of flying but there's just something
like even in a car i have anxiety it's just like when you're in this you know, but there's just something like even in a car, I have anxiety. It's just like when you're in this, you know, metal box, there's just, you're sort of, you're
at the whims of whatever happens, right?
Like, it's not like, all right, we go down, I'm going to make sure I got my, my, you know,
my, my position I've practiced and I'll be okay.
And I'll get, I'll get out the little floppy thing first.
It's like, nah, you know, all the other things that they tell you about, like, make sure
you put the gas.
It's like, that's, i'm pretty sure just a distraction and like if the plane goes down into
a side of a mountain you know like all these over the last what decade or however many flights have
disappeared like you don't hear about the one or two people that survived you know the the flight
that went it's it's it's kind of it um which anyways i think those those uh those tanks are
full of nitrous oxide or something just something just they just come down they just they just knock you out unfortunately in the in the
crash landing that was successful we did lose five people because there was too much too much
mix so so piece of trivia do you know why commercial airplanes don't have parachutes
for all the passengers uh no i assume because it's cost prohibitive, but I don't know.
It's actually not cost.
Part of it is weight, but most planes are flying at between 30,000 and 40,000 feet.
And you can't jump from that height without an oxygen mask.
You'll pass out.
Yeah, that's a good point.
And so one, the plane would have to get a lot lower um two for most of the sorts of problems that you'd have on a plane the amount of time that
it would take to get 250 people like to jump off the plane like it'd be crashed by then and three
most people who are flying on a plane haven't been trained to use a parachute and so it wouldn't like
even help you and so i always just thought it was like a cost thing or a weight thing,
but it turns out it's mostly just like, no, it really wouldn't help you out that much.
Well, also, when I used to jump in the Army, we were usually jumping in the C-130s,
which is a prop plane, right?
They aren't going that fast.
And then when we did jump out of the bigger planes with the jet engines,
they would slow down a lot, right?
Because you can't jump out and then get slammed against the side of the door.
You know, that's not going to work, right?
It's not going to end well.
It's not going to end well.
And some of the ones that had the big jet engines,
they actually had this kind of flap with holes in it that would come out in front of the doorway
that would break the wind.
So you could actually, as you're going out, you keep a good body position until you actually hit the stream of air going past right so there's all
kinds of technical things oh this is actually really funny like i saw a video they were they
were they're trying to get there's these uh c5 globe masters these gigantic planes they can i
think they could put two abrams tanks in them and and fly them like halfway around the world they're
gigantic the inside of it you feel like an aircraft hangar. You can't believe how big it is inside these planes.
And they were trying to figure out how to
jump paratroopers out of them.
They had all kinds of problems with it.
So these wings, they have those canards, the big things
that stick up on the end of the wing, the little
canards, I don't know what it's called.
So it turns out those make like a little
vortex around the back of the wings,
a little swirly pattern.
And I saw this video where
they were like they were like they were flight testing you know because when you when you jump
in the military they have like a static line so when you fall out you could be a sack of bricks
you're still gonna the shoot's still gonna open up right so they literally put like weights uh and
and and put like uh uh like kind of weighted dummies and put chutes on them and then just threw them out
right just see what would happen and and i saw this video of this plane and you see all these
little will look like little people coming out and then they're floating down nice and gentle
like you would expect in a parachute and then they hit that huge swirling vortex of air and
they went upside down landed in the chute and
then just went straight and hit the ground oh no i don't want to jump out of that
no no me gust that's not for me that's not for me
so uh so my my girlfriend has actually been skydiving which is a thing that i think i would
i i would not do unless somebody pushed me
out of the plane. I might sign up for it, but somebody would have to shove me out of the plane.
But yeah, it's like that's... How many times did you say you jumped out of a plane?
I did like 35 times.
You've not done it since you've been in the Army?
No, no. I mean, there's a lot of things. Like, you know, I used to love camping.
And then when I got paid to camp outside for two months a year, I was like, I never want to camp again.
You know, there's certain things like it kind of ruins certain things for you.
So when I first started jumping, it was so exciting.
Oh, my God, it was so much fun.
And then I hit my head on something.
I don't even know what happened because I just woke up on the ground and didn't know how I got there.
So I hit my head so hard that I lost a whole day.
And after that, it was like, okay, this real now this is not this is not super fun anymore so um you know like my sort of like um
the the honeymoon period was over at that point i'm not that interested anymore yeah yeah yeah
that that seems to me like a wise like i i bet it's thrilling but like people human man was not meant to yeah well
i mean the very first time i did it i remember i was looking out the window i happened to be
sitting right in front of the door and they open up the door and i'm looking out and i see all
these little tiny trees that look like you know like when someone makes a model of like a development
and there's these little little these little fake trees that's what it looked like i was like it
doesn't even look real and you're jumping from about 1200 feet you're not jumping jumping very high and um uh you know you you do
one of these jumps and and it doesn't feel real but i the first time i went i was like this is
how i die this is i'm definitely dying right now this is like it's so terrifying i was just like
blind with panic but somehow i made myself go out and then then when the shoot opened and you went from this deafening noise of all
the wind and it was silent and I was alive and it was thrilling.
I was like,
I'm hooked this.
I want to do this over and over again.
It was so much fun.
And then,
like I said,
it got really real later.
Yeah.
Oh man.
I have absolutely zero desire.
Like,
I don't know if it makes me like an unfun person,
but like skydiving,
bungee jump, like bungee jumping just seems like, that's just how you like cause yourself like the
rest of your life, neck problems. And like, you know, oh yeah. Whipped your neck. And like,
I guess it was a cool Instagram reel, but, uh, I just, oh man, like that.
Right. Who's next in the whiplash machine? It just seems like asking for trouble.
Yeah. I mean, yeah. Instagram's good enough for that.
I'll just watch people doing the reels.
Yeah.
All you got to do is get really good at Photoshopping your face on someone else's head.
Yeah.
You don't even need to get good at it now.
Like all the drama with deep fakes and stuff going on.
This is by far, I think, our longest recording.
I can't remember how long we recorded with Chandler.
It's been great, though.
Yeah.
Yeah, it's great.
Just glad to be on.
At this point, we stopped our local recordings because we were done recording the episode.
However, we continued to record on Zoom unintentionally as the Zoom meeting was continuing.
And we actually ended up chatting for about 30 or 40 minutes after the end of the recording,
some of which might be interesting for the listeners.
So if you are interested,
the rest of the podcast is an unedited behind the scenes,
just chatting between Bryce, Zach, and myself.
Every once in a while, we skip ahead,
which will be indicated by a record scratch
because that's the boring stuff.
But hopefully you enjoy this behind the scenes
with Zach and Bryce.
So I gotta say the only thing, what? Oh, it's exporting. Yeah. The only thing,
the only tip to improve your podcast that I could possibly give you is that
at the end of every podcast, it's just Connor's voice saying like, all right, bye, click.
It is so abrupt. I'm like that was it oh shit it's over
you gotta have an outro bro so abrupt well the thing is is that like i designed my podcast
because i listened to like 60 podcasts or something like just today i've already listened
to i don't know probably three hours of content because i listen at 2.3 times. And there's like certain things that just are really big pet peeves.
And like,
I never listened to the outros as soon as there's outros.
Although I will say mine is aggressively like,
it's like a three second recording of thanks for listening.
Hope you enjoyed.
Have a great day.
Bye.
All right.
One,
one fun fact before I,
before I let you guys go,
you know, who else is a paratrooper, former paratrooper,
Andre Alexander rescue. Yes, I did know this.
Is that crazy?
I know this because a couple weeks after, um,
or maybe like a month or two after Andre starts working at NVIDIA, um, we, uh,
we get on like our regular one-on-one and we're chatting.
And then at the end, he's like, hey, like before you go,
you know, there's a chance I may have to like,
I may get called up to like go back to the Romanian army for a few months.
You think NVIDIA will be cool with that?
And I'm like, wait, what?
He's like, yeah, I'm kind of an officer in the in the reserves maybe need me to go teach the kids things and i
could get out of it but i want to go do it that's really interesting yeah the only reason i know
that is because it actually says that in his little um you know the the like uh bio blurb thingy that you put in your book sorry and it said that in his
um uh at the end of his uh advanced or modern c++ design yeah yeah but when i saw that i was like
that's crazy i think it's amazing that he's still on like the reserve list there yeah yeah i mean i
think he's even older than me i'm like i'm not
gonna do that shit yeah yeah yeah in fact you know my stress dreams are not like i'm in class
with no pants on instead i have to run again my stress dreams are back in the army for some reason
like there's been a war and i've been called up and i have to run and i'm like oh this sucks
so do you have enough time to edit this like how exactly is this gonna
work oh that's the thing is you think that like and i i i can't remember i think i did mention
this when um cpp cast had shut down last may like almost a year ago is that uh like i was saying how
much i was gonna miss the podcast and love it and like they put way more work into um i mean like like literally Zach, you know how you got on this, like Bryce just sent you an email and then like
two days later, you know, and then you hit like, uh, I remember, uh, they had all these settings.
We don't have settings. I don't, I don't switch thing. Like I think Bryce records on two speakers
and I record on mono. Like, I don't really care. And my goal is to like have the whole thing, show notes, website updates, edits, and like
outro intro all done in like an hour.
Oh, wow.
And that's why, that's why I try and keep it to like 30 minutes because like every 30
minutes you add is going to double the amount of time.
Yeah.
And I, like, I get comments all the time about Bryce's audio is too low. And, you know, we got a blah, blah, blah. But that's the thing is Bryce talks like this and he goes like this and he talks like this and he talks like this.
You know, they don't they don't make a normalization algorithm for what I do.
And there are times where like you can do this stuff where like you amp everything down to a certain level and then re amplify it. But like, even still, you know so most of the times I just listened to yours.
I had a fascinating conversation with Richard Powell,
who works at Apple and does audio stuff there, like talking about like,
like this quite like normalization and like the,
like the loudness of things. It was really, I was fascinated. I, so I had a,
I had a long conversation with Richard Powell,
Richard Powell about their smart speaker and everything he was describing was stuff I did in Navy Sonar.
Like it's all the same like approaches and algorithms and like worrying about which bounce paths of this taking to get back to you. It's really fascinating.
Somewhere at Apple, I'm sure there's some engineer who like used to be like a Navy like Sonar guy.
Now his job is to make sure the home pod can like listen to you yeah so um yeah we did we also didn't talk about unicode stuff i mean you know there's
yeah we didn't talk really about any of your libraries i wanted to bring up the uh i'll be
the first uh person to come on 18 times yeah yeah well i was thinking too i meant to mention this at
the end is that sean's probably listening being like, why the hell haven't these guys? Cause it was half of the idea was that like,
I was always telling Sean, it's like, man, like, you know how popular, like if you did a podcast,
like imparting your wisdom to the world and he's like, no, no, no, I don't have time for that.
And I was like, no, man, like your stories are so amazing. Like, so honestly, this is the problem
with C++ instruction. Really? It is like that all the cool kids are like, I don't want to do that.
I'm so busy, right?
And then like, you know, people used to write books and stuff because there was money in it.
But now there's no money in it.
So people don't write books anymore.
Yeah.
And so like now it's like you have to have like, you know, there's a few labors of love.
Like CPP reference is a great example of that.
Like the people who do that do a great job with it.
But also you have people like Richard Smith will come in and edit the stuff about the language.
So you have some heavy hitters editing their stuff.
But usually, if it's in terms of tutorial-level documentation, there's no such thing for C++.
And the reason it doesn't exist is because no one's going to make a name for themselves doing that.
Just like no one's going to make a name for themselves figuring out package Just like no one's going to make a name for themselves figuring out package management.
No one's going to be known as the package management guru.
That's just not something people want to know for themselves.
One of the problems is that there's not enough money.
Most languages have a foundation that's better funded, and then the foundation has some people on staff, and then they do stuff like that.
Dust Foundation is a great example.
The C++ Foundation has paid people people but as far as i know
that that list is one person long they paid eric niebler for a while to finish the range of stuff
and i don't think they've ever done it with anyone else but yeah look at what came out of that
right yeah what came out of that was incredible like we should do more of that but you know
what's interesting is i heard um i heard a podcast with j, uh, Jason's cousin and not just in terms of like,
yeah. And, and I was, I was hearing this too, cause it's sort of a rhetoric is why,
why Russ became so popular where it has a lot of the same things that Haskell has, but Haskell
didn't. And what JT did, like they had this, um, committee, like they have a bunch of committees language api blah blah blah
but they had one for like um community or like you know i can't remember what it was but it was
like community outreach or something and they did this survey where they realized that like the
number one thing people struggled with was like uh like fighting with the compiler and so they
created this whole initiative to basically do like compiler driven development,
focus so much attention on not just the errors, but like the errors that beginners run into that like might not actually be things that like experienced developers are running into,
but it's like these low level, like, or very, like the first things you're going to learn
and like put that, those tips in the compiler.
So that basically like, you don't even need to go to Stack Overflow.
You hit some wall, and then the compiler's immediately...
And hearing them talk about that was like,
maybe that's what Rust...
People talk about the evangelism strike force
and how they're propaganda, blah, blah, blah.
But I think Rust really figured something out
in designing the experience that new people have with the language to be incredibly like
a soft landing, even when you're struck, like five years ago, you used to hear that Rust is
such a hard language to learn and blah, blah, blah. And, you know, move by default and all
these things and coming from Python. And now like, you don't hear that as much anymore. Like it's,
it's this language that some people like learning as a first language. And I just like,
I think there's so much to learn from like, not just what Russ has done
as a language, but what they've done as a community.
Yeah, that's really what's most appealing to me.
So, you know, whenever I write parsers, I try to make a parser that when there's an
error, it tells you which production rule it thought it was going to have.
And that's plain English.
And it puts a carrot under it, just like the clan diagnost diagnostics and it quotes the line and all that kind of stuff and i find that when
you use most people's parsers they don't do anything like that and it makes it so unergonomic
and i really feel like you know i've spent my entire career being good at writing libraries
getting better and better writing libraries and one of the things i've discovered and this is
part of this is due to eric neibler in fact who i remember writing him writing on the boost list one point like the story for error recovery is part of your library that's part of
the quality metrics for your library like if you if you report errors and the errors are like this
much template instantiation stack page after page after page and then it's like you know it gives
you something you don't even understand how it relates to your code then that's a problem so
you should basically be like static asserting those things ahead of time or like Sveenation kick in or
something like this. And I feel like the committee has, the committee gives zero about that. There's
just no buy-in for that approach. And I think it's so damn important, but we have at this point,
a very expert friendly language. And so that's the orientation.
Yeah. Yeah yeah we are the
exact example i mean i hope jessica kerr brings it up she's keynoting at cpp north but she has this
amazing slide and talk or slide from a talk that's like commit like different communities
across programming languages and like some programming languages are a single step function
like down here is the beginners then there's a huge wall and then there's like the people at the
top and like getting up there is extremely hard. And then she shows this other
slide of other communities referring to like Elixir and Ruby, where it's like a step function.
And it's like, not only is it one step function, there's like another step function on the other
side that like, there's multiple paths. The people that are one step above you are always
happy to teach and writing blogs. You don't get shamed for like not being an expert. Like I
remember when I was talking to Andre and he actually put this out in a lightning talk, which
I, he said that you shouldn't be giving a talk unless if like you're giving, you're talking about
10% of what you know. So like you should be an expert and like what you're presenting on is a
fraction of your knowledge so that like you have all your extra knowledge to answer the questions.
Make sure you have the competence.
No competence, no talk.
I'm not kidding.
Very serious.
Study related work.
Be able to defend in a court of law
every single word you say.
Be able to talk to someone whose life is that topic.
All right?
Who sleeps, eats and showers
and everything is that one topic that
you touch in, in passing. Okay. So you should be able to have a conversation with them. What
you teach should be only a small fraction of what you know, never teach everything. You can't teach
everything. You know, you teach a little, what you know, and then the questions are going to
take you to the other 80% of things that you know. I could, I vehemently disagree with that so much.
Cause when I started giving my talks, I was talking about like 120% of what I knew, like
20% of the stuff I was talking about, I wasn't even an expert on.
And like the people in the room would be pointing things out and like, I would give answers,
but like looking back on it, like I hadn't even fully crystallized my actual thoughts
about like what I was answering.
And I just think, I think
it's, it's such, such a terrible thing to like, tell your community, make sure that you go learn
10 times as much knowledge as you're going to present so that like, you can represent yourself
well, where I'm just like, no, like everyone at every level should be making content because
there's someone that is like a poor version at like level five of like 20 levels
is going to be what the person at level four needs. And the person at level 20, isn't going
to be able to speak to the person at level four. And sure. Maybe the person at level five messes
up a couple of things, but like, anyways, I just like, I have very strong feelings about like,
you know, it's, it's kind of like gatekeeping. Like, you know, if, if I had heard that early
on, if it hadn't been for Bryce, basically Bryce like twisted my arm because my goal was to give my talk at a meetup and then get it accepted at CPPCon.
He saw the talk, which was my goal.
I was like, I need either John Cobb or Bryce to see my talk.
And then like, that'll help me get accepted.
And then Bryce was like, you have to present this at C++ Now.
And I had been listening to the podcast and I was like, uh, I know what C++ Now is.
It's a conference for experts.
Like, I'm not even, I don't even think I would be like, I would fit in as an attendee, let
alone a speaker.
Like this is a fluffy talk that like, sure touches on some stuff that I think is important,
but like compared to Louis Dion's like template metaprogramming parts one and two, I'm like,
I don't fit in.
And, um, and like, that was the feedback as well.
Like at C++ now, all my feedback was like, no.
And then I think it was basically because like Bryce was on the committee that like
he kind of pushed my talk through.
Anyways, the point being is like-
That is true.
I'm sure there's like a handful of people that like would fit in a circle that includes
the three of us like very well.
And they'd fit right in, but they're just like terrified of getting up on stage
because of the reputation that C++ has,
that it's just like.
Well, one of the things I always want us to do
at the conference,
and honestly, it's just because I cannot get up
early in the morning.
I just, it kills me.
And me and Tony Van Eerd
are always in the bar until four in the morning
talking about something, right?
And so like what I want to do
the first day of that conference,
and I think every conference should do this. I think your conference should do this. The first day, one of
the things you should say to the orientation crowd, right? Hey, if it's the first time you're at the
conference, here's some ground rules. Ground rule number one, if you see a group of people that's
going to lunch, you're part of the group of people. Just go get into the group and just go with them
to lunch. Don't ask. Don't make it awkward. Just go with them to lunch. If it turns out that they're doing something specific
and you're not welcome, it will come up. Right. But just make the going into fault that I'm just
part of the crowd and just doing that, you become part of the crowd. And the thing is that like
people aren't going to invite you to come with them, but they also aren't going to be
bummed that you're there. Right. If you're brand new and they don't know you, you know what I mean? Like people, people can be like more immediately
part of the, part of the crowd, a part of the, the, the, uh, the community. Um, if they just
sort of like do a lot of things that only work at conferences, like just insinuating yourself
into lunch plans. Right. Um, and, and, and they don't, they don't realize that that's not an insinuation
that that's not a, you know, that's hard. That's hard advice to, for like new people.
Cause I remember at C++ now it was so easy. Cause I had lit, I'd seen like 200 talks at that point.
And it was like, you run into Marshall and I'm like, Oh my God, I've seen every single one of
your talks. My favorite one was this one where you were talking about the algorithms and blah,
blah, blah. And then he's like, Oh really? And then you find out that his wife's from Canada.
And anyway, it's so easy.
But like when I was at PLBI, I still was fine going around there.
Like I ran into Doug Greger and stuff.
But there's definitely like circles where people are talking about stuff that's just
like way over my head, you know, about like dependently typed, you know, Agda, you know,
or the new extensions to some textbook or paper.
And I'm just like, I can sort of walk into that circle and like nod my head, but it is
like, it is very intimidating, even for someone that's like, I'm pretty comfortable around
people like to go and like self it's yeah.
It's, it's very, uh, so this is the thing, like I, I, that same thing happened to me
when I was at, um, uh, at, uh, C++ now the very first year. Like I was at a table with like
Doug Greger, Dave Abraham, Sean Parent, Howard Hennant, and a couple of other like heavy hitters.
And it was me who had been writing code for that 24 months. Right. And I'm just like, I'm just like,
you know, I'm just eating and watching. And I'm like, this is amazing. I don't have anything to
contribute, but this is amazing. Right. And so I think that you can, even if you're, even if that's your situation,
that you can learn a lot from just being a fly on the wall in those conversations.
And lots of times you will have things to add and you won't realize it until you get there. So
I think that's fine. But I remember like the first couple of years I was in C++ now,
I was a little bit lonely because I didn't really know anybody. And I was like a little
too bashful to go insinuate myself into someone
else's lunch plans or whatever. So, but, but I think that there's,
there's nothing wrong with doing that.
And I think that people embrace it when you do it.
And the fact that people don't know that when they first attend, that's,
that's the thing I'm trying to overcome. Yeah. I think that would be nice.
Yeah. Anyway, it is true. I, I, I really got to run, unfortunately. Okay.
We are at the three hour mark. Yeah. It's been great though.
Thank you so much for coming on Zach thanks for coming on zach well and we will we'll have to have you back because i feel like
we didn't even talk about like half of the stuff like we didn't talk about cadence which i meant
to bring that up as well because it came up in chip wars cadence synopsis and one other company
anyways but we got we got boost libraries we got austin to talk about barbecue. We got Cadence to talk about.
Until next time. Sounds good.
See you guys later. Have a good one.
Bye. As always,
you can find links for any of the stuff that we talked about in today's episode
in the show notes, as well as a link
to a GitHub discussion for any
comments and questions you might have. Thanks for listening.
We hope you enjoyed and have a great day.