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:
- Enhancing the Small-Object allocator for Loki.
- Adding compile-time and run-time tests for Loki.
- Making a C++ Unit Test framework.
- Making a parser library that uses the Boost.Spirit parsing engine.
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.