MFC Black Book
Introduction:
Are you an MFC programmer? Good. There are two types of MFC programmers. What kind are you? The first kind are the good programmers who write programs that conform to the way MFC wants you to do things. The second bunch are wild-eyed anarchists who insist on getting things done their way. Me, I’m in the second group. If you are in the same boat (or would like to be) this book is for you.
This book won’t teach you MFC—not in the traditional sense. You should pick it up with a good understanding of basic MFC programming and a desire to do things differently. This isn’t a Scribble tutorial (although I will review some fundamentals in the first chapter). You will learn how to wring every drop from your MFC programs. You’ll discover how to use, abuse, and abandon the document/view architecture. If you’ve ever wanted custom archives, you’ll find that, too.
Many applications use connection/object pool. A program may require a IMAP connection pool and LDAP connection pool. One could easily implement a IMAP connection pool, then take the existing code and implement a LDAP connection pool. The program grows, and now there is a need for a pool of threads. So just take the IMAP connection pool and convert that to a pool of threads (Copy, paste, find, replace????). Need to make some changes to the pool implementation? Not a very easy task, since the code has been duplicated in many places. Re-inventing source code is not an intelligent approach in an object oriented environment which encourages re-usability. It seems to make more sense to implement a pool that can contain any arbitrary type rather than duplicating code. How does one do that? The answer is to use type parameterization, more commonly referred to as templates.
Welcome to PMOS. PMOS is a set of modules, mostly written in Modula-2,
to support multitasking. PMOS was designed primarily with real-time
applications in mind. It is not an operating system in the conventional
sense rather, it is a collection of modules which you can import
into your own programs, and which in particular allow you to write
multi-threaded programs.
AutoSummary uses Natural Language Processing to generate a contextually-relevant synopsis of plain text.
It uses statistical and rule-based methods for part-of-speech tagging, word sense disambiguation,
sentence deconstruction and semantic analysis.
The goal of this exercise is to understand the concept of Carrier-Sensing in IEEE 802.11 standard and compare Physical Carrier sense and Virtual Carrier sense mechanisms.
this directory
contains the following:
* The acdc algorithm for finding the
approximate general (non-orthogonal)
joint diagonalizer (in the direct Least Squares sense) of a set of Hermitian matrices.
[acdc.m]
* The acdc algorithm for finding the
same for a set of Symmetric matrices.
[acdc_sym.m](note that for real-valued matrices the Hermitian and Symmetric cases are similar however, in such cases the Hermitian version
[acdc.m], rather than the Symmetric version[acdc_sym] is preferable.
* A function that finds an initial guess
for acdc by applying hard-whitening
followed by Cardoso s orthogonal joint
diagonalizer. Note that acdc may also
be called without an initial guess,
in which case the initial guess is set by default to the identity matrix.
The m-file includes the joint_diag
function (by Cardoso) for performing
the orthogonal part.
[init4acdc.m]
Watermarking schemes evaluation
Abstract鈥擠igital watermarking has been presented as a solution to copy protection of multimedia objects and dozens of schemes and algorithms have been proposed. Two main problems seriously darken the future of this technology though.
Firstly, the large number of attacks and weaknesses which appear as fast as new algorithms are proposed, emphasizes the limits of this technology and in particu-lar the fact that it may not match users expectations.
Secondly, the requirements, tools and methodologies to assess the current technologies are almost non-existent. The lack of benchmarking of current algorithms is bla-tant. This confuses rights holders as well as software and hardware manufacturers and prevents them from using the solution appropriate to their needs. Indeed basing long-lived protection schemes on badly tested watermarking technology does not make sense.
People have vast background knowledge to cope with everyday situations.
We don t have to be told everything explicitly because we can call on the background knowledge.
We use `default knowledge to handle situations where knowledge is incomplete.
This is called common sense reasoning.
Discussing embedded systems in general is difficult, because each embedded system is unique. Rather than presenting a list of general principles for handling embedded development issues, this book presents examples of problems encountered and solutions to those problems using real hardware and software. In that sense, it is a “cookbook” for developers that offers design “recipes” that can be elaborated on or modified as needed to solve other design problems.