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

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

Mastering the Nikon D600 – Digital Darrell’s excellent new how-to guide – #photography #bookreview

Mastering the Nikon D600
Darrell Young
(Rocky Nook – Kindle, paperback)

Digital Darrell is at it again. This time, he has delivered an excellent how-to guide for using the Nikon D600 camera. This high-quality new digital SLR, he says, “can deliver some of the highest-quality images out there.”

Furthermore, he notes, the D600 offers “a rugged camera body designed to last. With this camera, we can return to the days when we seldom bought a new camera body and instead put our money into new Nikkor lenses. Wouldn’t you like to have some new lenses?”

As you would now expect with a feature-rich digital SLR, “the Nikon D600 is a rather complex camera, and it requires a careful study of resources like this book to really get a grasp on the large range of features and functions.”

The Nikon D600 is not recommended for total newcomers to digital photography. But it definitely looks like a rugged, yet lightweight winner for hobbyists and professional photographers alike. And it can be, the author says, an excellent choice for hiking, skydiving, underwater activities,  and other environments where camera weight and sturdiness are important.

Darrell Young’s hefty 547-page book devotes most of its pages to menu choices within the camera, plus step-by-step procedures for using features, changing settings, and picking the best settings for various situations.

Digital Darrell has written about 10 other books on Nikon digital cameras, including Mastering the Nikon D800 and  Mastering the Nikon D7000.

His new book is best read while working hands-on with a Nikon D600, getting it configured for the way you want it to work. (“Your Nikon D600, like a chameleon, can change to a different style of shooting with a mere turn of the Mode dial” once you’ve worked your way through various parts of  “an incredibly dense series of 50 functions,” Young writes.

Example photographs are kept to a minimum. If you need some basic, how-to-take-good-photographs help, add another Darrell Young book to your collection. But definitely get this one, too, if you want to get the most you can from your new Nikon D600.

Si Dunn

Mac Hacks – More than 50 ways to unlock the power of OS X – #apple #mac #bookreview

Mac Hacks
Tips & Tools for Unlocking the Power of OS X
Chris Seibold
(O’Reilly - paperback, Kindle)

Many people buy Apple’s Macintosh computers precisely because they do not want to have to mess with their machines. They just want to open a specific app, use it, close it and move on to the other things in their lives.

But many other users want to dive inside their Macs. They want to tinker with how it works, change settings for greater efficiency or utility, and know all that they can know about taking control and making their machine do new tricks and handle new tasks.

Mac Hacks is a fine and useful guidebook for anyone who isn’t afraid to change default settings or bring up a cursor at a command-line interface. It is also an excellent how-to guide if you want to learn how to make OS X on your Mac work better for your needs.

Author Chris Seibold wisely launches his book with a caution: “Hacking is fun and productive, but it can also introduce an element of danger….” And he starts at the very basics of hacking: carefully backing up your files before you start driving your Mac off its familiar, well-beaten paths. “With a good backup,” he writes, “you don’t start over, you simply restore. Without a good backup, well, good luck….” Indeed, his first “quick hack” shows how to change the default one-hour time-interval setting for the Mac’s Time Machine backup utility, so you can back up sooner (or later).

Seibold’s 11-chapter book contains 51 hacks that range from creating a bootable flash drive to learning how to use “the Unix side of your Mac” and putting your iTunes library on a separate disk. He also offers several more “quick hacks,” including how to copy the Mac’s Recovery partition to a Flash drive, so it can be available if your Mac’s hard drive fails.

Some of the book’s hacks have been provided by respected “guest hackers.”  But Seibold himself is no slouch at Mac hacking. He has written two other books for O’Reilly: the Big Book of Apple Hacks and the Mac OS X Lion Pocket Guide.

Si Dunn

Jump Start Sinatra – With this book and a little Ruby, you can make Sinatra sing – #programming #bookreview

Jump Start Sinatra
Get Up to Speed with Sinatra in a Weekend
Darren Jones
(SitePoint – Kindle, Paperback)

Many Ruby developers love Rails for its power and capabilities as a model-view-controller (MVC) framework. But some of them don’t like Rails’ size, complexity, and learning curve.

Meanwhile, many other Rubyists love Sinatra for its simplicity and ease of learning, plus its ability “to create a fully functional web app in just one file,” says Darren Jones in his new book, Jump Start Sinatra. “There are no complicated setup procedures or configuration to worry about. You can just open up a text editor and get started with minimal effort, leaving you to focus on the needs of your application.”

Jones does not temper his enthusiasm for Sinatra, adding that “there isn’t a single line of bloat anywhere in its source code, which weighs in at fewer than 2,000 lines!”

His 150-page book covers a lot of ground, from downloading and installing Sinatra to building websites, working with SQLite, Heroku, Rack, jQuery, and Git, and even using some CoffeeScript (to avoid “getting our hands dirty writing JavaScript…”). He also shows how to create modular Sinatra applications that use separate classes.

“Sinatra makes it easy–trivial almost–to build sites, services, and web apps using Ruby,” the author states. “A Sinatra application is basically made up of one or more Ruby files. You don’t need to be an expert Rubyist to use Sinatra, but the more Ruby you know, the better you’ll be at building Sinatra apps.”

Jones adds: “Unlike Ruby on Rails, Sinatra is definitely not a framework. It’s without conventions and imposes no file structure on you whatsoever. Sinatra apps are basically just Ruby programs; what Sinatra does is connect them to the Web. Rather than hide behind lots of magic, it exposes the way the Web works by making the key concepts of HTTP verbs and URLs an explicit part of it.”

Jump Start Sinatra is a well-written, appropriately illustrated guide to getting started with this popular free software. Ruby newcomers may wish for a few more how-to steps or code examples. But the counter argument is, if you’re brand-new to Ruby, save Sinatra for later; focus on getting learning Ruby first. 

Darren Jones does not buy into a common assessment that’s often heard when developers are asked their views of Rails vs. Sinatra. “Opinions abound that Sinatra can only be used for small applications or simple APIs, but this simply isn’t true,” he argues. “”While it is a perfect fit for these tasks, Sinatra also scales impressively, demonstrated by the fact that it’s been used to power some big production sites.”

Some of those “big production sites,” according to Wikipedia, include such notables as Apple, LinkedIn, the BBC, the British government, Heroku, and GitHub.

Si Dunn

Programming iOS 6, 3rd Edition – In with the New, Out with the Old (iOS 5 & Earlier) – #bookreview

Programming iOS 6, 3rd Edition
Matt Neuburg
(O’Reilly - paperback, Kindle)

“My book is way bigger than your book.”

Matt Neuburg, author of Programming iOS 6, could make that claim and win almost any book-size contest. The recently published 3rd Edition of his well-respected how-to guide focuses on the “Fundamentals of iPhone, iPad, and iPod touch Development” and now spans 1,154 pages in its paperback edition. It’s definitely much thicker and heavier than any of the devices it covers.

This new edition is centered on iOS 6.1 and xCode 4.6. The author notes that he has “eliminated most references to previous iOS versions.” And he explains: “Many iOS 6 features, of course, do not exist in iOS 5 or before; I usually mention that a new feature is new, but I have not generally addressed the problem of writing backwards-compatible code. The text would become confused and bloated if everything had to be qualified with advice for different versions (‘but if you’re targeting iOS 5.1, do this; if you’re targeting iOS 5.0, do that; if you’re targeting iOS 4.3, do the other’). I believe that I can justify such omissions on the grounds that previous editions of this book exist!”

Indeed they do. Programming iOS 5, which was published in two editions, also covers iOS 4.3 and is available on Amazon.com and through other sources..

“New iOS 6 features are, of course, both explained and adopted” in the new 3rd edition, Neuburg says. “For example, having described NSArray subscripting (in Chapter 10), I then use it consistently, in place of objectAtIndex:, throughout the rest of the book. Aside from this, the book’s structure remains the same as in previous editions, growing where necessary to accommodate explanations of new features, such as autolayout (in Chapter 14), state restoration (in Chapter 19), and collection views (in Chapter 21). Also, in response to reader requests, I have inserted a short example of Core Data programming into Chapter 36.”

Absolute beginners should not start with this book. Get some basic programming experience in C and Objective-C first.

And don’t be surprised that not everything about iOS is covered in a book 1,154 pages long. “It’s far too big to be encompassed in a book even of this size,” Neuburg emphasizes. “There are areas of Cocoa Touch that I have ruthlessly avoided discussing. Some of them would require an entire book of their own. Others you can pick up well enough, when the time comes, from the documentation. This book is only a beginning — the fundamentals.”

Si Dunn

Four good books that can help boost your JavaScript skills – #programming #bookreview

Ready for some enlightenment that can boost your JavaScript programming skills?

O’Reilly recently has published four books that can help you move from basic JavaScript library user to confident, experienced developer. 

“JavaScript started out as a simple and approachable front-end scripting language,” the publisher notes. “It has matured into a true cross-platform environment targeted by the latest emerging languages, frameworks, and developer tools.” The four new JavaScript books can help you “[l]earn how you can get the ultimate in responsiveness and interactivity from JavaScript, whether you use it on the front-end or server-side.” 

The four books are: JavaScript Enlightenment and DOM Enlightenment, both by Cody Lindley; Learning from jQuery by Callum Macrae; and Testable JavaScript by Mark Ethan Trostler.

#

JavaScript Enlightenment
Cody Lindley
(O’Reilly – paperback, Kindle)

Short, clear code samples are the stars of this fine, informative book. And most of the code samples can be viewed, executed and modified online using file links provided for the jsFiddle.net website.

The book’s goal is “to give the reader an accurate JavaScript worldview through an examination of native JavaScript objects and supporting nuances: complex values, primitive values, scope, inheritance, the head object, etc.” Cody Lindley adds: “I intend this book to be a short and digestible summary of the ECMAScript 3 Edition specification, focused on the nature of objects in JavaScript.”

Lindley keeps that promise in his 147-page book. His code samples rarely span more than a half page, and his explanatory paragraphs also are taut and to the point.

For example: “In JavaScript, objects are king: Almost everything is an object or acts like an object. Understand objects and you will understand JavaScript. So let’s examine the creating of objects in JavaScript….An object is just a container for a collection of named values (a.k.a properties).” 

Lindley’s book covers six of the nine native object constructors that are pre-packaged with JavaScript. The six are: Number(); String(); Boolean(); Object(); Array(); and Function(). He skips Date(), Error(), and RegEx() “because, as useful as they are, grasping the details of these objects will not make or break your general understanding of objects in JavaScript.” But he does hope you will learn them later, on your own. 

“JavaScript,” he writes, is mostly constructed from just these nine objects (as well as string, number, and boolean primitive values.) Understanding these objects in detail is key to taking advantage of JavaScript’s unique programming power and language flexibility.”

 # 

DOM Enlightenment
Cody Lindley
(O’Reilly – paperback, Kindle)

If you work with JavaScript, you probably rely on a Document Object Model (DOM) library such as jQuery to help you handle HTML scripting. 

But you can script the DOM without a DOM library, using JavaScript. Cody Lindley shows how in this excellent guide aimed at two types of developers who have experience with JavaScript, HTML, and CSS.

“The first developer is someone who has a good handle on JavaScript or jQuery, but has really never taken the time to understand the purpose and value of a library like jQuery,” Lindley writes. “The second type of developer is an engineer who is tasked with scripting HTML documents that will only run in modern browsers or that will get ported to native code for multiple OSes and device distributions (e.g., PhoneGap) and needs to avoid the overhead (i.e., size or size versus use) of a library.”

He notes that “HTML documents get parsed by a browser and converted into a tree structure of node objects representing a live document. The purpose of the DOM is to provide a programmatic interface for scripting (removing, adding, replacing, eventing, and modifying) this live document.”

Much of his 161-page DOM Enlightenment  focuses on how to work in JavaScript with “the most common types of nodes…one encounters when working with HTML documents.” He purposefully has “left out any details pertaining to XML or XHTML.” And, to help keep the book small, he has “purposely excluded the form and table APIs,” but adds: “I can see these sections being added in the future.”

Lindley also imposes a key technical limitation on the “content and code in this book….” It was, he says, “written with modern browsers (IE9+, Firefox latest, Chrome latest, Safari latest, Opera latest) in mind.”  

In keeping with the goals of O’Reilly’s Enlightenment series, explanations are short and concise and code examples are kept small. Also, the code examples are available online and can be displayed, run, and modified at the jsFiddle.net website.

 Cody Lindley emphasizes that he is “not promoting the idea of only going native when it comes to DOM scripting….” He hopes, instead,  “that developers may realize that DOM libraries are not always required when scripting the DOM.”

#

Learning from jQuery
Callum Macrae
(O’Reilly – paperback, Kindle)

Some developers work comfortably with jQuery yet have only a modest understanding of JavaScript.

Callum Macrae’s concise, well-written new book is intended to help fill that gap. It is “targeted at developers who know jQuery, but who don’t feel comfortable in their JavaScript knowledge or would just like to know more.”

The 102-page book focuses on the JavaScript code that jQuery covers up. It offers five chapters and two appendixes, with many short code examples and other illustrations. Much of the code is available through a GitHub repo.

Chapter 1, “Event Handling,” explains how event handling works in JavaScript and notes that “[e]vents are the heart of pretty much all web applications….jQuery provides a suite of functions to make event handling considerably easier than in JavaScript alone.” But these functions “add overhead and remove control from you, the developer. For this reason, it is important to know how you can handle events without jQuery in pure JavaScript.”

Chapter 2 covers “Constructors and Prototypes.” Writes Macrae: “Constructors are a way of creating objects, and can be initiated via the new keyword. Prototypes are one of the more powerful features of JavaScript, and allow the developer to declare a method or property that all instances of an object will inherit.” The chapter also can “help you understand how jQuery works, as jQuery itself uses prototypes.” 

Chapter 3 deals with “DOM Traversal and Manipulation.” Macrae notes that “jQuery includes a number of functions that make working with the DOM a lot easier than with JavaScript alone, which can be pretty ugly. However, the functions provided by jQuery can be rather hefty (especially in older browsers), and it is often a lot faster to just use pure JavaScript. Therefore, it is important to know how to work both.”

Chapter 4, “AJAX,” covers jQuery’s AJAX functions and concedes that they “offer some significant improvements over the native JavaScript AJAX features, as they are a lot easier to use.” Macrae explains: “AJAX is the act of making an HTTP request from JavaScript without having to reload the page; you could think of it as an inline HTTP request.” The chapter shows some jQuery AJAX requests and how those AJAX requests are sent in JavaScript. The goal is to help you get better at debugging code and also realize that “it isn’t worth loading the entire jQuery library to send a few requests and nothing else….”

Chapter 5, “JavaScript Conventions,” explains some “common conventions that you can use to improve your JavaScript…such as making your code more readable by using comments and whitespace correctly, optimizing your code in order to improve performance, design patterns, and some common antipatterns (code that causes more problems than it solves.)”

 This book is not recommended for persons who have no jQuery or JavaScript experience. Still, Appendix A, “JavaScript Basics,” provides a 28-page introduction to JavaScript, starting at “Hello World!” Appendix B, meanwhile, describes several applications and websites that can help you improve your JavaScript knowledge.

 # 

Testable JavaScript
Mark Ethan Trostler
(O’Reilly – paperback, Kindle)

“You have to test your code,” Mark Ethan Trostler emphasizes, “so why not make the process as easy and painless as possible?”

That’s a very desirable goal. Yet, as he notes a few sentences later, “testing–especially JavaScript testing–is complicated.”

For example: “Client-side JavaScript is especially difficult to test properly, as we have very little control over the environment within which our code runs. Multiple operating systems, multiple versions of operating systems, multiple browsers, multiple versions of browsers, not to mention plug-ins, extensions, different languages, zoom levels, and who knows what else, all conspire to hinder the performance of our applications. These permutations slow down, break, crash, and eat our applications for lunch. It’s a jungle out there!”

Trostler, a software engineer who works in test at Google, says his book “attempts to bridge the gap between sane development practices and JavaScript. JavaScript is a weird little language.” And he has aimed his guide at “people who encounter JavaScript professionally. Beginning, intermediate, or guru-level developers are all welcome, as this book has something for everyone.”

His 250-page how-to guide is structured into eight chapters that “tackle testable code in several steps. First we will investigate complexity. Then we will look at an architecture choice that attempts to limit complexity and coupling. With that as our foundation,” Trostler continues, “we will move on to testing, both at the functional level and at the application level.” From there, he delves into: code coverage; integration, performance, and load testing; debugging; and using automation in tests.

 “Writing unit tests for client-side JavaScript can be daunting,” Trostler states. “That means too many people don’t do it. This is not OK…”

Testable JavaScript is well written and rich with code examples, screenshots, diagrams and other illustrations. Whether you write client-side or server-side JavaScript — or both — or you are trying to rework some legacy files, Mark Ethan Trostler’s text can help you learn how to better create and maintain testable code.

Si Dunn

Windows PowerShell 3.0: Step by Step – A huge guide to things you can do after you’ve found PowerShell – #bookreview

Windows PowerShell 3.0: Step by Step
Ed Wilson
(Microsoft Press – paperback, Kindle)

 

Wondering what the “Open Windows PowerShell” option does on your Windows 8 PC?

There’s a book for that: Windows PowerShell 3.0: Step by Step by Ed Wilson.

According to Wilson, “Windows PowerShell 3.0 is an essential management and automation tool that brings the simplicity of the command line to the next generation operating systems.” It is “included in Windows 8 and Windows Server 2012, and portable to Windows 7 and Windows Server 2008 R2” and “offers unprecedented power and flexibility to everyone from power users to enterprise network administrators and architects.”

Windows PowerShell is accessed as a command console that also offers a programming language. This means you can create files that will perform some automated actions using “cmdlets” (pronounced “command-lets”) at the PowerShell prompt. The cmdlets, Wilson writes, “are like executable programs, but they take advantage of the facilities built into Windows PowerShell, and therefore are easy to write.” cmdlets are not scripts, he adds, “because they are built using the services of a special .NET Framework namespace.”

In one basic, introductory example in Wilson’s book, you create a batch file — TroubleShoot.bat — that automatically enters four commands in sequence and pipes the results of each command to a text file:

ipconfig /all >C:\tshoot.txt
route print >>C:\tshoot.txt
hostname >>C:\tshoot.txt
net statistics workstation >>C:\tshoot.txt

Wilson’s book spans 666 pages, so there are many other features and uses for PowerShell that should please power users, technical staff, Windows network administrators, and Windows networking consultants. Some programmers also will relish its opportunities to write various types of PowerShell files and create functions, subroutines, modules, and other processes.

If you are studying to become a Microsoft Certified Solutions Expert (MCSE) or Microsoft Certified Trainer (MCT), you may know this already: Windows PowerShell is considered “a key component of many Microsoft courses and certification exams.”

Windows PowerShell 3.0: Step by Step is well written, and it is solidly illustrated with code examples, screenshots, and other graphics. The author is a senior consultant at Microsoft and a well-known scripting expert. Readers are not expected to have “any background in programming, development, or scripting.” So, it is a good (albeit hefty)  how-to guide for PowerShell beginners and intermediate users.

Si Dunn

Designing Games – A well-written, comprehensive guide to video game engineering – #bookreview


Designing Games
A Guide to Engineering Experiences
Tynan Sylvester
(O’Reilly – paperback, Kindle)

If you design video games, if you hope to become a game creator, or if you work for a company whose lifeblood is creating and maintaining successful video games, you need to read this excellent book.

 Tynan Sylvester provides a comprehensive overview of the design processes that are the heart of successful games. And he describes the day-to-day actions necessary to keep game projects on track to completion.

“A game can’t just generate any old string of events, because most events aren’t worth caring about,” Sylvester contends. He is a veteran designer who has worked on everything from independently produced games to big-studio blockbuster games. “For a game to hold attention, those events must provoke blood-pumping human emotion. When the generated events provoke pride, hilarity, awe, or terror, the game works.”

Unlike screenwriters, novelists, or choreographers, game designers do not focus on creating events, Sylvester explains. “Instead of authoring events,  we design mechanics [the rules for how a game works]. Those mechanics then generate events during play.”

In his view, “The hard part of game design is not physically implementing the game. It is inventing and refining knowledge about the design.” And successful game creation involves “inventing mechanics, fiction, art, and technology that interconnect into a powerful engine of experience.”

His 405-page book also shows why you should not try to spell out everything up front before beginning work on a new game. It is too easy to overplan, he emphasizes. But it is also easy to underplan. So you should aim for a process in the middle: iteration, “the practice of making short-range plans, implementing them, testing them, and repeating.” And that loop-like process is applied not just to the overall game. “We can iterate on a level, a tool, or an interface. On larger teams, there should be many different iteration loops running at the same time.”

According to news accounts emerging from the recent Game Developers Conference in San Francisco, much of the video game creation business is now gravitating toward independent developers and game companies with 10 or fewer employees. And the main focus within that movement is on creating games for tablet computers and smartphones–platforms with lower barriers to entry. But powerful new video game consoles are expected to appear soon, and they likely will drive the creation of new games, as well as upgrades for some successful existing games.

Whether you work alone, in a small shop, or on intercontinental game-development teams within big companies, you can learn important insights, processes, and skills from Tynan Sylvester’s Designing Games.  And if you are now in the process of trying to find a design job somewhere in the video game industry, you definitely need to read it.

Si Dunn

NOOK HD: The Missing Manual – Tips and tricks for getting the most from your e-reader tablet – #bookreview

NOOK HD: The Missing Manual
Preston Gralla
(O’Reilly – Kindle, paperback)

Prolific and top-notch technical writer Preston Gralla is back again, this time with a handy “Missing Manual” that explains how to use two Barnes & Noble e-reader tablets, the NOOK HD and NOOK HD+.

His 18-chapter, 464-page book is divided into eight well-written parts containing generally good illustrations. The parts are:

  • Part  One – The Basics – A guided tour of the hardware, showing you how to use the NOOK as an e-reader and tablet.
  • Part Two – Reading Books and Periodicals – Shows how to use the NOOK’s many reading tools.
  • Part Three – Managing Your Library – How to buy books, newspapers, and magazines and track them in your personal library. Includes how to borrow and lend books from your NOOK, too.
  • Part Four – Apps, Media, and Files – Includes “how to find, download, install, and use thousands of apps…” and how to watch movies and TV shows and listen to Internet radio stations or play music from your own collection. Also, how to transfer files to your NOOK and use its built-in music player.
  • Part Five – The Web and Email – Shows “how to browse the Web and send and receive email using any email account.”
  • Part Six – Getting Social – How to keep track of your contacts, how to use the NOOK’s social features, including NOOK Friends. Also discusses using the NOOK on Facebook, Twitter and Google+.
  • Part Seven – Advanced Topics – Shows how to tweak some features and how to root your NOOK so it can “run like a standard Android tablet.”
  • Part Eight – Appendixes – These cover troubleshooting, accessories for the NOOK, file formats that a NOOK can handle, and things you can do with a NOOK at a Barnes & Noble store.

Gralla notes that the NOOK HD and NOOK HD+ can be used with microSD cards to expand the available memory for your stuff. The HD comes in 8 GB and 16 GB versions. The HD+ has 16 GB and 32 GB versions.

The HD’s screen is 7 inches.  The HD+ screen is 9 inches. The HD+, he adds, also “has a slightly faster processor than the NOOK HD–a 1.5 GHz dual-core speed demon. The extra oomph is needed to power the HD+’s larger screen.”

If you’ve gotten a NOOK HD or HD+ or are planning to get one soon, definitely add this book to your must-have list. Also, Gralla urges,  “strongly consider buying a cover or case. A cover protects your NOOK and its screen from damage, so they’re well worth the small investment.”

Si Dunn