Monthly Archives: December 2007

Freeware: Replace In Files and Resource Tools

Dear Friends and Subscribers,

There is a variety of software nowadays but it almost always happen that there is also something desired but missing, something that would ease one’s life but unavailable. As a software developer I do have this kind of desires on a regular basis and I do have special tools that ease the life, in particular automations tools.

Two of the tools are Replace In Files and Resource Tools are that enormously helpful in automating software release compilation process where there is a need to access Win32 resource scripts and compiled data. The both tools expose OLE Automation interfaces and used from VBScript and JScript script code.

Fully automated software builds is an important concept to avoid human factor in routine build process. If you have a number of C++ projects, re-distributables, installation scripts, additional materials, OEM program partners who need the same packages duplicated with replaced logos, manuals etc. and when you need to gather everything into a single distributable the task becomes too much routine to repeat again and again with every new version coming out as a result of development process. And sometimes you even might wish to compile builds on a daily basis! Or rewind and compile a version from past using version control repository code! Earlier or later you come to a conclusion that this part of the development has to be entirely automated because it is basically all the same again but the cost of a mistake of manual operation is very high.

Both Replace In Files and Resource Tools are freeware since now on! Merry Christmas and Happy New Year!
Read more »

Semaphores

Semaphore objects are specific synchronization objects that maintain a counter that lock/unlock the object on reaching specific predefined count. The counter make the object specific and different from other synchronization objects such as critical sections, mutexes, events. After years of software development with a horde of threads and events it is the first time I needed to look towards semaphore.

While it’s quite clear what exactly it does, a tiny sample would never hurt to understand thing better. Good news is that ATL core classes offer a CSemaphore class (surprisingly not documented in MSDN).

Semaphore magic goes below:

Read more »