More Recent Reading


The Secrets of Alchemy by Lawrence M. Principe. Published by The University of Chicago Press

The first thing to note about this book is that the title is somewhat misleading. It would be more accurate to call it a history of alchemy. I was nearly put off buying it because of its title, but in retrospect I'm glad I wasn't, because it's a very interesting book.

What the author sets out to do is to restore an understanding alchemy of within its historical and cultural framework. I think he succeeds in this aim. There is in Western society a tendency to think of alchemy as being something vaguely to do with magic - but nothing could be further from the truth. The work of most alchemists would be recognized today as experimentally rigorous, and based on the best theories of the nature of matter that existed at the time.

Take, for instance, the search for the legendary Philosopher's Stone, the secret of turning lead into gold. We know that's not possible to do chemically today. Why do we know that? Because we know that lead and gold are elements. The elements are defined by the number of protons in their nucleus. Chemical reactions only work on the electrons in atoms, and you can't change the make-up of an atomic nucleus  by fiddling with its electrons.

But we didn't find this out until about a hundred years ago. In the golden age of alchemy, which roughly coincides with the Scientific Revolution (1500-1700), the belief was that matter was a compound, and the properties of any given piece of matter were determined by the proportions of more fundamental substances. Theoretically, if this were the case it should have been possible to change, for instance, lead into gold by altering those proportions in lead until they matched the proportions that defined gold. It was this theoretical view that drove the search for a substance that altered these proportions. (This is a simplified view; the book explains in much more detail.)

The book covers the history of alchemy from its beginnings in the third century AD through to its effective demise at the end of the 19th Century. Along the way it discusses many other aspects of alchemy, including its impact on early medicine, laboratory work, and chemistry. It also looks in more depth at some of the work of famous alchemists, including the attempts of the author to recreate their work in the lab - with interesting results.

Well worth a read if you have any interest in the history of science.


The Master Switch by Tim Wu. Published by Atlantic Books

Subtitled 'The Rise and Fall of Information Empires' Tim Wu's book is a tour de force history of the four great information technologies of the 20th Century - the telephone, radio/television, movies, and the internet. The book is both a history and an analysis of these industries. The lessons we can draw from the stories he tells have serious implications for the current struggle over what is now known as 'net neutrality.

The individual stories of the technologies themselves are interesting enough in their own right, but what is striking is the common themes of the histories of the telephone, radio and movies. In each case as the new disruptive technologies came into existence and there was a period of free for all, anarchy if you like, in which innovators thrived, anyone could join in, and the cost of entry was minimal.

Then came a period of consolidation, often assisted by government desire to regulate and consolidate. Politicians are notoriously wary of their constituents doing this for themselves, while the bureaucrats who run the regulatory bodies always push for consolidation. After all it's a lot easier to talk to, and come to agreement with, a few large bodies that have a similar culture, than hundreds of small organization filled with fractious non-conformists!

And of course, once you have a monopoly or semi-monopoly situation, it becomes easier to suppress new, disruptive, innovations - the suppression of FM radio in the early 30s by RCA being a classic case. In other cases the leadership of the monopoly involved simply could not conceive of any way of  working other than the one currently in use. Thus the officials at AT&T thought the concept of packet switched networks (the basis of the internet) was "preposterous".  In fact, so wedded were the AT&T officials to the circuit based network (the AT&T slogan was One  company, One system, Universal Service), that they even turned down a US Air Force offer to pay for an experimental packet switched network!

But this isn't just a technical history. It's also a social history of the struggle to keep those technologies in the hands of ordinary people, and that is as important as the technical issues, because that is exactly what is happening now in both the internet and the software forums. In the internet the struggle is being waged under the rubric of 'net neutrality, while the software struggle is being waged through patent reform.

Both are important. At the moment anyone can post material onto the net - you don't require anyone's permission to do so, or to check what you've written before it's posted. Anyone can write software - all you need is a general purpose computer, usually a desktop PC, and a compiler or a browser, depending on your language of choice. Do I really have to tell you that the politicians and big business would prefer it otherwise?

We are on a cusp when it comes to questions of how the new and currently cheap enabling technologies of computing and the internet will be used in the future, and Tim Wu's readable and fascinating book is an important chronology and analysis of what happened on previous occasions. We need to understand that and learn its lessons, because those who fail to learn from history are doomed to repeat it.

Highly recommended.


Nomonhan 1939 by Stuart D. Goldman. Published by Published by Naval institute Press

The Battle of Nomonhan (aka Khalkin Gol) was a battle fought between Soviet Russia and Japan. It took place on the Mongolian-Manchurian border in 1939.  At the time Mongolia was a Russian client state, and Manchuria was a Japanese client state. The importance of the battle - actually a series of battles culminating in a crushing victory by the Russians - was overshadowed by the outbreak of World War II.

The author has done an excellent job of recreating the background to what was originally a small border dispute, and setting it within geopolitical framework of the time. It is his contention that the Battle and its eventual outcome were important for the development of the tactics employed successfully by the Red Army against Germany. Massed armor and artillery, air support, logistics, deception, all were tried out at Nomonhan. And significantly, the commander was none other than General Georgy Zhukov, who was later to use these tactics successfully in the battles of Moscow and Stalingrad.

Few military historians would dispute this position, but the author has a second, and perhaps more contentious thesis - that the battle of Nomonhan was a significant factor, though not the prime factor, in Stalin's 1939 decision to sign a pact with Hitler's Germany.

Few, if any, of the extant analyses of the diplomatic situation make any reference to Nomonhan. However, in my opinion, the author makes a good case, and I'm inclined to agree with him. The author himself makes it clear that it wasn't the prime reason, but the outcome of the battle did matter.

All in all an excellent book throwing light onto what has, until now, been an obscure piece of history to most in the west.


The Technical and Social History of Software Engineering by Capers Jones. Published by Addison Wesley.

This book has been sitting on my desk for more than a month since I finished reading it. The thorny question was, how to review it. So, what's the problem? Well, on the one hand it's quite interesting, and would be useful to someone trying to write a history of computing. On the other hand the title is a complete misnomer. It's nothing much to do with the social history of software engineering, and a somewhat lopsided view of the technical history, concentrating on business applications and the rise of function point metrics, which the author champions.

After a brief nod towards aspects of pre-digital computing, the book is basically a linear description of the commercial market.The earlier chapters clearly make use of a lot the information contained in the Wikipedia. This was not a wise choice. The Wikipedia's striving for academic respectability has resulted in vast swathes of material relating to personal computing in the 1980s and 90's being removed. They were either oral history, or from long defunct computing magazines, and therefore had no 'proper' citations, according to the Wikipedia. In social history terms this is a critical omission.

Allied to this is the complete absence of any discussion about the role of computer games in the history of computing, both as an introduction to using computers, and as an influence on software practitioners. The author briefly mentions this problem later on in the book, but makes no attempt to rectify it. It is understandable that the author is not familiar with the games industry, coming as he does from a commercial background. However, he should have made himself familiar with the industry if he wanted to write a book on the history of computing (social or otherwise). The attitude shown is redolent of a common theme in certain parts of the industry until the start of the current century. It is an attitude that considers games to be a waste of otherwise useful computing power.

Almost completely absent from the book is any attempt to discuss the social history of computing - either its effects on society, or the social development of its practitioners. For instance, the rise of open source software is as much about the politics and sociology of computing, as it is about technical development, and yet the topic is barely touched in the book. Neither are the very early struggles of programmers of the very first computers to become recognized in their own right, instead of being considered mere lab technicians by the academics who wanted to study 'computing'.

From the point of view of a technical history there is no feel of an overall concept, leading to a large proportion of the book being one or two page summaries of selected companies in the industry. Even at this level there seems to be no understanding of the extent to which the big 'non-computing' businesses have become, over the period covered, software houses specializing in whatever was their business before the rise of cheap computing power. The classic case for this is, of course, the big banks who have gone from being banking houses with a software department to being software houses with a banking license. The fact that most boards of directors of these bodies have not yet caught up with the reality of their business does not absolve the author of a book on software engineering history from noticing the metamorphosis!

All in all, a rather disappointing read...

The reviewer is a professional programmer, and holds a degree in Sociology from Leeds University


America's First Great Depression by Alasdair Roberts. Published by Cornell University Press

This is an interesting book, looking, as it does, at the at the first major cycle of boom and bust to arrive after the American revolution. Although eclipsed in folk memory by the great depression of the 1930s, it's arguable that the depression of 1837 had a much more far reaching effect on how the USA was governed.

For the purposes of analysis the author splits the period from the start of the depression through to the end of the Mexican War into sections dealing with the crisis of the individual states, the problems of the Federal Government, and the issue of law and order. This sometimes makes the narrative a little fuzzy, but does help define the issues.

It was the law and order problems in this period that firmly established the precedent that the federal government would use federal forces to assist states in putting down insurrectionary movements. This was also the time when the cities of New York, Boston, Philadelphia and Baltimore established police forces on London's 'civil army' pattern following serious rioting, something which would have been unthinkable previously.

In the main the book deals with the constitutional issues, hardly surprising given the author's background as a professor of Law and Public Policy at Suffolk University Law School. However, that is not to say the book deals exclusively with such issues, or is dry as dust. Quite to the contrary, it is a lively read.

Most people around at the moment can only remember a time when the USA has been the dominant economy, and the dominant military, but that really has only been for the last 50 years. Times are changing with the rise of China, which already holds a substantial proportion of the US Federal Government debt, and is rapidly modernising its armed forces.

The solutions available, economic, political and military, are changing and if that change is not to be violent and disruptive, then the hard  lessons of history must pondered over and assimilated.


The Basics of Hacking and Penetration Testing (2nd Edition) by Patrick Engebretson. Published by Syngress

This book is a classic example of the dilemma facing ethical hackers. It's extremely good, with comprehensive, clear explanations of how to use the tools, and detailed explanations of the techniques. A wannabe badass hacker could learn a lot.

But it's also essential reading for anyone wanting to learn the trade of penetration testing, and for anyone looking to protect their on-line assets against hackers. Sun Tzu had a thing or two to say about the importance of knowing one's enemy, and he knew what he was talking about.

The book leads its reader systematically through the steps needed to penetrate an on-line system. Reconnaissance, scanning, exploitation, and the post exploitation techniques for maintaining access, such as backdoors and rootkits, are all explained. Along the way it also covers social engineering and web-based exploitation.

One thing I haven't seen in other books of this ilk is the way it takes you through the use of the tools of the trade. How to install them, how to set them up and of course, how use them effectively.

Definitely a must have if you plan to do a little work on the side for the NSA!


Graphic Icons by John Clifford. Published by Peachpit Press

A rapid (two to four pages each) illustrated look at the art movements and innovators that have inspired modern graphic design. A must for budding and experienced graphic designers, not to mention digital user experience programmers and designers. The pages are chock full of illustrations guaranteed to provide inspiration and examples for your day to day work.

Obviously, any book like this must to a certain extent be a personal choice of the author, but there was one glaring omission which surprised me. That of the surrealists, whose influence on modern design has been massive. In fact a number of the designers featured cite Man Ray, for instance, as a major influence. A very strange absence.

Personally, I would have also included typographer Mathew Carter who produced the first digital fonts properly designed for screen display - the sans-serif Verdana and the gorgeous serif Georgia. But these are nit-picks. John Clifford has done an excellent job of providing something which is fun to read, educating, and inspiring of new ideas. Go for it!


Americanos by John Charles Chasteen. Published by Oxford University Press

In 1800 the continent of South America was ruled directly by European countries - Spain and Portugal. South America was bound, in the words of the Americano patriot Mariquita Sanchez de Mendeville, by the 'three chains' of terror, ignorance and Catholicism.

Twenty-five years later, the last Spanish army having been defeated at the battle of Ayacucho, South America was a collection of self-governing republics struggling to build themselves into nations.

This very readable book tells the story of those 25 years. It is a story of both defeats, victories, incompetence and sacrifice.

The book is surprisingly comprehensive for such a slim volume, and while it tends to concentrate on the key players, such as Bolivar and O'Higgins, and the military situation, it doesn't neglect the social and political context within which they operated. The whole of South America is a big place - a whole continent, but the author's canvas is large enough to detail the whole picture.

If you know little about these struggles for independence, and would like to know more, then this book would make a very good starting point. Definitely recommended.


The Idea Factory: Bell Labs and the Great Age of American Innovation by Jon Gertner. Published by Penguin Books

Jon Gertner's book is the story of the rise, growth, and eventual winding down of Bell Labs, one of the greatest research institutions of all times. It would take a massive multi-volume history to cover everything that Bell Labs did, so the author concentrates on on the period between the 1930s and the 1970s, and follows some the the key players and their research through that period.

However, he also explains very clearly the political and economic decisions that enabled AT&T to support its huge R&D division over such an extended period. He explains how the problems facing AT&T as the USA's monopoly long distance carrier, operating over inter-continental distances, combined to form the unique, and highly productive, blend of scientists and engineers that was the Lab. This discussion is essential to understanding how Bell labs was able to achieve what it did, and the author handles the subject matter very clearly.

The book covers Bell Labs' seminal work on multiplexing, information theory, transistors, lasers, fiber optics, communications satellites, the cosmic microwave background, and mobile phone networks, among other things. Not everything Bell Labs did was a resounding success, though. There were failures as well as successes. For instance, in the early 1960s the Labs was instrumental in developing the Picturephone. This device turned out to be a major flop and an embarrassment with minimal sales after a lot of money and reputations had been staked on its success!

The book is well written, informative and easy to read. If you want discover how the basic inventions that underpin the defining technologies of the 21st Century were made, then this book is a must read.


The C++ Programming Language (4th Edition)
by Bjarne Stroustrup. Full review here


Sherman's March by Burke Davis. Published by Vintage Books

This has to be the classic account of William T Sherman's 'March to the Sea', cutting a swathe of devastation through the heart of the Confederacy - Georgia, North Carolina, and South Carolina. Meticulously researched, it brings together a myriad of eye-witness accounts from all sides, and throws an interesting light on Sherman' abilities - very strong on strategy, but less so on the art of handling armies in the field, and seriously deficient at the political level. Fortunately, Grant was able to shield him from the worst consequences of political naivety.

Reading the book makes it clear why it was that the Civil War ended as it did, rather than trailing away into a years of guerrilla warfare. Sherman was one of the very few high ranking officers, on either side, who understood the concept of total war, and was prepared, and in a position to, employ his theories.

A fascinating book, well written, and easy to read.


The Periodic Table: A Very Short Introduction by Eric R Scerri. Published by Oxford University Press.

I'm not sure why I bought this. Perhaps because I never pursued chemistry past high school level, and it looked interesting. I was right, it was interesting, and the author displays a rare exuberance and enthusiasm for his subject. The book is an explanation of the periodic table, what it is and how it works, and this is achieved through the story of how it was developed.

I liked this book, it was interesting and fun to read about the arguments and struggles that produced the periodic table. And I had no idea that there were so many different versions of it. I thought it was classic that the version we all know best owes it's popularity to the fact that it is the easiest to fit onto a standard sheet of paper!

When I finished this book I knew a lot more about something I'd always taken for granted. Very good indeed!


Accidental Earthling  by Karl Kleese. Published by Willow Press
The heart warming story of an alien stranded on Earth by his bullying boss, and how he overcomes all the weird earthling practices to triumph in the end. A nice story, well told!


Cloud Computing - Concepts, Technology, & Architecture by Thomas Erl.
Published by Prentice Hall. ISBN 978-0-13-338752-0

Imagine a 250 slide presentation on cloud computing turned into a 500 page book. You now have some idea of the style of this book. The book covers the various aspects of cloud computing, and includes most of the issues involved. It is liberally laced with diagrams, and you can get high resolution, color versions of the diagrams online. Very useful for presentations!

The obligatory 'who this book is for' section lists IT professionals, managers and decision makers, academics, business managers, plus tech architects and developers. With exception of academics, which I don't feel qualified to comment on, I'd say it doesn't really cut the mustard for the other categories.

Why?

Because it has too little technical detail for the technical people and too much technical detail for the non-technical people. It's not the only book I've read that suffers from this problem - it's an easy trap to fall into. Ironically, it doesn't mention the one category that the book really is useful for - the business analyst moving into the clould computing area. It has just the right pitch for such a person.

Having said that, the book does cover just about everything you could think of in the cloud computing area - infrastructure, security, architecture, networking virtualisation, SLAs, it's all there, albeit in too much or too little detail depending on your perspective.

What I did find of some use were the case studies, however, they did tend to be just generally descriptive, where I wanted to see much better structured use cases, rather than descriptions of how to solve technical issues. Use cases would have been far more useful to both managers and techies.

I found this book frustrating. If you are thinking of buying it, I would suggest you browse it first to see if it meets your needs.


The Death of  Wealth: The Economic Fall of the West by Clem Chambers published by ADVFN Books
This interesting little book by Clem Chambers is a collection of articles written for various magazines covering the whole of 2012. As such there is inevitably a certain amount of repetition, but it remains, nonetheless, an interesting read. The theoretical basis of Clem's position is fairly simple - some might say too simple - it is that the private sector of the economy produces wealth, and the public sector consumes it. Looked at through this lens, the problem with the Western economies is simple - the public sector has grown bloated at the expense of the private sector and is now too large to sustain without massive borrowing.

With this as his thesis, Clem looks at the events of 2012. Along the way are some very clear explanations of the role of inflation, and of why taking people who are successful in the private sector and employing them in the public sector in an attempt to make it more efficient is not very helpful. In fact it's a double whammy - it reduces the wealth generated  in the private sector, and at the same time increases the wealth absorbed by the public sector. I'd never thought of it in those terms, but it does make sense!

You may or may not agree with Clem Chambers's analysis, personally I'm always suspicious of single issue explanations - and he does make it clear that he believes in the absolute primacy of economics, but you will find much to make you think about in this little book. What it does  have going for it is an absolutely excellent style for explaining to the layman the intricacies of the western economies (especially if you ignore the charts which appear at the start of each month's essays).

An interesting and very readable book, which will probably earn Mr Chambers a dawn appointment with the firing squad should there ever be a revolution!


Pattern-Oriented Software Architecture Vol 2:Patterns for Concurrent and Networked Objects by Douglas C. Schmidt et al published by John Wiley & Sons
The enduring popularity of this excellent book can be seen from the fact that it has been reprinted 11 times in as many years! I bought it to use as my main textbook for the Coursera 'Pattern-Oriented Software Architectures for Concurrent and Networked Software' course, and it turned out to be one of the best buys I've ever made.
The patterns  in the book fall into four categories: Server Access and Configuration, Event Handling, Synchronization and Concurrency. Although each pattern is laid out in the classic way, the book is notable in that for each pattern it not only describes the problem to be solved, the details of the solution, and where it fits into architecture decisions, but also explains, with examples, how to code the pattern.
This book is, to my mind, one of the finest examples of how a patterns book should be written.
I wrote my first networking code, in 'C' in 1985, and I've been using variants of that code on and off ever since - mainly in C++. When I read the event handling section of this book, I realized that I'd written code that implemented the Reactor and the Acceptor-Connector patterns, though I'd partially fused them together. As a result, I have a much better understanding of what I did and I am in a position to refactor my code to disentangle the two patterns, making the code more efficient, easier to reuse, and better encapsulated.
Other sections of the book have given me ideas on concurrency and locking that mesh with the programs I'm currently working on. Finally there is an important, though brief, discussion on pattern languages. When I first saw the section entitled 'From Individual Patterns to Pattern Languages' in the book's index, I groaned - visions of complex UML diagrams flashing through my mind. Thus it came as a pleasant surprise to discover that Pattern Languages are about how you put patterns together to form larger entities, such as more complex patterns, component, libraries and modules.
I really would recommend this book to working programmers. Sooner or later you are bound to need to write networked and/or concurrent software. Even chips destined for real time use are starting to come in multi-core configurations  these days. The code examples are mostly in C++, but any programmer fluent in a 'C' based language should be able to follow them without any problems.
Highly recommended!


Winter King by Thomas Penn, published by Penguin
Thomas Penn's study (it's not really a biography) of Henry VII, founder of the Tudor dynasty, makes for fascinating reading.  The reign of Henry VII marks a clear break in the role of the English monarchy. It was not just that Henry's victory at the battle of Bosworth Field marked the effective end of the internecine strife that later became known as the Wars of the Roses. His reign also marked the transition from the monarchy as a military based government to an financial and administrative government. Of course, there was still military power in the background to back up the state, but that has always been the case, even in democracies.
It is thus fitting that the book mainly concentrates on the later part of Henry's reign which is when his use of financial instruments to consolidate his reign matured - perhaps even became overripe! Before Henry VII, kings ruled via a network of feudal obligations, by the end of his reign the king was ruling via a network of financial obligations. It is perhaps no accident that Henry VII was the last English king to win his crown in battle.
As an adjunct to this the author brings readers a set of finely drawn portraits of the key players and an in depth explanation of the way in which external politics was built around trying to prevent any one of the continental powers from becoming too powerful, using dynastic tools and a system of shifting alliances. The latter was destined to become the hallmark of English politics through to the end of the 18th Century and even into the early 19th Century.
All in all, I'd recommend this book to anyone who wants to learn something about what is generally a rather murky period in English history.


The Basics of Cyber Warfare by Steve Winterfeld and Jason Andress, published by Synrgress
Cyber Warfare is one of the two really hot topics in the US Military-Industrial establishment (the other is drone aircraft, in case you are wondering), and this book is for those who wish to get in on the ground floor. With the reduction in budgets (actually, reductions in increases), all the armed forces are casting around for new justifications for larger shares of the pie, and all have set up their own 'cyber-commands'. This book is firmly rooted in that milieu.
Needless to say, you won't find a reasoned analysis of the subject, or even a justification for it, in this book. The section headed 'Cyber War - Hype or Reality' occupies less than one page in a 150 page tract. I'm sure I don't have to tell you what its conclusion was! What this book does do, and does very well, is to provide the senior management of companies wishing to become part of this highly lucrative business with the jargon and enough of a basic understanding to not make fools of themselves.
Along the way it provides the largest selection of military bureaucratic acronyms I've ever come across - in just one page it introduces the reader to TTPs, InfoSec, Net Centric Warfare, IA, CNO, CNE, CNA, CND (Computer Network Defense - not Campaign for Nuclear Disarmament!), and IO... And that's just the start. I read the book with a kind of warped fascination. This stuff would make a great basis for a game about cyber-warfare, but would provide little of use for most people in IT, or even IT security.
Oh, and one comment for the publisher, the days when it was acceptable to use bad photocopies of leaflets (in this case an old Verisign leaflet) as an aid to understanding are long since passed!


American Nations by Colin Woodard, published by Penguin
Colin Woodard has written an interesting book. His basic thesis is very straightforward: that it is possible to have nations that don't have their own states. Using this thesis, he explores the idea that in North American there are multiple nations spread across north Mexico, the USA, and Canada. Woodard traces the origins of these nations from their founding through the various key historical events, such as the American Revolution, the framing of the Constitution, and the Civil War.
Along the way he explains the culture of each nation and discusses how it relates to where the original settlers that constituted each nation came from. Later settlers sought out and settled in areas with a similar background and thus reinforced the original culture. An almost subterranean thread running through the book is an understanding that nations without states aspire, either overtly or instinctively, to become nation states. If there are indeed, as Woodard postulates (and one should note that he is not alone in advancing this idea) multiple stateless nations in North America, then some sort of a redrawing of boundaries is going to take place sooner or later.
Woodard admits as much in his epilogue, but is - correctly in my view - unwilling to speculate on how, when or where. If you accept his initial thesis, and I'm inclined to, then Woodard makes a very persuasive case for there being 11 stateless nations, each with its own ideology and culture, spread across the continent of North America.
Whether you agree with the idea or not, and many won't, I'm sure you will find in this well written book much food for thought. Recommended.


Refactoring to Patterns by Joshua Kerievsky, published by Addison Wesley
For some reason this book escaped my notice until recently, which is a pity, because it's a very useful book indeed. Quite a lot of programmers, even those using agile methods, seem to think that patterns are merely something that you spot at the design stage. This is not the case, though it's useful if you do spot a pattern early on. Programs evolve, and as they do, patterns become more obvious, and indeed may not have been appropriate at earlier stages of the evolution.
The book, as its title implies, deals with evolving programs, and does it very well. The bulk of the book takes a relatively small number of patterns and, using real world examples, gives a step by step analysis, with Java code, of how to refactor into the pattern. As long as readers do treat these as examples, rather than something set in stone, they will learn a lot about the arts of identifying patterns and the nitty gritty of refactoring.
I also liked the pragmatism of the author. Unlike some pattern freaks, he freely admits that there are times when using a specific pattern is overkill, especially where the problem is simple. Most people, myself included, when the idea of patterns are first grasped, tend to see patterns in everything and immediately implement them. This is frequently inappropriate, and rather than making the program structure clearer, muddies the waters. There are a number of warnings in the book against this approach.
I was very impressed by this book. In fact it is one of a small number of books that has made it to my work desk, where it fits, both intellectually and literally, in between the Gang of Four's Design Patterns, and Martin Fowler's Refactoring!
Highly recommended.


Elemental Design Patterns by Jason McC. Smith, published by Addison-Wesley
This is an interesting book, well researched and well written. Its basic thesis is that the better known design patters, such as those explored by the 'Gang of Four', can be decomposed into more elementary patterns, and so on, until we have a number of elemental patterns which cannot be broken down any further.
As part of this process, the author introduces a new type of diagram which he calls 'PIN' - Pattern Instance Notation. Since PIN is used extensively in the book to represent patterns it is essential to understand PIN fully. Unfortunately, there don't seem to be any tools that allow you to draw the PIN symbols, so it's difficult to learn it by using the system. This is something of a weakness in the book.
That problem aside, the book is an interesting exposition of the fundamentals of patterns. However, the patterns Smith introduces are so very basic - Create Object, Recursion, and Inheritance, for instance - that I doubt that most application programmers will find its elementary pattern catalog particularly useful on a day to day basis. However, anyone involved in designing and programming refactoring browsers or the refactoring elements of an IDE will find the contents of the book very useful.
As a tool for automatically identifying incipient patterns in existing code I haven't seen anything that comes near it. Indeed, this was the genesis of the book - a project to automate the identification of certain patterns. Object oriented language designers may also find it useful for figuring out what they might need to build into their languages. The academic nature of the book is emphasized by substantial section on the formal logic involved using p-Calculus, on which I don't feel qualified to comment.
Overall, I'd say that this may well be a useful book if you want to study patterns in more depth, or you are interested in automatic pattern recognition. As an ordinary programmer, though, you won't find a great deal that's of instant use, since the patterns described are of a sufficiently low level that they are built into the language and idiom of most object orientated languages.


A Line in the Sand by James Barr, published by Simon & Schuster UK
James Barr's book is a tale the activities of the British and French in the Middle East, from the Picot-Sykes agreement in 1915 to the British withdrawal from Palestine in 1949. But it is not merely a narrative, it contains a measure of analysis as well. Like many people, I knew a few of the highlights, if that's what they can be called, but this book enabled me to put the disparate pieces together.
Although the activities of both the Jewish and Arab peoples are covered, the book is really about the imperial rivalry between Britain and France. The two World Wars of the 20th century have perhaps hidden to many the fact that rivalry and war between the two goes back at least 700 years, and that much of the second half of the 19th Century was occupied by skirmishes between the empires of the two.
Given this situation, it was hardly surprising that the question of who should dominate the Middle East after the demise of the Ottoman Empire had potential for disrupting the Anglo-French alliance in the middle of the First World War. Even after an agreement between the two imperialist nations had been agreed - a line on the map from the 'e' in Acre, to the 'k' in Kirkup - each sought to undermine the other's position, and each proceeded to treat the people living in the area they controlled in a way guaranteed to eventually cause rebellion.
Reading this book is a bit like watching a slow motion train wreck. We all know what the outcome was, everyone has their own idea of what should have been done, but Britain and France continued with the same policies that had already dug both of them into a deep hole. At times one almost fears to turn the page to see what the next blunder is.
I recommend this book to anyone who wants to understand the history of the problems that currently beset the Middle East. To my mind it's pretty even handed in its approach to the main protagonists. Some of the uttering and beliefs of the leading characters will sound pretty appalling to the modern ear, but you have to remember that imperialism was a respectable and dominant ideology for both sides during the two wars and in the inter-war period.
Recommended.


API Design for C++ by Martin Reddy
Martin Reddy has written a very useful book on the art and science of Application Programming Interfaces (APIs), and along the way has produced a book chock full of useful hints and help for more junior programmers. It is not a book for someone wanting to learn to program in C++, but if you have been programming in C++ for a year or so, then you will find this book will help you move toward towards program design instead of just 'coding'.
Obviously, the book concentrates on API design, but along the way it covers selected patterns, API styles, performance, testing and documentation. As a bonus it also covers scripting and extensibility, and I found the section on plugins particularly useful. An appendix covers the varied technical issues involved in building both static and dynamic libraries on Windows Mac and Linux.
The only minor disagreement I would have with the author is with the extent to which he goes to move internal details out of header files in the name of preventing the API users from doing anything that might allow them to access those features. From my point of view, using the API is a type of contract between the API writer and the API user. If the user is foolish enough to break that contract then he or she has to take the consequences in terms of broken code when a new version of the library comes out. In any case this sort of behaviour should be picked up by code review in any halfway decent software studio.
That is, however, a minor niggle, and this book represents a rich seam for programmers to mine for good programming practices - even if you aren't writing API, your use of them will improve dramatically!

Fatal Colours By George Goodwin, published by Phoenix
The Wars of the Roses is not a period that I'm particularly familiar with. I had vague recollections from school history that it was fought between the Lancastrians and the Yorkists, but that was about all. I bought this book because I thought maybe it was about time I found out.
And I did! The book is not just about the battle of Towton, it is about the political and dynastic events that led up to what is the most bloody battle ever fought on English soil.
Moreover, the book is extremely well written and easy to follow, although you really do need to keep a marker in the genealogical section at the end of the book to help work out what is going on at times, as key figures keep swapping sides. That, though, is to do with the nature of the politics,  not Mr Goodwin's explanation!
The book culminates in the battle of Towton, which is well explained not just as the outgrowth of the dynastic politics of preceding period, but also in terms of the battlefield technology of the available to the protagonists. I'm not qualified to pronounce on the disputes among historians that seem to bedevil discussion on this period, but I found George Goodwin's account and analysis clear and believable. Recommended.


The Information by James Gleick, published by Fourth Estate
I've been a fan of James Gleick's work ever since his book on Chaos came out. Thus I was looking forward to reading his book on information. Unfortunately, for the first time I was disappointed. It's difficult to put a finger on a specific reason why I should have only got part way through the book before abandoning it. I'm used to reading larger books than this, so it wasn't the size. The writing seemed more turgid than past work, and the portraits of the key figures more fuzzy. And, of course, it wasn't helped by the tiny print size used by the publishers.
Unlike some of the other reviewers, I don't have any specific disagreements with Gleick's ideas on information, at least as far as I got through the book. It was just that the writing was too pedestrian to hold my attention for long enough to complete it.


Thatcher & Sons, published by Penguin Books
Thatcher & Sons is not a history book, though it is a book about history. Simon Jenkins has written a penetrating account of the political theory that has dominated the British political scene for the past 30 years. Jenkins' fundamental contention is twofold. First that there were two defining strands to what has become known as 'Thatcherism', and second that her successors, John Major, Tony Blair, and Gordon Brown, were all themselves Thatcherites, who carried through the political revolution that she articulated and set in motion.
The first strand (Simon Jenkins calls them 'revolutions', which is a little over the top) is the one most people associate with Thatcherism - reducing the power of the unions, privatization of parts of the British state, and encouraging capitalism. The second strand was increasing centralization and the destruction of local democracy. In many ways the second 'revolution' was an inevitable outgrowth of the way the first privatizations were handled.
Most of the privatization was actually done by Major, Blair, and Brown - Thatcher's main achievement was to make this possible by destroying the power of the unions. There were roughly three categories of services run by the government that Thatcher and her heirs privatized. The first was a bunch of relatively small services that don't directly impact on the average person, for instance the British Standards Institute and the Ordinance Survey. These were privatized with little obvious problems.
The second category was the utilities - gas, electricity, and water being the most obvious. Utilities have always been a problem. They are natural monopolies, which means you either run them yourself, as many municipalities have opted to do over the last 150 years, or you heavily regulate them. Thatcher and sons opted for the latter, and thus started on an unending round of regulation and the central setting of 'targets' to be met.
Third came a group of large industries, such as rail, coal mining, telecoms, and health. The first three were privatized, each with its own central regulator. Health was different. The population of the UK has a love/hate relationship with its National Health Service (NHS). At one level they are fiercely attached to it, and will fight to keep it. However, the endless waits for, and the dehumanizing nature of, NHS hospitals infuriated them. Thus an all out assault on the NHS was not on the cards, even for the arch nationalizer, Tony Blair. The result was an attempt to nibble the NHS to death. This took the form of a combination of outsourcing many of the non-patient facing services, combined with heavy regulation from the center, not to mention more reorganizations than you can shake a stick at.
Having got a taste for regulation, and combining that with a strong distrust of local democracy, Thatcher and her successors turned Britain into one of the most centralized and closely regulated states in the world. Simon Jenkins' book is the story of how all this came to pass, and a keen analysis of the details. His analysis is the correct one - centralization isn't working, and neither is heavy handed central regulation. His prescription is also, in a way, correct - that we need to return to having services run and controlled by local democracy.
Unfortunately there is little in the way of any idea how this can be achieved. He seems to have the idea that what the national state has taken away the national state can give back. Sadly, that isn't true. Politicians never give power back to the people - for a start they don't trust them. Politicians always believe they know best, and power carries its own insidious intoxication. Local communities will have to wrest back their power and authority from the state, but how they might do that is a story yet to be told!
For all that final weakness it is a thundering good read, from an ace political commentator. Highly recommended.


Quantum by Manjit Kumar, published by Icon Books
This book is as much about a small group of highly talented scientists as the theories they developed, but it is above all a history of the debate over the meaning of that theory - quantum mechanics. In order to tell the story Manjit Kumar skilfully blends pen portraits of the people involved with an explanation of the theory as it developed and the debate it engendered.
The underlying reason for the debate, whose main protagonists were Niels Bohr and Albert Einstein, was simple: is there a 'quantum' world, a hidden reality, or is there only an abstract quantum reality? Einstein took the former view, Bohr the latter, and the argument over the question raged throughout the 1920s and 1930s.
The discussion was very sophisticated, but at stake was a vital question for physicists. Is it possible to construct a model of reality where everything occurs because of a definite cause rather than merely being able to specify the probability of an event occurring. Einstein believed it was possible to construct such a model, and that the fact that quantum theory was unable to do so indicated to him that it was not a complete theory.
The question was not resolved until long after the deaths of its the two main advocates, but if you want to know what the answer was, I suggest you read the book, it's well worth it! Recommended.


Tried by War by James M. McPherson, published by Penguin Books
There are many books about the American Civil War, but James McPherson's 'Tried by War' is the only one I know about Lincoln's role as commander in chief. The gap Mr McPherson fills is important, because Lincoln was the one who effectively defined what the powers granted to the commander in chief in broad outline by the constitution really meant in practice.
Lincoln's search for generals capable of winning the war is well known. (It wasn't until I played the USA in Paradox's computer game 'Victoria II' that I really appreciated the problems he had.) One the interesting things that comes out of this book is the way the self-taught Lincoln, who systematically read the military textbooks of the day to educate himself in military affairs, was able to zero in on the importance of destroying the enemy armies. Most of his early generals were fixated on taking territory - especially Richmond.
One of the consequences of this was that while Lincoln saw Lee's forays into Union territory as an opportunity to cut the Army of Northern Virginia off, envelope it, and destroy it, his generals merely saw it as an opportunity to march in the opposite direction - towards Richmond. Perhaps this is a natural consequence of the fact that in a civil war you know the enemy personally, especially in the higher echelons, who you trained with, and you therefore seek ways to win the war without fighting bloody battles. Unfortunately, such an attitude, while it may be laudable, doesn't win wars.
Mr McPherson has written one of the most readable books on any aspect of the Civil War that I have come across, and I can thoroughly recommend it.


The Essential Guide to HTML 5 by Jeanine Meyer, published by FriendsofEd (Apress)
I really can't recommend buying this book. It seems to have been written mainly for people with a very short attention span, and therefore skips on explaining why you do things in a specific way. The chosen way of displaying program listings, while it might have be useful for annotating each line, makes it impossible to look at the program flow, or consider the over all design. The one correct idea - that of incremental program development - becomes merely a vehicle for large spaced out repetitive chunks of code which probably extend the size of the book by as much as 20%.
The code itself, is, how shall I put it, somewhat less than optimal, and not conducive to creating good coding habits by those learning from the book. For instance, in the dice game example, the code for drawing a dot on the dice is repeated in a 'cut and paste' style every time a dot is drawn, instead of being gathered into a function and called each time it is needed.
I shudder to think about what sort of web site someone who learned from this book would put together. Fortunately, perhaps, they are not likely to learn enough from the book to make a web site work.
A triumph of enthusiasm over pedagogy. Definitely not recommended!


Nginx HTTP Server by Clement Nedelcu, published by Packt
Nginx (pronounced as 'Engine X') is a lean, mean and fast web server. It's open source, and designed to serve pages fast. We use it at work, and, while it is not as well known as Apache, and maybe not as comprehensive, you don't need a Ph.D. in chaos theory to understand and write its configuration files!
This book is an excellent, and thorough, introduction to how to set up and use the server. Nginx is a modular server and the core modules, together with the rewrite module, the server-side include module, and the SSL module are covered in sufficient depth that anyone with a reasonable level of sysadmin knowledge would be able to set up the modules properly and safely. Other 'standard' modules are covered briefly, but third party modules are not covered at all. At first I thought that was an unfortunate omission, but on reflection, given the speed with which third party modules are developing and changing, that was probably a wise decision.
Once the author has covered all the basics there are a number of interesting and useful chapters covering other related topics. One of them covers using Fast-CGI both with Python and PHP. This is excellent, and includes a basic explanation of what CGI is and how to interface and use Nginx with the PHP-FPM and python based Django frameworks. Another chapter teaches you how to use Nginx as a reverse proxy along with Apache, and a third chapter covers the tricky business of moving your web site from Apache to Nginx.
The only weird thing about this book is the first chapter, which appears to be a potted newbie's guide to Linux system administration. I've no idea why it's there, perhaps the author's contract with the publisher specified that the book had to be over 300 pages long? Most people trying to set up a web server will probably know at least some system administration. If that's the case, my advice is to start at chapter two.
I was impressed by this book (actually I was also very impressed with Nginx) and I would definitely recommend it to anyone coming to Nginx for the first time.


The Atomic Bazaar: Dispatches from the underground world of nuclear trafficking by William Langewiesche, published by Farrar, Straus and Giroux
This book had been sitting on my wish list for a while before I finally got hold of it and started to read it. The result was a complete overturning of my preconceptions of where the dangers of nuclear explosions lie.
The book falls fairly neatly into two parts. The first deals with the possibility of a terrorist nuclear weapon assembled from stolen materials obtained in the former Russian empire, while the second discusses Pakistan's acquisition of nuclear technology from Europe, and its spread to other nations.
The scientists who built the first atomic bomb, taking it from a theoretical concept to practical weapon, were very clear about the implications. Once it had been proved to work, building more such weapons was merely a matter of engineering - and second time around it's always easier than first time. Added to that is the fact that unlike in the west where science and engineering are not a popular career choices, the emerging nations like India, Pakistan and China have a culture in which science and engineering are high prestige professions (eight out of the top nine government officials in China have engineering or science backgrounds - both the president and the premier are engineers by trade).
For both terrorists and nation states the fundamental problem is to get their hands on fissile material - usually highly enriched uranium (HEU) - in adequate quantities. Once you have HEU, building some sort of bomb is not difficult, although realizing the full potential is a more serious engineering problem. The most likely place to get such material for terrorists is from a production facility in one of the old Russian states, and western (in practice, mostly US) security officials tend to concentrate on this. The author examines this possibility very carefully in the first part of the book and concludes, correctly in my view, that it is unlikely - not impossible - just very unlikely to happen.
The second half of the book then recounts the story of how Pakistan became a nuclear power, using stolen western technology, and how it contrived to export that technology to countries like Libya and North Korea. There isn't space to go into the story here - you need to read the book - but the conclusion is stark and unambiguous. The big cities of the Indian sub-continent, Mumbai and Rawalpindi, for instance, are much more likely to suffer the ravishes of nuclear weapons in the near future than are New York, Washington or London.
The story unfolded in this book is not a happy one. It is, however, one that deserves to be heard, and it is told in a way which makes it accessible to ordinary citizens who are not experts on global proliferation. More to the point it is told without hype or hyperbole, and with no axe to grind on the part of the author - something that's all too rare when this issue is discussed.
Highly recommended.


Blood, Iron & Gold: How the railways transformed the world
by Christian Wolmar, published by Atlantic Books
Christian Wolmar's book is as much a social and political history of the railways as it is the story - and a very readable one - of how they were built. The eclipse of the railways by motor cars in the second half of the twentieth century has obscured the extent to which railways changed the world.
In some parts of the world, Europe, for instance, they linked the cities and towns and drove trade to previously unheard of heights. In other parts of the world, and the USA is only the most obvious example, they were instrumental in creating a unified nation. In addition, railways have their own dark side. The two World Wars would have been unthinkable without the railway's ability to move men and munitions rapidly between battlefronts.
The book is a fascinating read peppered with heroes, villains and interesting stories about the rise and fall of the railways. You don't have to be a trainspotting geek to enjoy this book, just have an interest in how the past - and present - were shaped by one particular piece of technology at a particular time. All in all, a thundering good read by an author with a real passion for his subject!


Engines of Logic: Mathematicians and the Origin of the Computer
by Martin Davis, published by W. W. Norton & Co
This is a nifty little book chronicling a strand of the work of western logicians over the last 300 years that culminates in the work of Alan Turing and John von Neumann, and provides the theoretical underpinnings of modern von Neumann architecture computers.
The tale starts with Gottfried Leibniz and his dream of machines that would carry out calculations in a universal mathematical language, freeing the mind for creative thought. The fact that the theory and technology for such a machine did not exist in the seventeenth century did not stop him from (unsuccessfully) trying. This was, after all the man who invented the notation for integral and differential calculus that we still use today.
The torch was then taken up by George Boole, whose achievement was to turn logic into an algebra, work which was deepened by Gottlob Frege. The next in line was Georg Cantor, whose work on sets was to provoke more than a little controversy. From there the trail leads through David Hilbert and Kurt Godel to Alan Turing and his concept of a universal computational machine - known ever after as the Turing Machine.
And, finally, we come to the end of our journey with John von Neumann, who laid down the theoretical basis for modern computers in a seminal paper that reported on the logical organization of an all-purpose computer - in this specific case EDVAC, the successor ENIAC, the very first US digital computer.
The book contains mini-biographies of all the logicians covered, and has an excellent and clear exposition of the breakthroughs they made. You don't need to be a maths wiz to understand the book (no mean achievement on the part of the author), although it would possibly be an advantage to have some understanding of logic and set theory.
An enlightening and enjoyable read.


Lessons Learned in Software Testing: A Context-Driven Approach
by Cem Kaner, James Bach & Bret Pettichord, published by Wiley
I first heard about this book at a London Tester gathering which I sneaked into (I am after all a programmer, not a tester!). It's a fabulous collection of tips and hints and techniques for both the new and the experienced person working in a software test department. It covers obvious areas - testing techniques, automated testing (the material about what automated testing can't do is very high grade material), documenting testing, and managing a test project.
But it also covers some less obvious issues such as thinking like a tester, bug advocacy, and how to interact with programmers. The style is to offer the advice in bite sized chunks, and, to my surprise, it works, making it easy to look up something only half remembered, in a moment.
Even more importantly, from my point of view, the book is easily useable if you aren't a professional tester. If you are a programmer, or even the CTO, in a small company that doesn't have a software testing department, you will still get a lot of new ideas out of the book. Many of the ideas are a nice fit with programmer test driven development - some of them will work for you, some won't. Happily, the book isn't dogmatic, it's much more of a 'this is what we have found can work in some of the projects we have been involved in' style. And it works very well indeed.
Highly recommended.


The Blue Moment
by Richard Williams, published by Faber and Faber
Miles Davis's 'Kind of Blue' album was the first jazz record I ever bought. Little did I know, at the time that this mirrored most other peoples' experience - many of whom have only that one jazz record! Richard Williams book is the story of that album. It's not merely about the making of the album, although that aspect is covered.
It's about how the recording came out of a crisis in jazz and about the influence it has exerted in the jazz, rock and progressive music milieus for over 50 years. As I read this book I discovered to my fascination that many of the other musicians whose records I have in my collection are an outgrowth of the tracks Miles Davis and his group laid down in a converted church in Manhattan in 1959.
Rock groups heavily influenced by 'Kind of Blue' include the early Velvet Underground (thanks to John Cale), the first couple of Roxy Music albums (thanks to Eno), The Who (particularly the tracks 'Baba O'Riley' and 'Won't Get Fooled Again' on the 'Who's Next Album'). I guess that I now know why I liked 'Who's Next' so much and why I was so disappointed when their next album returned to more conventional rock music! 'Kind of Blue' was also the inspiration behind almost the whole ECM music catalog, and of course Soft Machine. I suspect early King Crimson fall into the same category, though that isn't specifically mentioned by Williams.
If you're not a musician (I'm not), then I suspect that some of the more technical explanations of what is happening in the songs will probably go past you, but don't let that put you off, the book is a great story about an interesting cultural phenomenon of the last 50 years.
Recommended.


Berlin: The Downfall 1945
by Antony Beevor, published by Penguin
Antony Beevor is one of the best military historians of the current period. As always his blend of strategic, operational, tactical and personal makes for compelling and scary reading. And the fall of Berlin at the hands of the soviet Union was very scary indeed. Beevor doesn't pull any punches in his discussion of the principals, whether it be Eisenhower's failure to understand the importance of the west securing Berlin for the post war shape of Europe, or the systematic tolerance of gang rape by the Soviet military and political leadership.
The result is classic Beevor, a knowledgeable description and analysis of the military campaign, mostly in the East, interspersed with reminiscences from those caught up in it.
Highly recommended.


Measuring America
by Andro Linklater, published by Harper Collins
As a kid I often wondered, looking at my atlas, just how they got all those straight lines on the maps. Later I came to understand that in places like Africa, it was done by bureaucrats drawing lines on maps. But what about America? In the USA, most of the states were created long after the colonies won their independence in the American Revolution. Thus, when I saw this book in a pile on a table in a bookshop, I jumped at the chance to read it.
And I wasn't disappointed! Around the story of how those lines were created by surveyors using a 22 yard long chain (aka Gunters chain) Andro Linklater spins a fascinating story. That 22 yards was critical, it governed everything from the size of lots for sale, to the width of roads in cities. But the beauty of book is not just about how the measurements were actually made, although there are plenty of stories of that endeavour, it's about the struggle to impose a new way of measuring (the metric system) on ordinary people, and their resistance to it. It's also about how land was turned into property, Federal property in the case of the USA - which led to the biggest land sale in the history of the world.
The problem is, you see, that the traditional measures make it easy to divide things up, while the metric system makes it easy to count. Two completely different problems. In addition the traditional ways are all tuned to a human scale, while metric units can go from the very small, less than the size of an atom, to the very large distances used by astronomy. No surprise that metric was the favoured measuring system of the scientists!
The struggle started with the American Revolution - Thomas Jefferson's original proposals for the new United States included not only the creation of the dollar, the method for creating new states and how they should be surveyed, but also a new, decimal based, set of standard weights and measures. The new weights and measures proposal got mysteriously lost during the period while Jefferson was in Paris as the Minister of the United States.
The struggle, I notice, continues to this day in both the USA and the UK...
All in all an excellent read.


jQuery Recipes: A Problem-Solution Approach
By B. M. Harwani, published by Apress
Cookbook/Recipe style books seem to be all the rage at the moment. Although I prefer reference books, I do find the cookbook style useful for things that I don't do very often, and this book was no exception. I would emphasize, though, that it's not a book you could really use to learn how to use the library.
jQuery is one of the most widely used JavaScript libraries and the book provides solutions to a wide range of the problems you are likely to encounter. The books starts out with the basics - selecting and using the DOM, and moves on to more complex situations from there. I found the form validation examples, and the event handling material particularly useful.
Each entry consists of a statement of the problem, followed by a solution, and then a longer or shorter explanation and discussion of how and why the solution works. The stuff I used out of the book worked just fine, with no errors. Obviously, I didn't use everything, but the quality of the code provided seemed fine to me.
I was, however, a bit disappointed by the quality of the book production. The paper it's printed on is rather low quality, and some of the fonts used in displaying sample output are reproduced in very small type, making it difficult to read. Overall the level of graphic design leaves something to be desired. Fortunately, the content manages to overcome this handicap.
I found it useful, but I suspect this is partly a matter of taste. Ten years ago I would have recommended dropping into your nearest computer bookshop and browsing through this book and the O'Reilly equivalent to see which one is more to your taste. Sadly the dominance of Amazon has ended the possibility of this sort of activity, as well as the possibility of serendipity in the finding of books you never knew existed.


C++ GUI Programming with Qt4 by Jasmin Blanchette and Mark Summerfield. Prentice Hall
Qt is a C++ cross platform library. It started out as a GUI library, but it has long outgrown that, and it's starting to look more and more like a comprehensive cross platform framework. It's also gaining new features very fast, which is something of a problem for any author.
None the less, this book will provide application programmers with a solid foundation when they come to use Qt. When I did a comparative review of Qt books last year, I didn't have access to this book. However, I recently used a colleague's copy at work, and found it so much more useful, and comprehensive, than my other Qt books, including the earlier edition of this book, that I bought my own copy out of my first paycheck! What better recommendation could you want?
This book is a must for those who need to use the entire framework, since it covers far more than just the GUI, including multithreading, networking (note, though, that it doesn't cover using the QNetAccessManager, which arrived after the book went to print), 3D graphics, using databases, and extending Qt programs with Javascript.
The one real weakness of the book, probably caused by the rapid development of the framework, is that the GUI material basically assumes that the reader wants to program the GUI facilities directly instead of using Designers and/or Creator. I've noticed that there is a little bit of snobbishness in the Qt community, with the old guard maintaining that the only way to work in Qt is via direct programming. Hopefully the next edition of the book will teach GUI programming via the Creator IDE, and the Designer. Lets just see if we can break the 'real programmers program in noughts and ones' attitude in parts of the community :)
So would I recommend this book? Wholeheartedly. My current job has taken me into realms of the Qt framework I've never used before, and this book enabled me to get up speed very fast under a schedule that was very, very, tight.
Highly recommended.


Slack by Tom DeMarco. Dorset House
Another superb piece of work from the legendary Tom DeMarco. The book, as he so aptly puts it, is for people who don't have time to read it, so it's designed to take the length of a flight from New York to Chicago to read.
For all that it's short, it's packed with good advice. The central thesis is that many modern corporations are unable to respond to changes in the marketplace because they are now completely optimised for what they already do and sell, and have pared the staff down to a minimum which gives them what they believe is total efficiency.
The problem is that this leaves no one, especially the middle management, at whom the book is especially aimed, with any time for innovation when something comes along which undermines the current way of doing business.  Along the way the book looks at Busyness, Burnout, Aggressive schedules, leadership, and risk, to name but a few topics covered.
This book is a great read for anyone interested in modern business, but I'd especially recommend it for anyone who is just starting to take up management responsibilities.
Highly recommended.


Armageddon by Max Hastings. Pan Books
This is a war book with a difference, covering the last eight months of the Second World War in Europe. Unlike most of its peers it is a story not just of generals and battles, but of the suffering that goes with modern warfare, and an assessment of the strengths and weaknesses of the various armies.
If you want a blow-by-blow account of the various battles of this period, Arnhem, the Oder crossing, the Battle of the Bulge, and lesser known, but no less lethal affairs such as Hurtgen Forest, then this is not the book for you. If you want to get some idea of what it was like to live and fight in northern Europe in the last months of the war, then I can't recommend a better book.
The book makes extensive use of eyewitness accounts from the civilians, soldiers, airmen, and prisoners to build a portrait of suffering that I have rarely previously encountered. As a game designer who has previously had a war game published, I've always worried about the inability of computer games to give an indication of what modern warfare means in human terms. This book brings it home in no uncertain fashion.
The book also makes an interesting assessment of how the different armies fought, and why they fought in the fashion they did. I don't necessarily agree with the conclusions, but I think they represent an important contribution to a debate that deserves more airing. Having said that, there is a definite tendency to preach. Hastings has a very clear set of political views, and in this aspect of the book he is clearly wants his view to prevail. Even so, as long as the reader is aware of this, Hastings' contribution to the debate is very valuable.
Recommended.


Colour: Travels Through the Paintbox by Victoria Finlay. Sceptre
I got this book in a special hardback edition as part of my membership of the Folio Society, but the text is the same as the commercially available edition.
This isn't a book I would have bought unless I happened to find it while browsing in a bookshop, and I started reading it in the rather desultory way in which one does when given a book for free.
It didn't take long to get hooked! It's a collection of stories about the author's search for how the natural colours used for dye are made  - going through each colour of the rainbow in turn.
The first synthetic dyes were invented 150 years ago and, as Ms Finlay discovered, that's long enough for the making of the original, organic dyes to have died out. However, in most cases, persistence paid off and she was able to visit the original sources and discover the stories behind the processes.
I learned a lot from this book, which is one you can either just dip into for individual tales, or read at length straight through. I would be happy to recommend it to anyone with an enquiring mind.


The Dragon in the Land of Snows: A history of modern Tibet since 1947 by Tsering Shakya. Pimlico
I was very impressed with this book. It is one of the few books about modern history that I've read which tries to lay out the motivations of both sides in the conflict. That's not to say that the book does not take a stand - it is firmly pro-Tibet.
However, only by understanding the motivations of the Chinese can you understand why it is that after 50 years of Communist Chinese occupation - three generations, effectively - they have failed to stabilise the situation and wean the Tibetans away from their culture and religion.
In laying out the Chinese motivations, and tactical blunders and successes of the Tibetan leadership, the author succeeds magnificently. At the end of the book, while the reader's sympathy will undoubtedly lie with the much abused Tibetans, there will also be an understanding of why the Beijing government has plowed such enormous resources, both human and hard cash, into the area over the past 50 years. Significantly, the reader will also have some idea of the way in which western governments deliberately hindered the attempts by the Tibetans to internationalise their plight.
The only very minor criticism I have is that a preliminary chapter giving a brief outline of the history of Tibet prior to 1947 would have been useful. Tibet, a bit like Poland in Europe, seems to be one of those countries that is fated to emerge into history as an independent entity at intervals, only to be seized by one of its more powerful neighbours and vanish again for a while.
Highly recommended.


Back to the Phlogiston Blue top page


If you have any questions or comments about the articles on my web site, click here to send me email.