Arduino Workshop – An excellent hands-on guide with 65 DIY projects – #arduino #bookreview

Arduino Workshop
A Hands-On Introduction with 65 Projects
John Boxall
(No Starch Press – paperback, Kindle)

If you’ve been wanting to tinker with a tiny Arduino computer, this excellent book can show you how to do much more than simply get started.

Indeed, John Boxall’s Arduino Workshop can keep you busy, challenged and intrigued for a long time as you work your way through basic electronics, basic Arduino programming, and a big selection of interesting and useful projects. The book’s instructions are written clearly, and they feature numerous close-up photographs, diagrams, screenshots, code listings, and other illustrations that can help you perform the how-to steps for each project.

The devices you can build with the open source Arduino microcomputer platform range from a battery tester for single-cell batteries to a GPS logger that records your travels and displays them on Google Maps. Some other examples include a digital thermometer that displays temperature changes on an LCD screen, a device that reads radio-frequency identification (RFID) tags, and a remote-controlled toy tank that you steer with an infrared TV remote. You can even create and program your own breadboard Arduino microcontroller using a handful of parts and Boxall’s instructions, diagrams, and photographs.

If that isn’t enough projects, the book also shows how to create a couple of games, plus an Arduino texter that sends your cell phone a text message when a particular event occurs. And you can rig up a simple Arduino device that will allow you to control its digital output pins by sending it a text message from your phone.

With Arduino projects, you not only do some computer programming (to create the “sketches” that control the microcomputer), you likewise learn to work with electronic components such as resistors, capacitors, LEDs and LCDs, oscillator crystals, voltage regulators, and other small parts and devices.

You also can meet and learn from other Arduino enthusiasts, Boxall notes in Arduino Workshop. “The Arduino project has grown exponentially since its introduction in 2005,” he writes. “It’s now a thriving industry, supported by a community of people united with the common bond of creating something new. You’ll find both individuals and groups, ranging from interest groups and clubs to local hackerspaces and educational institutions, all interested in toying with the Arduino.”

Si Dunn

Advertisements

Arquillian Testing Guide – For better integration testing & functional testing on the JVM – #programming #bookreview

Arquillian Testing Guide
John D. Ament
(Packt Publishing – Paperback, Kindle)

If you have some experience with integration testing and functional testing on a Java virtual machine (JVM), John D. Ament’s important new book can help you get up to speed with the Arquillian testing platform’s numerous features and capabilities.

Arquillian “leverages JUnit and TestNG to execute test cases against a Java container,” Ament explains. The Arquillian framework, he adds, has three major sections: “test runners (JUnit or TestNG), containers (Weld, OpenWebBeans, Tomcat, GlassFish, and so on), and test enrichers (integration of your test case into the container that your code is running in.)” Also: “ShrinkWrap is an external dependency for you to use with Arquillian; they are almost sibling projects. ShrinkWrap helps you define your deployments, and your descriptors to be loaded to the Java container you are testing against.”

Ament’s 224-page book shows how to write simple code for various Java application tests but also explains how to develop rich test cases that you can run automatically.

The author uses the JUnit test container in his examples but explains how you can use the TestNG test container, if you prefer.

While the book is aimed at readers with intermediate experience, newcomers to Java testing can learn from it, too. Before diving into the process of explaining Arquillian, Ament describes “the fundamentals of a test case,” from an Arquillian perspective, of course. And he devotes a chapter to “The Evolution of Testing,” from the early days of manually testing single units to the advent of automated testing with powerful new tools. (Manual testing, by the way, is still important and will not go away soon, Ament indicates. “There is likely no removing manual testing for functional applications,” he writes.

“Manual testing should be considered when performing user acceptance testing, where you need to validate that the application functions the way you would expect end to end. From a quality assurance standpoint, it’s the most direct way to make sure an application works the way expected.” But, he warns, “a developer shouldn’t wait until this point to begin testing….”

He also devotes a chapter to the basics and the process of container testing. “Arquilian is all about testing your code inside a container,” he says. “Containers represent what your application will run on.” His text examines each of the “three primary ways that Arquillian can interact with a container — embedded, managed, and remote.”

Embedded containers, he notes, “typically run on the same JVM as your test case. Next are managed containers, which Arquillian will start up for you during the test process and shut down after the tests are run but run in a different JVM. Finally, there are remote containers, which are assumed to be running prior to the test and will simply have deployments sent and tests executed.”

The book’s remaining chapters take the reader deeper into the testing processes and how to use of Arquillian’s features and extensions.

Arquillian is not software you can learn to use effectively in a single weekend of hacking. You must learn it by using it and using it a lot, Ament emphasizes. “Run as many tests as you can with Arquillian…[y]ou make the best use of Arquillian when you use it throughout 100 percent of your tests.”

Arquillian Testing Guide is available through several sources, including Amazon and Packt Publishing.

Si Dunn

Puppet 3 Beginner’s Guide – Automate configuration management & become a better system admin – #programming #bookreview

Puppet 3 Beginner’s Guide
John Arundel
(Packt Publishing – paperback, Kindle)

If you administer a small network built around just a few servers, you may still be doing at least some of the configuration management by hand. You literally move from machine to machine, manually entering updates, changes, or fixes. And your small network may be running several different brands–and vintages–of hardware and software, which complicates the update and repair process.

However, infrastructure consultant John Arundel warns, once you get “[b]eyond ten or so servers, there simply isn’t a choice. You can’t manage an infrastructure like this by hand. If you’re using a cloud computing architecture, where servers are created and destroyed minute-by-minute in response to changing demand, the artisan approach to server crafting just won’t work.”

In his new book, Puppet 3 Beginner’s Guide, Arundel emphasizes: “Manual configuration management is tedious and repetitive, it’s error-prone, and it doesn’t scale well. Puppet is a tool for automating this process.”

Among “UNIX-like systems,” there are at least three major configuration management (CM) packages, including Puppet. The others are Chef and CFEngine, plus a few more competitors. Arundel calls them “all great solutions to the CM problem…it’s not very important which one you choose as long as you choose one.” But he hopes, of course, you will favor Puppet and his well-written how-to guide.

Puppet 3 Beginner’s Guide is structured to help system administrators “start from scratch…and learn how to fully utilize Puppet through simple, practical examples,” he writes.

He places important emphasis on the rapidly closing “divide between ‘devs,’ who wrangle code, and ‘ops,’ who wrangle configurations. Traditionally, the skills sets of the two groups haven’t overlapped much,” he notes. “It was common until recently for system administrators not to write complex programs, and for developers to have little or no experience of building and managing servers.”

Today, system admins are “facing the challenge of scaling systems to enormous size for the web, [and] have had to get smart about programming and automation.” Meanwhile, “[d]evelopers, who now often build applications, services, and businesses by themselves, couldn’t do what they do without knowing how to set up and fix servers,” he says.

Therefore, “[t]he term ‘devops’ has begun to be used to describe the growing overlap between these skill sets…Devops write code, herd servers, build apps, scale systems, analyze outages, and fix bugs. With the advent of CM systems, devs and ops are now all just people who work with code.”

Arundel’s 184-page Puppet 3 Beginner’s Guide offers 10 chapters smoothly structured with headings, short paragraphs, code examples, and other illustrations. He has generated his code examples using the Ubuntu 12.04 LTS “Precise” distribution of Linux. But he explains how to load the software using “Red Hat Linux, CentOS, or another Linux distribution that uses the Yum package system,” as well.

The chapters are:

  • Chapter 1, Introduction to Puppet
  • Chapter 2, First Steps with Puppet
  • Chapter 3, Packages, Files, and Services
  • Chapter 4, Managing Puppet with Git
  • Chapter 5, Managing Users
  • Chapter 6, Tasks and Templates
  • Chapter 7, Definitions and Classes
  • Chapter 8, Expressions and Logic
  • Chapter 9, Reporting and Troubleshooting
  • Chapter 10, Moving on Up

That final chapter covers a range of topics, including how to make Puppet code “more elegant, more readable, and more maintainable.” The author offers “links and suggestions for further reading.” And he describes several projects to help you “improve your skills and your infrastructure at the same time.” Those projects, he says, “provide a series of stepping-stones from your first use of Puppet to a completely automated environment.”

Besides Linux, Puppet will run on other several platforms, including Windows and Macs. But there is almost no help for those in Arundel’s book. Essentially, it’s Linux or bust. For other operating systems, you will need to refer to the Puppet Labs website.

It can take a bit of work to get Puppet installed and properly configured. But once you have Puppet running, the Puppet 3 Beginner’s Guide can help you become both a proficient Puppet user and a more efficient, knowledgeable, and versatile system administrator.

Si Dunn

Book Brief – Programming Grails – A new, solid guide for experienced developers – #programming #bookreview

Programming Grails
Burt Beckwith
(O’Reilly – paperback, Kindle )

Burt Beckwith is an experienced core developer on the Grails software team at SpringSource. His new book, Programming Grails, is written primarily for experienced Grails developers “who want to dig deeper into the architecture and understand more about how Grails works its magic and how it integrates with Groovy, Spring, Hibernate, and other technologies.”

Beckwith adds that “[d]evelopers with experience in similar frameworks such as Spring MVC, JEE, or Ruby on Rails should find this book useful in understanding how Grails implements features to which they are accustomed.”

He cautions that Programming Grails “should not be your first Grails book, since it presumes a good deal of previous experience and understanding, so be sure to read a more comprehensive Grails book first.”

The 12-chapter, 344-page book focuses on the inner workings of the Grails 2.0 feature set and emphasizes “best practices for building and deploying Grails applications,” including topics such as “performance, security, scaling, tuning, debugging, and monitoring.” It is written clearly, and its text is kept reasonably short between topic headings. Numerous short code samples and other illustrations are included.

Grails’ creator, Graeme Rocher, has given this book a solid thumb’s up, stating that “it goes much deeper than any other Grails book I have seen.”

Book Brief: Short screenplay DEATH ORBIT now on Kindle as a one-act play

With my daughter as co-author, I have spun off a micro-budget one-act play from my short science-fiction screenplay DEATH ORBIT. The Kindle version is now available and briefly on sale for $0.99 USD.

DEATH ORBIT: A Play in One Act is set in the future, in the seedy courtroom of an ice-mining colony. A young law student volunteers to defend an indigent prisoner who is facing the death penalty within a system where corporate money rules and the prosecution can get laws changed in minutes, to its favor.

— Si Dunn

death_orbit_cover3

Lunch with Buddha – An entertaining, engrossing, thought-provoking American road-trip novel – #bookreview

Lunch with Buddha
Roland Merullo
(PFP/Ajar, Kindle, paperback)

To be honest, I was not really aware of Roland Merullo until his publisher contacted me offering a review copy of an enticingly titled new novel, Lunch with Buddha.

I could blame my “Who?” reaction on my intense focus toward reviewing technology books over the past two years. And I could blame it on empirical evidence that it’s really tough to sell works of fiction these days.

Indeed, several writers of novels and short story collections have told me they don’t get much publicity help from their publishers. Some also have declared they were taking up self-publishing so they could (a) get their books into print (or its digital equivalent), (b) keep more of their paltry earnings, and (c) try their hand at book promotion. Furthermore, I have data — very hard data — showing that virtually no one on Planet Earth has yet read my novel, Erwin’s Law, nor my experimental novella, Jump.

Thus, bottom line, I have not been paying very close attention to the world of fiction lately.

Immediately, I was impressed  (and jarred) to learn that (1) Roland Merullo’s seventh novel, Breakfast with Buddha, is now in its 14th printing; (2) Lunch with Buddha, published late last year, is his eleventh novel and already in its second printing; AND (3) Lunch with Buddha’s completion and publication was funded, at least in part, with significant Kickstarter contributions from Merullo fans.

Intriguingly, Roland Merullo turned down a six-figure advance from a major publishing house and chose a small, independent publisher to bring out his new book.

So he must be good, right?

He’s better than good, actually. Roland Merullo is one of the best, most entertaining writers I’ve encountered in a long time. Seldom am I hooked by a book’s first few paragraphs. But, in Lunch with Buddha, Merullo blends verbal calmness, clarity, wit and depth to create an engaging, absorbing story that flows smoothly from darkly humorous opening to meaningful end.

His new tale is a road-trip novel that covers an odd, yet very American, route: from Seattle to North Dakota, in a borrowed, battered pickup truck nicknamed “Uma.”

Otto Ringling, a New York editor of culinary books and recent widower, is taking the journey with reluctance, while searching for peace of mind and new meanings for his suddenly altered life.

His traveling companion on the drive is his sister’s former guru, “His Holiness” Volya Rinpoche, a Siberian “semi-Buddhist” who now is the sister’s husband and father of their young daughter, Shelsa. Volya still has many questions and misconceptions about life in these not-so-United States. But he also has an infectious spirit, an unshakable spirituality, and plenty of confidence that all will be well and work out in the end.

Otto, meanwhile, is just trying to get a renewed grip on existence. “One of the side effects of losing a spouse–at least for me–had been a peculiar inability to perform the most mundane tasks,” he says in the book, adding:

“Making plane and hotel reservations, shopping for food, setting out the trash on time–these duties, which ordinarily I would have completed with a practiced ease, now seemed as daunting as the learning of a Chinese dialect. I let things slide. For the first time in family history, bills were paid late. The dry cleaners had to call three times to remind me to pick up my shirts. My children could be harsh with me about these failings, but I took their casual criticisms like a battered old fighter takes punches. I would stand. I was determined to stand. I was determined to stay sane, and love them, and help them envision a new life after our old one had been ripped to pieces.”

While Otto and Volya drive across Washington state, Idaho, Montana, and into North Dakota, Otto’s sister, Cecelia, her young daughter Shelsa, and Otto’s children Anthony (20) and Natasha (22), are all riding Amtrak, taking a separate route. They’ve been to Whidbey Island, off the coast of Washington state, to witness Otto scattering his wife’s ashes. Now they are heading for Dickinson, North Dakota, where Celia and Volya live — in Otto’s view — “on the far side of some line that marked the boundary of ordinary American reality.”

Along the way, Otto and Volya have several humorous–and sometimes troubling–encounters with contemporary American culture and values. Otto, for example, tries to explain to Volya the meanings of some strange signs they see along the highway, such as “REPTILE ZOO AND EXPRESSO” and “EAT BIG FOOD.”

Otto and Volya also have debates over religion and spirituality as the widower seeks understandable meanings he can attach to life, death, and whatever lies beyond our mystery-shrouded finality. For example:

 “What is the goal?” I asked, trying to slip away from it. “What’s the whole point? Enlightenment? Eternal life? What?”

He patted me on the shoulder for the millionth time, and said, “You purify. You go and go. Life cuts you and you try and try and try and pretty soon–”

“You become beautiful.”

“Yes. Good.”

“But toward what are we going and going? What does the beauty look like?”

He shrugged almost helplessly, and for a moment I was gripped hard by the hand of doubt. He seemed only an ordinary man then, and I wanted more than that from him, more than cryptic answers and shrugs. A small inner voice suggested he’d been fooling us all these years, playing a role, maybe even working a scam.

“I can show you,” he said. “I can’t tell you.”

“All right. Please show me, then. I’m having a crisis of faith. I’m a little bit lost.”

He nodded sympathetically. “We find you,” he said. “Don’t worry too much….”

Lunch with Buddha has the same key characters as Roland Merullo’s best-selling Breakfast with Buddha. And a third book, aptly titled Dinner with Buddha, is said to be in the works.

Fortunately, Lunch is written so it can be picked up and immediately enjoyed by those who have not previously read Breakfast. Indeed, Lunch with Buddha will make many readers go back and devour Breakfast, then eagerly anticipate Dinner–and check out some of Roland Merullo’s other works of fiction and nonfiction while waiting for the next serving.

Geoffrey Chaucer and Jack Kerouac are the two names that  pop most quickly to mind when the debate topic is “classic road-trip novels.”  I move that we now add Roland Merullo to that short, but esteemed, list.

Si Dunn

Absolute OpenBSD: Unix for the Practical Paranoid, 2nd Edition – A good & long-overdue update – #bookreview

Absolute OpenBSD, 2nd Edition
Unix for the Practical Paranoid
Michael W. Lucas
(No Starch Press – Kindle, paperback)

This updated new edition likely will be hailed — and rightly so — as a major event by many dedicated users of OpenBSD. After all, the first edition of Michael W. Lucas’ book was published a full decade ago, back when, the author concedes, he still had hair.

OpenBSD’s founder and long-time administrator Theo de Raadt has called this new edition both “[t]he definitive book on OpenBSD” and “a long-overdue refresh.” The praise can’t get much higher in OpenBSD-land.

OpenBSD is a highly secure, Unix-like operating system frequently used in Domain Name System (DNS) servers, routers, and firewalls. It also can run on a wide array of computer hardware, ranging from new systems to old VAXes, 386 machines, Apple’s PowerPC Macintoshes, and most products from Sun.

“Old systems can run OpenBSD quite well,” Lucas notes. “I’ve run OpenBSD/i386 quite nicely on a 166 MHz processor with 128MB of memory. You probably have some old system lying around that’s perfectly adequate for learning OpenBSD.”

Indeed, he explains, “As a matter of legacy, OpenBSD will run on hardware that has been obsolete for decades because the hardware was in popular use when OpenBSD started, and the developers try to maintain compatibility and performance when possible.”

The OpenBSD software has an intriguing and complex history that involves the 1980s breakup of AT&T, lots of lawsuits, the Berkeley Software Distribution (BSD) project, the University of California, and the eventual emergence of the “BSD license.” The result was “perhaps the freest of the free operating systems,” Lucas says.

Today, Lucas emphasizes, “OpenBSD strives to be the most secure operating system in the world.” OpenBSD developers constantly work to try to “eliminate [security] problems before they exist,” he states.

“OpenBSD is a gift. You’re free to use it or not. As with any gift, you can do whatever you want with it. But you’re not free to bug the developers for features or support.”

His 491-page second edition offers a heavy dose–23 chapters–of how-to instructions. And readers are encouraged to read OpenBSD’s man (manual) pages online. In a book where the first chapter is titled “Getting Additional Help” and the second is titled “Installation Preparations,” you can guess that this is not aimed at absolute newcomers. Actually, Lucas says: “This book is written for experienced Unix users or system administrators who want to add OpenBSD to their repertoire.”

Still, if you want to learn and use OpenBSD, you will need this book — and some online documentation and very likely some advice from the OpenBSD community, as well. There don’t seem to be recent introduction-level books floating around. However, there are a few tutorial sites, including this one. And OpenBSD.org maintains a list of support and consulting specialists. Training also is available from a number of companies that can be found via the Web.

If you want to use OpenBSD but not spend much time learning it, you also can purchase a support contract and let someone else set up and maintain your system. Even then, you likely will want to have this new edition of Absolute OpenBSD handy for reference–and for learning, just in case, down the line, you change your mind.

Si Dunn