 Friday, 24 July 2026
From time to time I think it's wise to summarize the courses I have on Pluralsight. There is a link on the side you can use to get a free trial if you want to take any of these. Because I redo most of the courses each time a new version of C++ becomes widespread, there are quite a few courses with similar names. Here's a quick summary.
I update every course that needs it when a new version of C++ comes out. Recent editions like C++26 and C++23 didn't really change the sorts of things beginners learn (with the exception of std::print, std::println, and std::format) so if you're getting started, you can take any of these that sound good, and they will almost certainly work with the tools you're using.
- C++ 20: The Big Picture This is an overview covering "what is C++?" and "what is it used for?". If someone has suggested you learn it, start here to understand why you might want to. The title means that it's up to date to C++20, not that it only covers C++20. The actual content is equally applicable to older (and newer!) versions of the language.
- C++ Foundations This is the first course on a fast-paced path of short courses to get you started using C++ very quickly. It's completely updated for C++26 so it uses std::print, println, and format. Other courses in this path by me are C++ Foundations: Control Structures and Functions (loops, if/else, functions, even lambdas), C++ Foundations: Object Oriented Programming (declaring classes, using objects, constructors, inheritance, polymorphism, and operator overloading) and C++ Foundations: Memory Management (manual memory management and the rule of 5, plus how to not do anywhere near as much work by using std::optional, std::string, std::vector, or a smart pointer instead of rolling your own.) There are labs on this path too, and courses by other instructors.
- C++20 Fundamentals is more properly "the fundamentals of C++ including things that were introduced in C++20". This is an introduction to the ideas, syntax, and standard library. At seven and a half hours it can't cover absolutely every corner of the language, but it does cover what you need to call yourself a C++ programmer, and get started writing real code. This course assumes you already know how to program. If you don't, try Learn to Program with C++ 17 which covers the building blocks of programming languages like loops, functions, and objects while teaching the C++ syntax and library. Afterwards, you can take Fundamentals to fill in any gaps.
- C++20 Algorithms Playbook again covers up to and including C++20, so plenty of things that have been around for decades, but it does have a lot of content that is C++20 only, because ranges made such a big difference here. It's designed to convince you to stop writing raw loops and start using the many useful functions provided in the standard library. I demystify iterators and show you the benefits of using library code instead of rolling your own.
If you're on an older compiler and can't move, you should still take these courses. Whenever I use anything from C++20, C++23, or C++26, I highlight that, so you can just move past that part if you need to. For the algorithms course, Beautiful C++ 14: STL Algorithms is the older version that doesn't have all the ranges additions. Some of my courses are really not version specific, but apply to particular kinds of work you might need to do. Kate
 Tuesday, 21 July 2026
Back in 1984, I graduated from the University of Waterloo (Chemical Engineering, so a B.A.Sc) and started working at Esso Petroleum Canada. It was a truly great job. As a co-op student I spent a lot of time with someone quite high up in HR making some software for them, and one day this person asked me what my dream job would be after graduating. Shortly after the work term ended I got a letter offering me exactly what I had described. Half the time I spent designing pieces of refinery (pumps, heat exchangers etc) -- some of which were actually built -- and half the time supporting everyone else in using "The computer" which at the time meant the terminal in their office and the mainframe it connected to, but almost immediately also meant the PCs with Lotus 123 on them that sprang up (out of the chair budget as I recall) in a shared room. It was a fantastic time.
At the time, I had a plan to go to grad school when we had enough money saved up to afford it. We even had a number we were trying to reach. In 1986, when Esso found itself facing the possibility of layoffs (having never done that before) they offered bribes, so many months of salary per year you had been there, to leave. And my work terms counted, so it was about 3 years. Tax free because it would be a "retirement allowance" that could go into my RRSP and come out while I wasn't earning anything. Was it 3 months gross pay? Maybe it was 6. It was a lot of money. It was our target for sure. So, I took it and arranged to start a Masters at the U of T in their Chemical Engineering department.
The deal with the "take this money to go away" offer was that you had to leave by July 2nd or 3rd. I wouldn't even remember the date, but July 1st was a holiday and when I came in on the 2nd all my computer access was gone so I couldn't do anything and just hung around chatting to people and feeling vaguely guilty. Then I was free for all of July and August. I suppose I could have had an extended summer vacation while my husband continued to work full time, but I'm not good at doing nothing and we knew we were going to need money while I was a student, so when a friend of a friend needed some programming done - and programmers were rare in 1986 - I started doing custom development. That first gig was in Basic - but hey, it worked, and solved the customer's problems. We set up a "partnership" - like a "sole proprietorship" but two people -- to put the income through, since both I and my husband were doing the work. That was Gregory Consulting. (I don't remember the precise date, but people on LinkedIn keep sending me congratulations so I guess when I joined LinkedIn I found those papers and the date. Mid to late July seems very likely.) It became Gregory Consulting Limited in 1989, when it was making enough money and buying enough assets that being its own legal entity made sense. By that time my Master's had become a joint Master's-PhD and we had a child as well. So there was a lot going on all at once!
We haven't done any custom development in a long time. I teach, I write, I advise, and I speak. Occasionally we update people's old code or help to port it. My husband pitches in on those tasks in a backroom kind of way, not having to talk to the customers. We've been bigger -- 11 at our peak -- but I don't feel the need to be bigger again. Bringing in projects to support that many families is a big responsibility. And while our former employees were generally good, they couldn't run the company or sell the projects, and I am actually much better at coding and explaining code that I am at sales. So it's far more pleasant to have fewer or smaller projects, and not have to do sales or try to steer other people. Our two adult children occasionally work for us on specific projects where their skills are useful.
We are still available to be your consultants should you need our advice.
 Monday, 02 December 2024
I love it when my videos get uploaded, because it means some new people get to see a talk. In this case, The Aging Programmer at CppNorth. This is the first and longest version of the talk: when I gave it in Europe I had to take out 30 minutes of content.
The reactions to the talk have surprised me. Of course I wanted it to land well and to give people something to think about. I did not expect so very many people to tell me that it made them cry or nearly cry. If you watch it at work, keep that in mind.
If you're in your 20s or 30s, you might think this talk is not for you. But it is! There are things you can do at that age that will enable you to keep programming into your 60s, 70s, and beyond. As I say in the talk, it's not too soon! Watch to find out why.
Kate
 Friday, 04 October 2024
One of the first web sites I remembered the URL of when I wanted to use it was imdb.com. "Internet Movie Data Base" and that's what it was. You could look up shows to see who was in them. It's a simple need and one that doesn't go away. "Where do I know that actor from?" Look up the show you're watching, find the character, from there the name of the actor, from there everything else they've been in ... and ah, that itch goes away and you can keep watching the show.
When I think about other web sites I started using around the same time, they're all gone, or if not gone exactly, I've replaced them with something else. Who searches on AltaVista any more? The Environment Canada weather site, once a marvelous relic of old HTML design but a great way to see forecasts and radar, has been updated to uselessness. But imdb is still there and still usable for the same thing it was always designed for.
So it was with a mild thrill that I discovered (thanks to a Google News Alert on my own name) that I am now listed there. Apparently they've loaded up a pile of podcasts. .NET Rocks, ADSP, and others that have nothing to do with me but had one guest named Kate and one named Gregory. Still quite a few podcasts I've been on that aren't indexed there, but it's a start!
Kate
 Monday, 30 September 2024
It's been 7 years since I was at Meeting C++ and I'm really looking forward to it. There are great keynotes planned and the schedule as a whole is full of talks I want to hear! I'm doing The Aging Programmer and hope it lands as well in Berlin as it has elsewhere. As always, I find it hard to believe there are too many C++ conferences for me to be at all of them, and I'm making an effort to try to mix things up from year to year and not just go to "the usual places" every time. It's good to see some speakers I haven't seen for a while, and be introduced to ideas I haven't been following. There's still time to get your tickets! I hope to see you there. Kate
 Sunday, 08 September 2024
Tomorrow I head to Norway for NDC Techtown. And now I'll be doing two talks there! I'm adding Naming is Hard to my scheduled Aging Programmer. There probably isn't time for you to register and travel there, but if you'll be there, plan to see both my talks!
Kate
 Friday, 26 July 2024
We work on the conference for a year, maybe more than a year, because we start thinking about "next year" before we've even had this year. Then it starts, and it's wonderful, and suddenly it's the last day. 
We kicked off the day with a wonderful keynote by April Wensel about compassion and how bringing warmth and caring into your software development practices makes better code, not just happier people. Then I went to Tina Ulbrich's Throwing Tools at Ranges which had a lot of numbers and data for those who worry ranges bring performance issues.
A CppNorth tradition is that we don't provide lunch every single day, wanting to send attendees out into Toronto to experience the downtown neighbourhood. Day 3 was the "go out" day for lunch and from what I heard in the afternoon, people liked it, as they have other years. After lunch I went to Where There Is A Loop There is an Algorithm by Peter Lorimer and Fatemeh Jafargholi. I really liked how Fatemeh connected something I said about memorable catchphrases like "better safe than sorry" to algorithms and their names.
Then another Conor Hoekstra "so many languages" talk, Composition Intuition II. It was a careening ride between "heh, I can actually follow this, that is kind of neat" and "what?!?". Conor takes some of the mystery out of jargon words you hear other people use and helps to bring concepts from esoteric languages ("this one was written for winning code golf challenges") into our regular lives.
Then came perhaps the most anticipated break of the conference: The Canadian Snacks Break! 

Butter tarts, nanaimo bars, maple cookies, and little bags of Hickory Sticks! You won't forget where you are at this conference! We wrapped up with a keynote from Tony Van Eerd that appeared for a while to have only one slide (but actually had 86) and a lot of philosophy and thinking. To do a good job of abstraction, you need to think about what a thing is, and what the properties of a thing are, and Tony led us through that very skilfully. Definitely one to chew on on the way home. And with that I was on the way home. Into the GO station that literally connects to the Microsoft building: 
And on the train, with one well-timed selfie-with-the-venue: 
See you all next year! You can even buy your tickets right now for a huge discount to use this year's budget, if you like!
Kate
 Thursday, 25 July 2024
Day 2 at CppNorth started with Lightning Talks! But first I had to
walk to the venue. When I drive around, I'm used to a flagger making
cars stop from time to time to let a construction vehicle proceed. But
this was my first sidewalk flagger: 
The lightning talks were terrific, as they so often are. Funny, helpful, educational, often all 3. Pier-Antoine Giguère was our high-energy MC and really shone. I don't have any pictures because I was paying attention to all the talks! Then it was Chandler Carruth, one of my fellow Carbon leads, with How Designing Carbon with C++ Interop Taught Me About C++ Variadics and Overloads, a talk I definitely enjoyed. There was plenty of code in both languages. 
The audience seemed to enjoy it, too. After lunch I went to Hiding your Implementation Details is Not So Simple by Amir Kirsh, who has a gentle teaching style I really like. Then it was Mitigating the Intellectual Anxiety Associated with Learning the C++ Programming Language by Emmanuel Danso Nyarko from CppAfrica. If you've ever worried about C++'s reputation for being "the language for smart people" this talk will show you just how real it is. The reality of what jobs are available in Africa controls what languages people will learn. With no high-paying fintech or envy-of-your-friends gamedev employers, why would someone take on something they think is incredibly difficult? 
This also applies to what is in the standard library. Seasoned C++ developers with lots of community folks to talk to can figure out how to build a UI. Different projects will make different choices - use Qt or some similar C++ framework, put a not-C++ frontend on a C++ engine, or some of the other choices of various age and success. But how does someone without that community navigate those choices and get started? Why doesn't the standard library help with that in any way at all other than "console apps" with keyboard input and text output?
Then I went to see Sohaila Ali, a very poised 17 year old with years of experience in hackathons and other contests and conferences, talk about career from that youth perspective. The audience was very engaged and the conversation after the talk was lively and enlightening.
Alas, as that talk wrapped up I had to do as I mentioned in my keynote and accept my own limitations. After a very full day of interesting talks I needed to cut the input for a while so I did not see Eric Wastl's keynote. I look forward to the recording, because I heard it was good.
One more day to go!
Kate
© Copyright 2026 Kate Gregory
Theme design by Bryan Bell
newtelligence dasBlog 2.3.9074.18820  | Page rendered at Saturday, 01 August 2026 15:21:37 (Eastern Daylight Time, UTC-04:00)
|
On this page....
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 28 | 29 | 30 | 1 | 2 | 3 | 4 | | 5 | 6 | 7 | 8 | 9 | 10 | 11 | | 12 | 13 | 14 | 15 | 16 | 17 | 18 | | 19 | 20 | 21 | 22 | 23 | 24 | 25 | | 26 | 27 | 28 | 29 | 30 | 31 | 1 | | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Search
Navigation
Categories
Blogroll
Sign In
|