Raoul Gough's home page

Services and Availability

I'm currently working as a consultant in the finance industry in London. I have fifteen years of programming experience with strengths in C++, C, Python and SQL (not to mention ksh, bash, AWK and various assembly languages). For my next availability send an email at RaoulGough@yahoo.co.uk.

Free C++ programming resources

C++ container extensions to the boost python library.

A sample implementation of the std::map replacement that I outlined in my article on choosing template parameters in the December 2003 edition of Overload magazine.

Introduction to writing DirectShow applications using gcc (mingw or Cygwin). This includes some generic COM support and thread-safe containers.

Dual-mode weak pointers. An intrusive smart pointer that detects the destruction of target objects for debugging purposes. Like an assert macro, it can also be compiled with checking disabled.

Some hobby projects

Video modem software which encodes and decodes digital data in a PAL or NTSC video signal - conceptually similar to the Linux sound modem, applied to video instead of audio. A fairly complex project, involving real-time constraints, multiple threads and complex data processing. A good demonstration of using C++'s language strengths - modularity, encapsulation, performance optimization and ease of interfacing.

The C++ lambda preprocessor. A toy compiler written in bison, flex, and C++. Extends the C++ language to support real lambda expressions (i.e. anonymous functions).

A simple method for testing cone-sphere intersection.