Robot Dreams
Robot Dreams
Sunday, May 20. 2007
BoostCon07: Day N
OK, this post is a bit late since it's now day N+2, but I had some catching up to do before having enough free time to post pictures. Overall the conference was a success, or at least the attendees where happy. Putting Erin on the spot again... Many thanks go to her for putting up with a bunch of unruly programmers while managing to keep the C8H10N4O2 flowing.
Continue reading "BoostCon07: Day N"
Friday, May 18. 2007
BoostCon07: Days 1...N-1
Here we are a day before the end of BoostCon07, and I finally have time to post new pictures. It's been a busy and exciting few days. This has got to be the most talking I've done ever. What better way to start, than with the entrance to the Flug Forum building:
Tomorrow will be a long day with some morning sessions, lunch, the drive to Denver, and on to the flight to Chicago. Enjoy the small sampling of the pictures, and see you all on the Boost lists.
Continue reading "BoostCon07: Days 1...N-1"
Sunday, May 13. 2007
BoostCon07: Day Zero
I made it to Aspen, in one piece, but very tired after a car, plane, train, bus, and car trip. Along the way I took some pictures (on the flip side). Got to meet some people I've annoyed for years now on the Boost list, but only know virtually... Joel, Beman, Victor, Harmut, and Doug. And what better way to introduce the conference than with a picture. This one is during the evening drinks get together:
That would Joel de Guzman. The rest...
Continue reading "BoostCon07: Day Zero"
Thursday, February 23. 2006
Set, Query, Result
First off, a general update. It's been a slow start to the blog, sorry about that. But I'm still recovering from a total drive failure of the machine I do most of my development work from. So it's been a hard slog to reinstall everything, especially that initial Windows install with at least 15 reboots (I was counting them and that's when I gave up). On to the subject at hand...
One of the data structures in C++ I make use of most are the associative standard containers. I use them because of the bounded algorithmic guarantees they provide. But one of the most nagging problems with them is that it is hard to do any meaningful searching once one has arranged to keep the sorted elements. Sure it's easy to find equivalent elements with for example std::set::equal_range. But if how you are sorting is anything but the element itself as a value it's rather painful to come up with the usual convoluted special value elements to do the searching for you. For example having:
struct A
{
int type;
std::string label;
std::string description;
};
struct S
{
bool operator()(
boost::shared_ptr<A> const & a,
boost::shared_ptr<A> const & b ) const
{
return a->type < b->type;
}
};
std::multiset<boost::shared_ptr<A>,S> db;
And wanting to find out how many A's of type #2 there are. So even though the set is arrange in the most optimal way for getting that answer one is thwarted in using the property of the set only because std::multiset::count, and others, don't take anything but the an element.
Continue reading "Set, Query, Result"
Monday, January 16. 2006
Algorithmic Optimization
The latest Game Developer touches on a subject that I get asked about frequently. The when, how, and why of optimizing programs. In the Mature Optimization article Mick West discusses the very common mistake programmers make of not considering optimization until the very last step of programming, if at all. This stemming from a nugget of wisdom often quoted and misquoted:
"Premature optimization is the root of all evil." [Hoare] [Knuth]
Continue reading "Algorithmic Optimization"





