Easy tricks for optimizing common string operations

Whether your data structure uses hashes, trees or any other pattern to store strings, it all boils down to comparing your query string against strings from the repository. The actual string comparison is an aspect sometimes overlooked. This article lists some easy tricks that could make your string comparisons run much faster.

Posted by Tomer Margolin | | One comment

Easy DWORD-Alignment of Binary Structures

Information stored in binary data structures is an area so fundamental that there is hardly any field in the industry that doesn’t relate to the parsing or extracting of binary memory sources. However, my intention in this article are so small and specific, that I really want to believe there’s someone else out there [...]

Posted by Eyal Itskovits | | No comments

Implementing a Message Dispatcher in Multi-Core Environments

Multi core programming presents different challenges than traditional parallel computing. In this article we will explore a programming paradigm called ‘the dispatcher’ and its implementation in multi-core environment.

Posted by Ami Chayun | | One comment

Implementing Callback Functions Using Delegates in C++

Nice C++ object oriented code basically means writing everything in objects/classes. However, not everything we need in programming is classes. This article concentrates on callback functions, and presents a C++ implementation of delegates which doesn’t use pointers to functions.

Posted by Slavik Birger | | No comments

Operator new Surprises in VC6

This item is a must for every Visual C++ 6.0 programmer which uses operator new. The default behavior of operator new in Microsoft Visual C++ 6.0 in case of an error is to return NULL, in total contrast to the standard which explicitly states that new raises a bad_alloc exception upon failure. This behavior can lead to many unpleasant surprises, especially when trying to write portable code.

Posted by Tomer Margolin | | One comment

Asynchronous Message Handling in MFC

This article presents a possible solution to an inherited problem in the MFC programming environment. According to the MFC architecture, all messages are handled synchronously. Of course, this issue makes no difference in the case that for every single message you want to process, the processing will take you only a short time.

Posted by Slavik Birger | | One comment

Delay Load Dlls Error Recovery - Putting the ‘D’ back in the Dll

This article suggests that dynamic loading errors can be solved quite easily by using the delay load Dlls mechanism wisely, and demonstrates a way to transform any code that uses Dll’s to be error free using the delay load mechanism, while keeping it’s elegance.

Posted by Tomer Margolin | | [2] comments