Category Archives: Book Review

Review: JavaScript: The Good Parts

JavaScript: The Good Parts

Quotable Quotes:

“There are ascending performance costs because Moore's Law doesn't apply to batteries.”

“I have never seen a piece of code that was not improved by refactoring it to remove the continue statement.”

I really like the idea of pointing out the “good parts” of a language, encouraging good coding practice by using the bits that make sense. This book takes just such an approach, and is unabashed about highlighting the parts of the language that the author thinks are bad, such as the poor scoping rules for variables.  More importantly, the book has proposes best practices for working around the limitations, as well as utilizing features in an effective way.  For example, utilizing a single global object instead of a pile of individual global variables reduces potential naming conflicts with other modules.

For developers who already know one or a dozen other languages already, this is a refreshing approach to getting up to speed in a language that has a number of features that are not in common with other languages.

Review: Learning Docker

Learning Docker Book Cover Learning Docker

1-Getting Started with Docker

Installing Docker via AWS Elastic Beanstalk or on a local Linux instance.  Brief reference to other container systems on Windows and Mac.

2. Handling Docker Containers

3. Building Images

4. Publishing Images

5. Running Your Private Docker Infrastructure

6. Running Services in a Container

7. Sharing Data with Containers

 

Detailed.

Review: Introducing Maven

Introducing Maven Book Cover Introducing Maven

Introducing Maven offers comparisons with Gradle, Ant, Ivy, then explains the tasks that can be performed with it, and details of configuring a pom.xml project file.

If I’m going to read a whole book on a technology, I’d like a bit more depth.  Why does this work, rather than just how it works.  While following the examples in the book, I was able to learn how to build configuration files and utilize Maven.  But a different book might have provided more underpinnings: what is the fundamental paradigm that will obviate the need to go through tutorials and practice.

Review: Core Java Volume I

Core Java Volume I-Fundamentals Book Cover Core Java Volume I-Fundamentals
Cay S. Horstmann; Gary Cornell
Prentice Hall

One measure of a great novel is whether it's worth reading a second time.  Similarly, the measure of a great technical book is whether it's worth reading cover to cover when you are already familiar with the topic.  As a Java programmer, I might have assumed that reading an entire book on the Java language would not be a worthwhile way to pick up the handful of tidbits that I'd managed never to have acquired.  But I would have been wrong.

While this text could be used for someone with a programming background but new to Java, it's structured well enough to solidify and enhance the understanding of someone who's already done this a few years.  Specifically, the authors' experience shows when they explain various options for using a feature of the language, explain the comparisons, and then unabashedly advise "do it this way; don't do it the other way".  For example, the section on multithreading gives clear and concise explanations as to how create threads and locks and use the "synchronized" keyword, and compelling explains why you'd want to use each of the various options, including the "never" do this cases.

It would have been easy to gloss over "type erasure", as the phrase doesn't imply what it is or why we would care.  By including clear opinions and warnings from their own experience, I now understand that generic types in Java are a compile-time construct rather than a full enhancement to the underpinnings of the runtime.  The authors explain every consequence of the fact that Java containers actually lose some of their type information after compilation, and therefore why there are arbitrary-seeming limitations and otherwise inexplicable compile-time errors.

While this book is titled as if it would be a solid reference book to let collect dust on your shelf, I found it much better suited for enhancing my mental framework about what Java can and can not do by simply reading it.

Review: Singletasking

The successful man is the average man, focused.

—ANONYMOUS

You would not believe how difficult it is to be simple and clear. People are afraid that they may be seen as a simpleton. In reality, just the opposite is true.

—JACK WELCH

Dr. Earl Miller at the Massachusetts Institute of Technology: “You cannot focus on one [task] while doing [an]other. That’s because of what’s called interference between the two tasks.… People can’t multitask very well, and when people say they can, they’re deluding themselves. The brain is very good at deluding itself.

Chapter 2

Singletasking is characterized by high energy and sharp focus … yielding exceptional results and respect.

Concentrate all your thoughts upon the work at hand.

The sun’s rays do not burn until brought to a focus.

—ALEXANDER GRAHAM BELL

Part II

Focus and simplicity. You have to work hard to get your thinking clean, to make it simple. It is worth it because then you can move mountains.

—STEVE JOBS

…the fact that we are hesitant to be alone with our thoughts.

The prefrontal cortex shrinks from the stress of constant overload. The amygdala takes over, flooding the brain with negative emotions such as fear, aggression, and anxiety. As gray matter shrinks, we become cognitively impaired.2

Lewis Cass: “People may doubt what you say, but they will always believe what you do.”

When I conduct 360-degree feedback assessments, one of the most shocking and common results for executives is that they are perceived as untrustworthy. This does not mean they are unethical. It usually indicates the leaders don’t prioritize their staffs’ needs.

Receiving undivided attention for five minutes seems universally preferable to being held hostage in someone else’s hectic office for forty-five minutes, while scores of other tasks take precedence over the meeting itself.

One technique that may help you to integrate Dr. Kross’s advice is to use third-person pronouns or your own name when writing, thinking, or speaking about challenges you face. Practicing self-reflection to work through life’s challenges is one of the most beneficial applications of singletasking.

Always do one thing less than you think you can do.

—BERNARD MANNES BARUCH

Review: Winning

Winning Book Cover Winning
Jack Welch

“When you are a leader, your job is to have all the questions.”

Rule 1 Leaders relentlessly upgrade their team, using every encounter as an opportunity to evaluate, coach, and build self-confidence

Rule 2 Leaders make sure people not only see the vision, they live and breathe it.

Rule 3 Leaders get into everyone’s skin, exuding positive energy and optimism

Rule 4 Leaders establish trust with candor, transparency, and credit

Rule 5 Leaders have the courage to make unpopular decisions and gut calls.

Rule 6 Leaders probe and push  with a curiosity that borders on skepticism, making sure their questions are answered with action.

Rule 7 Leaders inspire risk taking and learning by setting the example.

Rule 8 Leaders celebrate

It turns out there’s a lot in common between books by successful sports coaches on how they achieved what they did and books by business professionals who’ve reached the upper echelon.

The first is that to get someone to read your book, you have to have objective accomplishments that your prospective reader can understand.  You might read a book on the Jamaican bobsled team, for example, but it would be because you expect the story to curious and entertaining, not because the Jamaican bobsled team won a gold medal and made you wonder how you could do it as well.  That would be true even if the skills they acquired were actually greater than those of a team who had the advantages of, say, snow.  Similarly,  a book written by Steve Jobs after NeXT computer ceased being a company wouldn’t be read for insight on how to be Steve Jobs, even if Steve Jobs turned out to be, say, Steve Jobs.

The second similarity is that the skills required to succeed at sports or business are definitely not the same set of skills needed for teaching nor writing books.

The most significant similarity is that there is not a long list of prescriptive instruction for success.  It’s neither clear that the decades that sports coaches and entrepreneurs can be conveyed with a sit of prescriptive tasks, nor even that the writers are fully aware of the steps they took to success.  Is “Neutron Jack” Welch who he is because he invented a reproducible formula for management?  Or is his good fortune in having experiences that honed him to be the head of GE?  Is it the respect and intimidation others feel around him as a result of his personality?  His inherent skill in understanding and directing people?  His innate understanding of the nature of business?

Ultimately, there’s only so good an autobiographical business book can be.  We can gather insights into the thinking and behaviors of someone successful, but we can’t know whether their own understanding of the origin of success can be conveyed in even the slightest way through a book.

But on the other hand, there’s only so bad such a book can be either.  Getting any insight from someone who’s had extraordinary success, including their own view, and even their indulgences is worth the time it takes to read on of their books.

Review: Using Microsoft Project 2010

Sometimes a book is limited by its subject.  I was hoping for evidence that Microsoft Project can be used in a modern software environment to save time and make things easier.  Instead, I got something better.  This book, in its careful and politically correct detail, convinced me that Project is less useful for software, but could be of utility to users managing bridge building or other huge projects.

In short, the overhead of a tool like Project is enough that it’s not worth the time unless project management is your full time job, and even better if you’re not the only person managing projects.