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 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.
The new school of information security / Adam Shostack, Addison-Wesley, 2008, hard cover
The economics of security. This is not a large book, but it is very readable and full of insight, suggesting a new approach to security. One of the best books I have read this year.
Solar energy projects for the evil genius / Gavin D.J. Harper, McGraw-Hill, 2007
This large format softcover book has some fun and easy project you can do in the back yard with your kids.
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.
Professional Web 2.0 programming / Eric van der Vlist, Wiley, c2007
Here is a readable, current book about the web applications stack. It also looks at new projects which are likely to be part of the toolkit in the future.
Linux 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 / 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.
Beginning JSP, JSF and Tomcat web development : from novice to professional / Giulio Zambon, Apress 2007
For the Java programmer developing a web application, a framework such as JSF is recommended so you can reuse the work of many others. Here is a current intro.
Memory practices in the sciences / Geoffrey C. Bowker. MIT Press, 2008
Here is some interesting musing on the history of science. What motivates scientists when recording their work? How truthful are they? How good is their memory? This book is not easy to read, but it is rewarding.