My training materials on making effective use of C++ in embedded systems are now available. Like my materials on C++0x, they cover material not in my books, come DRM-free, and include free updates for life. I encourage you to check out the sample excerpt.
Less than a day after I announced the availability of my C++0x materials, people started asking about how they could get a license for everybody on a team or everybody in a department, etc. Our solution is a very generous volume discount schedule. Starting with the 10th copy, you get 30% off, and by the time you order 50 copies, you're getting 50% off.
I hope you find the materials on using C++ in embedded systems useful, and I hope you find that the volume discount schedule makes group purchases economical.
Scott
* C++ and Beyond: Meyers, Sutter, & Alexandrescu, Oct. 24-27 near Seattle.
* License Scott's training materials for commercial or personal use.
Tuesday, April 27, 2010
Sunday, April 18, 2010
"C++ and Beyond" Registration Now Open
In January, I mentioned that Herb Sutter, Andrei Alexandrescu, and I were organizing a sort-of-a-conference event called "C++ and Beyond". We originally planned to hold it this summer, but it turned out that the intersection of availability of a suitable venue and availability of the three of us yielded dates in late October: October 24-27, to be precise. Full information about "C++ and Beyond" (C&B) is available at its web site, and you can remain apprised of C&B-related development by subscribing to its RSS feed. Because of the existence of that feed, I will make very few additional announcements about C&B to this mailing list. If you're interested in C&B, I encourage you to subscribe to its RSS feed.
I blogged about the structure of C&B at http://cppandbeyond.com/2010/04/15/c-beyond-event-structure/ and about the venue and why we chose it at http://cppandbeyond.com/2010/04/16/the-venue-for-cb/, so here I'll simply summarize the main points:
Registration for C&B opened yesterday. There's a 10% discount for early bird registrations (by July 24) , and a further 10% discount for groups of 3 or more. Given the limited attendance and the fact that the first slot got snapped up less than 8 hours after registration opened, I suggest you register earlier rather than later.
I hope to see you in October at C++ and Beyond. I'm convinced it is going to be one of the most rewarding technical opportunities of 2010.
Scott
* C++ and Beyond: Meyers, Sutter, & Alexandrescu, Oct. 24-27 near Seattle.
* License Scott's training materials for commercial or personal use.
I blogged about the structure of C&B at http://cppandbeyond.com/2010/04/15/c-beyond-event-structure/ and about the venue and why we chose it at http://cppandbeyond.com/2010/04/16/the-venue-for-cb/, so here I'll simply summarize the main points:
- Attendance is limited to 60 people.
- C&B runs from 8AM to 9:30 PM each day and features as much time dedicated to informal discussions as to official presentations.
- It takes place at a venue designed to foster interaction among participants.
Registration for C&B opened yesterday. There's a 10% discount for early bird registrations (by July 24) , and a further 10% discount for groups of 3 or more. Given the limited attendance and the fact that the first slot got snapped up less than 8 hours after registration opened, I suggest you register earlier rather than later.
I hope to see you in October at C++ and Beyond. I'm convinced it is going to be one of the most rewarding technical opportunities of 2010.
Scott
* C++ and Beyond: Meyers, Sutter, & Alexandrescu, Oct. 24-27 near Seattle.
* License Scott's training materials for commercial or personal use.
Monday, April 12, 2010
Latest ESDS Book, "Effective C#, Second Edition"
As .NET and C# evolve, so must the advice on how to use the language effectively. I'm pleased to report that today I got a shiny new copy of the new second edition of Bill Wagner's "Effective C#". As with the first edition, I learned a lot reading it, and I'm confident it will be as useful to C# developers as both its predecessor and Bill's other C# book, "More Effective C#". (Where do they come up with these names?)
Amazon's page for Bill's new book is http://tinyurl.com/y7awxhc. I encourage you to check it out.
Scott
* Scott's training materials now available for commercial or personal use.
Amazon's page for Bill's new book is http://tinyurl.com/y7awxhc. I encourage you to check it out.
Scott
* Scott's training materials now available for commercial or personal use.
Thursday, April 8, 2010
C++0x Interview with Software Engineering Radio
Last week I chatted with Markus Völter of Software Engineering Radio about C++0x, and earlier this week the interview went live. You can find it at http://www.se-radio.net/podcast/2010-04/episode-159-c0x-scott-meyers.
Scott
* Scott's training materials now available for commercial or personal use.
Scott
* Scott's training materials now available for commercial or personal use.
Wednesday, April 7, 2010
My training materials for C++0x, etc., now available
Briefly:
* * * * *
When I write a technical book, my general approach is as follows:
My primary activity during the past year has been learning about and teaching other people about C++0x. (It wasn't supposed to be that way, but C++0x turned out to be a much more involved topic than I expected.) I now have a set of C++0x training materials that I think are quite good, but I don't want to write them up in book form, because, among other things, C++0x is still being refined, as is both my understanding of it and compiler vendors' implementations.
Still, I think the information in my C++0x training materials is valuable in its current form, and, to be honest, more comprehensible and up-to-date than what you're likely to find by searching the Internet. Before now, the only way people could get a copy of these materials was to attend one of my training courses (my schedule's at http://www.aristeia.com/seminars.html), but such courses don't take place terribly often, and they're not in everybody's budget, so I've decided to offer my C++0x course notes for sale on a standalone basis.
Unlike a book, they lack the connective prose that makes for a smooth reading experience, but in some ways, they're better than a book. They make more extensive use of color, they "cut out the fat" to focus on the technical essentials, and my licensing terms grant buyers unlimited updates for life: as long as I update the materials, buyers are entitled to a revised version for free. Furthermore, because training materials inherently use a large font and are chopped into page-based chunks, reading them on mobile devices like iPhones should be a more satisfying experience than trying to read a conventional technical book.
The C++0x notes are available now, and by the end of the month, I expect to have the notes from my courses on using C++ in embedded systems and on improving software quality available, too. You'll find detailed information on all of these at http://www.aristeia.com/Licensing/personalUse.html. Virtually none of the material in these courses is available in my books.
My initial goal with this project was to make the information in my training materials available to individuals who don't attend my training courses, but I know that there are companies who might be interested in the materials, too. For example, technical training companies might want to use them with their own clients, and large companies with internal training departments might want to use them as the basis for internal training. As a result, I'm now making all my training materials available for commercial licensing. Details on that option are available at http://www.aristeia.com/Licensing/licensing.html.
For over 20 years, I've been doing my best to disseminate useful, accurate technical information to professional software developers. I've written several books and dozens of articles, but some of my most valuable information has existed only in the form of training materials that were accessible only to people who could attend a course. That's no longer the case. All my materials may now be commercially licensed, and selected sets of training materials may be purchased for personal use.
I hope you find the availability of the information in my training materials interesting, and I especially encourage you to check out my C++0x notes (including a free ~25-page excerpt) at http://www.artima.com/shop/overview_of_the_new_cpp.
If you have comments on my making my training materials available for personal and commercial use, don't hesitate to let me know.
Thanks,
Scott
* Scott's training materials now available for commercial or personal use.
- My C++0x training materials are now available for individual purchase; others are soon to follow. Details at http://www.aristeia.com/Licensing/personalUse.html.
- Materials for all my training materials are available for licensing. Details at http://www.aristeia.com/Licensing/licensing.html.
* * * * *
When I write a technical book, my general approach is as follows:
- Master the material.
- Figure out what "story" I want to tell, i.e., what to cover, what to omit, what order to cover things in, what examples to use, etc.
- Write it up.
- 2a: Come up with a story that I think will work, i.e., that will effectively convey the technical information.
- 2b: Develop a training course corresponding to that story.
- 2c: Deliver the training course to professional developers and see how well the story works. In places where it doesn't work as well as it should, return to step 2a and iterate until everything is satisfactory.
My primary activity during the past year has been learning about and teaching other people about C++0x. (It wasn't supposed to be that way, but C++0x turned out to be a much more involved topic than I expected.) I now have a set of C++0x training materials that I think are quite good, but I don't want to write them up in book form, because, among other things, C++0x is still being refined, as is both my understanding of it and compiler vendors' implementations.
Still, I think the information in my C++0x training materials is valuable in its current form, and, to be honest, more comprehensible and up-to-date than what you're likely to find by searching the Internet. Before now, the only way people could get a copy of these materials was to attend one of my training courses (my schedule's at http://www.aristeia.com/seminars.html), but such courses don't take place terribly often, and they're not in everybody's budget, so I've decided to offer my C++0x course notes for sale on a standalone basis.
Unlike a book, they lack the connective prose that makes for a smooth reading experience, but in some ways, they're better than a book. They make more extensive use of color, they "cut out the fat" to focus on the technical essentials, and my licensing terms grant buyers unlimited updates for life: as long as I update the materials, buyers are entitled to a revised version for free. Furthermore, because training materials inherently use a large font and are chopped into page-based chunks, reading them on mobile devices like iPhones should be a more satisfying experience than trying to read a conventional technical book.
The C++0x notes are available now, and by the end of the month, I expect to have the notes from my courses on using C++ in embedded systems and on improving software quality available, too. You'll find detailed information on all of these at http://www.aristeia.com/Licensing/personalUse.html. Virtually none of the material in these courses is available in my books.
My initial goal with this project was to make the information in my training materials available to individuals who don't attend my training courses, but I know that there are companies who might be interested in the materials, too. For example, technical training companies might want to use them with their own clients, and large companies with internal training departments might want to use them as the basis for internal training. As a result, I'm now making all my training materials available for commercial licensing. Details on that option are available at http://www.aristeia.com/Licensing/licensing.html.
For over 20 years, I've been doing my best to disseminate useful, accurate technical information to professional software developers. I've written several books and dozens of articles, but some of my most valuable information has existed only in the form of training materials that were accessible only to people who could attend a course. That's no longer the case. All my materials may now be commercially licensed, and selected sets of training materials may be purchased for personal use.
I hope you find the availability of the information in my training materials interesting, and I especially encourage you to check out my C++0x notes (including a free ~25-page excerpt) at http://www.artima.com/shop/overview_of_the_new_cpp.
If you have comments on my making my training materials available for personal and commercial use, don't hesitate to let me know.
Thanks,
Scott
* Scott's training materials now available for commercial or personal use.
Monday, January 11, 2010
Boutique Summer Conference: "C++ and Beyond"
Few things are as professionally rewarding as getting together with colleagues to discuss interesting technical issues. For C++ developers these days, there are more things to discuss than usual. The first of a raft of new language features -- the initial wave of C++0x -- are becoming widely available, and they promise to change the way we design and implement good software. We're still trying to come to grips with the concurrency revolution in hardware, while at the same time dealing with increasingly demanding performance constraints. In the meantime, new languages (e.g., D) and language abstractions (e.g., futures, ranges) offer new tools for approaching the systems we need to build. There's a lot going on.
Herb Sutter, Andrei Alexandrescu, and I thought would be fun to organize a technical event where we could discuss the contemporary challenges facing C++ software developers. Thus was born "C++ and Beyond," a limited-attendance conference to be held this summer near Seattle, Washington. We haven't worked out the details on this event yet, and one reason is that we're still trying to figure out when to hold it. Rather than pick dates at random, we chose two sets of dates and decided to ask prospective attendees which they prefer. To that end, if you think you might be interested in getting together with me, Herb, Andrei, and a few dozen people as interested in and passionate about issues relating to C++ software development as you are, please visit cppandbeyond.com to learn more about the conference and to vote on when you'd like us to hold it. While you're there, please also submit comments on the kinds of topics you'd like to see explored at the conference. With your help, we'll be able to put together a killer program focusing on the issues you want to talk about on dates that are convenient for you.
I hope you're as excited about this event as I am. If so, please visit cppandbeyond.com this week to let us know when you'd prefer to see the event held and to tell us what you'd like to see it cover. Voting ends on Friday, January 15, so I encourage you not to procrastinate too long.
Thanks,
Scott
Herb Sutter, Andrei Alexandrescu, and I thought would be fun to organize a technical event where we could discuss the contemporary challenges facing C++ software developers. Thus was born "C++ and Beyond," a limited-attendance conference to be held this summer near Seattle, Washington. We haven't worked out the details on this event yet, and one reason is that we're still trying to figure out when to hold it. Rather than pick dates at random, we chose two sets of dates and decided to ask prospective attendees which they prefer. To that end, if you think you might be interested in getting together with me, Herb, Andrei, and a few dozen people as interested in and passionate about issues relating to C++ software development as you are, please visit cppandbeyond.com to learn more about the conference and to vote on when you'd like us to hold it. While you're there, please also submit comments on the kinds of topics you'd like to see explored at the conference. With your help, we'll be able to put together a killer program focusing on the issues you want to talk about on dates that are convenient for you.
I hope you're as excited about this event as I am. If so, please visit cppandbeyond.com this week to let us know when you'd prefer to see the event held and to tell us what you'd like to see it cover. Voting ends on Friday, January 15, so I encourage you not to procrastinate too long.
Thanks,
Scott
Tuesday, December 8, 2009
Seminars in Germany next Fall
Those of you who like to plan things far in advance will be pleased to know that
we've chosen the dates, topics, and location for my C++ seminars next fall in
Stuttgart, Germany. In addition to the seminar on using C++ in embedded systems
that I've given for several years, I'll be giving my overview of C++0x (suitably
updated to take into account the latest efforts by compiler vendors and the
standardization committee) as well as a new seminar on how to write C++ software
that runs very quickly (i.e., "Fastware! for C++"). As is the case for all my
scheduled public presentations, details are available at my "Upcoming Talks
page," http://www.aristeia.com/seminars.html .
Ich hoffe, Sie nächstes Jahr in Stuttgart zu sehen!
Scott
we've chosen the dates, topics, and location for my C++ seminars next fall in
Stuttgart, Germany. In addition to the seminar on using C++ in embedded systems
that I've given for several years, I'll be giving my overview of C++0x (suitably
updated to take into account the latest efforts by compiler vendors and the
standardization committee) as well as a new seminar on how to write C++ software
that runs very quickly (i.e., "Fastware! for C++"). As is the case for all my
scheduled public presentations, details are available at my "Upcoming Talks
page," http://www.aristeia.com/seminars.html .
Ich hoffe, Sie nächstes Jahr in Stuttgart zu sehen!
Scott
Tuesday, October 13, 2009
C++0x Training Course Extended to Three Days
I mentioned in a July message that the debut of my new training course on C++0x
would take place in late September, and that debut has now taken place. The
course was a lot of fun, but I was surprised to discover that the quantity and
depth of the material requires substantially more time to cover than I'd
anticipated. I've hence extended the course from two to three days, although a
two-day version is still available. (It omits most coverage of TR1-based
library components.)
The public world debut of the new "extended dance remix" version of my overview
of C++0x will take place in Bellevue, Washington, in early December. Details
are available at http://construx.com/Page.aspx?nid=17&id=115 . I hope to see you
there.
Scott
would take place in late September, and that debut has now taken place. The
course was a lot of fun, but I was surprised to discover that the quantity and
depth of the material requires substantially more time to cover than I'd
anticipated. I've hence extended the course from two to three days, although a
two-day version is still available. (It omits most coverage of TR1-based
library components.)
The public world debut of the new "extended dance remix" version of my overview
of C++0x will take place in Bellevue, Washington, in early December. Details
are available at http://construx.com/Page.aspx?nid=17&id=115 . I hope to see you
there.
Scott
Friday, September 4, 2009
"97 Things" Contribution
You may be familiar with O'Reilly's "97 Things" series, which currently consists
of "97 Things Every Software Architect Should Know" (
http://oreilly.com/catalog/9780596522698/ ) and "97 Things Every Project Manager
Should Know" ( http://oreilly.com/catalog/9780596804169/ ). There's now a
programmer-centric version in the works under the editorship of Kevlin Henney:
"97 Things Every Programmer Should Know;" wiki at
http://programmer.97things.oreilly.com/wiki/index.php/97_Things_Every_Programmer\
_Should_Know .
I was asked to write a contribution for this project, so I decided to revise my
2004 IEEE Software article to fit the "97 Things" length restriction of 500
words. The result is at
http://programmer.97things.oreilly.com/wiki/index.php/Make_Interfaces_Easy_to_Us\
e_Correctly_and_Hard_to_Use_Incorrectly . I hope you like this concentrated
version of my advice to "Make Interfaces easy to use correctly and hard to use
incorrectly," and I encourage you to look over the other articles at the
project's site -- and possibly even add your own.
Scott
of "97 Things Every Software Architect Should Know" (
http://oreilly.com/catalog/9780596522698/ ) and "97 Things Every Project Manager
Should Know" ( http://oreilly.com/catalog/9780596804169/ ). There's now a
programmer-centric version in the works under the editorship of Kevlin Henney:
"97 Things Every Programmer Should Know;" wiki at
http://programmer.97things.oreilly.com/wiki/index.php/97_Things_Every_Programmer\
_Should_Know .
I was asked to write a contribution for this project, so I decided to revise my
2004 IEEE Software article to fit the "97 Things" length restriction of 500
words. The result is at
http://programmer.97things.oreilly.com/wiki/index.php/Make_Interfaces_Easy_to_Us\
e_Correctly_and_Hard_to_Use_Incorrectly . I hope you like this concentrated
version of my advice to "Make Interfaces easy to use correctly and hard to use
incorrectly," and I encourage you to look over the other articles at the
project's site -- and possibly even add your own.
Scott
Wednesday, August 26, 2009
C++0x Seminar in December in Bellevue, Washington, USA
The fine folks at Construx Software in Bellevue, Washington, and I have teamed
up to schedule my new two-day intensive overview of C++0x on December 1-2.
Details are available at http://construx.com/Page.aspx?nid=17&id=115 . This
will be the first public presentation of the seminar in North America, and it
will benefit from the improvements I'll make after its world debut in Stuttgart,
Germany, at the end of September (
http://www.qasystems.de/html/deutsch/seminare/seminardetail/seminardetail14.php
), as well as whatever updates I make following the next C++ Standardization
meeting in October.
I hope to see you in Bellevue (or Stuttgart!) to talk lambdas, rvalue
references, hash tables, regular expressions, variadic templates, attributes,
and a whole lot more.
Scott
up to schedule my new two-day intensive overview of C++0x on December 1-2.
Details are available at http://construx.com/Page.aspx?nid=17&id=115 . This
will be the first public presentation of the seminar in North America, and it
will benefit from the improvements I'll make after its world debut in Stuttgart,
Germany, at the end of September (
http://www.qasystems.de/html/deutsch/seminare/seminardetail/seminardetail14.php
), as well as whatever updates I make following the next C++ Standardization
meeting in October.
I hope to see you in Bellevue (or Stuttgart!) to talk lambdas, rvalue
references, hash tables, regular expressions, variadic templates, attributes,
and a whole lot more.
Scott
Tuesday, July 7, 2009
New Training Course on C++0x
I've just completed development of a new C++ training course, this one on the
new features in C++0x (the forthcoming revised standard for C++). My original
plan had been to develop a one-day seminar, but it turns out that C++0x has so
many new features, trying to describe and explore even the "primary" ones in
only one day just isn't possible. So the course runs two days. Furthermore,
recent compiler releases (e.g., VC10, which is now in publicly available beta,
and gcc 4.4) support a surprisingly large number of C++0x features, so even as
the C++ standardization committee hammers out the final details of the next
version of C++, you can start getting experience with parts of the enhanced
language and standard library right now. If my experience is any indication,
your new best friend in C++0x will be "auto," and, especially if you're doing
multithreaded programming, you're likely to develop a serious fondness for
lambdas.
The new course is described at http://www.aristeia.com/C++0x.html , and its
public world premiere will take place in Stuttgart, Germany, at the end of
September (link available at http://www.aristeia.com/seminars.html ). If you're
interested in knowing more about the course or if you'd like to consider booking
it for presentation at your company, let me know.
Scott
new features in C++0x (the forthcoming revised standard for C++). My original
plan had been to develop a one-day seminar, but it turns out that C++0x has so
many new features, trying to describe and explore even the "primary" ones in
only one day just isn't possible. So the course runs two days. Furthermore,
recent compiler releases (e.g., VC10, which is now in publicly available beta,
and gcc 4.4) support a surprisingly large number of C++0x features, so even as
the C++ standardization committee hammers out the final details of the next
version of C++, you can start getting experience with parts of the enhanced
language and standard library right now. If my experience is any indication,
your new best friend in C++0x will be "auto," and, especially if you're doing
multithreaded programming, you're likely to develop a serious fondness for
lambdas.
The new course is described at http://www.aristeia.com/C++0x.html , and its
public world premiere will take place in Stuttgart, Germany, at the end of
September (link available at http://www.aristeia.com/seminars.html ). If you're
interested in knowing more about the course or if you'd like to consider booking
it for presentation at your company, let me know.
Scott
Sunday, April 12, 2009
Video of my TOC Talk Now Available
The talk I gave at the February Tools of Change in Publishing conference is now
available at http://blip.tv/file/1976570 . It's aimed at people in the
publishing industry, so it's not terribly technical, but if you're interested in
my take on what authors need to think about when writing for multiple output
devices, you might want to take a look. (An alternative is to look through the
entries of my blog for Fastware! at http://fastwareproject.blogspot.com/ .)
Speaking of having book content available on multiple devices, I've recently
discovered that some of my books are available on electronic devices other than
Kindle. This was news not just to me, but also to my editor, so we're in the
process of trying to figure out what's available where and why. Our goal is to
make everything available everywhere. Once I have a clearer picture of the
availability of my books on different devices, I'll post details to this list.
Scott
available at http://blip.tv/file/1976570 . It's aimed at people in the
publishing industry, so it's not terribly technical, but if you're interested in
my take on what authors need to think about when writing for multiple output
devices, you might want to take a look. (An alternative is to look through the
entries of my blog for Fastware! at http://fastwareproject.blogspot.com/ .)
Speaking of having book content available on multiple devices, I've recently
discovered that some of my books are available on electronic devices other than
Kindle. This was news not just to me, but also to my editor, so we're in the
process of trying to figure out what's available where and why. Our goal is to
make everything available everywhere. Once I have a clearer picture of the
availability of my books on different devices, I'll post details to this list.
Scott
Monday, March 2, 2009
Summer/Fall Seminars in Vienna and Stuttgart
My annual collaboration with QA Systems in Germany will continue this year in
Stuttgart with a five-day schedule that includes two new seminars, one on C++0x,
the other a generalization of my "High-Performance C++ Programming" seminar
called "Fastware with C++." Dates are in September and October, and you can
find all the details at my Upcoming Talks page,
http://www.aristeia.com/seminars.html .
New this year is a series of four technical seminars in Vienna (Wien) in June,
including my language-independent presentation on producing high-quality
software, as well as three in-depth C++ topics. The topics I'll discuss in
Vienna are different from those I'll address in Stuttgart. These seminars are
also in collaboration with QA Systems, and details are available at
http://www.aristeia.com/seminars.html .
I hope to see you in Vienna or Stuttgart...or both!
Scott
Stuttgart with a five-day schedule that includes two new seminars, one on C++0x,
the other a generalization of my "High-Performance C++ Programming" seminar
called "Fastware with C++." Dates are in September and October, and you can
find all the details at my Upcoming Talks page,
http://www.aristeia.com/seminars.html .
New this year is a series of four technical seminars in Vienna (Wien) in June,
including my language-independent presentation on producing high-quality
software, as well as three in-depth C++ topics. The topics I'll discuss in
Vienna are different from those I'll address in Stuttgart. These seminars are
also in collaboration with QA Systems, and details are available at
http://www.aristeia.com/seminars.html .
I hope to see you in Vienna or Stuttgart...or both!
Scott
Tuesday, February 17, 2009
Electronic Options for my Books
Executive Summary: my books are now available as DRM-free PDFs, for the Kindle,
or via Safari for both online viewing and PDF download. You now have multiple
options for reading my "Effective" books without harming any trees.
* * * * *
[DRM-Free PDFs]
I've mentioned in the past that I've been working on PDF versions of my books.
Those are now available, DRM-free and chock-full of linked navigation in all the
ways I believe you have a right to expect: tables of contents, indices,
cross-references, URLs, mailtos, the whole nine yards. In fact, they've been
available since October, but I've held off officially announcing them until now,
because there were a few bureaucratic loose ends that didn't get tied up until
last week. Information on the PDFs is available at
http://scottmeyers-ebooks.com/ .
[Kindle]
Unbeknownst to me until about an hour ago, two of my books -- Effective C++ and
Effective STL -- are now available for Amazon's Kindle. I haven't seen these
editions myself, so I can't tell you anything about them. Since I don't have a
Kindle, this is unlikely to change anytime soon. If you try these editions,
please let me know what you think of them. You'll find links to the Kindle
editions of these books at http://www.aristeia.com/books.html .
[Safari]
My books have been available for online viewing via Safari for a while, but only
last week did I learn that Safari also sells PDF versions for download. These
PDFs were prepared without my involvement, and I haven't yet seen them myself,
but my guess is that they will offer fewer features than the PDFs I mentioned
above. They may be priced more attractively, however. The entrée to the world
of Safari is http://www.safaribooksonline.com/ .
I'll do my best to keep my books page ( http://www.aristeia.com/books.html ) up
to date regarding the various delivery options for my books, but sometimes new
editions come out without my knowing about it. (The author is always the last
to know!) If you find a version not listed at my site, please tell me about it.
Personally, I find that print and electronic versions of books have
complementary strengths and weaknesses, so I'm pleased that my books are now
offered in so many formats. I hope you'll take a look at the options available
and, if you try one or more of the non-print versions, let me know how you like
them. For the book I'm working on now (check out http://fastwarebook.com/ --
which needs a lot of work, sigh -- if you are interested), my plan is to target
electronic publication as the primary delivery mechanism, so I'm quite
interested in what works and what doesn't.
Scott
or via Safari for both online viewing and PDF download. You now have multiple
options for reading my "Effective" books without harming any trees.
* * * * *
[DRM-Free PDFs]
I've mentioned in the past that I've been working on PDF versions of my books.
Those are now available, DRM-free and chock-full of linked navigation in all the
ways I believe you have a right to expect: tables of contents, indices,
cross-references, URLs, mailtos, the whole nine yards. In fact, they've been
available since October, but I've held off officially announcing them until now,
because there were a few bureaucratic loose ends that didn't get tied up until
last week. Information on the PDFs is available at
http://scottmeyers-ebooks.com/ .
[Kindle]
Unbeknownst to me until about an hour ago, two of my books -- Effective C++ and
Effective STL -- are now available for Amazon's Kindle. I haven't seen these
editions myself, so I can't tell you anything about them. Since I don't have a
Kindle, this is unlikely to change anytime soon. If you try these editions,
please let me know what you think of them. You'll find links to the Kindle
editions of these books at http://www.aristeia.com/books.html .
[Safari]
My books have been available for online viewing via Safari for a while, but only
last week did I learn that Safari also sells PDF versions for download. These
PDFs were prepared without my involvement, and I haven't yet seen them myself,
but my guess is that they will offer fewer features than the PDFs I mentioned
above. They may be priced more attractively, however. The entrée to the world
of Safari is http://www.safaribooksonline.com/ .
I'll do my best to keep my books page ( http://www.aristeia.com/books.html ) up
to date regarding the various delivery options for my books, but sometimes new
editions come out without my knowing about it. (The author is always the last
to know!) If you find a version not listed at my site, please tell me about it.
Personally, I find that print and electronic versions of books have
complementary strengths and weaknesses, so I'm pleased that my books are now
offered in so many formats. I hope you'll take a look at the options available
and, if you try one or more of the non-print versions, let me know how you like
them. For the book I'm working on now (check out http://fastwarebook.com/ --
which needs a lot of work, sigh -- if you are interested), my plan is to target
electronic publication as the primary delivery mechanism, so I'm quite
interested in what works and what doesn't.
Scott
Thursday, February 5, 2009
Seminar Scheduled: C++ in Embedded Systems
I'll be giving my two-day intensive seminar on making effective use of C++ in
embedded systems on March 30-31 in Beaverton, Oregon. Details are available at
http://www.cpd.ogi.edu/coursespecific.asp?pam=2457 . This is one of my favorite
training courses, because the topics range from the very lowest level language
issues (e.g., what is the cost of using various C++ features?, what's a good way
to model memory-mapped IO?) to higher-level process issues (e.g., how can we
approach the development of real-time and safety-critical systems in C++?). If
you're interested in the use of C++ for developing embedded software, I hope
you'll consider attending this seminar.
Scott
embedded systems on March 30-31 in Beaverton, Oregon. Details are available at
http://www.cpd.ogi.edu/coursespecific.asp?pam=2457 . This is one of my favorite
training courses, because the topics range from the very lowest level language
issues (e.g., what is the cost of using various C++ features?, what's a good way
to model memory-mapped IO?) to higher-level process issues (e.g., how can we
approach the development of real-time and safety-critical systems in C++?). If
you're interested in the use of C++ for developing embedded software, I hope
you'll consider attending this seminar.
Scott
Tuesday, January 6, 2009
Upcoming Talks in New York City and Santa Clara, California
On February 10, I'll be giving a talk at the "Tools of Change" publishing
conference. The topic is "Authoring Challenges in a Multiplatform World." As
the conference and talk title should suggest, it's not a talk about software
development, it's a talk about what I think authors need to worry about as we
make the transition from paper-based publication to a mix of paper and
electronic reading devices. If you've been reading my Fastware! blog (
http://fastwareproject.blogspot.com/ ), you'll have a good idea of the flavor of
the talk. Links to the conference and the talk description are at my Upcoming
Talks page: http://www.aristeia.com/seminars.html
In March, I'll be making my usual visit to the Software Development conference
in Santa Clara, CA, where I'll be giving one full-day language-independent
tutorial on software quality and three shorter hard-core C++ talks. Links to
the conference and talk descriptions are also at my Upcoming Talks page:
http://www.aristeia.com/seminars.html
I hope to see you at one or both events.
Scott
conference. The topic is "Authoring Challenges in a Multiplatform World." As
the conference and talk title should suggest, it's not a talk about software
development, it's a talk about what I think authors need to worry about as we
make the transition from paper-based publication to a mix of paper and
electronic reading devices. If you've been reading my Fastware! blog (
http://fastwareproject.blogspot.com/ ), you'll have a good idea of the flavor of
the talk. Links to the conference and the talk description are at my Upcoming
Talks page: http://www.aristeia.com/seminars.html
In March, I'll be making my usual visit to the Software Development conference
in Santa Clara, CA, where I'll be giving one full-day language-independent
tutorial on software quality and three shorter hard-core C++ talks. Links to
the conference and talk descriptions are also at my Upcoming Talks page:
http://www.aristeia.com/seminars.html
I hope to see you at one or both events.
Scott
Wednesday, November 5, 2008
Blog for "Fastware!"
I've started a blog for discussion of issues related to the book I'm working on
called "Fastware!" The book itself is about how to produce software systems that
are fast, but the issues I'm currently addressing in the blog are about the
writing itself rather than the technical content. I hope to move on to
content-related topics before too long, but first I have some authoring problems
to resolve. I encourage you to take a look at the blog at
http://fastwareproject.blogspot.com/ and offer comments on the issues I raise
there. (Currently, there are only two entries, but tomorrow is another day.)
My conversations with authors and publishers have not been terribly helpful in
resolving the questions I'm wrestling with, so I'm hoping that by exposing these
issues to the world at large, I'll get feedback that will help me produce a book
that's well suited to the future of publishing as well as the past.
Please let others know about this blog if you think they are likely to be
interested in authoring issues (now) or speed-related issues (later).
Thanks,
Scott
called "Fastware!" The book itself is about how to produce software systems that
are fast, but the issues I'm currently addressing in the blog are about the
writing itself rather than the technical content. I hope to move on to
content-related topics before too long, but first I have some authoring problems
to resolve. I encourage you to take a look at the blog at
http://fastwareproject.blogspot.com/ and offer comments on the issues I raise
there. (Currently, there are only two entries, but tomorrow is another day.)
My conversations with authors and publishers have not been terribly helpful in
resolving the questions I'm wrestling with, so I'm hoping that by exposing these
issues to the world at large, I'll get feedback that will help me produce a book
that's well suited to the future of publishing as well as the past.
Please let others know about this blog if you think they are likely to be
interested in authoring issues (now) or speed-related issues (later).
Thanks,
Scott
Tuesday, September 23, 2008
New Article Just Published
The C++ Source has just published a new article of mine, "Enforcing Code Feature
Requirements in C++." You'll find it at
http://www.artima.com/cppsource/codefeatures.html . Here's the summary from the
top of the article:
>Functions often depend on particular behavioral characteristics
>(“features”) of code they invoke. For example, thread-safe code must
>invoke only thread-safe code if it is to remain thread-safe, and
>exception-safe code must invoke only exception-safe code. This paper
>describes a technique that enables the specification of arbitrary
>combinations of user-defined code features on a per-function basis and
>that detects violations of feature constraints during compilation. The
>technique applies to member functions (both nonvirtual and virtual),
>non-member functions, and function templates; operators are excluded.
The article has a definite "researchy" feel to it (you may sense that from the
summary above), and in fact I originally wrote it for publication in the
academic community. Still, I think the ideas and techniques it describes are
relevant to many problems C++ developers regularly confront.
The research behind the article took over a year (off and on), and the article
itself was extensively modified twice (essentially rewritten) before it got into
its current form, so it represents a lot of work on my part. I'm pleased with
the way things turned out. I hope you find it interesting.
Scott
Requirements in C++." You'll find it at
http://www.artima.com/cppsource/codefeatures.html . Here's the summary from the
top of the article:
>Functions often depend on particular behavioral characteristics
>(“features”) of code they invoke. For example, thread-safe code must
>invoke only thread-safe code if it is to remain thread-safe, and
>exception-safe code must invoke only exception-safe code. This paper
>describes a technique that enables the specification of arbitrary
>combinations of user-defined code features on a per-function basis and
>that detects violations of feature constraints during compilation. The
>technique applies to member functions (both nonvirtual and virtual),
>non-member functions, and function templates; operators are excluded.
The article has a definite "researchy" feel to it (you may sense that from the
summary above), and in fact I originally wrote it for publication in the
academic community. Still, I think the ideas and techniques it describes are
relevant to many problems C++ developers regularly confront.
The research behind the article took over a year (off and on), and the article
itself was extensively modified twice (essentially rewritten) before it got into
its current form, so it represents a lot of work on my part. I'm pleased with
the way things turned out. I hope you find it interesting.
Scott
Thursday, July 17, 2008
All March Interview Parts Now Available
Last month I mentioned that a video interview I gave in March had been broken
into four parts and was being posted piecemeal. All four parts are now
available, and you can find links to them at my "Articles and Interviews" page,
http://www.aristeia.com/publications.html .
Scott
into four parts and was being posted piecemeal. All four parts are now
available, and you can find links to them at my "Articles and Interviews" page,
http://www.aristeia.com/publications.html .
Scott
Sunday, June 22, 2008
New Web Site Plumbing
A significantly revised version of my web site has just been installed, and,
with any luck, you won't notice a thing. The fundamental look and content has
not been changed. Under the hood, however, much is different. Frames are gone,
and that means that bookmarking and printing should work a lot better. Most
pages are now standards-conformant, and the few that are not (typically those
with tables that were tricky to replace with CSS) will be soon (I hope).
Cross-browser compatibility should be better. Fundamentally, all the stuff that
used to work should continue to work, and many things that didn't work before
should work now.
Included among the old things that should continue to work are URLs. It really
makes my blood boil when I bookmark a page at a site and later find that the URL
I saved is broken, because the webmorons maintaining the site couldn't be
bothered to ensure that old URLs remained valid when said morons decided to
reorganize. One of my primary constraints during the work on my web site was
that old URLs should continue to work, and one of the reasons I'm telling you
about the revised plumbing is that I'd like you to tell me if any URLs into my
site that used to work don't any more. If an old URL fails to work, that's a
bug, and we'll do our best to fix it pronto.
If you happen to notice any other implementation aspect of the revised site that
isn't what it should be, please let me know. I welcome comments on content,
too, but my focus right now is on getting the HTML and CSS, etc., working the
way it should be.
Thanks,
Scott
with any luck, you won't notice a thing. The fundamental look and content has
not been changed. Under the hood, however, much is different. Frames are gone,
and that means that bookmarking and printing should work a lot better. Most
pages are now standards-conformant, and the few that are not (typically those
with tables that were tricky to replace with CSS) will be soon (I hope).
Cross-browser compatibility should be better. Fundamentally, all the stuff that
used to work should continue to work, and many things that didn't work before
should work now.
Included among the old things that should continue to work are URLs. It really
makes my blood boil when I bookmark a page at a site and later find that the URL
I saved is broken, because the webmorons maintaining the site couldn't be
bothered to ensure that old URLs remained valid when said morons decided to
reorganize. One of my primary constraints during the work on my web site was
that old URLs should continue to work, and one of the reasons I'm telling you
about the revised plumbing is that I'd like you to tell me if any URLs into my
site that used to work don't any more. If an old URL fails to work, that's a
bug, and we'll do our best to fix it pronto.
If you happen to notice any other implementation aspect of the revised site that
isn't what it should be, please let me know. I welcome comments on content,
too, but my focus right now is on getting the HTML and CSS, etc., working the
way it should be.
Thanks,
Scott
Wednesday, June 11, 2008
New Podcast interviews available
In March, Addison-Wesley asked Ted Neward to interview me about the forthcoming
electronic versions of my books as well as about my thoughts on C++0x, and that
interview has now been chopped into four pieces and scheduled for publication in
both audio and video podcast form. The first two parts (covering my thoughts on
electronic publication) are now available:
Audio form: http://www.podango.com/podcast/2243/OnSoftware_audio
Video form: http://www.podango.com/podcast/2066/OnSoftware_video
You should be aware that the audio form is simply the audio track of the video
form. Unfortunately, the video form shows the interview topic and names of the
participants only through video, so if you listen to the audio only, it'll be
easiest to understand if you note the topic and names (Ted Neward and me) in
advance.
The remaining two parts of the interview will be published on June 17 and 24,
and there are RSS feeds at the site so you can arrange for automatic
notification, if you like.
Incidentally, the PDF versions of my books are currently undergoing final QA,
and I'm hoping they'll become available later this month. That's a couple of
months later than we'd originally planned, but we've been addressing more
"issues" than we anticipated during their preparation, most arising from
"undocumented features" in several tools we've been using. We've also had to
wrangle with the usual impossible things taking place -- you know, the stuff
that just seems to happen when doing anything software-intensive the first time
around.
I hope you enjoy the podcasts.
Scott
electronic versions of my books as well as about my thoughts on C++0x, and that
interview has now been chopped into four pieces and scheduled for publication in
both audio and video podcast form. The first two parts (covering my thoughts on
electronic publication) are now available:
Audio form: http://www.podango.com/podcast/2243/OnSoftware_audio
Video form: http://www.podango.com/podcast/2066/OnSoftware_video
You should be aware that the audio form is simply the audio track of the video
form. Unfortunately, the video form shows the interview topic and names of the
participants only through video, so if you listen to the audio only, it'll be
easiest to understand if you note the topic and names (Ted Neward and me) in
advance.
The remaining two parts of the interview will be published on June 17 and 24,
and there are RSS feeds at the site so you can arrange for automatic
notification, if you like.
Incidentally, the PDF versions of my books are currently undergoing final QA,
and I'm hoping they'll become available later this month. That's a couple of
months later than we'd originally planned, but we've been addressing more
"issues" than we anticipated during their preparation, most arising from
"undocumented features" in several tools we've been using. We've also had to
wrangle with the usual impossible things taking place -- you know, the stuff
that just seems to happen when doing anything software-intensive the first time
around.
I hope you enjoy the podcasts.
Scott
Wednesday, April 30, 2008
Talk in Redmond, WA, on May 20
On Tuesday, May 20, I'll be giving a talk at the Northwest C++ Users Group in
Redmond, Washingon. I'll be describing a fully compile-time mechanism for
enforcing arbitrary code constraints. It's an updated version of a talk I gave
at the Users Group last year and at the Software Development Conference earlier
this year. The current approach checks everything during compilation,
approximates support for contravariant constraints down an inheritance
hierarchy, and allows overloading on constraint sets. I think it's kind of
nifty.
Details are available at http://www.nwcpp.org/Meetings/2008/05.html . I hope to
see you there.
Scott
Redmond, Washingon. I'll be describing a fully compile-time mechanism for
enforcing arbitrary code constraints. It's an updated version of a talk I gave
at the Users Group last year and at the Software Development Conference earlier
this year. The current approach checks everything during compilation,
approximates support for contravariant constraints down an inheritance
hierarchy, and allows overloading on constraint sets. I think it's kind of
nifty.
Details are available at http://www.nwcpp.org/Meetings/2008/05.html . I hope to
see you there.
Scott
Wednesday, March 19, 2008
Books' PDF Update; October Talks in Germany
It's hard to believe it's been nearly six months since I first wrote about the
forthcoming availability of my books in electronic form. We've done a lot of
work since then, and the PDFs are nearly completed. Initial availability is
expected to be next month. We've largely hewed to the plan I posted in October,
but we did make one major change: the PDFs will use no DRM. Instead, we'll
rely on "personalization" technology that adds purchaser information (e.g.,
their name) to the PDFs when they are purchased. Presumably, this will
discourage people from posting their PDFs on the Internet.
The lack of DRM means you can put copies of the PDFs you buy on all your
machines, you can annotate and print them to your heart's content, you can
access them through desktop search tools, etc. In other words, you can
literally (and legally) do pretty much all the things with your PDF copies of my
books that I can, as long as the result is for your personal use. I've attached
a marketing flyer that gives more information about the electronic versions of
my books and also gives an email address to write to if you'd like to be
notified when they become available.
* * * * *
For the tenth year in a row, I'll be presenting a series of technical seminars
in Europe in the fall. This year all the talks will be in Stuttgart, and one of
the highlights will be my recently-developed two-day course on making effective
use of C++ in embedded systems. You can find links to all the seminars at my
Upcoming Talks page, http://www.aristeia.com/seminars.html .
Thanks for your continuing interest in my work.
Scott
forthcoming availability of my books in electronic form. We've done a lot of
work since then, and the PDFs are nearly completed. Initial availability is
expected to be next month. We've largely hewed to the plan I posted in October,
but we did make one major change: the PDFs will use no DRM. Instead, we'll
rely on "personalization" technology that adds purchaser information (e.g.,
their name) to the PDFs when they are purchased. Presumably, this will
discourage people from posting their PDFs on the Internet.
The lack of DRM means you can put copies of the PDFs you buy on all your
machines, you can annotate and print them to your heart's content, you can
access them through desktop search tools, etc. In other words, you can
literally (and legally) do pretty much all the things with your PDF copies of my
books that I can, as long as the result is for your personal use. I've attached
a marketing flyer that gives more information about the electronic versions of
my books and also gives an email address to write to if you'd like to be
notified when they become available.
* * * * *
For the tenth year in a row, I'll be presenting a series of technical seminars
in Europe in the fall. This year all the talks will be in Stuttgart, and one of
the highlights will be my recently-developed two-day course on making effective
use of C++ in embedded systems. You can find links to all the seminars at my
Upcoming Talks page, http://www.aristeia.com/seminars.html .
Thanks for your continuing interest in my work.
Scott
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 (http://www.aristeia.com/seminars_frames.html). 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.
Scott
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 (http://www.aristeia.com/seminars_frames.html). 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.
Scott
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
color!
- 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.
Scott
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
color!
- 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.
Scott
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
(http://www.aristeia.com/publications_frames.html) and also at the main
OnSoftware page
(http://www.informit.com/podcasts/channel.aspx?c=dadf92ca-3bdc-484e-9cd8-cbfe0cf\
c0de6).
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.
Scott
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
(http://www.aristeia.com/publications_frames.html) and also at the main
OnSoftware page
(http://www.informit.com/podcasts/channel.aspx?c=dadf92ca-3bdc-484e-9cd8-cbfe0cf\
c0de6).
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.
Scott
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 http://www.astoriaseminar.com/ .
Scott
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 http://www.astoriaseminar.com/ .
Scott
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: http://www.astoriaseminar.com/ . 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
soon.
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.
Scott
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: http://www.astoriaseminar.com/ . 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
soon.
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.
Scott
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 http://www.nwcpp.org/Meetings/2007/04.html . I hope to
see you there.
Scott
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 http://www.nwcpp.org/Meetings/2007/04.html . I hope to
see you there.
Scott
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 http://www.boostcon.com/home .
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:
http://www.aristeia.com/seminars_frames.html
I hope to see you at one of these events.
Scott
I'll be giving a full-day tutorial on TR1 and some Boost libraries. The
conference site is http://www.boostcon.com/home .
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:
http://www.aristeia.com/seminars_frames.html
I hope to see you at one of these events.
Scott
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 http://tinyurl.com/ydefmj
or you can download it (about 150MB) from http://www.aristeia.com/shakedown2.wrf
. 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 http://tinyurl.com/yk37c9 .
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.
Scott
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 http://tinyurl.com/ydefmj
or you can download it (about 150MB) from http://www.aristeia.com/shakedown2.wrf
. 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 http://tinyurl.com/yk37c9 .
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.
Scott
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.
Thanks,
Scott
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.
Thanks,
Scott
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
https://eval.webex.com/eval/j.php?ED=89967787&RG=1
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
https://eval.webex.com/meet/scott_meyers28 ; 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:
https://eval.webex.com/eval/meetingcenter/mcsetup.php
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@....
Thanks,
Scott
implementation of virtual functions under multiple inheritance) click on
https://eval.webex.com/eval/j.php?ED=89967787&RG=1
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
https://eval.webex.com/meet/scott_meyers28 ; 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:
https://eval.webex.com/eval/meetingcenter/mcsetup.php
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@....
Thanks,
Scott
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,
https://eval.webex.com/eval/j.php?ED=89939522&RG=1
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:
https://eval.webex.com/eval/meetingcenter/mcsetup.php
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@....
Thanks,
Scott
implementation of virtual functions under single inheritance) click on
this link,
https://eval.webex.com/eval/j.php?ED=89939522&RG=1
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:
https://eval.webex.com/eval/meetingcenter/mcsetup.php
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@....
Thanks,
Scott
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
http://support.webex.com/support/system-requirements.html . 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.
Thanks,
Scott
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
http://support.webex.com/support/system-requirements.html . 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.
Thanks,
Scott
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
http://www.aristeia.com/seminars_frames.html .
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
http://www.boost.org/more/BoostCon07.html . In fact, there still time to submit
talk proposals -- check out
http://www.boost.org/more/BoostCon07_session_call.html . 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
http://www.aristeia.com/TR1andBoost_frames.html .
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
2007.
Scott
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
http://www.aristeia.com/seminars_frames.html .
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
http://www.boost.org/more/BoostCon07.html . In fact, there still time to submit
talk proposals -- check out
http://www.boost.org/more/BoostCon07_session_call.html . 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
http://www.aristeia.com/TR1andBoost_frames.html .
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
2007.
Scott
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
http://www.aristeia.com/publications.html
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
http://www.ddj.com/pressroom/090506.htm
I'm on the Organizing Committee for the first-ever Boost conference, to be held
next May in Aspen, Colorado. Details are available at
http://www.boost.org/more/BoostCon07.html. 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,
http://www.aristeia.com/seminars.html
Scott
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
http://www.aristeia.com/publications.html
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
http://www.ddj.com/pressroom/090506.htm
I'm on the Organizing Committee for the first-ever Boost conference, to be held
next May in Aspen, Colorado. Details are available at
http://www.boost.org/more/BoostCon07.html. 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,
http://www.aristeia.com/seminars.html
Scott
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
http://survey.pearsoncmg.com/MEYERSS6\
.htm.
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
http://survey.pearsoncmg.com/CPLUSNU6\
.htm.
Not only will you have the opportunity to influence our decisions, but, complete
the survey today and receive a 50% off coupon from awprofessional.com 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.
Thanks,
Scott
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
.htm.
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
.htm.
Not only will you have the opportunity to influence our decisions, but, complete
the survey today and receive a 50% off coupon from awprofessional.com 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.
Thanks,
Scott
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
http://www.artima.com/cppsource/top_cpp_aha_moments.html.
Scott
"Aha!" moments. You can find it at
http://www.artima.com/cppsource/top_cpp_aha_moments.html.
Scott
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 http://www.artima.com/cppsource/top_cpp_people.html.
Scott
of C++. You can find it at http://www.artima.com/cppsource/top_cpp_people.html.
Scott
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
http://www.artima.com/cppsource/top_cpp_software.html .
Scott
of C++. You can find it at
http://www.artima.com/cppsource/top_cpp_software.html .
Scott
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
http://www.artima.com/cppsource/top_cpp_publications.html .
Scott
in the history of C++. You can find it at
http://www.artima.com/cppsource/top_cpp_publications.html .
Scott
Sunday, August 13, 2006
Two Changes to Mailing List Policy
Yesterday I updated the web page describing my mailing list polices
(http://www.aristeia.com/MailingList/) 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
time.
Scott
(http://www.aristeia.com/MailingList/) 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
time.
Scott
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 --
http://www.artima.com/cppsource ) 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 http://www.artima.com/cppsource/top_cpp_books.html . 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,
Scott
http://www.artima.com/cppsource ) 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 http://www.artima.com/cppsource/top_cpp_books.html . 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,
Scott
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
(http://www.aristeia.com/seminars_frames.html), but the overall summary is shown
below:
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
Design
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 :-)
Scott
Oregon and in Germany. The details are available at my Upcoming Talks Page
(http://www.aristeia.com/seminars_frames.html), but the overall summary is shown
below:
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
Design
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 :-)
Scott
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
http://www.spinellis.gr/codequality/.
Scott
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
http://www.spinellis.gr/codequality/.
Scott
Tuesday, January 31, 2006
Talks in Europe in April and September
I've just updated my "Upcoming Talks" page
(http://www.aristeia.com/seminars_frames.html) 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.
Scott
(http://www.aristeia.com/seminars_frames.html) 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.
Scott
Friday, December 9, 2005
Upcoming Talks Posted
I've just updated the list of public and open-enrollment talks I'll be giving in
January, February, and March of next year. All are near Portland, Oregon, or
Santa Clara, California. There's quite a mix of topics, including a couple of
new talks I've never given before. Details are available at the usual location:
http://www.aristeia.com/seminars.html.
I hope to see you at one or more talks next year.
Scott
January, February, and March of next year. All are near Portland, Oregon, or
Santa Clara, California. There's quite a mix of topics, including a couple of
new talks I've never given before. Details are available at the usual location:
http://www.aristeia.com/seminars.html.
I hope to see you at one or more talks next year.
Scott
Thursday, October 6, 2005
Do you have a 5th printing of Effective STL?
Each time a new printing of one of my books comes out, I'm supposed to get
a copy. Normally I do, but there are occasional snafus, and I recently
realized that I lack a copy of the 5th printing of Effective STL. Worse
yet, my publisher is unable to find one. I'd really like to have a copy of
the 5th printing, so if you have one, I have a deal for you.
I spent the last two days updating ESTL for the upcoming 7th printing (you
can check out the panoply of changes at
http://www.aristeia.com/BookErrata/estl1e-errata_frames.html), and I'm
willing to trade an autographed copy of the new printing (when it comes out
in a few weeks) for a copy of the 5th printing, ideally a 5th printing in
pristine condition -- no writing in or on it, no folded pages, etc. If you
have such a printing and are interested in a trade, please let me know.
Thanks,
Scott
PS - The printing number is at the bottom of the copyright page.
a copy. Normally I do, but there are occasional snafus, and I recently
realized that I lack a copy of the 5th printing of Effective STL. Worse
yet, my publisher is unable to find one. I'd really like to have a copy of
the 5th printing, so if you have one, I have a deal for you.
I spent the last two days updating ESTL for the upcoming 7th printing (you
can check out the panoply of changes at
http://www.aristeia.com/BookErrata/estl1e-errata_frames.html), and I'm
willing to trade an autographed copy of the new printing (when it comes out
in a few weeks) for a copy of the 5th printing, ideally a 5th printing in
pristine condition -- no writing in or on it, no folded pages, etc. If you
have such a printing and are interested in a trade, please let me know.
Thanks,
Scott
PS - The printing number is at the bottom of the copyright page.
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
http://www.aristeia.com/Papers/resourceReturnProblem.txt.
FWIW, I don't plan to make a habit of this. I finish most things I start.
Scott
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
http://www.aristeia.com/Papers/resourceReturnProblem.txt.
FWIW, I don't plan to make a habit of this. I finish most things I start.
Scott
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
(http://www.aristeia.com/seminars_frames.html), but I encourage you to take
a look at the full schedule at
http://www.cpp-connections.com/shows/cppfall2005/, 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.
Scott
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
(http://www.aristeia.com/seminars_frames.html), but I encourage you to take
a look at the full schedule at
http://www.cpp-connections.com/shows/cppfall2005/, 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.
Scott
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 http://www.nwcpp.org/Meetings/2005/09.html.
I hope to see you there.
Scott
Group in Bellevue, Washington. The topic is "Two View of C++," and you can
get all the details at http://www.nwcpp.org/Meetings/2005/09.html.
I hope to see you there.
Scott
Wednesday, August 24, 2005
Revised Book Errata Update Policy
In the past, I've collected bug reports for my books and then updated the
web pages two or three times each year, posting to this mailing list the
latest changes to the errata pages. This has been slightly less hassle for
me, but it's not been ideal for readers, who might go months without being
informed of errata that had been reported.
Since publication of EC++/3E, I've been trying to update the books' errata
pages on an ongoing basis, adding new issues as they come in. This
essentially eliminates the time lag between a bug being reported and it
appearing at my web site, but because I don't want to increase the
frequency of postings to this mailing list, it means that I no longer have
an easy way to identify the latest bug reports to come in.
At some point, I hope to have a more sophisticated errata system that would
allow, for example, filtering errata based on when they were reported. I'd
hoped that I could cajole Addison-Wesley into providing such a system for
use by all their authors, but it's become clear that that is unlikely to
happen. For the time being, then, there will be no easy way to identify
the most recent additions to my books' errata lists. On the plus side,
when you visit the errata lists, you should see a comprehensive listing of
all the issues that have been reported.
I hope you find the errata lists useful. They're my Hall of Shame, but I
am always interested in comments on how my publications can be improved.
Scott
web pages two or three times each year, posting to this mailing list the
latest changes to the errata pages. This has been slightly less hassle for
me, but it's not been ideal for readers, who might go months without being
informed of errata that had been reported.
Since publication of EC++/3E, I've been trying to update the books' errata
pages on an ongoing basis, adding new issues as they come in. This
essentially eliminates the time lag between a bug being reported and it
appearing at my web site, but because I don't want to increase the
frequency of postings to this mailing list, it means that I no longer have
an easy way to identify the latest bug reports to come in.
At some point, I hope to have a more sophisticated errata system that would
allow, for example, filtering errata based on when they were reported. I'd
hoped that I could cajole Addison-Wesley into providing such a system for
use by all their authors, but it's become clear that that is unlikely to
happen. For the time being, then, there will be no easy way to identify
the most recent additions to my books' errata lists. On the plus side,
when you visit the errata lists, you should see a comprehensive listing of
all the issues that have been reported.
I hope you find the errata lists useful. They're my Hall of Shame, but I
am always interested in comments on how my publications can be improved.
Scott
Tuesday, July 26, 2005
Two Interviews; Updated EC++/3E Errata
Two more interviews with me are now available:
- Q&A with Bookpool customers: http://www.bookpool.com/ct/98031
- Q&A with LinuxPlanet:
http://www.linuxplanet.com/linuxplanet/interviews/5942/1/
Also, I've now updated the EC++/3E errata list with the latest bug reports
and "interesting comments." It's at the usual place:
http://www.aristeia.com/BookErrata/ec++3e-errata_frames.html
Scott
- Q&A with Bookpool customers: http://www.bookpool.com/ct/98031
- Q&A with LinuxPlanet:
http://www.linuxplanet.com/linuxplanet/interviews/5942/1/
Also, I've now updated the EC++/3E errata list with the latest bug reports
and "interesting comments." It's at the usual place:
http://www.aristeia.com/BookErrata/ec++3e-errata_frames.html
Scott
Monday, June 13, 2005
Brief Interview; EC++/3E Errata
As part of the rollout of the new edition of Effective C++, I've done a few
interviews, and a short one is now available at
http://techrepublic.com.com/5100-3513_11-5735561.html?tag=nl.e606
Also, I've posted the inevitable first set of errata for the book at
http://www.aristeia.com/BookErrata/ec++3e-errata_frames.html
Nothing too serious so far, I'm pleased to report.
Scott
interviews, and a short one is now available at
http://techrepublic.com.com/5100-3513_11-5735561.html?tag=nl.e606
Also, I've posted the inevitable first set of errata for the book at
http://www.aristeia.com/BookErrata/ec++3e-errata_frames.html
Nothing too serious so far, I'm pleased to report.
Scott
Tuesday, May 24, 2005
Two more EC++/3E Sample Items
Two more sample Items have now been made available. One of them is Item 9
("Never call virtual functions during construction or destruction"). You
can get that via the Bookpool page for 3E (http://www.bookpool.com/ct/197),
where you can also read about how to win a chance to interview me. They
apparently think this is something you might want to do :-) I don't get any
kind of kickback on purchases through Bookpool, but I can tell you that the
people there seem very, very nice, so I encourage you to check out their
site.
The other Item now available is at Addison-Wesley's page for 3E. The Item
is #47 ("Use Use traits classes for information about types"), and the URL
is
http://www.awprofessional.com/content/images/0321334876/items/meyers_item47.pdf
Enjoy!
Scott
("Never call virtual functions during construction or destruction"). You
can get that via the Bookpool page for 3E (http://www.bookpool.com/ct/197),
where you can also read about how to win a chance to interview me. They
apparently think this is something you might want to do :-) I don't get any
kind of kickback on purchases through Bookpool, but I can tell you that the
people there seem very, very nice, so I encourage you to check out their
site.
The other Item now available is at Addison-Wesley's page for 3E. The Item
is #47 ("Use Use traits classes for information about types"), and the URL
is
http://www.awprofessional.com/content/images/0321334876/items/meyers_item47.pdf
Enjoy!
Scott
Friday, May 6, 2005
Two Book-Related Questions
Now that the third edition of Effective C++ is done, I have time to turn my
attention to two other book-related issues, and I'd like your feedback.
- ELECTRONIC PUBLICATION. We'd like to come out with a new electronic
version of all three of my books to replace the current CD (which has
only two books on it). Any comments you have on the proper format and
feature set for such a product would be most welcome. Should we again
use an HTML-based approach on CD? Should we go with PDF instead? Is
there some other format or delivery mechanism that would be most useful?
Please let me know your thoughts on how you'd like to electronic versions
of my books made available.
- ERRATA LISTS. Currently, my book errata lists are hand-coded HTML. It's
so primitive, it's not even retro. It's ugly, you can't do things like
search for all entries for a particular page or printing or made after a
certain date, etc. It is, quite honestly, an embarrassment, but it's
easy for me to maintain, there are only so many hours in a day, and one
has to prioritize, etc. Still, I'd like to do better. If you have a
suggested way to approach this problem, or if you know of errata sites
for other books/CDs/etc. that do this particularly well, please let me
know.
Thanks,
Scott
attention to two other book-related issues, and I'd like your feedback.
- ELECTRONIC PUBLICATION. We'd like to come out with a new electronic
version of all three of my books to replace the current CD (which has
only two books on it). Any comments you have on the proper format and
feature set for such a product would be most welcome. Should we again
use an HTML-based approach on CD? Should we go with PDF instead? Is
there some other format or delivery mechanism that would be most useful?
Please let me know your thoughts on how you'd like to electronic versions
of my books made available.
- ERRATA LISTS. Currently, my book errata lists are hand-coded HTML. It's
so primitive, it's not even retro. It's ugly, you can't do things like
search for all entries for a particular page or printing or made after a
certain date, etc. It is, quite honestly, an embarrassment, but it's
easy for me to maintain, there are only so many hours in a day, and one
has to prioritize, etc. Still, I'd like to do better. If you have a
suggested way to approach this problem, or if you know of errata sites
for other books/CDs/etc. that do this particularly well, please let me
know.
Thanks,
Scott
Tuesday, May 3, 2005
EC++/3E Sample Item Now Available
Addison-Wesley has just made Item 27 from EC++/3E ("Minimize Casting")
available for download at
http://www.awprofessional.com/content/images/0321334876/items/meyers_item27.pdf.
This means that in approximately 8 minutes, I should start getting bug
reports...
Scott
available for download at
http://www.awprofessional.com/content/images/0321334876/items/meyers_item27.pdf.
This means that in approximately 8 minutes, I should start getting bug
reports...
Scott
Friday, April 29, 2005
EC++/3E is Finished
Just a quick note to let you know that I sent final camera-ready copy of
the third edition of Effective C++ to my publisher last week. I expect
physical books to exist in bookstores around the end of May. Between now
and then, there will be sample Items posted at various locations, and it
looks like at least one will appear as an article in DDJ. I'll make
announcements here when those things happen.
Sample Items and magazine articles are part of a marketing campaign
designed to whip you into a buying frenzy, but if you're already gripped by
frenzy and like to order books from Amazon, I'd appreciate it if you'd do
it via the following link, because then I get a small kickback from Amazon.
(The cover image, ISBN, and ordering information for the book is correct,
but most of the textual information (e.g., reviews) at that site is for the
second edition, not the third, sigh.)
http://www.amazon.com/exec/obidos/tg/detail/-/0321334876/ref=ase_scottmeyersho-2\
0/103-3864411-8060659?v=glance&s=books
I can't in good conscience fail to note that you can buy it for less at the
Addison-Wesley web site, where I don't get a kickback, but where the
supporting information corresponds to the new edition. The URL for that is
http://www.awl.com/cseng/titles/0-321-33487-6/
I hope you enjoy the third edition of Effective C++. It's a significant
update, as you'll be able to see from the information at the AW web site.
Scott
the third edition of Effective C++ to my publisher last week. I expect
physical books to exist in bookstores around the end of May. Between now
and then, there will be sample Items posted at various locations, and it
looks like at least one will appear as an article in DDJ. I'll make
announcements here when those things happen.
Sample Items and magazine articles are part of a marketing campaign
designed to whip you into a buying frenzy, but if you're already gripped by
frenzy and like to order books from Amazon, I'd appreciate it if you'd do
it via the following link, because then I get a small kickback from Amazon.
(The cover image, ISBN, and ordering information for the book is correct,
but most of the textual information (e.g., reviews) at that site is for the
second edition, not the third, sigh.)
http://www.amazon.com/exec/obidos/tg/detail/-/0321334876/ref=ase_scottmeyersho-2\
0/103-3864411-8060659?v=glance&s=books
I can't in good conscience fail to note that you can buy it for less at the
Addison-Wesley web site, where I don't get a kickback, but where the
supporting information corresponds to the new edition. The URL for that is
http://www.awl.com/cseng/titles/0-321-33487-6/
I hope you enjoy the third edition of Effective C++. It's a significant
update, as you'll be able to see from the information at the AW web site.
Scott
Wednesday, April 6, 2005
Partnership with DevelopMentor; September Talks in Germany
Two things:
- New training partnership with DevelopMentor.
- September talks in Ludwigsburg, Germany.
TRAINING PARTNERSHIP
For some time now, demand for my training services has outstripped my
availability, and I've been looking for a way to address this mismatch
without compromising quality. I ultimately decided to enter into a
partnership with DevelopMentor, a training company I've known since
1995. I've worked with the DevelopMentor people as a class instructor, as
a class attendee, and as a provider of training materials, and I've always
been impressed with their way of treating people (well), the quality of the
training they provide (high), and their commitment to maintaining these
ideals (consistent). As a result of the partnership, DevelopMentor will
have exclusive access to my training materials and will be able to offer my
courses using instructors I've personally approved. Their web site is
http://develop.com/ and their main page for my courses is
http://develop.com/us/technology/technology.aspx?tech=7
SEPTEMBER TALKS IN GERMANY
As I've done for the past several years, I'll be giving a week of talks in
Germany in the fall. The talks themselves will be in English, though, if
you are particularly unlucky, I may try to speak to you in German if you
are there. You'll find a list of the talks at the usual place:
http://www.aristeia.com/seminars.html
Scott
- New training partnership with DevelopMentor.
- September talks in Ludwigsburg, Germany.
TRAINING PARTNERSHIP
For some time now, demand for my training services has outstripped my
availability, and I've been looking for a way to address this mismatch
without compromising quality. I ultimately decided to enter into a
partnership with DevelopMentor, a training company I've known since
1995. I've worked with the DevelopMentor people as a class instructor, as
a class attendee, and as a provider of training materials, and I've always
been impressed with their way of treating people (well), the quality of the
training they provide (high), and their commitment to maintaining these
ideals (consistent). As a result of the partnership, DevelopMentor will
have exclusive access to my training materials and will be able to offer my
courses using instructors I've personally approved. Their web site is
http://develop.com/ and their main page for my courses is
http://develop.com/us/technology/technology.aspx?tech=7
SEPTEMBER TALKS IN GERMANY
As I've done for the past several years, I'll be giving a week of talks in
Germany in the fall. The talks themselves will be in English, though, if
you are particularly unlucky, I may try to speak to you in German if you
are there. You'll find a list of the talks at the usual place:
http://www.aristeia.com/seminars.html
Scott
Saturday, January 22, 2005
Updated Errata for MEC++ and ESTL
I just updated the errata pages for MEC++ and ESTL. You'll find them at
the usual places
(http://www.aristeia.com/BookErrata/mec++-errata_frames.html and
http://www.aristeia.com/BookErrata/estl1e-errata_frames.html), but the new
entries are as follows:
For MEC++:
DATE DATE
REPORTED WHO PAGES WHAT FIXED
-------- --- ----- ------------------------------------------------ --------
9/16/04 fb Many Many single-argument constructors in the book
would best be declared explicit. [This bug
report should be combined with sk's existing
3/5/96 Interesting Comment on the same topic.]
1/22/05 tk 54 As noted above by cc about page 50, fully
constructed objects will be automatically
destroyed if an exception is thrown, but this
guarantee applies to local (i.e., auto) objects
only if the exception is caught. Add a footnote
alluding to the footnote on pg. 50.
10/27/04 ms 67 In 1st para, should also mention that a catch
clause for runtime_error can also catch
underflow_error exceptions.
9/12/04 nd 70 In code at bottom of page, both "what" member
functions should be declared const.
9/12/04 nd 71-2 Once the decision to catch by reference has been
made, a decision must be made about whether to
catch by refernce-to-const. As always, const
should be used unless the handler needs to be
able to modify the exception object.
8/24/04 ms 155 HeapTracked::operator delete incorrectly throws
an exception if asked to delete the null pointer.
It should do nothing in that case.
For ESTL:
DATE DATE
REPORTED WHO PAGES WHAT FIXED
-------- --- ----- ------------------------------------------------ --------
9/18/04 dxm 44 The comment next to the call to remove_copy_if
near the bottom of the page could suggest that
values are removed from c before copying them to
goodValues. In fact, c is not modified at all;
undesired values are simply skipped during the
copy. Reword.
12/21/04 nds 67 In the description for resize, it's not true that
if n is less than the current size, new
default-constructed elements will be added.
Rather copies of a single
default-constructed element will be added.
Scott
the usual places
(http://www.aristeia.com/BookErrata/mec++-errata_frames.html and
http://www.aristeia.com/BookErrata/estl1e-errata_frames.html), but the new
entries are as follows:
For MEC++:
DATE DATE
REPORTED WHO PAGES WHAT FIXED
-------- --- ----- ------------------------------------------------ --------
9/16/04 fb Many Many single-argument constructors in the book
would best be declared explicit. [This bug
report should be combined with sk's existing
3/5/96 Interesting Comment on the same topic.]
1/22/05 tk 54 As noted above by cc about page 50, fully
constructed objects will be automatically
destroyed if an exception is thrown, but this
guarantee applies to local (i.e., auto) objects
only if the exception is caught. Add a footnote
alluding to the footnote on pg. 50.
10/27/04 ms 67 In 1st para, should also mention that a catch
clause for runtime_error can also catch
underflow_error exceptions.
9/12/04 nd 70 In code at bottom of page, both "what" member
functions should be declared const.
9/12/04 nd 71-2 Once the decision to catch by reference has been
made, a decision must be made about whether to
catch by refernce-to-const. As always, const
should be used unless the handler needs to be
able to modify the exception object.
8/24/04 ms 155 HeapTracked::operator delete incorrectly throws
an exception if asked to delete the null pointer.
It should do nothing in that case.
For ESTL:
DATE DATE
REPORTED WHO PAGES WHAT FIXED
-------- --- ----- ------------------------------------------------ --------
9/18/04 dxm 44 The comment next to the call to remove_copy_if
near the bottom of the page could suggest that
values are removed from c before copying them to
goodValues. In fact, c is not modified at all;
undesired values are simply skipped during the
copy. Reword.
12/21/04 nds 67 In the description for resize, it's not true that
if n is less than the current size, new
default-constructed elements will be added.
Rather copies of a single
default-constructed element will be added.
Scott
Sunday, January 9, 2005
New book in my Series; Updated "Upcoming Talks" List
The latest book in my Effective Software Development Series, Bill Wagner's
Effective C#, has recently been published, leading me to hope that people
will stop asking me when I'm going to write it :-) I learned a lot from
reading it, and I think you will, too. For details on the book, check it
out at AW (http://www.awprofessional.com/title/0321245660) or Amazon
(http://www.amazon.com/exec/obidos/tg/detail/-/0321245660/qid=1105253646/sr=8-1/\
ref=pd_ka_1/104-5668479-8651933?v=glance&s=books&n=507846).
You might also want to check out my updated "Upcoming Talks" page at
http://www.aristeia.com/seminars_frames.html, because there are five new
listings for March (four at the Software Development conference).
I wish you all a happy, healthy, and prosperous 2005,
Scott
Effective C#, has recently been published, leading me to hope that people
will stop asking me when I'm going to write it :-) I learned a lot from
reading it, and I think you will, too. For details on the book, check it
out at AW (http://www.awprofessional.com/title/0321245660) or Amazon
(http://www.amazon.com/exec/obidos/tg/detail/-/0321245660/qid=1105253646/sr=8-1/\
ref=pd_ka_1/104-5668479-8651933?v=glance&s=books&n=507846).
You might also want to check out my updated "Upcoming Talks" page at
http://www.aristeia.com/seminars_frames.html, because there are five new
listings for March (four at the Software Development conference).
I wish you all a happy, healthy, and prosperous 2005,
Scott
Wednesday, November 10, 2004
New Open-Enrollment Seminars Scheduled
After I announced the existence of my new training course, "What's New in
Effective C++?", several people wrote to ask when it would be available for
enrollment. One thing led to another, and now I've scheduled two new
open-enrollement seminars at OGI (in Beaverton, Oregon) in January:
18 Jan 2005: Better Software -- No Matter What
19 Jan 2005: What's New in Effective C++?
You'll find links to all the details on these seminars (as well as to the 15
December offering of "Effective C++ in an Embedded Environment") at my "Upcoming
Talks" page, http://www.aristeia.com/seminars_frames.html
I hope to see you at one or more of these seminars.
Scott
Effective C++?", several people wrote to ask when it would be available for
enrollment. One thing led to another, and now I've scheduled two new
open-enrollement seminars at OGI (in Beaverton, Oregon) in January:
18 Jan 2005: Better Software -- No Matter What
19 Jan 2005: What's New in Effective C++?
You'll find links to all the details on these seminars (as well as to the 15
December offering of "Effective C++ in an Embedded Environment") at my "Upcoming
Talks" page, http://www.aristeia.com/seminars_frames.html
I hope to see you at one or more of these seminars.
Scott
Monday, November 8, 2004
Wanted: Candidate reviewers for EC++/3E
I'm making decent headway on the next edition of Effective C++, but I have
a problem: I need to find a few good pre-publication reviewers to read my
draft and tell me how I can improve it. Now, I know all kinds of C++
experts, but the target audience for my book isn't experts, it's practicing
programmers who are at roughly an intermediate level of knowledge and
experience with the language. As somebody who subscribes to this mailing
list, it is highly likely that you do NOT qualify; you already know too
much. However, perhaps you know somebody who might qualify, somebody who
is comfortable with the basics of C++, but who is interested in knowing
more. If you do, and if that person would be willing to undertake the hard
work of reading 250-300 pages of not-fully-refined prose and offer detailed
suggestions on how the book could be improved (without regard for whether
they will hurt my feelings -- I *need* to know the bad stuff), and if that
person would be available for the task beginning sometime in January and
ending no more than about a month later, I'd appreciate it if you'd have
them contact me.
I don't need very many people for this -- maybe 2 or 3. My preference is
to have a small number of high-quality reviewers rather than a large number
of poorer-quality reviewers. But my need for this small number of
high-quality reviewers is great, because I can't produce a book that's
truly useful to its target audience if I don't get advance feedback from
people in that audience. Experts can help me identify subtle coding or
reasoning errors, but non-experts can tell me "I have no idea what you are
talking about in this paragraph," and that's the kind of thing I really
need to know.
There's no monetary compensation for this work. Rather, people who do it
get (1) a chance to make a real impact on the final version of the book,
(2) an autographed copy of the final book, possibly with a custom cover
that only a few people will get (I'm not sure about that last part, I have
to work it out with my publisher), and (3) my sincere gratitude.
People who are interested should contact me directly.
Thanks very much for your help with this.
Scott
a problem: I need to find a few good pre-publication reviewers to read my
draft and tell me how I can improve it. Now, I know all kinds of C++
experts, but the target audience for my book isn't experts, it's practicing
programmers who are at roughly an intermediate level of knowledge and
experience with the language. As somebody who subscribes to this mailing
list, it is highly likely that you do NOT qualify; you already know too
much. However, perhaps you know somebody who might qualify, somebody who
is comfortable with the basics of C++, but who is interested in knowing
more. If you do, and if that person would be willing to undertake the hard
work of reading 250-300 pages of not-fully-refined prose and offer detailed
suggestions on how the book could be improved (without regard for whether
they will hurt my feelings -- I *need* to know the bad stuff), and if that
person would be available for the task beginning sometime in January and
ending no more than about a month later, I'd appreciate it if you'd have
them contact me.
I don't need very many people for this -- maybe 2 or 3. My preference is
to have a small number of high-quality reviewers rather than a large number
of poorer-quality reviewers. But my need for this small number of
high-quality reviewers is great, because I can't produce a book that's
truly useful to its target audience if I don't get advance feedback from
people in that audience. Experts can help me identify subtle coding or
reasoning errors, but non-experts can tell me "I have no idea what you are
talking about in this paragraph," and that's the kind of thing I really
need to know.
There's no monetary compensation for this work. Rather, people who do it
get (1) a chance to make a real impact on the final version of the book,
(2) an autographed copy of the final book, possibly with a custom cover
that only a few people will get (I'm not sure about that last part, I have
to work it out with my publisher), and (3) my sincere gratitude.
People who are interested should contact me directly.
Thanks very much for your help with this.
Scott
Wednesday, November 3, 2004
New Training Course; Updated Projects List
I've added a new course to my "Training" page
(http://www.aristeia.com/whatsNewInEC_frames.html). It's a much more
detailed description of the "What's New in Effective C++?" seminar, which I
debuted last month in Germany. Good course, in my opinion, but I can't
claim to be fully objective :-)
BTW, if you took a look at my "Project Ideas" page
(http://www.aristeia.com/projects_frames.html) immediately after I sent out
the announcement about it, you may have missed the "Lint with autofix" and
"Detailed Exhibit Information" ideas that I added a few hours later. If
so, I encourage you to check out those projects now, as I'm especially
eager to see somebody pursue them.
Scott
(http://www.aristeia.com/whatsNewInEC_frames.html). It's a much more
detailed description of the "What's New in Effective C++?" seminar, which I
debuted last month in Germany. Good course, in my opinion, but I can't
claim to be fully objective :-)
BTW, if you took a look at my "Project Ideas" page
(http://www.aristeia.com/projects_frames.html) immediately after I sent out
the announcement about it, you may have missed the "Lint with autofix" and
"Detailed Exhibit Information" ideas that I added a few hours later. If
so, I encourage you to check out those projects now, as I'm especially
eager to see somebody pursue them.
Scott
Monday, November 1, 2004
New "Project Ideas" Page
From time to time, I come up with ideas for projects or articles that I'd
like to pursue, but which I know in my heart of hearts I'll never find time
for. Rather than let the ideas wither and die in my "Stuff I'd like to do
but never will" folder, I decided to put them at my web site, with the hope
that somebody else will pursue them and write up the results. You can find
the initial list of project ideas at
http://www.aristeia.com/projects_frames.html. Have at it!
Scott
like to pursue, but which I know in my heart of hearts I'll never find time
for. Rather than let the ideas wither and die in my "Stuff I'd like to do
but never will" folder, I decided to put them at my web site, with the hope
that somebody else will pursue them and write up the results. You can find
the initial list of project ideas at
http://www.aristeia.com/projects_frames.html. Have at it!
Scott
Wednesday, October 27, 2004
"Double-Checked Locking" Article now online
The DDJ article that Andrei Alexandrescu and I wrote for DDJ is now
available at my web site. It's the first entry listed at
http://www.aristeia.com/publications_frames.html. I recommend the
"slightly updated" version, because it's, um, slightly updated, but you'll
definitely want to print it to read it, because the LaTeX-derived PDF is
really ugly on-screen.
Scott
available at my web site. It's the first entry listed at
http://www.aristeia.com/publications_frames.html. I recommend the
"slightly updated" version, because it's, um, slightly updated, but you'll
definitely want to print it to read it, because the LaTeX-derived PDF is
really ugly on-screen.
Scott
Monday, September 20, 2004
New Series Book, "Effective Enterprise Java"
The latest book in my "Effective Software Development Series" is now out:
Effective Enterprise Java, by Ted Neward. I don't pretend to be a
hard-core Java or Enterprise guy, but I really enjoyed watching this book
unfold as it was being written. It's filled with pragmatic advice from a
guy with lots of experience who knows how to explain what he is talking
about. If you're a Java developer in an enterprise environment, or if you
just like a well-written book that's filled with useful insights about
programming enterprise systems, I encourage you to give this book a look.
Right now, it's on sale at Amazon for about 1/3 off
(http://www.amazon.com/exec/obidos/tg/detail/-/0321130006/qid=1095719933/sr=8-1/\
ref=pd_csp_1/104-5668479-8651933?v=glance&s=books&n=507846),
and no, I don't get a kick-back if you buy via that link :-)
As long as I have your attention, let me remind you about my upcoming talks
in Germany (Stuttgart and Berlin) and Canada (Vancouver at OOPSLA). There
are links to all the talks at http://www.aristeia.com/seminars_frames.html,
but at the time I wrote those descriptions, the talks existed only in my
head. I'm now done with two of them ("Better Software -- No Matter What"
and the revamped "Design Patterns, Templates, and Policy-Based Design"),
and I have to say that I'm very pleased with the way they came out. If
you'd like to see a description of one or both of these talks that was
written after the talk was done (so I *really* knew what would be in it),
let me know, and I'll happily send you an updated description. One of
these days the new descriptions will make it to my web site, but I'm
holding off on that until I finish the last new talk I'm working on for
Germany, "What's New in Effective C++?"
Scott
Effective Enterprise Java, by Ted Neward. I don't pretend to be a
hard-core Java or Enterprise guy, but I really enjoyed watching this book
unfold as it was being written. It's filled with pragmatic advice from a
guy with lots of experience who knows how to explain what he is talking
about. If you're a Java developer in an enterprise environment, or if you
just like a well-written book that's filled with useful insights about
programming enterprise systems, I encourage you to give this book a look.
Right now, it's on sale at Amazon for about 1/3 off
(http://www.amazon.com/exec/obidos/tg/detail/-/0321130006/qid=1095719933/sr=8-1/\
ref=pd_csp_1/104-5668479-8651933?v=glance&s=books&n=507846),
and no, I don't get a kick-back if you buy via that link :-)
As long as I have your attention, let me remind you about my upcoming talks
in Germany (Stuttgart and Berlin) and Canada (Vancouver at OOPSLA). There
are links to all the talks at http://www.aristeia.com/seminars_frames.html,
but at the time I wrote those descriptions, the talks existed only in my
head. I'm now done with two of them ("Better Software -- No Matter What"
and the revamped "Design Patterns, Templates, and Policy-Based Design"),
and I have to say that I'm very pleased with the way they came out. If
you'd like to see a description of one or both of these talks that was
written after the talk was done (so I *really* knew what would be in it),
let me know, and I'll happily send you an updated description. One of
these days the new descriptions will make it to my web site, but I'm
holding off on that until I finish the last new talk I'm working on for
Germany, "What's New in Effective C++?"
Scott
Sunday, August 15, 2004
Minor update to EC++ Errata
In response to the latest reprint request from Addison-Wesley, I updated
the errata list for EC++. Below are the latest changes (in my usual "sort
of HTML" format).
Scott
DATE DATE
REPORTED WHO PAGES WHAT FIXED
-------- --- ----- ------------------------------------------------ --------
5/16/04 md 77 "an intuitive semantics" ==> "intuitive
8/15/04
semantics"
5/16/04 md 83 "minimalness" ==> "minimality"
8/15/04
244
7/ 7/04 al 205 valueDelimOpen and valueDelimClose should be
8/15/04
declared private in MyPerson, because clients
should not be able to call them. They're just an
implementation detail of the class.
Interesting Comments:
DATE
REPORTED WHO PAGES WHAT
-------- --- ------- ----------------------------------------------------------
7/21/04 am 179-180 Another way to deal with the need to downcast if you can't
redefine allAccounts or BankAccount is to declare
something like NewBankAccount as a sibling class to
SavingsAccount and CheckingAccount, then adopt a policy of
deriving new classes only from NewBankAccount. You'll
still have to downcast from BankAccount to Savings-,
Checking-, or NewBankAccount, but once you're in
NewBankAcount, you can use a virtual creditInterest.
the errata list for EC++. Below are the latest changes (in my usual "sort
of HTML" format).
Scott
DATE DATE
REPORTED WHO PAGES WHAT FIXED
-------- --- ----- ------------------------------------------------ --------
5/16/04 md 77 "an intuitive semantics" ==> "intuitive
8/15/04
semantics"
5/16/04 md 83 "minimalness" ==> "minimality"
8/15/04
244
7/ 7/04 al 205 valueDelimOpen and valueDelimClose should be
8/15/04
declared private in MyPerson, because clients
should not be able to call them. They're just an
implementation detail of the class.
Interesting Comments:
DATE
REPORTED WHO PAGES WHAT
-------- --- ------- ----------------------------------------------------------
7/21/04 am 179-180 Another way to deal with the need to downcast if you can't
redefine allAccounts or BankAccount is to declare
something like NewBankAccount as a sibling class to
SavingsAccount and CheckingAccount, then adopt a policy of
deriving new classes only from NewBankAccount. You'll
still have to downcast from BankAccount to Savings-,
Checking-, or NewBankAccount, but once you're in
NewBankAcount, you can use a virtual creditInterest.
Friday, August 13, 2004
Request for comments on extended "Easy to use correctly, hard to use incorrectly"
I'm working on materials for my upcoming full-day seminar, "Better Software --
No Matter What," (see http://www.aristeia.com/seminars_frames.html for scheduled
offerings) and I've put together a draft of the portion of the seminar on the
guideline, "Make Interfaces Easy to Use Correctly and Hard to Use Incorrectly."
This is essentially an extended version of the arguments I advance in my recent
IEEE Software article (
http://www.aristeia.com/Papers/IEEE_Software_JulAug_2004.pdf).
The materials include a number of examples of interfaces that violate the
guideline, but I'm interested in other examples, because too many of mine are
drawn from C++ and Windows. (The talk is language- and platform-independent.)
If you have time and interest, I'd appreciate it if you'd take a look at the
materials at http://www.aristeia.com/Personal/easyhard.pdf and let me know if
you have any other examples that would reinforce my points. If you have other
comments on the materials in general, I'd welcome those, too.
Thanks very much for your help in my campaign to identify ways for programmers
to improve software quality.
Scott
No Matter What," (see http://www.aristeia.com/seminars_frames.html for scheduled
offerings) and I've put together a draft of the portion of the seminar on the
guideline, "Make Interfaces Easy to Use Correctly and Hard to Use Incorrectly."
This is essentially an extended version of the arguments I advance in my recent
IEEE Software article (
http://www.aristeia.com/Papers/IEEE_Software_JulAug_2004.pdf).
The materials include a number of examples of interfaces that violate the
guideline, but I'm interested in other examples, because too many of mine are
drawn from C++ and Windows. (The talk is language- and platform-independent.)
If you have time and interest, I'd appreciate it if you'd take a look at the
materials at http://www.aristeia.com/Personal/easyhard.pdf and let me know if
you have any other examples that would reinforce my points. If you have other
comments on the materials in general, I'd welcome those, too.
Thanks very much for your help in my campaign to identify ways for programmers
to improve software quality.
Scott
Monday, July 26, 2004
ESTL Errata Updates
It turns out that ESTL is ready for a reprint, too, so I've updated the
ESTL errata page at
http://www.aristeia.com/BookErrata/estl1e-errata_frames.html. The new
additions (not all of which I fixed for the upcoming printing -- the errata
page shows which ones I did) are as follows:
Bugs:
DATE
REPORTED WHO PAGES WHAT
-------- --- ----- ------------------------------------------------
6/ 4/04 tb Item 7 Item title should make clear that this applies
only when the container owns the pointers.
Containers of pointers not owned by the
containers should of course not use delete on
them.
6/28/04 he 197 The statement in the 2nd prose paragraph that
"equal_range not only does the job of find for
sorted ranges, it also replaces count" is
incorrect, because this part of the Item is
discussing STL algorithms, and the equal_range
algorithm is based on equivalence, while the
find and count algorithms are based on equality.
7/20/04 gc 228 Regarding reference [24], the article appeared in
December 2000 (not November), and the URL for that
article is now
http://www.cuj.com/documents/s=8000/cujcexp1812austern/
2/28/04 mp 257 Add an index entry under "set" pointing to page
199 for "idiomatic test for membership."
Interesting Comments:
DATE
REPORTED WHO PAGES WHAT
-------- --- ----- -----------------------------------------------------------
3/29/04 df 74 An alternative to "&v[0]" is "&v.front()". df argues
that this is "the most explict way to do it." To me,
"&v[0]" is equally explicit, but both work.
1/ 4/04 or Item 24 Another advantage to a function like efficientAddOrUpdate
vis-a-vis operator[] is that use of operator[] requires
that the value type of the pair (i.e., the mapped_type)
support default construction for insertion, but
efficientAddOrUpdate does not.
Scott
ESTL errata page at
http://www.aristeia.com/BookErrata/estl1e-errata_frames.html. The new
additions (not all of which I fixed for the upcoming printing -- the errata
page shows which ones I did) are as follows:
Bugs:
DATE
REPORTED WHO PAGES WHAT
-------- --- ----- ------------------------------------------------
6/ 4/04 tb Item 7 Item title should make clear that this applies
only when the container owns the pointers.
Containers of pointers not owned by the
containers should of course not use delete on
them.
6/28/04 he 197 The statement in the 2nd prose paragraph that
"equal_range not only does the job of find for
sorted ranges, it also replaces count" is
incorrect, because this part of the Item is
discussing STL algorithms, and the equal_range
algorithm is based on equivalence, while the
find and count algorithms are based on equality.
7/20/04 gc 228 Regarding reference [24], the article appeared in
December 2000 (not November), and the URL for that
article is now
http://www.cuj.com/documents/s=8000/cujcexp1812austern/
2/28/04 mp 257 Add an index entry under "set" pointing to page
199 for "idiomatic test for membership."
Interesting Comments:
DATE
REPORTED WHO PAGES WHAT
-------- --- ----- -----------------------------------------------------------
3/29/04 df 74 An alternative to "&v[0]" is "&v.front()". df argues
that this is "the most explict way to do it." To me,
"&v[0]" is equally explicit, but both work.
1/ 4/04 or Item 24 Another advantage to a function like efficientAddOrUpdate
vis-a-vis operator[] is that use of operator[] requires
that the value type of the pair (i.e., the mapped_type)
support default construction for insertion, but
efficientAddOrUpdate does not.
Scott
Saturday, July 24, 2004
MEC++ Errata Updates
I just got word that MEC++ is up for another reprint, so I took the
opportunity to update the errata list. There are only three new entries:
DATE DATE
REPORTED WHO PAGES WHAT FIXED
-------- --- ----- ------------------------------------------------ --------
! 4/19/04 cc 50 The para after the first code fragment says that 7/24/04
the window will always be destroyed, even if an
exception is thrown, but this this true only if
the exception is caught. If it's never caught,
there is no guarantee that local objects will be
destroyed.
! 6/ 9/04 jw 70 In 3rd para, bad_typeid isn't thrown when a null 7/24/04
pointer is used with dynamic_cast, it's thrown
when a null pointer is dereferenced in a call to
typeid.
Interesting Comments:
DATE
REPORTED WHO PAGES WHAT
-------- --- ----- -----------------------------------------------------------
1/18/04 sdm Item 34 A topic related to this Item is how to link object code
generated from different C++ compilers. For one take on
that topic, consult Karsten Hoof's February 2004
CUJ article, "GNU & Native Compilers." For another,
see Joe Goodman's March 2004 CUJ article,
"Interoperability & C++ Compilers."
Scott
opportunity to update the errata list. There are only three new entries:
DATE DATE
REPORTED WHO PAGES WHAT FIXED
-------- --- ----- ------------------------------------------------ --------
! 4/19/04 cc 50 The para after the first code fragment says that 7/24/04
the window will always be destroyed, even if an
exception is thrown, but this this true only if
the exception is caught. If it's never caught,
there is no guarantee that local objects will be
destroyed.
! 6/ 9/04 jw 70 In 3rd para, bad_typeid isn't thrown when a null 7/24/04
pointer is used with dynamic_cast, it's thrown
when a null pointer is dereferenced in a call to
typeid.
Interesting Comments:
DATE
REPORTED WHO PAGES WHAT
-------- --- ----- -----------------------------------------------------------
1/18/04 sdm Item 34 A topic related to this Item is how to link object code
generated from different C++ compilers. For one take on
that topic, consult Karsten Hoof's February 2004
CUJ article, "GNU & Native Compilers." For another,
see Joe Goodman's March 2004 CUJ article,
"Interoperability & C++ Compilers."
Scott
Saturday, July 3, 2004
DDJ Article Conclusion; Seminars in Germany and at OOPSLA
Part 2 of the article by Andrei Alexandrescu and me on double-checked locking is
now out in the current (August) issue of Dr. Dobbs Journal. If you're not a DDJ
subscriber, I believe that you can download a PDF copy of the magazine from
DDJ.com. If not, the full article (both parts) will be available at my web site
in mid-October. Check in with http://www.aristeia.com/publications_frames.html
at that time for links.
During the first week of October, I'll be giving seminars in Stuttgart and
Berlin. The Stuttgart seminars should be especially fun, because they're either
new and improved or just plain new. Briefly, here are the topics for Stuttgart:
- DESIGN PATTERNS, TEMPLATES, AND PBD. This will be a revision of my current
course on this topic to focus more on variations of well-known patterns instead
of on GOF patterns themselves.
- WHAT'S NEW IN EFFECTIVE C++? I'm working on the third edition of the book
now (a significant rewrite), and this brand new seminar will cover material new
to the third edition.
- BETTER SOFTWARE -- NO MATTER WHAT. A language-independent seminar on things
programmers can do to improve software quality. This includes my keyholes work
as well as a lot more. This will be a full-day version of a seminar that has
never been longer than a half-day before.
In Berlin, I'll be presenting my two-day STL seminar based on Effective STL.
At OOPSLA in late October, I'll be reprising BETTER SOFTWARE--NO MATTER WHAT.
OOPSLA attendees should benefit from the feedback I get from the world premiere
in Stuttgart :-)
For details on all my upcoming seminars, consult my Upcoming Talks Page,
http://www.aristeia.com/seminars_frames.html.
Scott
now out in the current (August) issue of Dr. Dobbs Journal. If you're not a DDJ
subscriber, I believe that you can download a PDF copy of the magazine from
DDJ.com. If not, the full article (both parts) will be available at my web site
in mid-October. Check in with http://www.aristeia.com/publications_frames.html
at that time for links.
During the first week of October, I'll be giving seminars in Stuttgart and
Berlin. The Stuttgart seminars should be especially fun, because they're either
new and improved or just plain new. Briefly, here are the topics for Stuttgart:
- DESIGN PATTERNS, TEMPLATES, AND PBD. This will be a revision of my current
course on this topic to focus more on variations of well-known patterns instead
of on GOF patterns themselves.
- WHAT'S NEW IN EFFECTIVE C++? I'm working on the third edition of the book
now (a significant rewrite), and this brand new seminar will cover material new
to the third edition.
- BETTER SOFTWARE -- NO MATTER WHAT. A language-independent seminar on things
programmers can do to improve software quality. This includes my keyholes work
as well as a lot more. This will be a full-day version of a seminar that has
never been longer than a half-day before.
In Berlin, I'll be presenting my two-day STL seminar based on Effective STL.
At OOPSLA in late October, I'll be reprising BETTER SOFTWARE--NO MATTER WHAT.
OOPSLA attendees should benefit from the feedback I get from the world premiere
in Stuttgart :-)
For details on all my upcoming seminars, consult my Upcoming Talks Page,
http://www.aristeia.com/seminars_frames.html.
Scott
Tuesday, June 22, 2004
Guest Column in current IEEE Software
Some 18 months ago, Martin Fowler asked me if I'd be interested in
guest-writing his "Design" column in IEEE Software. I said that I would
once I figured out what I wanted to write about. I finally did, and you
can find the result in the July/August issue of the magazine. Thanks to
the kind people at IEEE Software, you can also view a PDF copy at:
http://www.aristeia.com/Papers/IEEE_Software_JulAug_2004.pdf
Scott
guest-writing his "Design" column in IEEE Software. I said that I would
once I figured out what I wanted to write about. I finally did, and you
can find the result in the July/August issue of the magazine. Thanks to
the kind people at IEEE Software, you can also view a PDF copy at:
http://www.aristeia.com/Papers/IEEE_Software_JulAug_2004.pdf
Scott
Monday, June 7, 2004
EC++ Errata Page Updated
I just got word that Effective C++ is due for another reprint, so I've
updated the book's errata page with the latest changes. None of the bugs
I fixed is technical in nature, but there they are, anyway:
DATE DATE
REPORTED WHO PAGES WHAT FIXED
-------- --- ----- ------------------------------------------------ --------
4/ 4/04 sdm xiii Bad line break in URL in footnote. 6/ 7/04
5/20/04 md 107 At end of 3rd para, "SHRT" is in wrong font. 6/ 7/04
6/ 1/04 md 203 In last line, "theName" ==> "name". 6/ 7/04
6/ 7/04 sdm 203 Bad line break in 2nd-to-last para in 6/ 7/04
"valueDelimOpen".
6/ 2/04 md 218 In 2nd to last line, "accidently" ==> 6/ 7/04
"accidentally". Both spellings are correct but
I use the "ally" form everywhere else in the
book, so I should use it here, too.
1/19/04 jyt 231 Arrow tail protrudes slightly into the oval 6/ 7/04
surrounding "overflow_error".
For those of you who like to keep track of such things, this will be the
book's 16th printing.
I also added this observation to the "Interesting Comments" part of the
book's web page:
DATE
REPORTED WHO PAGES WHAT
-------- --- ------- ----------------------------------------------------------
1/19/04 jyt Items There are several example base classes in the book that
16, declare nonvirtual destructors or that declare no
22, destructor at all, a violation of Item 14.
26,
40,43,
49,50
Scott
updated the book's errata page with the latest changes. None of the bugs
I fixed is technical in nature, but there they are, anyway:
DATE DATE
REPORTED WHO PAGES WHAT FIXED
-------- --- ----- ------------------------------------------------ --------
4/ 4/04 sdm xiii Bad line break in URL in footnote. 6/ 7/04
5/20/04 md 107 At end of 3rd para, "SHRT" is in wrong font. 6/ 7/04
6/ 1/04 md 203 In last line, "theName" ==> "name". 6/ 7/04
6/ 7/04 sdm 203 Bad line break in 2nd-to-last para in 6/ 7/04
"valueDelimOpen".
6/ 2/04 md 218 In 2nd to last line, "accidently" ==> 6/ 7/04
"accidentally". Both spellings are correct but
I use the "ally" form everywhere else in the
book, so I should use it here, too.
1/19/04 jyt 231 Arrow tail protrudes slightly into the oval 6/ 7/04
surrounding "overflow_error".
For those of you who like to keep track of such things, this will be the
book's 16th printing.
I also added this observation to the "Interesting Comments" part of the
book's web page:
DATE
REPORTED WHO PAGES WHAT
-------- --- ------- ----------------------------------------------------------
1/19/04 jyt Items There are several example base classes in the book that
16, declare nonvirtual destructors or that declare no
22, destructor at all, a violation of Item 14.
26,
40,43,
49,50
Scott
Thursday, June 3, 2004
Recent Bogus Message and What I've Done About It
As many of you noticed, somebody recently spoofed my email address and sent out
a message with a subject of "Re: Hello" and a worm-laden attachment. Sigh.
I've since deleted the bogus message from the web site archives, and I've
reconfigured the mailing list so that all postings not only have to come from
me, they also have to be approved by me before they are propagated. I hope that
this will prevent further abuse of the mailing list.
As an aside, when I poked around the administrative portion of the mailing list,
I found that since starting the mailing list four years ago, I've sent out only
68 messages, but 2300 unauthorized messages have been automatically rejected.
In retrospect, I suppose I'm lucky that only one bogus message has been
propagated, but I still feel badly for wasting your time.
While I was housecleaning at Yahoo, I also deleted two bogus files in the
download area.
With luck, I won't need to bother you about this for another four years. I
apologize for the inconvenience of what has already happened.
Scott
a message with a subject of "Re: Hello" and a worm-laden attachment. Sigh.
I've since deleted the bogus message from the web site archives, and I've
reconfigured the mailing list so that all postings not only have to come from
me, they also have to be approved by me before they are propagated. I hope that
this will prevent further abuse of the mailing list.
As an aside, when I poked around the administrative portion of the mailing list,
I found that since starting the mailing list four years ago, I've sent out only
68 messages, but 2300 unauthorized messages have been automatically rejected.
In retrospect, I suppose I'm lucky that only one bogus message has been
propagated, but I still feel badly for wasting your time.
While I was housecleaning at Yahoo, I also deleted two bogus files in the
download area.
With luck, I won't need to bother you about this for another four years. I
apologize for the inconvenience of what has already happened.
Scott
Wednesday, June 2, 2004
New article in the current DDJ
Over the course of several months, Andrei Alexandrescu and I wrote what we
think is a nice article on why double-checked locking can't be made to work
portably in C++. Dr. Dobb's Journal agreed to publish it, but they decided
it was too long for a single article, so they broke it into two pieces.
The first piece just came out in the July issue. The second part will be
published in the August issue (which, in classic magazine publishing logic,
will be available around the beginning of July).
We hope you enjoy the article. If not, it'll clearly be Andrei's fault :-)
Scott
think is a nice article on why double-checked locking can't be made to work
portably in C++. Dr. Dobb's Journal agreed to publish it, but they decided
it was too long for a single article, so they broke it into two pieces.
The first piece just came out in the July issue. The second part will be
published in the August issue (which, in classic magazine publishing logic,
will be available around the beginning of July).
We hope you enjoy the article. If not, it'll clearly be Andrei's fault :-)
Scott
Monday, April 5, 2004
Upcoming Talks Update
Two talk-related items:
- My seminar on using C++ in embedded systems, originally scheduled for
May 6 at OGI CPD (the Oregon Graduate Institute Center for Professional
Development), has been postponed due to some newly-cropped-up
scheduling conflicts. It will be rescheduled for sometime this summer.
- My talk next Wednesday on "Double-Checked Locking, Threads, Compiler
Optimizations, and More" at the Northwest C++ Users Group in Redmond,
WA, is still on. This is just a reminder. I gave this talk at the
Software Development Conference a couple of weeks ago, and I really do
think you'll find it interesting. There's just a lot going on under
the hood in a C++ program.
For details on all my upcoming talks (including those above), visit my
talks page: http://www.aristeia.com/seminars_frames.html
Scott
- My seminar on using C++ in embedded systems, originally scheduled for
May 6 at OGI CPD (the Oregon Graduate Institute Center for Professional
Development), has been postponed due to some newly-cropped-up
scheduling conflicts. It will be rescheduled for sometime this summer.
- My talk next Wednesday on "Double-Checked Locking, Threads, Compiler
Optimizations, and More" at the Northwest C++ Users Group in Redmond,
WA, is still on. This is just a reminder. I gave this talk at the
Software Development Conference a couple of weeks ago, and I really do
think you'll find it interesting. There's just a lot going on under
the hood in a C++ program.
For details on all my upcoming talks (including those above), visit my
talks page: http://www.aristeia.com/seminars_frames.html
Scott
Subscribe to:
Posts (Atom)
