Memento Mori

Preparing our minds for the inevitable – death is hard. After facing terminal cancer, Kate Gregory reminded herself that this event can still become inspiring by focusing on the positive.

In this episode,  Kate is going to share her success and explain how you could apply her 5 pieces of advice to your career as a software developer to help you to build a remarkable life for yourself.

“One of the great ways to get a lot done is to do a lot.” –Kate Gregory

“They’re like forces of nature, the things that are just happening, it’s up to you to notice them or not. If you notice the good ones you have a better day. If you sit around noticing all the bad ones, you have a crummy day.” –Kate Gregory

“If the constraints are imaginary, you don’t have to respect them if, especially if you’re the one who made them up, if the constraints are real, then you do respect them.” –Kate Gregory


Note:  This podcast is designed to be heard. If you are able, we strongly encourage you to listen to the audio, which includes emphasis that’s not on the page. This is a machine-translated transcript and may have errors, you can help correct them.  Podcast page for this episode is here


Adam: Yeah, let’s see. I have the checklist and I didn’t even do a good job here.

Kate: Press record. It’s one of the big ones.

Adam: All right. Can you state your name and what you do?

Kate: My name is Kate Gregory and I have a little consulting company and we do various things for people needing help, usually C++. 

Adam: Hello and welcome to CoRecursive. I’m Adam Gordon Bell. Kate, I think is underselling herself there. She’s more like a famous C++ guru. 

Kate: Nobody wants to be a commodity — cog in a wheel. I have a very particular set of skills as they say and not everybody needs them and that’s fine, but if you need what I can do, then we’re going to talk.

Adam: Kate usually goes on podcasts or to conferences to talk about C++ standards or resource acquisition mistakes, or various minutia of C++. I don’t really know, I don’t really understand modern C++. I took a class in C++ once and I did fairly well, but I remember thinking like, this is really complicated and I hope I never hear about deconstructors again. 

Anyways, today she’s going to share some high-level advice. For most of her career giving advice like this would make her kind of nervous.  

Kate: Yes, I don’t have any numbers. I don’t have any research. And maybe everyone knows this. And I’m just, wasting their time saying, if you wear shoes, they protect your feet from sharp stones. Yeah. So it does take a little bravery to say, I think I got something off or here that the people would like.

Adam: Kate is not wasting our time today. I promise you that, but I get why she has that fear that if she’s not talking about like the minutia of the new module system and C ++, or how to code routines are going to work or whatever. That’s there’s less value in that. I don’t think that’s the case though. The source of her bravery, today is sadly not a pleasant one. 

Kate: I was sick. I was really sick and for a long time, I didn’t realize how sick I was. And, by the time we figured it out, they told me I had stage four melanoma. And so the surgeon had nothing to do because there was, there were tumors all through my lungs and all through my liver in two different places in my spine. So surgery doesn’t work for that. Radiation doesn’t work for that chemo doesn’t work for melanoma. So chemo wasn’t a choice. And I told my family not to Google it. Because it’s awful, it’s like a 5% survival. It’s really awful. 

Parting Tips For My Children

Kate: One of the things I was doing, when I was deteriorating was I was writing down everything I could think of. And I was writing down advice for the kids. I mean they were young adults, and I hadn’t told them everything on. I started writing it down.

Adam: So today Kate is going to share with us some of the things that she wrote down. And she was facing her terminal diagnosis. I’m not Barbara Walters, I don’t really have the skillset for interviewing somebody about facing terminal cancer. But, Kate’s going to make it pretty easy. She has five pieces of advice, each one as a pithy catchphrase. And then she’s going to explain how you would apply that advice to your career as a software developer. And I think her advice all combined together will help you to build a remarkable career for yourself, which I think Kate has definitely done. We start with our first piece of advice which is, use the scented soaps.  

Use The Scented Soaps

Adam: If I have this right, when you got cancer, you were really mad about scented soaps.

Kate: This is true, people give you soaps, right? And I like, scented soaps and bubble bath and all those things. Everybody I think does. But if you have a brand new unopened scented soap and there’s an open bar of regular soap, you don’t open the scented soap, you got to use up the regular soap. Okay, and there was never a good time to open it. So I was always just using regular soap while they were like five bars of scented soap in my drawer. And then, so that one day that was like, I’m never gonna use this soap. That I’ve been saving for a better time. And then, I realized that there’s no like, soap police to come to your house. If you have two bars of soap open at once and say, what are you doing using the grapefruit when there’s perfectly good ivory right there. So I opened the soap, and it was a little thing, but it was a nice thing. Every time I washed my hands, it was a nice smell and a little joy on a tough day.

And I thought there’s a lot of things in this world that there’s no good reason why you’re not doing them. People say, “Oh man, I wish I had a blog”. Like, you go to this website and you click here, here, here, and here and you have a blog, like there’s no, again, there’s no test. There are no log authorities who say, well, your topic isn’t serious enough. Or your entries are too long or whatever the complaint might be like if you want to have a blog, have a blog. And, there’s a lot of things like that where we just don’t let ourselves do things and wander around wishing we could do them, for no good reason. So I wanted to tell people, use the scented soap,   

Adam: Outside of the washing your hands, like, what else did you feel constrained by? Is there professional constraints that were pretend.

Kate: Certainly I have in the past, felt like I can’t have a blog or I can’t submit to that conference or I can’t go learn this other thing. Why not? If there are only so many hours in a day and you can deliberately choose and say, I would rather spend my evenings with my family, or I’d rather spend my weekends working on my house. That’s cool. But if you really, really want to do a thing, you don’t need anybody’s permission, to learn most things, to try most things.

There are lots of conference talks you can watch or online material you can consume. So decide that you’re a doctor. Right? But you can decide that you’re a Ruby programmer if that’s important to you. So why not? Why not start doing the things that it’s making if it’s upsetting you that you’re not doing it. If it isn’t like, if you hate scented soap and you wish no one ever gave you any, throw it all out and stop calling it an obligation. That’s,  I also threw a lot of stuff out there. I was like, I’m never using this. I don’t know why I kept it. And I was throwing it out to someone else. Wouldn’t have to send paper. This meant a lot to mum. She’s kept it for 20 years. I threw it out and so same thing like if it, if you don’t know how to, I don’t know, be a C ++ programmer and you think I’m never gonna, that’s fine too. But don’t carry around the wish that you could do a thing that no one is actually stopping you from doing, make a choice.

Breathe Under Water

Adam: Alright. So the first piece of advice, use the scented soaps. Don’t be constrained by constraints that don’t actually exist. The second tip/life lesson learned to breathe underwater.  

Kate: You can’t breathe underwater. I’m not superhuman at all, but if you breathe out underwater, which you probably know if you took swimming lessons when you were five, but I didn’t, if you breathe out underwater, then you only have to live your head, lift your head up out of the water long enough to get air in. And so that minimizes, the amount of time you have to hold your head up out of the water. This saves you from having a sore neck, but I mean, also metaphorically, you get the maximum value out of a little window when you’re able to do a thing.

Adam: It ties into your constraints. Like maybe I can’t record a video on the plane, but I can write on the plane. Yeah, exactly.

Kate: Some lesser thing. It’s not your top priority but it’s a thing that needs to be done. And if you do it now, then when you have your clear time, you’ll be able to work on your top priority. 

Adam: Like, I assume, cause this is a lesson that this is something that you struggled with. 

Kate: I think of an awful lot of conversations were conversations that should have happened, that took literally days extra to happen. Because I had enough because I had an opportunity that I let go by and then the window closed unexpectedly or say get stuck on a phone call or something else happens. And the situation gets worse because you let it get worse. And then, so now you really don’t want to have the conversation and all of those things, but the problem doesn’t go away. Right? So I would say probably 30 some years ago when I had a baby to worry about sleeping, that’s when I learned this and, and it’s stood me in good stead ever since.

So when I think about 30 plus years younger, me, that person missed a lot of opportunities because while I’ll do it in an hour and in an hour, you, the conditions may not be there for you to do it. So do it while you can.

Adam: Another way to frame this piece of advice is to sleep while the baby’s asleep, which is some advice that Kate wrote down to share with her daughter. 

Kate: There are certain things you can only do at a certain time. So sleeping, if there are no other adults in your house and there’s a small baby in your house, you can only do it if the baby is asleep. Other things are more difficult with the baby, but they’re not impossible. And sleeping is impossible. You either need another adult or the baby needs to be asleep. And so if the baby goes to sleep, drop everything, go to sleep, you can do all that other stuff. Don’t waste a whole nap, like catching up on Twitter. That’s very foolish. 

Focus on the Positive

Adam: Nice. Let’s see. What is the next, what’s the next of your chips? Focus on the positive?

Kate: Yes, this one, I think I learned more on a professional level before I learned it personally,  just some people complain a lot and, and think that life is unfair and stacked against them. And some people are happier and they seem to have the same situations, you know? And so it started for me with things like, well, you can choose who to go to lunch with. You can choose who to walk down for coffee with. And if you’re going to walk down for coffee with someone who the whole way down is going to be like, “oh, I can’t believe this project. These people are morons. They don’t know what they want. We shouldn’t even be doing this for them. They don’t deserve our time.” It doesn’t have as good a, a coffee break. Cause if you walk down with someone who’s like, I’m glad we finally got them to understand what we need for this. And we can make some progress now and have a happier day.

Adam: So, I mean, some people enjoy the process of reflecting on how other people are morons though. 

Kate: They do. And it’s like, you’re welcome to do, you get a whole internet for that? 

Celebrate Life

Adam: What is focused on the positive mean to you?

Kate: Even on a really horrible day, little things happen you fix a bug. Your code compiled, you get an email that says, yes, you’re right. You get an email that says, thank you. Remember to send an email that says, “thank you”. Like there’s, there’s probably 50 nice things. Even on a really awful day, there were five or six nice things, even in a day when I was lying in a hospital that, nice things happen whether you notice them or not. And a lot of them, they don’t change like the sunset is no different. Whether one person is looking at it or a million or none, it’s still just doing its thing. And the case with most of these nice things. Like if someone sends you an email that says you were right and you just sort of angrily saying, well, of course, it took you long enough, to yourself, but don’t answer them like that has no impact on them at all.

Right. It’s only on your, on you, but if you just kind of stopped for a minute and go, “yeah, that’s me. I’m right. I knew it”. That can take you a long way. And so I just look for things like that are, they’re like forces of nature, the things that are just happening, it’s up to you to notice them or not. If you notice the good ones you have a better day. If you sit around noticing all the bad ones, you have a crummy day.

Adam: Yeah, I like the sentiment. I think like sometimes I have to give myself a mental, like Woohoo. And sometimes it’s like an air punch or something if it’s like, yeah. It can be for something stupid but yeah like something wasn’t working and I figured out what the problem was. It’s just like, yes, like you gotta.

Kate: Just like, like 30 seconds of, I am not completely incompetent. I actually do know how to do some of this and, and that’s good. I’m doing, I’m doing stuff I’m good at. So that’s nice because you can’t miss the parts where you’re not doing it well,  you make stupid, stupid mistakes and, and you’ll waste an hour on something that. Any beginner would’ve seen you, you don’t forget those in a hurry. They’ll stick with you. So focusing on the good ones too, kind of balances it out.

Adam: It helps that I work here though. Maybe it makes it worse, but if I jump up in the air and like, get excited about something, nobody notices. Right?

Kate: Yeah. That’s, that’s the work from the home trick. You can actually get up and like do a happy, complete, happy dance if you want,

Adam: Yeah. At work, in the office, people would have to ask me what, and I’d have to admit that it was just some missing semi-colon or something that I found.  

Kate: Exactly Right.

These Are The Good Old Days

Adam: To say, focus on the positive, celebrate your wins. It can sound a little trite. That doesn’t mean it’s not true, but another way Kate says to think about this tip is to recognize that these might be the good old days.   

Kate: So it’s a line from a song, maybe Carly Simon? I can’t be sure, but whatever you’re living right now is a time that you or someone else will look back on and say, “Oh man, remember that? The negative version of it is you never know when you’re living in a golden age”. I joined the conference speaker circuit at a time when money was. Just flowing like wine when had fly places to do like a one hour talk and of course, it will send you a business class. No problem. Do you like to stay an extra four days so you can, enjoy some sightseeing, we’ll take care of it all and literally, people’s assistants were, were also being flown with them. And I had all these friends who I only saw if we both got on planes, it was fantastic. It didn’t last, that the tech wreck came along on the conference budgets and marketing budgets went down dramatically, but it sure was fun. And there you don’t know what it is about right now that you’ll look back on. Even this crazy pandemic work from home locked down thing. There’s a lot of negatives, but I bet you have five, 10, 20 years from now. They’ll be someone going, “Oh man, remember 2020?” And they’ll be positive about maybe something that you don’t even know what it is yet, but this is someone’s good old days.

Adam: No. Very true. Yeah. You never think of it at the time. It’s always like, in retrospect, you’re like, “Oh, that was good, that was a good experience”. Probably like, I don’t know that you’ve probably had frustrations in the heyday of conference speaking. Like you probably didn’t look at it as this is the. The golden times of speaking.

Kate: No, we didn’t. It would be, we’d be in a restaurant somewhere and just, I don’t know, be complaining that it was crowded and noisy instead of going, can you believe we’re all in Barcelona? Like this is so nice.

Build a Support System

Adam: All right. So remember that these might be the good old days. The next tip that Kate has for us is to build yourself a support system and use it. 

Kate: Especially in programming and especially in C++ programming, we’re kind of an old community. We have this kind of robot persona, we don’t do feelings. We don’t need help. We’re all, I don’t know, like, not just tough guys, but like, Clint Eastwood in a cowboy movie, tough guy, and we don’t need people and we don’t need friends and we don’t need cheerleaders. That’s not sense. Right? Like we’re people we’re technical people. We know stuff we love to show off and we love to help. And that’s the truth about everybody technically. So if you have a technical problem, you don’t have to lock yourself in a room for 12 hours until you solve it. You may be embarrassed to ask a coworker, but if you give the coworker that gift of asking them, and then they help you in 30 seconds like they feel fantastic. They’re having their punch the air moment. Like, I got asked and I knew, and meanwhile, you’ve saved all those hours of time and you’re productive and amazing. Yeah. You hit your deadlines and all the things that bosses care about and if it’s just too awful to give that gift to a coworker, then you can ask on stack overflow, or you can join a specialized Slack or discord.

Adam: Yeah. Do you, personally feel like you’re afraid to like reach out to people for support as a professional developer?

Kate: No, I’ve asked questions on stack overflow, especially if it’s something that it’s not my thing, it’d be difficult for me to ask a C++ question. I actually wrote a course on stack overflow when I set up a second account with almost no reputation so that I could record the process of asking a question. And I asked a C++ question and like 50 people commented. Kate Gregory would never ask this question. They’re generally like report the imposter. It was quite funny. But I’ll, but I’ll ask, like, when I started using discord, the default emojis were all nasty. They’re all like poop and vomit, and just dead face and all that. And like I’m on discord and I’m all hearts and cake and, sunshine, literally fireworks, parties. And I wanted all this yuck out of my face. ‘Cause this is what I mean about focusing on the positive, right? If every time you type a colon, you get offered poop and dead face that’s not a nice moment in your day. And so I asked on, I think superuser and someone told me that it’s an electron app hit F12 at the JSON, which I could do and tile, all the gross stuff is gone and then, the question has got a lot of users. A lot of people want to do that. So I will absolutely ask for support. If I have a tricky C++ question. Yeah. I’ll come to include because I know that no one is gonna mock me for not knowing. 

Stack Overflow

Adam: Yeah. I feel like, I guess Stack Overflow is working to get better. I found like it’s a, it’s a harsh environment. Especially if you have a new account and you like to ask something and then…

Kate: So it is first of all, harsh. Someone asks a question and they got all this ramble-y stuff like it’s an internet recipe. “I remember the first time I visited my aunt in France and we were trying to compile a simple program”. And so you delete all that and you just like, here’s the actual question.

And people are like, who did that? Well, especially if they say thanks, the culture of stack overflow is no high. No, thanks. No, I would really appreciate rip it all out. I feel like you made me a robot and that again, we’re back to that program or culture thing. So there’s a lot of things that stack overflow is deliberately being mean. They want you to feel hurt and they want to hurt your feelings.

Then there’s another whole category of things where they don’t think they’re being mean. But they’re hurting your feelings anyways. And so yeah, it can add up to a tough place. 

Adam: Yeah. I mean, it makes me think of what you were saying about like the curmudgeon C++ developer stereotype, right? It’s like, Don’t say hi like this is a permanent document. Nobody wants to see your “hi” in the future, right? 

Working on Inclusivity

Adam: So stack overflow is maybe not the support system that you want. One way, Kate. Look to build a support system for herself is her involvement in the include CPP community, which is a global, inclusive, diverse community for developers interested in C++. After she got rid of some of her clients because of her diagnosis, it freed up some of your time to dedicate to this community and other clients.

Kate: To be fair, I hadn’t fired them I had just told them I can’t work on your stuff for at least six months. And maybe never if I die. So you should really find someone who can work on your stuff. So I had more free time and that let me kind of throw myself into it. And then we had a very virtuous cycle where as soon as anybody heard about us, they’re like, “yeah, that’s a great idea C ++ has this problem and I’d like to fix it. I’m not like that. I’m not the curmudgeon in the corner.”  

Adam: The people who join include CBP, they primarily hang out on a discord channel, chatting with each other.  

Kate: So for example, someone asks a question and they can be confident, they won’t be called names or told they should have Googled it or there’s a nice atmosphere and there’s a lot of moderators behind that nice atmosphere that makes sure of it but yeah, most of the people who joined the server, they’re not trying to make C++ community any different than it is. They’ve just happy to have found a nice corner of it. And that’s great we made a thing, the group does other things as well, that I’m really proud of. We send people to conferences if you’ve never been to a technical conference in your field, of changing, especially if there are some folks to take you under their wing, make sure you get a ticket to the speaker dinner, introduce you to.

“Oh, I don’t know the guy who invented the language”,  little things like that. And, we’re up, above two dozen now, people who we’ve covered their travel, their hotel, their conference admission is usually donated by the conference we fundraise for the rest and we send them to a conference and give them a huge career boost.

Adam: Oh, that’s awesome like you must have recognized the problem or something to create this.

Kate: Well, the problem has been around forever we have young people really, truly, but many of them are learning from that curmudgeon at the next desk. So we have, a culture that is noticeably different from some other languages cultures. And it’s a shame. It’s not a great culture. It doesn’t bring out the best in the people who are in it some of it is that culture of like,  we don’t show emotions, we don’t get happy, we don’t get mad. we don’t trust each other we are objective and It’s all about the code, which is like just not true. But some of it is about a culture of where would you choose? If when you’re angry at the compiler, you, you call it increasingly rude versions of woman. The woman next to you does not really enjoy that moment very much. Right? If your swear words are all about rude words for gay men, the closeted gay man next to you is never going to a closet around you and we pass all that on, the 20-year-old with green hair in the corner is learning how we express ourselves in this group. And, sometimes it’s really completely blatant. I mean, I’ve watched any number of twenty-something earnest men. Tell me why women don’t like programming. Just, they just don’t like it. And I’m like, really? That’s a fascinating observation based on your many years of being a woman and knowing what we like.  And they have this lovely circular argument where there’s like, well, there aren’t very many women programmers because women don’t like programming, which you can tell because how few of them are programmers didn’t actually prove anything. 

Adam: Yeah. And it’s tricky. Like, I don’t know, like, obviously I’m not a woman, but, if you’re, It’s hard to be the only woman on the team I imagine, or the only man on the team or the only


Kate: Only anything, the only one in the room. Yep.

Adam: It’s constraining, right?   

Kate: And you’re sort of representing the team. So someone would be like, “Oh, black people don’t like writing documentation, because while we had this black guy work for us once, and he didn’t like writing documentation” well, okay. So you kind of feel like you have to like everything. You have to, you have to join everything because otherwise, someone’s going to go, well, we hired a woman once, but they just don’t do testing.

Adam: Yeah, right. But for me, there’ll be just like, Adam, doesn’t write good tests.

Kate: Yeah, exactly. Or you’re not representing, your whole group.  

Do the Work

Adam: Another thing, you said was about doing the work that was one of your life lessons.

Kate: Yep. I’m a person who is very spiky and very streaky. And when I’m hot, I can do it in half a day. What no one else could do in a week. And that’s amazing. That’s taken me a lot of places, but it means that there are some weeks when I spent four and a half days not doing anything and that’s kind of a waste. Right? And you can tell yourself, like, I need to get ramped up and I need to get like emotionally ready to tackle this thing. Or I can’t talk to X until they come into the office, but sooner or later you have to actually do whatever it is you’re supposed to do. And, I remember getting really behind on a project and I had to just come clean to the client on it. And I said it’s just amazing how long something takes to get finished when you’re not working on it.

Adam: You said that to a client?

Kate: I did. I told him the truth, which allows is not working on your stuff. And, is if you want me to finish it all out, I will. But this is where we are. And they said, yeah, because no one else in the world can do this and we really need it. And it would have been nice if we could have had it a couple of weeks ago, but we really need it. So I did it, but I had to be honest with myself too. Right? I just, wasn’t doing it a, because that’s the downside. If you’re not careful, instead of having a week where you have a half a day of amazing and four and a half days of nothing, what if you had five days of nothing, then that’s a very bad place so there are lots of ways to be happier and to get help and to get support and to be productive about not wasting windows and all that kind of stuff. But that doesn’t take away from the fact that sometimes you need to put your fingers on the keyboard and press until the appropriate pixels appear on the screen.

Even Super Heroes Toil

Adam: that makes a lot of sense. So another thing you said was that you thought, the people just aren’t, people are afraid to admit when they work hard at things.

Kate: Yes, we want to teach our kids to work hard and get stuff done. And we want to teach that 20-year-old in the same offices as to work hard and get stuff done. And yet, if you look at heroes like someone’s doing a conference talk or whatever they’re all like, “Oh yeah, I just threw this demo together on the plane” or they pretend they’re making the demo up on the spot. I work really hard as a conference speaker. I rehearse my talks. I write my demos very carefully. I run them over and over and over until I know they will absolutely positively work and I know all the ways they can break and what to do about it. And, everybody works and sometimes things are hard. And yet the only solution is to roll your sleeves up and work on it. And so, there’s a real trend. There’s a couple of people who are being really open about it. How much time they’re putting into this open-source library? Not just all I flung this together because I was frustrated because there was no decent, I don’t know Jason parser, cause there are only 4 million Json parsers on the planet. So I flung together this Jason parser and I stuck it up here and you guys can have it if you want. And that that’s becoming less of the norm now. And there are more people saying. I put in a lot of time looking for something and I tried this and it didn’t work. And I tried that it didn’t work. So I decided to write my own and it’s still not perfect. It’d be great. If you could join me, I got a bunch of open issues and less of the sort of superhero who just tossed it together in five minutes.

Adam: Why do people want the superhero persona? 

Kate: How smart must you be? Right. You’re not some like a peasant who just toils, like the million monkeys could type Shakespeare if you gave them long enough, and that there’s something, yeah. Plotting and every day about, yeah, I wrote this talk, and the first time I gave it, it was 90 minutes. So I took some stuff out and then it was too short, so I put some stuff back in now, that sounds boring. That sounds like you’re an accountant or something, people talk about talent and about someone’s a natural, and that somehow is better than being someone who just practiced a lot maybe some people do think a certain way. But maybe that’s not because of how they’re born, but because of how they were raised and maybe you could learn to think that way. And I love C++ Twitter. I’m a super happy member of C++ Twitter, but we do play that from time to time, you know? Here’s some really cursed C++ what does it do? And especially things involving the comma operator, the comma operator in simplest pluses don’t get me started it creates very deceptive code, and. I do sometimes say like if there’s like a 19-year-old reading this, they’re going to think this is a difficult language and it doesn’t have to be a difficult language at all. In fact, my teaching or my online teaching, especially cause I reach more people there is all about like, please do not listen to the people who told you this was difficult. C++ doesn’t have to be difficult. And I actually can teach it as a first language to people who know no other programming language. 

Adam: Yeah. I feel like, I’m a Scala developer and people criticize it for being a complex language, but I feel like I can always point to C++ and be like…

Kate:  I did a keynote called it’s complicated because C ++ is complicated and we write complicated code in it sometimes and for a variety of reasons, I mean I’ve got codebases that are, 25 years old. And certain things that are wonderful, that I use every day today were added to the language in those 25 years. So some parts of the codebase are struggling by, to get a job done. There were written at a time when a particular keyword didn’t exist. So they’re doing it a hard way. They’re doing it a long way, and then nobody wants to fix it. It’s not ProCon. It’s just ugly or if it is broken after 25 years, the broken is now the good, right. So you read this, this variety of code styles every day. If you’re in my corner of the world where you’re at some stuff’s almost Pearcey and some stuff is much much more modern, It’s got templates, It’s const. Correct. It’s great. And then you turn the page or open the next file and then, Oh, we’re in this land again. Okay.

Adam: I think like large enough and old enough codebase is just like a city. There’s like here’s like old Montreal and there’s no plumbing here and whatever, and Oh, here’s the more modern area. 

Kate: Right. That’s a really good analogy. That’s all right, there are the places where the ceilings are too low and you can’t get through the doors. And then there are the places where everything’s all chrome and glass and yeah.

Adam: Yeah. And then like weird in between, like in this place they thought like art deco was the future. Like there’s this C++ is just all template meta-programming and there’s nothing else. 

Kate: Or, someone just learned this technique and just had to use it everywhere, whether it fit or not.

Adam: I forget where we were at Kate. I gotta be honest.

Kate: I think, I think we did all five to tell you the truth. Let me just, yeah. we did it. We did all five. If the constraints are imaginary, you don’t have to respect them if, especially if you’re the one who made them up, if the constraints are real, then you do respect them.

And you, you arrange things so that when you have your window of freedom, you use it. It’d be happy, happiest, good. Let people help you and roll your sleeves up. One of the great ways to get a lot done is to do a lot.

On Not Dieing

Adam: So use the scented soaps, learn to breathe underwater, focus on the positive have, and use your support system. And last, but probably most I do the work. There’s one other tip that Kate has actually, it’s a funny story of coding while angry. We’ll end with that. But first I wanted to ask her, about her cancer diagnosis.

Kate: Yeah that was the thing we live in the future. I went to Princess Margaret, and I went to, a specialist there in immunotherapy, which is a relatively new thing. And, he gave me a pair of drugs that at the time were not approved as a treatment. So it was a study and they worked. I was actually admitted to the hospital in October. They got me stable and they got me my first treatment. And within two weeks, all my pain was gone and my symptoms were gone. I ended up on the treatment for a year to make sure that everything really was gone, but the general consensus is, yeah, it’s all gone. And so I say, we live in the future.

Adam: I didn’t actually know that there was like miracle cures for cancer out there. Like, I didn’t know.

Kate: So, melanomas, you get on with all the time on your skin, you get a funny mole and by the time you remembered to talk to the doctor about it, it disappeared and you say, Oh well, and in fact, they never found what they call my primary tumor on the surface of my skin because your immune system knows how to clean them up. And it does, the problem is when you get ’em at a statis, if it gets big enough, it develops a way to hide from your immune system. And so sorry about that. And so, what the drugs do is they interfere with this sort of cloaking mechanism and they ramp up your immune system in between them. Your immune system destroys all the tumors. I was also lucky because I had, tumors in my leg just don’t sound lucky. but they irradiated those. They were very, very worried that I was going to have my hip shatter. Because all the bone was going to be dissolved by tumors. So I got radiation in my leg and that has been shown to improve. The success of the immunotherapy by blasting apart the tumor and basically priming your immune system to recognize it. So that’s possibly one of the reasons why I ended up with a complete response. So, we, they don’t say cured in cancer and in melanoma they don’t say remission, but they do say complete response, which means all your tumors are gone and durable complete response, which means even though you’re not being treated, your tumors have not come back, which is where I appear to be. Yeah.

Adam: Wow. That’s crazy, why don’t they say that you’re cured?

Kate: So the day I met this doctor, he said to me, “Oh, we’re going to do this treatment and that treatment”. And I’ve been spending a lot of time crying and he said, “a lot of my patients respond well to this treatment.” And I said something fairly bitter, “like yeah, for a while”. And he said, not only he said, “I got a lot of patients who I’m waiting for them to die of old age because only then can I record that they were in fact cured and he said, that’s my plan for you”. So I liked that plan and that’s the deal. I know if I managed to be 90 and he died, my sleeper gets hit by a car or something. At that point, they will finally put, a one in the wind column but not until then.

Adam: Well, I hope they get to do that. So did you, did you share all of these lessons with your children? That was the goal, wasn’t it? 

Kate: So I didn’t have to because of the whole not dying thing. I figured I’ve got 30 years to continue to deal them out certainly my daughter has a child and I certainly told her to sleep when the baby sleeps. Yeah, and I have told both of them, to take advantage of support networks, both technically and personally, some of the other stuff, yeah, we’ll get there.

Angry Code and Steve’s Nonsense

Adam: So after Kate’s miracle cure, she starts feeling like she can give more keynote, more high-level idea talks kind of like the talk we’ve been having here today. 

Kate: I was actually invited to keynote meetings C++, before I got sick, Yensi who runs meetings, syphilis pluses, super organized guy. And, and he approached me and said two years from now, will you keynote for me? And, enough time went by that I could get sick, get my miracle treatment, get better, be free. Be cleared to travel, compose a keynote, fly to Germany and deliver the keynote and it was pretty technical. But, but it had this sort of germ of philosophy and it was, people liked it. People said, will you come and keynote ours? And so I spent about a year talking about simplicity. What does it mean if your code is simple?

Why is that a goal that you might want to aspire for? 

Kate: And so I did a talk called emotional coat, which I often tell people is subtitle is I can tell you were angry when you wrote this. The example that I used in the talk, it says, undo Steve’s nonsense as the name of the function. And I did see this in production. It wasn’t Steve, and it also didn’t say nonsense. But to some words, you can’t put in, in slides and someone checked that in, right? With their actual coworker’s name and a swear word. So like, I don’t know, let’s say it was copying a file over to the archive directory under Steve’s nonsense, moves the file back out of the archive directory, back to where it was before. And then later,  it ends up in the archive. So it gets done three times. And this system does a bunch of steps and does all those steps. And then later at what the second program thought was the right time. It does all the steps again, think of the CPU cycles being wasted because two people couldn’t agree on what order to do something in. which to a C++ person is just the worst.

Adam: Yeah. There’s a team issue there, for sure, right? Yeah.

Kate: Yeah. And, and probably both Steve who isn’t really Steve and whoever wrote the function are long gone and it’s only when someone like me comes in and says, what is happening here?

That sort of, it all comes to light. And so, yeah, these are kind of soft skills in a way and managing and building a strong team that can count on each other, but they’re very technical and that we’re talking about, I’ll make you, I’ll make your application run faster or use less memory or blow up less often.

Adam: I feel like the idea talk or whatever you want to call it. Like that was one of your scented soap. You were afraid to do one, and then you were like, 

Kate: No one said that to me before. And I think you’re right. That’s that’s interesting. Thank you. 

Facing Death

Adam: If all developers were more like cognizant of their mortality, would that be useful? I don’t know, how would the world be different? 

Kate: Certain apps would not get built. Just what are you leaving behind as your legacy? Certain apps would not get built. Certain companies I think would also lose all their stuff. I mean, imagine you work for a game company and they’re crunching and, you’re crunching in March so that the product can sell well at Christmas, but you’re, you’re going to die in June.

You’re going to crunch in March. You’re not going to crunch in March. So yeah, some things would change cause people, we put up with stuff because we believe there will be time later when we won’t be putting up with that. And that’s really what happens when you stare mortality in the face, as you realize, there will not be time later without that. So if you would like some time without that, you need to cause that to happen right now. And that, that brings bravery that is not there. And day to day life.

Adam: All right. That was the show. I hope you liked Kate’s story. Oh, Kate wants to give a shout out for IncludeCPP. It’s and a CPPCon, which is happening in September. I believe, and probably include CBP will be giving away some scholarships to remotely attended. so check out both of those and if you liked the episode if you like the podcast, tell your friends who you think might also like it. Supposedly podcasts spread through word of mouth. That is what I’ve been told. All right and until next time, Thank you so much for listening.  

The Birth of Unix with Brian Kernighan