Friday, December 29, 2006

Signup Information for January 4 Shakedown Webinar

To register for the shakedown webinar on January 4 (covering the
implementation of virtual functions under single inheritance) click on
this link,

fill out the required fields, then click "Register Now." Shortly
thereafter, Webex will send you email telling you how to join the
meeting when it starts.

The presentation itself will start promptly at 10:00AM Pacific time on
January 4, but before you can join, you'll need to make sure that the
Webex MeetingManager software has been installed. This is supposed to
happen automatically when you join the meeting, but I'm believer in
taking steps to thwart Murphy, so I encourage you to install the
software in advance by following this link:

Installing this software in advance will also speed your entry to the
meeting, because there will be no need to download and install the
MeetingManager at that time (unless they've done an upgrade in the
interim, which is always possible...).

My expectation is that many of you have never used Webex before, so
I'll be in the virtual meeting room about 10 minutes before the
presentation starts to give a brief overview of the Webex features
you're most likely to find useful, e.g., how to raise your virtual
hand, how to send text messages during the talk, how to modify the
Webex screen layout, etc. (Unbelievably, Webex has no canned video
explaining this stuff.)

My understanding is that there is no limit to the number of people who
can attend this webinar, but only the first 125 people to call in to
the meeting will be able to speak. Anybody beyond that will be able
to hear, but not speak, though everybody in the meeting will always be
able to use text messages to submit comments and questions during the
presentation. Calling in to the phone bridge (audio portion of the
webinar) should be toll-free from a variety of countries; a link to
country-specific situations will be included in the email you get
after you register.

I look forward to having you in the webinar on January 4. Please
remember to show up about 10 minutes early if you want to have me
explain the basics of the Webex client interface.

If you have any problems or questions about signing up for the
webinar, let me know: smeyers@....



Thursday, December 28, 2006

Free "Shakedown Webinars" on Implementing Virtual Functions

Executive Summary: I'll be holding free online webinars on January 4 and 11 to
evaluate webinar technology. The webinars will cover the implementation of
virtual functions under single and multiple inheritance.

"Webinars" are live seminars broadcast over the Internet. At their best,
webinars give me a way to offer an experience akin to a face-to-face seminar,
but without the need for us to be in the same place. Because the seminar is
live, you can still ask questions or make comments during the presentation. You
can still see the presentation materials as I display them, and you can still
see me point to and annotate specific parts of the materials as I speak. You
can even watch me during the presentation, though my current webcam provides
only low-qualify video. For my part, I can still whip up code examples, and I
can still bring up web sites and walk you through them. The experience can be
much as if I were there with you, except I'm not.

The foregoing assumes that everything goes well. That's quite an assumption.
Before I can embrace webinars, I need to have a better understanding of how they
really work for the kinds of things I want to use them for. That's where you
come in. I've done small-scale testing of webinar technology, but now I want to
see how well it works with more people in more places using a wider variety of
platforms. To that end, I'm scheduling a two-part webinar for the next two
Thursdays: January 4 and January 11. Part 1 will cover the implementation of
C++ virtual functions under single inheritance, while part 2 will extend the
treatment to multiple inheritance. Both seminars will be free, and both will
tentatively take place at 10:00 AM Pacific Time (GMT-8 hours). Each should run
no more than an hour. Because one of the things I want to examine is
telephone-based audio versus VOIP-based audio, part 1 will use a conventional
phone bridge (i.e., you call a toll-free number to connect to the audio part of
the webinar), while part 2 will use VOIP (i.e, you'll need audio capabilities in
your computer to hear the presentation or to speak during it).

Some of the details of the webinars are still undecided, so at this point, I
suggest you simply set aside the days/times (4 and 11 January at 10AM Pacific
time) if you want to participate.

These are "shakedown webinars," so a primary goal is to learn what doesn't work
as well as it should. To that end, after each webinar I'll explicitly ask for
suggestions on how I can make future webinars more effective. There is a school
of thought that lecture-based webinar presentations are inherently ineffective
-- that they are vastly worse than face-to-face versions of the same
presentations. I'm hoping that this is not the case, but I'm a guy who likes to
buttress his hopes with experience. In addition to testing the technology
behind webinars, then, we'll also be testing the practicality of moving my
face-to-face presentations to the web in the first place.

The webinars will use Webex, a browser-based system that runs on many platforms;
the full list is available at . To use it, you'll
need to download and install some software, though this is normally handled
automatically. If this sounds intrusive or scary, please withhold judgement
until you've had a chance to see how things work on your platform.

I'll send out a more detailed description of how to sign up for the seminars
when I know them myself -- within the next few days. I hope you'll want to
participate in these shakedown events, because the more people who attend, the
better I'll be able to evaluate how well Webex is up to the tasks I have in mind
for it. Besides, the implementation of virtual functions is interesting stuff:
vptrs, vtbls, how vptrs get set, dealing with invocation of pure virtual
functions, object offset adjustments under single and multiple inheritance,
thunks, vtbl deltas, compiler options to let you know what's going on, etc. --
all this will be covered in the talks.

If you're interested in helping me evaluate webinars and webinar technology,
please set aside about an hour on January 4 and 11 at 10AM Pacific time, and
watch this mailing list for more information on how to participate.



Thursday, December 21, 2006

Upcoming Talks in 2007

The first half of 2007 is looking to be a busy set of conference months for me.
I'll be speaking at the new Software Development Best Practices India conference
in January (in Hyderabad, Chennai, and Bangalore); at Software Development in
Santa Clara in March; and at the Embedded Systems Conference in San Jose in
April. As always, details on my upcoming public talks are available at .

It's not quite official yet (so it's not yet at the page mentioned above), but
I'll almost certainly be giving a talk at the inaugural Boost Conference in
Aspen, Colorado, in May. You can read about that conference at . In fact, there still time to submit
talk proposals -- check out . FWIW, my talk there
will likely bear a close resemblance to the newest entry in my list of training
seminars: "An Introduction to TR1 and Boost." Details on that are at .

Whether at Hyderabad, Chennai, Bangalore, Santa Clara, San Jose, or Aspen, I
look forward to seeing you at one or more of these events in the first half of


Wednesday, October 4, 2006

New interview; upcoming conferences

There's a new interview with me available at my Articles and Interviews page.
The interview was done in English, then translated into German, and it's the
German version that was published. You'll find links to both versions at

I haven't added the information to my Upcoming Talks page yet, but in January
I'll be participating at a three-city conference in India. You can see a
marketing-heavy overview in the press release at

I'm on the Organizing Committee for the first-ever Boost conference, to be held
next May in Aspen, Colorado. Details are available at I currently plan to submit a talk
proposal or two, but the Call for Proposals isn't yet out, so whether I'll be
speaking there is unknown. If you're heavy into Boost, keep an eye out for the
Call for Proposals and make one or more submissions. Maybe you'll be the person
who bumps me out of a speaking spot!

Other talks in October and November I've already announced for Portland, Oregon,
and Frankfurt, Germany, continue to be listed on my Upcoming Talks page,


Monday, October 2, 2006

Survey regarding new electronic version of my books

My publisher and I are planning to put together a new electronic version of my
books to replace the current CD version (which has only the second edition of
EC++ and no copy of ESTL). To that end, Addison-Wesley is soliciting input,
which their crack marketing team puts this way:

Help Addison-Wesley with NEW edition of C++ CD from Scott Meyers
With the successful publication of “Effective C++, Third Edition” Scott Meyers
and Addison-Wesley Professional are now planning to revise the CD based on that
work. To begin, we wish to survey both users and non-users to understand your
needs and desires for any new version.
User: If you are a current or past user of the CD, and you would like to help
guide its future development, we ask that you respond to the survey posted at\
Non-User: If you haven’t used this CD in the past and would like to help guide
the development of a publication you might well find useful in your work, we ask
that you respond to the survey posted at\
Not only will you have the opportunity to influence our decisions, but, complete
the survey today and receive a 50% off coupon from and enter
for the chance to win your choice of either a one-year subscription to a Safari
MAX 30-slot Bookshelf or 12 Pearson Technology Group books of your choice.
Surveys end, October 13, 2006

I'd be grateful if you would take whichever of these surveys is appropriate for
you. Both Addison-Wesley and I want to make sure we produce a product in
electronic form that will truly help you get the most out of the information in
my books.



Wednesday, September 6, 2006

Part 5 of "A Pause to Reflect" now up at TCS

This final list is a collection of my five personal most meaningful C++-related
"Aha!" moments. You can find it at


Wednesday, August 30, 2006

Part 4 of "A Pause to Reflect" now up at TCS

This week's list is my picks for the five most important people in the history
of C++. You can find it at


Wednesday, August 23, 2006

Part 3 of "A Pause to Reflect" now up at TCS

This week's list is my picks for the five most pieces of software in the history
of C++. You can find it at .


Wednesday, August 16, 2006

Part 2 of "A Pause to Reflect" now up at TCS

This week's list is my picks for the five most important non-book publications
in the history of C++. You can find it at .


Sunday, August 13, 2006

Two Changes to Mailing List Policy

Yesterday I updated the web page describing my mailing list polices
( to reflect a couple of things I've been
doing for a while, anyway. First, I eliminated mention of "RFAs" (requests for
assistance), because I found that I could almost never bring myself to bother
you people with situations where I needed help. (I ended up bothering other
people.) Second, I no longer post to my mailing list when I make updates to my
publications' errata lists. I used to batch the updates and post to the list
when I did a batch, but now I put updates online as issues come to me. The
result is that there is no longer much of a delay between the time I know about
an issue and you can, but updates are now too frequent to fit into the
low-volume charter of this mailing list. Probably the proper solution to this
problem is to have my web site offer an RSS feed for errata updates, but I
currently have neither the knowledge nor the time to implement such a feed, so
for the foreseeable future, the best way to find out whether there are any new
updates for my books or my CD is to check the appropriate web pages from time to


Wednesday, August 9, 2006

New series of articles now appearing at TCS

For the next five weeks, I'll have a short article at The C++ Source (TCS -- ) listing the 5 most important C++ somethings in
each of 5 categories. The series is called "Five Lists of Five," and in Part 1,
I list what I consider to be the five most important C++ books of all time. You
can find it at . Unlike most
of my writing on C++, this series isn't very technical, but I hope you find it
interesting enough to tune in each week to see what five things I've decided are
more important than all their peers.

Happy reading,


Thursday, August 3, 2006

Upcoming Talks Through Year-End

I've scheduled a number of talks on a variety of topics this fall near Portland,
Oregon and in Germany. The details are available at my Upcoming Talks Page
(, but the overall summary is shown

20 Sep Dresden, Germany Better Software -- No Matter What
21 Sep Dresden, Germany Designing & Implementing Effective C++ Classes
22 Sep Dresden, Germany High-Performance C++ Programming
25 Sep Stuttgart, Germany What's New in Effective C++?
26 Sep Stuttgart, Germany Effective C++ in an Embedded Environment
27 Sep Stuttgart, Germany Design Patterns, Templates, and Policy-Based
11 Oct Portland, Oregon The Keyhole Problem
26 Oct Portland, Oregon An Introduction to C++ Library Functionality
in TR1 and Boost
9 Nov Beaverton, Oregon Effective C++ in an Embedded Environment
27 Nov Frankfurt/Main, Germany Concepts and Architecture of the STL
28 Nov Frankfurt/Main, Germany Programmer Discretion and Software Quality

Also, I have a five-part C++-related article that will start appearing soon (I'd
hoped it would have started appearing by now). I'll post details to this
mailing list when they are available, but I thought you might be interested to
know that I still do a little writing from time to time :-)


Friday, April 28, 2006

Latest ESDS Book, "Code Quality"

The latest book in my Effective Software Development Series has just been
published, Diomidis Spinellis' "Code Quality." This book is a companion to
Spinellis' earlier "Code Reading," but it also stands on its own. It addresses
the "ilities" of quality software: reliability, maintainability,
comprehensibility, etc, -- the non-functional aspects of quality.

Like "Code Reading," all the examples in the book are real and drawn from
open-source software projects.

I encourage you to check out "Code Quality." It's web site is


Tuesday, January 31, 2006

Talks in Europe in April and September

I've just updated my "Upcoming Talks" page
( to include public talks I'll be
giving in Oxford, England, in April and in Dresden and Stuttgart, Germany, in
September. For details, check out the page and the links it contains.

I hope to see you at one or more events in 2006.