Enemies at Home: A Flavia Albia Novel – A cool detective procedural set in ancient Rome – #mystery #bookreview

 

Lindsey Davis Enemies at Home

 

Enemies at Home

A Flavia Albia Novel

Lindsey Davis

 ( Minotaur Books, hardback, Kindle )

Can a 29-year-old widow make it as a private detective in first century A.D. Rome?

Flavia Albia has some friends in semi-high places. And she has one very important family connection: She is the adopted daughter of Marcus Didius Falco, one of Rome’s best-known “private informers,” the ancient equivalent of a modern private eye.

Flavia has taken over her father’s office, and she keeps needing new cases.  But in the private informer business, it’s “no win, no pay.” So,  she is always on the lookout for a case she can both win and profit from, in a legal system where women have no rights in matters of law and where she must compete with male private informers who do have rights.

Unfortunately, the case that suddenly lands in Flavia’s lap in Enemies at Home does not seem to hold much promise:

“Even before I started, I knew I should say no,” Flavia states at the book’s beginning.

“There are rules for private informers accepting a new case. Never take on clients who cannot pay you. Never do favors for friends. Don’t work with relatives, Think carefully about legal work. If, like me, you are a woman, keep clear of men you find attractive. The Aviola inquiry broke every one of those rules, not the least because the clients had no money, yet I took it on. Will I never learn?”

 Not yet. She meets up with a magistrate, an aedile, named Tiberius Manlius Faustus, with whom she has worked before and finds attractive. (Can “Manlius” be viewed as a Latinized pun on “manly”? Yep.) Faustus has just been assigned to deal with a very complicated case within his jurisdiction, and he needs Flavia’s help to try to sort things out.

A man and his wife have been brutally murdered and robbed, apparently by intruders, and the couples’ slaves have fled to the Temple of Ceres, desperately hoping to get asylum so they can save their lives.

“The slaves got wind of their plight,” Flavia informs us. “They knew the notorious Roman law when a head of household was murdered at home. By instinct the authorities went after the wife, but that was no use if she was dead too. So unless the dead man had another obvious enemy, his slaves fell under suspicion. Whether guilty or not, they were put to death. All of them.”

Flavia’s task, of course, is to attempt to help exonerate the slaves. But Roman law literally is a vicious beast, sometimes. Criminals and those merely suspected of a crime can be thrown to the lions or sewn into large bags along with dangerous animals and dropped into the sea. And that’s just two of the many ways capital punishment can be meted out in the Roman Empire.

Flavia is the slaves’ only hope. And she is armed with nothing but curiosity, questions and bluster, plus some occasional help from the aedile, Manlius Faustus, as she goes where no woman typically has gone before, at least in recent years, in Roman society.

Enemies at Home features a very big cast of characters (spanning two pages at the front of the book). And it is somewhat easy to grow confused by (and a bit wearied of) virtually every male name ending in “-us” and almost every female name ending in “-a.”

For the most part, however, this second Flavia Albia novel is fun and informative reading. Lindsey Davis is a master at moving her characters about in ancient Roman settings. She keeps them both human and limited by the pace, technology, laws and social mores of the Roman Empire (during the reign of the allegedly paranoid emperor, Domitian). Her dialogue often is wickedly sharp and funny, and, except for an occasional Latin word here and there, no effort is made to have the characters speak in any tongue other than modern lingo.

If you have been hoping Falco will reappear and have a cameo role in this new book, be prepared to wait for the next novel in the series and see if he shows up there. Flavia Albia is now her own woman. She emerges strongly from her father’s shadow in Enemies at Home and demonstrates why she also deserves to be known as one of the very best public informers in first-century Rome.

Si Dunn

Learning Dart – A solid guide to basic development using Google’s Dart #programming language – #bookreview

Learning Dart

Learn how to program applications with Dart 1.0, a language specifically designed to produce better-structured, high performance applications 

Ivo Balbaert and Dzenan Ridjanovic

(Packt - Kindle, paperback)

 

The programming language Dart was introduced in late 2011 by Google as a potential replacement for aging JavaScript. But JavaScript, of course, has continued to spread all over the Internet and planet since it first appeared in 1995.

Not surprisingly, Google found itself getting some pushback from software developers and others who have a lot of time, education, sweat and money invested into creating, supporting and modernizing files that have .js extensions.

Dart today is billed as “a new platform for scalable web app engineering.” It is a long way from replacing JavaScript. Indeed, it compiles to JavaScript.

At the same time,  Dart is a good and powerful Open Source language. And, while it is not yet seen on most lists of top languages to know, it is gaining momentum and followers in the software world.

“Dart looks instantly familiar to the majority of today’s programmers coming from a Java, C#, or JavaScript/ActionScript background; you will feel at ease with Dart,” write the authors of Learning Dart.

“However, this does not mean it [Dart] is only a copy of what already exists; it takes the best features of the statically typed ‘Java-C#’ world and combines these with features more commonly found in dynamic languages such as JavaScript, Python, and Ruby. On the nimble, dynamic side[,] Dart allows rapid prototyping, evolving into a more structured development familiar to business app developers when application requirements become more complex.”

In their recent book,  Balbaert and Ridjanovic note this about Dart: “Its main emphasis lies on building complex (if necessary), high-performance, and scalable-rich client apps for the modern web.”

Likewise, they point out that  “Dart can also run independently on servers. Because Dart clients and servers can communicate through web sockets (a persistent connection that allows both parties to start sending data at any time), it is in fact an end-to-end solution. It is perfect on the frontend for developing web components with all the necessary application logic, nicely integrated with HTML5 and the browser document model (DOM).

“On the backend server side, it can be used to develop web services, for example, to access databases, or cloud solutions in Google App Engine or other cloud infrastructures. Moreover, it is ready to be used in the multicore world (remember, even your cell phone is multicore nowadays) because a Dart program can divide its work amongst any number of separate processes, called isolates, an actor-based concurrency model as in Erlang.”

Their well-written book, from Packt Publishing, delivers a structured and nicely paced overview of how to use the Dart programming language. The book is suited for inexperienced developers and experienced developers alike who are curious about, or ready to dig into, Dart .

The intended audience, the authors state, includes “…web application programmers, game developers, and other software engineers. Because of its dual focus (Dart and HTML5), the book can appeal to both web developers who want to learn a modern way of developing web applications, and to developers who seek guidance on how to use HTML5.”

Indeed, in the first chapter, you get more than the obligatory “Hello, World!” program. You also learn how to use the Eclipse-based Dart Editor to create some simple command-line and web applications.

From there, the 12-chapter work focuses on topics and software examples that range from variables, classes and libraries, to combining HTML forms with Dart, building games with HTML5 and Dart, developing business apps with Polymer web components, using Dart with MVC web and UI frameworks, working with local data and client-server communications, and creating data-driven web applications using Dart and MySQL or MongoDB.

I have tested some of the book’s code examples both on Linux and Windows machines and have enjoyed working with the Dart Editor. However, I did find a couple of code typos in the print version while hand-typing some of the shorter examples. The better choice is to download and use the book’s code examples found on the Packt website.

One other matter that some new Dartisans may encounter: Norton 360 antivirus software currently tends to throw dart.exe into quarantine on Windows machines–and that stops Dart cold. There is a fairly simple way to retrieve the file from quarantine and tell Norton 360 to let it run. However, check the Dart community page on Google+ for info on that and some other approaches to avoiding the problem.

Learning Dart was published soon after Dart 1.0 was released, and Dart has continued to evolve fairly quickly. (Its stable version was 1.4.3 at the time this was written.) So there will be some small differences in screen displays and other matters.

If you want to learn Dart and get up to speed for using it in application development, Learning Dart can be your handy and solid how-to guide.

Si Dunn

 ***

Ready to get Learning Dart? Click here: Kindlepaperback

Mastering Gamification – A 30-day strategy to enhance customer engagement – #business #bookreview

 

Mastering Gamification

Customer Engagement in 30 Days

Scot Harris and Kevin O’Gorman

(Impackt Publishing – Kindle, paperback)

 Gamification is now a popular buzz word in many parts of the business world. This book wisely does not try to cover every angle, but stays focused on one application: “Marketing and sales people are using gamification to improve customer loyalty and engagement, knowing that it will lead to increased profitability,” the authors write.

They emphasize that “gamifying does not mean turning your business or website into a game. As Gamification.org defines it, gamifying is:

‘The presence or addition of game-like characteristics in anything
that has not been traditionally considered a game.’

 “Take particular note of the word ‘characteristics’ in this phrase,” the authors point out . “The purpose of gamifying is not to turn something into a game, but to apply understanding and knowledge about the basic human desires we all have that make us like games to a non-gaming environment, and hopefully to improve our businesses.”

 You may not finish all of the exercises, nor follow all of the suggestions in this well-written book. Yet the well-structured, 30-day plan offered by Harris and O’Gorman still can help you think harder about your business, how customers see it and how they engage–or don’t engage–with the products or services you offer.

 Even if you operate a small enterprise where you are the entire staff, this book can offer some good ideas and useful tips that can help you make more sales and keep customers coming back.

 What the authors aim to do is help you create and “launch a long-range, ongoing, continuous process of attracting the attention of a target audience, drawing them into a social space built around you and your products or services, encouraging them to evangelize about your products or services, and instilling in them an unshakable sense of loyalty.”

 In other words, you learn how to use some gamification techniques to get customers’ attention, keep their attention, and keep them coming back for more of whatever you are selling–three major keys to long-term survival and growth in business.

Si Dunn

South, America – Action, mystery and gritty Southern noir – #bookreview

South, America

A Jack Prine Novel

Rod Davis

(New South Books – paperback, Kindle)

Here’s one way to get yourself into deep trouble: Try to perform a simple act of kindness.

Jack Prine, the central character in this gritty, well-written new mystery novel, reluctantly tries to help a young woman understand what has happened to her brother. And from there, the favor quickly goes downhill, to fear, violence, threats, gunfire and the need to make quick escapes.

Prine lives in New Orleans, and he is, in his own words, “trying to figure out a line on my future….”

As he tries to sort out just what that “line” might be, he has been “doing some freelance writing and the occasional unlicensed PI investigation for a divorce lawyer/ex-Army buddy….”

Early one Sunday morning, Prine has nothing much on his mind except his hangover and a strong need for some Guatemalan coffee. But as he is walking to get the cup of coffee, he discovers a dead body. A man has had the back of his head bashed in. Prine dutifully calls the police and answers the investigator’s questions. Later, Prine gets a phone call from the victim’s sister, Elle Meridian. Reluctantly, he agrees to meet her, so he can tell her more about what he saw and show her where her brother died.

Once they do meet, their attraction for each other develops fairly quickly. And as Jack Prine’s relationship with Elle grows, he soon finds himself drawn into circumstances and dangers he could never have imagined when he first heard her voice on the telephone.

Suddenly, the “unlicensed PI” is having to be a hard-boiled detective. And he and Elle wind up on the run from the vicious and tenacious Dixie Mafia. They race through Alabama and Mississippi on their way back to New Orleans– where no safety awaits them.

South, America is an engrossing tale alive with Southern landscape, thugs, family secrets, voudou, art treasures, racial tensions, sex…and love. And the book’s ending offers an excellent setup for the next Jack Prine novel, hopefully coming soon from Rod Davis.

Si Dunn

 

Enterprise Application Development with Ext JS and Spring – (And a lot more!) – #programming #bookreview

Enterprise Application Development with Ext JS and Spring

Develop and deploy a high-performance Java web application using Ext JS and Spring

Gerald Gierer

(Packt Publishing paperback, Kindle)

A powerful JavaScript web framework such as Ext JS deserves a powerful platform for enterprise desktop application development. Gerald Gierer delivers a good one in his well-crafted new how-to book from Packt Publishing.

Gierer’s book is a bit unusual in today’s pare-it-down marketplace. It contains many before, during and after screen prints to illustrate the actions and outcomes of steps and commands. The 446-page book also has lengthy code listings that enable you to check and verify the outcomes of code changes you have made.

Ext JS and the Spring framework, however, are just a few of the packages that you work with as you set up your development tools and create, modify, expand, test and deploy a sample enterprise application (a task time tracker).

The other programs and tools include MySQL, the Java SE development kit (with the new Java API for JSON), NetBeans, Maven, Glassfish, and JUnit. And, with Ext JS, you learn to work with the Sencha Cmd tool and the Ext JS Software Development Kit (SDK).

But please note, particularly if you are new to some of this : You must pay careful attention to each paragraph as you load and configure software and as you keep building and enhancing your enterprise application.

In this book, it is easy start jumping from one screen print to the next, or from one code listing to the next, while skipping the intervening text. When you do, you can miss key steps that sometimes are buried without highlights in the wording.

This was my first time to work with some of the required software packages, so I had to force myself to really slow down and pay close attention to each paragraph, as well as each graphic.  My initial development attempt went off the rails when I discovered, more than 100 pages into the book, that I had misconfigured a couple of tables, skipped a couple of data changes, and generally screwed up the database. And, being new to some of the software, I couldn’t figure out to repair everything. So I simply started over from scratch and this time moved carefully from one page to the next, closely checking code entries and the book’s text before clicking “Enter.” That made all the difference in my results.

If you are looking to do enterprise application development with a JavaScript framework, definitely consider Ext JS and definitely consider Gerald Gierer’s fine Enterprise Application Development with Ext JS and Spring.

And definitely take your time as you work your way through his book.

Si Dunn

Optimizing Hadoop for MapReduce – A practical guide to lowering some costs of mining Big Data – #bookreview

Optimizing Hadoop for MapReduce

Learn how to configure your Hadoop cluster to run optimal MapReduce jobs

Khaled Tannir

(Packt Publishing, paperback, Kindle)

Time is money, as the old saying goes. And that saying especially applies to the world of Big Data, where much time, computing power and cash can be consumed while trying to extract profitable information from mountains of data.

This short, well-focused book by veteran software developer Khalid Tannir describes how to achieve a very important, money-saving goal: improve the efficiency of MapReduce jobs that are run with Hadoop.

As Tannir explains in his preface:

“MapReduce is an important parallel processing model for large-scale, data-intensive applications such as data mining and web indexing. Hadoop, an open source implementation of MapReduce, is widely applied to support cluster computing jobs that require low response time.

“Most of the MapReduce programs are written for data analysis and they usually take a long time to finish. Many companies are embracing Hadoop for advanced data analytics over large datasets that require time completion guarantees.

“Efficiency, especially the I/O costs of MapReduce, still needs to be addressed for successful implications. The experience shows that a misconfigured Hadoop cluster can noticeably reduce and significantly downgrade the performance of MapReduce jobs.”

Tannir’s well-focused, seven-chapter book zeroes in on how to find and fix misconfigured Hadoop clusters and numerous other problems. But first, he explains how Hadoop parameters are configured and how MapReduce metrics are monitored.

Two chapters are devoted to learning how to identify system bottlenecks , including CPU bottlenecks, storage bottlenecks, and network bandwidth bottlenecks.

One chapter examines how to properly identify resource weaknesses, particularly in Hadoop clusters. Then, as the book shifts strongly to solutions, Tannir explains how to reconfigure Hadoop clusters for greater efficiency.

Indeed, the final three chapters deliver details and steps that can help you improve how well Hadoop and MapReduce work together in your setting.

For example, the author explains how to make the map and reduce functions operate more efficiently, how to work with small or unsplittable files, how to deal with spilled records (those written to local disk when the allocated memory buffer is full), and ways to tune map and reduce parameters to improve performance.

“Most MapReduce programs are written for data analysis and they usually take a lot of time to finish,” Tannir emphasizes. However: “Many companies are embracing Hadoop for advanced data analytics over large datasets that require completion-time guarantees.” And that means “[e]fficiency, especially the I/O costs of MapReduce, still need(s) to be addressed for successful implications.”

He describes how to use compression, Combiners, the correct Writable types, and quick reuse of types to help improve memory management and the speed of job execution.

And, along with other tips, Tannir presents several “best practices” to help manage Hadoop clusters and make them do their work quicker and with fewer demands on hardware and software resources. 

Tannir notes that “setting up a Hadoop cluster is basically the challenge of combining the requirements of high availability, load balancing, and the individual requirements of the services you aim to get from your cluster servers.”

If you work with Hadoop and MapReduce or are now learning how to help install, maintain or administer Hadoop clusters, you can find helpful information and many useful tips in Khaled Tannir’s Optimizing Hadoop for Map Reduce.

Si Dunn

The Troubles Trilogy: Adrian McKinty’s Northern Ireland crime novels are powerful, engrossing reading – #bookreview

In the Morning I’ll Be Gone

Book Three: The Troubles Trilogy

Adrian McKinty

(Seventh Street Books, paperback)

I wish I had discovered The Troubles Trilogy and Detective Sean Duffy much sooner than Book Three. I really don’t like reading trilogies in reverse.

But Adrian McKinty is an amazingly good crime novelist. And now that I have also read his two other books in ThTroubles Trilogy,  I can honestly say that it is pleasingly easy to read these works in any order you wish.

In the Morning I'll Be Gone cover

Yes, Book One: The Cold Cold Ground and Book Two: I Hear the Sirens in the Streets are tied together by some of the same characters and settings found in Book Three: In the Morning I’ll Be Gone. Each novel, however, stands solidly on its own.

Detective Sean Duffy is an Irish Catholic cop working for the Royal Ulster Constabulary, Northern Ireland’s decidedly unpopular police force. The three novels unfold during the early 1980s, amid some of the most violent times in a small-scale but deadly civil war that has been raging for decades. On one side are the mostly Protestant Unionists and Loyalists, who want Northern Ireland to stay part of the  United Kingdom. On the other side are the mostly Catholic Nationalists and Republicans who want Northern Ireland to become part of the Republic of Ireland again.

Duffy, caught in the middle and working for a mostly Protestant police force, must try to solve grisly murder cases while not getting blown up by Irish Republican Army car bombs–he never goes anywhere without first looking beneath his vehicle–or killed by bullets fired by snipers on both sides.

There are neighborhoods where it’s deadly to be a Protestant or a Catholic and neighborhoods where it’s equally deadly to be one of Her Majesty’s cops, or “peelers,” in the local argot.  (Sir Robert Peel, a 19th century British prime minister, is credited with creating the concept of a metropolitan police force. As a result, police officers became known as “bobbies” in England and “peelers” in Northern Ireland.)

Sometimes, in pursuit of leads and suspects, Duffy finds himself on streets that are British territory on one side of the center line and Irish territory on the other. And, a classic tough-guy detective, Duffy seldom hesitates if he needs to sneak into Ireland, where he has absolutely no jurisdiction except his fists and his guns. Also, he sometimes crosses that dark, ill-defined border between good cop and bad cop, in the name of justice as he defines it.

Adrian McKinty has been compared, deservedly so, to Raymond Chandler and a few other leading crime novelists. He is a native of Northern Ireland, and his taut, well-written, realistic prose makes excellent use of that region’s cultures, languages and longstanding sectarian tensions. He draws you in quickly and doesn’t let you escape –not until after gritty Detective Sean Duffy finally has tracked down and confronted the killer face to face.

Si Dunn