Solid, sensible and enlightened advice on how to design and build software that is useful and maintainable. This book should be on every programmer''s bookshelf. Even if they do not program on Unix.
Two novels for the price of one. The second may be a little weaker than the first, but Larry Niven does not produce any bad writing. In common with the rest of his work, these contain rock hard science. Take a neutron star, put a planet round it and you have the recipe for a gas torus — a vast volume of micro-gravity with breathable air. These books bring orbital mechanics to life, if you notice it amidst the riveting story.
A very useful introduction to the $35game-changing small computer designed for education but used for countless other projects. This is the book written by the Man with the vision behind the Raspberry Pi Foundation.
Against a backdrop of the story of computing at the end of the twentieth century, this huge essay asks deep and meaningful questions about life the universe and everything. It is a fascinating, entertaining and thought-provoking read; I thoroughly recommend it.
This is a seminal book on structured programming. As such it is showing its age; all the examples are in PL/1 and FORTRAN, and Amazon is only showing second-hand copies, but it is well worth getting and reading. It's recommendations are as true today as they were in 1978.
This is an open source book, so you can download it free. It is based on the very popular How To Think Like A Computer Scientist: Learning With Python, which is also free, but to my mind at least it starts off much easier. Instead of jumping headlong into programming, it starts out discussing what a computer is and what programming is. A perfect introduction to programming.
This is the series of books (here in one volume) that the Amber Diceless Roleplaying Game is based on. It's a great read even if you don't end up playing the game.