Thursday, December 6, 2007

Talks Scheduled for the Software Development conference

The Software Development conference in Santa Clara, California, is taking place
earlier than usual this year (the first week of March), and I'm slated to give
two full-day tutorials and three shorter talks during the three days I'll be
there. You'll find a summary of the topics I'll be speaking about at my
"Upcoming Talks" page ( You may
be especially interested in my "C++ Double Feature" talk, which, though
incorporating some material I've presented a couple of times before, is
essentially brand new.

I hope to see you at Software Development in March.


Wednesday, October 31, 2007

PDF Versions of my Books

I'm currently working with my publisher on the preparation of PDF versions of my
books, which we hope to make available (i.e, for sale) within the next couple of
months. We have a pretty good idea of what we're going to be offering, but
we're still tinkering with the details, and I'd be interested in any suggestions
you'd care to offer.

The basic plan is to offer the complete books (front cover to back cover) in PDF
protected by fairly lax DRM. The existence of DRM means you'll have to use a
reader that supports that DRM, the most common choice probably being Acrobat
Reader. You can expect:
- The ability to have each ebook on several machines simultaneously. Each PDF
file is licensed for one user, but that user will have the ability to put copies
on multiple machines. A copy at work, home, and on a laptop will be no problem.
- The ability to print your copy of each ebook.
- The ability to copy material out of the ebook, except that you will probably
be limited to no more than 30 copy operations in each 30-day period.
- All URLs and intra-book cross-references will be live links. So TOC and index
entries will be live, cross-references among book Items will be live, etc.
- The PDF you download will be the current version. I often make small updates
between printings, and if I've submitted the PDF for printing n of the book to
the publisher, you'll download that version, even if the printing still
available in hardcopy bookstores is n-1.
- Books with text in two colors (EC++ and ESTL) will have text in two colors.
(This may seem obvious, but tell that to the people who scan my books and post
illegal copies on the internet, sigh.)
- All photos in the books that are in black and white will be in color. Okay,
there's only one photo, and it's of Persephone (our late dog), but it will be in
- All the usual PDF features, e.g., full-text searching, cross-platform support,
pan and zoom, etc.

As I said, that's the basic plan. If you have suggestions for things we should
add or should avoid, especially if it's based on your experience with other PDF
ebooks, and most especially if it's based on experience with other PDF versions
of Addison-Wesley books, please let me know. Suggestions most likely to be
adopted will require little or no human intervention, so asking for things like
live links between books (which do not exist in the printed books, because I
want all the books to stand on their own) are likely to be noted, logged, and
not acted upon, at least not for the initial release of the books in this form.
We'll revisit such suggestions if we decide to do something more ambitious in
the future.

Thanks in advance for your feedback. We're hoping to do a really nice job with
these ebooks, and with your help, we will.


Wednesday, October 3, 2007

Video Interview Now Available

In March of this year I was interviewed for OnSoftware by Chuck Allison at the
Software Development conference in California. The interview was chopped into
three pieces and, I found out just today, posted in late August and early
September. Topics discussed include how I got into C++, my view on the proper
role of the language, its use in embedded systems, template metaprogramming, new
features in C++0x, and general principles for improving software quality.
You'll find links to each of the three videos at my publications page
( and also at the main
OnSoftware page

I haven't watched myself on video much, so I was surprised to see how much I
look around while talking. I mentioned this to my wife, and she simply looked
at me and said "Well, duh."

I hope you like the video interview.


Monday, September 3, 2007

Astoria Seminar Update

In June I announced that I'd be participating in The Astoria Seminar, an
intensive C++ event taking place September 24-26 in Astoria, Oregon. I noted
that the event was limited to 55 attendees, so the attendee-speaker ratio was
guaranteed to be 11:1 or less. Right now, there are still a fair number of
spots open, so it's looking likely that the attendee-speaker ratio will be well
under 11:1.

I can't predict the future, but I think it's highly unlikely you'll ever get
another chance to attend an event with this kind of access to Andrei
Alexandrescu, Dave Abrahams, Walter Bright, Eric Niebler, and me. If you've
been thinking about attending the seminar, but have been undecided, I encourage
you to give it serious consideration. I really do think it's likely to be a
one-of-a-kind event.

For details on the Astoria Seminar, visit .


Friday, June 15, 2007

The Astoria Seminar: September 23-26

On September 23-26 in Astoria, Oregon, I'll be participating in a C++ event that
I hope you'll find intriguing. The event is kind of hard to describe, because
it's sort of a conference, sort of a workshop, sort of a party.

Fundamentally, five people who know more about C++ than is probably healthy --
Andrei Alexandrescu, Dave Abrahams, Walter Bright, Eric Niebler, and me -- are
going to get together at a boutique hotel (the Hotel Elliot) and nifty meeting
space (the Banker's Suite) and talk serious C++ with the 55 people who choose to
attend. Breakfast is provided, so the talk starts early. After breakfast,
there will be some lecturing or interactive workshops (depending on who's
running the session). Topics are all over the C++ map: memory management,
expression templates, callbacks for C APIs, compiler internals, generic program
design. Then we'll have lunch. It's also provided, so there will be no
interruption to the flow of the conversation. After lunch, it's back to
immersive technical sessions. We'll all need a break after that, but in the
evenings something really interesting happens: we all return to the Banker's
Suite to hang out and talk. Or code. Or whatever. No formal sessions are
scheduled, but all five of us will be there, so if you want to talk code
generation with Walter, he'll be happy to do it. Want Eric to explain
expression templates to you -- or maybe his compile-time regex engine? He's on
board with that. Wonder what Andrei is doing for his PhD research or what new
tricks Dave has in mind for his Boost Python library? Ask 'em. I'll be there,
too, telling you what new book I'm hoping to write. (I'm always hoping to write
a new book, so this topic is always valid :-})

If this sounds like your kind of event, I encourage you to visit the Seminar web
site to learn more: . Please note that
attendance is limited to 55, and we're not kidding, because the space won't hold
any more than that. This suggests that if you're interested, you'd best sign up

Astoria, by the way, is near the mouth of the Columbia River, so if you or your
family like the idea of a few days in a cute town near the Pacific Ocean, this
could be an opportunity for you to, er, photograph two seagulls with one camera
:-) The Seminar's evening hang-out sessions are optional and unstructured, so
if you'd rather build sand castles on the beach until the sun goes down (or
roast hot dogs and marshmallows on driftwood fires after it does), you can do
that, too.


Friday, April 6, 2007

April 25 Talk in Redmond, WA

I'll be giving a talk for the Northwest C++ Users Group on some recent work I've
been doing that actually borders on research. The fundamental idea is to find a
way to partition code such that calls can cross partition boundaries only if
certain conditions are satisfied. For example, thread-safe code would not be
able to call thread-unsafe code without explicit permission, ditto for
exception-safe code, etc. Users can define their own partition boundaries (e.g.
Scott's code should not be able to call Jill's code) , and, this being C++, the
rules should, as much as possible, be enforced during compilation. The talk is
called "Red Code, Green Code: generalizing const."

Details are available at . I hope to
see you there.


Friday, March 16, 2007

Public Talks Scheduled for May and September

In May, I'll be speaking at the first Boost conference, to be held in Aspen.
I'll be giving a full-day tutorial on TR1 and some Boost libraries. The
conference site is .

In September, I'll be making my annual trip to Germany to speak on a variety of
C++ and software development topics. I'm especially excited about my seminar on
applying C++ in embedded systems, because this year it's two days long instead
of one.

You'll find details on these talks at the usual place:

I hope to see you at one of these events.


Thursday, January 11, 2007

Shakedown Webinar 2 Recording Now Available

The recording of today's webinar on the implementation of virtual functions
under multiple inheritance is now available. It's a little over an hour long.
There are two ways to view it. You can stream it from
or you can download it (about 150MB) from
. The .wrf format requires the Webex player, which I believe will be
automatically downloaded and installed if you stream. If you choose to download
the file and play it locally, you may have to download and install the player
yourself; it's available at .

This recording is part of my webinar shakedown process, so I very much welcome
all comments. Good or bad, I'd like to know what you think about getting and
viewing the recording as well as about anything in the recording or the webinar
itself. I want to learn how to make webinars and their recordings as effective
and useful as possible, so the more information I get from you, the better job I
can do.

Thanks for your help.


Tuesday, January 9, 2007

Note about Thursday's VoIP-Based Webinar

This is a quick note for people who are interested in participating in
Thursday's VoIP-based webinar. I've just found out that Webex supports VoIP
audio *only on Windows*. You may be able to hear and/or speak using other OSes,
but for best results, please try to participate under Windows. (On an
experiment I performed recently with a colleague on a Mac, he was able to hear
me, but I could not hear him.)

I apologize for not knowing about this restriction earlier, but these are
shakedown webinars. This is one of the things that just got shaken loose.



Saturday, January 6, 2007

Signup Information for Shakedown Webinar #2 on Thursday

To register for the second shakedown webinar on January 11 (covering the
implementation of virtual functions under multiple inheritance) click on

Fill out the required fields, and click "Register Now." Webex will
send you email telling you how to join the meeting when it starts.

Compared to the first webinar, I plan to make the following changes:
- Audio will be available only via VoIP. You'll need a headset or speakers
to hear the presentation and a microphone to speak.
- I'll record the webinar and make it available for viewing later.

A PDF copy of the materials I'll be presenting is available now at ; click on the "Files" tab.
You may wish to print a copy and have it available during the talk.

The presentation will start promptly at 10:00AM Pacific time on January 11.
Before you can join, you'll need to make sure that the Webex MeetingManager
software has been installed. This should happen automatically when you
join the meeting (nobody reported problems last week), but you may want to
install the software in advance by following this link:

I'll be in the virtual meeting room about 5 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 disable live video of me, etc.

I look forward to having you in the webinar on January 11 and getting your
feedback after it's over. If you have any problems or questions about
signing up for the webinar, let me know: smeyers@....