Wednesday, September 14, 2005

New Pseudo-Publication: An Annotated Draft Article

A lot of my job is thinking about C++ programming and writing up my
thoughts. Sometimes I get midway into a writing project, but, for one
reason or another, I abandon it before it's ready for publication. In the
past, such not-ready-for-prime-time documents simply sat on my hard drive,
swirling round and round in the purgatory of perpetual unfinishedness.
Now, thanks to the wonder of web publishing, even stuff not worthy of
publication can be published! (In my more cynical moods, I call such
publications "blogs.")

Today I made available on the web an annotated draft of an article I
started but now plan to never finish. Here's an overview, taken from the
document I've made available:

In the late summer of 2004, I became interested in identifying the best
return type for factory functions. I ultimately drafted an article on the
topic, which I intended to submit for publication in some magazine. I sent
the draft to a number of people for comments, but then I got caught up in
finishing Effective C++, Third Edition, and by the time I got back to the
article, it was many months later.

As I reviewed the article and the comments I'd received on it, I realized
that (1) a lot of the material had been incorporated into the new version
of Effective C++, where I'd done a better job writing it up, and (2)
revising the article for publication and bringing it up to date would
require more time and energy than I had available. Still, I didn't want to
abandon the article completely, because (1) I'd already put a lot of time
and energy into it, and (2) I felt that some of the material -- notably the
interactions of auto_ptr and tr1::shared_ptr -- continued to be worthwhile.
I thus decided to annotate my November 2004 draft with comments on things
I'd change if I were to revise the article for publication, then make the
annotated draft available on the web. The result is what you see below.


I hope that the technical information in the draft is interesting and
useful, but I also hope that this document sheds some light on the process
of producing something ready for publication.

If you're interested in reading an article that, um, isn't really worthy of
your time, check out

FWIW, I don't plan to make a habit of this. I finish most things I start.


Monday, September 12, 2005

C++ Connections in Las Vegas in November

This November, the "C++ Connections" conference will take place in Las
Vegas. The lineup for this show is very strong, and I'm not saying that
just because I'm both a speaker and a member of the Program Committee.
Microsoft is a major sponsor of the show, so there will be lots of C++/CLI
expertise there, but there will be lots of platform-independent material,
too. The two talks I'll be giving (using the STL efficiently and modeling
memory-mapped IO) are listed at my "Upcoming Talks" page
(, but I encourage you to take
a look at the full schedule at, because the variety and
quality of the talks and speakers is really quite remarkable.

There is no doubt that this event will be one of the strongest C++ events
in 2005 -- and probably 2004 and 2006, too. If there is a chance that you
can participate, I encourage you to give it strong consideration.


Friday, September 2, 2005

Upcoming Talk in Bellevue, Washington

On Wednesday, September 21, I'll be speaking at the Northwest C++ Users
Group in Bellevue, Washington. The topic is "Two View of C++," and you can
get all the details at

I hope to see you there.