Software

My strongest computer skills are in software design.  I am also competent with relational databases, operating systems, and user-interfaces, but my primary interest is in large-scale software design.

Although I have tried several other languages occasionally, my favorites remain C++ and C.  Currently, I am working on memory allocation algorithms for C++.  My other interests in C++ are template programming, exception safety, and library design.  (By "interests", I mean that I am teaching myself new techniques related to these topics.)

Some websites I found very useful: Boost, GNU, ACCU, and SourceForge.

I am a project administrator for the C++ Loki library on SourceForge.  I rewrote the Small-Object allocator for Loki, and maintain the source code for it.

I wrote about these C++ associative containers for Overload magazine in issue 58.  The article describes how they can be used as drop-in replacements for std::set, std::map, std::multi_set, and std::multi_map.  The containers avoid a limitation of their STL counterparts by using template member functions.  The same issue has an excellent article about template parameters by Raoul Gough; and the two articles complement each other quite well.

My current to-do list consists of:
I have written (or in process of writing) other articles on software.  If all goes well, I may publish them soon.

Home Page

The picture below is a moonrise over Seattle.