# Saturday, 14 April 2012
Like a lot of folks on Twitter, I have a search column open that notices mentions of my name. It mostly catches spammers linking to places my books can be downloaded for free. But lately, there's been something weird:




Here's how that tweet looked originally (about two weeks earlier):



So the strange spam tweets:
  • Have one letter randomly removed
  • Have two letters randomly substituted
  • Lost the + in C++ and replaced with spaces (common when being passed through a URL)
  • Are using the exact same URL as before, so this isn't some weird attempt to be paid for clicks
  • Have usernames that appear to be random strings

So there's something going on here, something spammy, but I don't see how they benefit. Is it to dilute an otherwise all-spam stream with some "useful" links? Should I report them to Twitter? If anyone knows, please clue me in.

Kate


Saturday, 14 April 2012 13:48:34 (Eastern Daylight Time, UTC-04:00)  #    Comments [1]
# Friday, 13 April 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!

Kate
Friday, 13 April 2012 16:02:44 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Monday, 26 March 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!

Please register as soon as you can, please spread the word, and I hope to see you there!

Kate
Monday, 26 March 2012 08:29:02 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Friday, 23 March 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
  • Best 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.

Kate


Friday, 23 March 2012 11:12:51 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Thursday, 22 March 2012
A mentoring client of mine needs someone to take on a specific project that should be about 500 hours of work. That fits nicely into a summer, and the work would be suitable for a student or a junior programmer. Here's the job description we wrote up (the mentor is me by the way):

Must have:
  • Familiarity with one or more programming languages and IDEs
  • Careful attention to detail, especially for visual design (form layouts and alignments, fonts etc)
  • Willingness to learn a large and complex project
  • Time management skills including estimating and reporting effort and time for tasks and projects

Nice to have:

  • .NET programming experience and familiarity with Visual Studio
  • Experience developing a Windows Forms application
  • Background in software testing or user support

The job offers:

  • Work onsite in Peterborough
  • 40 hours a week as soon as the student’s schedule will allow
  • Important work improving a product that is mission-critical to real customers
  • Specific project to be tackled and completed; more will likely follow if this one goes well
  • Training on the tools to be used and the tasks to be done
  • Regular access to a world expert mentor in relevant areas
  • Pleasant working environment with nice coworkers, relaxed dress code, and an open office

It's worth mentioning that there is no C++ involved in this at all. So don't hold back if you don't have it, and don't rush to apply thinking it's a C++ job, because it's not. If you're interested, email me directly (please don't just comment here or tweet me or the like) and I will pass along your resume and contact details. I may have another client looking for someone soon as well, with similar requirements, so let me know if I can hang on to your info and pass it along twice.

Kate

Thursday, 22 March 2012 10:50:17 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Wednesday, 14 March 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.

Kate

Wednesday, 14 March 2012 14:56:58 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Tuesday, 13 March 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!

Kate

Tuesday, 13 March 2012 17:18:55 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Monday, 12 March 2012
It's been a week-and-a-bit that the beta of Visual Studio 11 has been out. I'm using it more than Visual Studio 2010 at the moment - in both Windows 7 and Windows 8, and for C++ projects exclusively at the moment. (Say what you will about the C++ Renaissance, but the fraction of my consulting, writing, and coding that is C++ has taken a major uptick in the last  6 or so months.) I'm getting used to the look, and I'm certainly motivated to use more keyboard shortcuts :-)

Herb has a nice blog post that summarizes the C++ features in this release. You can read the details there, I'll just summarize briefly:
  • Complete Standard Library for C++ 11. Especially the async and threads stuff. Standard!
  • Some more language C++ 11 features. Range for is the big one here.
  • C++ AMP. You know I care about this one!
  • The continuation (.then) syntax of PPL, which makes WinRT asynchronicity much more readable.
  • Windows 8 - both C++/CX and WinRL

And there will be more coming, sooner than "Visual Studio 12" whenever that might be. There will be out of band releases with more goodies as they get finished. If you care what gets done (and released) in what order, you can tell the team. I took the survey myself - I care about uniform initialization, defaulted constructors, and then some other bits and pieces at lower priority. Since they aren't just going to gather them all up and release them a few years from now, order matters. Share your opinion, and you're more likely to get what you want.

Monday, 12 March 2012 11:09:18 (Eastern Standard Time, UTC-05:00)  #    Comments [0]