R IN ACTION: Data Analysis and Graphics with R, 2nd Edition – #bookreview

R in Action

Data Analysis and Graphics with R

Robert I. Kabacoff

Manning – paperback

Whether data analysis is your field, your current major or your next career-change ambition, you likely should get this book. Free and open source  R is one of the world’s most popular languages for data analysis and visualization. And Robert I. Kabacoff’s updated new edition is, in my opinion, one of the top books out there for getting a handle on R. (I have used and previously reviewed several R how-to books.)

R is relatively easy to install on Windows, Mac OS X and Linux machines. But it is generally considered difficult to learn. Much of that is because of its rich abundance of features and packages, as well as its ability to create many types of graphs. “The base installation,” Kabacoff writes, “provides hundreds of data-management, statistical, and graphical functions out of the box. But some of its most powerful features come from the thousands of extensions (packages) provided by contributing authors.”

Kabacoff concedes: “It can be hard for new users to get a handle on what R is and what it can do.” And: “Even the most experienced R user is surprised to learn about features they were unaware of.”

R in Action, Second Edition, contains more than 200 pages of new material. And it is nicely structured to meet the needs of R beginners, as well as those of us who have some experience and want to gain more.

The book (579 pages in print format) is divided into five major parts. The first part, “Getting Started,” takes the beginner from an installing and trying R to creating data sets, working with graphs, and managing data. Part 2, “Basic Methods,”focuses on graphical and statistical techniques for obtaining basic information about data.”

Part 3, “Intermediate Methods,” moves the reader well beyond “describing the relationship between two variables.” It introduces  regression, analysis of variance, power analysis, intermediate graphs, and resampling statistics and bootstrapping. Part 4 presents “Advanced Methods,” including generalized linear models, principal components and factor analysis, time series, cluster analysis, classification, and advanced methods for missing data.

Part 5, meanwhile, offers how-to information for “Expanding Your Skills.” The topics include: advanced graphics with ggplot2, advanced programming, creating a package, creating dynamic reports, and developing advanced graphics with the lattice program.

A key strength of R in Action, Second Edition is Kabacoff’s use of generally short code examples to illustrate many of the ways that data can be entered, manipulated, analyzed and displayed in graphical form.

The first thing I did, however, was start at the very back of the book, Appendix G, and upgrade my existing version of R to 3.2.1, “World-Famous Astronaut.” The upgrade instructions could have been a little bit clearer, but after hitting a couple of unmentioned prompts and changing a couple of wrong choices, the process turned out to be quick and smooth.

Then I started reading chapters and keying in some of the code examples. I had not used R much recently, so it was fun again to enter some commands and numbers and have nicely formatted graphs suddenly pop open on the screen.

Even better, it is nice to have a LOT of new things to learn, with a well-written, well-illustrated guidebook in hand.

Si Dunn

 

‘Little Pretty Things': An engrossing new mystery from Lori Rader-Day – #bookreview

 

 

Little Pretty Things

Lori Rader-Day

(Seventh Street – paperback, Kindle)

Lori Rader-Day already has proven she can write a good mystery. Her debut book, The Black Hour, won the 2015 Lovey Award for best first novel.

In Little Pretty Things, her forthcoming second novel, the Chicago writer gives us a most unusual investigator: a cart-pushing housekeeper and occasional desk clerk at a rundown cheap motel, the Mid-Night Inn. Juliet Townsend dropped out of college in her first year and went to work at the motel after her father suddenly died and her family’s finances quickly evaporated.

The author sets the scene quickly, with just enough seedy and telling detail. And she gets Juliet Townsend into trouble with the police fairly fast, as well. The housekeeper-desk clerk becomes the chief suspect in the death of a guest who could have easily afforded to stay in a fancier place, but wanted to see Juliet again just before their 10th high school reunion.

Madeline Bell and Juliet had been friends of sorts. Yet Maddy also had been Juliet’s main rival on the Midway, Indiana, high school track team. Maddy always ran faster and won the first-place trophies, while Juliet consistently finished second.

To prove her innocence and find Maddy’s killer, Juliet must somehow get ahead of someone else from her high school class, Courtney Howard, now a police officer who dislikes Juliet and seems determined to nail her for murder.

Available July 7, 2015, Little Pretty Things is an intriguing, entertaining mystery. It is rich with atmosphere, rich with some of the tense realities that people caught in deadend, low-wage jobs often have to face, and rich with desperate determination as Juliet begins her own investigation.

Si Dunn

The Obelisk and the Englishman: The Pioneering Discoveries of Egyptologist William Bankes – #biography #bookreview

 

The Obelisk and the Englishman: The Pioneering Discoveries of Egyptologist William Bankes

 

The Obelisk and the Englishman

The Pioneering Discoveries of Egyptologist William Bankes

Dorothy U. Seyler

Prometheus Books – hardback, Kindle

 

Early in the 19th century, a young Englishman repeatedly risked death and overcame numerous dangers as he sailed along the Nile River and journeyed into deserts, discovering and documenting important details about ancient Egypt, Syria and Jordan.

William John Bankes and his various crews dug away tons of sand from ruins, giant statues, and other artifacts of ancient cultures. Photography was still several decades in the future, so Bankes used the best available technologies of his time, including drawings and paintings, to create images of ruins, shrines, temple floor plans, and hieroglyphs found on walls and in pyramids. He sometimes dangled dangerously from ropes, as well, as he worked in high places to document details he could not decipher, yet knew were important.  On occasion, he even hired teams of artists to travel with him so he could record as many images as possible.

Once he returned to Great Britain after a few years of travels, he entered politics as his father had desired. He was elected twice to the House of Commons, and he maintained a friendship–and possibly more–with the poet Lord Byron, whom he had known since school days.

But Bankes soon found himself again facing death, this time at the hands of the English justice system. Homosexuality was punishable by imprisonment and execution in early 19th-century England, and Bankes was arrested twice on “unnatural behavior” charges that could have gotten him hanged. In his first trial, he was acquitted, thanks in part to testimony in his favor by the Duke of Wellington. Bankes’s second arrest, however, left him little choice but to flee England and go to France and then Italy, where he would pass away in 1855 at age 68.

Despite his great Egyptian discoveries, Bankes essentially died an outlaw from English justice. Yet, through an odd quirk in English law in force at the time, he had been able to return to England occasionally, as long as he was there only on a Sunday. Both from Italian exile and on quick trips back to his family home, Kingston Lacy, Bankes managed to add one more fascinating chapter to his life. He had become an expert on Italian art, and he began helping rework and remodel his English home in the style of an Italian villa, complete with many paintings and some works of sculpture. The home eventually was given to the National Trust in 1982 and, after “[s]ignificant conservation efforts,” was opened to the public.

Whether you know much about ancient Egypt or not, The Obelisk and the Englishman is a fascinating book about a fascinating explorer. It details his exploration methods and the lasting significance of the numerous discoveries and illustrations he made in the Nile region. And it takes readers inside his troubled life as he tried to find personal happiness within the very narrow confines of 19th-century British society.

“William lives on through his archeological work in both Egypt and Syria,” Dorothy U. Seyler writes in this well-researched, well-written biography of Bankes. “Of special value to Egyptologists are his drawings and notes on temples south of Aswan, since many of these temples were lost under the sand or the Nile waters. His discovery of the Abydos King List and his copies of the hieroglyphs contributed to the decoding of Egypt’s sacred language.”

Si Dunn

D3.js in Action: A good book packed with data visualization how-to info – #javascript #programming

D3.js in Action

Elijah Meeks

Manning – paperback

 

The D3.js library is very powerful, and it is full of useful choices and possibilities. But, you should not try to tackle Elijah Meeks’s new book if you are a JavaScript newcomer and not also comfortable with HTML, CSS and JSON.

It likewise helps to understand how CSVs (Comma Separated Values) can be used. And you should know how to set up and run local web servers on your computer. Prior knowledge of D3.js and SVG (Scalable Vector Graphics) is not necessary, however.

Some reviewers have remarked on the amount of how-to and technical information packed into DS3.js in Action. It is indeed impressive. And, yes, it really can seem like concepts, details and examples are being squirted at you from a fire hose, particularly if you are attempting to race through the text. As Elijah Meeks writes, “[T]he focus of this book is on a more exhaustive explanation of key principles of the library.”

So plan to take your time. Tackle D3.js in small bites, using the d3js.org website and this text. I am pretty new to learning data visualization, and I definitely had never heard of visualizations such as Voronoi diagrams, nor tools such as TopoJSON, until I started working my way through this book. And those are just a few of the available possibilities.

I have not yet tried all of the code examples. But the ones I have tested have worked very well, and they have gotten me thinking about how I can adapt them to use in some of my work.

I am a bit disappointed that the book takes 40 pages to get to the requisite “Hello, world” examples. And once you arrive, the explanations likely will seem a bit murky and incomplete to some readers.

However, that is a minor complaint. D3.js in Action will get frequent use as I dig deeper into data visualization. D3.js and Elijah Meeks’s new book are keepers for the long-term in the big world of JavaScript.

Si Dunn

A new mystery from Terry Shames: ‘A Deadly Affair at Bobtail Ridge’ – #bookreview #mystery

A Deadly Affair at Bobtail Ridge

Terry Shames

(Seventh Street – paperback, Kindle)

The title may be a bit too folksy and over the top for a few hard-core mystery lovers. But the Samuel Craddock investigative series by Terry Shames does an excellent job of capturing the sights, sounds, speech patterns, customs, mannerisms and values of many people in contemporary East Texas, an area of the state that identifies more closely with the Deep South than with the Wild West. And her central character, Samuel Craddock, is both a retired small-town police chief and someone people still quickly turn to for help when there’s trouble.

Even in bucolic East Texas, trouble is always brewing somewhere nearby. And, despite his age and a bad knee, Samuel Craddock can be counted on to try to help, whether it’s defusing bad-blood tensions between two people or two families or, central to each book, tracking down a killer. He knows many people and knows something of their histories. But he is frequently surprised by what happens within the undercurrents that flow through seemingly tranquil small towns and their surrounding countryside.

A Deadly Affair at Bobtail Ridge is the fourth novel in Ms. Shames’s fast-expanding series. Her previous Samuel Craddock mystery,  Dead Broke in Jarrett Creek, was published just six months ago (October, 2014). And it saw Craddock coming out of retirement to take over again, temporarily, as Jarrett Creek’s police chief.

In Deadly Affair, Craddock is still on the job from which he previously retired. And now he is having to go out of his jurisdiction to investigate a complicated case involving a death and a very close friend who isn’t telling him the whole truth about her background.

Terry Shames grew up in East Texas and knows how to make her fictionalized settings and characters come alive.  If you are looking for a new, different and engrossing investigator to follow, slow down, relax a bit and mosey along with Samuel Craddock as he sets out to solve yet another mysterious death.

Si Dunn

 

Journey to the Wilderness: A family’s Civil War letters about hope, honor, love, sacrifice, and the despair of death and defeat – #bookreview

https://i2.wp.com/www.newsouthbooks.com/bkpgs/images/covers/1588383121.jpg

Journey to the Wilderness

War, Memory, and a Southern Family’s Civil War Letters

Frye Gaillard

New South Bookspaperback, Kindle

The Civil War ended 150 years ago. Yet, it remains alive in many aspects of American culture and politics.

For those of us who grew up in the South in the 1940s and 1950s, it was not uncommon to have elderly relatives who had been small children during the war and who still remembered some of the conflict and how it affected their families. It also was not uncommon to hear the war described as if the South had not been defeated. (Indeed, my elementary school was named after Confederate General Robert E. Lee, and I attended infamous Little Rock Central High at the time when it was forced to re-open and admit black students under the protection of paratroopers sent by  President Eisenhower).

Journey to the Wilderness is structured around an intimate, engrossing collection of Civil War-era letters. They were written by some of Frye Gaillard’s ancestors, including his great-great-grandfather, Thomas Gaillard, and Thomas’s sons, Franklin Gaillard and Richebourg Gaillard, both of whom were officers in the Confederate army.

The letters eloquently capture the high hopes of Southerners as the long fight begins. Then the grim realities of mid-19th-century warfare begin to hit home. As the war stretches out in duration, some of the Gaillards’ letters from the front lines continue to praise the gallantries of Southern infantry and artillery batteries, even in defeat, while condemning the apparent ineffectiveness of Southern cavalry units in certain battles.

At the same time, the two Confederate officers spare few details when describing deaths and injuries witnessed during combat, in such notable battles as Shiloh, Gettysburg, Sharpsburg, and the Wilderness.

The family letters in his book, Frye Gaillard writes, “help paint a portrait of a horrifying time in American history, a time when 622,000 soldiers died on American soil, and when the southern half of the nation–so righteous and defiant when the conflict began–experienced a loss that was measured not only in blood but also in what one of my ancestors called the ‘cruelty and humiliation’ of defeat.”

Frye Gaillard also devotes part of his important book to his own “reflections on war and memory–on how the past lives on in the present, and how it draws us, slowly if we let it, in the painful direction of a more honest truth.”

For anyone drawn to Civil War history and to the conflict’s continuing ramifications, this book is a gem to seek out and read.

Si Dunn

JavaScript Application Design: A book you likely need if you are working with, or still learning, JavaScript – #programming #bookreview

JavaScript Application Design

A Build First Approach

Nicolas Bevacqua

Manning – paperback

 

I didn’t know how much I needed this book until I started reading it and exploring its code examples.

Many of us who have worked with JavaScript started our connections to the language in very haphazard fashions. We learned some of it on the job, under deadline pressure to fix or update somebody else’s code. Or we took an introductory class or two and then started picking up whatever else we could on the fly, including the bad habits of others around us who seemed to know a bit more about JavaScript than we knew at the moment.

Unfortunately, JavaScript is a big, messy programming language, and it offers numerous opportunities to crash and burn if you really don’t know what you are doing.

In his new book, JavaScript Application Design, Nicolas Bevacqua makes a compelling case for using “the Build First philosophy of designing for clean, well-structured, and testable applications before you write a single line of code.”

He writes: “You’ll learn about process automation, which will mitigate the odds of human error…. Build First is the foundation that will empower you to design clean, well-structured, and testable applications, which are easy to maintain and refactor. Those are the two fundamental aspects of Build First: process automation and design.”

In his well-written text, he argues: “Front-end development requires as much dedication to architecture planning and design as back-end development does. Long gone are the days when we’d copy a few snippets of code off the internet, paste them in our page, and call it a day. Mashing together JavaScript code as an afterthought no longer holds up to modern standards. JavaScript is now front and center.”

He continues: “We have many frameworks and libraries to choose from, which can help you organize your code by allowing you to write small components rather than a monolithic application. Maintainability isn’t something you can tack onto a code base whenever you’d like; it’s something you have to build into the application, and the philosophy under which the application is designed, from the beginning. Writing an application that isn’t designed to be maintainable translates into stacking feature after feature in an ever-so-slightly tilting Jenga tower.”

Bevacqua divides his nine-chapter book into just two parts: build processes and managing complexity. Here is how the chapters are organized:

  • PART 1: BUILD PROCESSES
    1 – Introduction to Build First
    2 – Composing build tasks and flows
    3 – Mastering environments and the development workflow
    4 – Release, deployment, and monitoring
  • PART 2: MANAGING COMPLEXITY
  • 5 – Embracing modularity and dependency management
    6 – Understanding asynchronous flow control methods in JavaScript
    7 – Leveraging the Model-View-Controller
    8 – Testing JavaScript components
    9 – REST API design and layered service architectures

Bevaqua notes that “Linting is often referred to as the first test you should set up when writing JavaScript. Where linters fail, unit tests come in.” He strongly pushes testing and automation right from the start.

Linting soon leads to Grunt, which Bevaqua uses as a task runner and key build tool (with selected modules) in this book. “Grunt is a tool that allows you to write, configure, and automate tasks–such as minifying a JavaScript file or compiling a LESS style sheet–for your application,” he states. (It also works well on Windows machines, which I find handy.)

Grunt leads to running a bit of Node.js on the command line. And if you’ve never worked with Node.js, Bevacqua takes the reader smoothly through the process of installing it and using it in linting exercises. Indeed, he devotes an entire appendix (B) to installing and running Grunt and picking the right plugins for the right tasks and targets.

One of the best parts of this book, to me, is how the author uses short code examples to introduce a concept, and  then builds upon the examples with helpful descriptions and more short but expanded code samples.

Nicolas Bevacqua offers his readers plenty of helpful how-to and why information. Using his book, I have begun applying the Build First approach to some new projects and learning to how test and automate more of my work. I feel as if I now have a good shot at getting a lot better at JavaScript.

There is one small but important glitch to note: At two points in my preview copy of the book from Manning, Bevacqua shows what he calls a simple way to create bare-minimum JSON manifest files. For example, echo “{}” > package.json. Creating a blank, starting-point manifest file did not work this way for me. Instead, I had to use echo {“name: ” “project-name”} > package.json. The empty package.json issue apparently is somehow related to certain versions of Node’s npm.

Si Dunn