In Pursuit of the Unknown: 17 Equations That Changed the World, by Ian Stewart
Stewart explores a variety of important equations, including:
Each equation gets a little one-page summary, and a chapter of explanation. I can't say I could re-trace every step of the math and physics, but the explanations were interesting and intuitive enough that I didn't feel lost. These equations and their stories give you a feel for beauty in mathematics.
|Accelerando, by Charles Stross. Ace, 2006.
This novel explores the Singularity: What happens when AI, uploading, and other variations of humanity (or non-humanity) start to happen. I was worried that a novel on this subject would basically be, "Computers take over, and who knows what they're thinking?" Instead, we follow the protagonist's family through generations, and get a plausible and enjoyable flavor of what the Singularity could mean.
|Structured Programming, by O.-J. Dahl, E.W. Dijkstra, and C.A.R. Hoare. Academic Press, 1972.
This year (2012) is the 40th anniversary of this text, but it holds up well. It consists of three essays:
If you've been led to think "Structured Programming = No GOTOs", the first essay will change your mind. It's much more a consideration of design in the small than a focus on surface form.
"Data Structuring" considers how to structure types; Pascal's type structure (remember that?) of records, sets, enumerations etc. clearly embodies some of these ideas. You can see roots of the "object-based" approach (that never seemed to make it to the mainstream in the way object-oriented approaches did).
The final essay describes mechanisms from SIMULA 67, an early (if not the original) object-oriented programming language. You can see the early consideration of objects and coroutines, classes and subclasses.
There's definitely a "historical" air to these essays, but they hint at a path almost taken. Modern libraries and the modern rush to deliver let us ignore many ideas about software design, but they don't go away. These articles take a slower, more mathematical path than I've seen anybody apply in practice, but it brings clarity of thought about mapping problems and solutions that I'd like to imitate.
|Applying Domain-Driven Design and Patterns: With Examples in C# and .NET, by Jimmy Nilsson. Addison-Wesley, 2006.
Stir together Eric Evans' Domain-Driven Design with Martin Fowler's Patterns of Enterprise Application Architecture, mix in C# code, and you've got the flavor of this book.
It's not as classic as its antecedents. But it does provide useful examples, relating it from the perspective of someone familiar with database issues, but who now comes at things from the domain-driven perspective.
Some of the tools used have changed, but the basics still hold.
Ruled Britannia, by Harry Turtledove.
This is another of Harry Turtledove's alternative history novels. In this case, the Spanish Armada succeeded in the late 16th century, and Spain has taken over England. This is the time of Shakespeare and Queen Elizabeth, and Shakespeare ends up involved in politics and intrigue – what will become of England?
It's good fun – lots of small changes in plays and titles, and lots of witty dialog and snaps in a Shakespearean style.
Musashi, by Eiji Yoshikawa. Kodansha International, 1995.
Swordplay, true love, and a man climbing up the side of a cliff. It's not the Princess Bride; it's the story of Musashi, the most famous swordsman of Japan.
This is a romanticized, historical fiction novel. Musashi started out on the losing side of a battle, and spent his life seeking the true way of the samurai. The story has many coincidences and near misses (though fewer than the average episode of 24), but the charm and fun overcomes that.
Don't Make Me Think: A Common Sense Approach to Web Usability, by Steve Krug. New Riders Press, 2005.
This thin book provides guidance on the basics of web usability. It focuses on the importance of doing things in a way that meet users' expectations. In addition to some well-thought out examples of re-design, he spends about a third of the book on a simple and cost-effective approach to usability testing. This would be a good choice for your first book on usability.
|Agile Product Management with Scrum: Creating Products that Customers Love, by Roman Pichler. Addison-Wesley, 2010.
This is a fairly easy read (about 120 pages) explaining the role of the Product Owner in Scrum. I'd describe the target as "someone preparing to fill the Scrum Product Owner role who already knows something about product management." There is a little material on product management techniques, but it's not the emphasis.
This book is divided into six chapters, talking about the product owner role, envisioning the product, the product backlog, planning, the sprint meeting, and transitioning into the role. There's a good discussion of simplicity, and a little bit on handling this role on large projects.
I particularly liked that most chapters had a section on "Common Mistakes"; they gave me the sense of getting advice from someone who'd seen and worked through these things with real teams.
I enjoyed these, but it definitely requires accepting that they are written from a particular moral stance. The story moves forward well and makes a fairly quick read.
The Clockwork Man, by William Jablonsky. Medallion Press, 2010.
Late in the 19th century, the world's best clockmaker creates a clockwork man (who doesn't like being referred to as a robot). He (it?) lets himself run down, and wakes up more than a century later, to figure out what happened before and where he should go next.
It's a short read, written in the form of a diary or journal. I thought the ending was foreshadowed too much, but it was an enjoyable story and I'll look for this author again.
(I saw this tagged as "steampunk" on Amazon; I hadn't run across that category before but it fits.)
|Pragmatic Guide to Git, by Travis Swicegood. Pragmatic Bookshelf, 2010.
I'm using git for the first time on a small project with a friend, and wanted a quick focused handbook to help with that. This book fills that bill. The guts of the book is a series of short descriptions, followed by concrete sets of commands to demonstrate how to make that work. Most of the time, the command reference has just what I'm looking for. (I've still got some blind spots on the tool but I won't blame the book for that; now that I have a little experience, I'll go back through some of the more expository material.)
|Guns, Germs, and Steel, by Jared Diamond. Norton, 2005.
Why did Europe take over North America and not vice versa? Guns, germs, and steel certainly made the immediate difference. Europe didn't acquire those randomly, but rather from specific factors.
The book could have been titled Food, Animals, and Latitude. Places with plants that could be more easily cultivated built a surplus that could support people doing things other than finding food. Places with animals that could be tamed had an advantage in reducing labor. And continents that are horizontal more than vertical let those plants and animals be shared more easily.
Diamond doesn't just use the example of Europe taking over North America. Rather, he explores the impact across a variety of cultures (including South America and the Pacific Islands). The result is a readable and interesting work.
Beginning iPhone 3 Development: Exploring the iPhone SDK, by Dave Mark and Jeff LaMarche. Apress 2009.
I'm a former NeXT programmer who hasn't programmed the Mac since before Apple pulled in the NeXT development kit. The iPhone environment looks very similar to the old NeXT environment, except with a lot of new libraries for the cool stuff.
Mark and LaMarche start from the basics, and cover the key ideas and widgets: outlets, actions, and controllers; views, tab bars, tables, and more.
I'm still a beginner, but I feel like this has given me a good foundation to push further.
Team of Rivals: The Political Genius of Abraham Lincoln, by Doris Kearns Goodwin. Simon & Schuster, 2006.
The 150th anniversary of the Civil War is coming up, so no doubt there will be plenty of books in this area. Lincoln is an amazing figure, more than I'd ever appreciated. Though his political rivals generally started with limited respect for Lincoln, Lincoln convinced them that the country needed their service. Even though they didn't always agree, Lincoln earned their respect.
Lincoln was better than his predecessor and better than his successor; it's interesting to speculate how things might have happened if he'd lived.
Goodwin writes well, presenting the story from letters and papers of the original time. (There are plenty of footnotes in back:)
Warriors of God: Richard the Lionheart and Saladin in the Third Crusade, by James Reston. Faber and Faber, 2002.
Saladin became the sultan of a mostly-united Muslim world (where Shia and Sunni were conflicting even then). The European side was dominated by Philip of France and Richard the Lion-Hearted of England. Many others are involved, including brief appearances by Eleanor (Richard’s mother), John (his brother), and even Robin Hood. This was war, but politics certainly had its impact. The story is always interesting, though occasionally marred by flashbacks. Even 800 years later, we feel the echoes of this conflict.