Tuesday, November 20, 2018
My latest Pluralsight course is live!
I start by talking about strategy - what parts to update, what general approach to take, and so on. Then I present a number of specific tactics, like using the preprocessor less and the compiler more, actually using C++ instead of just C, and using C++ features that were added in C++ 11, C++ 14, and C++ 17. I show you code examples for the changes I am suggesting, and explain why specific changes produce code that is more readable, understandable, and maintainable.
As always, if you don't already have a Pluralsight subscription, feel free to click the large white box in the margin and start a free trial. I hope you like the course, and tell your friends about it too!
Thursday, October 18, 2018
We need to talk about the word “guys” and whether or not it means people. Well, to be accurate, whether or not it means people to all the people who hear it. Here’s the thing: it doesn’t. Not to all of them. Maybe it does to you. I used to think it did to me. But now I’m not so sure it ever did. And for sure, there exist some people to whom it doesn’t. Take a look at this really non-scientific poll in which only “hey guys” was actually considered gender neutral: . There’s a whole section of the #include<C++> resources about the word “guys”.
But let’s rewind for a minute. If you’re a man, you may not have noticed, but in North American and English-speaking European cultures, two things are true, to the vast majority of people:
- Men means people
- People means men
As a woman, this is something I have come to learn. Men are people. Women are a special case. People often doesn’t include women. If you think that’s ridiculous, please react to this sentence:
On average, people have slightly less than one ovary
This is an adaptation of a sentence I heard to explain why average is not always a useful measure of a data set. I first heard it as “slightly less than one testicle.” When I told it to someone else, I substituted a feminine anatomical feature, and to my surprise, the man I told it to reacted very angrily. Since then, I’ve tried both versions of the sentence on various people, men and women (I haven’t tried it on the few nonbinary people I’ve met.) When you say testicle, everyone laughs. When you say ovary, women pause for a moment and then laugh. Some men laugh but most get angry. Why? Because people in general don’t have ovaries. Only women have ovaries, and when most people say people, they really mean men, who generally speaking are ovary-free. So this sentence includes a reminder that “the word people includes women and there are as many of us as there are of you.” Which upsets many men. And while they can’t explain their anger, it’s real. It’s actually a little scary.
Yeah but, come on, I can’t possibly mean that, right? I mean it’s 2018. How can “people” possibly mean men? Take a look at these quotes from reputable medical sites:
The American Heart Association says “People at high risk of heart attack should take a daily low-dose of aspirin (if told to by their healthcare provider)” and that “heart attack survivors regularly take low-dose aspirin.”
The Mayo Clinic says, to a nongendered “you”, “If you've had a heart attack or stroke, your doctor will likely recommend you take a daily aspirin unless you have a serious allergy or history of bleeding. If you have a high risk of having a first heart attack, your doctor will likely recommend aspirin after weighing the risks and benefits.”
But it turns out, as WebMD says, “when it came to preventing a first heart attack, different trials got different results. Why? Studies that looked predominantly at men found that aspirin helped. Trials that looked predominantly at women found no effect.” Yet the general-purpose medical web sites are still advocating that “people” should do something that in fact is only helpful for men, rather than for people.
You can see the same thing in almost any store: razors and women’s razors, lego and girl’s lego, hammers and women’s hammers, even laxatives and women’s laxatives. The default person is a man. Women are a special case and are not always included in the general “people.”
Or take a look at these headline examples from a blog entry I recommend reading in its entirety:
- ...there are so few able-bodied young adults around. They have all gone off
to work or look for work, leaving behind the old, the disabled, the
women and the children. [so women are not able bodied young adults?]
- A 45-year old man has been charged with assaulting his next-door neighbour’s wife [doesn't she live next-door too?]
So, if people means men, then even if guys also means people, it still means men. So we can argue whether “guys” is or isn’t gender neutral, but for an awful lot of both men and women, “people” isn’t even gender neutral. I think it’s fair to say, though, that guys is even less gender neutral than people.
The key is this: you might mean to include women when you say guys. And most of the room might hear it as including women, too. But some of them will not. And you can’t tell who feels that way. So eliminating “guys” from your vocabulary will improve the experience of listening to you for some people.
How can you do it? What can you say instead? Well in a lot of cases, you can just drop it. For sentences like “What do you guys think?” “What I’m here to show you guys today is” and the like, you can just use “you.” Sometimes you might want “all of you”. “Some guys think” can become “some people think” or get more specific – “some developers think”, “some managers think”, “some customers think” – you’re not only eliminating an irritant from your talk, but you’re being more precise and conveying more information. And you’re avoiding “people” which, as I’ve shown above, isn’t actually gender neutral to most of those who hear it.
If you’re talking in the singular, this becomes even more important. “Some guy asked for this feature so it got added” or “you know somewhere the guy who wrote this is thinking” or “I need a guy from your group to take the lead on this” is just always wrong. Yet the more you say “guys” to mean “bunch of people of whatever gender, I don’t care about gender”, the more you will say “guy” to mean just one person, and those who hear you will hear gender. Instead, you can’t go wrong with “someone”, or again being more specific – the developer who wrote this, for example.
The hard part isn’t figuring out how to reword the sentence to avoid the word guy or guys. The hard part is breaking the habit. I’m working on it, because I think it’s worthwhile. I encourage you to work on it too. Chances are, no-one will ever notice. That’s the thing about politeness and taking the time to be sure you’re not bumping someone with your elbow. No-one ever got off a plane and tweeted how great it was that the person next to them kept their elbows to themselves, or smelled ok, or was quiet. But it’s still worth taking the effort to be the great seatmate, and in the same spirit it’s worth taking the time to change your speech patterns a tiny bit so that some of your listeners don’t feel excluded.
Saturday, September 15, 2018
Oh my, I am doing a LOT at CppCon
. Here's a list:
- On Sunday, I am doing a preconference workshop (I believe it's sold out now) with Scott Meyers and Andrei Alexandrescu
- After the precon I will relax at the TShirt dinner. Pack a Tshirt that says C++ (or bring your badge, or a piece of paper on which you wrote C++ yourself) and choose a restaurant from the list on that page. When you arrive, ask where the other C++ Tshirt people are, and make some new friends! I'll be tweeting my plans just before I head out.
- Then it's back to the Meydenbauer for the Registration Reception. Even if you're on East Coast time like me, make an appearance, see some friends or some of your heroes, there will probably be cake, and you'll be all set for the morning. Knowing the venue a bit is going to make you sleep better, and having your badge already will let you sleep longer.
- Monday I will be attending talks and working a shift at the exhibitor table for #include<C++>, an organization working to make the C++ community more welcoming and inclusive. Come by and get a sticker! Buy a shirt!
- If I manage to stay awake, I'll go to Grill the Committee after dinner.
- Tuesday I have a session called What Do We Mean When We Say Nothing At All? and it's at 9 sharp - but you'll have been in the building for Open Content at 8, won't you? Grab a coffee and come find out how nothing can say a lot.
- Tuesday night is the #include<C++> dinner and panel! Buy your ticket now, everyone is welcome. You do not need to be a CppCon attendee.
- Then it's back to the Meydenbauer after dinner for Lightning Talks. Everyone loves the Lightning Talks, they're always fantastic.
- Wednesday I'll arrive early because there are 3 sessions I want to watch at 9 (thankfully all the talks are recorded)
- My keynote is at 10. I'm a bit nervous, but I'm mostly looking forward to it.
- Right after that, I have a panel about interop with managed code.
- Then I'm going to relax and listen to talks for the rest of the day, and go to the Planners Dinner. And more Lightning Talks afterwards.
- Thursday I have no talks to give, shifts to work, or panels to be on. I'll be a free attendee ... until the Speaker's Dinner. And there's a planning meeting after that.
- Friday is JAMMED with talks. And if you live locally, come on down and attend some because it's the open day. I have marked 11 talks in three time slots as ones I want to attend. Not sure that's going to work, exactly.
See why I call CppCon an intense conference? 12 or 13 hours a day, every day. But oh my goodness the things I will learn, the people I will meet, and the fun I will have. See you there!
Monday, September 03, 2018
Next year, I'll be keynoting a new C++ conference, C++ on Sea. I'm really looking forward to it. A little while ago, they ran a "tweet why you want to go" contest for a free ticket, and said that if the winner already had a ticket, the conference would help the winner give away the ticket.
Can you guess where this is going? I won the ticket. I already have one, so you can win mine. Here's what you need to do:
- Choose a way to "give back" to your community before, during and after attending. This might be blogging, tweeting, hosting a local meetup where you talk about what you saw and recommend specific talks for others to watch later, or even activities at the conference like giving a lightning talk.
- Gather supporting links - to your blog, your repo, your YouTube Channel, the meetup site, and so on
- If your plan won't fit in a tweet, put it somewhere that it will fit. Include lots of links - I want people to find your blog, channel, meetup etc even if you don't win
- Tweet me (@gregcons) with your plan or a link to it. I will retweet. Focus on what you will give if you are able to attend the conference.(It's not that I don't care whether you are deserving or can't afford to go or whatever, I do, but I am going to focus on how you will share your good fortune with others.)
- If you're not on Twitter, post on my public Facebook page. You can't just email me because the idea is to promote those links to blogs, channels, meetups, and suchlike.
That's it! I'll choose someone, probably by filtering to everyone who is offering to do something generous and then randomly choosing one, but I reserve the right to choose the single person who comes up with the most amazing plan. I'll tell the conference that you get my ticket.
Fine print: this is just admission to the conference. Not travel or hotel. Not paid time off work. You'll need to cover that yourself. I suggest that telling your boss you won the ticket because of your community involvement might be quite helpful as far as that is concerned . And while I can't force you to keep your promise, I will remember if you do, and that will probably be a good thing for you over and above the rewards of doing those good things for the community.
Saturday, June 09, 2018
Here's what's coming up over the next few quarters:
- August 27-30: NDC Techtown (two talks)
- Sept 23-29: CppCon (preconference day; main conference talks not yet announced)
- Oct 18th-19th: Pacific++ (two talks)
- Submissions are still open so if you want to join me in Sydney as a presenter, get on that!
- Nov 15th-17th: Meeting C++ - I will not be speaking here (I just can't fit it in), but I want you to know it's happening
- Feb 4th-6th 2019: C++ on Sea (keynote at this brand new conference)
- April 2019 - ACCU (nothing announced yet, but I plan to be there)
I consider it an absolutely marvelous problem that there are so many C++ conferences I can't go to them all! There are a number of smaller conferences that draw primarily from one country or region, and more meetups than I can keep track of. I'm open to talking at a meetup if I happen to be traveling to a city for business anyway, but I don't think I can get up above 5 or 6 conferences a year, especially if some of them involve keynotes, plenary sessions, or workshop days. It's a lot of work!
Hope I get to see plenty of people in these various places,
Tuesday, May 08, 2018
I had a very busy March and April, with travel and with preparing for those trips. So I forgot to mention that my latest Pluralsight course is now live! It's called C++ Fundamentals Including C++ 17 and it's an update of my C++ Fundamentals course. Here's what I changed:
- I made most of the demos a lot smaller, by breaking them into pieces or by putting some of the material on slides instead
- I made the slides less text-heavy, again mostly by splitting them up
- I added diagrams to explain things that needed them
- I added some C++ 14 and 17 content
- I switched to a consistent "const after" style (aka east const)
- I double checked every line of code for good style and consistency
I'm really pleased with the result. If you've already taken C++ Fundamentals you probably don't need to take it again, but I hope you'll recommend to others that they take the new one. I think it makes learning C++ less daunting than some other approaches do.
ps: don't have a Pluralsight subscription? There's a link over there -------> for a free trial.
Sunday, May 06, 2018
This year at CppCon, I'm doing a one-day pre-conference workshop. It's not just me, it's Andrei Alexandrescu, me, and Scott Meyers (everything at CppCon is alphabetical by first name, although for this particular triad we come out in the same order alphabetical by last name.) It's called Engage, Entertain, Educate: Technical Speaking that Works and that's what it's about. Because we're holding it the day before a conference, we're focusing on things you do when you actually get to the room and deliver your talk -- not on things like choosing a topic or writing an abstract. It's not a C++ workshop, though given who we are and who comes to CppCon, some C++ things are likely to be said from time to time. The focus is on technical speaking.
You will get a chance (three chances actually) to deliver a fragment of a presentation and get feedback. You'll also see other attendees doing the same - their feedback is likely to be relevant to you - and watch some talks from us (and some of our colleagues) along with some meta talk about why we did it like that.
So, when you register for CppCon, please consider attending our workshop, and booking your plane tickets accordingly. It's going to be fantastic.
Tuesday, May 01, 2018
More and more conferences are making talks available on YouTube. I've decided to put the links on a playlist to make them easier for me to find. You can use it too!
At the moment this includes 4 CppCon talks (2 in 2014, 1 in 2015, I missed 2016 for health reasons, and 1 in 2017), my Meeting C++ keynote, my Meeting C++ lightning talk, my ACCU 2018 talk on simplicity, and both parts of the Munich C++ Meetup version of the same talk. It's in two parts because we had a break in the middle for pizza.
When more of my videos get uploaded, I'll try to keep the playlist up to date.
Other recent appearances include episode 148 of CppCast.
© Copyright 2019 Kate Gregory
Theme design by Bryan Bell
newtelligence dasBlog 2.3.9074.18820
| Page rendered at Monday, August 19, 2019 11:36:31 PM (Eastern Daylight Time, UTC-04:00)
On this page....
Pluralsight Free Trial
Click Start a FREE 10-Day trial