Algorithms + Data Structures = Programs - Episode 121: Stories & Chatting with Zach Laine! (Part 5)

Episode Date: March 17, 2023

In 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)
Starting point is 00:00:00 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
Starting point is 00:00:42 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
Starting point is 00:01:25 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?
Starting point is 00:01:53 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
Starting point is 00:02:25 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.
Starting point is 00:02:53 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.
Starting point is 00:03:08 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
Starting point is 00:03:29 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.
Starting point is 00:03:40 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.
Starting point is 00:03:47 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.
Starting point is 00:04:15 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
Starting point is 00:04:38 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.
Starting point is 00:05:10 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
Starting point is 00:05:29 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
Starting point is 00:05:37 the first conference I ever went to was the C++ Now 2019 okay and then there was a few for that year and then
Starting point is 00:05:44 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.
Starting point is 00:05:53 If you want to come to aspirants, it's a, I was invited, but, uh, I can't, I've got, um,
Starting point is 00:06:00 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,
Starting point is 00:06:13 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,
Starting point is 00:06:38 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.
Starting point is 00:07:15 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.
Starting point is 00:07:52 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,
Starting point is 00:08:21 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.
Starting point is 00:08:54 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.
Starting point is 00:09:27 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.
Starting point is 00:09:50 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.
Starting point is 00:10:13 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
Starting point is 00:10:35 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,
Starting point is 00:11:02 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
Starting point is 00:11:50 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.
Starting point is 00:12:06 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,
Starting point is 00:12:31 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.
Starting point is 00:13:02 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.
Starting point is 00:13:21 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.
Starting point is 00:14:09 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.
Starting point is 00:14:37 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.
Starting point is 00:15:07 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.
Starting point is 00:15:40 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
Starting point is 00:16:15 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
Starting point is 00:16:50 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,
Starting point is 00:17:20 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.
Starting point is 00:17:42 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.
Starting point is 00:18:11 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
Starting point is 00:18:29 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
Starting point is 00:19:10 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.
Starting point is 00:19:49 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
Starting point is 00:20:12 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
Starting point is 00:20:55 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,
Starting point is 00:21:14 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,
Starting point is 00:21:25 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.
Starting point is 00:21:54 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.
Starting point is 00:22:10 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.
Starting point is 00:22:36 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.
Starting point is 00:23:02 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.
Starting point is 00:23:37 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,
Starting point is 00:23:49 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.
Starting point is 00:24:21 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
Starting point is 00:25:05 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.
Starting point is 00:25:54 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.
Starting point is 00:26:32 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.
Starting point is 00:27:07 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.
Starting point is 00:27:57 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.
Starting point is 00:28:21 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.
Starting point is 00:28:49 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
Starting point is 00:29:18 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,
Starting point is 00:30:10 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
Starting point is 00:30:36 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
Starting point is 00:31:07 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
Starting point is 00:31:37 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,
Starting point is 00:32:20 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.
Starting point is 00:32:51 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.
Starting point is 00:33:27 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?
Starting point is 00:33:41 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.
Starting point is 00:34:14 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
Starting point is 00:34:45 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.
Starting point is 00:35:16 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.
Starting point is 00:35:38 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.
Starting point is 00:36:01 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.
Starting point is 00:36:17 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
Starting point is 00:36:38 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
Starting point is 00:37:20 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.
Starting point is 00:37:53 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
Starting point is 00:38:20 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,
Starting point is 00:38:59 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.
Starting point is 00:39:21 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,
Starting point is 00:39:54 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.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.