Boost logo

Boost :

From: Brian Braatz (brianb_at_[hidden])
Date: 2005-01-07 14:23:57


> [ David Abrahams]
> I'll be giving two talks at SD West in March, one about template
> metaprogramming, and another called "Inside the Boost Libraries,"
where
> I plan to discuss some of the more interesting Boost internals. You
can
> see a synopsis at
> http://www.cmpevents.com/SDw5/a.asp?option=G&V=3&id=271893
>
> I'm trying to decide exactly what to cover there. I've listed some of
> my ideas below, but I'm obviously not familiar with the entire Boost
> codebase, so I thought I'd solicit suggestions. Thoughts, anyone?

More thoughts to add to this thread.

Background:

* I have attended presentations from folks that they have taken VERY
interesting material and made it EXTREMELY boring
* I have also attended presentations from folks and it has been exciting
and thrilling to watch the information unfold. I was kept on the edge of
my seat waiting to see what was going to happen next

* I have noticed that the crowd's at the shows are not always the "Type
A" programmers, and frequently don't seem to engage or have the
background information necessary to really understand the topic being
presented

* With complex subjects, for myself, I have noticed that once I know how
to "think about something" and then I "get it". I can than think about
any aspect of that, because I understand the concepts necessary to
process the information.

* if one can find the "sweet spot" early in the presentation for getting
the crowd to "think" the right way to grasp the rest of the
presentation, then you have a much better chance of ending the talk with
everyone excited. (because you have taught them something and then took
them along for a ride where you showed how to USE that new way of
thinking)

* I spent *A LOT* of time with Boost.Lamda. Writing sample code,
re-reading the documentation, over and over and over and over again. It
took me many passes to "get it". This is an excellent library, and the
document IS well done. I think this is just the classic problem of
really smart people having a hard time figuring out how to present
something to someone who does not "know how to think about it". I took a
look at the phoenix v2 docs. What is cool is THIS PAGE:

http://tinyurl.com/3khbu

What stood out about it was THIS ONE PAGE would have saved me many many
hours had it been in the original Lambda docs. Because it describes for
me, how to "think" about the currying.

My advice to you is to find a way, in your presentation of the boost
internals, to make sure that you thread it such that the people watching
"can think about it". If you establish this early on, you will have an
excited audience and you will (hopefully) get more people to use boost.

Detailed Suggestions:
* the pics in the above link are conceptually excellent for describing
how to think about currying. If you can accomplish something along the
same lines with the techniques you are going to show, then you will
really knock em dead.

* Boost internals is an excellent subject matter, I think if you first
hit common concepts- and THEN delve into those concepts and how the
internals of the library(ies) use that concept you will give people
something they can use.

* in a previous mail I made the suggestion, which I will make again. Try
to think of the most important techniques the boost libraries depend on,
get them in peoples heads, and then delve into the internals.

* a technique I have seen used in the mags, is to decompose the
templates, I.e. show what the code looks like after the compiler has
gone through the generation steps.

* hopefully my suggestions, though not exactly what you asked for, will
be of some use to you.

:)

Brian


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk