# Wednesday, July 10, 2024

Things are really starting to happen on the Carbon project. Since Chandler Carruth announced the project two years ago at CppNorth, progress on the language design, and the toolchain implementation, has been considerable. Until very recently, if you wanted to try your hand at writing a little "hello world" application, you literally had to clone or fork the repo, and then build all the toolchain and tests, and you had to install a lot of dependencies in order to do that.

Now, there are nightly releases of a tool that can compile and link Carbon code. The only dependency I needed (on a WSL Ubuntu fresh install) was clang-16. I got that like this:

wget https://apt.llvm.org/llvm.sh
chmod u+x llvm.sh
sudo ./llvm.sh 16
sudo apt install \
  clang-16 \
  libc++-16-dev  \
  libc++abi-16-dev \

Then I downloaded a nightly build, untar-ed it, and could compile and link Carbon code, within the limitations of what has been implemented so far.

If you haven't been paying attention, you might want to watch some conference talks. Or check out the Carbon Copy newsletter. You'll find the 3 issues that have been published in the announcements section of the repo. Issue Number 3 is the latest and includes sample code that runs the Sieve of Eratosthenes to count the number of primes under 1000. (You can edit it to try a different limit, if you like.) This shows off user defined types (with a factory function), while loops, if, and a number of other parts of the language. 

Of course, Carbon is nowhere near ready to use. The only UI it can do is to print an integer. No other types, and it can't read input. There are no strings. There's no C++ interop. A number of language features (generics, variadics, lambdas and so on) are not implemented. It is nearly ready to evaluate. If you can't wait to start evaluating, you don't have to. Just be aware you can't evaluate all of it yet. But you can start, if you would like to.


Wednesday, July 10, 2024 2:17:13 PM (Eastern Daylight Time, UTC-04:00)  #    
# Tuesday, May 21, 2024

I really enjoy speaking at NDC Techtown in Norway. The airport is pleasant and easy to navigate, the trains are reliable, and it's a quick walk from the train station to the hotel, which is right at the venue. Plus the other speakers are always amazing, so I have a jam-packed two days of sessions to attend. Many years ago I decided to only speak at conferences where I would want to watch sessions, and it improved my life tremendously!

This year I'll do The Aging Programmer. This is a new talk that should be helpful for even the youngest programmers amongst us, because when it comes to planning for a happy old age doing what you enjoy, it's never too late, and it's also never too soon.

See you there! You've got three more days to order Early Bird tickets!


Tuesday, May 21, 2024 11:07:23 AM (Eastern Daylight Time, UTC-04:00)  #    
# Monday, May 13, 2024

I am really starting to look forward to CppNorth. We're in a new venue this year, the Microsoft Canada offices! They have a lovely suite of presentation rooms that they make available to community groups like ours. The program is chosen, and we're working on the schedule. In the meantime you can see the speakers and their talks. If you're ready, register now! You can also book a room at the conference hotel, the Royal York. It's an easy walk from Union Station to both the conference and the hotel as you can see from this map showing all three.

For those who would fly to Toronto, there's a train called the UP between Union Station and YYZ. You should plan to come a little early so you can do some sightseeing before the conference. There's a see-and-do channel on the conference discord that will give you some great ideas.

I'm honoured to do the opening keynote again. This year's topic: The Aging Programmer. Eyes, wrists, memory, stamina ... so many things we rely on can get weaker as we age. That doesn't mean you can't keep going if you want to. I'll talk about it.

See you there!


Monday, May 13, 2024 4:39:01 PM (Eastern Daylight Time, UTC-04:00)  #    
# Thursday, May 09, 2024

On January 8th, 2004, I got an email from the MVP Lead for Visual C++ at Microsoft, asking if I would like to be an MVP. After checking to see what that meant, I said yes, and was accepted into the program. I was renewed every year, and at some point after half a year, making just over 20 years coming up at the end of June. I'm still the only MVP called Kate.

I went out for MVP Summit that first year, and some RD stuff at the same time. Here's a production still from "Red Chair Green Wall" - the plan had been to greenscreen in some image related to where we each were from, but then in the end, we didn't. I'm including it to show how much younger I was then!

I've decided not to renew this year. Usually, people making this announcement do so because they're no longer doing the sorts of things MVPs do. But I'm still teaching, speaking, helping folks online, writing the occasional book, helping to run a conference, and all the technical things as well. What's changed isn't so much me, it's the program. I always valued my connection to the Visual C++ team very highly. These days, the team maintains those connections with developers whether they are MVPs or not. Events like Pure Virtual C++, among other things, can keep me informed as well or better than the program can. The MVP program is all Azure this and AI that and exciting details and announcements about conferences that just aren't relevant to me. I'm sure they are useful and exciting tools and events, for someone. I am focused on my little piece of the world and don't need more information on the stuff I've decided to ignore.

Joining the program was definitely life changing. I had some wonderful times, learned things I really needed to learn in as quick and enjoyable a way as you can imagine, met terrific people and raised my professional profile. I would do it all again in a heartbeat. I'm just not going to keep doing it, because for me personally the benefits are dwindling.

I'm truly grateful to John Perry, for bringing me into the program, to Karen Young for inspiration and funny stories, to Sasha Krsmanovic for everything, to Sim Chaudhry for cheer and support, and to Betsy Weber for being the last one standing. Most of all, I'm grateful to my fellow C++ MVPs, and the Canadian MVPs from all technologies, for being great people to spend time with and learn from. There are too many to mention -- I hope you all know you really made a difference.

Sure, I could have cropped it a little tighter, but then you wouldn't see the picture in the background of me with Bill Gates :-) What a marvelous pair of decades!


Thursday, May 09, 2024 3:02:29 PM (Eastern Daylight Time, UTC-04:00)  #    
# Sunday, March 31, 2024
I'm doing some work on getting older as a programmer. As part of that, I'd like to know what programmers have on their minds when it comes to aging. Our ability to type is a big deal. What else?

I've put a survey at https://forms.gle/gv3Zet5k6mhwcm7q6. Please take it, and please ask other developers you know to take it too. It doesn't matter what programming language you use. You can even answer if you're not a programmer -- perhaps you're retired, or you do a different job -- there's a question about whether you program at the moment.

I'd like to hear from a wide variety of ages and genders so please share this widely. Thanks!


Sunday, March 31, 2024 1:25:35 PM (Eastern Standard Time, UTC-05:00)  #    
# Thursday, August 31, 2023

During CppNorth, I took a few minutes away from the conference to do an interview for Pluralsight. The host was my dear friend Julie Lerman and we had a great time. We talked about my courses, #include <C++>, CppNorth, Carbon, and a lot more.

I thought you might like to see a few "production stills" of how I set up the space to do the recording. It's always a challenge in a hotel room to get good light, keep the bed out of frame, and be reasonably near an available power plug. I did it!

Yes, I have my ring light clipped to a lampshade. And I brought the light, my good mike, and my mike stand to Toronto with me in my suitcase. Getting the laptop up high enough and at the right angle involved a little foraging in the room :-)

This was the view from my chair. (That desktop background is the view out of the Bridge of Sighs, in Venice.)

And here's the final video.It's about seventeen minutes; please do share the link with others.


Thursday, August 31, 2023 11:04:11 AM (Eastern Daylight Time, UTC-04:00)  #    
# Sunday, August 27, 2023

The recordings from ACCU have been appearing over the last few weeks and now both of my talks are up:

  • C++ And Beyond: Discussion is a panel discussion with Vittorio Romeo, Kevlin Henney, Nico Josuttis, and me, moderated by Bryce Lelbach. The fun starts just six minutes in when Nico declares C++ "fundamentally broken." Still, there is some positive and hopeful content. We should think about the languages we use and what we want from them. C++ is a language that changes, which has consequences, both good and bad.
  • Become a Better Programmer by Using Words and Ideas From Casual Gaming is my closing keynote. Not a lot of syntax in here, but a new way of looking at some of the things you do at work, and how to approach those, that you may find helpful.

Going to conferences in person has many advantages, and I'm glad we're solidly back to doing that. But for the ones you can't attend, you can at least watch the sessions, and I highly recommend that you do.


Sunday, August 27, 2023 11:57:22 AM (Eastern Daylight Time, UTC-04:00)  #    
# Friday, August 18, 2023

The agenda for the Qt World Summit has now been released.

I'll be doing a half-hour version of a talk I've given only once before, "Am I a Good Programmer?" Many people have told me this is something they worry about pretty often.So at the end of November, we can discuss it together.

I've been lucky enough to speak in Berlin at several different conferences and I'm looking forward to being back there again. Would you like to join me? You can even get a discount of 10% if you use the code QtWS23_Kate -- register here.


Friday, August 18, 2023 12:32:58 PM (Eastern Daylight Time, UTC-04:00)  #