Programming for Musicians and Digital Artists: Creating Music with ChucK – #music #programming #bookreview

 

 

Programming for Musicians and Digital Artists

Creating Music with ChucK

Ajay Kapur, Perry Cook, Spencer Salazar and Ge Wang

Manning - paperback

Manning’s Programming for Musicians and Digital Artists is enjoyable, informative reading, particularly if you like music and programming and are motivated to combine them in some way.

The book offers plenty of clear how-to content for those who want to take their first deep dives into the techniques needed to make, modify and perform music using computers.

Indeed, this excellent guide can help take you from generating  “Hello, World” and “Twinkle, Twinkle, Little Star” to linking up with MIDI devices and creating sophisticated music and sounds that can be used in live performances and elsewhere.

Don’t be scared by the word “Programming” in the title. Yes, it can help–but it is not required–to have a little bit of programming experience. As you start working with the audio-centric programming language ChucK, you will simply type a few brief lines of code or paste them from downloaded files into a simple on-screen tool known as the “miniAudicle.” With this tool, you can then make changes and hear the results “instantly without interrupting other sounds being synthesized and heard,” the authors point out. You also can save your files, load different files and do other tasks quickly.

The free, open-source ChucK programming language, the authors’ emphasize, “is designed specifically for real-time sound synthesis and music creation.” Their book provides numerous short code examples to tinker with, as well as a few basic physics, math and music pointers that illustrate features and help support the authors’ descriptions.

Note: If your goal is to sit down at a keyboard and immediately start creating digital music, you may want to skip this book and look for other options. The authors concede that “many artists are happy with over-the-counter software systems and controllers for real-time performance work. And there are many who only want to use computers to produce static final products in the form of .wav/.mp3 files, CDs or collections of songs, sound tracks for videos, and more. A large number of those artists are happy to learn and use the packages and tools from commercial or free sources.

“But there are many, and we’re betting you’re one, who want more,” they add. “Maybe you’re coming to this book with a big idea (or many big ideas) and want the tools to help you realize it/them. Maybe you’re looking to shift directions in your art making. Or perhaps you already know how to program in a language such as Java, but you find it doesn’t do what you want.”

ChucK gives you “greater under-the-hood access” than some of the other popular music/sound languages and systems, such as Csound, SuperCollider, JSyn, Max/MSP and PD (Pure Data). And Chuck, the authors note, “is generally more succinct, requiring much less code (lines of typed text) than these other languages in order to accomplish a particular task.”

You learn how to work with many different tools, ranging from oscillators, to filters, to delay generators, reverberators and other audio effects, and MIDI (even without a MIDI interface and cable). You also learn how to generate the sounds of several different musical instruments.

ChucK has a key emphasis on ease of controlling time: for example, how long a tone or sounds occurs, how often it occurs within a set time period, and how long are the silences between tones or sounds.

I have not yet tried all of the code examples in the book, but the ones I have tried in several chapters have worked very well on a Windows laptop and are easily modified and tested in real time using the miniAudicle. (The book also shows how to install ChucK on Mac OS X and Ubuntu Linux systems).

Thus far, I have encountered only one typo in the printed book’s code examples. In Listing 1.8, “Playing notes with integer values,” there is a mistake in the line that is supposed to multiply the frequency of a tone pitch by 2. However, the line is printed “1 *=> myPitch;” — which simply repeats previous pitch. Changing the line to “2 *=> myPitch;” fixes the problem and takes only a couple of seconds to implement in the miniAudicle.

Si Dunn

 

NODE.js IN PRACTICE – A well-focused guide to understanding & using this powerful web development platform – #programming #bookreview

 

Node.js in Practice

Alex Young and Marc Harter

Manning – paperback

I have had a long-term, love-ignore relationship with Node.js. I have taken Node classes, read Node books, and tinkered with Node programming both on Windows and Linux machines. Sometimes I have loved working with Node.js. Other times, I have ignored it for months at a stretch while I rush around trying out other choices and development distractions: Clojure, Erlang, Grails, Hadoop, and Ember.js, for example — the list goes on and on.

Node.js in Practice is aimed at intermediate Node.js programmers and even advanced Node.js programmers. There is some awareness that beginners also may be reading this book. So the authors start by explaining Node from the standpoint of “what it is, how it works, and why it’s something you can’t live without.” Then they quickly recommend that Node newcomers should stop for now and read another good, but more basic, how-to book first: Node.js in Action.

In Node.js in Practice, the learning curve can start getting steep fairly quickly, especially for those of us who have worked somewhat superficially with Node in web projects that also involve other software (such as the MEAN stack: MongoDB, Express and AngularJS, plus Node). Fortunately, the authors, Alex Young and Marc Harter, take a very focused, three-part approach that keeps Node.js centered in the spotlight and promotes deeper understanding.

Part One focuses on “Node’s core fundamentals” and “what’s possible using only Node’s core modules (no third-party modules).” Part Two moves into “real-world development recipes” and shows how to “master four highly applicable skills—testing, web development, debugging, and running Node in production.” Some third-party modules also are introduced. Part Three, meanwhile, emphasizes “creating your own Node modules in a straightforward manner that ties in all kinds of ways to use npm commands for packaging, running, testing, benchmarking, and sharing modules. It also includes helpful tips on versioning projects effectively.”

The book offers “115 techniques…each module covering a specific Node.js topic or task, and each divided into practical Problem/Solution/Discussion sections.” I really like this approach, and the illustrated discussions that accompany each short code example are especially helpful.

For me, it has been a pleasure to upgrade to the latest version of Node.js and reconnect with it using this new book. Despite my previous experience with Node.js, I see a lot to learn! My thanks to Manning for providing a review copy of Node.js in Practice.

 

GIT IN PRACTICE: A fine how-to guide, with 66 techniques for greater effectiveness in individual & team settings – #programming #bookreview

 

 

Git in Practice

Mike McQuaid

Manning Books - paperback

 

I have taken Git how-to classes and read several how-to books on the Git distributed version control system. But I don’t use Git every day. Therefore, I tend to forget how to do certain tasks when I once again start bumbling around with my various local and remote Git repositories.

Git in Practice is exactly the book I have been needing at my computer. Git in Practice gives clear how-to steps, plus descriptions of ways to be more efficient and effective with Git in individual and team settings. And the well-written book even provides interesting background on how Git came to be–and be the way that it is.

For Git newcomers (and for those like me who tend to get rusty fairly quickly), the book’s appendices include how install Git, how to create a GitHub account and repository and how to benefit from the author’s heavily commented Git configuration files. There also is a handy index of Git methods for those times when you think you remember a particular command-line entry but aren’t sure exactly what is supposed to happen and what options, if any, may appear.

It matters not if you are new to Git, or someone who uses Git sporadically, or someone who uses Git daily as part of a software development or software test team. Git in Practice is a fine and useful book to keep within reach.

 

Si Dunn

Photoshop CC and Lightroom – An elegant, well-focused how-to handbook from Rocky Nook – #photography #bookreview

 

Photoshop CC and Lightroom

A Photographer’s Handbook

Stephen Laskevitch

(Rocky Nook - paperback, Kindle)

 

Stephen Laskevitch’s Photoshop CC and Lightroom is an excellent how-to book that both instructs and inspires.

This elegant new how-to book from Rocky Nook is aimed at digital photographers and graphics designers “who want to learn the basic tools and image editing steps within Photoshop and Lightroom to recreate professional looking images.” However, the book also is recommended for “a wide range of technicians and office workers who simply want to do more effective image editing.”

As a sometimes-photographer and not-frequent-enough user of feature-rich Photoshop, I definitely need how-to books like this to keep me on track with the features that I “know,” while also reminding me that there are many useful features I have not yet tried or learned. Fortunately, Laskevitch, an Adobe Certified Instructor, deliberately avoids the common tendency to showcase just the  “wow-factor Photoshop techniques.” Instead, he emphasizes “all the key techniques for good image editing: using layers and layer blending, color correction, printer profiles, and more.”

His book is richly illustrated with photographs that can inspire you to pick up your camera and go shoot. And it has plenty of how-to illustrations and steps for using the 2014 release of Photoshop CC, plus its companions: Bridge, Camera Raw, and Lightroom 5, as you process, enhance and preserve your images.

Bridge is a tool that lets you examine, sort, rate and organize the images in a folder. Adobe Camera Raw provides a few settings that can be selected or adjusted, and Laskevitch recommends shooting in RAW format, unless shooting snapshots. “One of the biggst advantages of RAW files,” he emphasizes, “is that they have more than 8 bits per channel of information and can therefore be edited more than JPEG files.” Lightroom, meanwhile, is “a photographer-friendly database application” that helps you keep track of your images and where you have stored them.

Photoshop CC and Lightroom is divided into two parts and ten chapters:

The Setup

  • Important Terms & Concepts
  • System Configuration
  • The Interface: A Hands-On Tour

The Workflow

  • Capture & Import
  • Organizing & Archiving Images
  • Global Adjustments
  • Local Adjustments
  • Cleaning & Retouching
  • Creative Edits & Alternatives
  • Output

“Output,” Laskevitch notes, “is the creation of what I call deliverables, whether that is a print, a book, a web site, or a digital file. Printing should be easier than it is, especially after all of these years of digital imaging. Improved with each release of Photoshop, the method I outline is simpler than ever. But since it uses profiles tht describe your printer’s characteristics to achineve stunning consistency and optimal results, you’ll have to keep focused nonetheless. This method,” he explains,” can also allaow you to experiment with many more papers than your printer manufacturer supplies.”

You do not have to have any prior Photoshop experience to benefit from Photoshop CC and Lightroom: A Photographer’s Handbook. And Photoshop works with either Windows or Mac computers, the author points out. Also, many (but not all) of the worfklows and techniques he describes can be used with previous versions of the software products, as well.

Si Dunn

  

Java 8 in Action – Ready for lambdas, streams and functional-style programming? #bookreview

 

Java 8 in Action

Lambdas, streams, and functional-style programming

Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft

(Manning - paperback)

 Java 8, we were sometimes assured, would just be Java 7 with a few slick new (or past-due) features added.

Actually, now that it’s here, Java 8 represents “the biggest change to Java in the 18 years since Java 1.0 was released,” the three authors of this fine new book point out.

Of course, news of “big changes” seldom sits well with developers who have spent countless hours learning and getting comfortable with one particular version of a programming language.

And many coders and companies will continue sticking with Java 7 for a while longer, because it still works. But the adoption pace for Java 8 keeps picking up. So, to misquote an old sci-fi slogan, resistance soon will become somewhat futile.

Lambdas, streams, and functional-style programming capabilities are Java 8’s headline additions. And there are some other major and minor additions, as well, including default methods and a new Date and Time API.

Java 8 in Action does an excellent job of introducing these new capabilities, and the book offers many short code examples and other illustrations to show how to put the new Java 8 capabilities to work.

Indeed, short (and shorter!) code is one of the hallmarks of Java 8. “In Java 8 you can write more concise code that reads a lot closer to the problem statement,” the writers emphasize. To illustrate that point, they offer a five-line example of verbose Java 7 code and follow it with a one-line Java 8 code example that accomplishes the same thing. Other examples also drive home the coding efficiencies that Java 8 can offer.

Lambdas, also known as anonymous functions, enable you to skip writing method definitions that will only be used once. The authors note that “passing code is currently tedious and verbose in Java [meaning 7 and earlier]. Well, good news! Lambdas fix this problem: they let you pass code in a concise way. Lambdas technically don’t let you do anything you couldn’t do prior to Java 8. But you no longer have to write clumsy code using anonymous classes to benefit from behavior parameterization!”

The new Streams API makes it much easier to work with collections in Java and provides “a much different way to process data in comparison to the Collections API.” Using the Streams API, “you don’t need to think in terms of loops at all. The data processing happens internally inside the library.”

Meanwhile, if you are a diehard object-oriented programmer, you may be leery of the term “functional programming” and the notion of using functions as values. (“In practice, you can’t completely program in pure functional style in Java,” the authors note. Instead, you will learn how to write “functional-style programs” in which you hide the side effects.)

With Java 8, “two core ideas from functional programming…are now part of Java: using methods and lambdas as first-class values, and the idea that calls to functions or methods can be efficiently and safely executed in parallel in the absence of mutable shared state. Both of these ideas are exploited by the new Streams API,” the writers state.  Also, in Java 8, they add, “there’s an Optional class that, if used consistently can help you avoid NullPointer exceptions.”

This review barely dents the surface of this excellent how-to book’s contents. Whether you are learning Java now or you are a Java developer who wants to keep your coding skills up-to-date and sharp, Java 8 in Action should be a book you will read soon.

Si Dunn

Cloudera Administration Handbook – How to become an effective Big Data administrator of large Hadoop clusters – #bookreview

 

 

Cloudera Administration Handbook

 Rohit Menon

Packt PublishingKindle, paperback

 

The explosive growth and use of Big Data in business, government, science and other arenas has fueled a strong demand for new Hadoop administrators. The administrators’ key duty is to set up and maintain Hadoop clusters that help process and analyze massive amounts of information.

New Hadoop administrators and those looking to join their ranks especially will want to give good consideration to The Cloudera Administration Handbook by Rohit Menon. This is a well-organized, well-written and solidly illustrated guide to building and maintaining large Apache Hadoop clusters using Cloudera Manager and CDH5.

The author has an extensive computer science background and is a Cloudera Certified Apache Hadoop Developer. He notes that “Cloudera Inc., is a Palo Alto-based American enterprise software company that provides Apache Hadoop-based software, support and services, and training to data-driven enterprises. It is often referred to as the commercial Hadoop company.”

CDH, Menon points out, is the easy shorthand name for a rather awkward software title: “Cloudera’s Distribution Including Apache Hadoop.” CDH is “an enterprise-level distribution including Apache Hadoop and several components of its ecosystem such as Apache Hive, Apache Avro, HBase, and many more. CDH is 100 percent open source,” Menon writes.

The Cloudera Manager, meanwhile, “is a web-browser-based administration tool to manage Apache Hadoop clusters. It is the centralized command center to operate the entire cluster from a single interface. Using Cloudera Manager, the administrator gets visibility for each and every component in the cluster.”

The Cloudera Manager is not explored until nearly halfway into the book, and some may wish it had been explained sooner, since they may be trying to learn it on day one of their new job. However, Menon wants readers first to become familiar with “all the steps and operations needed to set up a cluster via the command line” at a terminal. And these are, of course, important considerations to becoming an effective, knowledgeable and versatile Hadoop Administrator.  (You may not always have access to Cloudera Manager while setting up or troubleshooting a cluster.)

The book’s nine chapters show its well-focused range:

  • Chapter 1: Getting Started with Apache Hadoop
  • Chapter 2: HDFS and MapReduce
  • Chapter 3: Cloudera’s Distribution Including Apache Hadoop
  • Chapter 4: Exploring HDFS Federation and Its High Availability
  • Chapter 5: Using Cloudera Manager
  • Chapter 6: Implementing Security Using Kerberos
  • Chapter 7: Managing an Apache Hadoop Cluster
  • Chapter 8: Cluster Monitoring Using Events and Alerts
  • Chapter 9: Configuring Backups

You will have to bring some hardware and software experience and skills to the table, of course. Apache Hadoop primarily is run on Linux. “So having good Linux skills such as monitoring, troubleshooting, configuration, and security is a must” for a Hadoop administrator, Menon points out. Another requirement is being able to work comfortably with the Java Virtual Machine (JVM) and understand Java exceptions.

But those skills and his Cloudera Administration Handbook can take you from “the very basics of Hadoop” to taking up “the responsibilities of a Hadoop administrator and…managing huge Hadoop clusters.”

Si Dunn

Help support the work of reviewing books. Click here to buy the book:  Kindle, paperback

The Sony a7 and a7R: The Unofficial Quintessential Guide – #photography #bookreview

sony_a7_a7r

The Sony a7 and a7R

The Unofficial Quintessential Guide

Brian Matsumoto and Carol F. Roulland

(Rocky Nook - paperback, Kindle)

 

Rocky Nook has gained a hard-earned reputation for publishing excellent digital camera how-to guides. And this new one does not disappoint.

The Sony a7 and a7R: The Unofficial Quintessential Guide is aimed at both professional photographers and newcomers who recently have acquired, or are still considering, various elements of the Sony a7 and a7R digital photography and video system, including camera bodies, lenses and accessories.

The authors, who both have extensive photography experience, praise the a7 and a7R as “a breakthrough camera design…the lightest, least expensive, full-frame interchangeable lens cameras available to professional and amateur photographers” at the time their book was written.

The a7/a7R system has some innovations, including, for example, “a completely electronic viewfinder” that provides “immediate feedback on errors in white balance, focus, and exposure.” You also can use the viewfinder to “preview the image with additional artistic elements, such as saturated vivid colors, or muted colors and subtle shades, to decide how to create the proper ambience for the scene.” You also can preview the image in black-and-white.

But Matsumoto and Roulland offer a caution, as well. The a7 and a7R cameras are not well-suited for “taking action shots with a rapid-fire burst capability.” They recommend some of the “heavier digital SLRs,” instead.  The a7 and a7R, they contend, are “eminently suitable for those photographers who are interested in taking pictures at a more deliberate rate, who are concerned about critical composition, and whose aim is to take landscapes close-ups, portraits, or scientific photographs.”

Their 11-chapter, 362-page book wisely includes a chapter titled the “Basics of Digital Photography” near the front of the book, so users new to the a7 and a7R series–particularly those moving up from simple point-and-shoot cameras can learn to how to set their cameras on Intelligent Auto mode or Superior Auto mode and take good pictures while they are becoming familiar with menus, options and features.  (Superior Auto mode “is able to fine-tune the camera settings to create a better-quality image,” the two authors point out.)

Like many other of today’s digital cameras, the a7 and a7R offer “scores of menu commands and options, which can discourage even the most experienced user” if time and care are not taken to learn the ones you will use most often.

Matsumoto’s and Roulland’s excellent how-to book begins with chapters on “Getting Started” and learning the basics of photography, including f/stops, ISO numbers and some essential settings when shooting pictures or video.

The remaining chapters cover:

  • Managing Your Images
  • Automatic Settings
  • Taking Control of the Camera
  • Manual Control
  • Additional Features
  • Working with the Camera’s Wireless Functions
  • Accessory Lenses
  • Flash Photography
  • Making Movies

Two appendices also are included. Appendix A covers menu commands. Appendix B focuses on error messages and warning messages and how to resolve them.

A caution is offered for those who may use the a7R with telescopes, long telescopic lenses, or microscopes. “In comparison to the a7, movement of the a7R’s mechanical shutter can generate significant vibration which can blur the image.”  However, Matsumoto and Roulland also offer some tips to minimize the vibration’s effects.

If you have or are considering this new Sony camera system, The Sony a7 and a7R: The Unofficial Quintessential Guide packs a lot more clear and useful information than you will find in the official user manuals.

The book is richly illustrated, and it provides clear, step-by-step procedures and recommendations for every feature. You’ll need and want it in your library and in your camera case.

Si Dunn