Archive for April, 2008

Published by alax on 06 Apr 2008

Sticky: Blog Navigation

  1. Did you come here for some cool software or an utility?
  2. Are you interested in C++ development, ATL and WTL?

Published by alax on 23 Apr 2008

Vendor

We have a very interesting hardware vendor from Taiwan, which keeps on surprising. In past our software supported their PCI boards. They were quite popular for their price. Yes they were cheap and were based on a very popular video/audio capture chip which was probably too difficult to screw but they made their attempts. While the entire industry adopted DirectShow compatibility and video crossbar technology, these guys have been way smarter and just put an input stream number into video’s first pixel’s byte. If anything, software will sort frames out which is from which source!

With a wide range of hardware they supplied separate SDK for every model without any ability to detect which exactly piece of hardware is in… and yes all hardware and driver identifiers were mixed up between the models. Then they even went further and changed hardware leaving it the same model number. Did I mention lack of documentation? Did I mention drivers that don’t work?

It ended up with that time with cancellation of support for all models but just a few most popular we still had to support because its cheap and thus very much requested.

And we have another turn now: cheap stuff of a new generation Ethernet interfaced hardware. It is all about the same:

  • model X shows itself as model Y
  • lack of documentation
  • separate SDK for each model, different naming conventions between models with similar functionality
  • 3GPP compliance (which means RFC 2326 RTSP) declared but it is clear that it has a dumb customization in protocol which is mandatory and none of standard compliant software such as VLC is compatible

Still it’s cheap and in demand.

Published by alax on 23 Apr 2008

Windows Messenger service spam

This is something fresh: spam using Windows Messenger service:

Spam from SBSSOFT@GMAIL.COM

Published by alax on 17 Apr 2008

Windows Live ID is not alive

I have been trying to download MSDN Community Distribution CD March 2008 for a week or so, which requires registration to access the download. OK, I was trying to register pressing Continue button to be taken to “Registration Required for This Download”. I had Passport account some time ago which I tried to use to Sign In, but it was rejected as non-existing. OK, it could expire or so, I was trying to Sign Up also. But I wonder what could be the reason to show “Windows Live ID is experiencing technical difficulties” for a week and be unable to sign up a new user?

Published by alax on 11 Apr 2008

Spark

Jabber/XMPP and GoogleTalk is may favorite instant messaging network, although this point of view is hardly shared by majority of people I know. And I am eventually checking available Jabber software to stay informed on the subject. I came across Spark which is easily discovered as a top search Google result http://www.google.com/search?q=spark And I am really really disappointed. No doubt there is a lot of work invested already and the version numbers confirm this. However:

  • Google Talk network is not supported
  • I succeeded in logging into jabber.org but my online contact @gmail.com did not show as online
  • Settings dialog/window is way too ugly and introduces a revolutionary idea to not close on pressing Cancel

I am sorry, but I would like to immediately uninstall…

Published by alax on 11 Apr 2008

Yet another ATL bug

Another weird bug from Visual C++ .NET/ATL internals (Visual Studio .NET 2003 Service Pack 1). IDispatch implementation (IModuleCommunicationTcp on the screenshot) supplied by Visual C++  compiler that converts “by DISPID” IDispatch::Invoke call into virtual method call (IModuleCommunicationTcp::get_HttpHost) does not initialize local BSTR variable i1 on stack. In case of method failure (in which case there is no guarantee i1 was properly initialized/cleared) the code still uses the variable to initialize VARIANT.

In my case this caused resulting VARIANT (CComVariant) contain .vt = VT_BSTR, .bstrVal = 0×00000002, which is obviously incorrect and caused an access violation exception later in VariantClear call.

Published by alax on 10 Apr 2008

Cryptext

I have been using a great utility Cryptext from Nick Payne since long ago. The utility is a shell extension that encrypts/decrypts selected files with a password using well known cryptographic algorithms and even has sample source code to derypt included. A fool proof check for correct password and an option to keep the password in memory until shutdown is included, it is great… I am using version 3.40. There already is no homepage of the utility and the author but it still works fine, expect one problem I stumbled upon just recently. It failed to process a large file, larger than 2^31. Oops!

Next »