CoRecursive: Coding Stories - Story: Memento Mori
Episode Date: September 1, 2020Preparing our minds for the inevitable - death is pressing. 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 would apply her 5 pieces of advice to your career as a software developer to help you to build a remarkable career for yourself. Episode Page Episode Transcript Links: Gregory Consulting Limited Kate's Classes in Pluralsight Include CPP Kate's Blog Â
Transcript
Discussion (0)
Yeah, see, I had the checklist and I didn't even do a good job here.
Press record. It's one of the big ones.
All right. Can you state your name and what you do?
My name is Kate Gregory and I have a little consulting company.
And we do various things for people needing help, usually C++.
Hello and welcome to Co-Recursive. I'm Adam Gordon-Bell.
Kate, I think, is underselling herself there.
She's more like a famous C++ guru.
You know, nobody wants to be a commodity, cog in a wheel.
You know, I have a very particular set of skills, as they say.
And not everybody needs them.
That's fine. But if you need what I can do, then we're going to talk. 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 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.
Yes. I don't have any numbers. I don't have any research and maybe everyone knows this.
And I'm just, and I'm just wasting their time saying, you know, 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 to offer here that people would like.
Kate is not wasting our time today.
I promise you that. the minutiae of the new module system in C++ or how coroutines 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. I was sick. I was really sick. And for a long time,
I didn't realize how sick I was and um by the time we figured it
out they told me I had stage four melanoma okay and so the surgeon had nothing to do uh because
there was there was 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. It's really awful. 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, and I started writing it down.
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 has 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.
If I have this right, when you got cancer, you were really mad about scented soaps.
This is true. You know, 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.
And, you know, 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 that was like, I'm never going to use this soap that I've been saving for a better time. And then, you know, I realized that there's no like soap police who 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, you know, 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 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. You know, people say, oh 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 there's no, again, there's no test.
There's no blog 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, well, 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.
Outside of the washing your hands,
what else did you feel constrained by?
Is there professional constraints that were pretend?
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?
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 owing it an
obligation. That's this, you know, I also threw a lot of stuff out.
I was like, I'm never using this.
I don't know why I kept it.
And I was throwing it out so someone else wouldn't have to.
So maybe this meant a lot to mom.
She's kept it for 20 years.
I threw it out.
And so same thing.
Like if you don't know how to, I don't know, be a C++ programmer and you think, I'm never
going to, that 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's actually stopping you
from doing. Make a choice. All right. So first piece of advice, use the scented soaps. Don't
be constrained by constraints that don't actually exist. Second tip slash life lesson,
learn to breathe underwater. Yeah. so you can't breathe in 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 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, which 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. It ties into your constraints because you're like, maybe I can,
I can't record a video on the plane, but I can write on the plane. So 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, then when you
have your clear time, you'll be able to work on your top priority. Like I assume, cause this is
a lesson that this is something that you, that you struggled with. I think of, 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 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, you know, the conditions may not be there for you to do it. So
do it while you can. 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.
There's 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, 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. Nice. So let's see what, what is the next,
uh, what's the next of your tips? Focus on the positive. Yes. Yes. This one, I think I learned
more on a professional level before I learned it personally. You know, 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, 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, well, you can choose who to go to lunch with. You can choose who to walk down for a 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.
Don't have as good a coffee break as 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. Have a happier day. I mean, some people really enjoy the process of
reflecting on how other people are morons though. They do. They do. And it's like, you're welcome
to do got a whole internet for that. What does focus on the positive mean to you? Even in a really horrible day, you know, little things happen.
You fix a bug.
You're 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.
You know, 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's looking at it or a million or none, it still just does its thing.
And it's 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 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. You know, that can, that can take you a long way.
And so I just look for things like that. They're, they're like forces of nature. They're 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.
Yeah. I like the sentiment. I think, uh, like sometimes I have to give myself like a mental,
like woohoo. And sometimes it's like an air punch or something.
That's right.
If it's like...
Atta boy.
Yeah.
It can be for something stupid.
But yeah, something wasn't working and I figured out what the problem was.
And it's just like, yes.
Yeah.
You gotta...
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, I'm doing stuff I'm good at. So that's nice because you, you can't miss the parts where
you're not doing it well. You know, you make stupid, stupid mistakes and, and you'll waste
an hour on something that any beginner would have, would have seen. 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.
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?
Yeah, that's the work from home trick.
You can actually get up and like do a complete happy dance if you want.
Yeah, at work, you know, in the office, people would have to ask me what.
I'd have to admit that it was just some missing semicolon or something that I found. Yeah, exactly right. 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, these might be the good old days.
So it's a line from a song. Maybe Carly Simon? Can't be sure. But you know, whatever
you're living right now is a time that you or someone else will look back on and say, oh man,
remember that? You know, 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. And, oh, of
course, we'll send you business class, no problem. Would you like to stay an extra four days so you
can, you know, enjoy some sightseeing? We'll take care of it all. And literally, you know,
people's assistants 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.
You know, 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,
there'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.
Very true.
Yeah, you never think of it at the time.
It's always like in retrospect.
You're like, oh, that was a good experience.
Yeah.
Probably, like, I don't know,
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.
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?
Like this is so nice.
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.
Especially in programming and especially in C++ programming,
we're kind of an old community.
We have this kind of robot persona, you know?
We don't do feelings.
We don't need help.
We're all, I don't know, like not just tough guys, but like, you know,
Clint Eastwood in a cowboy movie, tough guy, you know.
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 coworker, but if you give the coworker
the 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, oh yeah, I got asked and I knew.
And meanwhile, you've saved all those hours of time, you know, 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 coworker, then you can ask on Stack
Overflow where you can join a specialized Slack or Discord.
Yeah.
Do you personally feel like you're afraid to reach out to people for support as a professional developer?
No.
I've asked questions on Stack Overflow, especially if it's something that'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 a question.
And I asked a C++ question and like 50 people commented, Kate Gregory would never ask this question.
They were trying to 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, and just dead, dead face and all that. And like, I'm on discord and I'm all hearts and cake and, uh, 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, Superuser
and someone told me,
it's an Electron app, hit F12, edit the JSON,
which I could do.
And ta-da, all the gross stuff is gone.
And the question has got a lot of views.
There's a lot of people who want to do that.
So I will absolutely ask for support.
If I have a tricky C++ question,
I'll come to include
because I know that no one's going to mock me
for not knowing.
Yeah, I feel like,
I guess Stack Overflow is working to get better.
I found it's a harsh environment,
especially if you have a new account and you ask something.
So it is, first of all, harsh.
Someone asks a question and they've 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. People are like, you made me a robot. And then 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 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.
Yeah.
I mean, it makes me think of what you were saying
about the curmudgeon C++ developer stereotype, right?
It's like, don't say hi.
This is a permanent document.
Nobody wants to see your hi in the future, right?
Exactly.
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 her clients because of her diagnosis,
it freed up some of her time to dedicate to this community.
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 CBP.
They primarily hang out on a Discord channel chatting with each other? So, for example, you know, someone asks a question
and they can be confident they won't be called names
or told they should have Googled it or, you know,
there's a nice atmosphere.
And there's a lot of moderators behind that nice atmosphere
that make sure of it.
But yeah, most of the people who join 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, you know.
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,
you know, 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, oh, I don't know a ticket to the speaker dinner, introduce you to,
oh, I don't know, the guy who invented the language, you know,
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.
Oh, that's awesome.
Like, you must have recognized a problem or something to create this.
So the problem's been around forever.
You know, 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, you know, 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 what swear words you 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-something earnest men tell me why women don't like programming.
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, it didn't actually prove anything.
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 a team, I imagine.
Or the only man on a team or the only visible one.
The only anything.
The only one in the room.
Yep.
It's constraining, right?
And you're sort of representing the team.
So someone would be like, oh, you know, 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 you know, they just don't do testing.
Yeah, right.
But for me, it'll be just like Adam doesn't write good tests.
Right.
Yeah, exactly.
You're not representing your whole group.
Another thing you said was about doing the work, that that was one of your life lessons.
Yep. I'm a person who is 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, 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 and I said, it's just amazing how long something takes to get finished when you're not working on it.
You said that to a client?
I did. I told him the truth, which is I was not working on your stuff.
And as 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 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 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 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.
That makes a lot of sense. So another thing you said was that you thought
that people are afraid to admit when they work hard at things.
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 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 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 how much time they're putting
into this open source library,
not just, oh, 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 JSON parser and I stuck it up here
and you guys can have it if you want.
And that's becoming less of the norm now
and there's more of 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 and 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.
Why do people want the superhero persona?
Like what?
Well, how smart, how smart must you be?
Right?
You're not some like peasant who just toils, you know, 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. You know, 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.
Yeah.
You know, maybe some people do think a certain way.
Maybe that's not because how they were 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.
You know, here's some really cursed C++.
What does it do?
And especially things involving the comma operator, the comma operator in C++.
Don't get me started.
It creates very deceptive code.
And I do sometimes say, like, you know, 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.
Yeah, I feel like, you know, 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...
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 got code bases 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 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 a hard way.
They're doing it a 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 stuff's 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 oh we're in this land again okay
i think like a large enough and old enough code base is just like a city there's like
uh yes here's like old montreal and there's no plumbing here and whatever oh here's the more
modern area right that's that's a really good analogy that's right there's there's the plates
where the ceilings are too low and you can't get through the doors.
And then there's the places where everything's all chrome and glass.
And yeah.
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 metaprogramming.
There's nothing else.
Yeah, definitely.
Or someone just learned this technique and just had to use it everywhere, whether it fit or not. Yes. plate metaprogramming. There's nothing, there's nothing else. Yeah, definitely. Or, or someone
just learned this technique and just had to use it everywhere, whether it fit or not. Yes.
I forget where we were, Kate. I gotta be honest. I think, I think we did all five to tell you the
truth. Let me just, yeah, we did, we did all five, you know, like if the constraints are imaginary,
you don't have to
respect them especially if you're the one who made them up um if the constraints are real then
then you do respect them and you 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
you know one one of the great ways to get a lot done is to do a lot.
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.
Yeah, that was a 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 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. I didn't actually know that there was like, like miracle cures for cancer out there.
So melanomas, you get on 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, 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 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. This doesn't sound lucky,
but they irradiated those. They were very, very worried that I was going to have my hips 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. 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. Wow. That's crazy. Why don't they say that you're cured?
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, you know, 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.
So I liked that plan.
And that's the deal.
You know, if I manage to be 90 and, you know, die in my sleep or get hit by a car or something,
at that point they will finally put, you know, a one in the win column.
But not until then.
Well, I hope they get to do that. That's my plan.
So did you share all these lessons with your children? That was the goal, wasn't it?
So I didn't have to because of the whole not dying thing. I figure I 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.
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.
I was actually invited to keynote Meeting C++ before I got sick.
Jens, who runs Meeting 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, 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, it was pretty technical, but, but it had this sort of germ of philosophy and it was, people liked it. People said, well, you come and keynote ours. And so I,
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?
And so I did a talk called Emotional Code, which I often tell people is subtitle is, I can tell you were angry when you wrote this.
The example that I use in the talk says, undo Steve's nonsense is 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 it 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, you know, it ends up in the archive. So it gets done three times. 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 yeah there was a team there's a team issue there for sure right yeah and and probably both
steve who isn't really steve and whoever wrote the function are long gone yeah and it's only
when someone like me comes in and says what is is happening here that it all comes to light?
And so, yeah, these are kind of soft skills in a way
in 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.
I feel like the idea talk or whatever you want to call it, I'll make your application run faster or use less memory or blow up less often.
I feel like the idea talk or whatever you want to call it,
that was one of your scented soaps.
You were afraid to do one and then you were like, let's do it.
No one said that to me before and I think you're right.
That's interesting. Thank you.
If all developers were more cognizant of their mortality,
would that be useful?
I don't know.
How would the world be different?
Certain apps would not get built, right?
Just, you know, what are you leaving behind as your legacy?
Certain apps would not get built.
Certain companies, I think, would also lose all their staff. 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 because 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 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.
All right, that was the show. I hope you liked Kate's story.
Kate wants to give a shout-out for IncludeCPP.
It's IncludeCPP.org and CPPCon, which is happening in September, I believe.
And probably include CPP will be giving away some scholarships to remotely attend it.
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, 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.