Access denied

Access denied : the practice and policy of global Internet filtering / edited by Ronald Deibert, MIT Press, 2008

This is an important book about freedom of internet access worldwide. The authors are academic leading lights. It reports a detailed survey of counties around the world: what do they attempt to control, how do they do it, and how effective are they. Further, when Google, Yahoo and other companies do business in controlled countries, how should they handle this issue.

Programming Microsoft Composite UI

book coverProgramming Microsoft Composite UI Application Block and Smart Client Software Factory / David S. Platt.  Microsoft Press, 2008

For programmers of rich client apps using Microsoft’s CAB and SCSF and WPF frameworks. Concepts are explained. There are some code examples, but no ‘Hello World’. It reminds me of Eclipse RCP without the portability or clarity.

Effective C++ : 55 specific ways

Effective C++ : 55 specific ways to improve your programs and designs / Scott Meyers, Addison-Wesley, 2005

Some very useful idioms in C++ are not obvious. For example, making a class non-copyable. Maybe you know of the idiom but don’t know the simplest or cleanest way to apply it. Maybe you have never encountered it. This book discusses some of the most useful ones.

Linux debugging

book coverLinux debugging and performance tuning : tips and techniques / Steve Best, Prentice Hall,  2006

This book is for programmers developing Linux applications, particularly if you have multiple processes or threads.  It has been useful in my current work.  In the open source world there is a profusion of tools available, to the point that it is hard to know which ones to use.  This book reduces your search to the top runners.

Linux device drivers

book coverLinux device drivers / Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman, O’Reilly, 2005

If you are doing some kernel programming, this book is one of your most important resources. They joke that this book is easier to read than the code, implying that the book is almost as hard to read as the code. But you will want to read the code, because the rules for driver design change often. The authors are in the kernel inner circle.

Read it online here. Or here.