Portfolio
In addition to my work, I do love to write libraries, and articles. And when it's both, it's even better - and it's been like that quite a few times! And every now and then, I throw a free app, just over the top...
Just between you an' me, using C++ templates is one of my fetishes... However, as the doctor prescribed, I do use them with caution - just when they're useful...
As libraries come, dealing with logging/formatting is my favorite - I've written quite a few logging libs in my days. You'll see one here, but I will soon start work on the next one...
Boost Logging Lib, v2. - logging, in a
very flexible manner.
I've learned from version 1 of Boost Logging Lib, and
now you can really customize the way you log - from syntax, to formatting
messages, and specifying where they are to be outputted.
more details
If you wanna see what C++ is capable of, you can take a look at this code - it's taken over 1 year of development - but it's been a blast!
Makes GUI programming easy in C++: GUI RAII, no message maps, easy event processing, loose coupling, fast compilation times, no main loop, and much more
> Portable library: works for MSVC, gcc, Comeau
more details
C++ tips -
every now and then, I write tips on my blog. This is just a page with the
links to those tips.
Boost Logging
Library
(v1)- logging,
the easy and straightforward way
I've used this library successfully on many
projects. Even though it got rejected by Boost, I do believe you can use
it, until I come up
with the
next one ;)
download
Co-author of the Range Template library
, featured in C++
Users Journal, on Oct and Dec '04
RTL is designed to
be used together with STL algorithms, making the code much more compact and
easier to understand. A range abstracts walking over an STL sequence, from a
begin, up to an end. RTL ranges can be composed, such as transforming and then filtering of an existing STL container.
more details
smart_assert
library
Author of the revolutionary
SMART_ASSERT library, successfully used
for many projects; enhances assertions and helps catch bugs early
http://www.cuj.com/documents/s=8464/cujcexp0308alexandr/
download
Straightforward Settings library
Allows persisting of
application-related settings.
Manipulating settings is
very easy and straightforward. The code that uses the settings is isolated from
where the settings are actually stored. Thus, in case you need to change the
storage (for example, change it from a file to the registry), you will only need
to change one or two lines of code.
download
str_stream library
Easy, light-weight, efficient
convert-anything-to-string library
download
Cross Builder
- Click, Build, Run!
Do you want to check your code on multiple compilers, and
do you want to do it in a cool and simple UI? There you go...
Source code
is available (see the "more details" page for more details
;)).
more details
Easy Log View
Logging the exact
right stuff is hard. What do you do when there's a problem, and that extra
logging info is not there? Why not log as much as possible, and have filters on
your logs? This way, you can even have multiple views of your logs : the errors,
normal logging, debug & errors, etc... Yup, just what the doctor prescribed
...
more details
LogBreak
When debugging, watching
variables that are arrays/collections/long strings is quite hard. However,
there's help - you can log what you want (using Boost Logging Library), and
break when you want (alpa
version)
more details