For some reason I just haven’t got around to blogging for a long while, but fortunately I have had time to read a fair number of computing related books which I thought I would type up here. There are a couple of management related books thrown in for good measure.
Managing Humans by Michael Lopp
This is a collection of stories about the author’s experiences managing development teams. A fun, humorous read, which made it even clearer that management is a lot about applying common sense to a range of activities.
Troubleshooting with the Windows Sysinternals Tools by Mark Russinovich and Aaron Margosis
The sysinternals tools are amazing, with specific tools offering information that would be hard to dig out yourself. This book takes you through the various tools one-by-one and tells you many of the lesser known features of the tool. The book contains a large section of case studies on how the tools were used to diagnose a wide range of problems.
Smalltalk-80 Bits of history, words of advice by Glenn Krasner
I remember how much I enjoyed this book when I first read it 30 years ago. Lots of chapters written by different people on topics around the early Smalltalk systems, including details about implementations, porting efforts to get the standard image to run on diverse sets of hardware, and discussions of improvements to the system for the future.
Understanding Computation by Tom Stuart
This book uses implementation in Ruby as a way of understanding computation from formal semantics to automata theory to Turing machines. And you get to learn some Ruby along the way. I really enjoyed this book. The writing is interesting, and you really don’t ever to understand something until you implement it.
The One Device – the secret history of the iPhone by Brian Merchant
A very interesting read on the history of the iPhone. The book has various chapters on the various components, such as the battery and the screen, giving lots of interesting background about each area.
Hit Refresh – The quest to Rediscover Microsoft’s Soul and Imagine a Better Future For Everyone by Satya Nadella
An interesting read, part-autobiographical about Microsoft’s CEO. We learn some details about Nadella’s early years and the groups that he worked with when he joined Microsoft. There are chapters that talk about where Microsoft is going in the future – Mixed reality, artificial intelligence and quantum computing. I’m not sure I learned as much from the book as I had hoped, but worth a quick read.
Debugging Applications for Microsoft .NET and Microsoft Windows by John Robbins
This book is now fairly old and I was lucky to find a copy for one pound in a charity shop. Some good advice on debugging, and some nice debugging war stories, from a renowned conference speaker. Some of the .NET related material is a little out of date, but there’s still enough information to make this a fun read.
Developing Windows NT Device Drivers by Edward Dekker and Joseph Newcomer
Again a fairly old book that you can pick up quite cheaply. Lots of insights into the world of device drivers, and along the way a lot of insights into the implementation of the windows operating system. A very good read.
Type-driven Development with Idris by Edwin Brady
There are more and more discussions on dependent types on the various news feeds that I subscribe to. Idris is a Haskell -like language designed for type driven development, a system where the dependent types can be used to specify the desired solution, and the system can attempt to do some primitive theorem proving to verify the dependent type constraints. The book is a good introduction to the idea and to the language itself.