The Ides of April – An entertaining new Lindsey Davis detective series debut – #mystery #bookreview

The Ides of April

A Flavia Albia Mystery

Lindsey Davis

(Minotaur Books, hardback, paperback, Kindle, Audio CD)

Many fans of the Marcus Didius Falco mysteries set in first-century Rome will delight in this new spin-off series by London author Lindsey Davis. Readers eagerly seeking another unusual detective to follow may relish this series debut, as well.  

In The Ides of April, Flavia Albia, the adopted daughter of Falco and Helena Justina, makes her series debut as a private informer in Rome during the reign of Domitian, an emperor who later will be ranked somewhere in the safe middle between the best and worst rulers of the Roman Empire.

The year is A.D. 89, and a young widow named Flavia Albia has taken over Falco’s old apartment and is struggling to build up her business as an investigator. Flavia is British-born and served as nursemaid to Falco’s children before Falco and his “unofficial” wife Helena Justina adopted her.

The pay scale for a private informer is “no win, no fee.” Also: “As a female, I had no rights at all in matters of law, but why let that stop me?” Flavia has two other qualities that work in her favor as a detective in Rome: She doesn’t like to be defeated, and her adoptive parents taught her how to comfortably blend into virtually all levels of society.

Of course, it’s never easy to be a female detective in ancient Rome. As Flavia points out: “Fortune never favoured me and the problem with being a woman was that sometimes I could only obtain business that all the male informers had sniffed and refused.”

One of those “refused” cases, of course, starts out simple and soon turns into a murder investigation that includes the hunter being hunted by the killer.

The cast of characters in The Ides of April extends for two pages, and new readers of a Lindsey Davis novel likely will find themselves frequently flipping back to it for reminders of who exactly Junillus or Robigo or Felix or Serena is.

Indeed, if this is your first exposure to Lindsey Davis’s well-detailed, history-based fiction, you might consider photocopying the extensive cast list and keeping it close at hand so you won’t have to keep flipping back to the front of the book.

One other note. While the setting is ancient Rome, many of the descriptions, attitudes, and dialogue exchanges would not seem out of place in a 21st century English detective novel. This can be at least momentarily jarring for new readers of a Lindsey Davis mystery. However, we must remember that English had not yet been cobbled together in A.D. 89. And, thankfully, the author does not throw a lot of Latin at us.

Fans of Marcus Didius Falco may grumble about Falco being downsized to a much smaller character in this tale. Yet as Lindsey Davis points out on her website:

“After 20 novels, I need a break and have no current plans for a new Falco novel. I am enjoying the ‘spin-off’ series about Flavia Albia….” (The one that will follow The Ides of April will be titled Enemies at Home).

“I am also excited to be writing a ‘QuickRead’ for 2014. These are a special series of short books for adults who came to reading late or who don’t read very much. Mine is called A Cruel Fate and is set in the Civil War.”

So Marcus Didius Falco is not dead. He has just been put out to pasture while Flavia gets an entertaining and engrossing chance to make her mark in the family business.

Si Dunn

Advertisements

Realm of Racket: Learn to Program, One Game at a Time – #Racket #game #programming #bookreview

Realm of Racket
Learn to Program, One Game at a Time!

Matthias Felleisen, David Van Horn, Conrad Barski, M.D., Forrest Bice, Rose DeMaio, Spencer Florence, Feng-Yun Mimi Lin, Scott Lindeman, Nicole Nussbaum, Eric Peterson, and Ryan Plessner
(No Starch Press – paperback, Kindle)

Formerly known as PLT Scheme, Racket is an offshoot of the Lisp/Scheme family of programming languages. (Lisp, which was first specified in 1958, is the second-oldest high-level programming language, behind FORTRAN).

The (numerous) authors of this 294-page book call Racket “a friendly mutation of Lisp” and tout it as “perfect for all, from those who want to launch their education in computer science to those looking to expand their knowledge and experience in programming.”

Lisp has a long learning curve, so the writers have taken special pains to try to make Racket (“a weird-looking programming language,” they concede) approachable and fun by using comics and games built from short code examples.

Their well-written book is aimed at college freshmen readers. But they emphasize “that doesn’t mean you should drop this book if you are a sophomore or an industry professional.” Nor if you are still in high school or simply like to tinker with programming languages for fun and challenge.

“Regardless of your programming background,” they state, “many of the topics in this book will be new to you, and much of what you’ve learned before will appear in a new light.”

Realm of Racket is structured so that you start out programming very simple games and gradually tackle games that are more complex, while learning about such topics as functions, recursion, lambda, lists, structures, loops, testing, and more.

If you are interested in developing special-purpose computer languages that require specific knowledge of specialized fields, Realm of Racket’s  final chapter briefly delves into the field of language engineering. It notes that Racket “makes it particularly easy to create new programming languages, including special-purpose languages.”

Not surprisingly, some people who program in Racket call themselves Racketeers. The open source language and its program development environment (PDE), DrRacket (“Doctor Racket”), can be downloaded from http://racket-lang.org. “Racket can run on Windows, Mac, and *nix* systems,” the authors note.

Realm of Racket can be a fun, challenging book for computer-savvy teens nearing the end of high school or in their first years of college to study computer science or gaming. Younger readers likely won’t stick with it unless they have some helpful, patient guidance from knowledgeable older siblings or adults. Wait until they’ve gotten reasonably good at another language, such as Python, Ruby, C#, or Java, first.

Si Dunn

Book Briefs: Cormac McCarthy, Prehistoric Central Texas, Rio Grande border – #bookreview

Here are three specialized books for serious readers of specialized topics. The first provides a “comprehensive yet concise overview” of Cormac McCarthy’s “legacy in American literature.”  The second examines a 14th century civilization in Central Texas that “represents the last prehistoric peoples before the cultural upheaval introduced by European explorers.” And the third delves into the complex, often violent history of the Rio Grande border area that separates Mexico and the United States.

***

The Cambridge Companion to Cormac McCarthy
Edited by Steven Frye
(Cambridge University Press – paperback, hardback)

An “international team of McCarthy scholars” provide more than a dozen insightful essays that examine and analyze some of the prolific and reclusive author’s “best known and commonly taught novels,” as well as his “work in cinema, including the many adaptations of his novels to film.” Some of the titles reflected upon include The Road and All the Pretty Horses.

***

The Toyah Phase of Central Texas
Late Prehistoric Economic and Social Processes
Edited by Nancy A. Kenmotsu and Douglas K. Boyd
(Texas A&M University Press – hardback, Kindle)

In this important gathering of “studies and interpretive essays,” the editors and other contributors focus on a mobile, prehistoric society of hunter-gatherers whose culture “arose in and around the Edwards Plateau of Central Texas” and whose homeland covered much of Central Texas and South Texas in the 14th century. They were, the book contends, “never isolated from the world around them”–a world that included neighboring tribes and groups in northern Mexico and eastern New Mexico, plus newcomers such as the Apache and Comanche. Yet these “last prehistoric peoples” soon would have their culture changed and overturned by the arrival of European explorers.

***

River of Hope
Forging Identity and Nation in the Rio Grande Borderlands
Omar S. Valerio-Jiménez
(Duke University Press – paperback, hardback, Kindle)

America’s border with Mexico has a complex and troubled past, a complex and troubled present, and likely will have a complex and troubled future. In this thoughtful, well-researched study, Omar S. Valerio-Jiménez, an associate professor of history at the University of Iowa, focuses on how the people who lived in the border area during the 18th and 19th centuries fared as Spain, Mexico, and the United States all vied for control. Ultimately, Spanish colonists near the border became Mexican citizens but then became Americans, whether they wanted to or not, as political and military power shifted and territory changed hands. Meanwhile, those who were caught up in the seesaw battles did not “adopt singular colonial or national identities. Instead, their regionalism, transnational cultural practices, and kinship ties subverted state attempts to control and divide the population.” In short, they intermarried, formed defensive alliances (Mexican, Indian, and Anglo), and identified more with where they lived than with any distant capitol that allegedly controlled them.

Si Dunn

Hands-on Testing with PHPUnit How-to – A short, well-focused guide – #programming #bookreview

Instant Hands-on Testing with PHPUnit How-to
A practical guide to getting started with PHPUnit to improve code quality
Michael Lively
(Packt Publishing – paperback, Kindle)

PHPUnit is considered by many to be the leading tool for testing PHP code. This “Short, Fast, Focused” book (82 pages digital, 69 pages in paperback) is a recent addition to Packt Publishing’s “Instant” series. It zeroes in on how to install and use PHPUnit to create and run “easy-to-maintain tests.”

One strength of Michael Lively’s new book is his experience with PHP and PHPUnit. Another strength is the book’s step-by-step structure. It rates each key step as “Simple”, “Intermediate”, or “Advanced” and provides subheadings such as “Getting ready…”, “How to do it…”, “How it works…”, and “There’s more…” to help keep descriptions short and clear.

Code examples and screenshots also help the reader get comfortable with running tests using the PHPUnit framework.

Aside from skipping commas in some of the text, Michael Lively’s writing is clear and concise, and his descriptions and code examples have been reviewed by two experienced software developers.

The book is “written for anyone who has an interest in unit testing but doesn’t necessarily know where to start in integrating it with their project,” Lively states.

“It will provide useful tips and insights into how PHPUnit can be used with your projects and it should give you enough information to whet your appetite for the various features offered by PHPUnit.”

The code examples in Lively’s book “were written using PHP 5.3.24 and PHPUnit 3.7. All code samples were verified against a Linux box with Ubuntu 12.04 LTS.”

As with several other Packt books recently reviewed, if you use a Windows PC or a Mac instead of a Linux system, you pretty much are left on your own to figure out the installation process and certain commands.

—   Si Dunn

Functional JavaScript – Applying functional techniques and Underscore.js – #programming #bookreview

Functional JavaScript
Introducing Functional Programming with Underscore.js
Michael Fogus
(O’Reilly – paperback, Kindle)

When I first started tinkering with JavaScript, object-oriented programming (OOP) was the rage, and JavaScript frequently was touted as one of the key object-oriented languages. After all, according to many online descriptions, almost everything within JavaScript “is OO.”

Now, in this enjoyable new book, JavaScript is hailed as a functional programming language. Of course, functional programming recently has been the rage in many programming circles. And “enjoyable” may seem an odd word to attach to a software text. Yet, it fits. Michael Fogus shows here that he is a technical writer who can be entertaining, effective and well-organized.

“This book,” he states, “is not about spewing dogma regarding the virtues of functional programming. I think there are many functional techniques that offer ways to rein in the complexities of software development, but I realize that at times, there are better ways to implement any given individual part.”

It is possible, of course, to debate object-oriented vs. functional JavaScript until the digital cows are called back home and put into infinite loops. But, for those who don’t know or care much about the differences, here are some basic views.

The Mozilla Developers Network (to simply pick  one example) discusses objected-oriented JavaScript on its site and declares: “Object-oriented programming may be seen as the design of software using a collection of cooperating objects, as opposed to a traditional view in which a program may be seen as a collection of functions, or simply as a list of instructions to the computer. In OOP, each object is capable of receiving messages, processing data, and sending messages to other objects. Each object can be viewed as an independent little machine with a distinct role or responsibility.”

Meanwhile, HaskellWiki offers this explanation of functional programming: “In functional programming, programs are executed by evaluating expressions, in contrast with imperative programming where programs are composed of statements which change global state when executed. Functional programming typically avoids using mutable state.

“Functional programming requires that functions are first-class, which means that they are treated like any other values and can be passed as arguments to other functions or be returned as a result of a function. Being first-class also means that it is possible to define and manipulate functions from within other functions.”

Some of the programming languages typically labeled “functional” include Clojure, OCaml, Erlang,  Haskell, Scala, and F#.

Here is how Michael Fogus defines functional programming:

“As a bare-bones introduction, functional programming can be described in a single sentence:

Functional programming is the use of functions that transform values into units of
abstraction, subsequently used to build software systems.

“This is a simplification bordering on libel,” he continues, “but it’s functional (ha!) for this early stage in the book. The library that I use as my medium of functional expression in JavaScript is Underscore, and for the most part, it adheres to this basic definition.”

(Underscore.js can be obtained from http://underscorejs.org and imported into “the applicable project directories.”)

Fogus refuses, in his text, “to create a false dichotomy and say that functional and object-oriented styles should stand in opposition.” Indeed, he notes that JavaScript supports both models and “systems can and should be composed of both models.”

He also points out that JavaScript can be used with other paradigms, including imperative programming, prototype-based object-oriented programming, and metaprogramming.

“In no way does this book represent even a modicum of original thinking regarding functional programming in JavaScript,” he states. Yet, it is a worthy effort.

It is well written, smoothly organized, and nicely illustrated with short code examples and helpful diagrams. And Fogus notes that JavaScript does have “[l]anguage oddities, unsafe features, and a sea of competing libraries” that raise concerns when it is selected for a project. Functional programming, he contends, can be one way to help ensure that JavaScript “can be not only safe, but also simple to understand and test, in addition to being proportionally scalable to the size of the code base.”

Here is the chapter lineup for Fogus’s 237-page book:

  • Chapter 1. Introducing Functional JavaScript
  • Chapter 2. First-Class Functions and Applicative Programming
  • Chapter 3. Variable Scope and Closures
  • Chapter 4. Higher-Order Functions
  • Chapter 5. Function-Building Functions
  • Chapter 6. Recursion
  • Chapter 7. Purity, Immutability, and Policies for Change
  • Chapter 8. Flow-Based Programming
  • Chapter 9. Programming without Class

Functional JavaScript is a winner on at least two counts: (1) as a how-to text for long-time JavaScript programmers wishing to learn more about functional programming; and (2) as a how-to text for long-time functional programmers desiring to learn more about JavaScript.

The book is not recommended for JavaScript newcomers who are still at the level of typing console.log(“The answer to everything in the universe is 42”). However, experienced beginners can learn from it, and so can those of us who just tinker with JavaScript periodically and use it mainly to work with Node.js, Backbone.js, Ember.js, CoffeeScript, HTML and other choices.

Si Dunn

Starting up? Two good how-tos: UX for Lean Startups & Managing Startups – #business #bookreview

You are eager, maybe too eager, to throw yourself and your meager funding full-force into starting a business, creating a product–yes, another app!–and getting it out to the marketplace. After all, the world wants and needs it now, you keep telling yourself.

But wait, are you basing your gamble on gut instincts, the good wishes of family and friends, and the money smoldering in your pocket? Or have you actually done some planning, research, and testing? What if you could figure out, before you go broke, that the app you have dreamed up and developed actually sucks, but something similar to it, with a better user interface, might do well in the marketplace? And what if you don’t know as much about startups as you think you do?

Here are two books you should consider before rolling the dice on a startup: UX for Lean Startups and Managing Startups.

If you’ve already tossed the dies, you may want to look at the books, too. They contain rich gatherings of well-tested ideas and hard-won advice from many who have started up before you.

Even if you are now well beyond calling your business a startup,  it’s not too late to learn new techniques and ideas that can help you stay afloat and prosper.  You can pick up some useful tips and insights from both of these books.

UX for Lean Startups
Faster, Smarter User Experience Research and Design
Laura Klein
(O’Reilly – hardback, Kindle)

“Lean UX is more than a buzzword,” says engineer and designer Laura Klein in her new book. “In some ways, it’s a fundamental change in the way we design products.”

A key aspect of UX, user experience, is learning how to start out with a “minimum viable product,” or MVP. “[I]nstead of taking months and months building a huge product with dozens of features and all sorts of bells and whistles,” she explains, “maybe it would be a better idea to launch something smaller and start learning earlier.”

In short, you give your customer something useful that they can work with, and you respond to their feedback by making the product work better for them and “adding features that people will use.”

UX for Lean Startups is a smooth blending of how-to steps for creating the best user experience for your new product–while staying within the lines of a tight-budget startup. The author injects some humor and personal experiences to help keep the discussions lively. And you don’t have to read the text from cover to cover. You can find good ideas while jumping around from topic to topic as your needs and curiosity arise.

The 204-page book makes “a lot of references to web-based products and software, but the UX design techniques…will work equally well for building most things that have a user interface,” Laura Klein promises. “Hardware, software, doorknobs…if you sell it and people interact with it, then you can use Lean UX to better understand your customers and to create a better product faster and with less waste.”

***

Managing Startups
Best Blog Posts
Edited by Tom Eisenmann
(O’Reilly – paperback, Kindle)

 Okay, information on how to manage startups is everywhere. Mentally, at least, you can drown in it while trying to sort out the business you have just started or are planning to launch soon.

But you can learn plenty from this gathering of more than 70 well-written blog posts by successful entrepreneurs and venture capitalists.

Each year since 2009, Tom Eisenmann, a Harvard professor of business administration, has, on his blog, published an annual compilation of “the year’s best posts by other authors about the management of technology startups.”

In his annual roundup and in this book, he says, he steers clear of “news about product launches and funding rounds; likewise, I don’t include posts that analyze trends in technologies or markets (e.g., big data, cloud computing, SoLoMo services). Instead, my focus has been on the management tasks that entrepreneurs must undertake when they search for a viable business model and then scale a startup.”

He pays close attention to lean startup management practices and various organizational issues such as dealing with cofounder tensions, structuring a startup team, working with a board of directors, and “coping with the psychological pressures that inevitably confront entrepreneurs.” He also tracks “developments in capital markets that are relevant to the management of tech startups; for example, the ebbs and flows of valuation bubbles and the proliferation of incubators and seed-stage funds.”

Some of the well-focused and meaty topics in Managing Startups range from “Very Basic Startup Marketing” to “Five Outsourcing Mistakes That Will Kill Your Startup” to “How to Hire a Hacker” and “Why Do VCs Have Ownership Targets? And Why 20%?”

Eisenmann makes his best-blog-posts-of-the-year selections the old-fashioned way. “I don’t use an algorithm that tracks traffic or social media mentions,” he writes. “Rather, I regularly read a few dozen blogs–mostly written by entrepreneurs and venture capitalists–and I follow links to other posts that look interesting. My criterion for flagging a post for future reference is simple: did I learn something that seems worth passing on to my students or to current entrepreneurs ? When I publish my compilation, I ask readers to suggest other posts that I’ve omitted, and I always get some great additions.”

Some of the other topics in his new book include branding, company culture, the role of product managers, knowing when to bail out, and building “relationships with potential acquirers. You never know when you may need them,” he notes.

No matter what size startup you are contemplating or are already running, you can find articles on topics that may be on your front burner now or looming larger and larger in the background.

Si Dunn