Algorithms + Data Structures = Programs - Episode 92: Special Guest Kate Gregory!

Episode Date: August 26, 2022

In this episode, Bryce and Conor interview Kate Gregory about her career history.Link to Episode 92 on WebsiteTwitterADSP: The PodcastConor HoekstraBryce Adelstein LelbachAbout the Guest:Kate Gregory ...is an author, sought-after conference speaker, trainer, Microsoft Most Valuable Professional (MVP), and partner at Gregory Consulting. Kate has been using C++ since before Microsoft had a C++ compiler. She is an early adopter of many software technologies and tools, and a well-connected member of the software development community.Kate is one of the founders of #include whose goal is a more welcoming and inclusive C++ community. She also serves on the board of directors of Cpp Toronto, a non-profit organization that provides an open, inclusive, and collaborative place where software developers can meet and discuss topics related to C++ software development.Show NotesDate Recorded: 2022-08-15Date Released: 2022-08-26Podcast AppearancesCppCastEpisode 30: Stop Teaching C (When Teaching C++)Episode 148: C++ SimplicityEpisode 238: Beautiful C++.NET Rocks!Episode 88: Kate Gregory on C+++, VB.NET, and VSTOOther .Net Rocks Episodes (search “Kate Gregory”)CoRecursiveEpisode 56: Memento Mori With Kate GregoryOther LinksC++Now 2019: Conor Hoekstra “Algorithm Intuition”CppCon 2015: Kate Gregory “Stop Teaching C”Keynote: “Am I A Good Programmer?” - Kate Gregory - CppNorth 2022Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code by Guy Davidson & Kate GregoryWATFOR — The University of Waterloo FORTRAN IV compilerWATFIVPluralSight - Kate GregoryNDC TechTown - Magazinet Kongsberg (29 Aug – 1 Sept)Intro 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 What which which which dialect of Fortran? Well, I had been taught what five obviously at Waterloo. Sorry, wait, pause what five? What's what? Well, what five is obviously what comes after what four which is short for Waterloo Fortran. It's pretty good. Oh, really? Yes. welcome to adsp the podcast episode 92 recorded on august 15th 2022 my name is connor today with my co-host bryce we interview the one and only kate gregory anyways today as promised we have the esteemed Kate Gregory. We are definitely going to talk about, do a little CPP North retro and maybe talk a little bit about carbon because obviously you're involved there. But in preparation for this podcast, I went back and listened to CPP Cast episode 30, which has a special place in my heart because it's basically... You prepared for this podcast?
Starting point is 00:01:07 Of course. Unlike you, Bryce, I prepare for these podcasts because I love these podcasts. And Kate has had a big influence on my career. Episode 30 of CppCast, I basically stole the title from my algorithm intuition talk that later on became like a trilogy from that episode when you were talking about algorithms and how we needed to have intuition for algorithms. And I wanted to see how much of an introduction they gave you because they read your bio. And then in that episode, you mentioned briefly that before you came to C++, you did a little bit of Fortran and PL1.
Starting point is 00:01:45 That's my sandwich. Okay, unimportant. Bryce, unimportant. I'm in the middle of making a point here. And Rob mentioned that basically part of the reason he started CppCast is from listening to you as a guest on.NET Rocks, which is a podcast actually that I had until today never listened to because I don't do anything in.NET Rocks, which is a podcast actually that I had until today never listened to because I don't do anything in.NET.
Starting point is 00:02:08 And I also like to go back and listen to all of the episodes of a podcast I listened to from like episode zero. And there's like thousands of.NET Rocks. Yeah, that's a no, yeah. Yeah. So like I can't really start listening because it would destroy like a year of my podcast listening. What I did though do is go back and what I found,
Starting point is 00:02:27 what I thought was the first one was you going on in 2008. But they were talking for like the first 20 minutes about threading and like two very specific timing libraries and like some.NET stack. And I was like, there's no way this is how they're introducing Kate. Sure enough, it was actually like your fifth appearance. And your first one was on November 8th, 2004. And that was sort of when they did an introduction of you. But it's still, it was not the story of Kate Gregory. And so now I've just rambled on for a bit. Anyone that sort of is in the C++ community and watches talks will know Kate. So she really, she needs no introduction.
Starting point is 00:03:03 I think you've been programming, it says in your bio, from 1979, which is like over 40 years now, which is like a full decade before either Bryce and I were born. So you're really making us look bad in terms of experience. You're a Microsoft MVP. Do you know how many years running you've been?
Starting point is 00:03:21 Because I think it's been year after year after year that you've been a MVP. What is a microsoft mvp so historically uh historically the mvps were people who were very active on compu surf i don't even know what that is what is you can look it up on wikipedia before was an internet, you could dial up to things and you could talk to people by topic area. And CompuServe was, I don't know, like pre-AOL was for the cognoscenti, I guess. And there were forums for Microsoft stuff like, I don't understand this error I'm getting from the compiler. And various volunteer people would answer these questions in addition to paid actual support workers. And Microsoft decided that if they threw a little
Starting point is 00:04:10 swag at those folks, they wouldn't need to hire so many support workers. It's very smart, very smart. So that was kind of the origin of the MVP program. And it used to just entirely be your online contributions, you know, like some forum or another. And once the internet comes along, you know, what's your stack overflow reputation or whatever. And then around the turn of the century, they're like, you know, there's other ways for people to contribute. And this person's written a whole bunch of books, and that probably counts. And so then I got to be an MVP, which was fun. And for decades, basically, you've been an mvp then yes so and it sounded if you
Starting point is 00:04:47 said 80s you've also not only have you been programming for over a decade longer than either bryce and i've been alive you've been an mvp for longer than we've been alive as well well no i don't think you're i don't think you're 18 connor um i see you said eight uh 18 years not 1980s i see yeah yeah um it was i think it was like early in the turn of the century, but I'm not at home. Or I would take you over to the bookshelf of showing off where I have all the- A bunch of awards.
Starting point is 00:05:15 Yeah, they send you stuff. They send me a lot of plexiglass. They're really into like little plexiglass cubes with things engraved in them. And the MVP program sends you you eight and a half by 11 certificate thingamies that you could put on the wall and the stack of them is like six inches thick because they send me one every year and i just put it in front of the one before wow well we will in a future recording uh have you record from home and then i don't know or
Starting point is 00:05:42 maybe we'll get you just to send us a photo at some point. I'll send you a picture of the bookshelf of showing off. But the point about being an MVP is that it's not necessarily Microsoft declaring that you're really smart or you're really knowledgeable. You actually have to be really generous. I mean, if you were generous and stupid and kept giving people bad advice, you probably wouldn't qualify, but it's people who just give information. They help other people. Conference talks and books count. So that's how I get it. But also, you know, answering a million questions on Stack Overflow, whatever. And getting rid of things that are
Starting point is 00:06:21 keeping people from using Microsoft products, which in my case would be Visual C++. So yeah, we will have links to, I mean, all of that info. And this is we have that's like just scratching the surface of Kate's bio. You also recently I mean, you've had Pluralsight courses from the past, but you've just released a new one. You recently published a book with Guy Davidson, which there was also a CPP cast episode about on top of that book yeah it's one of the few i mean bryce doesn't read a lot of books and it's one of the few books that bryce has read and has positive things to say about although i haven't heard you say bad things about other books but it's one of the few books that i can recommend yes there there are a lot of very bad c++ books like well it's the reason it's one of the few books that i can recommend is because it's a book that's
Starting point is 00:07:05 a collection of like like the chapters are like you know concrete recommendations so it's in some ways like a collection of guidance of specific concrete guidance sort of like effective c++ yes um and uh that i think is something that like is useful to me i'm not somebody that's going to sit down and read like a a programming book normally but something like that that that that style that format like I can I can respect that and that's also something that like I would go and take concrete lessons from that perhaps we chose 30 that we thought would be really applicable to the most people, the most immediately usable. Some of the guidelines are barely guidelines. They're like, try to write readable code.
Starting point is 00:08:04 Okay. It's not what you'd call precise, right? And some of them only apply to certain people or only in certain circumstances or what have you. But we sort of went through and found some that we thought were immediately useful. And then their secondary purpose is the whole thing is kind of an ad for the guidelines. Like if you find these 30 are good now that someone sat you down and walked you through them in a lot more detail than what you get online. Maybe you'll be prepared to trust some of the other couple of hundred as well. You know, they're not explained quite the same way, but they are still good advice. We will leave links to the book to all of some. Kate's been on CBP cast three times from episode 30.
Starting point is 00:08:37 I wrote them down to 148 to 238. I think you were on.net rocks like 10 or 11 times from what I could count. And that's just those two podcasts. You've had a prolific career of being interviewed on different podcasts. I will compile a list of all that I can get my hands on. I can't say I've listened to all of them. I've listened to all the CPPcast ones. Your interview on co-recursive as well, slightly a different tone than like super technical,
Starting point is 00:09:03 but an amazing listen that everyone, even feel free to pause this episode and go listen to that one right now and then come back when you're done because that one's fantastic as well um but i think to start before we get to talking about you know maybe we'll talk about your pluralsight course a little bit later and cpp north and carbon let's go back let's tell and i'm not sure maybe you can even um refer listeners to an interview that I have yet to listen to on a different podcast where you tell some of, and maybe the co-recursive is a little bit of that as well, but let's go back to all the way either before Waterloo, which is where I happen to know, I think you went to study. And I had very
Starting point is 00:09:42 fun when I was listening to the first time you were on.NET Rocks, which I think was episode 88 in 2004. You actually mentioned APL. You probably have zero recollection of that. But I always love, even if it's just a short mention, and I'll let listeners go and discover what you said about it. It was just a small mention. And I think at Waterloo, that was probably how you were exposed to it
Starting point is 00:10:03 because I do know that at some point they were teaching that. But yeah, tell us how the story, you know, the brief history of Kate Gregory and how you, you know, got into computing. And then, you know, the brief summary of your 40 year, which is probably going to be hard to summarize into, you know. In five minutes. Yeah, that is a challenge. You can have 30 if you want. I did go to Waterloo and I went, originally I was in the faculty of mathematics, which is where they teach computer science. And I was in a brand new program they just made, which was computer science with an engineering
Starting point is 00:10:33 minor. So I was minoring in chem-eng. And the program wasn't put together right. The classes you had to take from chemistry or from engineering conflicted with courses you had to take from math. Like, they just hadn't thought it through. So it was very, very difficult, big struggle for me. And I did that for a year.
Starting point is 00:10:51 And there was other things in my life that were difficult at the time. And I'm like, I don't want to be in this program anymore. So I transferred into engineering. And I ended up graduating from chemical engineering. So I just had a year and a bit of officially computer science-y stuff. But I met all these people in the Faculty of Mathematics who were dear friends of mine, one of whom I ended up marrying. And so I sort of stayed connected into that world while I was taking engineering. And Waterloo is co-op, for those who don't know. And engineering is 100% co-op. So you go to school
Starting point is 00:11:21 for four months, then you work for four months, then you go to school for four months, then you work for four months. And at work, they teach you stuff like, oh, we need someone who can do this and who can do that. And so at some point, somebody taught me how to program in Fortran. Literally, some of the programs I worked on were in cards. Which dialect of Fortran? Well, I had been taught What5, obviously, at Waterloo. Sorry, wait, pause. What Five? What's What Five? Well, What Five is obviously what comes after What Four, which is short for Waterloo Fortran.
Starting point is 00:11:49 It's pretty good. Oh, really? Yes. I'm going to have to dig some links up for that. What Five is what comes after What Four, which is Waterloo Fortran. So is that W-A-T-F-O-R? Yes. Yes.
Starting point is 00:12:02 And then there was what5 and then there was what5s, which was structured. Right? So that you're you had the ends of ifs and you had loops and things rather than just all go-tos. It's a big deal. I just get interview questions. Explain what makes a program structured. Really?
Starting point is 00:12:20 I had never heard of this before. I mean, obviously I heard of Fortran, but not that Waterloo had their own variants of it. Yeah. So at some point I learned Fortran along the way, like partly at school and partly on work terms. And by the time I got to third or fourth year in engineering, they just assumed that somebody knew how to program. So they'd like, here's a group assignment. You need to take these measurements, write this program, draw this graph, blah, blah, blah, divide it up amongst yourselves.
Starting point is 00:12:43 And I was always the only one who knew how program so i did all the programming and then i started ending up doing it on work terms and um and then it was sort of most of what i was doing was programming which is fine i was good at it what is that like back like because that's pre-internet right so there's no like my concept so how did how did you how did you google no no there's no google answers that's what i'm saying my concept of programming and like learning things doesn't exist it's not possible back then so what is it just reading texts and going to the library? It's a lot of books. Yeah, it's like multiple books open on your desk at once. It's talking to other humans in the building. It's, I think there was some CompuServe action.
Starting point is 00:13:33 I can't remember exactly when CompuServe started. Someone's going to have to go on Wikipedia and look it up. But that idea of reaching out to strangers, we know was super, super impressive the moment it started. And there was, there was Usenet newsgroups. I remember that, um, whole pile of, uh, computing related, uh, newsgroups. And stuff just took a lot longer, you know, cause you didn't know how to do it. So, you know, you keep trying until it would finally work kind of thing. Yeah. And then after I'd been working for two years, I'd always intended to go back to grad school and be a prof.
Starting point is 00:14:11 Both my parents are profs. I figured that would be a good thing to do. And there was a downturn in the industry and they wanted to, they didn't want to lay people off. I was working at Time for Imperial Oil, which is SO in Canada. And they'd never laid anybody off ever. And they didn't want to start. So they bribed you with money to go away on your own volition. Oh, what do they call that?
Starting point is 00:14:32 They call buyouts? I can't remember. Yeah. So they offered me, I forget if it was three or four months gross salary. So if you think about how long it would take you to save three or four months of your gross, it's a lot of money. And what's more, it could go into a retirement savings plan because it was considered a retirement allowance. And I didn't have to pay taxes on it.
Starting point is 00:14:55 So I did that. And I went to do a master's at U of T. And I was modeling the way your blood coagulates. And they said, this is a really juicy program problem that you've got here. And we think it's actually more of a PhD problem. So why don't you just switch to this joint master's PhD program, which was considered to be a feather in my cap to qualify for. So I did that small pause while i had my first kid and uh and then i got my phd from from modeling blood coagulation which was fun but i learned that i did not want to be a prof because uh my parents were profs in the late 60s and the 70s and uh in the 90s uh the life they
Starting point is 00:15:40 had lived was not on offer to profs it's all publisher parish and uh i didn't want that what did your uh just out of curiosity because i think you are now the second guest that had two parents as professors dave abrahams if i'm not mistaken when he was on had two different um or had two parents obviously that were both professors what did your parents teach was it is that what sort of led you down the mathematical engineering? Yeah, they started out in physics. And my mom ended up in material science. She learned an awful lot about electron microscopy and stuff like that.
Starting point is 00:16:16 And she ended up in material science and then at Spar Aerospace eventually. That's where she retired from. And my dad was an electrical engineer, and he was one of the early profs at the University of Waterloo, which is why I was going there, because I was only 16 in first year, so I wasn't allowed to go anywhere weird or far away. 16? Yeah. Wow. Does that mean you skipped a year? Because 17 is usually the youngest.
Starting point is 00:16:38 Yeah, so... Like if you do things normally. I started in England, so I should have been a little bit younger. And then, I don't know, there was just some sort of bullying on my parents' part to get me into the highest possible grade. So I do remember I was eight and they were trying to get me to go into grade five. And in some sort of flourish that would prove I didn't belong in grade five, someone pulled out a grade five book and started asking me questions out of the back of it. It was a math book and I aced them all and they went, okay, fine. Even if it had been a
Starting point is 00:17:10 history or geography or, I don't know, sewing book or something, they would have probably, you know, put me back into kindergarten, but they decided it was brilliant because I could answer their math questions. Wow. Yeah. So, but, you know, I had this image of a prof sort of working at home a lot of the time and making your own hours and traveling all over the world to conferences and solving important problems and teaching people. And none of that is actually what you do the first 10 or so years after you earn your Ph.D. But what you just described is exactly what you do now. Exactly. Exactly. I just like, fine, I'm not going to have that label, but I'm going to have, you know, that life. And that is pretty much what I've what I've managed to get to. So it's fun. And so when you decided at that point, after you finished your PhD,
Starting point is 00:18:00 and you didn't want to be a prof, was it straight back to writing 4chan programs? Or how do you get from there to being, you know, a C++ uber professional and giving talks and international keynotes and whatnot? So I did actually learn C++ during the PhD. I needed to do some numerical solving of multiple partial differential equations that represented the blood coagulation stuff. And what I was trying to do was beyond
Starting point is 00:18:24 what MATLAB and Maple could do. So I had to write some stuff on my own. equations that represented the blood coagulation stuff. And what I was trying to do was beyond what MATLAB and Maple could do. So I had to write some stuff on my own. And C++ was a better choice, you know, than the other languages that were available to me. So I learned it. And I wrote some stuff, which wasn't bad. And one of my examiners could even read C++. The one who asked for the code couldn't, but the other one could and told me that it was good. And then we had started a consulting firm while I was a student to supplement grad student money, which is quite in need of supplement, let's say that. Yes. To say you get paid while doing your graduate studies is technically true. To say you get paid a living wage is a whole other.
Starting point is 00:19:09 A whole other problem, yes. So we were doing some bits and pieces of contract programming in whatever languages people wanted some stuff done in. And then when I graduated, I thought, well, I'll just keep doing that. So we had some programming contracts and some training contracts. It's interesting that you were allowed to do that because at least at the school that I went to and worked at, LSU, the graduate students were not allowed to work anywhere else. Yes. So there was some rules about how many hours you could work and including as a TA or whatever. And they would really prefer that you put all your time and effort into TA. And the part that I found interesting was when they told me that, you know, on paper, the reason is they don't want to like a work year. They want you to focus on your studies.
Starting point is 00:20:14 But the sort of the other explanation I got was, well, they want to motivate you to graduate as quickly as possible because it's good for the school if students finish quickly. Or not quickly, but it's good for the school if graduate students finish on time. And so if you're living a cushy life, you might drag on your PhD a little bit. No, they want you to be motivated, itching to get out of there. Yes, yeah, for sure. I had better motivation than that, which is that I had one child while I was doing my program, but I was pretty sure I couldn't have two. So during my final dissertation, I like to tell people this, I had a prenatal vitamin in my pocket. And I would like put my hand in my pocket and feel this prenatal vitamin in my pocket and go like. That's motivation.
Starting point is 00:20:55 Exactly. I'm going to pass this thing and get out of here and have another kid. Wow, that's great. That's awesome. How to motivate yourself to get done. So I wasn't crazy enough to conceive before my final defense, but I was taking them for three months getting ready to. It was good to be connected to a bigger part of the world than just what was going on in that one little room. Wow. And then so is that consulting firm that you started the consulting firm that you have to today basically yes wow so it's been smaller and it's been bigger i think i think we peaked at 11 people um which is actually probably a really awkward size probably we decided to get
Starting point is 00:21:37 smaller rather than trying to get up on to something like 50 where someone else could do the practice management um Because I found that with that many people, I spent a lot of time managing people, which I'm not super great at, selling, managing clients, talking to clients, because if you let developers talk to clients, that doesn't go well. You go like, I know how I'll have more time. I'll just let the developers talk to the clients and I'll just cash the checks. That does not. Yeah. Business analysts is a role for a reason.
Starting point is 00:22:11 They perform a crucial role in the communicating between end users and not that they're not all developers. We shouldn't paint with a single brush. There are many folks I'm sure that are great at interfacing, but know, we shouldn't paint with a single brush. There are many folks, I'm sure that are great, you know, at interfacing, but definitely, yes, there are different folks with different strengths, let's say. Right. Well, a lot of my issue was my people were very generous. So, so people would say, well, I love it, but you know, could this button be blue, which obviously that button can be blue. That's no big deal. And then they'd say,
Starting point is 00:22:42 it'd be super cool if there was another column here that showed the something or another date. And you know, I should be able to sort, shouldn't I be able to sort by all of these? I don't think, I don't know if I put it in the spec, but I really think like we should be able to sort by all of these. And my people, you know, they wanted to help. They wanted to solve the problem. They wanted to create wonderful, useful software. So they would do all those things. And eventually, you know, we had to say, we're just going to do what we said we would do. And then if they want us to do more things now that they've seen it, then we can charge them for that. I think this is a common problem across the industry that folks who are purely on the engineering side often think solely about the solution that makes the most technical sense. Yeah. Not necessarily about the thing that makes
Starting point is 00:23:35 the most business sense. Well, and in fact, when I finally said like, you know, we have to stop doing stuff we didn't agree to do, I expected the clients to be mad. And I thought, my cost is repeat business. Repeat business is really important. But do I really want a repeat of someone who, you know, the thing dragged on for three months or six months or whatever, doing more free stuff? And what really shocked me was the clients were happier. Yes. So when they would ask for stuff they'd never asked for before and the developer would go, oh, sorry, I should have thought of that. Man, that's terrible. I'm sorry. I'll get it to you as quick as I can. And they'd be like, you know, it takes months to get what you asked for. It's
Starting point is 00:24:14 like pulling teeth, blah, blah. And then once we started saying like, hey, this is what you asked for. If you want an expansion, it's not going to be a lot of work. Let's estimate it for you. We'll do it. They'd be like, oh, I'm getting wonderful service. I got everything I asked for right away. I didn't have to ask twice. So the clients were actually happier while we were making more money. And my people, instead of apologizing, were saying that they had done a good job and that they had done what they had asked for and that they were proud of what they'd done.
Starting point is 00:24:40 And all of that is all good for everyone. Yeah. what they've done and all of that is all good for everyone so yeah i think most uh most project overruns in tech are caused by a lack of a of a clear exit criterion yeah yeah you know you have to you have to know when to say like this is what we plan to do like we've done it like we we may have learned some things while we were doing it but like the original work is done now we can start planning phase two right we can have a phase two we can have a follow-on we can have a sequel whatever but like this part this part's good now yeah yeah we're getting to i mean we're probably gonna uh our listeners know this but uh
Starting point is 00:25:21 we're probably gonna chop this up into two or three different episodes so this will probably be rounding out the it's got to be three okay it'll be three executive producer bryce says i am in i leave for scotland on friday and then i get back september 9th so we need to stretch this out to let you have more time in the heather. Yeah. All right. So three episodes. This one will round out the introduction to, I mean, probably if you've listened to every episode of, or not episode, but podcast appearance, you might be able to piece together everything that was said here. But hopefully there's some nugget that we got out.
Starting point is 00:26:00 Is there anything you want to round out this sort of over the last, since you've been consulting? I mean, you've gone from speaker to international keynoter, um, to author to Pluralsight course producer. So I don't even know how to describe like what you've evolved. You're just, and also too, I think when we were trying to estimate, that's actually, we should bring that up to see how well the, um, Chandler keynote is done. We were trying to estimate that's actually, we should bring that up to see how well the, um, Chandler keynote is done. We were trying to estimate like, what can we expect for how many views, like when we're estimating on sponsors, you know, what to tell them. And it's like, well, for a first time conference, it's kind of hard, uh, to estimate. But so I went through a few, you know, Chandler and you and like your top talks, like average, like 150,000. So like
Starting point is 00:26:44 you are very, very like when Kate gives a talk everyone goes and listens whether it's at the conference or after it's been uploaded on YouTube and I'll definitely throw links to some of them I mean everyone know or I would assume most people know the stop teaching C that's probably one of the most that's the big one the most views I would say yeah yeah because it's got kind of a clickbaity title because a lot of people think, oh, no, she's going to dunk on C when that's really not what the talk is about. No, no. The more accurate but less dramatic title is Stop Teaching C When You're Teaching C++. Right.
Starting point is 00:27:18 Right. Like if you want to learn C, that's fine. It's a good language. It's its own language and there's nothing wrong with it whatsoever. But if you're there to learn C++, like day one being, here's a quick review of C, you know, and day two being, we'll just wrap up our review of C. And then maybe on day three, actually finally get to some C++. What's the point of that? So that's that talk in a nutshell. Thanks for listening. Before we close out, one last announcement. This came up towards the end of our two-hour recording with Kate, and that is that she is going to be in Kongsberg, Norway,
Starting point is 00:27:51 for the NDC Tech Town that is taking place from the 29th of August to September 1st. So if you're listening to this either on the day that this drops, August 26th, or in the couple days leading up to that, you still might be able to register if you are in the area and able to travel there. So 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.