This book provides a good architectural overview of NT, including some historical insights on the early days of NT development. My first recommendation to NT technical newcomers is to read "Inside Windows NT", then dig into the Win32 details in the Richter book. For GUI work, Pechtold, although any serious GUI development is usually based on MFC, if for no other reason than the MFC Windows message handling.
It's newer than the Baker book, and is slightly more detailed.
Geared toward writing device drivers, but it provides some pretty good insights into the internals and some undocumented interfaces.
I thought Richter's was helpful for quickstart, but I haven't found anything that covers the scope of the Stevens book.
Ok, but it really doesn't provide much beyond what is in the MSDN Library.
Did not like it. It's easier just to translate the network sections of Stevens to NT.
Did not like it. Enough to get you started on a device driver, but I thought the O'Reilly File System Internals book was much better.
Chapter 16 provides a concise 50 page description of Sun RPC and XDR, including some protocol-related issues. Chapter 16 alone probably doesn't warrant purchase of the book, but the remainder of the book covers pipes, fifos, message queues, mutexes, condition variables, read-write locks, record locking, semaphores and shared memory. A useful addition to any well-equipped Unix programmer's bookshelf.
The Data Display Debugger (DDD) is a popular graphical user interface for command-line debuggers such as GDB, DBX, JDB, WDB, XDB, the Perl debugger, and the Python debugger. Besides ``usual'' front-end features such as viewing source texts, DDD has become famous through its interactive graphical data display, where data structures are displayed as graphs. A simple mouse click dereferences pointers or views structure contents, updated each time the program stops. Using DDD, you can reason about your application by watching its data, not just by viewing it execute lines of source code.
DOC++ is a documentation system for C/C++ and Java generating both, LaTeX output for high quality hardcopies and HTML output for sophisticated online browsing of your documentation. The documentation is extracted directly from the C++ header or Java class files.
The man pages for ElectricFence, libefence(3), are slightly incomplete with respect to the EF_PROTECT_FREE environment variable. Setting it to 0, the default, still protects the storage block, but makes it available for reallocation. Setting it to >0 will protect and prevent reallocation, which can be helpful in catching some of the more insidious defects.
To use 8859-1 characters on your terminal, include
stty cs8 -istripin your .login file. Then, you can enter these characters on a Sun keyboard by typing the "Compose" key, followed by two keys. For example, ä is produced by Compose, " and a (or a and "). Do not hold down the compose key while typing the two characters.
For PCs running Windows, enable NumLock, so that the numberpad produces numbers. Then, you can type "ALT+0xyz", where "xyz" are three digits. You can get the digit numbers from the character map program available under the "Accessories" menu.