Algorithms + Data Structures = Programs - Episode 94: Special Guest Kate Gregory! (Part 3)
Episode Date: September 9, 2022In this episode, Bryce and Conor continue their interview with Kate Gregory and talk about the future of CppNorth and her most recent PluralSight courses.Link to Episode 94 on WebsiteTwitterADSP: The ...PodcastConor HoekstraBryce Adelstein LelbachAbout the Guest:Kate Gregory is an author, sought-after conference speaker, trainer, Microsoft Most Valuable Professional (MVP), and partner at Gregory Consulting. Kate has been using C++ since before Microsoft had a C++ compiler. She is an early adopter of many software technologies and tools, and a well-connected member of the software development community.Kate is one of the founders of #include whose goal is a more welcoming and inclusive C++ community. She also serves on the board of directors of Cpp Toronto, a non-profit organization that provides an open, inclusive, and collaborative place where software developers can meet and discuss topics related to C++ software development.Show NotesDate Recorded: 2022-08-15Date Released: 2022-09-09FULFIL Mint Protein BarElderberry FlowerCppNorth ConferenceCppCast CppNorth EpisodeKeynote: “Am I A Good Programmer?” - Kate Gregory - CppNorth 2022PluralSight Courses- Kate GregoryBeautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code by Guy Davidson & Kate GregoryCarbon Programming LanguageIntro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8
Transcript
Discussion (0)
the dog just went into i'm sorry this is the worst i'm gonna like i'm gonna get a new co-host price
you've gone so available i'm just saying
welcome to adsp the podcast episode 94, recorded on August 15th, 2022.
My name is Connor, and today with my co-host Bryce, we continue with part three of our
four-part interview with Kate Gregory, where we talk about the future of CPP North and
her most recently released Pluralsight courses.
My elderflower cordial situation, which is a perfectly ordinary drink in the UK.
And every time I go, I bring back like four or five bottles wrapped up in my suitcase.
Like some people might bring back scotch if you're going to Scotland.
Bryce, maybe you're going to bring back a lot of scotch, but I would just, it'd be elderflower cordial coming home with me.
I am traveling pretty light to Scotland.
It's just going to be a carry-on bag. So I think nothing's going to be coming home with me i am i am traveling pretty light to scotland it's just gonna be a carry-on bag so i think uh nothing nothing's gonna be coming back with me my my favorite thing this
is gonna i mean i'm gonna get flamed for this but when i went to ireland for the second time to visit
my sister earlier this year don't bring up the fact that you think you're irish no no that's it
not the point here i mean i am half
irish um i just uh will not do the i i don't think actually on this podcast i have done an
irish accent you've told the story correct i'm not going to i'm not going to because
i would not let you publish an episode i mean in which you did the scottish the irish accent
because you would be banned from returning to Ireland.
I don't think that's true.
I got a legal sister.
I don't know what the opposite of a legal sister is, but she's my sister and she lives there.
So I get to go.
But the thing I was going to mention is that I discovered this protein bar called Fulfill.
And the mint flavor is the best protein bar I've ever had.
So, I mean, Kate's got her black licorice Mentos and I think it was elderflower tea.
Elderflower something, something.
I have a fair cordial.
Yeah.
Yeah.
And Bryce has got a secret hot chocolate.
That's a little bit different than tea.
Or sorry, what is, I don't even, I heard elderflower and I think my brain just like attached because I've seen elderflower.
What is cordial?
It's a concentrated fruit flavored syrup.
You add water to it.
Then you drink it.
And it's like, like you could think of it as like a lemonade concentrate or something.
Like a Kool-Aid, a European Kool-Aid kind of thing.
Yeah, but it's so the number one thing in England is Ribena,
which is blackcurrant.
You can get Ribena here.
There's a lime thing, which you can get here.
But the elderflower is made from the flowers of elder.
I actually planted elders at my house so that I can.
It's a long-term strategy.
It's going to be another 10 years or so
but eventually I can make my own elderflower cordial oh wow yeah that makes I never I've
always just heard elderflower together I never put together I mean well that's there's other
flowers like sunflower that you don't say without the flower part so there's an actual plant there's
elderflowers and there's elderberries right your was it your mother was a hamster and your father smelled of elderberries might be the way around
so monty but no you can't do monty python oh my goodness i know monty python i just don't you
know it's his butt a scratch see i've redeemed myself a little bit um i just haven't seen them
all yeah so elder berries and elder flowers both come from elders. Yes. Which is a tree thing.
Good to know.
Good to know.
All right.
So we've got, I think, roughly 15 minutes-ish left.
Before we get to sort of talking about, because I think we should talk a little bit about your Pluralsight, because it's topical, Pluralsight course.
Is there anything you want to say about future cpp north while we're on the
topic of where we took a little digression to talk about sort of food and travel and whatnot
i would definitely say plan on being there next summer and and there may be an opportunity uh
we're discussing whether or not it's possible to let people have a super super super early bird
while they're still remembering how great it was. Oh, wow.
But if you can't book now, you can at least talk to work about it now.
An awful lot of people on Twitter were like,
why was I not told this conference was happening?
I would have gone.
And it's like, well, come for 2023 then.
We'll be very happy to have you.
Yeah, it's hard with a first-time conference because I feel like the inner,
I don't want to call it inner circle, but like the folks that are on C++ Twitter and that, you know, listen to C++ podcasts.
And because I think CppCast had an episode that, who went, was it Diana and Nat that both went on?
I think Diana and Jason went on one and Nat and Mike went on another, but I may have the pairings mixed up.
Okay.
But you know what?
When I asked in the keynote, how many of you, is this the first conference you've ever been to?
And like a third of the room put their hand up.
Yeah, that's true.
So that was impressive.
We did get, you know, we did get some reach, but I think it's always in subsequent years after you've done it once and you've got people talking about it and trip reports going out and stuff.
Well, we proved that we can do it, right?
Like you put together a program that was a damn good conference program.
And the speakers all had a good time.
The attendees all had a good time.
The venue is magical. You know, probably my favorite moment of the whole conference was Tuesday morning announcements when Mike said, lunch today is on the streets of Toronto.
You know, just go out and find a place and spend $3 on a sandwich at St. Lawrence Market.
The idea that people can eat.
We spent more than $3.
You spent a little bit more than $3.
We didn't go to St. Lawrence Market.
We went to Miku, which is very yummy but yes but that's kind of the deal right like you can you
can get you can get a burger or some fries and gravy or whatever or you can you can have a very
sophisticated meal and it's up to you and you're not in a in a conference center in the middle of
nowhere where it's literally an hour walk just out through the
parking lot uh i i was in i was in orlando in june or july because that's when you want to go to
orlando and the speaker hotel was right next to the conference center so they didn't run a bus
and it took 25 minutes to walk through the hotel parking lot across the street and through the
convention center parking lot where you finally collapsed in a puddle of sweat inside the first air conditioning you've been in.
And I was like, you need a bus.
I'm not doing this walk every day.
It's so gross.
But, you know, like that's the scale of a lot of conference centers.
They're huge.
I think conferences that
are in the city center are that that's the best option yeah it sometimes can be well sometimes
it typically is a lot more expensive which is why certain conferences choose i won't say outskirty
areas but just definitely it's not city center but the advantage but if you're um if you're at a conference location where the venue has you as a captive audience, they can charge whatever they want for food.
Yeah. If people are saving $100 or $200 a night on the room rate, but they have no choice but to spend $100 a day on food.
They're not gaining.
Yeah.
Yeah.
Or I remember I like to have a can or a bottle of Coke in the morning.
I'll have one coffee and then I switch to Coca-Cola.
And being in venues where they're like, no, I'm sorry, this is the Pepsi building.
You can only have Pepsi.
And also every ever like even even in expensive cities like Toronto and New York, there are budget options for lodging.
Yeah. Yeah. I'm super happy with the with the locale and being able to walk from the train station.
You know, I know Patrice took the train from Montreal. I took the GO train from the outskirts of town. You know, this carbon footprint
thing is real and, you know, you don't necessarily have to fly. I think it's the future.
Yeah, I can quote Titus Winters, who, as Bryce can reaffirm is a worldly individual with the man of tastes. And when I was chatting
with him at the end of the conference, he wasn't even saying this just about CPP North, because I
think he had been there before for a committee meeting in 2017 or so. And he said of all the
places I visited Toronto, really is one of his favorites because of the diversity of food options
like Toronto has great food in general, but also just a great diversity of different,
you know, basically authentic cuisines
from different parts of the world,
because that is basically the people that make up Toronto
is we've got different little micro communities
and, you know, we all blend together,
but like you can go to different parts of town
and get, you know, really good sushi
or really good Indian food or, you know,
choose your cuisine, basically you can find it.
And he said in his list of top restaurants, like a couple of them
are in Toronto, which I guess I kind of take that for granted that, you know, I haven't lived in a
ton of place. Definitely. It's got better food options than Sunnyvale, California.
Oh, that's not true. Although it's a real shame that you can't get a decent bagel anywhere in Toronto.
We did so well.
We did so well.
I mean, did we even settle the debate?
I expected somebody to, like, kidnap me and sit me down, like, blindfolded and do a blind taste test of bagels while I was there.
I was a little disappointed that didn't happen. I think there was Francis, who
was a member of the
C++ Montreal
meetup, who came
from Montreal, I believe,
was there and I believe
brought bagels on
a Sunday maybe before the conference started.
I can't remember exactly what happened.
I flew in late on Sunday. I see.
You missed the bagels.
You missed the maple tarts.
You're not getting the full conference experience, right?
I will say this.
Sorry.
The dog is eating something.
I don't know what the dog's eating.
I will say this.
For next year, I will agree to a bagel blind test if somebody will arrange it.
You bring some from New York.
We'll get the Montreal folks to bring some.
We'll get some bread donuts from Toronto, but we'll also get some real bagels from Toronto as well.
We'll do some sort of bagel off.
We'll figure out how to make it happen.
I don't think you should be eating that oh he's not talking to us he's talking to the dog
so you want to talk you want to talk about the course yeah um so this just got launched if i'm
following the twitters correctly correct yes like the last business day of july or something i know
i was so busy in July.
I was so crazy busy in July.
Really?
What were you doing, Kate?
What were you doing?
I was like running this conference and practicing my keynote.
And the way that I do the courses is first, I write everything 100% totally written.
All of the demos tested on all the operating systems, everything ready to rock.
And then I start to record.
And then in week one, I like record rock. And then I start to record.
And then in week one, I like record a module and then I give it to my editor. And then week two,
I record a module and I get the first one back from my editor and I review it. And then I send it to a tech reviewer and blah, blah. And so there's like a pipeline, right? And so we get
to the conference and I had just finished recording everything, but there were like four modules in the pipeline.
So after the conference, I got everything reviewed, edited and slammed over,
but Pluralsight was gonna be away for a week.
So I'm like, I'm gonna miss it.
They're gonna be away from like August 4th to 9th
or something.
But no, on that Friday, they took it live.
So whatever the last Friday in July was,
the course went live.
And it's a complete rewrite.
It's taken me months of the C++ Fundamentals course.
So this is like the entry point for people who know some programming languages,
but don't know C++ and take them from zero to C++ programmer.
And I've had this course there for a really long time,
and it gets updated with new versions of C++.
But also every time I update it, I change usually something very significant.
So at one point, I keep moving pointers, for example,
further and further into the course
because I just don't think you need pointers.
It's no big deal.
Like, well, we can do polymorphism and stuff with references.
We'll mention pointers eventually,
but it's not as important as people used to think it was.
I added a whole new section this time on error handling because it's a big deal. And there's not a lot of syntax in it because it's mostly strategy.
It's like, well, you could return a bool, true or false, success or fail.
Or you could return an optional.
You could return some sort of an error object.
You could have out params and we. We ended up talking about expected.
There is... You can also throw an exception.
Okay, well, exceptions happen,
but we talk about expected first.
And I would like to do std expected,
but I can't because we're in C++20,
but Cy has a nice one.
So I say here's, you know, Cy's expected
and it's lovely.
Here's how to use it.
And then we talk about exceptions.
Then we talk about RAII again, which has been talked about before, but how in the context of both exceptions
and returning early, you know, getting that guaranteed cleanup is good for you. So there's
not a ton of syntax other than the exception syntax, but it's a sort of a strategic module.
That one's new this time around. And just everything I think should be in a C++
introduction, you know. And did you say that there was two, because I heard you mention at
one point what's new in C++20 and then C++20 in depth or something? Was there two courses?
So in C++20 fundamentals is, let me see how many hours it is, seven and a half hours of material.
So that's a lot, especially on Pluralsight.
You know, they have some one hour courses. And for a while there, they had a brief fling with,
we're not going to have long courses. Everything's going to be short. And then people can just take
three courses, but they kind of changed their minds back. And I think that's good for this.
But earlier this year, I did a what's new in C++20, which is like, you already know about
C++, the language, you already work in it, but you just want to see what's new in C++ 20, which is like you already know about C++, the language,
you already work in it, but you just want to see what's been added. So I talk briefly about
modules and concepts and, you know, std format and spaceship and just things that got added in 20
that I think people should know about. And very quick demos just to show why you care.
The time zone stuff in chronono, that kind of thing.
That might slip by you otherwise.
But you're not going to learn C++ from a course like that.
So the fundamentals course is for the people who want to learn it.
But I also have a learn to program in C++ course,
which is for people who have never programmed in anything
and are willing to learn C++ as their first programming language.
And I know a lot of people tell me that's impossible, but like a lot of people have
taken this course and been very happy. They don't want to have to learn something else first
as like an admission price or table stakes or whatever, and then go learn the language they
really want to work in. So I teach them C++ from the point of view of someone who,
like sometimes you want the computer to do the same thing for you over and over again.
We call this a loop and then explain the various loops we have in C++.
And that works.
It can be done and I think it's worth doing if you, for whatever reason,
want to learn C++ first.
Go ahead. You don't have to learn something else.
That is actually one of the, I'd say, strongest arguments.
Not that I agree in general that C++ should be the first language folks learn or is the best language as a first language.
But if you're going to make that argument, one of the strongest arguments I've heard is that if you learn C++, C++ is a language that you can do anything you want, usually like 10 different ways.
Which means it's a superset of like almost everything in every other language.
Like it's to a to like asterisk.
That's not completely true.
There obviously are things you can do, I'm sure, in Haskell or pure functional languages that you're not going to be able to identically replicate.
But for, you know, in general, if you learn everything about C++, you're not going to be too surprised when you go to other languages.
You'll be like, oh, this is just this,
you know, the maybe from Haskell
is like the optional
and this thing from Java
or this thing for Go
or this thing in Swift.
It's all going to be roughly equivalent
to at least something in C++
because C++ basically has everything.
Has absolutely everything,
even things people really don't use anymore,
but it's still in there.
But, you know, imagine if you chose some language that doesn't have lambdas. And then when you moved to a language
that did have lambdas, you'd have to learn the concept of lambdas. Whereas if you go learn C++
first, then you go to a language that doesn't have it, you're like, well, okay, I can figure
out a workaround where I can get that ability that I want. So, but the key, the key to teaching a
course like that is, you know, i'm not teaching function pointers i'm
not teaching um c style arrays and pointer arithmetic to figure out where in the array
you want to address like no it's 100 c++ and standard library and you know very expressive
and very accessible and no well you have to be so smart to understand this most people
are not wizardy enough to understand this. Most people are not
wizardy enough to understand this, but I'm going to quickly review it with you. None of that.
Yeah, that sounds awesome. We'll definitely leave links to both of those and everything. I mean,
well, I'll probably just copy and paste the show notes from each of these three slices and they'll
be the same. So in case you heard something two episodes ago and you're like,
oh yeah, I wanted to see that. It'll be in the show notes for each of these. And we haven't
done this historically, but I have actually made a mental note of trying to do this at the end of
guest episodes. But then I just always forget because we never do it regularly is asking if
there's anything in general that you want to either either mention or talk or or plug or uh this is coming
up um because yeah i think you know we have a platform where the platform is growing according
to bryce we have bryce well uh for people who are in europe i have fans i don't know about you
bryce's hair has fans yeah i am going to be in Norway in about two weeks.
Oh, wow.
At NDC.
Does anyone know how to say the name of the town that NDC Tech Town is in?
I wouldn't advise any of us trying it.
Wait.
Yeah.
Is it?
I'm going to take a risk.
God.
Wait.
He's going to be banned from Norway next.
No, this is going to be a city that's not even in Norway.
But I thought for sure Oslo. Is Oslolo is no no that's where you fly to but it's in it's spelled kongsberg
but there's two dots on the o so i don't think you say it might be like kongsberg or something
like that we know we know the name of the town connor we're not guessing where other towns in
norway we just want to know how to pronounce it i was i was concerned that i didn't i didn't have oslo in the right country
and it wasn't in norway and that's why i was like well it clearly can't be oslo because we all know
how to pronounce oslo well no because i know that uh okay basically i don't i'm terrible at geography
um but no i don't know how to pronounce coburg it sounds like something like that and that's what
so that's not an NDC is it that's a different conference
NDC Tech Town
which has got a very C++ focus
there's a lot of NDC
action in various places but Tech Town
has got the kind of C++
so this is two weeks so when does that
because maybe
so that's going to be 29 so what
we'll actually do this will be a
little bit confusing for the listener because this will be the third episode of three the first of
which will be airing on the 26th so you're hearing this outro from kate which is at the tail end of
three different conversations but just so folks know that uh that's happening and i'm sure
you're really gonna edit it like that?
Bryce, literally our last two episodes, I said, I'm going to cut it off.
Boom, right here.
And then you were like, please don't do that.
That'll be bad.
And then I made that the intro to episode 89 or whatever it was. I guess this is what I get for not exerting any editorial control or even listening to the episodes of this podcast.
That's right.
Bryce always says, I'm not going to let you put that in or, you know the episodes of this podcast that's right always says
i'm not gonna let you put that in or you know we're not doing that but that never has any impact
because i'm the one that does all this because you're the one who's editing yeah yeah but i just
but bryce's voice up at 10x and then i am the executive producer and i believe i am the headliner
right i think every once in a while i should like turn Bryce's mic down and then like in your narrator voice, you can go.
He went on about bagels for some time and turn it back up.
Yeah.
Like I said, sometimes he'll talk about his furniture and I'm like, this is the fifth time in 10 episodes that the listener is hearing about his walnut or whatever.
I do.
Yeah, I do.
Bryce. about his walnut or whatever i do yeah i do bryce listener if you remember hearing me 10xing bryce's
voice please leave a comment on twitter to uh and at bryce so that he knows so that he's aware
my i think my girlfriend would love to be able to do that because she frequently complains that i
just repeat all my stories she's like you told me this like you do i tell you that on this pot i'm
like bryce they our listener knows they've heard it four times and you're like i don't care
it's our podcast and the listener is going to be entertained but like but like with her i genuinely
am like i've never told you this before and she's like you've told me this three times so you're old
before your time that's like that's yeah she she's like i can't imagine what you're going to be like when you're old you're just gonna have one story no when you're old in addition to only having one story you start your
story like this now i think it was in 1993 or maybe it was 94 no i'm pretty sure it was 93 no
how old was jennifer then and like you had like a 20 minute pre-conversation to establish what
year the story happened in before you can actually tell the story.
That's the most frustrating thing.
Yes.
Yeah.
My grandparents are 88 and 92 and you ask them when something happened and they'll like, they'll give you an estimate that's like, with like, they won't give you a year.
They'll give you like a rough decade.
Like that was sometime in the 60s.
I don't know when.
And they'll tell you what, what car they were driving or where they lived or something.
And that's supposed to figure it out.
But then they get into an argument about when they sold that car.
Yeah.
Right.
What else should I plug?
We didn't even talk about carbon.
I was about to ask.
Oh, yeah.
Did we talk about carbon and I forgot about that?
No.
How could you?
We just had the conversation, Bryce.
Holy.
You need to get your memory checked, my guy.
Look, I'm a little distracted.
I'm babysitting the dog.
I'm trying to get the dog from eating whatever this thing used to be.
I think it used to be a ball, but now it's like half a ball.
Well, I mean, we had this till 730.
I'm not sure when your hard stop is.
We can talk a little longer.
It's not dark out yet.
Let's do it.
All right, listener.
I want to get more details on where Kate is right now,
because it seems to be like a rustic cabin of some sort.
It is literally a log cabin.
There's a brand of cabins called Pan Abode.
And it is a cedar logs.
And they built this in like the 60s this land was in the same family
from the 30s until last year oh wow so the dog just went into i'm sorry this is the worst i'm
gonna like i'm gonna get a new co-host price you've gone so available i'm just saying kate's in the middle of telling us an epic story
seven decades eight decades nine decades and bryce's response listen folks i've got a dog
here and i've got something to tell you i tell you you're on thin ice bryce i'm gonna i'm gonna
replace you and record an episode you won't even know about it and you'll be like whoa what's this
why is everyone talking i'm sorry but the dog comes over with a toy that, like,
I'm like, that doesn't look like one of the toys that she's been given yet.
She must have retrieved it from out of my backpack, which I could have sworn was zipped.
Dogs are smarter than you think.
Wait till you get a kid.
You'll be sorry.
Yeah, I'm sure I will be.
Anyways, we were talking about Log Cabin.
Log Cabin, 1930s till 2021.
And so this is an acquisition or acquisition is the correct word?
I don't know why they put it on the market last year, but they did.
And we bought it.
And we didn't get to spend a ton of time here last summer because my daughter-in-law was having a very tough pregnancy and she needed
a lot of support and she ended up in the hospital and blah blah saying a lot of free time but we're
coming here a lot more this summer and uh it is it is just a cabin on the lake and it's
a great place to disconnect and it's it seems like you got awesome like that's my
number one concern absolutely love nature absolutely love hiking all that stuff swimming etc uh but like my blood my second blood is uh is the internet and
without like good internet i start to um suffocate but it seems like you got fantastic internet there
i've got we've got pretty good internet we've got pretty good internet it's not um uh it's not
enormous bandwidth like you you know you don't want to watch tv 24 hours a day but that's not enormous bandwidth.
You don't want to watch TV 24 hours a day, but that's not why you're here, right?
When you need it, a little spurt, you've got good bandwidth,
and then you turn it off or stop using it.
We chose our house based on having access to the Internet 30 years ago.
Did you? Wow.
In those days, you could get a list of all the sites on the internet that you could dial up to.
And we chose, like, we have to be a free call to this place and that place because we can dial up and get internet.
And before we moved, I arranged with Trent University, which is in Peterborough, to have a dial-up account that I could dial into so that I could telnet back to U of T to finish my work.
Yeah, that totally makes sense.
I mean, I, when I think about where I permanently want to live, like, I don't know if it's number
one, but like number four is like, do they have like fiber optic, like high speed internet here?
Cause like, you know, you can get by with less today. Uh, but like going forward, you're going
to need, um, at least if you're going to be working
remotely and spending all your days on zoom calls etc and uh nvidia is you know one of the companies
inventing inventing uh omniverse etc and it's going to require a certain amount of bandwidth
and that uh what you need is excellent bandwidth and then something to make you not care that you
have bandwidth and walk away from it and leave your phone behind which a lake a lake does well uh it does well for that it really
does a lake with our canoe and this is a canoeing area it's an unofficial crown land called the frost
center canoe area and it is uh it's got campsites and portages and all of that. And our cottage is actually in that canoe area.
Yeah, I'll have to make a point of being able to make it out to the CPP North post-retreat afterwards.
Post-conference retreat.
I think that's a new tradition for sure.
Yeah.
Yeah.
And hopefully we won't be dealing with the carbon announcement next year.
Although someone said Google has promised to announce two programming
languages next year so that's fair yeah carbon plus plus and something else um speaking of which
yeah thanks for listening we hope you enjoyed and have a great day