Memento Mori

With Kate Gregory

Memento Mori

Preparing our minds for the inevitable is hard. But, after facing terminal cancer, Kate Gregory recalled that facing death has many lessons to teach us.

In this episode,  Kate will share the lessons she learned and explain how you can apply them to your career as a software developer and live a remarkable life.


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


Adam: Yeah. See? I had 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, a 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 minutiae 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 “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.” It does take a little bravery to say, “I think I got something to offer here that 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 the minutiae of the new module system in C++ or how co-routines are going to work or whatever that 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 IV melanoma.

Adam: Oh God.

Kate: And so, the surgeon had nothing to do, because there were tumors all through my lungs and all through my liver and 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 5% survival [chance]. It’s really awful.

Parting Tips for My Children

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

Adam: So, today, Kate is going to share with us some of the things that she wrote down when she was facing her terminal diagnosis. I’m not Barbara Walters. I don’t really have the skill set 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 her first piece of advice, which is use the scented soaps.

Use the Scented Soaps

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

Kate: Yes. Well, 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’ve got to use up the regular soap and there was never a good time to open it. So I was always just using regular soap while there were like five bars of scented soap in my drawer.

And then so, that one day I was like, “I’m never going to use this soap that I’ve been saving for a better time.” And then, I realized there’s no like soap police to come to your house if you have two bars of soap opened 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 wash my hands, it was a nice smell and a little joy in 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 “Man, I wish I had a blog.” You go to this website, and you click here, here, here and here and you have a blog like again, there’s no test, there’s no blog authorities who’ll 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, well, have a blog. And there’s a lot of things like that where we just don’t let ourselves do things and wonder around wishing we could do them for no good reason. So, I want to tell people use the scented soap.

Adam: Outside of the washing your hands, 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? There’s 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’s lots of conference talks you can watch or online material you can consume, so you can’t just decide that you’re a doctor. Right?

Adam: Yeah. Thankfully.

Kate: 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 just… I also threw a lot of stuff out. I just want to say that out loud. “I’m never using this. I don’t know why I kept it.” And I was throwing it, so someone else wouldn’t have to. “Maybe this meant a lot to mom. She’s kept it for 20 years.” I threw it out.

And so, same thing. If you don’t know how to, I don’t know, be a C++ programmer, and you think, “I’m never going to,” that’s fine, too, but don’t carry around the wish that you could do a thing that no one’s actually stopping you from doing. Make a choice.

Learn to Breathe Underwater

Adam: All right. So, first piece of advice: Use the sentence soaps. Don’t be constrained by constraints that don’t actually exist. Second tip/life lesson: Learn to breathe underwater.

Kate: Yeah, so you can’t breathe in underwater. I’m not super human 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 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, saves you from having a sore neck, but I mean, also metaphorically, you get maximum value out of a little window when you’re able to do a thing.

Adam: It ties into your constraints, because you’re like, “Maybe I can’t record a video on the plane, but I can write on the plane,” so.

Kate: Yes. Exactly. 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 than when you have your clear time, you’ll be able to work on your top priority.

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

Kate: I think of an awful lot of conversations, work conversations that should have happened that took literally days extra to happen because I had an opportunity that I let go by and then the window closed unexpectedly or say you 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 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, “Well, I’ll do it in an hour.” And in an hour, 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 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’s no other adult 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. So, let’s see what’s the next of your tips? Focus on the positive?

Kate: Yes, yes. This one I think I learned more on a professional level before I learned it personally. Just some people complain a lot and think that life is unfair and stacked against them and some people are happier and they seem to have the same situations. 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, “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,” you don’t have as good a coffee break. Because 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,” you’re going to have a happier day.

Adam: I mean, some people really enjoy the process of reflecting on how other people are morons, though, like-

Kate: They do.

Adam: It’s like a hobby.

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

Adam: What does focus on the positive mean to you?

Kate: Even in 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.” You remember to send an email that says, “Thank you.” Like, there’s probably 50 nice things even in a really awful day. There was five or six nice things, even in a day when I was lying in a hospital bed. 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 does its thing.

And it’s the case with most of these nice things. Like if someone sent you an email that says, “You were right,” and you just sort of angrily say, “Well, of course I was. 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 you, but if you just kind of stop 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. They’re like forces of nature. There are 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 like a mental like, “Whoo-hoo.” Sometimes, it’s like an air punch or something.

Kate: That’s right.

Adam: Yeah. It can be for something stupid, but yeah, something wasn’t working and I figured out what the problem was, then it’s just like, “Yes.” Like, you got to-

Kate: Just like 30 seconds of, “I am not completely incompetent. I actually do know how to do some of this.” And that’s good. 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 mistakes and you’ll waste an hour on something that any beginner would have seen. You don’t forget those in a hurry. They’ll stick with you, so focusing on the good ones to kind of bounces it up.

Adam: It helps that I work here though or maybe it makes it worse, but if I jump up in the air and like get excited about something, nobody notices, right? It’s like, “I don’t have to explain.”

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

Adam: Yeah. At work, in the office, people would have to ask me, “What?” I’d have to admit that there was just some missing semicolon or something that I found.

Kate: Yeah, 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 the time that you or someone else will look back on and say, “Man, I 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 they’d fly you places to do like a one hour talk. “Of course. We’ll send you business class. No problem. Would 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 also being flown with them.

And I had all these friends, who only saw if people got on planes. It was fantastic. It didn’t last. The tech wreck came along and the conference budgets and marketing budgets went down dramatically, but it sure was fun. And you don’t know what it is about right now that you’ll look back on. Even this crazy pandemic work from home lockdown thing, there’s a lot of negatives, but I bet you 5, 10, 20 years from now they’ll be someone going, “Man, remember 2020?” And there’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: How very true. Yeah. You never think of it at that time. It’s always like in retrospect. You’re like, “That was a good experience.” Probably like I don’t know, that you probably had frustrations in the heyday of conference speaking like you probably didn’t look at it as this is the golden times of speaking.

Kate: No. No, we didn’t. 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? 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 a 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 nonsense, 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 co-worker, but if you give the co-worker that gift of asking them and then they help you in 30 seconds, they feel fantastic. They’re having their punch-the-air moment, like, “Yeah, I got asked it and I knew.” And meanwhile, you’ve saved all those hours of time and you’re productive and amazing, and 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 co-worker, 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 reach out to people for support as like a professional developer?

Kate: No. I mean, 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 and I set up a second account with almost no reputation, so that I could record the process of asking question, and I asked a C++ question and like 50 people commented, “Kate Gregor would never ask this question.” They’re generally like, “Report the imposter.” It was quite funny.

But I’ll ask like when I started using Discord, the default emojis were all nasty. They were 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, because this is what I mean about focusing on the positive, right? If every time you type colon, you get offered poop and vomit and dead face that’s not a nice moment in your day. And so, I asked on, I think Super User and someone told me, “That’s an electron app, hit F12, hit at the Jason,” which I could do. And ta-dah, all the girls stuff is gone and the question has got a lot of views, so a lot of people wanted to do that. So, I will absolutely ask for support. If I have a tricky C++ question, you all come to include because I know that no one’s going to 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 harsh environment, especially if you have a new account and you like ask something and then-

Kate: So, it is first of all harsh when someone asks a question and they got all this rambly 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’re just like, “Here’s the actual question.” And people are like, “Who did that?” Especially if they say thanks. The culture of Stack Overflow is no hi, no thanks, no “I would really appreciate.” Rip it all out. “You made me a robot.” And again, we’re back to that programmer culture thing.

So, there’s a lot of things that Stack Overflow is deliberately being mean. They want you to feel hurt. They want to hurt your feelings. Then there’s another whole category 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?

Kate: Exactly.

Working on Inclusivity

Adam: So, Stack Overflow is maybe not the support system that you want. One way Kate looked 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 our clients because of her diagnosis, it freed up some of her time to dedicate to this community.

Kate: And other clients 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.

The people who join Include CPP, they primarily hang out on a Discord channel, chatting with each other, so for example, someone asks a question, 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’re 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, it’s life changing, especially if there’s some folks to take you under their wing. Make sure you get a ticket to the speaker dinner, introduce you to, 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: That’s awesome. Like you must have recognized the problem or something to create that stir.

Kate: So, 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, right? 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’re objective, and it’s all about the code,” which is just not true.

But some of it is about a culture of what swear words to choose, right? If when you’re angry at the compiler, 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 uncloset 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 20 somethings 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.” Like that didn’t actually prove anything, so.

Adam: Yeah and it’s tricky. Like, I don’t know. Like, obviously, I’m not a woman, but it’s hard to be the only woman on the team, I imagine or the only man on the team or the only because [crosstalk 00:23:36].

Kate: The 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, “Black people don’t like writing documentation, because, well, 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 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, it will be just like, “Adam doesn’t write good tests.”

Kate: Right, yeah, exactly or you’re not representing your whole group.

Do the Work

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

Kate: Yep. I’m a person who’s very spiky and very streaky. And when I’m hot, I can do 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’s some weeks when I spend four and a half days not doing anything and that’s kind of a waste, right? And you can tell yourself, “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 that I had to just come clean to the client 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 them the truth. This is not working on your stuff. And I said, “If you want me to finish it, 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 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 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. 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 it 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 are afraid to admit when they work hard at things.

Kate: Yes, yeah, yeah. 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 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, “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 the only solution is to roll your sleeves up and work on it. And so, there’s real trends. This couple of people who are being really open about how much time they’re putting into this open source library, not just “I flung this together, because I was frustrated,” because there was no decent, I don’t know, Json Parser because there’s 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’s 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’ve 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? Like what [crosstalk 00:27:36]?

Kate: Well, how smart must you be, right? You’re not some like peasant, who just toils, like a 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. 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. Maybe that’s not because how they’re born, but because 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. Here’s some really crisp C++, what does it do? And especially things involving the comma operator. The comma operator in C++ is… don’t get me started. It creates very deceptive code. And I do sometimes say like, “You know what? 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, my online teaching, especially because 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 code bases that are 25 years old and certain things that are wonderful that I use everyday today were added to the language in those 25 years. So, some parts of the code base are struggling by to get a job done. They were written at a time when a particular keyword didn’t exist, so they’re doing it the hard way. They’re doing it the long way.

And then nobody wants to fix it. It’s not broken, it’s just ugly or if it is broken. After 25 years, the broken is now the good, right? So, you read this variety of code styles every day, if you’re in my corner of the world where some stuffs almost pure C 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, “We’re in this land again. Okay.”

Adam: I think like a large enough and old enough codebase, it’s just like a city. There’s like Old Montreal and there’s no plumbing here and whatever. “Here’s the more modern area.” and-

Kate: Right. That’s a really good analogy. That’s right. There’s the place where the ceilings are too low and you can’t get through the doors and there’s a place 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. This C++ is just all template metaprogramming. There’s nothing else and it’s like, yeah.

Kate: Yeah. Definitely or someone just learned this technique, and just had to use it everywhere. Whether it fit or not, yes.

Adam: Yeah. I forget where we were, Kate. [crosstalk 00:31:15].

Kate: I think we did all five to tell you the truth. Let me just… yeah, we did all five. Like if the constraints are imaginary, you don’t have to respect them, especially if you’re the one who made them up. If the constraints are real, then you do respect them and you arrange things so that when you have your window of freedom, you use it. You’d be happy. Happy is 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 important, do the work. There’s one other tip that Kate has. Actually, it’s a funny story about 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 in which Princess Margaret and I went to a specialist there in immunotherapy, which is a relatively new thing. And they gave me a pair of drugs that at that time were not approved as 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.

Adam: Wow.

Kate: 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 that’s why 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 it all the time on your skin. You get a funny mole and by the time you remember to talk to the doctor about it, it’s disappeared, and you say, “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 a metastasis 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 and between them, your immune system destroys all the tumors. I was also lucky because I had tumors in my leg, which doesn’t sound lucky.

Adam: No.

Kate: 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. 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 or?

Kate: So, the day I met this doctor, he said to me, “We’re going to do this treatment and that treatment,” and I’d 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, “No, no.” 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.” He said, “That’s my plan for you.”

Adam: Wow.

Kate: So, I liked that plan. And that’s the deal. If I managed to be 90 and died my sleep or get hit by a car or something, at that point they will finally put a one in the win column, but not until then.

Adam: Well, I hope they get to do.

Kate: That’s my plan.

Adam: So, did you share all 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 dole 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 meeting C++ before I got sick. Yenz who runs meetings C++ is a super organized guy 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, I could get my miracle treatment, get better, be free, be clear to travel, compose a keynote, fly to Germany and deliver the keynote. And it was pretty technical, but it had this sort of germ of philosophy and people liked it. People said, “Will you come and keynote ours?”

And so, I just spent about a year talking about simplicity. What does it mean if your code is simple and why is that a goal that you might want to aspire for? And so, I did a talk called Emotional Quote, 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,” that’s the name of the function. And I did see this in production. It wasn’t Steve and it also didn’t say nonsense, but there’s some words you can’t put in, in slides.

And someone checked that in, right? With their actual co-worker’s name and a swear word. So, like I don’t know. Let’s say I was copying a file over to the archive directory, undo 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, undoes all those steps, and then later at what the second programmer thought was the right time, it does all those steps again. Think of the CPU cycles being wasted because two people couldn’t agree 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 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.

Adam: Wow.

Kate: 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 in that we’re talking about, “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 soaps, you were afraid to do one. And then you were like, “Yeah, let’s do it.”

Kate: You know what? No one said that to me before and I think you’re right. That’s interesting. Thank you.

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, right? 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 in Christmas, but 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. 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 is 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 brings a bravery that is not there in day-to-day life.

Adam: All right. That was the show. I hope you liked Kate’s story. Kate wants to give a shout out for Include CPP, that’s and CPP con, which is happening in September, I believe and probably Include CPP will be giving away some scholarships to remotely attended, so check out both of those.

And if you liked the episode, if you liked the podcast, yeah, tell your friends who you think might also like it. Supposedly, podcast spread through word of mouth. That is what I’ve been told and until next time, thank you so much for listening.

Support CoRecursive

I make CoRecursive because I love it when someone shares the details behind some project, some bug, or some incident with me.

No other podcast was telling stories quite like I wanted to hear.

Right now this is all done by just me and I love doing it, but it's also exhausting.

Recommending the show to others and contributing to this patreon are the biggest things you can do to help out.

Whatever you can do to help, I truly appreciate it!

Thanks! Adam Gordon Bell

Audio Player
back 15
forward 60s

Memento Mori