Back in 1983 I took a summer class in Basic on the Radio Shack TRS-80 Color Computer.
I really enjoyed the games, but hated the programming. In 1985 I taught myself Pascal
because my father knew it, but I found that it didn't agree with me either. This
is not to disparage those languages, but to state that they simply weren't for me.
Given my two failures I avoided programming for many many years. But by 1996 I had
been programming quite a bit in a variety of high level scripting languages and though
it was marginally satisfying, I still shied away from compiled languages.
Then I was introduced to C.
There was just something about this low level access that clicked with me and I've
never looked back. I learned it quickly and moved forward to C++ and now C# as well.
But as much as I like C#, I love C++ and I still open my digital copy of Scott Meyer's
Effective C++ just for fun.
|
Multiple-reader, single-writer lock |
There are a lot of these multiple-reader single writer locks available. There is
an excellent one written by Jeffrey Richter that you can find in his book
Programming Applications for Microsoft Windows, but it lacked something
I needed for a specific job I was working on. I needed a class that allowed for
multiple reentry into the lock from the same thread or arbitrary object. Thus my
MRSWSync class was born.
|
|
C6Crypto |
This is a simple class for cryptographically manipulating strings. |
|
CTimeConvert |
Do you work with VARIANT dates? Or DBTIMESTAMPs? Or maybe you prefer time_t, tm
or FILETIME? Well, I got so fed up with converting one type of time to another that
I finally wrote a class that did it all for me. I don't know if this class can be
used in commercial software since I shamelessly "reused" code from Microsoft's olevar.cpp
in MFC for two of the functions, but it sure is nice for internal applications!
(Please seek legal council before using
in a commercial application. C6 Software, Inc. can not be held liable if you do
not cover your own legal bases.) |