Tuesday, August 13, 2002

List policy change; TCS3 Schedule; Sep. 9 Talk in Bellevue, WA

Here's the docket:
- Modification to mailing list content policy
- TCS3 schedule now available
- Talk September 9 at WSA Developer SIG

Modification of Content Policy for this Mailing List
I'm fortunate that a lot of very smart people are on this mailing list.
Unsurprisingly, you know things that I don't know. As my professional
interests broaden beyond pure C++ programming, I increasingly find myself
with questions I can't answer and that my traditional contacts can't
answer, either. In many cases, I suspect that people on this mailing list
can answer them with ease. As a result, I've added the following paragraph
to the Contents and Policies section of the page that describes this
mailing list (http://www.aristeia.com/MailingList/index_frames.html):

Scott issues Requests for Assistance (RFAs) when he is looking for
specialized technical information and believes that one or more members
of the mailing list are likely to be able to help him find it. RFAs are
never mixed with announcements, and the subject of such messages always
begins with "RFA". Subscribers who wish to see announcements only should
configure their mail client(s) to filter out RFAs.

For example, as part of the research for my recent work on "Keyholes" (see
below), I'll need to get some practical information about how certain
changes in schema field types affect the size and performance of commercial
database systems, especially systems used by web servers. I expect a
question on that topic to be my first RFA. If you're a database person, I
hope you'll be willing to help me out.

TCS3 Schedule Now Available
Herb, Andrei, Dan, Steve, and I have put together a draft schedule of what
we expect to talk about at the October THE C++ Seminar. Everything is
brand spanking new, meaning we're all presenting material that we've never
published or presented publicly before. In addition, we've tinkered with
the seminar format a bit to allow more talks covering more topics, so this
TCS will likely cover more aspects of C++ than either of its predecessors.
Interestingly, I'm giving four talks this time instead of my customary two,
so this will be an especially good chance to, well, to see me drone on
twice as often as usual.

Descriptions of all the TCS3 talks and panels are available at
http://www.thecppseminar.com/03/index.htm#schedule, but here are my talk
topics. (They don't all match the official talk titles, because we often
try to choose cute titles, sometimes at the expense of clarity. The
following topic listing is designed to be clear, not cute.)
- Rvalues in C++
- Conveniently displaying the contents of STL containers
- False Friends in C++
- Using Smart Pointers with Incomplete Types
I don't mean to brag, but I think the rvalue talk will be really good. In
my experience, the differences between rvalues in C++ and their
counterparts in C lead to lots of confusion, and I'm hoping that this talk
will be able to clear things up.

BTW, please remember that the TCS3 deadline for early bird discounted
registration is September 15.

Talk September 9 for WSA Developer SIG in Bellevue, Washington
My most recent work has not been in C++. Instead, it's been on trying to
identify general "things" that lead to poor software quality. I'm
currently focusing on what I call the Keyhole Problem, and this talk
explains what that is, why it's important to everybody who does software
development, and practical approaches to solving it. Here's the talk
description I submitted to WSA:


Using a computer is an experience fraught with frustration and irritation,
and there's no good reason for it. Many of the most annoying aspects of
modern software systems stem from a single underlying problem: it's a big,
wide, wonderful world out there, but your computer refuses to let you see
more than a tiny bit at a time. It's like trying to see a room through a
keyhole, hence Meyers' name for the problem: The Keyhole Problem.

Keyholes are everywhere. A fixed-size window is a keyhole. A web input
form accepting a limited amount of text is a keyhole. A restriction on the
characters that can be used in a password is a keyhole. Using a signed
integer for a value that can never be negative is a keyhole. Most software
systems contains dozens of keyholes. All keyholes are harmful. Most are
easy to eliminate.

In this talk, Meyers describes the keyhole problem, shows dozens of
manifestations you encounter (and impose on the people who use your
software) every day, divides keyholes into several categories, and
explains how you can improve your software by eliminating keyholes
*without doing a lot of extra work*.

If you are involved in software development in any way, you need to know
about keyholes. They affect user interfaces, web site design, database
schemas, even the choice of variable types in programs. They are
relevant to software written in every language, running on every
platform, targeted at every domain, and employed by every type of user.
Come to this talk to see software systems through new eyes, eyes that
reveal not only how awful things are, but just how easy it would be to
make them a whole lot better.

The WSA Developers SIG web site is
http://www.wsa.org/events/sig/detail.asp?sigID=28, and I assume that
they'll post details on the when/where of the talk in the next few days.
If you'll be in the Bellevue area, I hope to see you at the talk. I expect
to cause a fair amount of controversy.

BTW, this talk is essentally the same as my keynote address at Software
Development in San Jose in April, so if you saw that talk, you won't see
too much in this one that's new. There is a new keyhole type I'll be
introducing, however...

All new! THE C++ Seminar: Oct. 28-30 in Vancouver, WA.