Archive for February, 2006:
PDH.DLL and Locales
PDH is a performance data helper API. Performance counters have indexes and names, the names may be available for several languages. It seems English is always available. The problem is that the indexes are not fixed. Well we can assume some well known indexes to have constant indexes but it’s very difficult to make it sure testing on different versions of Windows. The problem is that it seems to be a robust way to use English names as a primary identifier. Since English names seem to be always available we can lookup index by name. However, PDH API uses localized names, how do I know which locale it uses: GetThreadLocale, GetSystemDefaultLCID or GetUserDefaultLCID?
Search engines
Quite amusing, this blog shares first two positions with elsdoerfer.info on query for “soft link ntfs” and is 4th on MSN search, 3rd is elsdoerfer.info again. Yahoo search lists elsdoerfer.info but this blog is somewhere far away. This is probably because “soft links” are better known as “symbolic links”.
The mentioned elsdoerfer.info is a very similar utility, with a brief introduction to the link features, however ours one seems to be a bit more feature rich. This site also mentions a great artcile on Shell-Shocked (recommended).
Visual Studio crashes
It’s getting more and more annoying as it seems. When Visual Studio .NET 2003 has been locking my C++ source file giving me no chance to save changes, I could live with it. Well it is obviously not comfortable in any way but I could find the file handle in Process Explorer and force closing handle.
But the rest is only in our dreams, instead it started crashing on just opening a solution… Fuck, how the hell I am supposed to work with all this crap? DEVENV goes to hell in just a couple of seconds after solution is opened…

The reason is an .h file included into one of the solution projects. I have the second case already. Once you remove the .h file from the project (note that it’s just an .h file and the project remains compilable), IDE no more crashes.
I am almost sure it’s buggy Intellisense. First I thought my source file could be too large (both .h files causing the problem were about 100 kB with no much too long lines) but it’s juvenile. It seems it is the nesting which is causing the problems, there are many nested classes. Anyhow I am fucking pleased with this marvelous IDE feature.
Speech Codecs Library
Summary
The library implements some of the speech codecs provided with Intel IPP Library samples (G.726, G.728, GSM 06.90 AMR) as DirectShow filters (using DirectX Media Object technology) making it available to a wide range of DirectX 9 compatible applications.
Usage of Intel Integrated performance primitives make the processing performance efficient.
See DirectX GraphEdt utility screenshots below to get an idea about availability of the codecs:
Announcement: Intel IPP speech coding algorithms as DirectX Media Objects
Getting back to audio codecs, based on Intel IPP library, version 5.0. Basically, I made a wrapper over Intel’s Unified Speech Codec (USC) codec implementation that exposes codec as DMO which makes it available for a wide range of media applications. At the very moment GSM 06.90 AMR codec and G.726 codecs are available but the others are addable with ease. I still have a vague idea about licensing but I think it would hurt noone if a demo library is published. The demo will have some randomly forced silence intervals. I believe it is going to be sufficient to evaluate operating performance and processing quality of the codecs.
Serial Numbers
It seems our approach with serial numbers (registration keys) appears to be quite efficient. So far at least. Thousands of legitimate installations around the world and only a few episodes of unauthorized usage (that we are aware of, of course).
Mostly from ex-USSR by the way.
IP: 83.146.79.xxx
IP location:Russian Federation [RU] - Chelyabinsk
IP owner: Southern Urals TransTelecom
IP assigned to: Southern Urals TransTelecom
This guy generated serial number with keygen quite some time ago. I believe he paid for keygen because I only know it is offered for money from a Ukrainian hack team. And I see he DOES have troubles with his unauthorized copy now. He is reinstalling it all the time trying to get it work, upgrading to newer versions and downgrading to older with little luck. In fact he have to finish downgrading to 1 year old release where protection from unauthorized usage was not improved yet. Or purchase legit license, but it does not seem to be an option for him :)
NTFS Links Update
Multilanguage support added and Russian translation is also put into this update. No features added.

Russian locale is detected automatically but you can also overrdide through registry:
Key Name: HKEY_CURRENT_USER\Software\Alax.Info\NTFS Links\Locale
Value Name: Default
Value Type: DWORD
Value: 1049 (decimal) for Russian
Translation is implemented as a satellite DLL, so more languages are possible if anyone would ever like to make a translation.
Download:
http://alax.info/blog-dist/AlaxInfoNtfsLinksSetup-1.1.1.msi (336K)
Subscribe to the comments for this post
Russian Federation [RU] - Chelyabinsk