AOSA

Reading The Architecture of Open Source Applications. An excerpt from Chapter 4:

There is rarely such thing as an unimportant bug. Sure, there’s a typo now and then, but usually a bug implies somebody didn’t fully understand what they were doing and implemented the wrong thing. When you fix a bug, don’t look for the symptom: look for the underlying cause, the misunderstanding, if you will, because that leads to a better understanding of the program’s architecture as well as revealing fundamental underlying flaws in the design itself.

Human Interface

Is it possible to build a useful personal computer that has no operating system, no user applications, not even a mouse (or some other pointing device)? It is! Jef Raskin explains this radical approach to computer design in The Humane Interface: New Directions for Designing Interactive Systems. He demonstrated that this idea is both practical and commercially viable by building the Canon Cat. Tests proved that users were more productive on this new computer than they were on traditionally designed systems.

PS: Another interesting fact about the Canon Cat: Its entire software system was developed in Forth, another masterpiece of great design!

The Practice of Parallel Programming

A free book on parallel programming.To quote from the site:

This book provides an advanced guide to the issues of the parallel and multithreaded programming. It goes beyond the high-level design of the applications, into the details that are often overlooked but vital to make the programs work. The contents is oriented towards the programming of the operating systems and of the business applications, as opposed to the scientific calculations. The reader is expected to already know the basics of multithreading.