Monday, February 21, 2022
I have missed conferences for a long time now. I did a few online talks, but it's not the same, not at all. This year, ACCU are holding their conference as a hybrid event. This means while many will gather in Bristol for all the networking, friendship, serendipity, and other benefits of being in person, others will join us online. I think that is great: for many people traveling to a conference is not an option -- for reasons of money, physical limitations, visa restrictions, and so on -- and being able to attend online is terrific for anyone who can't travel to the conference. For me, it feels safe now to travel. I have traveled twice during the pandemic: to Singapore in Feb 2020, when it was underway but hadn't really reached Canada yet, and to Singapore again in Nov 2020 for urgent family business, complete with two 14 day quarantines and multiple tests. I'll be taking all possible precautions, and I think it's going to be safe.
The schedule has
been published and my talk will be Friday afternoon. I've booked my
plane tickets and hotel room, and am starting to build out the list of
talks I plan to attend and people I want to meet. By the way, Guy
Davidson will also be there (doing a keynote, in fact) so if you're
hoping to get your copy of Beautiful C++ signed, that's a good opportunity! I think there will probably be a table for #include <C++> but even if there isn't, watch our for our shirts and say hi!
I'm going to talk on Abstraction Patterns: things I've learned to spot in code that show a missing abstraction. Unlike the sort of "business objects" that you design at the start of a greenfields project or a major expansion, you don't need deep business knowledge and a long meeting with a business analyst to design these: the code will show you what to do. Come and see what I've found and if it can help you.
Monday, May 17, 2021
In April, I did my Naming is Hard talk at ACCU 2021. I'm getting better at doing talks online and handling interactions, at least I think I am . The recording is now online, so if you weren't at the conference, you can watch the talk. Being there is still better, even when it's digital - being able to chat to other attendees and the presenter is always going to be better than just watching a recording.
I added the talk to my youtube playlist of conference talks, so if you like that one and want some more, take a look!
Saturday, February 20, 2021
A lot of people say often "if you're comfortable, you're not learning", "the only way to grow is to get out of your comfort zone", "don't expect to enjoy changing yourself" and the like.
And you know what? This is wrong. Sure, sometimes when you're doing a new thing you don't know how to do, it feels weird and scary and you're a little embarrassed and a little lost. But not all learning is like that. Sometimes learning a new thing is joyful and exhilarating and marvelous. Sometimes you have a teacher who is reassuring and supportive, sometimes you're just discovering connections and trying things that work and it's just fantastic. Don't tell those people they're not learning! Learning can be one of the most pleasant and wonderful things we do. I try to live my life that way both while I'm learning and while I'm teaching.
I think it's some sort of leftover Calvinist thing: we're not supposed to like work, we're not supposed to find joy in good things, we're supposed to push ourselves and do them even though they're horrible. Think of sayings like "No pain, no gain", "Feel the burn", or "They call it work for a reason." Sure, some stuff is difficult and you don't really want to do it but you do it anyway because it's important, or you said you would, or someone's paying you, or you know you want the end result of it. But some stuff is fun and joyful and delightful and you do it with happiness and it's still important, still something you said you'd do, you still get paid, and you still get the end result. I remember teaching someone some stretching exercises and they said with complete surprise "I like doing these! I thought exercise was supposed to be horrible!"
How would it change your learning if you let yourself enjoy it? If you let go of the idea that learning only happens in discomfort? If you could feel yourself improving at whatever you're learning and enjoy that?
But that's not the worst of it. Yes, people are missing out on a ton of joy that they could tap by just sitting up and thinking "hey, I really like my work. learning this stuff is super fun. Wow, what a great time I'm having." But on top of that, there are a pile of "teachers" who basically make you feel bad, and if you object they say you're resisting learning. Fitness instructors who literally make the fat people cry while exercising, because "that's the only way they will change what they've been doing." Activists and influencers and everyone who wants to change your opinion starting with upsetting you and keeping you upset. "hey, don't blame me. If you're comfortable, you're not learning." "If you're happy, you're not growing." First, that's not true. And second, it doesn't then follow that if you make me uncomfortable or unhappy I magically grow and learn. You need to focus on teaching, leading, inspiring, educating, showing, demonstrating, and modelling.
Yes, I may feel clumsy as I learn a new technical skill, lost as I try to understand new facts, embarrassed as I realize things I did wrong in the past. When those come as a side effect of learning, I need to embrace them because discomfort can be part of learning and growing. But there isn't some short cut where you tell me I'm horrible, say things to upset me, and claim that upsetting me is proof you're a great teacher. It's not. There is no need for you to actively try to put me in a bad place. Sure, I may need to be ok with feeling bad as part of learning. But yelling at me, telling me I am not good enough, speaking roughly to me -- these aren't teaching skills. They're psychological tricks and I am not ok with them. Perhaps you truly believe it's important to cry in order to learn. Well, you're wrong.
I'm not saying everyone has to centre my happiness to teach me. What I am saying is that some teachers (and I have names) claim they don't care if they upset others, but that's a lie: they do care. Step 1 is to upset the learners. It's their trick to get people to listen, or to let themselves feel important, or to say they have changed a person by making them feel bad. If you meet a teacher like this, whether it's a fitness trainer, a culture improver at your workplace, a twitter influencer, a tech trainer, or a conference speaker, walk away. You can find someone to learn from who won't emotionally manipulate you as part of the process. You can learn in comfort, or in the discomfort that comes from realizing you have a lot to learn; you're not obliged to learn in artificial discomfort imposed by someone who thinks it makes them a better teacher to do that to you.
Wednesday, September 2, 2020
A little while ago, I recorded a chat with Adam Bell for the CoRecursive podcast. My episode is now published, and it's good. There's a transcript, which needs some help (C++ apparently sounds like syphilis to machine transcription), but will give you an idea of the topics we covered so you can decide to listen. It's definitely a conversation to listen to, with tone of voice and laughter and such being more important than in say, how to write generic lambdas or some other technical topic.
We basically elaborated on the 5 tips I covered in a lightning talk at Meeting C++ 2017, while I was still receiving treatment but knew that it was working and I wasn't dying after all. So the focus is on how to do your work and manage your time more than on anything specifically C++-related. We also talked a little about #include <C++> and the culture of this industry, and what I (with some friends) am trying to do about that.
Take a listen, and I hope you enjoy it.
Tuesday, June 9, 2020
This year is very strange, but conferences are still happening. And they aren't all free, either. Perhaps there's a conference you'd like to go to, and being online makes it almost feasible for you, but you can't afford the conference fee? If you're a member of an under-represented group in C++, you might win a scholarship to C++ on Sea
in July or CppEurope
in just two weeks. (I'm speaking at C++ on Sea, so if you win, you'll hear my talk.) The scholarships are arranged by #include <C++>
and the application process
is pretty easy. Please let us know a little about your background: perhaps you're part of a gender minority, a racial minority, or in some way you feel that there are less people like you in C++ than there are in the world. If you work somewhere that pays to send you to conferences, this isn't the program for you: this is for people who maybe aren't working, or who are working somewhere that sends other team members to conferences, but not you. Your application should show us that, so we can decide to send you.
More details, including a list of conferences we've sent applicants to in the past, and testimonials from recipients, are on the scholarship page
Want to contribute? We're ok for these two conferences. But when face to face conferences start again, we'll be raising money for admissions, plane tickets, hotel rooms, and all the other costs that keep people away from the life changing and career changing benefits of conferences. Remember our site for when that is necessary.
Wednesday, May 6, 2020
Since late February, when I returned from a personal trip to Singapore, my travel and conference world has been shrinking in around me. Conference after conference has been cancelled (or postponed to next year which is the same thing), moved online, or put off to perhaps later this year. Of course, the rest of my world has also been shrinking: for the last 8 weeks I've left the house only a handful of times, and seen almost no-one. I'm sure it's the same for you. So it was quite a surprise to remember that my last conference wasn't actually that long ago: the video of it has just gone live.
This is a shortened version of Emotional Code for students, who don't all know C++ and don't all have a lot of experience with other people's code. I hope you like it. I've also updated my playlist, which has all the talk recordings I know about. If you're looking for conference substitutes around now, perhaps there's a talk of mine you haven't yet seen? Take a look at it now.
Looking forward to in-person conferences and live audio feedback once again,
Sunday, January 19, 2020
This week I travelled to Montreal to deliver a keynote at CUSEC 2020, the Canadian University Software Engineering Conference. Everything was nicely arranged and I happily took the train from Oshawa to Montreal, then a short all-inside walk to the hotel where I checked in, told the organizers I was there, and settled in for an early night. I got a light dinner from room service but oddly could only eat half of it. Ah well, I thought, they fed us really well on the train, I'm probably just full. No big deal. I went to sleep.
About 10:30 I woke up and realized I needed to throw up. So I did. And did. And did. All night. For an extended part of the night it was every 45 minutes. It was bad. And then it got worse. Now I am not telling you this to gross you out or to overshare, but to get you, as a possible speaker or conference organizer, to consider this possibility if you have not done so before (I had not.) I felt perfectly normal when I left home, and even when I first arrived in town. Whatever food poisoning or virus got me, it hit fast and hard. When the sun finally dragged itself up over the Montreal horizon and into my eyes, I was exhausted, having not slept all night, and pretty sure I was not done throwing up (which it turns out I was not.) I got on Slack with my organizers and told them I could handle being tired but actually vomiting while on stage was a bridge too far for me. Could we switch with someone scheduled for Day 2?
Of course we could. They did that lovely duck trick, where above the water it all looks smooth and simple and you have no idea what amount of paddling and ruddering is happening underwater. Someone else did an opening keynote; my keynote moved to 11 am Day 2. A much needed bottle of ginger ale appeared at my door. I spent the day in bed and slowly returned to normal. I slept that night and did the keynote the next day, and very much enjoyed the rest of the conference. I didn't shake hands with anyone in case I was contagious. When the AV people started touching my laptop I gave them hand sanitizer.
So, if this happened to you, would you be able to come up with a plan B? Do you travel with anti-nausea meds? (I do, for airsickness, and took some to help me sleep during the day since they sedate me. They had no hope of working during the worst of it, but they still had value.) Do you have a little bottle of hand sanitizer with you all the time? (I do, and always will.) Do you know how to reach your organizers with some urgency when you can't leave your room? Organizers, I hope you would all react as smoothly and quickly as my CUSEC hosts did. Ellen and Afreen were ultra professional, as was everyone else I dealt with.
You don't want to think about it, I know. But -- you should, anyway. It doesn't take long to have a disaster recovery plan. Swapping two keynotes was the obvious choice, and it worked because the keynoters were staying for the whole conference not just popping in for their morning. A little prior preparation can predict proper performance, or something like that.
Wednesday, January 8, 2020
Every once in a while, I make a big change in how I plan and manage my speaking engagements. Early in the last decade, I decided to speak only at conferences I would happily pay to attend, and that improved my life dramatically. Instead of trying to justify a week away from home and the office in which I would try to keep up on emails from a hotel room or a hallway couch, while surrounded by people who didn't care about the stuff I cared about, I started looking forward to a week of learning and growing, of coming home knowing more than when I left, and of meeting my heroes and getting to see my friends.
While this was an important change, it was only a change in my decision criteria, and not in my overall process of deciding where to speak. I would get an email, or see a tweet, or otherwise become aware that a conference was going to happen, and then I would decide, on a case-by-case basis, if I wanted to submit to that conference. Sometimes I would have to decline because I had already submitted to another one at roughly the same time, without realizing the overlap. In mid 2019, I changed that. I listed out all the C++ conferences I knew of, and roughly when they happened. Then my partner and I went through the list, noting when various family events are happening, when we want to go on vacation, and other "big rocks" that conferences have to fit around. We talked about how many conferences I wanted to speak at, and whittled down the list to that many.
Now, as each conference opens a Call for Papers, if it's on my list, I submit, and if it's not, I don't. Of course, my talks aren't always accepted. I set myself a goal to speak at two non-C++ conferences in 2020. I was invited to one, but after I agreed they changed their dates and that conflicted with something else I had accepted. I submitted to another and they declined my talk. But one has accepted, and I have accepted another invitation, so I will be speaking at two non-C++ conferences for sure.
Expect to see me at:
- January, Montreal: CUSEC 2020 (Canadian University Software Engineering Conference) - keynote (and a Meetup while I'm in town, come ask about technical speaking)
- March, Bristol, UK: ACCU - Naming Is Hard, Let's Do Better
- May, London, UK: SDD - Naming and Emotional Code
I have submitted to some for June and onwards, but
haven't heard, so I'm not mentioning them, nor the ones I've decided not to submit to. That's not
fair to anyone. I might do as many as 7 conferences by the time the year is over, and that's a lot. Plus user group talks whenever I can.
So is there any point inviting me to speak at your conference? Well, sure. It might match up with something else (at least one conference I added to my list because I could combine it with another trip that was already planned) or be so compelling that I will find a way to fit it in. Or it might end up on my list for next year -- I like this advance planning so I'm going to keep doing it. As always, remember that I do have requirements
for any speaking engagement, so if you invite me, please let me know you've read that and meet them.
If you're at any conference I am speaking at, please do find me and say hi! It's one of the most important parts of any conference for me.
Sunday, July 14, 2019
On July 14th, 2017, Guy Davidson tweeted what he thought was a passing pun:
But when I saw the tweet, I thought, yeah, why isn’t there?
And in that moment, #include was born. We got together at CppCon and again at Meeting C++ where Guy did a lightning talk on inclusion. We were off and running. At that time we had a channel on the cpplang slack, but that didn’t work out well: a change of owners of the slack to someone who was less interested in preventing harassment and abuse, coupled with slack’s fundamental design tenet that people having trouble with bad behavior on a slack channel can always go to their mutual boss (which doesn’t work on public servers that bring strangers together) resulted in #include being pretty much driven off the slack and forming our own server elsewhere, on discord.
The original channels on the discord were all about the work of running #include. How can we get conferences to have a code of conduct? How can we help employers to write job ads that will attract all kinds of applicants, not just people who closely resemble the ones they already have? But we couldn’t stop talking about C++ so we added a channel for that, and then another for something else technical, and another, … and things really started to grow.
By April 2018 we were about a dozen organizers and very few people who weren’t organizers. But now we have over 2300 members and over 70 channels. People are getting help with C++ problems they face, recruiting helpers for projects, getting advice about speaking or attending conferences, and much more.
Our original goals were pretty low key really:
- To encourage under-represented people to speak, to apply for jobs, to stay in this industry
- To get conferences to have a code of conduct (we hadn’t even thought about enforcement)
- To get employers to value diversity somewhat, and to provide some resources to conferences and employers
We thought it would be nice to have some stickers and Tshirts made, and have a table at conferences where we would urge people to join our discord and try to make our industry more welcoming. Well, that worked! We’ve had tables at major C++ conferences the world over and you can be sure to find a smiling person to talk to, whether they’re officially “working the table” or not.
We’ve seen these shirts at conferences and user groups around the world, at C++ standards meetings, and on a lot of speakers and influencers. We think they send a strong message to attendees that the world is full of friendly and welcoming people who will not exclude you because you are different in some way. If you want one, we have a US-based store and a European store, or you can find us at a conference near you. We try to diffuse the stickers around the world – if you run a user group and are going to be at a conference, get in touch with one of us (the conference channel on our discord would be the best place) to see if you can get a handful of stickers to take home and give out at the group.
Last year at about this time, someone asked if we were interested in partnering with the Women in Tech Fund to get women to CppCon. We sure were! The conference donated tickets at below their catering costs, and we raised $4000 to cover travel and accommodation for our scholarship winners. It was a big success and we keep doing it at conference after conference. Right now we’re raising for CppCon again – this year not just women, but anyone who is under-represented in the C++ community, can apply. If your employer isn’t sending you, why not see if we can?
This is a lot more than we had originally planned to do. A number of us started insisting on a Code of Conduct before agreeing to submit talks to a conference, and suddenly it seems all the C++ conference have good Codes of Conduct now, with real enforcement too. There’s a best practice gaining popularity of introducing the Code of Conduct team at the start of the conference too. We started handing out pronoun stickers to put on badges, and not only do lots of people take them (please take one even if your gender is obvious, it makes life easier for those whose isn’t) but some conferences have even started including a pronouns field on badges. We’ve built this amazing friendly community on the discord where people are learning and growing and becoming leaders in the C++ community at large. We’ve seen talks and demos and forms and web sites changed after we pointed out that a particular wording or example wasn’t welcoming and inclusive. People generally want to be welcoming and inclusive, they’re just not sure how to do it, so our strategy of providing really specific unsolicited advice has worked well. And probably the thing I’m most proud of is the people – actual breathing humans – we have sent to conferences. Going to a conference is career-changing, especially when you’re relatively inexperienced. You can meet your heroes, ask questions, learn a ton, make connections, get advice, and re-energize your connection to this industry and your job. Already I am seeing former scholarship winners on stage, donating to the current fundraiser, and finding their voices on Twitter and our discord. It’s amazing. I want to pinch myself some days.
The people who form the core of #include support and encourage each other. Many of us have given talks we would never have otherwise given. I won’t speak for her, but I expect the jaw dropping and enlightening Deconstructing Privilege talk that Patricia Aas has been giving could be one of them. If you haven’t watched it, you should. A lot of what we’re doing at #include is “privilege lending” – using our positions to ask for things to make people with less privilege feel welcome. We’re also teaching people who’ve been spared some hardships about the realities some other people face. Often this is all it takes for things to change quite quickly.
We’ve also done a lot of lightning talks and internal corporate presentations about #include and what we’re trying to do, but it seems like none of them ever get recorded and uploaded. Rest assured, we’re still working hard to move the needle when it comes to inclusion in the C++ community.
What’s next? Well, we’d love to start seeing child care available at C++ conferences. We’d love to see other developer communities doing some of what we’re doing, and we’re going to keep learning from other developer communities too. We’re seeing things like quiet rooms, pronouns on conference badges, and food labelling becoming the norm. And we’d love to get suggestions from anyone who feels excluded from conferences, training, job opportunities, and online communities. Join the discord and join the conversation, or find us on Twitter. See you there!
Monday, May 6, 2019
In early April I was lucky enough to go to Bristol in the UK for the annual ACCU conference. This has been an aspirational conference for me, one I attended before speaking at and am always delighted to attend. This year I was invited to keynote, and it turned out to be the closing keynote, which meant I was not done with all my talks until the conference was over! Nevertheless I enjoyed the week tremendously.
I flew to England overnight Saturday night. People often ask me how, given the fatigue issues I have left over from the whole surviving incurable cancer thing, I am able to travel. One reason is that when I travel, I only travel on travel days. I don’t try to work at the airport, on the plane, etc. I read a book or listen to music or just relax. On overnight flights, I sleep. I also schedule a few days to adjust to the time zone without having to think hard or meet important deadlines, like finishing my talk. On this trip, I spent two days visiting Cardiff, which is actually where I was born, with my sister who is planning to move there. It was marvelous fun watching a family explore and discover their new home town, and going to places I have seen on TV or in pictures.
Tuesday I did a private corporate talk about #include<C++> and diversity issues. It was very well received and I might offer it to other companies as a result. I always buy a train pass when I go to the UK and it got a good workout on this occasion. Back in Bristol I was able to relax and know I was ready for the conference.
After a lovely opening address by Russel, we had an illuminating keynote from Angela Sasse. Security can’t be left until the end or handled by a separate group who fight the developers. Afterwards I took some time to meet up with more friends and spend some time at the #include table. After lunch, a very good talk from Jonathan Boccara on reading unfamiliar code. I loved the map analogy and the way he showed using a call stack to increase your mapped area. Then a workshop from Gail Ollis on Helping Developers to Help Each Other which really brought home to me once again how important tactile artifacts – things you can pick up, put down, wave around, put next to each other and so on – can be to encourage open and complete communication. The recording stops when the hands on part starts – just one of those things you can only get by attending in person. The talks wrapped up with Lightning Talks and I did one – my first time doing so at ACCU. I was not able to stay up for the evening reception beyond a quick “hey! Great to see you!” to a handful of people. There were plenty of talks I couldn’t get to – recordings for me to watch later!
Day 2 started with a Herb Sutter keynote. I’ve read the paper but was really happy to hear it as a talk, and to hear the motivations behind enabling more people to use the whole language. Then I needed some down time before my talk right after lunch. I gave an updated version of “Nothing” and as always at ACCU got some great questions that will go into the next version of the talk – or some other one. Then I kept to tradition by doing the Pub Quiz, entertaining as always for the don’t-write-this-at-work code and marveling at how some folks know a lot of dark corners! Another round of lightning talks and an early night, meaning I couldn’t attend the Bristol Girl Geeks dinner as I had planned.
The Day 3 keynote was low on code and high on insight as Paul Grenyer talked about growing a community while dealing with the ups and downs of life in general. Then to a fascinating talk by Dom Davis about communicating, with significant meta content that I really enjoyed. I spent the lunch break at the #include table, and then dove into a variety of little talks – 15 and 20 minute ones. I was starting to tire and didn’t pay as much attention as I should have, but let me recommend Alex Chan’s reminder that the tech we build can hurt people when it’s being used as designed. I took a break to be ready for the Conference Dinner where I was able to catch up with old friends and meet a few new ones.
Finally Day 4. I started with Kevlin Henney and a talk with a similar title to my “Nothing” but very different content. Another break, another lunch at the #include table, and then some down time before my closing keynote. I updated the beginning of this talk since the C++ on Sea keynote, and I think this improves it. More great questions after and I think more material to work in there somehow. Then the close of the conference, a certain amount of hanging around not wanting it to end, and up to my room for another early night and to get ready to go.
Sunday all I did was take the train to the airport, fly home (sleeping a little on the plane) and drive home. A lot to process, as always after ACCU. And when I got home, a lot to catch up on, which is why this has taken a few weeks to write up!
Friday, February 22, 2019
I get a lot of requests to speak at conference now. More than I can possibly accept! This is a marvelous problem to have, and I'm delighted that there are so many relevant conferences and that a lot of them want me to be there. Sometimes if I decline a conference, it's just because I am doing something else in that time frame - I try not to do two conferences in the same month, for example - or the travel would be too far. But there are other reasons, so I wrote a little list of requirements and preferences. If you're running a conference, please check this list before you ask me to speak. If you're a speaker, consider putting your own list together. We can make conferences better!
And yes, I am working on a much longer list of what makes conferences great. It's over 4 densely packed pages right now and likely only to get longer. I will advise any conference-runner who asks me and genuinely wants to improve. Want my opinion of your badge, website, code of conduct, or the like? I'm happy to help.
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 3, 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 9, 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,
Sunday, May 6, 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 1, 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.
Tuesday, February 13, 2018
The schedule for ACCU has now been released, and the Feb 20th early bird registration deadline is approaching, so I thought it was a good idea to mention my session there.
Simplicity: not just for beginners
Many people say that simple code is better code, but fewer put it into practice. In this talk I’ll spend a little time on why simpler is better, and why we resist simplicity. Then I’ll provide some specific approaches that are likely to make your code simpler, and discuss what you need to know and do in order to consistently write simpler code and reap the benefits of that simplicity. Code samples will be in C++ and some material will be C++-specific.
I'll be joined by dozens of amazing speakers and the topics will be wide-ranging. It's not all C++, and I'm looking forward to a little mind-expanding from some session I didn't expect to do so. The pub quiz and lightning talks will also be good fun. April 11th to 14th in Bristol - will I see you there?
Thursday, October 19, 2017
In 2016 I didn't speak at conferences because I was ill. I really enjoyed getting "back in harness" at CppCon this year (my Guidelines talk
has been uploaded already, if you missed it) and I am happily looking forward to my next two conferences.
In Berlin I will deliver one of the keynotes for Meeting C++
. It will be one of those opinionated talks with stories in it, plus code of course. I love giving those kinds of talks and they're typically well-received, so I am expecting to have a great time. This will be my first time at Meeting C++ and I know it will be a great conference.
The next week, I will be at the 2017 C++ and System Software Summit
in Beijing. 8 tracks and over 500 attendees; this is a big conference. I've never been to Asia before, so I am very excited to meet a lot of new people (and some I've known for a while, the speaker circuit is like that) as well as seeing new places and experiencing a new conference.
I'm still thinking about what I will submit to ACCU
for the spring. I prefer to do a new talk for each conference or at least to update existing talks dramatically. I will need to make up my mind before I leave for China!
Monday, September 11, 2017
This year's innovation at CppCon is a Meet the Speakers Dinner Thursday night. It's pretty expensive ($100) because the venue is charging a lot for it, but here's your chance to relax over dinner with many of the speakers from CppCon. If you've registered for the conference but haven't bought a dinner ticket yet, please do! We want to meet attendees and this is a great way to do it. I've been an attendee at speaker dinners at other conferences and I have to say it's always been a highlight of the conference for me. Career advice from Bjarne himself over (excellent) dessert? Yes please!
I can't guarantee you Bjarne (or even me) but you will be asked if there's someone you want to sit with, and the organizers will do their best to accommodate you.
Friday, July 21, 2017
I am happy to announce that my submission to CppCon has been accepted!
10 Core Guidelines You Need to Start Using Now
The C++ Core Guidelines were announced at CppCon 2015, yet some developers have still never heard of them. It's time to see what they have to offer for you, no matter how much C++ experience you have. You don't need to read and learn the whole thing: in this talk I am pulling out some highlights of the Guidelines to show you why you should be using these selected guidelines. For each one I'll show some examples, and discuss the benefit of adopting them for new code or going back into old code to make a change.
Beginners who find the sheer size of the language and library daunting should be able to rely on the Guidelines to help make sane choices when there are many ways to do things. Experienced C++ developers may need to leave some of their habits behind. Developers along this spectrum could benefit from seeing what the Guidelines have to offer, yet the guidelines themselves are just too big to absorb all at once. My examples will be chosen to be beginner-friendly and the focus will be on what's in it for you: faster code, less bugs, and other tangible benefits.
I am so looking forward to seeing "my tribe" again in Bellevue this year. I'm going on the field trip too! If you haven't registered yet, get on that!
Friday, September 16, 2016
It has been a very
busy summer for me. Mostly it's been great, with family visits from all over the world and the wedding of my oldest child. But there have been some challenges, too. Without going into details, I've had to cancel plans to speak at (and even attend) CppCon
. This is really sad - CppCon was the largest C++ conference ever when it started in 2014, and has grown remarkably ever since. It's a place where I learn new things, make new friends and contacts, and meet old friends for a wonderful week of laughter, in-jokes, and brain-stretching.
I am hoping that within a few months, I'll be "back in the saddle" again and planning a 2017 full of speaking and learning. In the meantime, I'll be following #CppCon
on twitter, and watching the YouTube channel
for new videos - the plenaries and keynotes get up really fast. If you're not there in person, be there virtually like me!
Thursday, March 24, 2016
My latest Pluralsight course is live! It's called First Look: C++ Core Guidelines and the Guideline Support Library
and it introduces the guidelines and why you might want to use them, as well as some preliminary tool support. As always, if you need a free trial, use the link in the sidebar on the right.
Pluralsight courses now have trailers. This is my first course with one and it turned out a lot better than I expected. You don't need a subscription to watch the trailer - just go to the course page,
and over on the right side there are these downward pointing triangles next to time lengths. Click the one for Course Overview which is 1m 49s, and you'll see one entry under it that also says Course Overview 1m 49s.
Click that and the player will open and play the trailer. I did the voice recording, and some Pluralsight elves put together visuals (some are excerpts from demos) around it. I like it! Let me know what you think.
Saturday, September 26, 2015
Back when I first started going to conferences, the
schedules typically ran 9 or 9:30 to 4 or 4:30. I used to bring a book to read
in the evenings in case I didn’t like what was on TV. Then I started getting
invited to dinners and parties and planning meetings and conference days got a
lot longer for me. But what I’ve noticed recently is that conference days are
getting a lot longer for everyone. People have come all this way and are
willing to pack a lot into each day. I’m writing this on the last day of CppCon
where there is content starting at 8am and running until 10pm. There's even content over the two hour lunch break! That’s
a long day, and a bunch of them in a row makes for a long long week. So here
are some tips for how to handle that kind of week. I’m going to be specific to
CppCon, because I think a lot of my readers should attend it, but other
conferences will have equivalents to everything I’m mentioning here; I’ll let
you do the mapping yourself.
First, have a schedule. Weeks before the conference, mark
out what talks you want to attend. Have a goal of selecting two talks in most
time slots. Then if your first choice is not as good as you expected, or the
room is full and you don’t want to stand, you know exactly where to go for your
second choice. Have that schedule in your pocket – on your phone, or on a piece
of paper – so you have no lost time figuring out where to go. (CppCon uses Sched, which mails you each day's schedule in the morning, making it easy to have with you.) Don’t be the
person who shows up at 9 only to learn there were sessions at 8. Check the
schedule at least once a day during the conference in case things are being
added. Tip: things are being added, you can count on it.
Second, plan ahead to take care of the physical body that is
carrying your brain from session to session. It’s really a simple matter to
have a few granola bars and a bottle of water in your bag. If you miss a snack,
you can still have something to eat or drink. Bring a light sweater in case you
are in the cold room. Bring some painkillers if you might get a headache from
sitting somewhere loud. Bring whatever little comforts you need to keep
yourself from getting whiny and leaving early to go to your peaceful hotel room
and watch TV. (That said, there’s always one day in a one-week conference where
I go back to my room for an afternoon nap. It’s the only way I can stay
functional during long and intellectually-intense days. Just make sure you’re
doing it for a brain recharge and not for something you could have avoided by
bringing a small item with you to the conference centre.)
Third, think about how you’re going to take notes. A paper
notebook? Bring a spare pen, too. Your phone? Your laptop? Or are you just
going to immerse yourself in the experience and use the videos if you want to
check something later? Whatever your plan is, bring what you need to be able to
use it. Power is always a challenge at conferences – I like to bring an
external battery for my phone so it can charge in my bag. Think about what your
bag is going to weigh and consider leaving the laptop at the hotel and getting
by with a phone and some paper for notes. It’s really liberating not to be
lugging a heavy bag, in fact surprisingly so.
Fourth, before you arrive (at the latest, on the plane to
the conference) write up your goals for the conference. Do you want to meet
people? Specific people, or some number of people, or people from a particular industry?
Do you want to learn something specific? (Perhaps this is the year to
understand SFINAE, or be able to follow along in a talk that includes template
meta programming, or “get” those Haskell jokes people are always telling.) Maybe you want to tell people about something?
Tweet some number of times? Blog some number of times? Have a plan. Have goals. Check yourself
against these goals each morning, and adjust your plan for the day if you need
to, so that you move towards those goals each day.
When you arrive at the conference, scout out the amenities.
Where are the bathrooms? Are there tables and chairs? Are there tables and
chairs with power? On Day 1, pay close attention to the food and drink pattern.
Is coffee always available, or only at certain times? Where does the food
appear? Knowing this will take away any worry you may be carrying around that
you may miss something and not get another chance at it. It will also save you
from taking extras of things and lugging them around all day when you don’t
really need them. I also like to work out patterns related to what rooms I’ll
be in – that I’ll be on the same floor all afternoon, for example. It just
makes me feel a little more settled and centred.
Looking after your body doesn’t stop with what you planned
and what you brought. I start each day with 5 minutes of stretching which makes
a big difference to how I feel all day. I also try to use the stairs instead of
the escalators – less lining up and it makes me feel better too. I go ahead and
eat the snacks, many of which are not part of my normal day (brownies in the
afternoon? bag of chips at lunch?) but not to excess. CppCon has fruit and
other options that are not all about fat, sugar, and caffeine, and it’s often a
smart choice to go with those rather than the straight-up treats. Try not to
get too far from normal. If you normally have 5 cups of coffee a day, then you
can do that during the conference, but if you’re a one-cup-a-day person,
perhaps don’t go beyond 2 or 3 a day while you’re here. Same advice for alcohol
– if you dramatically increase your consumption over the course of the week,
you’re likely to feel uncomfortable by the time Thursday or Friday rolls
around. The one thing you should be sure to take in more of than usual is water
– whether you’re eating more sugar than usual, drinking more caffeine and alcohol
than usual, or just walking a lot more than usual from room to room in a conference
centre, extra water is what you need to compensate. If you grab a bottle of
water at a snack break, hang on to it when it’s empty – typically most
conference rooms have a watercooler or bubbler by the door where you can refill
that bottle whenever you want. Can’t stand water? Bring something to flavour it
with – pick up some powders or drops at home and try them out to see which one
you like. It’s way more efficient than hanging around hoping that this is the
break they have juice at, or leaving the conference centre on a half hour walk
for a convenience store.
As the conference goes on, be aware of how you are spending
your time. For example, if you check your email during a session, but then take
a peek at Twitter, and then at your personal Facebook – are you even really in
the session anymore? Don’t be afraid to leave if this is not the session for
you. You can go to another one, or talk to other attendees out in the hall, or
go back to the hotel for a one hour nap. Almost anything is better than
ignoring a speaker and killing time on your laptop or phone. And if you’re not
prepared to leave, then perhaps you just need to start paying more attention to
the session – assuming it’s material you actually are interested in. Take a
look at those goals you wrote. Have you tweeted recently? Blogged? Learned that
thing? Met enough people? Will staying in this session and listening meet your
goals, or should you go out to the hall and work on a goal? Are you just
chatting with your own coworkers, or someone you’ve known for years? Building
and strengthening relationships is great, of course. That doesn’t mean that
discussing the football game with your cubicle-mate is a good use of your time
at a place you flew 5 hours to attend. Maybe you can walk around and find a way
to join a conversation with a speaker or someone else you wouldn’t normally
meet. Just standing there listening can be very enlightening even if you don’t
end up saying much.
If you’re not normally a tweeter, blogger, or
talker-to-strangers, a conference is a great place to start. There are
immediate benefits. Perhaps your question will be answered, or your point will
be repeated and quoted, or you’ll make a new friend or business connection.
This will give you reinforcement for doing that, of course. As you meet your goals,
make a record of that, so you can easily answer questions about what you
learned or accomplished during the conference. Consider writing a summary when
you’re done – for yourself, or for whoever funded the trip. A chronological
structure is natural – Monday morning I went to a talk called X and learned Y
or met Z, at lunch Monday I talked to A and B who encouraged me to look into C,
Monday afternoon I went to a talk on C – but be sure to have an executive
summary that reads a little less like a diary. Start writing it during the
conference and polish it on the trip home. Once you get back to the office,
writing that summary is going to get harder and harder, so don’t put it off.
Attending conferences is a great way to boost your career –
when you do it well you learn a lot in a short time, meet luminaries of your
industry and people just like you, raise your profile and your confidence, and have
a wonderful time. When you do it poorly, you get tired, hungover, lonely,
overwhelmed, and bored. Put in the effort to plan and prepare, and you will be
in a great position to reap the rewards.
Tuesday, January 13, 2015
ACCU has announced the schedule for their 2015 conference in Bristol, so I can announce that it includes me!
James and I are adding quite a lot of material, so if you saw this talk at CppCon, you should probably come and see it again at ACCU. Alternatively, you could come to the conferences and watch one of the conflicting talks and take excellent notes, because I really wish I could be at those as well!
I first went to ACCU two years ago, spending my own money for travel and the registration fee. I enjoyed it immensely and learned a lot, so it's a real thrill to be speaking there this year. I can't wait!
Early bird rates last till the end of February. Register as soon as you can, and I'll see you there.
Tuesday, August 12, 2014
Earlier this year I flew to Utah for the Pluralsight Author Summit. Spending time with such a great collection of my friends and colleagues, and learning more about how to make a great course, was the real reason for the trip, but I got up early one morning to record a Play by Play video with Geoffrey Grosenbach. He has a genuine skill of getting you to demonstrate your own thought processes aloud and I've enjoyed watching other people's Play by Play sessions a lot.
Geoffrey had arranged for some ancient C++ code for me to poke around in. Mike Woodring came through with the sample code from his 1997 book with Aaron Cohen, WIN32 Multithreaded Programming. Seventeen-year old code it may have been, but it turned out not to be quite as ugly as I would have liked. Still, we put it through its paces a little and talked about how I approach this sort of task.
It came out to about 90 minutes overall so if you have a chance to watch it, let me know what you thought!
Sunday, August 3, 2014
How fun is this going to be? (A lot!)
I'm going to speak at this next February! One of my big deciding factors was the other speakers. Erik Meijer, Greg Young, Michael Feathers, me, and one speaker still to be named. It's a small gathering to talk about software engineering. I'm still working on precisely what my two talks will cover, but expect it to include C++, legacy code, best practices, being "modern" in your C++, and related topics. Two days of intensive geekery wrapped around two days visiting the Bahamas! Space is still available so why not consider it? Brought to you by the Code on the Beach people, so you know they know how to do this.
Saturday, August 2, 2014
It's just around the corner - the largest C++ conference EVER with over one hundred talks!
And two of those talks I'll be doing with James McNellis. We had such a good time presenting together for Microsoft Virtual Academy that we decided to do it again. How do these sound?
Modernizing Legacy C++ Code
C++ is a programming language with a long, storied history spanning over three decades--four if one includes its C ancestry. The C++ language has undergone many changes during that time, compiler technology has advanced substantially, and computers today are very different from the computers of decades past. But despite all of these advances, there's an awful lot of C++ code in use today that looks like it was written in the 1980s. In some cases, the code was written in the 1980s and it's still in use; in other cases, it's recently-written code that just doesn't use modern style.
In this talk, we'll discuss some of the problems with legacy code, and review some practical techniques for applying principles of modern C++ to gradually improve the quality of legacy code and improve maintainability and debuggability. We'll show how some very small changes to code can yield huge benefits.
Making C++ Code Beautiful
Ask a non-C++ developer what they think of C++ and they'll give the language plenty of compliments: powerful, fast, flexible, and "the language for smart people". But along with that you are likely to hear ugly, complicated, hard to read, and "the language for smart people". Is it possible to write beautiful C++? Not arcanely elegant or wickedly compact, but readable, clear, expressive - beautiful! We say it is, and we want to show you how.
In this session, you'll see how to turn pages of "comic book characters swearing" into code you'll be proud to call your own. By making your code express your intent, using the power of new language and library functionality, and leaving hard-to-read constructs out of your vocabulary, you can give your code a makeover that will stand the test of time.
If you're not registered yet, there's still time! All five days cost $995 and there are one and two day passes available for less. You're going to want to meet and learn from the stars of C++ - check the full session list to read all about it.
Sunday, February 23, 2014
I was invited to speak to some Imagine Cup contestants in Calgary and delighted to accept. I spoke to the teams informally for quite a while about judging and judges and general team tips. I was really happy to see some teams from previous years so I could hear what happened after they entered. If you're a student (undergrad or grad) and would like to enter, there is theoretically still time, but realistically it would have been better to start several months ago since you do have to build working software. Why not take a look at the contest (there are over a million dollars in prizes, and you can get a cool trip somewhere and meet some industry high flyers) and start pulling together a team for next year? There's a pretty good introduction for Canadians on the Microsoft Canada blog.
For those of you who were at the sessions, here are the slides I used in the afternoon. I talked about the new C++ features and why they matter, and demoed C++ AMP as a great motivator for using C++. (I wanted to upload the pptx files, but they're too big for the blog, so I've exported PDFs.)
GregoryCppAMP.pdf (1.65 MB)
Cpp11and14.pdf (556.51 KB)
Thursday, November 28, 2013
In a word, it was exhausting. But it was also cool from a technical point of view. Here's a still of us I grabbed from the video recording:
The screens in front of us are touch screens. I forgot how much fun it is to demo Hilo on a touch screen. Here's how it looked from my side (sorry about the lunch mess):
And a better view of all three cameras:
You can see that part of my job was to imagine people who wanted to learn C++ on the other side of those cameras. And finally, here's James hard at work getting something onto the demo machine:
I believe this picture immortalizes the moment he tweets about here:
Great day and good fun. Hope everyone learned a lot!
Wednesday, November 27, 2013
Channel 9 has all 7 pieces of the MVA Day I did with James McNellis available online now!
We went very fast through this one day introduction. If you'd like a slightly saner pace, please check out my Pluralsight courses, C++ Fundamentals and C++ Fundamentals - Part 2. If you're not a programmer, and you'd like to "begin at the beginning" with C++, try Learn How to Program with C++. There is a free trial for the Pluralsight courses to get you started.
Saturday, November 23, 2013
The C++ Jumpstart full day event on Tuesday was a blast! James and I really enjoyed ourselves and from the looks of the chat room, so did the attendees. We had literally thousands of people registered for the event and in a few weeks the recording should be available (check http://www.microsoftvirtualacademy.com/Live-Training-Events
for a recording link - scroll past Live Events to Recorded Events) for even more people to view.
Monday, November 18, 2013
Are you joining us tomorrow for a one-day introduction to C++ at Microsoft Virtual Academy? (No? There's still time to register.
) Then you might want the sample code we'll be using. We're probably going to go too fast for you to actually follow along in your copy of Visual Studio, but you can try. I've attached a zip of the code to this post.
KateDemos.zip (164.55 KB)
Tuesday, November 12, 2013
A lot of people (a lot) have asked whether the November 19th session (a whirlwind tour of C++ for those who don't know it) will be recorded. I'm happy to confirm that it will be. On the Live Events Page for Microsoft Virtual Academy
you will see both future and past events. Here you can register for our session
, and about two weeks afterward a link will appear on this page to let you watch the recording.
Please help spread the word to people you know who want to learn C++!
Wednesday, November 6, 2013
If you know someone who wants to get started using C++, and has done at least a tiny speck of programming in other languages (so I don't have to explain what a loop is) then you might want to point them at this free online event:
C++: A General Purpose Language and Library
Attention developers: here’s a painless way to learn the basics of C++ from the ground up, whether you’re updating legacy code or writing brand new, efficient, and high-performance code for new platforms like phones and want to take advantage of C++. You’ll learn the fundamentals of the C++ language, how to use the language and its Standard Library effectively, and how to use the Visual Studio environment for developing C++, including debugging, exploring code, and understanding error messages. This is your starting point for building software in C++.
James McNellis (of the Visual C++ team) and I will spend the day walking through the fundamentals of the language and the Standard Library. We're going to have a great time. Please send us some beginners to keep us company!
Tuesday, October 1, 2013
Wednesday, April 3, 2013
As it says on the Bristol GGD website:
Our April dinner is being held on Thursday 11th in conjunction with the ACCU 2013 conference.
The event starts at 7pm for 7.30pm, at the Bristol Marriott Hotel City Centre. A few female IT professionals will talk briefly about themselves and their jobs. There will then be time for discussion and networking.
Read more and register http://girlgeeksataccu2013.eventbrite.co.uk/
I can't wait! I'm delighted to be one of the speakers and I'm looking forward to meeting lots of new people.
All are welcome, whether attending ACCU or not. Men are welcome at all GGD but are asked to come in the company of a woman so that women can experience being the majority.
Thursday, March 28, 2013
The week of April 8th, I'll be in Bristol, UK, attending ACCU
. I'm looking forward to it tremendously - there is a great lineup of sessions and I only wish I could have spared the time to stay on for the C++ committee meetings that will follow it. I am, however, making the most of my time in that delightful city. Having enjoyed Guy Smith-Ferrier
's presentations in several different locations, including my own East Of Toronto .NET User Group
, I can now turn the tables and present at his.
Of course I want to do a C++ talk. But it's not a C++ group. So to be fair, I've decided to do two talks:
First, Use All of Visual Studio to Become a Better Developer
Most developers know how to use Visual Studio to do the basics of being a developer. You can create a solution, add projects to it, edit code, and run it. Easy, right? In this session, I want to show you how to be a better developer by using parts of Visual Studio you might not know about. Save hours of debugging time, move around your code more smoothly and don't lose your place, see what you want to see and find what you need to find. Demos will be in C# with Visual Studio 2012.
Second, C++ in 2013 – Why on earth?
There are so many languages a developer could use today. Yet some developers still use C++. Some developers are learning C++ when they already know C# and other younger languages. This session will show you why that is happening, and why you might want to learn the new C++ yourself. It's nothing like the C++ you remember, and it can be a very useful language for you to know.
Please do register
for these, and I hope to see you there!
Friday, January 4, 2013
Over the last few weeks, I've been accumulating links to appearances of mine, and it seems like a good idea to share these.
- OReilly webcast: This is a reasonably horrible recording (sound quality and video size) of a webcast I did back in August. It shows why C++ AMP is so cool and why you might care about it. I recorded it to promote the book but I'm not very happy with how it turned out. You'll probably do better with the recording of my Tech Ed talk.
- Pluralsight interview: This is specifically about my Using Visual Studio 2012 course. You can download the audio or read the transcript as you prefer. My favourite quote from the conversation:
It’s not just like, oh, I saved five seconds. I can go home five seconds earlier today. It’s that you’re less likely to forget what you were doing because you don’t have to put so much time into the mechanics and you just stay in flow. And to me, that’s a ramping up of two or three times the amount of code I can produce when I use everything the tool has to offer.
- Dot Net Rocks panel at DevIntersection: Here Scott Allen, Michele Leroux Bustamante, Woody Pewitt, and I discuss whatever we feel like, with occasional leading questions from Carl and Richard, and some Canadian whisky too.
Even though I haven't been blogging much, I have been doing a lot, and I hope these links will help you to discover some of it.
Tuesday, November 20, 2012
While I was in Nashville as part of the Dot Net Rocks Roadtrip, we recorded an episode of The Tablet Show. The recording is online now and I'll have to give it a listen myself to remember what we talked about - Hilo, for sure, and C++ AMP, and just generally why C++ can be a great choice for tablet development.
Saturday, October 27, 2012
I really enjoyed my evening in Nashville. It was fun answering the question: C++ - Why on earth? I think I even convinced a few of you.
Of course the biggest Nashville attraction for me is my friend Billy Hollis:
Look what a luxurious meeting room they have! Couches and tables and general comfort. And yes, I got to see the inside of the RV:
If I got you interested in C++, you might like some links:
Thanks for the visit, and I hope to be back!
Saturday, October 20, 2012
Is the C++ Renaissance real? Well I'll tell you one thing: conference organizers are way more receptive to all-day C++ sessions than they used to be . I'll be doing yet another one this year. This time it's in Las Vegas Dec 9th, as part of DevIntersection. Here's the abstract:
PRECON04: C++ in 2012: Modern, Readable, Safe, Fast (9:00 AM - 4:00 PM)
C++ is gaining momentum as a development language, so whether you've never used C++ or stopped using it a decade ago, it may be time to brush up on your skills. With a new standard release providing new keywords and capabilities, C++ is a featured language for many of the new Microsoft technologies and enables some amazing speed-ups of your application using libraries like PPL and C++ AMP. What's more, Visual Studio offers tools to native developers that have only been available for managed developers in earlier versions. This all-day workshop will show you what all the fuss is about and give you the skills you need to understand the advantages of C++ today and how to start applying those benefits to your application.
If you're an experienced and current C++ developer, you may not need to come to this session. But if you were thinking you needed a refresher, here's a great way to get one, and at the same time look at some of the cool new stuff that is available to you once you know C++. If you've never written a line of C++ code in your life, but you're solid in C# or Java so you know the basic syntax (if, while, etc) you should be able to follow this session, though it won't teach you all the fiddly bits of C++ syntax and make you a C++ developer from scratch. It should, however, give you the inspiration you might need to go and learn all that fiddly syntax, and understand why we have it.
The workshop costs an extra $399 for conference attendees and will cover a lot of ground: new language and library goodies in C++11, ALM Support for C++ developers in Visual Studio 2012, a quick taste of some PPL and C++ AMP power, and plenty of advice on best practices and modern C++ style.
I hope to see you there! Don't forget, if you register for the conference before Nov 1st, you'll get a tablet!
Wednesday, October 17, 2012
Here's an amazing grand finale to the Dot Net Rocks Roadtrip this year -a full on developer conference in Las Vegas, Dec 9th - 12th.
I love this answer to "What is DevIntersection?"
This three-day conference marks the final stop on the USA leg of the .NET Rocks! Visual Studio 2012 Launch Road Trip! DevIntersection is a developer conference PLUS the recording venue for the last stop of the three-month road trip hosted by Richard Campbell and Carl Franklin. We're bringing together some of the best speakers (and our personal friends) for a conference that is relaxed and educational, plus forward looking as you and your company start to figure out what to do with Windows 8 and Visual Studio for the next few years. Our attendees tend to be .NET software developers plus other members of their teams. DevIntersection is an educational onsite conference for anyone who is attached to a .NET development programming project who is looking to use Visual Studio to develop apps for desktop, web and mobile platfoms.
I have two breakout sessions - one on C++ AMP and one on developing for the Windows Store in C++. No .NET in either one of them; this is a conference for expanding your horizons, after all.
For $1595 you get three full days of sessions. And if you register in October (hurry!) you will also get a new tablet. Build sold out in hours, so this is your chance to get access to deep and current information for developers across the Microsoft ecosystem. See you there!
Thursday, September 27, 2012
ago or so, when Visual Studio 2010 launched, the crazy duo of Richard Campbell
and Carl Franklin – if you’re a Dot Net Rocks listener, they’re the voices in
your head – took their show on the road and drove an RV across the USA holding
live Dot Net Rocks evenings pretty much every night for weeks on end. Each city
featured a surprise “rockstar” flown in for the occasion. I did St Louis and
had a great time. Now they’re doing it again and this time announcing us in
advance – I’ll be in Nashville Oct 24th.
Registration is free, and please do register
using the big red Register button for your city (I hope to see you in
Nashville). You can track them online too and follow
the #dnrRoadTrip hashtag on Twitter.
If you’re in
Toronto, don’t miss the October 13th Saturday-a-ganza at the
Microsoft Canada offices featuring Michele Leroux Bustmante! I know I won’t!
Wednesday, September 26, 2012
writing courses for Pluralsight. I have quite a few and am working on more
right now. They like to interview their authors about each course. Here's one about my latest for them. If you’ve
done the whole course you won’t learn anything new from the interview, but if
you’re curious about writing what we’re now calling Windows Store applications
for Windows 8 using C++ and Visual Studio, perhaps this interview will help you
decide whether it’s something you want to learn. There’s a transcript as well
as an audio link.
Monday, July 2, 2012
I'm headed to Australia tomorrow (I won't get there till Thursday though) and I'm going to be doing some C++ talks while I'm there. Both are aimed at folks who haven't been keeping up to date on all that's been happening in the world of C++ over the last few years.
On Tuesday, July 10th, I'll do a free Tech Breakfast on the new features of the C++ language in the standard once called C++0x and now called C++ 11. I'll demonstrate how a lot of these features are already in Visual Studio 2010 and some in Visual Studio 2012. It runs from 9am to 11 am in Sydney, and you do need to pre-register.
Then all day Wednesday, July 11th, I'll do a course on modern C++ development with Visual Studio 2010 and 2012. I'll cover language changes, tool changes, drill into my favourite feature - lambdas - and show some of the cool things they enable, and give you some advice on best practices for writing C++ today. This course costs $300 Australian and will be held in Sydney just once.
I realize many people who read my blog don't need to come and learn this material. But perhaps you know someone who does? There is room in both sessions for more people - and I want to reach as many people as possible, so please spread the word! Registration links for both session are on the SSW page announcing them
Tuesday, June 26, 2012
As I am soon to discover first-hand, Australia is a very long way from North America. So when Adam Cogan makes the trip, he often extends his stay to see more people or places. Last September when we all gathered for //build/, Adam tacked a mini Canada tour onto his North American stay and we got together for a quick chat near my home. Part of it was filmed and (after a long delay to cope with the sound issues) is now available
on the SSW TV site.
We talk about C++ and why it has advantages over managed code in some cases, about C++ AMP, and about tablets, leading to this moment:
It's just a 7 minute video, so give it a listen!
Thursday, May 31, 2012
Recently one of my staff went to a week-long conference - her first. I gave her some tips before she went and it occurred to me that others might like them too. I hope you'll apply them to a trip to Tech Ed or some other conference where you can hear me speak.
First, here are some links to some other good posts on the topic. Here's me a year ago
, pointing to John Bristowe's suggestions for going to a big conference. And here's me 18 months ago
, pointing to Joey deVilla's suggestions for meeting people and talking to them. And here's a great question
(with an answer from me) on Programmers.StackExchange about networking at conferences. (BTW I met the asker of that question in person at Tech Ed, which was great for both of us.) And here's me four years
ago with some details on choosing talks to attend.
Now, here's the super condensed version of my advice:
- Plan your sessions in advance, at least two per timeslot. Carry a paper list of session names and room numbers so if you decide to bail on one, you know exactly where to run to, even if your electronics are out of battery and there's no wifi.
- Wear comfortable shoes and clothes, but not so comfortable that you would feel underdressed when talking to a potential employer or other business contacts. You will walk a LOT so choose those shoes with special care. It will be both stinking hot (outside - many conferences are held in hot places at muggy times) and freezing cold (if you end up right under the AC that is set on stun) so have a layering approach.
- Bring your own bag so you can tell it apart from everyone else's, and know just where to find things you need. Leave as much as you possibly can in the hotel room, to save your back during all that walking and to minimize what you might lose if there's any kind of bag mishap.
- Eat at the conference - it's a great time to meet people and this is where I usually bump into people I know.
- Go to the trade show floor, the community area, and the like multiple times. Serendipity will happen but you have to give it a chance
- Pack a somewhat larger bag than you need to - there is a lot of swag at Tech Ed and first timers can't resist lining up for TShirts and the like. Don't be that person who stuffs it all in the conference bag and checks a second bag on the way home. For one thing, someone may accidentally pick up your conference bag thinking it is theirs. Your conference bag and all your other swag should fit in your main bag.
- Pack your days and evenings FULL. Don't you dare watch TV in your hotel room! Go to the labs and try something you always wanted to learn a little more about. Download something that was just released and try it. Go to a party. Write up your notes (or better yet, blog them.) Send your boss late night emails about what a great time you're having and how much you're learning. Watch one of the sessions you didn't get to that day and then figure out if the speaker is likely still at the conference and how you can arrange to find that speaker and say thanks for the talk or ask a question. Fill out the evals for the talks you went to. There is SO MUCH you can do while you're on site, so try very hard to do it all. Make the most of the week, make it intense, and you will get more out of it by fully engaging.
- Try to do at least a few hours of sightseeing - one afternoon or evening - with some friends if you can. Maybe the attendee party is being held in some iconic location? Go to that. Or there's a restaurant in the town that you've always wanted to eat at? Gather a few folks and arrange something. Twitter is great with the conference hashtag - "who wants to go to XYZ tonight?" - I've done this for going on tours too. Gives you fellow geeks to talk to while you sightsee and strengthens friendships if you go with people you only know professionally. But don't overdo the sightseeing - you're here for the conference, remember.
I hope I see you there! The better prepared you are, the more benefit you will get from the conference!
Tuesday, May 29, 2012
I've been putting my schedule together for the talks I want to attend at Tech Ed North America and Tech Ed Europe this year. While I wasn't looking, a bunch more C++ content was added.
Plus some language agnostic sessions that chose to put C++ in their session descriptions, which is a new thing these days.
Now as it happens, Tech Ed North America is sold out, so if you're not registered yet, you have three choices: join the waiting list, watch these sessions online, or get your boss to agree to a slightly larger T&E budget and head to Tech Ed Europe in Amsterdam just two weeks later. There we will have:
- PRC08, my all day Monday precon: C++ in Visual Studio 11: Modern, Readable, Safe, Fast
- DEV316, Tuesday at 4:30 pm: Application Lifecycle Management Tools for C++ in Visual Studio 11 by Rong Lu
- DEV368, Wednesday at 2:45 pm: Visual C++ and the Native Renaissance by Steve Teixeira
- DEV322, Thursday at 8:30 am: Building Windows 8 Metro style Apps with Visual C++ 11 by Rong Lu
- DEV367, Thursday at 4:30: Building Windows 8 Metro Style Apps With C++ by Steve Teixeira
- DEV334, Friday at 1:00 pm: C++ Accelerated Massive Parallelism in Visual C++ 11 by me
(Europe doesn't have direct links to the sessions, but they do allow links to the search for C++.) I'll have to miss Steve's talk because Rong and I are going to Belgium, so that one I'll be watching online.
One way or another, please attend or watch these sessions. There's a lot of new stuff happening!
Monday, May 28, 2012
I am having a very lucky year. I've been nominated and accepted as a judge
at the Worldwide finals of the Imagine Cup. I love being around students, and everything I've heard about Imagine Cup tells me that the energy, excitement, and creativity is marvelous to be part of. While I'm there, I decided to stay an extra day (July 11th) so I can offer my one-day C++ training to those who can't make it to Tech Ed in Orlando or Amsterdam. Here's what I'll cover:
- Modern C++ with the Standard Library
- Application Lifecycle Management for Visual C++ 11
- Leveraging Lambdas for the PPL and C++ AMP
- Best practices for C++ developers today
This is not a free session, but the price is even lower than the Tech Ed precons since I don't have travel expenses to get down there and see you all. If you live in Australia, please register and take advantage of this chance to come and learn what's been going on with C++ while you weren't looking! And if you don't, I'd appreciate it if you could spread the word to those who do.
Sunday, May 27, 2012
Some people really go above and beyond for community. They have an idea, and then they make it happen. Take Marc Gregoire
, for example. Our names are similar, and we both care about community, C++, and related topics, but we've never met. That didn't stop him from emailing me to see if I would do a user group talk while I was nearby for Tech Ed Europe. Of course I would! And then he arranged for Rong Lu from the C++ team to come and do one as well. Marc has done all the work of getting the room, the travel arrangements, you name it. All I have to do is take a short scenic train ride, and talk about a topic I'm excited about. That part is easy. The organizing part is hard.
It's going to be a very fun evening. I'm going to talk about C++ AMP, and Rong will cover what's new in VC++ 11. I've seen her speak before, and I know you're going to enjoy it. Be there, Wednesday June 27th at the Microsoft offices in Brussels. (I was kinda hoping for Tuesday, so I could make a joke
, but Wednesday will be fine.) You need to register
, so please do!
Saturday, May 26, 2012
This report is well overdue, I know. On April 17th I spoke at the first meeting of the Toronto C++ User Group! The room was PACKED:
And as you can see, there's quite an age range represented. The space was provided by bNotions. It was lovely and airy, and I was thrilled to hear their commitment to community across a variety of technologies:
Once I got started, my challenge was to give the one hour version of this talk, and not the six-hour one I plan to do at my Tech Ed precons
in June. Here I am in action (thanks Eran for wandering the room with my camera throughout the talk) explaining the new ranged-based for:
The next meeting will be shared with the North Toronto .NET User Group, covering Windows 8 development in native C++
. Yes, the .NET folks want to hear about this, too! I'll see you there June 4th, right?
Friday, April 13, 2012
The times for my sessions at Tech Ed North America and Tech Ed Europe have been announced.
- PRC08 - C++ in Visual Studio 11: Modern, Readable, Safe, Fast is Sunday, June 10th in Orlando, 10am to 6pm. This is the session for those who've been ignoring C++ and are wondering why they keep hearing about it. Please encourage your friends to attend.
- DEV334 - C++ Accelerated Massive Parallelism in Visual C++ 11 is Tuesday, June 12th in Orlando, 10:15am - 11:30 am. This session will show you what C++ AMP is all about.
- PRC08 - C++ in Visual Studio 11: Modern, Readable, Safe, Fast is Monday, June 25th in Amsterdam, 9am to 5pm. The same material as in Orlando, just saving some travel time and costs for attendees
- DEV334 - C++ Accelerated Massive Parallelism in Visual C++ 11 is Friday , June 29th in Amsterdam, 1pm - 2:15 pm. Again, same material, different continent.
If you or those you influence are not yet registered for the conference in general, and the preconferences in particular (they cost extra and require you to arrive early, so plan ahead) please take care of that as soon as you can. Here are some helpful links:
North America Europe
Hope to see you in one place or the other!
Monday, March 26, 2012
How's this for a renaissance? People are starting C++ user groups!
- The Jerusalem .NET/C++ User Group will cover both topics. They've had their first meeting already.
- The Central Ohio C++ User Group has also had its first meeting and will meet monthly.
- In Austin Texas they're calling it the C++ Meetup and the description sounds a lot like a user group
- The Belgian C++ User Group has its first meeting in April
It's so much fun to see this excitement springing up. There seem to be two popular topics for first meetings: either "What's new in C++ 11" or "Writing Windows 8 Apps". I think these two things arriving together - the huge language and library improvements (and the unexpected synergy of the language changes and the library changes) with the chance to write for Windows 8 in C++and XAML - is producing much more interest than there used to be.
And now the fun is spreading to Toronto! No, I'm not founding the group - I'm surely not the only C++ developer in Toronto after all. But I am honoured to be speaking at the first event on April 17th right downtown (pretty much Yonge and Bloor.) I'd love to dive deep into C++ AMP, or show how the Consumer Preview of Windows 8 is easier to code for, but I think I should begin at the beginning, so my talk is titled What happened in C++ 11 and why do I care? and has this abstract:
C++, both the language and the libraries that come with every compiler, is
defined by an ISO standard. The latest version of the standard, generally known
as C++ 11 after its approval last fall, was optimistically called C++0x
throughout the multi-year process that led to its adoption. Many of the language
changes (new keywords, new punctuation, new rules) and library changes
(genuinely smart pointers, threading, and more) have already been implemented by
vendors who were following the standards process closely.
In this session
Kate will introduce and demonstrate many of the highlights of C++11 including
lambdas, auto, shared_ptr, and unique_ptr. These are all supported in
Microsoft’s Visual Studio 2010. You can see how to make your code more readable
and expressive, easier to update, more correct (less bugs and memory leaks) and
faster, not by trading off among those possible constraints but by adopting
modern C++ which gives you improvements in all four areas at once. If you’ve
been ignoring the Standard Library, for example, you must see how lambdas make
all the difference and open a world of productivity to you.
A sneak peek of the next version of
Visual Studio will show you even more C++11 goodness.
If you've looked at my Pluralsight courses
, you'll know that my biggest challenge is going to be fitting this into an hour plus Q&A. This will be an overview, an overture if you like, and should whet your appetite for the meetings to come!
as soon as you can, please spread the word, and I hope to see you there!
Friday, March 23, 2012
My C++ precon, an all-day session about modern C++, has had a slight title change and is now called PRC08, C++ in Visual Studio 11: Modern, Readable, Safe, Fast. The content is still the same. My high level outline is:
- Modern C++ with the Standard Library (demo of strings, shared pointers)
- Application Lifecycle Management for Visual C++ 11
- Leveraging Lambdas for the PPL and C++ AMP
practices for C++ developers today
This is all day the Sunday before Tech Ed Orlando starts, June 10th. You don't have to be registered for Tech Ed to attend a pre-con. It's a great way to get caught back up on what's been happening with C++ over the last decade or so. It's really not the language you remember. I plan to show you what's fun and amazing about it. Forget all that pointer-to-pointer-to-pointer and manual memory management stuff you may remember, and get ready to see how C++ can be simple, fast, and genuinely useful in some surprising ways.
Wednesday, March 14, 2012
People keep on releasing interviews with me. If you're willing to listen to them, I'm more than willing to keep on talking. There's remarkably little overlap in all of these.
On The Tablet Show
, Richard and Carl (yes, that
Richard and Carl) asked me about C++ in this wacky new world of Windows 8. We had the usual freewheeling conversation and covered a lot of ground in 49 minutes.
For PluralSight, Fritz
asked me questions about my latest course, and the industry in general. This one's just ten minutes, and there's a transcript if you'd rather read than listen.
Tuesday, March 13, 2012
In recent years the speed at which Tech Ed session recordings have appeared has increased dramatically. I can now sometimes watch a missed session while I am still at the conference, in time to seek out the speaker and ask questions if I want to. But one thing that hasn't changed is that the precons, the all-day sessions held the day before the conference starts, are not recorded. Whether you attend one or not, you can't watch afterwards.
This has two consequences. First, if you want to see what's been happening to C++ lately and why people who've ignored it for the last ten years are suddenly interested again, you have to register (Orlando, June 10th or Amsterdam, June 25th) and you have to come and listen to me live. Second, if you do that, you want to take plenty of notes because you won't be able to just watch the video again later if there was a part where you got caught up in something on Twitter and just weren't listening.
Here's what I'm going to do to reduce the note-taking burden for my attendees. (I can't speak for other precon presenters, but you're welcome to ask them.) I will put a number of useful bits and pieces for you to download, using credentials I'll give out on the day. These will include:
- The PPT decks I will use to present, with some
notes added to some slides
- Written demo scripts
for all demos with exact step-by-step instructions (occasionally, it might just
say “show the for loop and explain what it is doing”, but if there is code to
be added or edited, it is in the script, if there is an option to be set the
exact menu choices are in the script, etc.)
- Zip files of
starting points for all the demos and ending points too
During the precon itself, I will collect Live IDs from attendees who would like to be added as a user to a subsite on my “hosted TFS” preview page, which
I am using as a sandbox. This
makes it possible to play around with the new ALM features without having to get a site all set up. I am not sure
what will happen to this preview site by Tech Ed time, but I’m presuming
it will continue to exist all through 2012. That’s the site I intend to use
during the ALM (module 2) section of the precon.
I also intend to record each demo in advance – I typically record all my talks when I’m practicing for length and I have a pretty good mike that I use for my PluralSight courses. It's not much effort to edit them so that you can use them for a reference. I would have put this in the bulleted list but I don't want to 100% promise that I'll get them all nicely edited in time. I hope to provide them.
Specifically for module 4, Best
Practices, I am planning to write a short paper that makes the same points in prose
– sentences, code snippets etc – and if it's ready in time, I'll bring printouts of that paper
to the session (leave me a comment if you think that would be useful.) It will be on my web site eventually, but I am trying to push myself to get it written before Tech Ed so it can be at the precon.
Anything else you think would help to reduce the note-taking burden? It's a full day, and a lot of us are out of practice receiving information in pieces of that size. Let me know!
Sunday, March 11, 2012
Recently the Tech Ed people interviewed me for a profile that is now live. You can read it on their blog. We are all starting to work our way towards being ready for June. The content catalogs are partially public for both Tech Ed North America and Tech Ed Europe. If you search on C++, you'll find more than just my precon, by the way.
Who is giving those talks? Well I am doing the precons in both places - that's official. And I wrote the abstracts for the other two talks, so I'm pretty sure I'm giving those too. I would love to see you there. And if you have colleagues who are coming to Tech Ed who really don't "get" why C++ is different these days, please encourage them to join me for the all-day precon that answers precisely that question.
Saturday, March 10, 2012
I've been working on another C++ course for Pluralsight to complement the C++ WinRT/Windows 8/Metro course I did as well as the two-part C++ Fundamentals course (part 1, part 2). It's finished and live!
The topics I cover are:
- Avoid Manual Memory Management
- Use Lambdas
- Use Standard Containers
- Use Standard Algorithms
- Embrace Move Semantics
- Follow Style Rules
- Consider the PImpl Idiom
- Stop Writing C With Classes
I had a real blast writing this - while I was editing it I could hear my own enjoyment of parts of it. I hope you enjoy it too. A Pluralsight subscription is such a bargain - buy one for the topics you simply MUST learn for work, then use it on your own time to learn all those other things that you think you might benefit from. (I recommend Annual Plus - $500 gets you the sample code and offline viewing, all you can learn for a year.) Whether C++ is "must learn for work" or "I hear it's different know, wonder if it could help me" for you, I hope you find it helpful. Please let me know!
Thursday, January 12, 2012
Perhaps not a great surprise, but today the precons for Tech Ed North America
were announced and mine is there too. It's well described in the previous blog post
and I'll be doing the same material at both events. So if Orlando, June 10th works better for you than Amsterdam, June 25th, terrific and I'll see you there! Registration
is now open.
Monday, January 9, 2012
Yay! Today I got news that registration is open for Tech Ed 2012 in Amsterdam, and with it confirmation that my preconference
has been accepted! This is great news for anyone who loves C++, because it's a C++ all day preconference! The title is C++
in 2012: Modern, Readable, Safe, Fast
and here's the abstract:
is gaining momentum as a development language, so whether you’ve never used C++
or stopped using it a decade ago, it may be time to brush up on your skills.
With a new standard release providing new keywords and capabilities, C++ is a
featured language for many of the new Microsoft technologies and enables
some amazing speed-ups of your application using libraries like PPL and C++
AMP. What’s more, Visual Studio offers tools to native developers that have
only been available for managed developers in earlier versions. This all-day
session will show you what all the fuss is about and give you the skills you
need to understand the advantages of C++ today and how to start applying those
benefits to your application.
Now, if you're an experienced and current C++ developer, you may not need to come to this session. But if you were thinking you needed a refresher, here's a great way to get one, and at the same time look at some of the cool new stuff that is available to you once you know C++. If you've never written a line of C++ code in your life, but you're solid in C# or Java so you know the basic syntax (if, while, etc) you should be able to follow this session, though it won't teach you all the fiddly bits of C++ syntax and make you a C++ developer from scratch. It should, however, give you the inspiration you might need to go and learn all that fiddly syntax, and understand why we have it. I am also hoping there will be a number of relevant breakout sessions you'll want to attend after getting a taste of what C++ developers can do, though we have to wait a little longer to find out about those.
I'm still working on the exact content, but my first draft outline looks something like this:
- Modern C++ with the Standard Library (demo of strings, shared pointers)
- Application Lifecycle Management for Visual C++ 11
- Leveraging Lambdas for the PPL and C++ AMP
practices for C++ developers today
This is 9am - 5pm (all day) the Monday before Tech Ed Europe starts, June 25th. You can register for the precon and Tech Ed now. And tell your friends! I would love to see a TON of registrations to ensure continued C++ content at Tech Eds around the world.
PS: Yes, I know that Tech Ed US is a few weeks before Tech Ed Europe. You didn't miss the US announcement; you shouldn't have to wait much longer for it though.
Wednesday, December 21, 2011
Work is underway on settling the agenda for Tech Ed, even though it's almost 6 months away. As Brandy explained
a week ago or so, it starts with asking "the usual suspects" for session submissions. Tech Ed is a fairly closed conference - the call goes out to MVPs, RDs, some Microsoft employees and previous speakers. (How do you become a new speaker? Do a great job somewhere else first -Tech Ed is not a beginner's conference. The people who get the call for content can propose great speakers who didn't get the call.) Now they've announced the technical tracks
, which gives you an idea of what you can expect to see covered. There are no huge surprises here: I'm most interested in Architecture & Practices, Developer Tools, Languages & Frameworks, Windows Client and Windows Phone.
What will be next? Announcing the precons. They've already announced the price: $400 if you're attending Tech Ed, and $500 if you're not. They'll say what the precon topics are in early January. But by then, the super early bird discount will have expired. That discount will save you $300. So registering now is like paying only $100 for the precon! If you can decide in January or February, when the precons are announced, you'll still save $200, so it's like your precon is half price. Either way, it's a great deal for a full day of deep training on something relevant to the kind of people who come to Tech Ed.
To be clear, I don't know what the precons are going to be. I will blog as soon as I know. But if you think there's a chance that spending a whole day with someone who really knows their stuff on a topic you need to know (especially one you never got around to learning and feel you should) would be worthwhile, then why not make it official, register for Tech Ed
, and see what gets announced in January?
Saturday, December 17, 2011
Pluralsight, for whom I've done a lot of courses
, has revamped their website recently. That includes having drawings or sketches in a lot of places where you might expect photographs. Here's the one they've been using for me, next to the photo it was made from:
I definitely like the sketch better, but lots of people recognize the photo because it's one of the few I use in the various places people want pictures. I also have this one I use on my public Facebook page
I am not sure any of these will help you find me in a crowd. That's one of the reasons that on my business card (and my Twitter profile
) you'll see this one:
More than one person has had an "oh, that's who you are!" moment when I hand them my business card. Yup, that's me!
Thursday, December 15, 2011
The second part of my C++ Fundamentals course is now live
on the Pluralsight site. This one covers:
- The Standard Library - string, collections, and the like
- Lambdas - perhaps my favourite C++ 11 feature
- Exceptions - every C++ developer needs to understand exceptions
- Understanding Legacy Code - here's where you'll find out how C++ earned its reputation
These four modules build on the material I covered in part 1
- Context - to set the stage
- Tools - Visual Studio and Visual Studio Express
- Fundamental Types
- User Defined Types
- Flow of Control
- Pointers, Inheritance, and Polymorphism
One of the things I like best about this material is that char* strings and all the special cases to deal with them don't show up until the last module of part 2. Ditto the kinds of arrays you may have first learned. The kinds of gyrations C-style arrays and C-style strings put C++ programmers through are a large part of why people think C++ is hard. With std::string, std:vector, and other goodies from the Standard Library, C++ really isn't hard. Honestly!
Sunday, August 7, 2011
Like a lot of people, I got started on Facebook one way, but now I use it another. And like a lot of people, I haven't quite "cleaned up" from my original start. My rule these days is very clear - Facebook friends are actual friends. People I know and like. In fact, my rule is that we should have shared a meal - ideally a meal and some wine - to be friends on Facebook. If we worked together, or presented at the same conference, and we actually enjoy each other's company, chances are we went for dinner, or lunch, or a beer, at some point. It's a handy rule that makes my decision process easy. I get friend requests all the time from people I don't know, and I just ignore them.
With that audience, my Facebook posts can be pretty personal. What my kids are up to. Pictures of my family and my holidays. Details about travel plans, including whole-family trips that leave my house empty. Sure, I know that what you put on Facebook can be forwarded and shared elsewhere. But I know who I'm sharing with and I trust them to have my best interests at heart. I don't connect my Twitter statuses (which I know are public) to my Facebook ones (which are more private and less frequent) or vice versa.
What I've set up, for people who use Facebook as a news hub, is a public page
. Here I post when I'm speaking somewhere, or when a video or article is published. If you "like" this page, my announcements will end up in your news feed. So if you added me on Facebook and never heard back, use the public page instead. I don't post links to all my blog entries there, because I figure you can always subscribe to this RSS. I don't post anything personal either, so if you don't actually care where I'm spending my holidays, you might want to like that page even if we're already Facebook friends.
Friday, July 29, 2011
Since Tech Ed came and went during my blogging hiatus, I didn't get around to providing links to some of the sessions you might want to see. It's time to correct that omission:
There were other sessions I attended, including a great interactive session that was not recorded called "C++ Renaissance at Microsoft: How the C++ Developers Can Get Involved" with plenty of conversation between Microsoft people and native developers. You might want to do a little searching on the main Tech Ed Video site
to see what interests you.
Tuesday, March 29, 2011
The fourth of my Windows 7 development screencasts - Trigger Started Services
- has been published. It uses the recipe
(also recently published on Code Gallery) to simplify writing a service in managed code that starts only when it is notified by the operating system of a particular trigger. In my screencast I use the example of a USB device being plugged in. There are plenty of other triggers you could use. Adopting a trigger-started approach makes your service:
- easier to write and install. No sleeping, looping, having a config file to say how long to sleep for, etc.
- use less CPU when there's nothing to do
- respond more quickly when there's something to do. It's not in the middle of sleeping for 10 minutes or 2 hours -- it is started the moment the trigger happens.
It's a win all around and if you have a service you should take a look at the available triggers and see if you can convert yours.
Sunday, March 27, 2011
The screencasts for restart and recovery
in native and managed code went live before the associated recipe was published. Now the recipe
is on Code Gallery ready for you to use. As it says there:
This recipe provides guidance and an easy way to start using these great
features in your application, removing any complication of how and where to
store your application data.
What’s in the box?
This Restart and Recovery recipe includes:
- Complete source code of the recipe and its samples
- Managed .NET assembly
- C++ header and class files to be included in your C++ application.
- C#, and C++ test applications
Give it a try, please!
Monday, March 21, 2011
If you listen to .NET-related podcasts, you've probably come across the Pluralcast before. David Starr talks to a wide variety of people and the passion shows, along with the skills. Last year
I appeared on the 'cast myself, talking about Visual Studio extensions. Now I'll be doing a small appearance regularly - still talking about Visual Studio and some helpful extensions or whatever else I want to share. There have been three of these so far:
- #36 - main guest is Scott Allen
- #37 - main guest is Craig Shoemaker
- #38 - main guest is Liam McLennan
I hope you enjoy the whole episodes, and learn a little something from them.
Saturday, March 19, 2011
I'm on Channel 9 a lot right now - partly because some things are getting published that were done a long time ago, and partly because being on campus for the MVP Summit makes it convenient to be interviewed. I love talking to Charles because he really cares about the answers to the questions he asks. So we talked for half an hour
about what it means to be an MVP, what C++ is useful for, what I like about C++0x, and that sort of thing. Since Charles started things off by mentioning previous conversations, let me toss in some links to those too - here's the Barcelona conversation
)and on the couch with the C++ guys
.) You can watch my hair change colour if you watch those oldest-to-newest. Diego was also nice enough to blog about this interview
, too, as was John Bristowe
of Microsoft Canada.
Thanks for the chat, Charles!
Thursday, March 17, 2011
Here's another pair of screencasts to simplify your Windows 7 development. Both cover Restart and Recovery - one is for native developers and the other for managed. As the screencast intros say:
Recovery and Restart (ARR) technologies enable developers to customize an
application's behavior when Windows Error
Reporting(WER) terminates the application due to an unrecoverable error.
For example, it enables an application to perform data recovery and cleanup
operations such as capturing application state and releasing resources before
termination. It also allows developers to specify that WER should automatically
restart an application that it has terminated.
I hope they help you do the right thing when your application blows up or the machine reboots.
Tuesday, March 15, 2011
You know I blog here a lot about Windows 7 goodies including taskbar integration. One of the questions I get pretty often is how to use tasks to communicate with the running app, such as changing your status, sending a new email, that sort of thing. I mentioned in an aside on another post that this requires launching some other application that communicates with the first
If you'd like to do that, it just got a little easier with the release of a "recipe" from Microsoft that packages up this concept and lets you use it with very little extra code. As it says on the Code Gallery page for the recipe:
This Taskbar Single Instance Recipe allows developers to easily develop applications that use "Messenger Like" tasks that change the state of the currently running instance, allowing it to react to incoming state-change notifications and act accordingly.
This Recipe includes:
- Native (C++) and managed (.NET) Source code for the Single Instance library
- Well documented native (C++) and managed (.NET) samples
To compile and run the recipe and samples the following items are required:
- Microsoft Visual Studio 2010
- Windows 7 – Note that only the samples require Windows 7.
Yes, this recipe is actually two recipes - one native and one managed, and comes with whitepapers explaining how it's done. I mentioned this in my Tech Ed Europe talk on Advanced Windows 7 development and it's finally released for you to use! Enjoy!
Wednesday, March 9, 2011
I have two sessions
DEV303 | Modern Native C++
Development for Maximum Productivity
Breakout Session |
300 - Advanced | Developer Tools, Languages & Frameworks
C++0x, the next C++ standard, is almost upon us and it contains the most important updates to the language since the mid-90s. These new features bring more expressiveness and power to the native C++ developer. Microsoft Visual Studio 2010 has added support for some of these key features in order to enable these modern programming techniques. This session clarifies what features are in Microsoft Visual C++ 2010 and what is yet to come. It illustrates how new constructs such as lambda expressions enable better use of existing libraries and how your code can be simpler, safer and faster all at the same time. Also, see how simple it can be to implement concurrency in your application and how Visual C++ 2010 supports the difficult task of debugging parallelized code. If you are itching to show off how C++ is one of the coolest languages on the planet, this talk is for you!
DEV304 | Advanced Programming
Patterns for Windows 7
Breakout Session |
300 - Advanced | Developer Tools, Languages & Frameworks
Windows 7 development in managed code can be very simple, especially for those using the Windows API Code Pack. But there's more! Your integration with Windows 7 doesn't have to be limited to simple interactions with the new API. This session goes beyond the simple and into aspects of Windows 7 development that have in the past been left for you to explore on your own. See how to create a jumplist with a task that delivers a command to your application, as Messenger and Outlook do. Explore a simple and powerful recipe for connecting to Restart and Recovery with minimal effort. Discover how Trigger Started Services can reduce your power footprint while giving your users better responsiveness. Explore all that libraries have to offer beyond "File Open" and why using a library is a better approach than having a user setting for "save directory."
I'm looking forward to it. If you haven't registered
yet, you should!
Thursday, March 3, 2011
The PDC was a little different last year. It was held on the Microsoft Campus, meaning that only a thousand people could attend, when usually it's 5 times that. But it featured an amazing player that opened the whole conference up to the world. I was one of the 100,000 (yes, 100,000!) who watched online. If you are interested in some of the technical details, there's been a whitepaper released. You can read about it
on the Windows Azure Team Blog. Makes sense, since Azure was a big part of the solution.
Tuesday, March 1, 2011
Are you doing Scrum? Do you use TFS? Then you should check out Urban Turtle
. Brian Harry
did (yes, that Brian Harry) and he really liked it - his blog post makes a great introduction. It gives you rich visibility onto your project and lets you work with it your own way. You can download a 30 day free trial to see if there is a good fit with the way your team fits and works.
If you like it, let me give you a tip. If you go to DevTeach
in Montreal (which is so worth your while to attend on its own) you will get a 5-user license of Urban Turtle, which means you're effectively going to DevTeach for half price. And you can hear me speak on Windows 7 development, too.
Monday, February 21, 2011
If you've been to a developer event this century, or if you spend any time on Channel 9, you've probably seen Beth Massi
. I read an interesting interview
with her by Carla Fair-Wright where she talks about what Microsoft is like, advises young women, and plugs LightSwitch. Did you think she was the I-was-programming-in-BASIC-when-I-was-8 type? Well now you know.
PS: the whole series
is worth a read.
Thursday, February 17, 2011
One of the marks of true expertise and skill is making something very difficult look easy and effortless. It can take a long time and a lot of work to give the impression that something is natural and everyday for you. It takes even more work and practice to make something look spontaneous and unrehearsed. This is as true of giving a technical presentation as it is of playing a sport or a musical instrument, dancing, singing, or cooking. Oddly, some people seem to think that presenters are all "just naturals" who don't practice, rehearse, or plan.
There are two problems with thinking that. The first (and the smaller one) is that it doesn't give enough credit to the hours of work that goes into producing that "off the cuff" presentation you so enjoyed. The second (and by far the bigger one) is that it leads you to think that you couldn't be a presenter. And that would be a loss. Presenting, even in the smallest of contexts, makes you better at whatever you're presenting about. If you do a presentation on Windows Phone development or Visual Studio Extensibility or the like, you will know that subject better when the presentation is over. It also generally helps your career, gives you a chance to meet people and help them, and if you're lucky will also get you a chance to travel to marvelous places and meet even more people.
One of the terrific people I've been able to meet thanks to the speaking I've done is Guy Smith-Ferrier. He's really good. He's always been generous with slides and downloads on his website, and he really knows his stuff. And now he's made a series of videos
to show anyone - really, anyone! - just what it takes to be a presenter. He covers a number of things I've never seen in talks of this kind, like choosing your topic wisely. They total a little over 2 hours and are well worth your time if you're thinking of trying presenting or (more likely) you wish you could and think you can't. You can watch
them on the UGSS site or download
them if you prefer (search for speaker.)
Once you've watched these, you will understand what it seems the great speakers just "happen" to be doing. And you can do those things too. You can be a presenter if you want - it's no harder than learning to code. Guy's straightforward way of laying down the truths behind great presentations will take you where you want to go.
Monday, January 24, 2011
Recently the East of Toronto .NET User Group had a Windows Phone 7 presentation (by Atley Hunter) that was very well done, and well attended. (He's blogged about it and included some helpful links, so you should be sure to read his post too.) You would never have known it was his first presentation - he was calm and confident and knew what he was talking about.
At the meeting I met Ashish Kaila, who is working on a toolkit for WPF developers and a Windows Phone 7 library. He showed me the docking panes and some other fun functionality.
To me this is a huge benefit of user group meetings: in addition to the presentations, usually as good as any you would see at a paying conference, you also can meet fellow attendees. I hadn't heard of these tools before, and they could save you a lot of time and effort. The next best thing to coming to meetings, I suppose, is reading blog posts about meetings. Here's where you can learn more about Ashish and his products:
If you're not going to your local user group meetings, why on earth not? We don't bite, honestly, and you have so much to learn and gain from being there. See you next time!
Saturday, January 8, 2011
The voting is open at the Tech Ed site
for you to express your preferences on possible sessions. My experience indicates that submissions not shown here can still end up being sessions, and certainly not all submissions shown here will be accepted, but obviously a strong interest from the public in a session will increase its chances of acceptance. With that in mind I thought I'd show you the results of a few searches.
These have orange plusses on them because I've added them to my preferences. You'll see a grey square you can click to add them to yours.
Next, Windows 7 development. Let's try Code Pack:
And finally the intersection of WPF and Windows 7 searches (I had to crop the shot by hand, there's no handy search that returns just these):
If you want to be sure that Tech Ed USA offers sessions you'd like to attend, the power is in your hands. (Disclaimer: some - but not all - of the submissions I am showing you here are my own.) Make your feelings known. And see you in Atlanta (I hope) in May!
Tuesday, January 4, 2011
Ok, perhaps it's not news that a keynote is fundamentally different from a breakout. But many keynotes look just like breakouts - the way the slides are written, for example - and many keynotes leave a lot of attendees unsatisfied. A meme began to rise among presenters that "bullets are bad" and "bullets can kill you". I agree completely for keynotes. I don't agree for breakouts, and I've been to breakouts with the pictures of kittens and the single emotionally loaded word and then a picture of a tree and just hated them. But the a-ha! for me is the simple statement: a keynote is not a breakout.
It just makes the whole anti-bullet / pro-bullet thing click for me. The keynote can be full of pictures and super simple words, because it's a keynote. The breakout can still have slides with bullets, tables, charts etc because it's a breakout. Of course the deck for a keynote is not of value without the presenter. It's a keynote. This works for me. Major credit to me "getting" this goes to (of course) Garr Reynolds of Presentation Zen. His post on how dramatically Bill Gates has changed his keynote style
- slides, posture, tone, and more -- really lit a light bulb in my head about keynotes and breakouts, whether that was the intention or not. The post itself is highly informative and if you ever speak in from of an audience, you should read it and look at the pictures. These two are from 2005 and 2010 and I think they show you quite a difference:
So, a keynote is a not a breakout (something Bill clearly gets now) and a breakout is a not a keynote. Meaning the kitten content of my talks isn't likely to increase until someone invites me to keynote for them
Sunday, January 2, 2011
The sessions have been selected for DevTeach
and I was pleased to see one of mine accepted. I'll do my "Advanced Windows 7 Programming" session:
Windows 7 development in managed code can
be very simple, especially for those using the Windows API Code Pack. But
there's more! Your integration with Windows 7 doesn't have to be limited to
simple interactions with the new API. This session goes beyond the simple and
into aspects of Windows 7 development that have in the past been left for you to
explore on your own. See how to create a jumplist with a task that delivers a
command to your application, as Messenger and Outlook do. Explore a simple and
powerful recipe for connecting to Restart and Recovery with minimal effort.
Discover how Trigger Started Services can reduce your power footprint while
giving your users better responsiveness. Explore all that Libraries has to offer
beyond "File Open" and why using a library is a better approach than having a
user setting for "save directory."
This is all managed code, C# and VB. The conference is after Tech Ed US this year, (Tech Ed is May 16-19, DevTeach is May 30 - June 3) so rather than you seeing a Tech Ed talk before the Tech Ed attendees do (my usual DevTeach offer) you can see a Tech Ed talk after it's been refined a bit by giving it to a Tech Ed audience. Even better!
Montreal in the early summer is a beautiful place and there's a great crop of speakers coming! Many are friends, all are top-notch. Sign up now
for only $899 Canadian for the full 3 days! That's less than half the price of Tech Ed, and you travel only to Montreal. If you're a developer, give this conference serious attention. Of course, if you can do both Tech Ed and DevTeach, you will gain maximum benefit and a chance to learn all that is current in our field. That's my May 2011 plan.
Saturday, November 13, 2010
Wow, these things get up there fast! My sessions were very well received and I had such a great time doing them! In the order I delivered them, they are:
- Women In Technology Panel - Claudia Woods, Freena Eijffinger, Paula Januszkiewicz, and Rhonda
Layfield joined me to take questions from the audience and talk about what was on everyone's mind. There's really no video - just the title slide for the whole hour. Please listen!
- The Windows API Code Pack: Add Windows 7 Features to Your
Application - This one includes screen capture so you can follow along in the demos. You can also download the powerpoints from this page, and as I mention in the talk, the demo code is the samples that come with the Code Pack.
- Modern Programming with C++0x in Microsoft Visual C++
2010 - I had a great time delivering this talk even though it was the first time I delivered this version of it. The attendees responded by putting the talk in the top ten for the whole conference - thankyou! It, too captures the screen and slides, and you can download the powerpoints.
- Advanced Programming Patterns for Windows 7 - Another talk I was doing for the first time and I enjoyed it too. If you'd like the sample code, stay tuned - I will blog when the recipes are released. The slides are with the video of the screen and slides.
If you came in person, thank you! If you couldn't be there, please watch the videos and leave me a comment. Speaking on technical topics really is the most fun you can have standing up, and I can't do it without audiences.
Wednesday, November 3, 2010
Right after Tech Ed I will embark on a mini-tour of three Canadian cities, while Richard Campbell does two others, to be called the "Building Awesome Apps for Windows 7 Community Tour". The details are on the Canadian Developers blog. First, the dates, times, and register links:
|Date ||City ||Time || |
|Thursday, Nov 18 ||Montréal ||9 AM to 11:30 AM ||Register |
|Thursday, Nov 18 ||Montréal ||6 PM to 8:30 PM ||Register |
|Wednesday, Nov 24 ||Mississauga ||9 AM to 11:30 AM ||Register |
|Wednesday, Nov 24 ||Mississauga ||6 PM to 8:30 PM ||Register |
|Thursday, Dec 2 ||Ottawa ||9 AM to 11:30 AM ||Register |
|Thursday, Dec 2 ||Ottawa ||6 PM to 8:30 PM ||Register |
|Thursday, Dec 2 ||Calgary ||6 PM to 8:30 PM ||Register |
|Friday, Dec 3 ||Calgary ||9 AM to 11:30 AM ||Register |
|Tuesday, Dec 7 ||Vancouver ||9 AM to 11:30 AM ||Register |
|Tuesday, Dec 7 ||Vancouver ||6 PM to 8:30 PM ||Register |
Next, descriptions - what are we going to do? We're going to make you better Windows 7 developers, that's what. We'll do some Code Pack coverage (sure, jumplists, taskbar stuff, but beyond that - some of the material from my Advanced Windows 7 Development at Tech Ed Europe will get its Canadian debut) and then dive into touch development. There are abstracts in John's blog post.
If you can't get to one of those cities on the appropriate day, never fear - there will be a webcast, too. Please spread the word about the webcast throughout North America, everyone's welcome!
I'm looking forward to this tremendously!
Tuesday, October 26, 2010
If you search for my name in the Tech Ed Europe session list, you'll see four sessions. But I've only blogged about three: Modern C++, Windows 7 Development with Code Pack, and Advanced Windows 7 Development. Now it's time to talk about the fourth, the Women in Technology Panel. I've been asked to run it this year, which is a big honour for me and one I'm pleased to take on. I have found four great panelists who are not all the same age, don't all live in the same place, and don't all do the same kinds of work. I hope that makes the conversation useful to a wide variety of attendees.
Here's the abstract:
If you're a woman in technology, or if you care about the
topic (fathers of daughters, this is your cue) then come to the Women in
Technology gathering at end-of-day Tuesday. Our panelists Claudia Woods, Freena
Eijffinger, Kate Gregory, Paula Januszkiewicz, and Rhonda Layfield span a
variety of ages, geographies, and technical interests, and we want to hear from
you. What are the issues in your working life? How can companies attract and
retain a diversity of technical staff, including women of all ages? Is work/life
balance a myth? How can you find your strengths and your friends in this field?
Bring your business cards and get ready to meet some of the other women who have
come to Tech Ed, as attendees, speakers, or staff. Let's share experiences and
advice, support each other, and learn from each other.
Does that sound good? It does to me. And here's a special invitation. It starts at 6, as you can see online. But the panelists will all be there at 5:30 along with some refreshments. So please, come a little early and mingle, then we'll do the full-on panel thing at 6, but we'll have started to get to know each other already by then. See you there!
ps: I really do mean it when I say men welcome.
Wednesday, October 6, 2010
The Tech Ed Europe Session Catalog has been updated with my third talk. In the order they're happening, I have:
WCL322 - The Windows API Code Pack: Add Windows 7 Features to Your
DEV311 - Modern Programming with C++0x in Microsoft Visual C++ 2010
WCL329 - Advanced Programming Patterns for Windows 7
The first two I blogged earlier, but the third is new. Here's the abstract:
Windows 7 development in managed code can be very simple,
especially for those using the Windows API Code Pack. But your integration with
Windows 7 doesn't have to be limited to simple interactions with the new API.
This session goes beyond the simple into aspects of Windows 7 development that
have, in the past, been left for you to explore on your own. See how to create a
jump list with a task that delivers a command to your application, as Messenger
and Outlook do. Explore a simple and powerful recipe for connecting to Restart
and Recovery, with minimal effort. Discover how Trigger Started Services can
reduce your power footprint, while giving your users better responsiveness.
Explore all that Libraries has to offer beyond "File Open", and learn why using
a library is a better approach than having a user setting for "save directory."
It's going to be a great week!
PS: About the fourth item you might see under my name ... stay tuned!
Thursday, September 16, 2010
It took a while for the session catalog to update online, but it's official now:
DEV311 - Modern Programming with C++0x in Microsoft Visual C++ 2010Session Type: Breakout Session
Track: Developer Tools, Languages
Speaker(s): Kate Gregory
Why wait for the C++ committee to finish the
specification when you can enjoy much of the power of C++0x today! C++0x, the
next C++ standard, is almost upon us and it contains the most important updates
to the language since the mid-90s. It even accepts the existence of multiple
threads for the first time in the history of the language. Needless to say,
these new features bring more expressiveness and power to the native C++
developer. Visual Studio 2010 has added support for some of these key features
in order to enable these modern programming techniques. This session clarifies
what features are in Visual C++ 2010 and what is yet to come. It illustrates how
new constructs such as lambda expressions enable better use of existing
libraries and how your code can be simpler, safer and faster all at the same
time. If you are itching to show off how C++ is one of the coolest languages on
the planet, this talk is for you!
WCL322 - The Windows API Code Pack: Add Windows 7 Features to Your
ApplicationSession Type: Breakout Session
Track: Windows Client
Accessing new Windows 7 features is a challenge from
managed (.NET) code. The level of interoperability required is out of reach for
many developers. The Windows API Code Pack for the Microsoft .NET Framework is a
sample library you can use in your own projects today that provides access to
new user interface features (taskbar jumplists, libraries, sensor platform and
more) as well as "behind the scenes" features that make your applications more
aware and responsive (restart and recovery, power management and more.) Discover
a shortcut to Windows 7 development for Microsoft Visual Basic and Visual C#
programmers and get started today.
I've done talks with these titles and abstracts before, but I'm not repeating those this time. I'm rejigging the demos pretty substantially and generally rewriting the talks. Register now, and I hope to see you there!
Tuesday, September 14, 2010
I love speaking at DevTeach. It's a must-do conference for a lot of A-list speakers and it's always fun and informative. I've blogged about it a lot already. Now Jean Rene has released the session videos online. So if you didn't get out to see us, you can still watch - how cool is that?
Scroll down the page till you see this:
Click on the title to watch the video, and on the Material link to get the powerpoints. (I recommend you watch these in the reverse order than they are shown - first Lighting Up, then Code Pack. Enjoy!
Sunday, September 12, 2010
Over six years ago, I helped to found the East of Toronto .NET Users Group
, because I didn't want to drive all the way across Toronto to attend user group meetings, and I was pretty sure I was surrounded by others who felt that way. The meeting location has varied over the years but is always in Oshawa or Whitby. That's about a 45 minute drive from my house, and never slows down because of rush hour traffic. I get to as many meetings as I can.
About a year and a half ago, the Markham .NET Users Group
kicked off, for much the same reason - wanting to learn more, but not wanting to drive for hours to get to meetings. And now our schedules finally mesh and I can speak there. It's also about 45 minutes from my house and immune from traffic problems.
So, on October 25th I will be speaking
in Markham, on Extending Visual Studio 2010
. I hope to cover both finding and using extensions and a tiny taste of writing your own. If you live closer to Markham than to downtown, or North York, or Whitby, then please come out and learn how to make Visual Studio your own! I'll be bringing some cool prizes, too - free Pluralsight training
, for example. Please register
so we know how many to expect.
Saturday, September 4, 2010
Back in July, I mentioned that my Extending Visual Studio course for Pluralsight was live. As I completed the course, it just kept growing and growing, so in the end it became two courses.
Customizing and Extending Visual Studio 2010 Without Code covers macros, snippets, templates, and so on - ways that you type stuff into a file, and thus make Visual Studio behave differently, but don't actually write C# or VB or C++ to make that happen. The modules are:
- Overview of Visual Studio 2010 Extensibility
- Why write extensions for Visual Studio?
- Visual Studio Macros
- Visual Studio Snippets
- Getting and installing extensions for Visual Studio
- The Visual Studio 2010 SDK
- Visual Studio Start Page
- The VSIX Format
- Deploying Templates
Customizing and Extending Visual Studio 2010 by Writing Code covers the rest of the story - cases where you actually write and compile code (in this course, the demos are all in C#) and thus make Visual Studio behave differently. The modules are:
- MEF, The Managed Extensibility Framework
- Writing Editor Extensions
- Testing and deploying editor extensions
- Visual Studio Add-Ins
- Visual Studio Packages
- Extending Modeling and Diagramming tools
Together, these courses total 9 hours. Please let me know if they help you!
Thursday, September 2, 2010
I'm having a Coffee and Code of my own in downtown Toronto on September 23rd all afternoon. Actually, I'll start at 11 and be there until 6 to catch the "stop by after work" folks. If you've heard of Coffee and Code at all, you know how this works. If you haven't, I've made a page on our web site about it
. Just drop in and ask me "Is it true that the C++ language is getting new keywords and stuff? How can that be? And does it really matter?" or "Do you have the Windows Phone 7 tools installed? Can you show me an app on the emulator?" or "Is Visual Studio 2010 really nicer than Visual Studio 2008?" or "What local user group meetings should I be coming to?" or whatever else is on your mind.
So stop by any time between 11 and 6 on the 23rd to the Starbucks at Yonge and King. I'll be at the big table at the back, just walk up and say hi. We'll talk about whatever is on your mind, maybe some of you will talk amongst yourselves, maybe you'll show me what you're working on. I'm looking forward to it!
Thursday, August 5, 2010
I'm speaking at TechDays 2010
. So are some other very good speakers
. (Feel free to click the links on that page to other cities to see the equally good crop across the country.) Would you care to join us?
Seriously, Microsoft has an entire track in each city, ten hour-long talks and two half-hour ones, for Local Flavour. The most important criteria is that you want to talk on something you're passionate about. Seriously, this isn't "Introduction to Visual Studio 2010" or "What's New in C#" - instead it's something that is far more specific and personal. A technology or methodology that you use and care about. A story that will help other developers, or IT pros, or DBAs. Something important that won't be covered in the entire two-day conference unless you step forward now and offer to talk about it.
As John Bristowe
You need to get cracking on this to meet the submission deadlines. Download the application form from the Canadian Developer's Blog
, and submit as many ideas as you have. You don't have to have prior speaking experience, but if you do, be sure to mention it!
See you in the speaker room,
Tuesday, July 20, 2010
I mentioned I've been recording videos. That's because I'm doing another Pluralsight course. This one is on Customizing and Extending Visual Studio. About half of it is live already:
- Overview of Visual Studio 2010 Extensibility
- Why write extensions for Visual Studio?
- Visual Studio Macros
- Visual Studio Snippets
- Getting and installing extensions for Visual Studio
- The Visual Studio 2010 SDK
- Visual Studio Start Page
- The VSIX Format
There's more to come, of course - I'm about half done. I'm really enjoying this material. You can get your work done a lot faster if you tweak Visual Studio to meet your needs. It doesn't have to cost you money and it doesn't have to cost you much time. Take a look!
Tuesday, July 6, 2010
I watched a video the other day from someone whose blog I read and whose presentations and sessions I have enjoyed. I was drawn to it because it said C++ in the title, and it was a really non-C++ person. Oh my. I did manage to last about 12 minutes, until it was pretty clear there really wasn't going to be any C++ content at all. There even was a tiny bit of useful content in those 12 minutes. But it was all mixed in with joking between the hosts, including something that must have been a running inside joke, because they sure were liking it and I didn't get it, snips of music, throwaway lines about "as we all know" when I didn't know what they were talking about but it might have been interesting to explore, and actual interesting things. Plus, the two hosts disagreed a lot, which I suppose was interesting, but impeded my ability to actually learn what one of them was trying to convince me of or explain to me. I couldn't watch to the end of it.
It got me thinking about the number of times I have read people blogging that they don't bother listening to podcasts. The theory goes that podcasts and videos are super quick to produce - just turn on the camera or Camtasia, plug in the mike, press record and off you go. A lot of them are not edited at all. And it shows
. There are good podcasts (.Net Rocks
comes immediately to mind, and not just because I appear on it once or twice a year) and they are the product of significant effort. There is conversation in advance about "what are we going to talk about". There is awareness of how the conversation is going, and genuine work during the conversation to keep it flowing well. And there is editing afterwards. All of this combines to make a higher quality experience for the listener, which is the point, right? You can find a zillion bad podcasts, and the good ones have one thing in common: they are motivated by the experience for the listener, not the ease or fun for the creator. I wish that wasn't so, I wish there was a magic easy way to get your knowledge out there to the community that was quicker than blogging or writing books or teaching courses or traveling to far away places and getting up on stage - but there isn't, they all take work.
I have all this in mind while I'm recording some screencast/tutorial type videos. When I give an actual presentation, I probably say um and ah and you know. I hope I say it less than some folks, but I still expect I say it. I know for a fact I say it when the mike is plugged in. How do I know that? Because right after I hit Stop on the recorder, I hit Edit. And I listen to the whole thing and whenever I hear um and ah and you know, I edit it out. I also edit out the pauses and the messups. I think that's the exchange we make between in person and recorded materials. An in person presentation or session or training is spontaneous and adjustable - you can ask me a question and I can go deeper on that one thing you want to know more about. When it's recorded, you can't interact. But hey, you get a crisper and more polished presentation. You don't have to ever watch a demo fail. Products that in real life take 15 seconds to launch are already launched when the demo starts, or appear to launch in two seconds because I edited out 13 seconds of splash screen.
This means that producing a ten minute video is going to take me way more than ten minutes. First, there's prep time - writing slides, creating starting point demo code, practicing a demo and ensuring that I have a good example that really covers the point I want to make, rehearsing to be sure I can do it crisply, and all of that. When I present at a conference or user group, deliver training, or even just visit a client one on one to show them something, I have to do all that prep. It's often about 3-5:1 - for a one hour talk there will be 3-5 hours of prep - and that's if you know the material cold, it doesn't count learning what's new in product X or learning how to do thing Y. Don't underestimate this effort. Folks who skip it find themselves the bad example
in other people's blogs. Then there's rehearsing the whole talk a few times, which I generally don't do for recorded videos but have to do for in person material. What recorded videos need is about 12 minutes to actually record it, with pauses and ums and false starts and all, then 30 minutes or so to play that and edit out the two minutes that don't belong.
I'm not complaining, mind you. I think if a job's worth doing, it's worth doing right. And for videos, that means prep beforehand and editing afterwards. Is the medium the message?
Well, you can't do the exact same thing in different media (eg in person or video) and expect to deliver the exact same message. Um in person and um in your video carry different messages. Joking with the guy who introduced you at a user group and joking with the guy who introduced you at a 5000 person keynote carry different messages. McLuhan was right.
Monday, June 28, 2010
With summer finally under way for real it seems like a million years until the fall. But in the world of event organizing, autumn is just around the corner. Session selection for TechDays is in the final stages and I'm looking forward to seeing the completed list. In the meantime, the Early Bird pricing is still in effect.
There will be an event roughly every two weeks from mid September to mid December. In each city (Vancouver, Calgary, Edmonton, Winnipeg, Toronto, Ottawa, Montreal, and Halifax) it will be two days, and while most of the sessions will be the same in every city, a new Local Flavours track will vary from location to location - just as the local tech folk vary! You can register now - go ahead! If you have some questions, Damir has answers for you.
Tuesday, June 22, 2010
The last (at least for now) in my series of articles
on Visual Studio Extensions is live on Code Project. This one is on creating your own item and project templates
. Like all the articles, it's really a train-the-presenter package designed to help you deliver a talk on this topic at a user group or Code Camp. If you care about the topic and would just appreciate the shortcut of a deck, working demos, and speaker notes that combine to hit a good talk length, then this is just what you need. It's all highly supplemented by videos - of all the demos and in one case of the entire talk. A quick reminder of the 7 articles I have there:
- Introduction - explains the other talks and also has extensive notes on how to prep to deliver a talk someone else wrote.
- For Visual Studio 2008:
- For Visual Studio 2010:
If you would rather learn the material than deliver the session, I suggest you follow the first few steps I recommend in the Introduction for a presenter:
- If there is a recording of the entire talk, watch it from start to finish.
- If there are only recordings of the demos, open the slide deck and read the
slides to myself, pausing to play the demo videos at the appropriate points in
- Read through the speaker notes to see what the author suggests I add to each
slide as I present it.
You owe it to yourself to learn about extensions. Honestly, creating an item or project template will save you time the very first time you use it - it's quicker to make an use a template than to copy an old project and hand edit the file, project, and class names. And the astonishing array of free extensions on the Visual Studio Gallery
is sure to include something that will save you time and frustration. Give it a whirl!
Thursday, June 10, 2010
Another terrific Tech Ed has come to a close. I never really got used to the weather in New Orleans, but I loved the food, I loved that we could walk to just about every dinner or party, and I loved the locals I met. I would have liked a little less walking within the convention centre itself - that building is a mile long and I had to go the whole length and back several times each day!
I have a few pictures from inside for you.
This is the "RD couch" in the community area. Good for hanging out while waiting to be on Channel 9. As you can see, non-RDs were hanging out here too.
The table for the Code Pack was giving away copies of the Code Pack on these slightly bizarre USB keys. I meant to keep one for myself but got carried away handing them out at my session (along with cards for a free trial of the Pluralsight On Demand! library). Also the shot-glass-on-a-string-of-beads is pretty brilliant for New Orleans swag. "Give it a shot!" they say.
This is the room for my C++ talk. That's Juval Lowy, who spoke right before me, up on stage. You can see he did a pretty good job of filling the room, which holds 1000. I got somewhat less than that, but was happy with the turnout and the evals for the C++ talk. Both my talks are available online already, by the way, which is astonishingly quick.
I love the "face time" with Microsoft people (including "my" product teams as well as folks in marketing, developer outreach and education, and so on), with my fellow RDs, MVPs, INETA folks, and speakers of all stripes, and with attendees. Booth duty, where you spend long minutes shifting your weight from foot to foot praying someone will come by, is a bit like of box of chocolates. An eager attendee comes forward, meets your eye, smiles ... for every "can you tell me where to find the blinky Windows 7 pen?" there is a good solid question or expression of interest in my actual technology. I got one question on Wednesday from someone who just wanted to know what booth to go to for it to be answered, only to learn it was this booth and that in fact I was probably the only person in building who could have answered it. I sure liked that one!
Next year, Atlanta:
But I may not have to wait a year for another Tech Ed experience.
Friday, June 4, 2010
Hey, this was such fun at the launch and they're doing it again for Tech Ed!
This time my topic is Women in Technology. I'm with Karen Forster, Lisa Feigenbaum and Jennifer Ritzinger and it's sure to be a very fun half hour. PLEASE tweet us questions to @c9live! I'm on at 4 pm Central on Monday the 7th. Talk to you then!
Monday, May 31, 2010
John Bristowe has posted a nice list of tips to get ready for any big conference. I'll let you read the details there, but here's a summary.
- Have a plan
- Bring a good backpack (I'll just add, don't use the conference bag during the conference - thousands of people have the identical bag and it's confusing)
- Wear comfortable shoes
- Bring lots of business cards (yes! You are here to meet people and people are here to meet you! Make it stick)
- be able to get by on crummy or no wireless
Give yourself time before, during, and after the event. You need to plan and make goals in advance. While you're there, go to talks, be open to serendipity (conversations, extra talks, booth visits) and don't forget to go to dinners and parties for vital face time and relationship building. Then you need to have time to follow up when it's over. This happens once or twice a year for most people. Putting an extra ten or twenty hours into it will make a HUGE difference.
Wednesday, May 5, 2010
I was just looking up the session codes for my Tech Ed talks next month (my flight to New Orleans leaves a month today, at about this time actually) and spotted something unexpected:
DEV316 | Modern Programming with
C++0x in Microsoft Visual C++ 2010
Session Type: Breakout Session
Track: Developer Tools, Languages
Speaker(s): Kate Gregory
Level: 300 - Advanced
for the C++ committee to finish the specification when you can enjoy much of the
power of C++0x today! C++0x, the next C++ standard, is almost upon us and it
contains the most important updates to the language since the mid-90s. It even
accepts the existence of multiple threads for the first time in the history of
the language. Needless to say, these new features bring more expressiveness and
power to the native C++ developer. Visual Studio 2010 has added support for some
of these key features in order to enable these modern programming techniques.
This session clarifies what features are in Visual C++ 2010 and what is yet to
come. It illustrates how new constructs such as lambda expressions enable better
use of existing libraries and how your code can be simpler, safer, and faster
all at the same time. If you are itching to show off how C++ is one of the
coolest languages on the planet, this talk is for you!
WCL316 | The Windows API Code Pack:
Add Windows 7 Features to Your Application
Session Type: Breakout Session
Track: Windows Client
Speaker(s): Kate Gregory
Level: 300 - Advanced
Accessing new Windows 7 features is a challenge from
managed (.NET) code. The level of interoperability required is out of reach for
many developers. The Windows API Code Pack for the Microsoft .NET Framework is a
sample library you can use in your own projects today that provides access to
new user interface features (taskbar jumplists, libraries, sensor platform, and
more) as well as "behind the scenes" features that make your applications more
aware and responsive (restart and recovery, power management, and more.)
Discover a shortcut to Windows 7 development for Microsoft Visual Basic and
Visual C# programmers and get started today.
The first digit carries meaning, but the last two don't. So I don't really know how they both got to be 316. Since I often have trouble remembering my session codes, this should halve the effort for me .
PS: I checked whether the Brian rule still applies. You can too, by just dropping down the "Speaker" box on the session catalog page. I'm happy to report there are 9 Brians and I reached 9 obviously female names (ignoring Alex, Chris etc) while I was still in the C's. Good news, in my opinion!
Saturday, May 1, 2010
On Thursday night I was the surprise mystery guest for the St Louis installment of the .NET Rocks Roadtrip. What a fun little jaunt that was! We recorded an episode of .NET Rocks, (talking about Windows 7, C++, and educating developers) then Carl and Richard both did very interesting presentations. I had seen parts of Richard's before, but Carl's was all new to me and I will just say if you live in the half of the roadtrip that hasn't happened yet, you really need to make an effort to be there and be part of it!
Here's a blog entry by Nicholas Cloud, and another by Brian Williams, and a picture by fallenprogrammer of us getting set up.
The next morning featured breakfast at Cracker Barrel (an experience) and then a ride to the airport in the RV for me and Kindler Chase, who had joined them in Tulsa, before they headed Chicago-wards. It sure was fun to be part of it!
Tuesday, April 13, 2010
Is it a good omen when mornings start out beautiful? I think it might be:
Normally, when I go to a conference, the first day is a little slow. I might go to the keynote, or I might not. If I do, I wander in to the back row 5 minutes before it starts (hey, I'm leaving plenty of seats for the paying attendees) with my coffee in my hand. So reaching the keynote room at 7am, full of pep and vigour, was fun!
No sooner was the keynote over than I was headed for the Channel 9 stage to record half an hour of Q&A with Twitter people.
That's available online too. And if you want more, some of the sessions are appearing on Channel 9, too. Not filmed on site, but the content matches. Get your Visual Studio 2010 from MSDN downloads, or if you're not a subscriber you can take the Professional Edition for a test drive.
Friday, April 9, 2010
This trip to the launch gets more exciting by the minute! Check this out:
The Channel 9 team will be broadcasting live, unscripted, and 100% interactive
from DevConnections 2010 in Las Vegas as part of the Visual Studio 2010 and
Silverlight 4 launches.
Join us Monday April 12th, from 8AM (PST) for Bob
Muglia's VS2010 Launch keynote then stay tuned for more than seven hours worth
of Visual Studio 2010-themed demos, interviews and panel discussions on Channel
. . .
Day 1 Schedule April 12th 2010 (Pacific time)
8:00 AM DevConnections 2010
Day 1 Keynote.
10:00 AM Welcome to VS2010: Doug Handler and Brian
Randell with Dan Fernandez.
10:30 AM Live Q&A with Bob Muglia,
President Server & Tools Division with Dan Fernandez.
VS2010: Native Code. Kate Gregory and Richard Campbell with Charles Torre.
11:30 AM VS2010: Managed Code. Lisa Feigenbaum, Tim Ng Dustin Campbell
with Charles Torre.
. . . then some other people, who I love, but I can't paste it all in here. . .
To be part of it, use Twitter with @ch9live somewhere in your message. We'll see it and that's all it takes to join the conversation!
I count 11 Regional Directors (many of whom are also MVPs) on the guest list. What a way to spend the day!
Monday, April 5, 2010
I am so looking forward to seeing New Orleans for the first time. I am pretty sure this is my tenth Tech Ed North America. I have two sessions, one for native C++ developers and one for managed developers who want to use Windows 7 features. No surprise if you read my blog regularly, I suppose.
The C++ talk is called Modern Programming with C++0x in Microsoft Visual C++ 2010 and the abstract reads:
Why wait for the C++ committee to finish the specification when you can enjoy
much of the power of C++0x today! C++0x, the next C++ standard, is almost upon
us and it contains the most important updates to the language since the mid-90s.
It even accepts the existence of multiple threads for the first time in the
history of the language. Needless to say, these new features bring more
expressiveness and power to the native C++ developer. Visual Studio 2010 has
added support for some of these key features in order to enable these modern
programming techniques. This session clarifies what features are in Visual C++
2010 and what is yet to come. It illustrates how new constructs such as lambda
expressions enable better use of existing libraries and how your code can be
simpler, safer, and faster all at the same time. If you are itching to show off
how C++ is one of the coolest languages on the planet, this talk is for you!
The Windows 7 one is The Windows API Code Pack: Add Windows 7 Features to Your Application and the abstract is:
Accessing new Windows 7 features is a challenge from managed (.NET) code. The
level of interoperability required is out of reach for many developers. The
Windows API Code Pack for the Microsoft .NET Framework is a sample library you
can use in your own projects today that provides access to new user interface
features (taskbar jumplists, libraries, sensor platform, and more) as well as
"behind the scenes" features that make your applications more aware and
responsive (restart and recovery, power management, and more.) Discover a
shortcut to Windows 7 development for Microsoft Visual Basic and Visual C#
programmers and get started today.
Registration is open, so plan to be there!
Wednesday, March 24, 2010
Today is Ada Lovelace Day, a day to celebrate the women of software. I've blogged about it before
, and it seems like a good springboard to get started again. There's a nice post
over on Toronto Girl Geek Dinners, too. I have been trying to go to an event there for at least 6 months, maybe a year - seems it's always on a day I'm out of town or otherwise unavailable. April 5th might work out - I hope it does.
What have I been doing for the last almost-4-months? Working hard. Speaking, mostly on Windows 7 things. Planning future speaking gigs. Writing code - real code - in VB, C#, and yes, C++. Some using STL and some using MFC as it happens. Project managing, which can be many times more satisfying than coding but also many times more frustrating. Tweeting
(yes, I did - and I tweet personal stuff as much as technical stuff so if you don't care for that you don't need to feel obliged to follow me.) Publishing videos. All of these things will get blog posts of their own over the next little while.
Saturday, November 28, 2009
I've wanted one of these since I saw it on Steve Clayton's blog (twice). And now I have one - lucky me.
One of the reasons I'll use a big mouse (compared to the gosh-that's-tiny notebook style) is the magnify button on the side. Just as I usually don't want to get off the keyboard to use the mouse to, say, save my document, I don't want to get off the mouse and use the keyboard to zoom and stop zooming when I'm presenting. I had a nice Microsoft mouse a few years back but the magnify button wouldn't work with the beta of Vista I was using and I ended up letting someone else use that mouse. So I'm super happy that the magnify button on this mouse works just beautifully with Windows 7.
Saturday, November 14, 2009
I had to check Wikipedia to be sure how to spell that . I thought this was a good post to pull some images off my camera and be a little touristy.
Here is the U-Bahn (subway) station nearest the hotel. We rode the subways back and forth each day, about 30 minutes each way including changing lines, and all free thanks to a transit pass that I believe Kylie ("I'm 4 and a half and I'm a PC") might have created for us. Mine got crumpled and soggy but worked perfectly.
Here we all are headed into the Messe one morning. Big, isn't it?
This one shows you a little more of what we were up against. The big round thing is just the entrance to the complex. The red brick building with a big 2 on it had the speaker room in it. Behind it are other buildings of the same size with the exhibition halls, pavilions etc, and past that the food rooms. The blue-grey building with the 7 on it is the one that held all the breakouts. And yes, we had to go outside (and it rained a fair bit) when going from building to building - but only for 20 or 30 feet.
I have a bit of a running joke on my blog about donuts. Some Tech Eds have 'em ... and some don't. This one did. Apparently they're not called Berliners in Berlin. (And btw, JFK didn't say what you're thinking.)
Finally, here's all that's left of the wall in most spots:
And the Brandenburg Gate at night makes a very compelling image. We walked through, East to West.
Next year? I sure hope so.
Thursday, November 12, 2009
The second-last day is drawing to a close and I am getting tired. At Tech Ed Europe I actually attend sessions as well as preparing for my own and attending the various dinners and get-togethers. Throw in some attempt to do actual work rather than pressing pause on all my other projects for a full seven days, and there isn't much time for sleep.
Yesterday was my Code Pack session, featuring the mysterious disappearing slides. Some of you may have noticed a little consternation on my part when I came back from the first demo. Here's what happened. I prepared my slides for this talk following the schedule the organizers asked for, and actually uploaded them in October to be prepared for the attendees. Then one night, just as I was falling asleep, I decided I wanted to add slides that highlighted the actual code in each demo that was specific to the taskbar or the overlay or whatever. The next day, I did just that and I uploaded the deck again.
When I got to my room for the tech check, I ran through the deck on the room machine and - hey! my new slides are not in that deck! So I went back to the speaker room (which is about a mile away) and gave them to the nice "powerpoint team" that sits there waiting for all the speakers who ignore the schedule and work on their slides while on the plane. I heard them on the radio pushing the slides to the room.
An hour before my talk, I got to the room, waited while someone else did a tech check, then got set up. I paged through the "new" deck - and the code slides weren't there! Everyone remembered getting new ones from me yesterday. But they weren't there. I pulled a USB stick out and copied the deck from my laptop to the room machine.
And yet, when I did the talk moments later - they still weren't there! Did I double-click the old deck instead of the new? Did I maybe dream the entire thing? Who knows. But here they are now, attached to this post. Interleave these into the deck you got from CommNet, one after each demo.
One more day of Tech Ed... one more day of sessions and meeting people.
Katecodeslides.pptx (372.92 KB)
Tuesday, November 10, 2009
Yesterday was the first day of Tech Ed. I went to Marian Luparu's talk on Visual C++ 2010. He did mostly demo, and showed a ton of hot new C++ features.
If you missed this one (it was the very first talk of the conference) be sure to look for the recording.
After lunch I headed out to be part of the anniversary celebrations. Despite the rain, it was a great outing, and the crowds were very orderly. I had a bratwurst and took a few pictures:
No place I'd rather be.
Sunday, November 8, 2009
An auspicious start to my Europe trip - a jam-packed plane means an "op-up" (operational upgrade, meaning Air Canada decided it was in their best interests to put me in Business Class for free and let someone else have my vacated economy seat). A lovely transit in Munich (probably my favourite airport to change planes in) and a pretzel in the lounge, along with some fantastic coffee, helped me convince my body it was 8am, not 2am. (Sleeping on a lie-flat bed for about 5 hours of the 8 hour flight helped with that too.) Landing in a town that's buzzing with anticipation - there's Windows, "life without walls" and then there's life without this wall - is getting me pepped up. Bring it on!
Wednesday, October 7, 2009
I've published a set of four articles on Code Project for those who might want to present to others on Visual Studio Extensions. Each is designed as a speaker kit - powerpoint presentation, speaker notes (what to say to each slide) and demo script. In addition I have recorded myself either doing the demos or the whole talk and put the videos on Silverlight Streaming. We wanted to embed the videos in the articles, but we've settled for putting links in. You can Open in New Tab to watch them, or right click to download.
The four articles are:
I had a great time doing this. You can use these talks to present at a user group or a code camp - I've done the last one at the Toronto Code Camp and it went really well. Give them a try. I have been given a lot of "other people's material" in my time and I have to say it's rarely this complete a package. Let me know if you like them and send me a link to the event if you do one.
PS: these are all for Visual Studio 2008. If you want Visual Studio 2010, stay tuned :)
Sunday, September 13, 2009
I'm a big Joey deVilla fan (known fact.) I'm also a big fan of the book "How to Work a Room", which inspired a line of thought that led to one of my earliest blog posts, over five years ago - What You Want to Get Could be What I Need to Give. So if Joey is quoting "How to Work a Room", you've got yourself a must-read. And then he's doing so while discussing a conference I'm going to speak at!
Why do you go to a conference instead of just watching the sessions online? So you can meet people. But gosh, when you're first starting, having conversations at conferences can be HARD. And it gets harder if you start beating yourself up for not doing it. Once you start doing it, and start reaping the benefits, you'll do it more and more, trust me. But to get started, relax. It wouldn't hurt to follow Joey's two big tips: "It’s especially important to talk to people you don’t know or who are
outside your usual circle" and "The best way to make weak ties at a conference is to work the
room." He follows that with 9 specific things you can do.The last one reminds me of another post from the same era in my blog: Know
What You Want From the Meeting. They're all excellent and I really recommend you come to TechDays and put them into action!
Saturday, September 5, 2009
The MVP program is a little unusual. Members are rewarded for what they've already done, and get all the benefits for a membership year even if they do nothing further. Of course, most of us just keep right on doing what we're doing and get awarded for multiple years. Do we do it for the benefits? Probably not. Most of us like doing community "stuff" whether that's speaking, writing, forums, blogging, or whatnot. But the benefits matter - they actually enable us to do the community stuff. We get extra information in the form of access to betas or conversations with product groups. We get access to each other, a treasure trove of information. And we get recognition, which can open doors for speaker selection folks, article selection folks, and so on. I also know as someone who regularly hires developers that "Microsoft MVP" on a resume makes a huge difference for me.
Now my MVP lead, Sasha, has written a pair of articles that summarizes many important things about the program. Part 1
calls us super heroes and Oscar winners (blush) and has some useful links. Part 2
goes into the benefits a bit.
Of course many people want to know how to become an MVP. It's a bit like how to get to Carnegie Hall
... practise practise practise. Do the community stuff every chance you get, throw yourself into sharing your knowledge, and when you've been doing it for a while and you know an MVP or two, ask one of them if you think you're at that level yet. If they say yes, ask if they're willing to nominate you. If you think you're really active in the community, but not a single MVP knows you and knows what you've been up to, you haven't been active enough yet. People who don't actively share their knowledge often underestimate what "active" means.
Even if you're not nominated or awarded, I am confident that the community work you do will be its own reward. Approach it like that rather than to earn an award, and you're sure to be happy.
Tuesday, September 1, 2009
Here's a recording of a panel
at Tech Ed this summer featuring four dear friends of mine: Stephen Forte
, Joel Semeniuk
, Chris Menegay
, and Richard Campbell
. The title is "Agile: A Process or an Excuse?" but they don't really answer that question. Instead they talk about what Agile means to them, what to say if people argue about whether you're agile or not, and the role of tooling including Visual Studio Team Systems, sticky notes, really large sticky notes, and Excel spreadsheets. They don't agree on all of it, which makes it a good panel, but the insight is useful. Most interesting to me: Joel and Chris have been in the "I am the guy you are making the software for" role on some internal projects - and found themselves doing everything that your usual contact over in the business unit does when you ask for requirements - forgetting some, being vague, leaving out special cases, and demanding changes because of changes in the business model out in the real world. Users don't do these things because they don't know any better; they do them because that's how life is. An agile approach lets you live in that reality instead of bemoaning the fact that no-one will stick to the things they signed two years ago. I listened on fast speed, but I suggest you only do that if you've spent a lot of time listening to these four because they're pretty fast talkers to begin with, and faster still when they get excited about a topic.
Monday, August 24, 2009
I am pleased to learn that at least one of the sessions I submitted for Tech Ed Europe in Berlin has been accepted:
The Windows API Code Pack: How Managed Code Developers Can Easily Access
Exciting New Vista and Windows 7 Features
Accessing new Windows 7 or Vista features
is a challenge from managed (.NET) code. The level of interoperability required
is out of reach for many developers. The Windows API Code Pack for the Microsoft
.NET Framework is a sample library you can use in your own projects today that
provides access to new user interface features (taskbar jumplists, libraries,
sensor platform and more) as well as "behind the scenes" features that make
your applications more aware and responsive (restart and recovery, power
management, and more.) Discover a shortcut to Windows 7 and Vista development
for Microsoft Visual Basic and Visual C# programmers and how you can get
Now comes the logistics fluffle of getting everything booked, telling "my" teams I'm going, and possibly picking up some other talks or panels or whatnot while I'm there. I'm looking forward to it already! I love Tech Ed Europe - it's such a well run show and the other speakers are a delight to spend time with and learn from. The energy is always good and on top of that the destination is fabulous. I adored Barcelona, so now it is time for Berlin to show me what she's got. What a week we've picked to be there!
You can still register at a discount. See you there!
Saturday, August 22, 2009
I've done several Tech Ed talks, in Europe and the US, in which I've demoed lambda expressions, a new language feature coming in C++0x and implemented in Visual Studio 2010. If you missed your chance last year to watch my Tech Ed Europe talk, it's still available on page 3 of the "last year's highlight's" page
. But that's 80 minutes and covers more than just lambdas. If you would be up for investing a tenth of that time, try this Channel 9 piece
featuring Thomas Petchel. He's obviously VERY familiar with the STL and he illustrates perfectly how writing dinky little functions to initialize arrays can be tedious and time consuming, and how lambdas make them faster. If you watch that and like what you see, go ahead and give my Tech Ed talk a listen as well.
Monday, August 10, 2009
Of course the most important sessions at PDC couldn't possibly be announced yet. The best are the ones that are TBD in the session list and schedule right up until the keynote. That's how you know something big is going to be announced. Imagine something where just hearing its code name, just knowing who was going to give the sessions, or even a single sentence of description would spoil the whole announcement. Those are the sessions you go to PDC for, so it's a bit like a Christmas present ... you can't know in advance what it will be.
But it's a four day conference with a lot of sessions and some of them can be announced in advance. I can see that this year some folks have decided to have slightly more interesting session titles (along with the more traditional titles):
- Zero to Awesome in Nothing Flat: The Microsoft Web Platform and You
- Windows Workflow Foundation 4 from the Inside Out
- Windows Identity Foundation Overview
- Windows 7 and Windows Server 2008 R2 Kernel Changes
- Using Classification for Data Security and Data Management
- Under the Hood with Microsoft SharePoint 2010 Programmability
- The State of Parallel Programming
- The DirectX 11 Compute Shader
- Simplifying Application Packaging and Deployment with Microsoft SQL Server 2008 R2
- Petabytes for Peanuts! Making Sense Out of “Ambient” Data.
- Microsoft Visual C++ 2010: The "Accelerated" Way of Building Applications
- Microsoft Unified Communications: Developer Platform Futures
- Microsoft Silverlight Roadmap and Futures
- Microsoft Silverlight 3 Advanced Performance and Profiling Techniques
- Manycore and the Microsoft .NET Framework 4: A Match Made in Microsoft Visual Studio 2010
- Development Best Practices and Patterns for Using Microsoft SQL Azure Databases
- Developing xRM Solutions Using Windows Azure
- Developing .NET Managed Applications Using the Office 2010 Developer Platform
- Developer Patterns to Integrate Microsoft Silverlight 3.0 with Microsoft SharePoint 2010
- Data Programming and Modeling for the Microsoft .NET Developer
- Building Applications for the Windows Azure Platform
- Automating “Done Done” in the Dev-to-Test Workflow with Microsoft Visual Studio Team System 2010
- Accelerating Applications Using Windows HPC Server 2008
My favourite title in there is definitely "Manycore and the Microsoft .NET Framework 4: A Match Made in Microsoft Visual Studio 2010" but there are other contenders for sure. As for the topics themselves, I think many of us have still not given concurrency/parallelism/manycore the attention it deserves, and all of us are guilty of compartmentalizing what we learn about so I bet you have probably ignored something (Silverlight, or SharePoint, or Azure, or the full power of VSTS). That means these sessions alone will make us better devs. If these titles are enough to get you signed up, do it now
while you can get a $500 (US) discount - from $2095 for the whole conference (except workshops) down to $1595 until Sept 15th. Wait till Labour Day to start bugging your boss about it and the discount will be gone, plus the plane tickets will be more expensive. (Oh, if you're a student or teacher, you pay only $595, which gives you an astonishing way to get head and shoulders above those around you.)
There are also some seriously intelligent workshops scheduled:
- Getting the most out of Silverlight 3
- Patterns of Parallel Programming
- Developing Quality Software using Visual Studio Team System 2010
- Architecting and Developing for Windows Azure
- Microsoft Technology Roadmap
- Software in the Energy Economy
- Developing Microsoft BI Applications - The How and The Why
Four of those seven workshops are being given by RDs, meaning you'll get real world experience along with the technical product knowledge. What a way to get caught up on something you weren't paying attention to!
Going to conferences is getting harder and harder to justify in this climate. But that doesn't mean you stop going to conferences - it means you only go to those that are relevant to your work and offer amazing value (content, people, atmosphere, and otherwise-unavailable bits) in return for your registration fee, travel, and time away from work. The PDC offers just that for devs on the Microsoft stack. It's the only conference I've ever paid my own money to get to. Be there!
Friday, July 31, 2009
It's time to start talking about TechDays (because among other things, I'm talking at
Joey has the details
including a list of sessions. I'm in the Core Fundamentals and Best Practices track in Toronto, delivering these two talks:
Day 1, Session 1:
Tips and Tricks for Visual
This session enhances your experience with Visual
Studio. Keyboard shortcuts, macros, layouts, fonts, tools, and external
utilities are all very powerful and underused features of Visual Studio. This
session makes you more productive in Visual Studio. Bring your pen and pad
because you'll definitely want to take notes!
Day 2, Session 4:
Database Change Management with Team
If you develop database enabled applications on top of
SQL Server, you owe it to yourself to considering doing it better with Visual
Studio Team System. In this session, you’ll learn about changes to how the
product works under the covers and what that means to you. Then, you’ll learn
how to use the product to design, build, and deploy your databases to
development, test, and production environments -- all with purpose and method
instead of the more traditional madness that can be found in many shops in the
I am a huge Data Dude fan, which makes the second session a natural, and as for the first one, I'm one of those people. When I present I'm nice and careful with lots of mouse clicking so everyone can see what I'm doing. But when I'm sitting down to code, I get a pretty constant chorus of "hey, how did you do that so fast?". Come and see how .
Monday, July 27, 2009
If you want to start talking to developers about your technology, you're hardly the first. Whether you want to talk about the tech your company builds, or just tech that you like to use, or something a little in between (I don't make Microsoft software, or sell it, but since it's the platform I consult and mentor on, I have a financial interest in people using the tech I talk about) there is someone out there who is in the same boat as you. Chris Heilmann
, a web developer evangelist working for the Yahoo
Developer Network, has written a handbook
for developer evangelists. Trust me, what this handbook has to say is not Yahoo-specific, or web-specific, at all. It is developer-specific in parts, since demos and such are vital to us. Definitely worth a read - and if you want to speak on our tech, start doing some of this.
Monday, July 13, 2009
A whole pile of really smart people, many of whom I am lucky enough to call my friends, have contributed to a new eBook on development topics. Check these titles:
- Working with Brownfield Code by Donald Belcham (Microsoft MVP)
- Beyond C# and VB by Ted Neward (Microsoft MVP)
- Remaining Valuable to Employers featuring Barry Gervin, Billy Hollis, Bruce Johnson, Scott Howlett, Adam Cogan, and Jonathan Zuck
- All I Wanted Was My Data by Barry Gervin (Microsoft Regional Director and MVP)
- Efficiency Upgrade by Derek Hatchard (Microsoft Regional Director and MVP)
- Getting Started with Continuous Integration by Sondre Bjellås (Microsoft Regional Director and MVP)
- On Strike at the Software Factory by Daniel Crenna (Microsoft MVP)
- C# Features You Should Be Using by Ted Neward (Microsoft MVP)
- Accelerate Your Coding with Code Snippets by Brian Noyes (Microsoft Regional Director and MVP)
- Is Silverlight 2 Ready for Business Applications? by Jonas Follesø (Microsoft Regional Director and MVP)
- Innovate with Silverlight 2 by Daniel Crenna (Microsoft MVP)
- Real World WPF: Rich UI + HD by Gill Cleeren (Microsoft Regional Director and MVP)
- Hidden Talents by Peter Jones
- Creating Useful Installers with Custom Actions by Christian Jacob
- Banking with XML by Peter Jones
- Sending Email by Derek Hatchard (Microsoft Regional Director and MVP)
Also, it has comics in it. Really. And if you prefer a printed copy, you can order one (black and white or colour) at a nominal cost. And these aren't little blog posts, they're decent length articles. All told the PDF is 132 pages. Each article conveys, on top of the technical information you'd expect, a glimpse into the personality and style of the author. A highly recommended download and read.
Update: This whole recommending thing works even better when you include a link: http://devshaped.com/book. Slow brain day today, I guess.
Friday, July 3, 2009
At Tech Ed this year, a whole pile of my friends (and me too) were invited to pontificate a little on fairly light weight technical topics like "what technology have you enjoyed lately?" and "how do you keep up with everything that's changing all the time?". The result is a fun series featuring luminaries inside and outside Microsoft: Scott Hanselman, Billy Hollis, me, Richard Campbell, Stephen Forte, Clemens Vasters, Tim Huckaby, Michele Leroux Bustamente, Jim Wilt, Brian Noyes, Loke Uei Tan, Matt Hessinger, Don Box, Juval Lowy, Jeffrey Palermo, and Tim Heuer. They're being uploaded one a week or so - you can get started now and enjoy more later.
Here's a direct link to mine if you need it: http://msdn.microsoft.com/en-us/dd776253.aspx
Friday, April 24, 2009
I like Scott Berkun's main blog and read it regularly. But now I'm also reading his new one that specifically covers public speaking. Lots of "how to fix" posts, and links to other tips and information. I was especially interested in the graph of heart rates falling as a lecture continued (in a university setting I believe) along with the recommendation to do something other than talk to folks every 20 minutes or less. Sounds like a good use for a demo!
Friday, April 10, 2009
I think one of the things that really sets good presenters apart from poor ones is what they do when something goes wrong. A poor presenter:
- needs all their cycles to try to figure out what went wrong, and has none left for looking after their audience
- is focused on making the demo work and sticking to the original plan
- is rattled by the experience so that whether the demo works in the end or is abandoned, the rest of the talk is lower quality
A good presenter:
- has rehearsed the demos many times, so that most "boom!" moments have been seen before and can be fixed quickly
- doesn't need as much energy to look after the audience, so is more likely to be able to do it
- is focused on making the talk work
- has backup (screenshot of the result, an exe that was built earlier) so that something can be rescued
- can get through the failure quickly and get back to the flow so that the talk as a whole can go well
I linked a while ago to a picture of Steve Teixeira dealing with a blue screen. Now Brad Abrams has highlighted Bill Buxton (who I quoted a few posts ago) dealing (at Mix) with hardware that refused to co-operate. I aspire to do as good a job dealing with demo failure. Brad includes some other "demo failures at Mix" in his post, too.
A tip that has served me well over the years: have a stock of optimistic "I am not an idiot" sentences to use while you're either giving up on the demo or doing what you need to do to make it work. "Hey, if it was perfect, we'd be shipping it" is good. So is "told you it would be a short demo". Humour keeps the audience with you, and stock lines don't take up much of your brain, so you can be furiously thinking with most of your brain about how to solve your problem (either how to fix the demo, or what to do with the rest of your talk now that you have ten more minutes to fill.)
Thursday, March 19, 2009
Toronto Code Camp is happening again this year, and this year I will be there speaking. My session title wasn't deliberately chosen to show up first in the list of sessions, I promise. The talk is:
Boost Developer Productivity: Write Extensions to Visual Studio
Visual Studio is a complex tool used by a wide variety of developers. Customizing your tool makes you more productive, and Visual Studio is highly extensible. In this demo-heavy session you will see how to write your own Code Snippets, how to write and use macros, how to write a simple add-in, and how to create your own templates for projects and project items, complete with wizards. Streamline development to fit your processes and habits by writing a little code to ensure that Visual Studio works the way you do.
I hope you already know the rules of Code Camp: all code, no fluff, and always free. Come on out and learn!
Thursday, March 5, 2009
A quick glimpse of what you'll find if you search for C++ on the Tech Ed Sessions page:
I'm looking forward to it once again!
Saturday, February 28, 2009
I've been doing some training lately and of course conference season is on the way, so I'm starting to think once again about the mechanics of talking to audiences. One relatively recent change in audience is the popularity of Twitter. It is starting to create a far more public backchannel, one that even the presenter (or the presenter's colleagues) can read and respond to during the talk.
Private, even secret, backchannels are nothing new. I've been on many a conference call where 5 or 6 of us are on Messenger discussing the call itself (and we probably wouldn't want the speaker to read what we were typing.) I've also been in physical meetings where a small group of people are privately discussing the meeting itself, whether co-ordinating who will say what when, or just aimless snarking and wondering when we can leave.
But a public backchannel, maybe even one you have an obligation to monitor, is a very different beast. Some folks, like Olivia Mitchell on Tamar Weinberg's blog, think it's all-good all-round: better for the audience, the presenter, the world as a whole. Presenters just have to learn new reflexes: when your audience suddenly starts typing and looking at their screens, it doesn't mean you've lost them, just that you're so interesting and the information is so important that they feel the need to share with the world immediately. Ira Basen is not so sure, especially if the tweets are negative and going out in public before the talk has even finished and without asking the presenter any questions.
Different conferences will probably lead to different conventions and habits. I can imagine a lot of tweeting from a keynote where things are being announced or demo'd for the first time. But if I'm doing an hour on C++ 0x features, I can't really see why "OMG Lambdas r AWESOME" can't wait until the talk is over. "Now showing capturing the whole stack by reference" doesn't seem like a likely tweet. I can tell you that I'm not going to have a window open on my screen where I'm following "my channel" and that if you want to ask me a question, it's going to involve speaking aloud, at least for now. That said, it's a good idea to think about the impact of wireless internet in every room and instantly-constructed channels on speaking, on conferences, and on the way we all share information. I think there will be more room-switching early in talks if people learn that someone else is really doing a great job, and attendees may demand more agility in scheduling repeats and extra sessions on topics that were well received. As always, we live in interesting times.
Saturday, February 21, 2009
One of the major reasons to go to Tech Ed is to meet other people in the industry. Everyone says you get the best jobs, the best advice, the best learning opportunities if you happen to know a lot of people, and the way to know a lot of people is to meet people and talk to them. But haven't we all had trouble finding someone to speak to at conferences? I always seem to end up at a table of sysadmins who know more about PowerShell than would seem humanly possible, or some hardcore DBA types who spend the lunch swapping tales of index problems from hell. If they're having a really technical conversation that's over my head, that's a meeting opportunity come and gone.
Over the years Tech Ed has tried lots of ways to help people find like minded people to talk to. Once you're on site, there are Cabanas or Track Lounges or whatever they call the informal place from year to year. These are great. But what about in the months leading up to Tech Ed? This year, there's something called Tech Ed Connect. You enter some details about yourself and are shown a map where people with similar interests appear closer to you. Mouse over someone and you see their user name (looks like many people are using their name, or initials) possibly a picture, and some details.
(I had to put IE8 in compatibility mode to see the map, by the way.)
You also get a "quick connect" card that can help people find you using this site. Here's mine:
Give it a whirl!
Friday, February 20, 2009
Some time ago, I told you about an issue with the Tech Ed DVDs and Silverlight versions. I also gave you a workaround for how to play the sessions after looking up the session numbers in a PDF document that functioned as an index. Now Laurent Duveau, a Canadian MVP, has gone one better ... he's written a utility that will fix up the index on the DVDs so you can have an all-electronic experience. Nice work!
Tuesday, February 17, 2009
I have a favourite piece of advice, and I give it even though it frustrates many recipients. If you want to write, write! If you want to get into public speaking, speak in public! If you want to start a user group, start a user group! If you want to be an MVP, do what MVPs do (advise others and solve problems and volunteer for stuff) and you'll start to get the benefit even before you get the award. I'm not quite saying Just Do It but the fact is the barriers to entry are very very small these days and possibly non existent. Technical writing especially - start a blog or get active on newsgroups and presto, you're writing! Listen to feedback (people telling you you're wrong is bad, people thanking you for your answer or quoting you elsewhere is good) and you will get better. Public speaking isn't much harder to crack because the world is full of user group leaders and similar folks who need someone to speak to them month after month. It's also full of Code Camps and other places to get started (they tend to come with coaching and encouragement too.)
Still some people don't like this advice. They feel held back from what they want to do, and they don't like to be told "nothing is holding you back, you can start whenever you want." Alternatively, they don't want to speak or write or lead for free, they want to be paid for it, and they don't like the idea of starting for free and working hard for years to get that overnight success. So here's a rephrasing that maybe you'll prefer: "80% of success is just showing up." It's attributed to Woody Allen, not a guy I would normally take advice from, but it sure is accurate. Go to the meeting, open the document you're supposed to be writing, be there when someone asks for volunteers, go to the whiteboard and draw as much as you know, put your shoes on and go outside, ... not all at once of course, but these are the "just showing up" tasks that get you on the road to success. Try it.
Monday, February 16, 2009
Paul and Kimberly are so romantic! Paul started it with a Valentines Day post about how to be a better speaker, giving lots of credit to his lovely wife. So naturally she followed up with a post of her own. If you've never seen Kimberly speak, you really should, even if you don't know anything about her topics. We're often speaking at the same time but the few times I've managed to get free time and sneak into the back of her room, I've been tremendously entertained and learned more about SQL Server as well. I know, too, how much time sweating demos, rewriting things, practicing, and just plain working hard goes into being so entertaining and accurate. You start to get a sense of that by reading these posts - from the tiniest detail of what to wear to the vital "practise your demos" and "show up for your tech check" you can understand that what matters most is caring. If you want to give a great talk you will do all that it takes to give that great talk.
None of their tips are SQL-specific. Read them and you're on the way to getting better. Get out there and do some talks with this in mind, and you're really starting to get it.
Friday, February 6, 2009
I've been saying for a while that the Vista Bridge is now a living project that gets updated. And here we have our second Code Gallery release already. I think it's worth saying again what I said when 1.3 was released:
Here you can download the latest version, join discussions, and report issues including native APIs you wish were wrapped. Remember, this is a sample library, not a product, so don't expect the kind of support, internationalization, or full coverage a product would have. Do expect useful code for reading (if you care about how to do interop well) or just using (if you want to light up your application with Vista features without knowing about interop.)
I've been doing quite a lot of speaking on this wrapper library and it really makes all the difference in the world if you'd like to adopt the latest OS functionality from your managed (C# or VB.NET) application.
I did a quick search to see who had been writing about our library and was a little surprised to find a Wikipedia entry: http://en.wikipedia.org/wiki/Vista_Bridge. But it turns out that's about an actual bridge, that cars drive on, on Vista Avenue in Portland Oregon. Ah well.
Tuesday, January 27, 2009
Brian Marble reports that the session selection process is almost complete. I submitted a few talks, of course, and I also know of at least one talk submitted by someone else in Microsoft with me as the speaker. The dust hasn't quite settled yet (the session titles should be on the web in February) but I do know that at least one of my sessions has been accepted. Yay! I'll add more details when it's official, but for now ... see you in LA in May!
You can register now, by the way, and get a nice discount and snag a good hotel room...
Monday, January 26, 2009
You know the deal when you demo beta (or worse, pre-beta) software. That stuff has audience detectors in it! Sure, it works on the plane, but just wait until you get in front of people. I’ve had my share of demo deaths, but I don’t think I’ve managed to look this cool about it:
Steve Teixeira tells the story in this blog entry.
Sunday, January 25, 2009
I attended more events than usual in 2008, and I spoke at roughly the same number as usual, for me. But many people are saying they plan to attend fewer events in 2009 than usual, and what’s more they’re saying that might not be a bad thing. In a time when sessions are online, when you can search the web for the blog of the person who wrote the feature you’re interested in, why would you pay for a plane ticket and a hotel room, not to mention a substantial admission fee? I can think of at least three reasons why I do it: for the time spent with likeminded attendees, for the time spent with speakers, and as an oasis from my other obligations that’s devoted to this particular topic. There’s a fourth that you won’t notice unless you go to conferences that are well-curated: somebody is taking the time to select sessions, to select speakers, and even to get the sessions delivered in a sensible order. For more on this point, you should read Andrew Brust’s blog entry on the importance of track chairs in the 21st century.
Monday, January 19, 2009
2008 was a tumultuous year for me so I thought I would start a new tradition of doing a retrospective post.
In January, I started doing something at Trent that I had never done before in ten years of teaching there a course or two a year – teach the same course twice at once, on different nights in different locations. I think the Tuesday night people got a better course since I in effect rehearsed for them each Monday morning . The marking load was a little difficult but I managed it. Also in January I had a geekspeak appearance, and the planning started in earnest for Tech Ed.
In February I spoke at my own user group, which is always a treat, and the Toronto Heroes Happen Here event introduced Visual Studio 2008, SQL Server 2008, and Windows 2008 to Toronto.
March kicked off with SD West, where I did two sessions (Vista programming for half a day, and some Practical VSTS tips) and recorded a video interview. I really enjoyed SD West’s sense of difference – the attendees, speakers, and topics all had a little fresh and unusual twist to me compared to the conferences Microsoft runs. My schedule doesn’t often let me get to third party conferences but it’s definitely enjoyable when it does. Also in March, we closed our Peterborough offices after nearly a decade there, and consolidated back to a single office attached to our home. Times have changed since we set up the Peterborough offices – we have high speed Internet at home, couriers are no longer an important delivery mechanism for us, and we haven’t employed a university student for many years – so we decided paying rent and commuting 45 minutes each way every day was a foolish habit. It really has been one of my best decisions of the year.
April’s big fun was the MVP Summit. My schedule was jam-packed and my only regret was that the C++ team didn’t schedule any boring or irrelevant parts of the day that might have let me go visit another team to broaden my horizons.
In May, Chris Dufour and I held our own Heroes Happen Here launches in Peterborough and Whitby. We had a scaled down version of the Toronto event and enjoyed it a great deal. Then DevTeach came to town – my absolute favourite third party conference always. As well it provided an opportunity for the Canadian RDs to get together and that is never a bad thing!
June, of course, meant Tech Ed. A precon, lunch with Bill Gates, three breakouts, two podcasts, assorted booth duty / ask the experts / etc plus dinners, receptions and side meetings made for a whirlwind week. The sort of thing I work all year to get, to be honest ... I loved it!
I started July by recording a .NET Rocks episode. Another thing I don’t get to do enough of. Then I just settled down and worked on projects for a while. Community activity is always a bit slow in the summer. As my project work intensified (nothing I can announce at the moment) I stayed heads down right through to the end of October when the PDC rolled around. We were all full of pent-up PDC demand after so long without one, and it was good, really good.
Just one week home after PDC, and trying to catch up on that project work, and it was off to Barcelona (maybe for the last time?) for Tech Ed Europe. I would have had an amazingly great time even if I hadn’t placed a talk in the top ten, but I was lucky enough to do just that. The food, the scenery, the weather – I am really going to miss Barcelona.
In December I got back on the community stage by visiting three southern cities to tell the story of Vista Bridge. I got caught in a snowstorm in Baton Rouge, the like of which they get once or twice a century, just to add a little spice to the tale. And that brings us around to the end of the year. What's next?
Thursday, November 20, 2008
It's so hard to remember, while you attend a conference, that the convention centre is essentially a blank canvas on which your conference is drawn. Between shows most of the space is a giant empty room with concrete walls and floor. All the lighting, draping, signs, and screens are installed for the show itself - even the chairs are temporary. This amazing timelapse video shows you the keynote room at PDC over the days before, during, and after the show. One of the things I like is that you can see how often the keynotes were rehearsed in the actual room on stage with all the screens going. Full-on dress rehearsals are vital to a good presentation.
It's about 6 minutes long and parts of it are a bit dull (imagine what they would have been like at normal speed) but I'm glad I watched it.
Saturday, November 15, 2008
Friday night wrapped up with a reception in the speaker room where we'd been working all week. Some of us (including me) were a little slow to switch from workin-on-my-laptop mode to hangin-with-my-speaker-buds mode.
That's Rob Windsor in the foreground and Brian Harry next to him. I went with Cava, Rob with beer. There really are no wrong choices . In the background you can see the big screens that show the top ten speakers and also randomly display comments from any and all sessions. A number of these were very funny out of context.
Earlier Friday I took this picture from my hotel window:
Always you can see Sagrada Familia, I noticed this from the cable car and the castle also. It just rises up out of the sea of lower buildings.
Barcelona was, as predicted, warm and beautiful. Crime was not an issue this year - the police presence was intense and I heard no stories of pickpockets, muggers, or cutpurses this year at all. I discovered the best tapas in the city at Ciudad Condal - which doesn't have its name on a sign so you need to know the address, 18 Las Ramblas. Three of us arrived here - it doesn't take reservations - and fought our way inside through the crowd to reach the maitre-d', who asks "inside, outside, or at the bar?" and then told us it would be 30 minutes for our inside table. The next step is you go to the bar, ask for "tres cervesas por favor" and then point at something from the dozens of plates of gorgeous tapas and montaditos (thingies on toast) and say "tres". Presto - three beers and three (in our case) smoked salmon on toast and you go stand on the sidewalk with the rest of the city. Heaven. The beer was good, the salmon divine, and it didn't even feel like waiting. In no time we had our inside table and then the fun begins. Not a false note - and we gave them lots of opportunities because we ordered a lot of plates. Highly recommended, and actually cost less than some other dinners we had here even though we could barely move by the time we'd finished eating it all.
Will I be back? Well I guess it will be a while till Tech Ed brings me back - we move to Berlin for next year. So I'll have to bring myself back, because I'm really going to miss coming here otherwise.
Friday, November 14, 2008
Tech Ed draws to a close and the website of videos gets updated. This is a general-access-no-login-required highlights site. The mechanism for extracting individual links seems broken, so I'll show you what to click on:
Thursdays wrapup includes footage of the Norway country party (North American speakers typically pick a country to visit for country drinks, and my gang chose Norway) and the Speaker Idol finals (I was recruited as a last minute replacement judge for the finals only.) Speaker Idol impresses me every year because it shows all of us (speakers, track chairs, etc) people who are really good but have not spoken at Tech Ed before. How good? I have a session in the top ten this year, and one of the very few people who is outscoring me is last year's Speaker Idol winner, Jeff Wharton.
The afore-mentioned session in the top ten is here, the full video. Doesn't seem to be downloadable, so set aside 80 minutes and learn about shared_ptr and lambdas. The abstract is inaccurate - I didn't do anything on STL/CLR or marshalling - that was last year. The attendees didn't seem to mind that I tossed out half my planned talk and replaced it with content that had been announced at the PDC .
There are 63 videos all told (though 5 are from last year) and they range from a few minutes long to, well, 80 minutes. See what you missed, and maybe see you next year!
Thursday, November 13, 2008
Just in time for my Tech Ed Day 4 talk, we have the long awaited arrival of the Vista Bridge Samples Library, version 1.3, on the MSDN Code Gallery:
Here you can download the latest version, join discussions, and report issues including native APIs you wish were wrapped. Remember, this is a sample library, not a product, so don't expect the kind of support, internationalization, or full coverage a product would have. Do expect useful code for reading (if you care about how to do interop well) or just using (if you want to light up your application with Vista features without knowing about interop.)
Enjoy! I've been waiting a really long time for this!
Saturday, November 8, 2008
I think I have this finally all sorted out now. This map is a little inaccurate because it depicts driving, but it gets the point across:
Monday December 8th I will fly to Fort Smith (via Atlanta). Tuesday December 9th I will drive to the Northwest Arkansas meeting. Wednesday Dec 10th I will fly from there to Baton Rouge (via Atlanta) and then Thursday Dec 11th I will fly home (once again, via Atlanta.) The talk will be the same at all three, so there's no need to follow me around
The Windows Vista Bridge: How Managed Code Developers Can Easily Access Exciting New Vista Features
Accessing new Windows Vista features is a challenge from managed (.NET) code. The level of interoperability required is out of reach for many developers. The Vista Bridge is a sample library you can use in your own projects today that provides access to new user interface features as well as “behind the scenes” power features. Discover a shortcut to Windows Vista for Microsoft Visual Basic and Visual C# programmers and how you can get involved.
This talk is freshly updated for Tech Ed Europe where I will deliver it Nov 13th. See you there!
Thursday, November 6, 2008
Jesse Kaplan gave a GREAT talk at PDC called Managed and Native Code Interoperability: Best Practices. I really enjoyed it, and it actually covers a great deal of ground. Sure, some of the diagrams expressed concepts I have expressed before, but that's a vote of confidence as far as I'm concerned.
This is a dense talk that assumes a fair amount of background knowledge, but well worth the hour to watch. And then he plugged my marshal-as site, too!
Dude, you had me at "interop boundary" and it just got better from there. But this was a great finish!
Monday, November 3, 2008
More PDC goodness.
Steven Sinofsky is the senior vice president for the Windows and Windows Live Engineering Group at Microsoft. He was awesome in the Day 2 keynote. Then he walked down to The Big Room and did a half hour Open Spaces talk with attendees. I recognized fellow RDs Tim Huckaby and David Yack among them. The sound quality varies but the recording is well worth watching to see how comitted he is to the Engineering 7 blog and to communicating with developers.
Then there's Joey deVilla. I've been reading his personal blog for ages and his technical blog once in a while - he was an open source guy so it wasn't always relevant to me. I love his sense of humour and spirit of community. I was delighted to learn that he would replace the departing Jean Luc David (our loss is Redmond's gain.) While at PDC, he interviewed Don Box, Miguel de Icaza, John Lam, Phil Haack and some of the .NET Micro Framework team. Great ways of learning some of what happened at PDC and getting to know Joey a little better.
But he wasn't the only one! John Bristowe was also busy with the camera. He interviewed Joel Semeniuk (another RD) and some people from Windows Home Server. This is a product I am hearing a lot of praise for that I really should install on a spare machine.
I love these videos because they start to capture some of the non-session parts of the conference. If you're wondering why on earth you would go to a conference and not go to sessions, look at these conversations. Also look in the background at the other conversations and interactions. Face time is why we all come to the same place. Sessions are a bonus.
Saturday, November 1, 2008
One of my demos (OK, more than one) for my upcoming Tech Ed Europe talks is a console application. I find when you're doing complicated concepts like C++ templated code, that adding the plumbing to talk to a Windows application (whether MFC, Windows Forms, WPF or whatever) can obscure what's going on. Generally speaking people can follow cout << i << endl; just fine and it reduces the header files and so on that are needed to use the sample.
I had one problem though - on this machine, when debugging a console application I couldn't get the Properties of the command prompt to come up when stopped at a breakpoint, and of course the command prompt disappears as soon as the program finishes running. I could change the properties in the command prompt you get for "start without debugging" but they had no effect on the debug one. The font was too tiny to use in a presentation:
Here's what I did. I brought up any old command prompt, right-clicked in the title bar, and chose Defaults instead of Properties. This affects every command prompt on your machine at once. I switched to Lucida Console and a bigger size, and closed the command prompt, then debugged my console application again:
Do I care that the font is now big in all my other command prompts? Not really. I suppose if I did I could deal with their properties one by one.
Friday, October 31, 2008
An interesting thing happened towards the close of Thursday's MFC session at PDC. Damien Watkins was taking questions, and as so often happens, some of the questions were really more comments or suggestions, feature requests and so on. It's rare for the speaker to be the person who can act on these requests. Normally we're reduced to saying "send me an email and I'll forward it to the right people." Sadly, very few attendees do that. I know it takes a great deal of initiative and even courage to ask a question at a big conference (I do remember my pre-speaker days) and when asked to send email instead, that is sometimes too high a hurdle. As a speaker I can try to make a note of it, but if it's outside my area I may not write down the most important word of the request and that may leave the team unable to respond.
So during Thursday's session, after the third or fourth "OK, I'll pass that along," Damien volunteered:
I know you're thinking "he's just nodding his head and not paying any attention", but if you're using the mike it's all getting recorded. Everybody back on the team says "hey, as soon as it's online, let us know so that we can go ahead." It is getting recorded so it's all going back.
After the talk, Damien told me that they recorded the MVP Summit sessions and replayed them frequently to hear the attendee comments in context and with precision. For the PDC talks, when they need to share comments with another team, it's as simple as sending them a URL and a minute mark and asking them to listen. In fact I've done that myself this week when asking a question of someone in Redmond who couldn't attend - I sent the URL to the talk, a screenshot of the slide, and the minute mark. One of the easiest followup emails to compose ever. It really makes it possible for the conversation to continue long after the conference. I hope the trend spreads to all my conferences.
Thursday, October 30, 2008
Did you get a set of DVDs for Tech Ed USA this year? I did, and I find them incredibly valuable. But when I went to use one recently, I had a problem: it asked me to install Silverlight. That was weird, since I have Silverlight - in fact I have the latest version. But when I clicked the link, the problem got worse:
I contacted the folks in charge of the DVDs and they told me that in fact you can still get to all the content as long as you know the session code. The only hard part is finding the right disk. Then you browse to the folder for the session:
Once there, double click Player.wms and you should be all set.
I shrank the picture so it would fit in the blog - the text looks perfectly normal in real life.
The online site has been updated to Silverlight 2, but this lets you continue to use your DVDs. There's also a handy index of talk titles and speaker names, which I have been permitted to upload. It's an attachment to this post.
So enjoy your Tech Ed content!
KateTechEd 2008 North America DVD Compatibility Issues.pdf (617.2 KB)
Saturday, October 25, 2008
My Tech Ed Europe sessions are confirmed (have been for a while actually) so I had better tell you about them:
See you there!
Sunday, October 12, 2008
I just love the Vista Bridge. I've spoken about it at Tech Ed, on Geekspeek, on DotNetRocks, and pretty much anywhere that will have me (and I have more planned.) Now the Windows SDK team is blogging about it. Yay! They include where to download it, how to make sure you get it when you install the SDK, and some workarounds for some bugs in the samples.
Stay tuned for more Vista Bridge info...
Saturday, October 11, 2008
Headed to the PDC this month? Is it your first? Or did you go once before but ended up feeling you somehow wasted the opportunity? A huge part of conferences is the face time. The really popular sessions will be blogged (so go to sessions on more obscure topics), there will be other ways to get some of the information (not all, so choose wisely), but no screencast can compare to chatting to people who know things you need to know, to making friends, and to seeing some of your heroes as actual human beings and learning what beer they prefer. Thomas Lewis has an intruiging Guide to the PDC that covers slightly different ground than the usual guides. An intruiging combination of how to learn the most and how to get free drinks as well.
Alas I am not staying at the Westin, but the Marriot. The good news is I have an invitation to a party at the Standard .
See you there!
Tuesday, October 7, 2008
Greg Low, Australian RD, has recorded a four-part webcast on Speaking at Large Events such as TechEd. These are full of good advice.
My advice to those who want to speak is pretty simple: start speaking. Your user group, code camps, heck start with your dog if you can't get invited anywhere. In fact, start with your dog for rehearsals even if you do get invited somewhere. Just hearing yourself get all tangled up and lost 5 minutes into the talk will impress upon you the need to have an outline and a plan, to rehearse, and not to try to memorize every sentence. Every time you give a talk you will get better, and every time you hear one you will get better, so go to things. A lot of things.
Greg covers some nice practical details that I won't repeat - watch his videos!
Friday, October 3, 2008
Monday, September 29, 2008
Let's see ... 50% early bird discount from an already low price (500 for 2 days, 250 for 1, discounted to 250 and 130 for the next two weeks so act fast), a full version of Visual Studio Professional, a full version of Expression Web, the DVD set from Tech Ed 2008, and a coupon for $100 off a DevTeach registration. That's not counting the eval versions of VSTS and Expression Studio. Holy Smoke, this would be a cost effective thing to attend if you didn't even go to any sessions! But the sessions are listed, and they are good ones. Need to know how to build a real application in WPF? Use the ASP.NET AJAX extensions in your web app? Use controls and styles in Silverlight? Lock down your SQL server? This is the conference for you. Local, inexpensive, timely, ... and a bag of goodies.
Plan to be there. And that includes doing a little reading first ... these sessions don't start at "what is this Visual Studio you speak of?" so there's a resource list to get you ready to attend.
Friday, September 19, 2008
Microsoft Canada is trying something different this fall and winter. A paid conference featuring material from this year's TechEd USA, delivered by excellent local speakers and coming to a city near you. Some cities have two day events, others a single day.
- Toronto, October 29th and 30th
- Montreal, November 6th and 7th
- Ottawa, November 27th
- Winnipeg, December 4th
- Calgary, December 10th and 11th
- Halifax, December 17th
- Vancouver, January 21st and 22nd
What will the talks be like? What will it cost? Will there be cool swag? The web site doesn't really say right now, but I've been told the talks will be actual TechEd talks, the speakers will be industry leaders (my friends and colleagues, maybe me if we can make the dates work), and there will be 5 or so tracks, meaning over 30 sessions, so something for everybody. The early bird discounts will be substantial, so watch that web site for updates!
Monday, September 15, 2008
At the moment I only have one fall speaking commitment settled and it’s one of my favourites - Tech Ed Developers Europe. Barcelona will be warm, both in the temperature sense and the personal interaction sense (though I do predict exposure to pocket-picking, bag-lifting, and other forms of theft once again). The attendees will be energetic and appreciative. The other speakers will be fun to hang around with. The ancillary events will be fun fun fun.
My topics are the Vista Bridge, and some new C++ features. We’re still working on the abstracts and titles, so I’ll post an update when they’re locked.
See you there!
Thursday, September 11, 2008
The Tech Ed Online folks have kicked off a Women in Technology page. They’re aggregating blogs, videos, news, profiles and more. Take a look around – I’ve added it to my favourites.
Sunday, September 7, 2008
The guys call me a regular now, and I suppose I am. Here’s another hour of rambling and fun covering Vista (especially the Vista Bridge) the Vista things you’re not allowed to implement in managed code, C++, the MFC update, concurrency, and whatever else popped into my head while we were talking.
Thursday, September 4, 2008
While I was at Tech Ed Developers (US) this summer, I spoke with Craig Shoemaker for his Pixel8 podcast. We talk about UI, and Vista, and the usual things. I have some distinguished company in this interview but if you don’t want to listen to Ted Neward you can zip ahead to the 18 minute mark for me.
Tuesday, September 2, 2008
Tech Ed Developers (Europe) is spotlighting a number of the top sessions from last year, free for anyone to watch. Mark Russinovich (on Wikipedia, his blog) knows more about the internals of Windows than anyone else who’s allowed out in public, and in this session, The Case of the Unexplained... (rated 5 stars out of 5 by attendees), he covers various mystery bugs and how he tracked them down. I’m slightly disappointed that some of the stories ended "so I logged a bug with that team" – I would have loved it if these were all fix-your-config stories, but still to see the techniques is very cool, and if your own code is causing the mystery CPU spike or resource leak, you will really benefit from the tools and approaches Mark shows. Sure, it was at the IT Pro half of Tech Ed, but developers need to know this stuff too!
I would like this stage someday. It's the Barcelona keynote stage, used for wildly popular breakouts also.
Monday, September 1, 2008
Wednesday, July 2, 2008
I enjoyed meeting some friends from the C++ team at Tech Ed and taking a turn in the booth. Li Shao and Marian Luparu were there when I was, and plenty of customers came by. Now you can read a nice summary of the customer conversations on the C++ team blog. The comments keep the conversation going. They are reading, so go ahead and join in!
Monday, June 23, 2008
I said I would post it when I got it.
Wow. Almost as amazing to me as being in a picture with Bill is being friends with so many of the others in the picture. What a day that was.
ps: I know it looks like most of us are all wearing the same light blue shirt. We're not. Stephen, Scott, and I are all wearing Tech Ed speaker shirts, because we were speaking that day. Across the front row, Dave is wearing his Culminis shirt (it's a slightly different blue) and Morgan her INETA shirt. Dan is actually in a white shirt that is reflecting Morgan's shirt. Unfortunately I can't remember whether John (behind Morgan) was wearing a speaker shirt for sure, but I think so.
Double ps: updates from Rob Zelt and John Holliday.
Friday, June 6, 2008
In addition to the talks with C++ in the title (3 of them) and with C++ or a related word in the abstract (3 more) I listed in an earlier posting, I spotted this in a Tech Ed deck:
Heh. That sure isn't C#. What talk is it?
MBL302 Building Windows Mobile Applications That Work with Windows Vista Sync Center
The new Sync Center in Windows Vista will become the hub for all data synchronization between the PC, Mobile Devices, and online services. Take a closer look at the development framework, as well as the end-user experience that Sync Center helps create. This session dives into the code you need to write in order to plug your application into the Sync Center user interface. If you're writing an application for Windows today that has any synchronization components, you should not miss this session.
The speaker has a blog entry
that states his pro-C++, pro-COM position unambiguously:
This is easy, this is Windows software development like it has been for at least 10 years. It is well defined, well known and well supported...go and learn C++ and COM, it is how many of the Windows Vista features are exposed to developers and with good reason. If you are not prepared to learn how to program your computer then you should question why you are in the software development business.
I think easy might be an overstatement, but I do certainly agree that "old style" programming techniques still have real value in the Vista universe. Keep your skills sharp!
Thursday, June 5, 2008
How many C++ talks are there at Tech Ed this year? Well if you just run your eye down the titles, you'll see these:
MBL202 Maximizing the Usability and Compatibility of Your Mobile Microsoft Visual C++ Application
This session is targeted towards native (C++) developers. The next version of Windows Mobile will have a radical new look, with lots of new common controls and UI capabilities. This session helps you understand what you can do today to minimize backward compatibility issues. We also share many tips and best practices for improving the usability and overall quality of your mobile applications.
TLA327 Parallelize Your Microsoft Visual C++ Applications with the Concurrency Runtime
Introducing concurrency into native Visual C++ applications has long been the domain of true experts and gurus. Yet, as the hardware industry shifts toward multi-core and manycore processors, all developers will need to be able to write robust and scalable parallel applications. As part of its work on Visual C++ and Visual Studio, the Parallel Computing Platform team is building a key set of technologies that will enable the development of such applications. In this talk, we explore libraries for expressing concurrency, a set of messaging APIs that allow developers to consistently build parallel applications that are robust and resilient, and a shared user mode runtime for scheduling and for coordinating system resources. Come learn about these exciting new technologies that will help bring concurrency to the masses.
TLA403 Microsoft Visual C++ 2008 for Unrepentant C++ Developers
Visual C++ 2008 is packed full of changes for those who prefer the C++ language syntax and power. This session covers STL/CLR, the new extensible marshalling library, and changes coming in the C++ standard, specifically TR1. If templates don’t scare you, Boost has intrigued you, and you’re the one everyone turns to for mixing managed and native code, this session is for you.
But there are others, they just don't have C++ in the session title.
TLA321 Microsoft Visual Studio 2008 IDE Tips and Tricks
Harness the power of the 2008 IDE using new tips and tricks used by top Microsoft MVP developers and Microsoft employees. We look at new keyboard shortcuts, new options, the powerful "Quick Command" system, macros, tweaking IDE performance, and more that will make any developer using Visual Studio instantly more productive. The entire session is hands-on inside the IDE and applicable to any language, including Microsoft Visual Basic, Visual C#, and Visual C++. If you've been using Microsoft Visual Studio 2005 or have never touched Visual Studio, you're guaranteed to walk away a VS power user.
WIN312 Windows Presentation Foundation and Legacy Code
Yes, legacy (MFC/Win32) applications can interoperate with a Windows Presentation Foundation (WPF) user interface. Companies that have large Microsoft Visual C++ codebases can modernize their legacy applications by giving them a contemporary user interface. They can do this without having to rewrite the core of their codebase. This talk presents "best practices" for how to modify an application so that the native code operates correctly with a new WPF-based managed user interface. The talk covers such questions as "Can MFC applications move to use WPF," "Does it make more sense to rewrite or upgrade the UI," and "How do you design an interop solution between MFC/Win32 and WPF?” As the talk unfolds, it includes a number of "do's" as well as "don'ts."
TLA326 MFC Updates for Microsoft Visual Studio 2008 and Beyond
This session demonstrates the new features added to MFC in Visual Studio 2008, including support for Windows Vista Common Dialogs, Vista Common Controls, the 2007 Microsoft Office system look and feel (including support for an Office Ribbon-style interface), Office and Visual Studio-style Docking Toolbars and Tabbed Documents.
If you're here and you missed one of these, grab the slides on CommNet and see if you can find the speakers on site. If you didn't come to Tech Ed this year, consider ordering the DVD of all the sessions.
(note to self: add "C++" to abstract of any future MFC talk I deliver .)
Tuesday, June 3, 2008
It's one hour till my first breakout session. There isn't time enough to start anything, like actual work from the office at home. It's pointless to worry about my session - I'm well prepared for it anyway but if I wasn't, there isn't time to add a demo or change the deck or anything like that. I just have to sit and wait. It's one of my poorest skills. So I sit and stew instead, which is nowhere near the same thing.
But if you're reading this, and it's not 4:45 yet, come on to S230C and learn about MFC Updates. Why not?
Monday, June 2, 2008
I've been talking with attendees already and thought I would share some ideas I've been passing along. Planning is key to getting the most out of this week. The last thing you want is to be wandering the endless halls of a huge convention centre wondering where you should go next.
Start by planning your sessions with the schedule builder. You should put at least two sessions into almost every slot. Here's why: some of the sessions you plan to go to will not be right for you. They will be too introductory, or too advanced. They will cover just one little part of a technology that you don't know enough about, or a giant overview when you've already decided to concentrate on one corner. This should be clear about 5 minutes into the talk, and then what you need to do is leave. The slides will be on CommNet or the attendee DVDs, so you can get your overview or introduction later. But this hour of your life spent in the same room with someone who knows the topic needs to be spent carefully. So you quietly leave, and head to the other session you planned for this time slot. There really isn't time for you to start flipping through the catalog for possibilities once you've already ducked out. On the other hand, if the session you chose is amazingly great, stay, and plan to get the slides for the other talk instead.
As the week goes on, you'll learn the leveling codes. Every session has a code like TLA326 (my Tuesday afternoon talk.) TLA means Tools and Languages, which is appropriate since my talk is about MFC updates the team has just delivered. the "26" part doesn't really mean anything, it's just an identifier, but the 3 is the most important part of the session code. It means this is a 300 talk. These talks are advanced level, for experienced developers. They are supposed to include:
- Drilling into how a Product / Technology is designed
- Real world examples
- Complex coding, known issues and workarounds (sample code/examples)
Compare that to a 400 level talk (like my TLA403 late Friday.) These are expert level, and likely to have:
- Advanced coding considerations/challenges
- Design considerations/challenges
- Architecture considerations/challenges
- Troubleshooting techniques at the debug level
The best description I've heard is that a 400 level talk will make your head hurt, in a good way. But really you just have to start attending talks and then you will start to see the difference. You will also start to recognize key phrases in talk titles and abstracts such as A Lap Around and know what to expect from that session.
The next tip is that sooner or later you will have a timeslot with no sessions. Maybe you ducked out of one, and then ducked out of your second choice too. That's OK! Head down to the lowest level and wander by the product team booths in the TLC, or the Community Lounge, or do a Hands On Lab. These things are often the most important part of Tech Ed. More on that later!
Sunday, June 1, 2008
Here I am again in Orlando, getting ready for another Tech Ed.
Being in a familiar place, doing something I've done so many times before, it makes me finally ready to blog again. A lovely quote I read just yesterday, "Blogging, like speaking at a Quaker meeting, is something one must do only if the spirit moves one." And today, in a hushed convention centre that will hold over 10,000 tomorrow but seems to have only a dozen today, it moves me. (Read the whole article, btw. And reflect that at Tech Ed we are exhorted to Learn, Connect, Explore.)
Tomorrow, my precon on Vista programming. And plenty more to follow. My friends, in more ways than one, here we are again.
Tuesday, January 29, 2008
Yes! Finally one of my favourite conferences comes to one of my ... er ... nearest cities! DevTeach, star of Montreal and recently Vancouver, is coming to Toronto and bringing many of my friends and colleagues with it. I’m speaking there too... the sessions are at http://www.devteach.com/Session.asp. My talk needs it’s abstract tweaked but the title is good: What's New in Visual C++ 2008. Register before February 1st for the early bird deal. As always, Jean Rene is offering deals to user group members and other community people, so check with your contacts if you have any.
If you’ve never been to a technical conference before, and you aren’t sure anyone would pay travel and hotel for you to go to one, DevTeach is a great way to prove the value of conferences to yourself and your boss. World class speakers (many of whom will be delivering on the same topics at much bigger and more expensive conferences just a few weeks after DevTeach), topics that are relevant to your work right now, and a marvellous delegate-friendly atmosphere combine to attract attendees and speakers – why not you?
Monday, January 28, 2008
This year for the first time I am speaking at SD West. This is a conference I have watched from afar and often wanted to attend. I’m delivering a half day tutorial on Vista Programming, and a new breakout session called Practical Visual Studio Team Systems. In between I will be at Sutter and Stroustrup on C++ and a host of other feed-my-brain sessions that you might also want to attend. Check the full session list and register quickly... the early bird deadline is February 8th.
The Vista Programming abstract is:
Windows Vista is the most compelling operating system release in nearly a decade. With major improvements in the areas of security, user experience, and performance, Windows Vista offers a robust and dependable platform for building a breadth of solutions. This half day seminar prepares you for building a new class of applications that take advantage of these improvements. Come and see how to take advantage of some of the most interesting new native APIs, inter-op techniques, and .NET Framework 3.0 technologies. Learn how to build the next generation of smart client applications with the Windows Presentation Foundation (WPF), and improve user experiences with technologies like task-based dialogs, sidebar gadgets and customized Windows search functionality. Learn inter-operability techniques with managed wrappers and how to leverage the Vista Bridge. Dive into the best practices for upgrading existing applications, and understanding User Access Control (UAC). Learn how to build more reliable and secure applications with technologies like Application Restart/Recovery. And lastly, learn how to build more connected systems with Windows Communication Foundation (WCF) and RSS platform support.
The Team Systems abstract is:
The real strength of VSTS is its adaptability. Our small shop (no professional project managers, everyone’s a developer of some kind, not-officially-agile-but-not-CMMI-either) has learned a lot about making VSTS and TFS fit the way that we work. Topics include knowing which project people are working on without asking them, adding your own fields to those provided out of the box, writing your own queries and reports, and customizing your project portal. This session will help you get up to speed with the features the most practical features VSTS has to offer, and best practices will be suggested.
See you there!
Sunday, January 27, 2008
Tech Ed breakout selections are almost complete, and I should have an announcement soon about my Tech Ed presence. We can get started with my PreCon: Windows Vista Programming: User Experience, Application Compatibility, Reliability and Connections. The pre cons are on Monday of Tech Ed week this year, and registration should open soon. In the meantime, plan to travel Sunday night and attend this pre con so you can come up to speed on programming for Vista and with .NET 3.5 including WCF and WPF.
Saturday, January 26, 2008
A little while ago I appeared on GeekSpeak, talking about the Vista Bridge and how managed code developers (C# and VB.NET, for the most part) can get to some of the cool new Vista stuff without having to get into the worlds of C++/CLI or of interop. I love those worlds but I understand plenty of people don’t. The recording is now on Channel 9. Geekspeak is an unusual webcast because there’s no powerpoint, and no agenda. You show up, people ask you things, you talk, you demo, and before you know it an hour has gone by. I had a great time and I hope you enjoy it too.
Friday, December 14, 2007
I've mentioned before that sometimes when I search for information about topics that matter to me, the search results frustratingly include mostly things that I wrote. That's annoying when you're trying to learn more! But from time to time that same search turns up things I've forgotten, like this interview from over four years ago with Stephen Ibaraki. He's a good interviewer and it's interesting what the interview covers. People ask me all the time "how can I be a speaker too?" or "what does a Regional Director do, anyway?" There are some answers to those, and some tips about writing, interop, porting a project over to .NET, running small business, and more too. It's pretty cool!
Thursday, December 13, 2007
In Barcelona I was lucky enough to meet Lynn Langit who told me about a number of important initiatives she's working on. I mean how can you resist "we're saving lives with Visual Studio Team Systems" as an elevator pitch? She means it, too. Lynn also does geekSpeak webcasts - no slides, no detailed agenda, just show the people something, wait for a question, show them the answer to the question, repeat for an hour. It sounds like terrific fun and I watched a few to make sure it would be, then I said yes, I would do one.
MSDN Webcast: MSDN geekSpeak: The Windows Vista Bridge for .NET Programmers (Level 300)
Event ID: 1032362711
||60 Minutes |
Wednesday, January 16, 2008 12:00 PM Pacific Time (US & Canada)
In this installment of geekSpeak, Kate Gregory, C++ expert, unravels the mystery of the "Windows Vista Bridge." This webcast has little or no C++ content and is aimed at Microsoft Visual Basic and Visual C# programmers who want to access cool Windows Vista stuff without the C++/CLI approach. If you have a question or comment you would like us to address during the webcast, visit the geekSpeak blog and submit it now.
Presenters: Kate Gregory, Regional Director, Gregory Consulting
Register now! Ask questions in advance on the geekSpeak blog!
Wednesday, December 12, 2007
Recently Eileen Crain, who used to manage the RDs, linked to a video we made "way back when" to try to explain the program. It's kind of a hard program to explain, but you might like seeing some of us try.
Tuesday, December 11, 2007
At Tech Ed Developers Europe, one of my talks was on STL/CLR and the marshaling library. There are three super cool things about the marshaling library that all C++ developers need to know. The first is that the random boilerplate code we used to write to convert between two kinds of strings is now taken care of for us:
char* stringfromnativelibrary; //gets set somehow
The second is that it's just templates, meaning it is fast at runtime and intuitive for a C++ developer. The third is that because it's templates, we can write our own specializations, and convert between any two types we feel we will be using - typically on either side of the managed/native border, though that's not a requirement at all.
This last part is really exciting to me. Imagine you have some library you wrote ages ago that takes a RECT and does something with it related to your business logic. But you've replaced your UI and now you have a System::Drawing::Rectangle to represent what your user selected. Wouldn't it be cool to write:
oldfunction( marshal_as<RECT> RectangleFromWinForms);
That's not a problem as long as someone has written that specialization. You can do it, or you can try to find one someone else already wrote.
Date and time, arrays, anything related to screen position, these are going to be types everyone uses. Why not share the effort of writing these conversion functions? That's the thought that hit me at the end of my talk. So I came home and set up a site - www.marshal-as.net - to use for just this purpose. I've had a few submissions from Jason, who was at my talk and was there when I thought of it, and a wish list from a "little birdie". The C++ team knows what I'm up to and they are excited too. Now what I need is submissions and lots of them!
So, drop me an email, comment on this post, or (better) comment on the first post over at www.marshal-as.net. I'll post the specializations one per post and we'll build a library. I'm inspired by pinvoke.net and would like to see this as the destination for finding a specialization instead of writing one. Can you help?
Sunday, December 9, 2007
On Tuesday, December 11th, I’ll be presenting Developing as a Non-Admin in the Ignite Your Coding series of webcasts. I’ll be showing Visual Studio 2008 and Vista and my focus will be on understanding the UAC consent dialogs, and how to keep your application from needing them. Register for it now, or later use the same link to come back and view the recording. But if you attend live, you can ask questions, and that’s often the best part of a webcast.
Friday, December 7, 2007
Last year at Tech Ed Developers in Europe, I had a very impromptu Channel 9 interview. A “shop talk” conversation broke out in the lobby of the Hilton, and Charles decided to film it. This year we planned it in advance and I sat down with Steve Teixeira and Ale Contenti of the C++ team. Watching the video, I love watching the two of them get visibly happier as they start to talk about the product and the big changes and news they announced at Tech Ed. Steve was really quite sick and depending on throat lozenges to be able to talk at all. Despite that, it turned out to be a really fun interview.
Thursday, December 6, 2007
Here’s a little video I did with Paul Foster on C++ and Vista topics. 15 MB, 2.5 minutes. Short but sweet!
Wednesday, December 5, 2007
The Virtual Side guys do a great job of capturing some of the fun and buzz from Tech Ed day by day. Here’s a roundup video that features a little bit of me judging Speaker Idol. 12 MB, 2 minutes.
Saturday, July 28, 2007
Check it out ... sessions are starting to appear. I've been looking at the Tools and Languages track... there are some talks here I'll be sitting in on for sure.
It's going to be a fun fall!
Saturday, July 14, 2007
This is actually something that got settled during Tech Ed USA but my June schedule meant a lot of things I intended to blog didn't get blogged. Now I see myself listed on the Featured Speakers page (I told them, "flattery will get you everywhere" and they're going for it) so it's official.
My talks? The C++/Vista talk I did in the USA, plus a managed-code Vista one. We're still working on an abstract for that.
This will be my third trip to Barcelona. Will this be the year I do the Gaudi-tourist thing? Sure hope so!
Friday, July 13, 2007
Speaker Idol is happening again at Tech Ed Developers in Barcelona this fall. You have months to sign up, but only the first 30 are accepted, so if you already know you're headed to Barcelona (and not speaking, live in EMEA, don't work for Microsoft, etc ... full eligibility rules on the contest site) then you want to give this some serious consideration. Speaking as a judge at this year's US event, I can tell you that the experience of trying to do 5 minutes on a topic you know well can only be good. In order of the worst-possible-thing to best, here's what can happen:
- You can do your talk, do OK, not win, and learn nothing from the judges while still failing to impress anyone with your speaking skills. I think this is pretty unlikely, but anyway it would leave you where you were before you tried - no loss
- You can learn some very specific tips on being a better speaker, both from observing other speakers whose content you don't understand, and from the judges giving you ideas
- You can show your skills in front of people who choose speakers - and not just for Tech Ed either
- you get some publicity and bragging rights just by being selected
- You can win a speaking slot at Tech Ed
To enter, you need to make a 3 minute video of yourself presenting on a technical topic, so don't dawdle!
If you are sure you don't want to enter, either because you're already a Tech Ed speaker or because you'd rather die than speak in public, be sure to at least plan to watch. I found it highly entertaining.
Monday, June 25, 2007
One of the things that people comment on when they work with me is how much of a keyboard shortcut person I am. In fact I really like the fact that Vista supports my typing-preferences and doesn't make me mouse so much. But when I'm presenting, I try to use the mouse as much as I can and stay away from keyboard shortcuts. I just find such presentations hard to follow myself, when I don't know what the demo-ing person is typing and what shortcuts they are using. It's easier to see what they are clicking on.
This became a bit relevant during Speaker Idol when I mused aloud about whether to dock Mark Miller for using CodeRush while demo-ing. Anyone else I would definitely have told not to, but perhaps Mark has a dispensation. I just find that many attendees can't follow along with the blazing speed that CodeRush enables and really lose track of the demo.
Roy Osherove has put together a little utility that displays your shortcuts as you type them. His first post on the topic suggests its value to presenters, while his second one focuses on using it to become more keyboard oriented or to train a coworker to be more keyboard oriented. If you really can't switch to the mouse while presenting, consider using this utility so that people can see what you're doing.
Friday, June 8, 2007
Microsoft Canada is putting on an all-day event Saturday June 16th at the Metro Toronto Convention Centre. Of course it's free, and you'll see plenty of Microsoft and external speakers in multiple tracks.
I'm doing session #1 in the Developer Track in the afternoon: What's New for Web Developers in ASP.NET and Visual Studio 2008. If you're thinking "Visual Studio 2008???" that's Orcas - the new name was announced at Tech Ed in the keynote. Register while there are still spots!
Thursday, June 7, 2007
I have spoken a LOT (too many times to link back) over the last year or more about getting your applications to work on Vista. When I ask for a show of hands to see who has tested their apps on Vista, I typically get less than a quarter of the room. When I ask why I hear things like "a copy of Ultimate is too expensive just to test with" or "I don't have a spare machine with the horsepower to run Glass" or even "I don't have a spare machine".
Fear not. How about a FREE evaluation VHD image of Vista, that you can run with the FREE copy of Virtual PC on the machine you have now? It might be slow, it might not do Glass, but you can find out for FREE if your app even runs, if it works under UAC, what happens if you put a manifest on it, and so on. Come on, what's stopping you? Jean-Luc David of Microsoft Canada has all the links for you.
Wednesday, June 6, 2007
I sincerely hope that this year's Tech Ed USA hasn't featured any of these "worst practices":
I like to advise up-and-coming speakers to watch as many sessions as they can, so they can see what NOT to do as well as what to do. Watch and learn, and giggle a little.
Tuesday, June 5, 2007
My Tech Ed USA talk this year was "Vista and C++/CLI - a Natural Fit". A lot of Vista goodness is hard to get to from managed code. In the precon I showed you how leveraging other people's work (specifically the Vista Bridge and the Preview Handler Framework Stephen Toub wrote for MSDN Magazine) can eliminate some of that difficulty. In my C++ talk I drilled a little further, into things like property handlers that can only be in native code (same for thumbnail providers though I didn't show one) and flukes of the IDE that (for Visual Studio 2005 anyway) make adding a UAC manifest easier for C++ developers. The slides should be on CommNet for registered attendees, and if you want the code samples you can drop me a line. The property handler sample is straight out of the SDK so I don't need to send you that.
Monday, June 4, 2007
Here are the slides (5 meg) from the precon I did on Vista Programming with Tim yesterday. I've only zipped up "my" decks -- Tim should be posting his soon. If you attended and want my code, please drop me an email and ask for the demo that you want. Oh and please do your evals ... we don't have as many evals as attendees right now and trust me, evals make a difference so if you enjoyed the day, tell Microsoft so, and if there's something we could have done better please make a detailed comment - I read them!
PS to the attendee who gave us "1" on every question but said our demos were effective and the technical level was just right, did you know that 1 means the absolutely worst experience you have ever had? 9 means terrifically great.
Friday, June 1, 2007
During my blogging hiatus, we went live with an aggregating site for Microsoft Regional Directors around the world. The Region aggregates our blog postings, using a human editor to extract posts that are interesting and relevant to a wide audience. It also features upcoming speaking appearance and recent publications by RDs, as well as profiles and bios of us all arranged by geography and technical expertise. (Here's mine.)
Regional Directors are smart and technical, but we're also business focused. We do a lot of speaking and a lot of writing. If you know even one smart RD, let that be an endorsement for the rest of us. Check out the Region and discover some new experts to add to your "blogs I read" or "search hits I trust" list. I'm really proud to call these folks my colleagues.
Thursday, May 31, 2007
It's time to get serious about planning my Tech Ed time next week. So far I have these immovable rocks, some of which I hope will be a don't-miss for you too:
I will be spending time at the RD Booth too so if you miss me at one of my sessions, look for me there! I'm hoping to have a fantastic week meeting developers and talking about Vista, C++, and interop in my real world and in yours. I'm also hoping to stay INDOORS as much as I can. Here at home it's in the high 20s even low 30s (Celsius, in other words HOT) but the humidity is nice and low. I know that's not what I'll find once I get to Orlando.
Wednesday, May 30, 2007
Again a blogging pause. Just too darn much work and a fair amount of speaking too. I'll do some "what's upcoming" shortly, but first here are the materials from my talk at the Toronto .NET User Group this week. I helped to found this group five years ago and it was great to be back. I've been doing this Vista talk a lot lately (Code Camp, DevTeach, a webcast last week, and now in Toronto) and it seems like people keep wanting to hear it. It's hard to fit it in a single evening but yes, you can learn what you need to get your app working on Vista in just an hour or two.
The first demo - the one app that has a manifest for the whole thing. Play with the required level or take the manifest away (remove the post build step) to see virtualization. UACDemoSolution1.zip (68.65 KB)
The second demo - the partitioned app with an asInvoker manifest for the overall app and a requireAdministrator manifest for the privileged exe. Also shows how to put the shield on the button. UACDemoSolution2.zip (68.2 KB)
Some fun with the Vista look and the effort VistaBridge saves. CommonFileDialogSolution.zip (1.88 MB)
The deck. ItsVistaTime.zip (790.18 KB) Zipped because the four digit extension seems to be causing a problem. It's .pptx which means you need the viewer for it.
More in the days to come!
Wednesday, March 21, 2007
I have such a good time when I do .NET Rocks with Carl and Richard! I'm sitting around chatting with my buds, doing a little shop talk, sharing horror stories -- the time flies by. I hope one or two of you enjoy listening to it, too. Some things I heard myself say that sound pretty funny now:
- you're out of feet, i'm taking over
- it's the speed of light -- we're screwed
That first one is the CLR talking to people who messed up constantly on memory management. The second is of course the concurrency story. Along the way we talked about Vista (a lot) and covered plenty of ground. Why not give it a listen?
Wednesday, March 7, 2007
I know I mentioned earlier about Code Camp (March 31st, downtown Toronto). The sessions are now set and there will be five tracks with five talks each. Topics range widely - SharePoint development, fundamentals of generics, game programming with XNA, workflow, even a robotics / mobility mashup! Plenty of veteran and new speakers; it promises to be a great day. My talk is scheduled early so I can relax and watch everyone else after I'm done. In keeping with my Code Camp tradition this will not be a C++ talk - I'll be covering Vista programming for non C++ people.
Tuesday, March 6, 2007
Hey, this is great, my Tech Ed talk was accepted this year. This is the earliest I've known I'll be speaking at Tech Ed USA. (I know, I already knew I was headed there for the pre-con, but now I have a breakout.)
C++/CLI and Vista: a natural fit
Vista brings a host of new features that developers can use to create beautiful, powerful, and intuitive applications. Some of these features are easy to access from managed code while others are more of a challenge. These features are generally easy to access from native code. By using C++/CLI, a developer can call either native or managed APIs with maximum ease. This session will demonstrate a variety of different Vista features to illustrate the strengths of C++/CLI.
This should be a level 300 talk and I'm really looking forward to it!
Sunday, March 4, 2007
Darren Strange tells a delightfully honest story about a presentation gone horribly wrong, and getting back on the horse again. It illustrates something most veteran presenters can tell you: it takes more than one huge mistake to completely wreck a presentation. But the trick is that each mistake you make increases the chances of making more, because you get tense and worried and panicked as things go wrong. The comments to Darren's post are very helpful, pointing out that the failed demo was in some ways a smaller problem than the tone setting at the very start of the presentation. Something for all of us to learn from this one.
Wednesday, February 28, 2007
My talk will be Thursday morning... you should register. Look who is speaking at this thing! Look what you can come and learn! Montreal is a lovely city, and it's easier to get your boss to send you to Montreal than Barcelona, isn't it?
Sunday, February 18, 2007
I will be in Montreal in May to speak at DevTeach.
It’s Vista time – is your application ready?
Windows Vista provides an extensive set of new APIs that enable improved user experiences and enhanced security, but some of these APIs are exposed through native COM and Win32 programming models. This session highlights strategies and techniques for taking advantage of these native APIs from managed code. Learn what's really involved in making your .NET application "light up on Windows Vista" with User Account Control (UAC) integration, Windows Vista User Experience features like common file dialogs, task dialogs and command links, and integrated desktop search.
DevTeach is a lot easier to get to than some of the bigger conferences, and it has a star-studded speaker list. See you there!
Thursday, February 15, 2007
I read a few interesting posts (Barry Leiba, Raymond Chen) about email subject lines. I get about one email a minute, and even after you strip out the offers that aren't really that personalized (I already get those from Canada, thanks, and I don't even have one of those, and as for that, are you serious?) I get dozens and dozens of real and important emails every day. And at a quick guess at least half have a terrible subject line. If you've heard me speak, you've heard me try to teach the art of a good subject line. Let me try some more here:
- Never use the name of a project or client, and only the name of the project or client, as your subject line. My "City of Kawartha Lakes" outlook folder contains roughly 50% emails that break this rule. Most of my staff were on the project at one time or another and were typically on other projects too. So when they emailed me a question or a status report, they put "City of Kawartha Lakes" or "CKL" or "City web site" as the entire subject. The problem with that is it's so ephemeral. This morning it distinguishes your mail from the others in my Inbox you sent me about a different project. 6 months from now, when I'm trolling the client folder trying to establish when something was decided, it's really of no value to me at all. The City staff were no better: they used to write with subjects like "our website project". It was during that project I started to train my staff on subject lines.
- Really try to imagine someone using your email a year from now. Then you'll naturally change "weekly status report" to "status report, week of Jan 2". That's doubly true if it's not date related -- at least I can sort my emails by date.
- Never use a subject line that will make little or no sense if it's forwarded, or could offend. "Need a ruling on bug 234" is ok, but just "bug 234" will not make sense when it lands in the client's inbox, and "Can you please get these morons to make up their minds?" is also bad. If I have to change your subject line in order to forward the message, then when you're cc'ed the subject line change will confuse you.
- Barry points out the problem with "meeting with Barry" or anything else that has some sort of directionality in it. Even "today's results" becomes mislabelled tomorrow.
- Probably the second worst subject line in the world is "question". The worst: "couple of questions". I prefer separate emails for separate questions, so I can reply to them one at a time, forward them to those who can truly answer them, and so on.
- If you don't get any spam at all, and have a way better spam filter than me, or are luckier than me, take a look at what is getting dropped once in a while, and don't use those subject lines. "question" is real popular in my junk box, as are "Good day", "Approved", "Document", "Request" and so on. Plenty of folks (and spam filters) drop those unread.
- If I am not likely to recognize your name, take extra care with your subject. Email from a known correspondent with a confusing subject line will at least be read. It may not be very file-able, but I'll read it. The same subject line from a stranger might go straight to the trash. At events I recommend mentioning the event in the subject.
- When replying, feel free to fix subject lines. Most importantly, remove [ACTION REQUIRED] and similar flags if you are not actually requiring action in your reply. I don't object to folks using these tags but it gets tiring when my folders are full of ACTION REQUIRED messages that say "ok you will have it by end of day".
Finally, as a Raymond-commenter points out, make your first line or two really count. It may be all I read. If you want me to review something, start the email "can you review this document by Friday?". Then you can provide the backstory after that. I file a lot of things unread, because I get cc'ed on things. This is good. It's better still if the part I can see in my two line preview says "yes, we can do this for your by Friday" or "go ahead, I have approved the budget" so I don't even have to open the message.
Saturday, February 3, 2007
This year I will be partnering with my friend Tim Huckaby to deliver a pre-conference session at Tech Ed USA 2007 in Orlando:
PRCN12 From Design to Deployment: Everything You Need to Know to Optimize Your Applications for Windows Vista
Kate Gregory and Tim Huckaby
Windows Vista is the most compelling operating system release in nearly a decade. With major improvements in the areas of security, user experience, and performance, Windows Vista offers a robust and dependable platform for building a breadth of solutions. This full day seminar prepares you for building a new class of applications that take advantage of these improvements. Come and see how to take advantage of some of the most interesting new native APIs, inter-op techniques, and .NET Framework 3.0 technologies.
In this all-day pre-conference seminar, learn how to build the next generation of smart client applications with the Windows Presentation Foundation (WPF). Learn the fundamentals of WPF and work your way through advanced topics like 3D. Learn how to build great user experiences with technologies like task-based dialogs, sidebar gadgets and customized Windows search functionality. Learn inter-operability techniques with managed wrappers and how to leverage the Vista Bridge. Dive into the best practices for upgrading existing applications, leveraging User Access Control (UAC) and techniques for virtualization. Learn how to build more reliable and secure applications with technologies like Windows Error Reporting, Next Generation Cryptography and Application Restart/Recovery. And lastly, learn how to build more connected systems with Windows Communication Foundation (WCF) and RSS platform support.
Many Tech Ed attendees come a day early to do a pre-con and jumpstart themselves to be ready for the rest of the conference. Registration is open and the early bird discount is still in effect.
Other RDs delivering pre-cons include Scott Hanselman, Richard Hundhausen, and Kimberly Tripp along with many other people you have heard of. This is great opportunity to get up to speed on a topic very quickly. You can then go and drill further into some niche of it that interested you, by attending breakouts on that subtopic.
See you there!
ps: do I have a breakout session? There's no announcement on that yet
Monday, January 8, 2007
Time for me to speak at my home group once again. Here's the plan:
It’s Vista time – is your application ready?
This session starts with a discussion of overall compatibility of Windows Vista for applications written for earlier versions of Windows OS. It also highlights new features and security tightening in Windows Vista, how applications will behave under these conditions, and what changes may be needed to transition smoothly to Windows Vista.
We then drill deeper into the programming side. Windows Vista provides an extensive set of new APIs that enable improved user experiences and enhanced security, but some of these APIs are exposed through native COM and Win32 programming models. This session highlights strategies and techniques for taking advantage of these native APIs from managed code. Learn what's really involved in making your .NET application "light up on Windows Vista" with User Account Control (UAC) integration, Windows Vista User Experience features like common file dialogs, task dialogs and command links, and integrated desktop search.
Kate Gregory helped to develop the material for the Vista Ascend course for Independent Software Vendors, wrote the Hands On Labs currently being used by Microsoft to teach programming for UAC, and is developing a large C++ Vista reference application. She has spoken on Vista topics on three continents.
The meeting is at the Whitby Public Library. Pizza and networking from 6 to 7, then I'll speak. Please register so we get the right amount of pizza!
Wednesday, December 13, 2006
Yes indeed, there will be a code camp in Toronto next year! It will be held Saturday, March 31st and the website is now ready for you to register as an attendee, a volunteer, or a speaker.
The Second Annual Toronto Code Camp, a free .NET community sponsored event, will be held on March 31st, 2007! Last years event was a huge success with over 220 attendees, 4 tracks, 20 speakers, 25+ volunteers and over $17,000 in prizes given away. This year’s event will be even bigger and better! Registration is now open, but remember, space is limited and based on last years response it will fill up fast.
Deadline for speakers is Jan 15th, for volunteers Feb 15th, and for attendees there is no deadline, but it will "sell out" -- to the extent a free event can sell out. Trust me, you want to be there. If you don't normally attend Microsoft events or user group meetings, either for scheduling reasons or because you don't want to be "sold to" and you worry that might happen at such events, you should make a point of coming to Code Camp -- it's a grassroots community event and a great opportunity to learn from a wide variety of speakers on a wide variety of technologies. And if you can stand the thought of ever speaking some day, Code Camp is the classic place to start. We'll even help you become a speaker if you're interested.
Tuesday, December 12, 2006
Gee, ten minute talks on very specific technical topics... where have I heard that concept before? It really is something technical people need. Here are a bunch from MSDN in the UK along with a pretty nice UI to let you filter by technology, content level, even presenter if that's important to you. They seem to upload more about every other month.
I took a quick listen to "Wrapping Windows APIs with C++/CLI" and I liked it.
Thursday, December 7, 2006
In Barcelona, I was on the panel for the Barcelona Girl Geek Dinner. Now, lest anyone be under the illusion that these panels are carefully peer-selected and reviewed, that there's some committee somewhere finding the cream of modern geekhood -- well maybe that was how the others were chosen but for me, I was hanging out in the speaker room when Sarah, who I'd only just met, asked me if I'd do it and I said yes.
I had a lovely time at the panel and we all spoke about our experiences, advice to newbies, how nice it is not being "the only one in the room" from time to time, and so on. I was sitting with Catherine and Cyra, two of my fellow panelists, and Charles Torre of Channel 9 was with us, and we talked over dinner and wine the way in my experience geeky women always do -- a fast paced mix of very technical shoptalk and personal getting-to-know-each other material. (I learned a lot from Cyra and wish we had had more time together.) When the event ended, the four of us walked together across the street to the speaker hotel, but it was such a short walk and we weren't finished talking. Someone expressed an interest in dessert, and we decided to see what the lobby bar had to offer. We kept on talking, and at one point Catherine and I were trying to convince Charles that "the compiler is your friend" -- that strong typing and early binding have big advantages. Charles kept saying "I can't believe I'm not filming this" until eventually he picked up the camera and started to film. He asked us questions he knew we cared strongly about and off we went.
The resulting video is now on Channel 9. It seems to kind of start in the middle because, well, we started in the middle. I suspect it's the only video on Channel 9 featuring gestures with a glass of Scotch. It's one of the very few that doesn't feature exclusively Microsoft employees, so I am honoured to see it there. Those of you who have heard my line "I stay up late over too much red wine arguing about deterministic destruction" can now see that in action. We don't introduce ourselves till the very end, so if you need to know who's who, download the whole thing, skip to the end, then go back to the beginning and watch us.
Tuesday, November 28, 2006
As I mentioned earlier, I recorded a DNR episode while at Tech Ed Developers in Barcelona. A bunch of us got together to talk about Agile development. As I said at the time, at Gregcons we're not "formally Agile" (stop laughing) but we do a lot of things that fall under the Agile umbrella, because they just plain make sense.
I haven't had a chance to listen to the recording yet, but Scott Bellware has, and he liked it. Among other things, he says:
Kate Gregory nailed a quintessential a-ha moment in agile adoption: "You go through this phase of saying, that's way too extreme; I would never do that; what kind of weirdo does that?. And then a year later, you're doing that."
Agile practices go deep and often work at subtle levels. The very practice of agile development puts the sharpness in your perspective that you'll need before you can see the difference between pre-agile development and agile development. Kate's statement perfectly captures this experience of the agile practice paradigm shift.
Happy to help, Scott. Thanks for listening!
Wednesday, November 22, 2006
I don't have a tag cloud on this blog yet because I haven't figured out how to do it with dasblog. But I think they're cool when I see them on other people's blogs. I came across a site that uses the cloud approach (larger fonts mean more occurrences) to report on word frequency in US presidential speeches. It's really neat to see Constitution fade over time, while economy or economic stays always there, and new words rise up. Play with the slider a little. I wonder what other bodies of text you could apply tag clouds to? I wonder what all the powerpoints on this laptop would produce?
Thursday, November 16, 2006
The nice folks at Microsoft Denmark have uploaded most of the materials from my recent talk. Thanks to Nikolaj for the link. All of this is in Danish but I suspect most of you will figure it out... my materials are in English once you get them. Højere produktivitet will soon be yours!
Tuesday, November 14, 2006
The recording of our panel at Tech Ed Developers Europe is now available at the .NET Rocks site. "Kate Gregory, Stephen Forte, and Roy Osherove join Richard Campbell and Carl Franklin on stage at TechEd Europe in Barcelona for this discussion about Agile methodologies." We enjoyed doing the show, the folks who were there in person asked plenty of questions, and I hope you enjoy listening to it.
Friday, November 10, 2006
One of the comments in the evals for my Barcelona talk was "extend it to a day!" Well that's just what Microsoft Denmark chose to do, giving me an entire day to talk about C++/CLI, moving to managed code, interop, combining MFC with WinForms, incredible IDE tricks that I promise you never knew, and the importance of concurrent programming going forward, along with some guidance about how to get there.
I had such a great time I forgot to be tired.... for a while.
I found that Danish has one thing in common with Spanish: I can kind of read it if I try. (Example: Danish for "fire" is "brand".) And I saw a LOT of bicycles. This is a country that gets just as cold as Canada, but people don't insist on driving everywhere. I spoke at a movie theatre and took this picture just outside:
That's right, a separate indoor parking lot for bikes. And it's full, so they're all over the sidewalk. Apparently all the visitors take pictures of the bikes.
I really enjoyed the talk. If anyone is reading this who thinks their local DPE group would welcome a C++ day, please drop me a line. Having a full day to do all the demos I don't normally have time was a marvelous experience.
Thursday, November 9, 2006
I had such a good time this week at Tech Ed Developers! I really enjoyed delivering my talk to a PACKED room (148 evaluations and apparently 155 chairs, how's that for interest in C++) as well as participating in the DotNetRocks panel on agility. This is my room, during my tech check (love that yellow highlight):
A week for me of old friends and new faces, and general good moods all around. And from what I read in the blogs, a week of real interest in C++ and especially C++/CLI. Steve has a roundup over on the VC++ team blog. Bruno van Dooren, a C++ MVP, blogged all the talks and even though he said some overly flattering things about me I will still give you a link to his blog. Don't worry, my head still fits through normal-sized doors.
Here I am with Arfa, the eleven year old (look at the poise! And she's incredibly well spoken in English, her SECOND language) who has two Microsoft Certifications already. She actually did a demo in the keynote and when I complimented her on how she did, she turned it around and complimented me on how I handled panel duties at the Girl Geek Dinner. (Stress-wise, I had the way easier gig.) Keep your eye on her, she's going places.
Tuesday, November 7, 2006
Here I am at my second Tech Ed in three weeks and ready for a great time. The RDs already had a great dinner Monday night, and Tuesday is Girl Geek night. I've picked up an extra session, too, a panel discussion Wednesday afternoon:
DEVPD01 .NET Rocks! Talks Agile Development!
Carl Franklin , Richard Campbell , Stephen Forte , Roy Osherove , Kate Gregory
Wed Nov 8 15:15 - 16:30 Room 116
Enjoy a live audience recording of .NET Rocks as Carl and Richard bring together a group of serious thinkers on agile development for a no-holds barred debate on what works and what doesn’t in the world of agile. Bring yourselves and your questions to the panel and help create a future episode of .NET Rocks!
Saturday, September 30, 2006
Wednesday, September 27, 2006
I've been dying to announce this one. I'm leaving Tech Ed Developers one day early to go to Copenhagen and do a C++ day November 10th. There's an announcement in Danish on the msevents site now. Here's the agenda:
Kl. 9.00-10.15: Visual C++: Højere produktivitet med Visual Studio 2005
Visual Studio 2005 indeholder en lang række produktivitets-forbedringer for C++ udvikleren. I denne session ser Kate Gregory nærmere på de mange nye features og forbedringer Visual Studio 2005 tilbyder. Endeligt viser hun en række tips og tricks, som ingen C++ udvikler bør være foruden.
Kl. 10.15-10.45: Pause
Kl. 10.45-12.45: Sådan flytter man C++ applikationer til .NET
Se hvordan man flytter C++ projekter til .NET og CLR’en uden at skulle porte eller genskrive hele koden. Lær hvordan man nemt kan migrere eksisterende native C++ kode – inklusiv MFC applikationer – til at køre under .NET. Kate Gregory vil også gennemgå strategier til at vælge hvilke dele af applikationen, der skal forblive i native kode og hvilke der skal flyttes til managed kode (.NET). Og endelig viser Kate hvordan du kan bruge .NET’s klassebibliotek og du kan bygge managed ”Wrappers”, som muliggør genbrug af eksisterende C++ klassebiblioteker.
Kl. 12.45-13.30: Frokost
Kl. 13.30- 14.30: Fremtiden er nu
Så længe, der har været software, har der været pc’er med stadigt stigende clockfrekvenser. Nu lader det til at den tendens er stoppet – i dag bliver maskinerne hurtigere ikke fordi clockfrekvens stiger, men forbi de får stadigt flere CPU’er. Det betyder at selv enkeltbruger-applikationer bliver nødt til at være multi threaded. Det skræmmende ved dét, er at de fleste udviklere ikke kan skrive thread safe kode. Kom og se, hvad det kan få af betydning for fremtidens software udvikling!
Kl. 14.30-15.00: Q&A
Kl. 15.00: Tak for i dag
I will be speaking entirely in English. (I'm not sure what "Sprog: Dansk" means but I hope it doesn't mean Language: Danish.) So far I have learned the word "Tak" and hope to use it extensively. I believe "Tak for i dag" means "thanks for the day" and that is going to be my motto this fall. Should you happen to live in Denmark, or near enough to it that you could attend this, and yet not know enough Danish to muddle through this agenda, I will tell you the titles of the sessions as I submitted them:
- IDE Features for Visual Studio 2005
- Moving C++ Applications to the Common Language Runtime
- The Future is Concurrent
See you there, I hope!
The sessions for Tech Ed Africa in Sun City are now available online at http://msevents.microsoft.co.za/teched2006/Sessions.aspx. I have three sessions there, here's how they look:
Notable names on this speaker list:
- Andre de Beer
- Ayal Rosenberg
- Colin Erasmus
- Dave Webster
- Hilton Giesenow
- Jay Schmelzer
- Ken Everett
- Kimberly Tripp
- Ruari Plint
- Simon Harris
- Steve Riley
Folks I've seen speak here before, for the most part. This is always a very enjoyable conference for me and I'm looking forward to seeing everyone again.
Tuesday, September 26, 2006
You can search sessions and see the schedule now, at http://www.mseventseurope.com/Teched/06/Pre/static/Developers/SessionSearch.aspx. Here's how my talk looks there:
Some names I know in the speaker list:
- Anders Hejlsberg
- Ayman Shoukry
- Brian Randell
- Carl Franklin
- Catherine Heller
- Christian Weyer
- Clemens Vasters
- Ingo Rammer
- Jackie Goldstein
- Jan Tielens
- Jay Schmelzer
- Jeff Prosise
- Kimberly Tripp
- Mike Fitzmaurice
- Patrick Tisseghem
- Richard Campbell
- Scott Hanselman
- Stephen Forte
- Steve Teixeira
- Steve Lasker
RDs, blogs I read, MS people... it's going to be a great time!
Sunday, September 24, 2006
I don't know why I didn't see this earlier, but then again I had a tough summer. Here is Boris talking about the C++ IDE and a lot of the tips that were in my Tech Ed IDE talk ... the one with no slides. If you weren't at my talk then I guarantee you will learn something about VC++ from this video, and even if you were, you still might.
Update: I really should have included this link to Boris' blog. Maybe he will update it more often if he gets more traffic.
Sunday, September 17, 2006
Recently, Jim Allchin (Co-President, Platforms & Services, Microsoft Corporation) posted an open letter to developers. In it he points out that it's one thing to beta test a new operating system (as I and thousands of my closest friends have been doing with Vista) and it's another thing to adapt your applications for a new operating system. For me, there are two important parts to that:
- What do I have to do to my application to keep it from failing in the new environment?
- What can I do now to my application so that it will take full advantage of the new environment?
Some Vista-specific examples of this might be "how can I be sure my application will not trigger a bunch of UAC dialogs?" and "will my app have glass?" or "can I get those cool Task Based Dialogs with the blue arrows and stuff?" These are the sorts of things I'll be tackling in some of my upcoming talks. I hope my Vista category will also be useful. My point is, don't wait until Vista ships, then wait to see if any of your clients or customers feel like using it, and then wonder if you have a Vista-ready app. Find out now.
Or as Jim says, "... the opportunity will be tremendous. If you want to ride the wave we're creating with Windows Vista, the best way is to have your application ready by the time we ship! And that is very soon. "
Monday, September 11, 2006
Scott Meyers has been musing about the most important C++ books, non-book publications, software, and now people. He decides on:
- Bjarne Stroustrup
- Andrew Koenig
- Scott Meyers
- Herb Sutter
- Andrei Alexandrescu
You know what? I agree with him. I think it takes some serious nerve to put yourself on a list like that, but his rationale works for me. I'm not sure if the list is in significance order -- if it is, I'd move Herb up a notch or two -- but these are the folks. And four of them were on the speakers list for C++ connections last year. I was honoured, truly, to be on that list with them and need no more than that.
Sunday, September 10, 2006
After a three-year gap, I return to Tech Ed Europe as it returns to Barcelona. Moving it to the late fall has made it much easier to fit into my life. (Not surprisingly, I'll be speaking in the Developers half of the two-week conference.)
My talk is DEV406, Extending Native Code C++ Applications with Managed Code
Managed code programming models and frameworks offer developers a great boost in productivity and code maintainability. This session demonstrates the use of the C++/Common Language Infrastructure (CLI) language binding to access .NET platform features. Rather than re-write applications from scratch to take advantage of managed code, Visual C++ gives developers the ability to enjoy the advantages of managed code whilst still leveraging their existing native code base.
This is the power of C++/CLI - don't port or rewrite, integrate! You're going to love it.
Saturday, September 9, 2006
I'm thrilled to confirm that I will be speaking at Tech Ed in Sun City again this year!
I'm travelling on South African Airways this time (it's been Lufthansa before) and taking a different route, so there will be some novelty along with the familiarity. I just love the energy at this conference; I can't wait to get there!
- DEV 307: Delving into Visual Studio 2005 Team Edition for Software Developers
- CLI 315: Windows Vista: Tips and Tricks for Targeting Key Native APIs from Managed Code
- CLI 402: Modifying Applications to Run on Windows Vista
Monday, June 19, 2006
This year at Tech Ed USA, the booths had slightly different badge scanning hardware than at past shows. Instead of removing your badge from the holder to be swiped, the boothies could just swipe a bar code on the front. This was used not just at booths, but also for session attendance. Here you see Canada's Technology Triangle guy himself, Dave Totzke, being swiped before my Friday talk:
I know at other TechEds they have used RFID in the badges, and then when you go to do evals you can choose from the sessions you actually attended: makes it easier for attendees and gets an accurate count of attendance. I don't know if session attendance and evals were linked here because I hardly attended any sessions at all. In fact, for those I did attend, I arrived with the speaker before the badge swipers so I never got swiped. I know looking at my own evals they told me how many evals were submitted but not how many people were in the room.
Knowing how many people actually attend sessions and comparing it to how many indicated they would in the scheduling tool helps to put talks into the right rooms... it's as awkward to talk to a cavernously empty room as to a busting-at-the-seams-full one. So I like this. But then, I liked the RFID chip, and I've been told it would never be accepted in North America.
BTW, little piece of language-specific trivia: apparently C++ talks get way more "didn't put it in the schedule" attendees than other languages. Is it because all languages get the same number of spontaneous dropins, and all the C++ folks who planned to attend follow through? Is it because C++ people don't like to use the scheduler? Who knows? I'm just happy that while the number of C++ talks may be less than in previous years, I'm still not in the smallest room.
Sunday, June 18, 2006
Another entry from the VC++ team. This one covers many of the IDE changes I showed in my recent Tech Ed talk. One of the questions that arose in that talk was "why does Visual Studio sometimes appear to freeze when I open a dialog?" Boris Jabes has an answer that explains to me why it's more likely to happen when I'm working in native code.
Thursday, June 15, 2006
TechEd is about so much more than the sessions and the parties. It's about spontaneous conversations on the bus, in the meal hall, or while waiting somewhere with groups of people. It's about watching other people react to learning something you've known for months or years. It's about finally getting around to learning something yourself that you never had time for. But that's not the whole of it for me.
Three little vignettes are kicking around my head this morning. The first is a memory from another TechEd, in Barcelona three years ago. I remembered this when I was ironing my speaker shirts for this year. In Barcelona, the hotel rooms had no irons in them, so I was headed to the speaker room in a TShirt to iron my speaker shirt. On the way Juval told me this joke:
A group of people are on a plane when the engines cut out and the pilot asks everyone to brace themselves for an emergency landing. There is some screaming and crying, then a woman stands up and yells "we're all going to die! Is there no-one on this plane who can make me feel like a woman one more time?" At that a man in the last row jumps to his feet and runs toward her. As he runs down the aisle he rips off his shirt revealing a handsome physique. She is beaming and the other passengers are distracted from their impending doom. When he reaches her row, he throws the shirt at her and says to her "Quick, IRON THIS!"
This year's TechEd memory will have to be the hotel evacuation Wednesday night. I have heard many variations on the story from those of us who were there, including people who tried to answer their phones, turn off their alarms, and so on. I also enjoyed sharing stories of what we grabbed. I put my laptop in my bag -- after all I still have a session to give -- and threw a few other things in quickly, but left my power supply and other things that would take more than a quick grab. And you better believe I slipped my shoes on and grabbed my badge, where I keep my hotel key. It was a long slow shuffle all the way down from the tenth floor, but I wasn't worried... I couldn't smell or hear anything unusual so I was pretty sure there wasn't much wrong. Turns out a water leak drew down the pressure enough to disable the sprinkler system, and that meant we all needed to get out.
And today's surreal news, from the conference site:
Information About Limited Measles Outbreak in Boston
The Tech·Ed 2006 Planning Team wants to inform you that there has been a small outbreak of measles in the Boston downtown area. The majority of the known cases have been in workers from the John Hancock building in downtown Boston who were not inoculated with the MMR vaccine or had not been exposed to the virus as children. While the risk of exposure to the measles virus while at Tech·Ed is extremely low, the best prevention against the virus is to ensure you have been inoculated. If you are not sure if you have been inoculated, contact your health care provider. Thank you.
I've already had measles, so I'm not worried.
Tuesday, June 13, 2006
Here's a quick tip about tips. The default font for data tips, editor tips, and so on is really tiny (8 point):
Especially if you're presenting, you'll want to make it larger:
How's it done? The same Fonts and Colors dialog you use for your regular font setting, but use the dropdown at the top of the dialog:
You can also change Data Tips, the font in the output window and find results window, and plenty more. Experiment a bit!
Monday, June 12, 2006
My first talk of this year's TechEd, DEV 309, is today. For those who haven't pulled the slides from CommNet, here's the secret: there really aren't any slides.
That's right, if you remove the "chrome" that TechEd requires, like the session title and my name, there's an agenda, 4 demos, a laundry list to remind you what was covered, and a summary. Basically it's an hour and a bit of showing what the IDE can do. I like doing this talk because I just KNOW everyone will learn something they didn't know before.
ps: attendees PLEASE do your evals, that's how they decide who comes back next year!
Sunday, June 11, 2006
This one not from the hotel, but from TechEd as a speaker thankyou:
It's started already, and it's fun already (and I didn't even open the wine).
Saturday, June 10, 2006
I have an HUGELY busy week planned at TechEd. It kicks off with meetings of MVPs and RDs (I have to miss the meeting of user group leaders, everyone had the same "day before TechEd starts" plan) and the keynote Sunday night. My talks are Monday (DEV309 Visual C++: IDE Features for Visual Studio 2005, 5:00 PM - 6:15 PM Room 259 AB) and Friday (DEV444 Visual C++: Debugging and Resolving Loader Lock and Side-by-Side Issues, 1:00 PM - 2:15 PM Room 160 ABC), and I won't miss the Women In Technology luncheon on Wednesday. In between I have so many meetings scheduled, it's a good thing the sessions will be on DVD afterwards because I just won't be able to attend all the ones I want to. And as for Boston tourism... well at least I'll see Fenway
If you're going to be there, drop me a note and let's see if we can have some "face time" of our own.
Friday, June 9, 2006
If you attended realDEVELOPMENT_06 and really liked Infocard when I showed it to you, I have news: it's got a name now. Infocard was just a code name, which is why it said "Infocard" on the slides. Marketing has now christened it Windows CardSpace (WCS).
What's more, WinFX (which will be released with Vista but available on operating systems down to XP) will be called the NET Framework 3.0. That's handy, because I was spending a fair amount of time explaining what the heck WinFX was (the FX stands for framework, it's basically the .NET framework plus extra good stuff like WCF, WPF, WF, and
Infocard WCS.) I think everyone will "get" what .NET Framework 3.0 means.
Nothing changes in the technology, just the names.
Monday, June 5, 2006
One of the prizes at realDEVELOPMENT_06 Toronto was a Microsoft mouse. You're probably thinking "big deal". Well John was using this mouse in his presentation, and at the first break so many of the questions were about the mouse (yes, about the mouse!) that he took a minute to talk about it before we started the next session. Even the emails I got afterwards reflected a lot of mouse interest, with one attendee putting it first on the list of cool things seen that day.
So obviously this is no ordinary mouse. It's called the Laser 6000 and I guess the laser-ness makes it somehow better than an optical mouse. But that's not what all the fuss is about. It has a scroll wheel (nice and smooth) and you can push the scroll wheel sideways for horizontal scroll. But the side button, just under your thumb, is the cool thing. It's a zoomer. It magnifies whatever is under it... really simply and easily. Here's a shrunken screenshot:
You can control how big the zoomed area is and how magnified it is very easily and your choices persist until you change them again. I have the Wireless Laser 6000 and it's ergonomically beautiful, even fitting the little USB dongle into a slot on the underside of the mouse -- and turning it off when you do that since you're obviously putting it away. I really love this mouse... next time you need a new mouse, think of the Laser 6000, especially if you do any speaking.
Sunday, June 4, 2006
Barnaby Jeans took some great pictures at the Toronto event on Thursday.
Here I'm modelling the girly pink speaker shirt, while Sasha is wearing the same
boring (incredibly sophisticated, sorry Sasha) black as everyone else
We had over a thousand people, and this shot gives you some idea what that's like. Not an empty seat in the house!
Update: Wendy Markevich sent me this shot of all of us on stage: left to right this is Bruce Johnson, Matt Cassell, Mark Arteaga, Tom Moreau, me, Jerome Carron, Adam Gallant, and Scott Howlett.
Friday, June 2, 2006
What at blast I had yesterday speaking at realDEVELOPMENT 06! We had over a thousand people to hear about Atlas, Ajax, Infocard, and security for web developers. Already I am getting emails from attendees asking for the powerpoint decks. Here's the deal: the session notes are online already, and the powerpoints will be there when everyone is back home from the tour and has time to upload them -- some time after the middle of June.
Thankyou all for coming and if you have questions you didn't get to ask, you can leave a comment on this post or drop me an email.
Sunday, May 28, 2006
A little bird shared with me the snack highlights for Tech Ed 2006:
1,250,000 pieces of "Mikes & Ikes" will be consumed over the course of a week at Tech Ed 2006
18,750 pounds of salad will be prepared and offered at meals
83,700 ice cream novelty/ fruit and yogurt bars have been ordered for this function
60,000 eggs will be eaten by attendees at breakfast (this is equal to 4,800 dozen cartons of eggs)
It will take 4 semis to transport the 150,000 bottles of water consumed on this show
The total amount of fruit ordered will fill 3/4 of full size tractor-trailer
1.6 million ounces of coffee will be poured and consumed (conservative estimate)
More than 50,000 pounds of carbohydrates will be consumed at Tech*Ed (Atkins who?)
1,500 table cloths will be used and re-set on a daily basis: (7,500 for the week)
A minimum of 2,000 antacid tablets are likely to be consumed at this event
Now it just so happens that after my very first Tech Ed (Dallas, 1999, as an attendee on a press pass) I got some stats on snacks that year:
183,000 Bottles of Logo Water
14,000 Gallons of Coffee
8, 000 Gallon of Iced Tea
38,000 pints of Milk
37,500 link sausages = 337,500 inches 28,125 feet, 9,375 yards or 5.32 miles.
27,000 Granola Bars
69, 000 Lemon wedges or 11,500 lemons... 275 Trees worth.
200,000 creamers for coffee
333,000 packets of Sugar
3500 pounds of scrambled eggs
110,000 Soft Drinks
Anyone care to compare and contrast?
Friday, May 26, 2006
Our free "what is SharePoint" seminar went off without a hitch on a grey cool Peterborough afternoon. The recurring theme from attendees, as well as some contacts I invited who couldn't make it, was "is it really free? How can that be?" Windows SharePoint Services really is free with Windows Server 2003. Here's a quote from the Microsoft site:
Now shipping as part of Windows Server 2003 R2 or available for download at no additional charge, Microsoft Windows SharePoint Services technology in Windows Server 2003 is an integrated portfolio of collaboration and communication services designed to connect people, information, processes, and systems both within and beyond the organizational firewall.
It really is free. Tell your friends!
We got a few inquiries from folks who lived a little too far away to attend and they asked about a webcast or another location. Please leave a comment if you or someone you know would like to attend one of these, either real or virtual. We just spent an hour and a half putting WSS through its paces and showing what it does out of the box.
Wednesday, May 17, 2006
At the end of next week, May 26th to be precise, we're going to give a free "What is SharePoint" seminar in Peterborough. We'll be focusing on what it can do "out of the box" and demonstrating how much functionality you get for free. So if you know someone who lives northeast of Toronto (or feels like a Friday afternoon headstart to the cottage) please do pass the details along. It's from 2:30 to 4:00, it doesn't cost anything but we would like you to register, and we'd love to see you (or your friend or client) there.
http://www.gregcons.com/seminar2006.htm for details.
ps: no C++, I promise
Sunday, May 14, 2006
While at DevTeach, a colleague was struggling with a laptop that was flaky because it was running hot. He had it on an exhibitor's table, which was cloth-covered, and the soft surface was impeding the vents, which were mostly on the bottom. I passed along this tip to him, and I just heard that it worked as well for him as it has for me, so I thought I'd share it more widely.
Take three or four pens, the same size as each other, and lay them parallel on the desk or table like this: I I I I
Then carefully put the laptop down onto the pens. If you only had one it would wobble, if you only had two it would roll around, but three or four are pretty stable. Presto, your cooling is dramatically improved and your laptop stops being quite so flaky. I've even presented like this, for one of those talks with two VPCs that really pushes your CPU hard.
Thursday, May 11, 2006
Jean Rene sure knows how to run a conference. In previous years he has bought women's-sized shirts for the women speakers, but this year he even got us a different colour scheme! Here are Julie and I modelling them:
I just love coming here!
Wednesday, May 10, 2006
In my concurrency talk today I had a total brain freeze and could not remember the last name of the author of the concurrency book I wanted everyone to read. The title is Concurrent Programming in Java: Design Principles and Patterns and the author is Doug Lea. Don't let the word Java in the title fool you: this is a book that explains the concepts of concurrency no matter what language you're going to use in the end.
Friday, April 28, 2006
Last night we had a community get together on the last day of VSLive. Billy Hollis, Steve Lasker, and Josh Holmes were there from out of town, and the Toronto .NET Glitterati (Rob Windsor, Graham Marko, Chris Dufour, Jean Luc David, Dave Totzke, Barry Gervin, Eli Robillard, and many others) as well. It seems that no-one had a camera along, so you'll have to take my word for it .
I got a chance to talk to Jerome Carron, who like me is speaking as part of the realDEVELOPMENT_06 tour in late May and early June. We will be seeing a lot of each other since we are also both going to be at DevTeach. If you haven't registered for either of these events, you really should.
I've been quiet lately because I've been preparing my slides for DevTeach and TechEd, and working on some material for a Vista Ascend that premieres in May. I also put a new Sharepoint site into production at a client -- and if you've ever had the delight of promoting a gaggle of web parts, aspx pages, and special versions of selected magical XML files all up to a production server from a staging server, then you know why I haven't had time to blog. But it works now, and the clients are all happy. Me? It's a good thing I know how to sleep on a plane.
Thursday, March 23, 2006
It looks like I never added an entry about speaking at Devteach. I just made my travel plans to get there. I love taking the train to Montreal -- I'll end up within walking distance of the conference hotel, save time compared to flying, and travel in comfort the whole way.
Devteach is a delightful conference with a friendly atmosphere. I count 8 RDs among the speakers list, plus a whole pile of MVPs, Julie, and some of my favourite Microsoft people... DEs mostly. There is one track in French and the rest of the talks (about a hundred) are all in English.
My talks are:
- Moving C++ applications to the CLR
- The Future is Concurrent
There's plenty for everyone: web, smart client, data, security, patterns and practices, testing, Team Systems, architecture -- if it's a development topic, someone is speaking on it. On top of that the conference hosts the Canadian User Group Leader Summit (and gives user group members a discount on attendance - contact your user group leader for a code) and the Canadian Regional Director Summit. It's a great place to meet the stars of the Canadian developer community, and a number of folks from the American northeast who love to come up to Montreal. See you there!
Wednesday, March 22, 2006
Microsoft Canada is holding a five-city Web Development and Security tour with the theme of "real development". I'll be speaking in Toronto and Montreal along with Developer Evangelists Jerome Carron, Dan Sellers, and John Bristowe, and fellow Canadian Regional Directors Scott Howlett and Richard Campbell. To quote the blurb:
realDEVELOPMENT_06 is your opportunity to see the very latest technologies, trends, and techniques in web development. The day will be divided into two halves.
In the afternoon, our SECURITY ON THE BRAIN SESSIONS will focus on how to address common security issues, and help build more secure Web applications though enhanced development techniques.
It's an all day (9-5) event:
Ottawa, May 30th
Toronto, June 1st
Montreal, June 6th
Vancouver, June 8th
Calgary, June 13th
As well, RDs and MVPs will be on hand for ask the experts / cabana / mashups -- you know, people milling around asking questions and having conversations -- often the best part of these events!
Register while you still can!
Tuesday, March 21, 2006
Once again I am honoured to be speaking at Tech Ed USA. Details to follow -- it will be a C++ topic. See you all there!
Friday, February 3, 2006
One of the main "deliverables" of a code camp is to attract attendees who don't normally go to conferences, launches, or even user group meetings. Another is to attract first time speakers. I love seeing "that look" on someone's face, when they are fresh off the stage, they gave their talk, the demos worked and they are still alive! Little do they know they're hooked at that point .
Here are some blog entries by brand new speakers at the Toronto Code Camp:
- Paul Scarlett wrote to DotNetRocks about the experience... his link is to Carl reading the letter and then Carl and Richard talking about how terrific we all are . If you poke around elsewhere in his blog you will find various other postings describing the speaking experience for Paul.
- Shaun Hayward blogs about his Code Camp experience... he liked it so much he's the speaker for February's meeting of the East of Toronto .NET User Group. (Register now!)
Congratulations guys, and welcome to the club!
Monday, January 16, 2006
Code Camp was a blast! Some pictures are starting to show up on the web site. I had a jam-packed room, I think word must have got out there was no C++ in my talk . But I had some time at the end so I am going to adapt this talk a bit for DevTeach and put some C++ into it
Chris and Jean-Luc did a fantastic job getting volunteers and running the event - and they both spoke, too! It was also fun to reconnect with Val Matison who first got me up in front of an audience doing a technical presentation... more years ago than I care to figure out right now. I couldn't stay all day but the energy was great, the logistics were working well and I think everyone involved deserves a big round of applause!
Friday, January 13, 2006
Sunday, January 8, 2006
The December lull is past, for sure. Here's where I'm headed in the next month or so:
- January 11th, CNY .NET Users Group, Syracuse NY, Windows Forms: Deploying Applications with ClickOnce: Advanced Topics
- January 14th, Toronto Code Camp, Yonge and Bloor, The Future is Concurrent
- January 17th, Regina .NET Users Group, Regina Saskatchewan, Managing the Software Lifecycle with Visual Studio 2005 Team System
- January 18th, Saskatoon .NET Users Group, Saskatoon Saskatchewan, Managing the Software Lifecycle with Visual Studio 2005 Team System
- February 7th, SouthColorado .NET, Colorado Springs CO, TBD but probably the ClickOnce talk
- February 8th, TRINUG, Cary NC, TBD but probably the ClickOnce talk
That should keep me from being bored, eh?
Wednesday, January 4, 2006
As we flip calendar years I am delighted (even if I'm not really surprised) to learn that I am being renewed as both a Regional Director and an MVP (for C++.) These two programs are both a big part of my professional life. (The RD program is more exclusive, with only 120-140 RDs around the world compared to thousands of MVPs, but the two programs serve different needs, of course.) They each provide me with amazing information and access to the product teams. They open doors for me throughout the Microsoft-oriented world. Most of all, they introduce me to other RDs and MVPs around the world... an amazing team to feel part of. I am also still a user group leader, a member of the INETA North America and MSDN Canada speaker bureaus, and of course I have a business to run with clients throughout North America.
In not-unrelated news, I qualified for Elite on Air Canada and almost halfway to Super Elite. The previous year I just squeaked to Elite... wonder how much flying 2006 holds for me?
Sunday, December 18, 2005
Chris has uploaded the deck and a zip file of code for my "Moving C++ Applications to the .NET Framework" talk to the East of Toronto .NET User Group. If you're still thinking about C++/CLI maybe seeing what it does will help your thought processes.
Monday, November 14, 2005
I've been talking about C++/CLI in public for quite a while now: Tech Ed USA 2004 and 2005, Tech Ed Africa 2004 and 2005, C++ Connections in Las Vegas last week, several private webcasts, and of course in this blog. But in the last 18 months, travelling as far as 10,000 miles from home, I haven't done any part of this shapeshifting talk here in my own home. So it's time to change that. Come to the November meeting of the East of Toronto .NET Users Group and find out why people are saying:
- "I love the .NET Framework, I love C++, and the new stuff looks to provide me a beautiful integration of the two. Question is, once it is released, will I ever code in C# again?" - Ed Ball
- "this new development in C++ seriously undermines the justification for C# as a language. " - Grumpy Old Programmer
- "By standardizing the syntax and semantics of a general purpose binding for C++ and the CLI, Ecma TG5 will provide the huge C++ developer community with a tool that enables them to easily write applications that make full use of the CLI platform, and will provide the developer community targeting the CLI with full support for the powerful C++ language. " - ECMA Standards Committee
- "Visual C++ is positioning itself as the lowest level programming language for targeting the CLR. There should be no cause to use any other language, not even Microsoft intermediate language (MSIL). Secondly, .NET programming should be as natural as native C++ programming. ...If you love C++ and want to use all the power that C++ has traditionally offered, but also want the productivity of C#, then this is for you. - Kenny Kerr, MSDN article
- "C++ is here to stay for a long time and we are committed to providing the best tools for C++ development." - Soma Somasegar
- "now that the language looks just like C# and you still have the power of C++/templates/STL as well, it's staging a major comeback." - Sam Gentile
I dug out some abstract that was kicking around from one of the versions of the talk:
Come and see how real C++ projects are moving to the CLR without a full port or rewrite. Learn how to easily migrate existing native code -- including MFC applications -- to run under the CLR. Strategies for choosing which parts of the application remain native and which are managed will be discussed. See how to take advantage of the power of the framework libraries. Finally, this session will provide guidance on how to build high-performance managed "wrappers" enabling reuse of native libraries.
But that was a one hour talk, and I have such a hard time fitting into a single hour, and this is my user group after all, so expect to see quite a bit more on the general "C++ for the .NET Framework" situation.
Wednesday November 30th, Whitby Library, please register. Pizza and chitchat at 6, C++/CLI starting at 7. See you there!
[updated: the link above now leads to a page that has a registration link. Please register.]
Friday, November 11, 2005
... must be firmly in the hands of Steve Teixeira, who has been blogging regularly from C++ Connections. Quite a decent subset of the team is here, and I am really enjoying meeting those I haven't met before and seeing the others again. (An aside: how many people do you think are on the C++ team? Yesterday Brandon, when I kiddingly asked who was left in Redmond since a dozen or so had come to Vegas, said there are 130 people on the C++ team. Tonight Herb said there are about 150 but 20 or 30 are on Phoenix which you might say wouldn't count. Over a hundred is a lot more than other language teams have and a good indication of both the importance and difficulty of keeping Visual C++ at the top of its game.)
Today Martyn Lovell gave a great presentation on the IDE that I enjoyed immensely (even though I knew all the features he was showing) because he has a wicked sense of humour. When he got spontaneous applause for docking indicators on tool windows (who knew?) he commented that he should have shown them first to get the audience warmed up
I really hope the success of C++ Connections means there will be other C++-only conferences once again. In fact tonight I believe I heard Kevlin Henney say to Bjarne "we're doing this again next year, right?" and Bjarne say "yes". If so, I plan to be there too! This has been a terrific week and when I'm in my own time zone again I will have more to write about it.
Tuesday, November 8, 2005
Today at C++ Connections I have attended two Bjarne Stroustrup talks. And yes, I learned something from both talks and took plenty of notes. Bjarne used what he called Ye Olde Shape Example in a discussion of the brittle base class problem. He mentioned that this is an ancient and yet still useful example that he got from the Simula folks way back when. After the talk I asked if he knew when it dated to, since I use it as an example of polymorphism in the OO/UML course I teach at Trent. He thinks it's about 1971. I was disappointed that it wasn't older than me, and he offered "well, there's always the cars and vehicles, stop, go, turn kind of thing. That's from about 1967 or so." I burst out laughing since I use that example too! It doesn't quite make the "older than me" bar, but it's certainly got a history.
The theme for the global launch of Visual Studio, SQL Server, and BizTalk was "Rock the Launch" with a subtheme of being ready. It was a very fun day complete with impersonators (I saw Elvis, Cher, Madonna, and Tina Turner), and a decor of posters and equipment boxes. Scott Stanfield has a nice summary complete with the pictures I haven't got around to taking yet of the gorgeous special editions of the software we recieved. A number of RDs were there: I saw Scott, Rich Hundhausen, Richard Campbell, and Carl Franklin. Richard offered me a ride to Vegas in the dotnetrocks-mobile but I decided to stick with the plane tickets.
Friday, November 4, 2005
While I was over ten thousand miles from home, my laptop started to get weird on me. First, it started to spontaneously power itself off, for no reason at all, while I was using it. Alarming! But then I eventually discovered that it only did so if I pressed the left Ctrl key. Confining myself to the right Ctrl key was a challenge -- I am hugely keyboard oriented and do Ctrl-S, Ctrl-B, Ctrl-C, Ctrl-V sort of things all the time without looking or to be honest even thinking keystrokes, I think Bold and my fingers do the right thing -- but I was able to do a whole presentation without it powering itself off. Then it started to get more delicate. Any pressure on the left side of the keyboard would power it down. And it got harder and harder to power it up. 5 tries, 10 tries, 20 tries... I did manage to power it up in the Jo-burg airport but it shut down while I was working and never did come back up again. I just slept instead of working and put it out of my mind.
When I got home, I confirmed it was still under warranty, next day on site service, and arranged a service call. Then I wanted my files back... I wasn't going to last all weekend without my files. Luckily the hard drives in laptops are delightfully standard things. For $13 Canadian, I bought a little wrapper that turns any 2.5" drive into an external USB drive:
I put the drive in it and ---ooooh, there are all my folders! Yay! But I can't see any actual files! Boo!
Turns out the power cycling and hard power downs (many many of them) had not been nice to the drive. So I got a little utility called File Scavenger from QueTek. I started with the trial version to prove to myself it worked, then got a personal licence and set to work bringing back everything I cared about -- the pictures I took while I was away, my Outlook PST file (yes I backed up before I left, but a lot happened that week) and a lot of work I was in the middle of. Phew!
The service call ended up stretching over several days ... replacing the motherboard, keyboard, palm rest, and hard drive wasn't enough, it also needed a new processor. But now it works again. And what do I get to do with my copious free time? Reinstall things. A lot of things.
Ah well, a good way to clear out junk you don't need any more. It was pretty much repaving time anyway, the machine had been kind of flaky for the last few months. And I'm ready to leave for SF and Vegas now... or at least my laptop is
Monday, October 24, 2005
When you go to a conference, there's a tendency to see nothing beyond the airport, your hotel, and the convention centre. Maybe a few nice restaurants if you're lucky enough to be invited to a press dinner or the like. The minute I got off the plane a year ago for Tech Ed Africa, I knew I wasn't going to have that kind of experience. And this year Julie and I have upped the ante by taking advantage of the Gametrackers services offered right from within the resort where the conference is being held. I took over 40 pictures this morning, here are just a few:
Wish you were here?
Friday, October 21, 2005
Leave my house 11:30 am. Flight to New York departs 2:30. Here I am in New York, at about 5:30. In four hours my flight to Frankfurt leaves. 8 hours across the Atlantic. 12 hour stopover in Frankfurt. 10 hours down to Jo-burg. Clear whatever we need to clear, get baggage, wait for the bus, that's another hour, then two more hours to Sun City. Total travel time: 43 hours. Six of it is behind me. It's extra-rehearsing time for me now, here in the Lufthansa lounge of Kennedy airport. Friday night and Saturday night the only sleep I will get will be on planes. Luckily, I'm good at that.
Wednesday, October 12, 2005
I just registered for the global launch in San Francisco November 7th:
(Yes, I will be in Las Vegas that whole week to speak at C++ Connections. I'm just going to the launch on Monday and then to Vegas.)
If a flight to SF is out of the question, why not see if you can get into one of the Canadian dates?
http://www.microsoft.com/canada/launch2005/default.aspx has all the details and registration links.
Didn't act soon enough? Didn't think a launch event could sell out? Watch for announcements of user group launch events through the fall.
Monday, October 10, 2005
The Code Camp web site is up and running and ready for you to sign up!
- Want to speak? Get the speaker registration form and send it in.
- Want to volunteer behind the scenes! Please do, we need as many of those volunteers as speakers.
- None of the above, but you're planning to attend? Get registered before the spots all go.
See you there!
Sunday, September 11, 2005
We're having a CODE CAMP in Toronto in January! I'm so excited! A Code Camp is a very different kind of community event, and one that can only happen when you have a strong and vibrant developer community. If you've never heard of it, check the Code Camp Manifesto or just Google for it and find people saying things like this:
"the buzz from Atlanta Code Camp is starting to wear off a bit and let me just say I had a great time."
"I laughed, I cried, I found a bunch of new tools to use."
"When I asked him if it was as good as a commercial conference he said that he thought so. Perhaps even better. And that comes from a guy who was just at TechEd 6 weeks ago."
Now the deal with Code Camps is that they ALWAYS:
- Are free
- Are held outside business hours (typically a weekend)
- Feature a great variety of speakers and topics (except no marketing fluff allowed)
- Provide an opportunity to speak for the first time
Many Code Camp attendees have never been to a daytime or paid-attendance event - we don't all work for companies that make that possible, after all. If you've been to plenty of such events, you might consider speaking at this one: an hour on something you know well because you're doing it at work isn't hard at all, really. This is a great chance to "crossover" to the other side of the microphone. If you haven't been to lots of these events -- you've never been able to get to a DevDays or a VSLive, or heaven forbid something out of town with actual travel expenses -- plan now to set aside a weekend in January to fill your brain with free technical content and get to know the developer community in the Toronto area.
Toronto is a large city, over 3 million people, and the "Greater Toronto Area" supports a LOT of user groups:
And out of all these people, who is spearheading the Code Camp initiative? My two co-executives from the East Of Toronto group, that's who! I'm very proud of that. The GTA is full of good organizers and speakers (and has three Regional Directors on top of that) and I know we will be able to put on an amazing day. Right now Jean-Luc is finding a location and sponsors (or Contributors as Code Camp likes to call them) and shortly he'll be gathering speakers. You should use his blog to get in touch. My firm is sponsoring for sure: a Code Camp is a really low-cost event to put on and reaches a number of developers other events never do.
ps: I wanted to say that this would be the first Code Camp outside the USA, but once again Derek Hatchard has shown what a star he is: there will be a Code Camp in Atlantic Canada just next month. Go Derek!
Update: They've had them in the UK too (http://www.developerday.co.uk/ddd/default.asp ... Benjamin Mitchell is the RD involved in those) and in Australia (www.codecampoz.com.)
Monday, September 5, 2005
The Regional Directors had so much fun doing the GrokTalks at Tech Ed USA, we just couldn't leave it as a one-time thing. So at the PDC, we've arranged an event called PDC Underground. While we won't be filming and uploading the talks, we will be able to accomodate an actual audience. If you're going to be in LA, or if you're there all the time anyway, you want to come to this event. Ten RDs, fifteen minutes each, just the essence of what you need to know about one topic.
I'm doing "C++ is alive and well":
Abstract: The "C++ for the runtime" in Visual Studio 2005, C++/CLI, features everything developers love about C++ -- including templates and deterministic destruction -- and everything we love about the CLR -- including generics and garbage collection. This best-of-both-worlds approach enables the fastest and easiest interop between managed and unmanaged code. Preserve your legacy without a port, use the same binaries to support old and new clients, control the cost of interop: that's what C++ does so well.
More details and a registration link at http://www.pdcunderground.com/. If you're a member of a user group in the LA area, contact your leader who probably can get you a button to wear.
See you there!
Wednesday, August 24, 2005
In less than three weeks I will be at the PDC! On the first day, I'll be a panelist at the Women in Technology panel. If you've been to one of these at TechEd, all I can say is PDC isn't TechEd. Things will be a little different this time. Here's the abstract that's going in the guide:
This panel will cover how women have used their intelligence and creativity to excel in the software industry. Hear from women IT professionals who are successful in a male-dominated industry. Learn, connect, and engage at this networking panel, where your questions drive the agenda, and hear tips and tricks on how to succeed as a woman developer or technical professional in the computer sciences and technology marketing. Both men and women are invited to join in the conversation, and learn from each other about how to grow diversity in the IT industry.
One thing that will be the same is the quality of the panelists. I'm not going to brag about myself, but let me tell you the other panelists are fantastic: Angela Mills (Microsoft), Anne Thomas Manes (Burton Group), Dee Dee Walsh (Microsoft), Michele Leroux Bustamente (IDesign Inc.), Shoshanna Budzianowski (Microsoft) and our moderator, Esther Schindler (Ziff-Davis). I've been lucky enough to watch most of them in action before and you're sure to pick up valuable career insight.
And in case that sentence from the abstract didn't quite click the first time, let me paste it again: Both men and women are invited to join in the conversation. See you there!
Tuesday, August 23, 2005
Last year I had a marvelous time at Tech Ed Africa, and made the Top 5 list. I am thrilled to announce that I will be there again this year! It will take me about 41 hours to travel from my house to the conference center, and about 36 hours to get home a week later. This place is seriously far from home.
Microsoft Visual C++ 2005: A Look at the New Features for Building Fast Native and Managed Code
Whether you build end-to-end applications or components for enhancing larger applications, the new Microsoft Visual C++ 2005 is the power tool for Windows programming. In this presentation we spend extensive time in the Visual C++ 2005 development environment -- highlighting new productivity features -- as we dive into its support for building high-performance, first-class native and managed applications. Learn about native code compiler optimizations, security enhancements, 64-bit development, and support for multiprocessor/grid computing systems. In addition, this presentation demonstrates how Visual C++ 2005 now provides CLR/.NET Framework support that allows it to stand toe-to-toe with any other tool in terms of elegance and productivity… with the additional benefit of high-performance access to native code and the ability to easily move native code to the managed environment.
Microsoft Visual Basic 2005: Application Frameworks and Advanced Language Features
This is a must-see session for Visual Basic developers who are new to Microsoft Visual Studio 2005, and also reviews the major feature changes and additions for beta 2. Take a top-down look at the new application architecture and RAD development enhancements in Whidbey, including several key productivity features that are exclusive to Visual Basic. This session covers the new Visual Basic lightweight application model for client applications, the My namespace, Data, Settings and Resources, and many more features that speed development for connected applications.
Windows Forms: Deploying Applications with ClickOnce
This session covers examples of ClickOnce deployment technology at work in the real-world as well as advanced scenarios, including an in-depth look at leveraging ClickOnce APIs for server-side extensions and on-demand deployment of application components.
Only two things could have made my trip last year better: an extra day to explore and soak in the marvelous place where this conference is held, and a friend from "home" to travel and explore with, to while away the long trip there and back. Can you believe I get both my wishes! I must be living right.
Oh, did you want to register? Too bad, it's sold out.
Friday, August 12, 2005
Yesterday I was at a client and we talked, among other things, about how their story would make a good one to deliver at a launch event. They have an existing project in C++, client-server with MFC etc. Using Visual Studio 2005, building on the beta, they have wrapped an ASP.NET UI around the server engine so that users who don't have the main product installed on their desktops can still look at and edit some of their data. The new features in ASP.NET 2.0 were so compelling that this client has decided to use the go-live licence and deploy on the beta. The availability of the beta to MSDN customers, and the updates with the CTP process, have helped this ISV get 6 months to a year ahead of those who wait for the launch.
Then today, I faxed back my contract for C++ Connections, which is happening the week of the launch. Although I have at least one confirmed (and two strong maybe) conference trips between now and Nov 7, I am very much thinking about that week and the excitement that will build as more and more people learn what's in the 2005 release.
Those of us who are in the loop, reading blogs from team members and executives, grabbing betas and CTPs, living out on the bleeding edge putting Vista on the laptop, can sometimes forget that a launch is still a really big deal to people who've been waiting for Microsoft to make a big “here's what we've got event”. While such events will always be important for getting the attention of those who weren't looking, these days you can see what they've got right now. If you're in the loop enough to read my blog, you can be just about as completely in the loop as I am. What a fun time to be a developer!
Monday, June 27, 2005
Actually a whole bunch of them are, at www.groktalk.net, but mine in particular is at
My favourite part happens after the camera is off and we go to credits.
You can stream these, download them to watch at your leisure, or bring them down in the background with BITS using a tool like DrizzleCast. Full instructions are at the main URL. We've set each talk up as a blog entry so that you can comment and ask questions: you'll lower my workload if you comment there rather than here.
Sunday, June 19, 2005
While we wait for my Groktalk to appear (editing is really hard and timeconsuming and Scott is a hero) I have been getting a few requests for “the seven things C++ has that C#” doesn't.
- Can generate native code and work with native types from other libraries
- C++ interop – the fastest and easiest
- Templates and generics
- Deterministic destruction
- my absolute favourite, I must say
- Optimized MSIL
- PGO for native and managed code
- .NET Linking (from within the IDE)
I will try to do individual blogs on these when I can. In the meantime, you can peruse the deck and remember, it's for a ten minute talk: Why Cpp.ppt (94 KB).
Saturday, June 11, 2005
In my second Tech Ed talk I touched very briefly on the classes, templates, and macros that make it easy to integrate MFC and WinForms in C++ applications that target the runtime. If you want proof of Microsoft's continuiing committment to MFC, head for the new MFC whitepaper on MSDN. I quote:
.NET integration enables MFC applications to leverage the power and productivity of the .NET platform as a natural extension of MFC. The reliability and security enhancements in MFC make for a more productive development process with fewer end-user issues, and existing MFC applications can take advantage of these enhancements with little more than a simple recompile in many cases.
I'll give links to more details as soon as I can.
Thursday, June 9, 2005
The Groktalks are finished! Now comes the editing... so Scott Stanfield needs to rest up a little... and at Tech Ed, you take your rest where you can get it.
Anyone who doubted that 40 ten-minute talks could knock an attendee over need only have visited our booth this afternoon as we wrapped up. What a treat to see and hear so many of them, and what a lot of work to film them all! The Groktalk crew all deserve a big round of applause: Patrick Hynds ran the schedule, Scott Golightly tracked the times and kept the speakers on task, Scott Stanfield was camera and direction (and heart and soul,) and J. Michael Palermo did everything else technical that needed to be done. Today I made sure speakers were ready when their time rolled around. Tons of other RDs came to the booth for moral support, occasional technical support, and to hear some really good presentations, ten minutes at a time.
Let me tell you, speaking for ten minutes is HARD. Speaking all day, for eight or nine hours, is tiring, but not that hard: if one demo blows up and you need to either do it over or abandon the rest of it, there's plenty of ways to speed up or slow down other parts of the day. An hour is reallly pretty nice: if you speak too long on one thing you can make up for it later, if you forget something when you're on slide 11 you can always find a way to weave it in to slide 12 or even 22. But in ten minutes, there's just nowhere to hide. I am so impressed that we were able to do this, and really glad we filmed them. Watch for links as we get things edited and uploaded.
Wednesday, June 8, 2005
We're putting in a lot of time at the RD Cabana booth recording these groktalks. This is such a great idea! Top notch speakers who normally do hour, half day, or all day sessions instead tackling one concept in just ten minutes. I haven't been able to watch them all, but I can't wait till they're uploaded to the groktalk site. In the meantime you can find some pictures we've taken while filming, our schedule, and a map to where we are.
Take a look!
Monday, June 6, 2005
Here's the link to the ebay auction featuring over 20 Tech Ed speakers, almost all RDs. It ends June 16th. Get your hour of consulting time and help the tsunami victims at the same time. If you have no idea what I'm talking about, wander back in time through this blog to January: we did an auction then and raised $10,000 for immediate relief. This time it's about recovery and our help is still sorely needed.
Whose time might you get?
- Don Box (USA) Microsoft, Inc.
- Jesper Johansson (USA) Microsoct, Inc.
- Richard Campbell (Canada) Campbell and Associates.
- Scott Hanselman (USA) Corillian, Inc.
- Kimberly Tripp (USA) SQLSkills.com
- Michele Leroux Bustamante (USA/Canada) iDesign, LLC
- Kate Gregory (Canada) Gregory Consulting
- Juval Lowy (USA) iDesign, LLC
- Stephen Forte (USA) Corzen, Inc
- Clemens Vasters (Germany) Newtelligence AG
- Andrew Brust (USA) Citigate-Hudson, Inc.
- Carl Franklin (USA) Franklins.net
- Ingo Rammer (Austria) Thinktecture
- Christian Weyer (Germany) Thinktecture
- Joel Semeniuk (Canada) Imaginets
- Rockford Lhotka (USA) Magenic Technologies
- Patrick Hynds (USA) Critical Sites
- Tim Landgrave (USA) Crowe, Inc.
- Tim Huckaby (USA) Interknowlogy, Inc.
- Jackie Goldstein (Israel) Renaissance
- John Goodyear (USA) Aspsoft
- Richard Hundhausen (USA) Accentient, Inc
- Paul Sheriff (USA) PDSA, Inc
Not a dud in the bunch! Please help if you can by bidding right away: the more bids are in the system the higher the minimum bid.
Day Zero was Regional Director side meetings, lots of marvelous presentations from a variety of product teams and special guests. I also took care of registering, did my technical rehearsal for Monday's talk, and generally had a wonderful time.
Day One was my first talk, and it went very well. Here's the empty room before the audience showed up:
I also got to experience the RD Cabana. This is a happening place full of smart people and couches:
We're getting ready to start filming our GrokTalks tomorrow. You need to check these out: stop by and watch us film, or get them off groktalk.net as we upload them. Here's our fearless technical director:
If you're here, stop by and say Hi! We're just off the main path through Hall A.
Saturday, June 4, 2005
Tech Ed starts on Monday, there are all kinds of side meetings Sunday, and I'm here early because I did a compressed Ascend day yesterday. So far it is rainy and grey: I feel as though I accidentally flew to Seattle instead of Florida.
I like to get a room with two beds so I can use one bed just to pile up swag. Here's how it looks so far:
All this has to get home with me, and we're not even started yet. If you haven't left yet, remember to leave lots of room in your suitcase! Trust me!
Thursday, May 26, 2005
Because he's just had something small but important explained to him in a very concise and useful way, of course.
It starts at Tech Ed, but it's more than that. Check out www.groktalk.net for details.
Tuesday, May 17, 2005
With the seven-city Smart Client Deep Dive tour done, I thought it would be appropriate to summarize my upcoming speaking and training schedule.
- May 23-26. Ascend Training (Smart Client Track) Redmond, WA. Teaching Microsoft people and special guests (MVPs, RDs, partners) all about Smart Clients (VSTO, WinForms, and more) in Whidbey.
- June 3. Ascend Training (one day ultra condensed) Orlando, FL. This is a pre-conference event for Academic Days at Tech Ed.
- June 6-10. Tech Ed USA, Orlando FL. Two talks (Monday morning and Tuesday morning - both are C++ talks and who would go to only one of them? See the new syntax, new optimizations, new power for an old friend - search for DEV330 and DEV331), one panel lunch (women in technology), and helping out with the way cool thing the RDs are doing that I can't quite discuss yet.
- June 18-19. DevTeach, Montreal Quebec. A Canadian User Group Leader get-together, and my two C++ talks glued into one “What's New in C++“ presentation.
- October 23-26, Tech Ed Africa, Sun City South Africa. OK, I'm not officially accepted as a speaker yet but I'm pretty sure I'll be there, topics TBD.
- Nov 7-10. C++ Connections, Las Vegas, NV. How real customers are moving to the new C++.
This is just the stuff I'm on stage for. I'm planning to be in the audience at either or both of the PDC and the MVP Summit, both in September. And oh yeah, I have a company to run and some projects to finish. Gotta dash!
Sunday, April 17, 2005
You snooze, you lose!
You can try getting on the waiting list at http://www.microsoft.com/events/teched2005/default.mspx but right now, write yourself a note to move a little more quickly next year. I'm looking forward to another terrific week. My talks have been scheduled now, and they are Monday and Tuesday. So it will be clear sailing through the rest of the week for me!
Sunday, March 27, 2005
Sessions and abstracts, along with speaker names, are starting to appear on the Tech Ed sessions page. My C++ talks have been christened DEV 330 and DEV 331. You can search on the session code or my name to see the abstracts. Doesn't look like you can start to build your calendar yet, but watch for it.
Since the speaker dropdown is populated, I just had to check: I counted 8 Brians, and 11 obvious women, not counting the chances that an Alex, Chris, or Pat could be a woman. I also see some fellow RDs and some Speaker Bureau folks. Should be a fun week!
Friday, March 25, 2005
How's this for a party? A five-day C++ conference, C++ Connections, held in conjunction with Visual Studio Connections, ASP.NET Connections, and SQL Server Magazine Connections from Nov 7-11 2005 in fabulous Vegas at the marvelous Mandalay Bay resort. My standard introduction line on C++ matters is “I've been working in C++ since before Microsoft had a C++ compiler.“ It isn't 20 years for me (I never used cfront) but it sure is close.
Think you could speak there? The call for papers is on Herb Sutter's blog. Am I speaking there? I hope so, I will report back with details when I have them. This is going to be fun!
Saturday, March 19, 2005
I'm going to be travelling across Canada in April and May to deliver the next round of Deep Dives -- these ones on Smart Client development with VSTO 2005. Here's the abstract:
Recommended Audience: Developer.
Microsoft Office has established itself as the standard for office productivity applications. Knowledge workers use the Office tools (word and excel) to create and mine data. The experience and familiarity with these tools can be leveraged to build a new breed of applications to make working with important information easier using Word and Excel as application interfaces.
This session will explore the details of creating Smart Client Applications using Microsoft Office System and Visual Studio Tools for Office. This session will include data access techniques for online and offline work, security considerations and leveraging the .NET Framework and web services to interact with Line of Business applications. This session will also provide attendees with prescriptive guidance on choices for application development, comparing all the possibilities for smart client development, in the form of a decision matrix.
Here's the schedule and some links to register:
I am preparing the material right now, and it's all Visual Studio 2005 and VSTO 2005 -- if you've seen me do VSTO 2003 material before, you're going to be delighted with the new tool! It's much more designery and much less “now simply provide implementations for the following 20 functions with almost identical names.” That means there's time to show cooler stuff, and I fully intend to. See you there!
Friday, March 18, 2005
I went over to the MSDN Canada site to get some question of mine answered, and got completely distracted by today's poll. The results as of this morning:
Thursday, March 17, 2005
I'm a little late getting this blog posting up... I kind of had to recover from the event. Sam rolled into town in the early afternoon and what a blast! The pre-event agenda was gossip, code names, and assorted gems I will not be sharing. Plus great sushi -- in Whitby, much to my surprise -- and plenty of geek talk. For the event itself we were in a new venue and had to sort out some logistics around projecting and such, but it worked in the end. We had about double our usual attendance. I have never seen so much note-taking! Then when the crowd left, it was time for beer and more discussion, until the dreaded “you don't have to go home, but you can't stay here.” Time for Sam to meet a true Canadian institution... Tim Hortons . Other blog entries on the evening: Eli, Sam, and Jean-Luc. Though I notice Sam neglected to mention that he actually likes C++/CLI .
If you're an INETA speaker and you haven't come to my group yet, you don't know the fun you're missing. Just say the word, and I'll request you. And if you live within an hour or two's drive of Oshawa or Whitby, and haven't been to a meeting yet, resolve right now to come to the next one. It may not feature beer, but you'll be glad you came.
Monday, March 14, 2005
Back in the 80's, one of the classic anecdotes around corporate gender unfairness was the idea of the meeting that finished up in the mens room, inaccessible to the women left standing in the hall. If this is how those meetings went, we were worried for nothing.
See you at Tech Ed, guys!
Friday, March 4, 2005
Last night I spoke at the Metro Toronto .NET Users Group on Interop between J2EE and .NET apps, using a variety of techniques but especially Web Services. There was a bit of code, but really the emphasis was on philosophy, the kind of “big picture” approaches you can take to make interop happen. I mentioned more than once that it's important to know what exactly you mean by interop and what it is that you want your two (or three, or more) applications to be able to do together. The sorts of projects that really don't work are the ones that start “how can we use BizTalk in our firm?”. Start with a business problem, and if it looks like BizTalk will make it possible to solve the problem, then go from there, but don't pick the solution and then go looking for a problem.
This came back around in the post-presentation questions and chat, and we got to talking about the importance of requirements. I'm hip deep in a project where we spent months just settling the requirements, but as a result the project has moved forward into code after spending years (before I came on board) getting about halfway through design and then stopping and starting over. For Enterprise work (and these interop issues are generally Enterprise) there is simply no substitute for real solid business requirements that are completely nailed down before anyone starts designing, followed by a properly thought through design. I don't go through all that for three day projects, putting together a little Sharepoint web part or some Windows Service that sends email at night about additions to the database today, but I sure go through it for anything that needs more than one programmer or that will take more than a month.
I was reminded of a funny article I read a while back called Agile Bridge Building, which mocks Agile Software Development by dissing bridge design in favour of showing the client Working Wood as soon as possible. Basically, you stick a log out into the river and right away you've started to build your bridge. This process naturally produces requirements, since now we have consensus that the log should actually reach all the way to the other side of the river! Why waste a lot of time in meetings trying to develop this requirement in advance? Once there's working wood, a genuine prototype, the stakeholders can quickly agree on what's important. And all without the hassles of paying someone for requirements and design. There's more, so I recommend you read the whole article. And to be honest, if I lived in the woods and was sick of wading through a small stream to get to the far side of my property, I probably would apply Agile Bridge Building to the problem, just as I don't particularly design every speck of software I write. But I'm glad the folks who built the bridges I drove over today designed them first, and I'm glad I know how to gather requirements, get consensus on functionality, and design the big projects I code before I code them.
Tuesday, March 1, 2005
Lots of Tech Ed rejection letters this year -- I got five myself -- but in the end I am giving ALL the C++ talks -- really I am! Well, that is to say, both of them. But at the moment I only see two Visual Basic and two C# talks, so I don't feel bad. The talks, and current abstracts, are:
Visual C++ and .NET: Great Performance, Full Access and Easy Migration of Existing Code
Abstract: The enhancements to Visual C++ 2005 enable it to stand toe-to-toe with any tool in terms of support for the .NET Framework. In fact, in many ways it can do things no other tool can. Learn how the CLR brings new features such as garbage collection, generics, reflection, and verifiability to C++ ... and how C++ brings deterministic cleanup, templates, and meta programming to the CLR! Learn how to easily migrate existing native code - including MFC applications - to run under the CLR. Strategies for choosing which parts of the application remain native and which are managed will be discussed. Finally, this session will provide guidance on how to build high-performance managed "wrappers" enabling reuse of native libraries.
Visual C++ 2005: A Look at the New Features for Building Fast Native and Managed Code
Abstract: Whether you build end-to-end applications or components for enhancing larger applications, the new Visual C++ 2005 is the power tool for Windows programming. In this presentation we’ll spend extensive time in the Visual C++ 2005 development environment – highlighting new productivity features – as we dive into its support for building high-performance, first-class native and managed applications. You’ll learn about native code compiler optimizations, security enhancements, 64-bit development, and support for multiprocessor/grid computing systems. In addition, this presentation will demonstrate how Visual C++ 2005 now provides CLR/.NET Framework support that allows it to stand toe-to-toe with any other tool in terms of elegance and productivity…with the additional benefit of high-performance access to native code and the ability to easily move native code to the managed environment.
You'll want to attend both, of course. Register now!
As well, the Women In Technology lunch will be happening again and I'm looking forward to another panel appearance. This is shaping up to be another great Tech Ed... as long as some more familiar faces start to show up on the speakers list.
Friday, February 18, 2005
Monday the 21st is the February meeting for the East of Toronto user group. Please visit http://gtaeast.torontoug.net/ug_events/936.aspx to register.
This event will consist of an overview of methods for interoperating between Java-based systems and NET including XML document exchange, shared database, messaging, web services, and Java to .NET bridges. We’ll spend the bulk of the time on a detailed analysis of the approaches and methods for web services-based interop between apps and systems running on .NET and other technologies.
I'll be doing this same talk myself March 3rd, so I'll be taking detailed notes while Adam is presenting
Monday, January 31, 2005
Apparently some people are hesitant about bidding on the auction in case they win. I know the feeling, do I have enough tough questions to justify an hour of Richter or Prosise time, do I have my act together on Web Services and Interop enough to grill Michele on them properly...
Relax. You don't have to think of it that way. Whoever you win, fire us an email with something that's been bugging you. Like “can you really explain this whole destructors in C++ when it's managed code and the object I'm using wasn't even written in C++?” Or like some of the old emails I cleared out this last week: “how can I uninstall a service?” “how do I restrict forms authentication in ASP.NET to only some folders? How can I force a logout when they browse from a secured to an open page?” and “why am I getting this linker error?”. Maybe that uses up 10 or 20 minutes. Fine, next time you have a toughy like that, send it along. By the time you use up your whole hour, you'll probably have become a friend/colleague/former client who can send questions like that once in a while for the rest of your life.
Or, how about this? Take a look at the talks your selected consultant has prepped for upcoming conferences (get us to send you the abstracts we've submitted) and have us deliver a private session of a useful talk to your whole company over LiveMeeting. There's a free LiveMeeting trial going on, and the talks have to be prepped anyway, so your hour would just be the delivery of the talk, to as many of your colleagues as you can get online at once. So it might end up 90 minutes, we don't mind.
You can't lose! Hell, even if you use your hour to take one of us for a drink the next time we're in the same city, what really counts is you gave $100 or $150 or $200 to help people who have NO clothes, NO books, NO walls around them.... this is a FUNDRAISER so come on, let's raise some funds!
Wednesday, January 19, 2005
In fact, you've been able to register for over a week, I just didn't notice until today. Last year it sold out, so if you already know you want to go, start making your plans now. If you register early you save money, there's some sort of sweepstakes to be won, and you'll know one little part of your year plan well in advance. Go on, register.
Me? I'm hoping to be there as a speaker (I submitted a number of C++ talks) or to take advantage of some not-yet-announced-I'm-just-hoping pass for RDs or MVPs or INETA speaker bureau folks or something, so I haven't registered. One way or another, I will be there.
Wednesday, December 15, 2004
Finally the official announcement from INETA that eight super deserving people have been added to the North American Speakers bureau. Two are Regional Directors and friends of mine, Joel Semeniuk and Stephen Forte (get ready to come to East Of Toronto, you two ). All are well known in the speaking world and will be great additions to the bureau. Welcome aboard folks!
Here's a list of blog links stolen from the INETA site:
Update: If you want to learn more about the speakers bureau, or see who's on it, check http://www.ineta.org/DesktopDefault.aspx?tabindex=2&tabid=14.
Wednesday, December 8, 2004
My 2005 plan is starting to take shape a bit better now.
- VSLive Toronto April 13-16, downtown this year.
- Tech Ed June 5-10, Orlando (some info on the Tech Ed 2004 page for now)
- PDC September 13-16, Los Angeles
I'll be attending for sure. Will I also be speaking? Writing the Hands on Labs? Sitting on cool panel discussions? Time will tell... and so will I when the plans are firm.
Friday, November 5, 2004
Last night I spoke to Carl Franklin (my fellow RD) for Dot Net Rocks. Over the course of an hour and a quarter we talked about C++ (I think I'm converting him :) ) VSTO, VB, sockets, what I have for breakfast, Carl's Westminster Abbey experience, and assorted geeky things. It was a lot of fun. Here are some links stolen from the site:
Tuesday, November 2, 2004
I'm going to kick off the Smart Client User Group Tour with a talk in Winnipeg. I'm expecting a slight contrast between South Africa in late October and Winnipeg in early November . The talk is November 10th, details on the Winnipeg UG site.
Wednesday, October 27, 2004
I had a thoroughly enjoyable but oh-too-brief time here. My third talk, this morning, went well like the others, and now I'm at the airport with about 27 hours between me and my own home -- and it's 4 hours since I walked out of the conference centre.
I'm going to put the code from my sessions on the SA Developer website when I get home.
As a presenter, I use the /fs switch on Visual Studio quite often. It makes the product come up with larger fonts in Solution Explorer and other “chrome” that you can't control with Tools, Options. If you present, do everyone a favour and use this switch yourself. Also change your highlighted text from white-on-darkish-blue to black-on-yellow and crank your editor fonts to at least 14 points.
Well, Scott Hanselman alerted us all that the /fs switch is gone in Whidbey and urges us to vote on the importance of this omission. It's not just about speakers, it's about accessibility. My firm has done quite a bit of accessibility work, and we're sensitive to it. How can one team be changing ASP.NET so it emits accessible HTML while another removes a working switch that wasn't hurting anyone and that made programming feasible for someone with low vision? It must just be an oversight, right? Well give the bug a vote and the oversight is more likely to be corrected.
Tuesday, October 26, 2004
It's still gorgeous, sunny, and HOT here. I did two talks today -- the C++ and the VSTO ones. I was really pleased with the C++ attendance, and people saying “I'm going to switch back” after seeing what Visual C++ 2005 is going to be like. And that was with no demos! VSTO is a very fun product, and easy to demonstrate too. So two pleasant sessions with very nice audiences and great logistics.
One more day, one more talk, but first I think I'm going to go for a swim...
Monday, October 25, 2004
This is an amazing place. The heat, the colour, the vibrancy. I am constantly being surprised by something. Then I go inside and I could almost forget where I am, because Tech Ed is Tech Ed everywhere. At the keynote this morning, they showed some language packs for Windows in Afrikaans and Zulu, reminding me of my old post on Windows in Inuktitut.
My sessions are tomorrow and the day after, so I'm just going to soak up some atmosphere and go to some talks. Several nice touches here: RFID cards for everyone so there's an accurate count of how many people went to each session, and so you can only evaluate sessions you went to. Staff everywhere who can answer not only Tech Ed related questions but “what is this fruit?“ (Hey, I'd never seen fresh guava before, what did I know? It looks a lot like a tomato, only firmer.)
I've already seen plenty of SADeveloper.net shirts and hats (I have my own set now) and a We Heart Our MVPs shirt. There's plenty of community here!
Thursday, October 14, 2004
I'm on vacation at the moment (travel blog entries to come if I get any free time) but had to take a minute to mention that I'll be speaking at Tech Ed South Africa at the end of the month. I'm doing three talks: better performance in VB, programming with Word or Excel as your user interface with VSTO, and Visual C++ 2005 and the C++/CLI features -- which the organizers were nice enough to add just because I asked them to. I'm really looking forward to the trip and the people!
Thursday, September 23, 2004
The INETA Speakers bureau, divided into North American, European, and Latin American bureaus, is a wonderful thing. I'm honoured to be part of it, and to speak at user groups across North America. So far, I've spoken at as many Canadian groups through the bureau as at American ones, but that's a little unusual. Some Canadian groups are still looking for speakers, toplevel exciting great speakers, to come to their meetings. So MSDN Canada is setting up a Canadian equivalent. My Canadian group will now get to pull speakers from two pools -- and I will get invitations from two sets of audiences. That sounds like a great plan!
More details, speaker bios, and so on are at http://msdn.microsoft.com/canada/speakers/. For those old enough to remember Bob and Doug MacKenzie, a themed announcement is available. Most speakers are MVPs and RDs. If you're active in .NET in Canada, you should know these people -- it's like a crash course on the .NET Canadians. (And yes, I know a few Americans have snuck in there. But just the ones we like . )
Wednesday, September 15, 2004
The September 21st meeting of the East of Toronto .NET Users Group features an appearance by the MSDN USer Group tour.
Come and hear about building Mobile applications using the .NET Compact Framework and SQL CE. Please register at http://gtaeast.torontoug.net/ug_events/702.aspx -- there's even more great Microsoft giveaways this month than usual but I'm going to use the registration numbers as a guide for how much of it to lug to the meeting. If you haven't been to an East of Toronto meeting before, now's a great time. We'll be in our new room, upstairs in the UA1 building on the Durham College / UOIT campus in Oshawa. There's a map on the page where you register. See you there!
Friday, August 27, 2004
Like a lot of RDs (about half of us worldwide) I'm in Redmond this week for some training. Most of it is NDA but I have to share this quote from Don Box (who rocked) tonight:
Visual Studio rocks; I have not used Emacs since the PDC.
Wow! If you need context, he was discussing XML editing and Visual Studio “Whidbey“.
Monday, August 16, 2004
The East of Toronto .NET Users Group is meeting tomorrow night, Tuesday the 17th. Come and hear Dwayne Lamb and discover all the wonders of adding location information to a mobile application. Please register at gtaeast.torontoug.net so we know how many to expect.
Come out and get a look inside Microsoft's latest addition to the MapPoint family of products - Microsoft MapPoint Location Server. With MLS's SOAP interface, developers can easily integrate the real-time location of a mobile phone into their applications. Fleet management, Mobile CRM, asset tracking, buddy finding and much more are now possible. MLS's Plugin architecture allows for integration with a number of sources of real-time location information from Wireless operator networks to Wi-Fi hotspots and GPS devices. Come out and hear about the new location services that mobile operators are offering and find out how .NET programmers can integrate them into their solutions.
Dwayne Lamb, Visual Byte Inc. is a 15-year veteran of the computer industry and an experienced technology instructor, writer, presenter and developer. Through his work at Visual Byte, and his active involvement in the developer and user communities, he has become a leader and industry specialist in the area of mobile application development and design and has been recognized by Microsoft as a Mobile Device MVP.
In other exciting user group news, I have a room through the fall for the group -- in the same building, but a different room. Starting with the September meeting (which will feature a presentation on building applications for mobile devices from the MSDN Canada team) we will be in UA 2120. But tomorrow it's still UA 1350. See you there!