Some Book Choices for ‘National Week of Making,’ June 17-23, 2016 – #books #WeekofMaking

The White House and the University of the District of Columbia are two of the sites helping spotlight the National Week of Making, June 17-23, 2016.

“America has always been a nation of tinkerers, inventors, and entrepreneurs,” a White House news release recently stated.

“Empowering students and adults to create, innovate, tinker, and make their ideas and solutions into reality is at the heart of the Maker Movement.”

Step Away from that SmartPhone and Make Something! 

Do you worry that your children or grandchildren now spend too much time messing with cellphones and game players and no time learning basic life skills such as how to work with tools to create or repair things?

Do you worry that you have become a slave to time-wasting digital distractions and have lost touch with how to make stuff, repair things or create something new from available materials?

It may be time to be come a maker, too, and an advocate for others who need to expand their horizons beyond the devices clutched tightly in their hands.

Some How-to-Make-Something Book Selections

In recognition of National Week of Making and the third annual White House Maker Faire, here are some books from Maker Media that can help you and others get into (or back into) the art, science and fun of making things and learning useful skills.

Start Making!

A Guide to Engaging Young People in Maker Activities

Danielle Martin and Alisha Panjwani

Maker Media, paperback, Kindle

Making is “the process of creating projects based on your ideas and interest,” the authors emphasize. “This Start Making! guide offers a series of creative do-it-yourself (DIY) projects that introduce young people to the basics of circuitry, coding, crafting, and engineering.”

Start Making! describes “a series of activity sessions that you can adapt to your situation” as an organizer and/or leader of activities for children and teens. “You can offer your own version of Start Making! activities in your home, at the library, at an after-school club, at the local community center, or anywhere else young people can gather to work on projects together.”

Tinkering

Kids Learn by Making Stuff, 2nd Edition

Curt Gabrielson

Maker Media, paperback, Kindle

Giving kids the time, opportunity and motivation to tinker with things (and make things from other things) can have big educational payoffs, the author, a science teacher, contends.

To the question “Are kids learning anything while they are having fun?”, he gives an enthusiastic and lengthy reply: “[H]eck yes they’re learning something, and it may be the most valuable thing they’ve learned all week, and it may raise all sorts of questions in their minds that inspire them to learn more about what they’re tinkering with, and it may start them on a path to a satisfying career, not to mention good fun on their own time, and it may put them in the driver’s seat of their own education by realizing their competence and ability to learn through tinkering, and they may begin to demand more of just this sort of learning opportunity.” Whew!

By the way, don’t just hand this book to a kid and say “Go have fun!” It is mainly written for adults who are willing to help children learn the joys of using their hands and minds to make stuff and try simple experiments.

 

Getting Started with 3D Printing

A Hands-on Guide to the Hardware, Software, and Services Behind the New
Manufacturing Revolution

Liza Wallach Kloski, Nick Kloski, and HoneyPoint3D™

Maker Media, paperback, Kindle

In a consumer-grade 3D printer, “thin strand of melted plastic is laid down, layer by layer, on a flat surface where it cools and hardens into an object,” the authors explain.

This book will not turn you into a manufacturing expert, but it does introduce major aspects of 3D printing and shows how to get started with computer-aided design (CAD) and 3D printing. It also introduces new makers to the two main types of consumer 3D printers: FDM, which use filament for fused deposition modeling, and SLA, which use resin for stereolithography.

Likewise, you learn the benefits of outsourcing your printing to firms with bigger, more expensive machines than a typical home user can afford. Meanwhile, consumer-focused 3D printing service bureaus offer another, less expensive choice. And you can have printing done by a local “hub” source, which may be one person offering to run your project on his or her 3D printer. In any case, you focus on creating a good design and uploading your files, and then your creation gets printed and shipped to you—or you go pick it up.

The book also covers topics such as what supplies you will need, how to get and use free 3D modeling software, how to correct mistakes in your models and prints, and how to lay out a 3D printing workspace.

 

Getting Started with Processing.py

Making Interactive Graphics with Python’s Processing Mode

Allison Parrish, Ben Fry, Casey Reas

Maker Media, paperback, Kindle

“Processing.py,” the authors explain, “is an interactive programming and graphics framework for the Python programming language.” This book shows how to create drawings, animations, and interactive images, even if you have never used Python or had any other programming experience.

Processing.py helps make coding more accessible to artists, educators, designers, and beginners. And the book can be used by children, teens, and adults.

Indeed, Getting Started with Processing.py is a good way to introduce a young person to computer programming, because the simple programs that are entered cause images to be created and objects to be moved. And the parameters of the images and objects often can be changed to create new effects.

 

Encyclopedia of Electronic Components

https://www.linkedin.com/in/sidunnVolume 3, Sensors

Charles Platt and Fredrik Jansson

Maker Media, paperback, Kindle

This final volume in the Encyclopedia of Electronics Components series focuses on a wide range of sensor devices that detect or respond to such factors as light, sound, heat, location, presence, proximity, orientation, oscillation, force, load, human input, gas and liquid properties, and electricity. The text describes what the sensors do, how they work, and how they can be used.

The authors note that many sensor devices previously were very expensive but “are now as cheap as basic semiconductor components such as a voltage regulator or a logic chip, and they are easy to use in conjunction with microcomputers.”

Si Dunn

‘Spring Boot in Action’ can help you push aside the old drudgeries of configuring Spring applications – #programming #bookreview

Spring in Action

Craig Walls

Manningpaperback

If you have worked with the decade-old Spring framework, you know well that it has a long history of providing configuration headaches for developers. The new Spring Boot framework, on the other hand, literally brings much-needed simplification and automation to the process of using Spring. And it can put some refreshing fun back into application development.

“Spring Boot,” Craig Walls states in his new book, “is an exciting new way to develop Spring applications with minimal friction from the framework itself. Auto-configuration eliminates much of the boilerplate configuration that infests traditional Spring applications. Spring Boot starters enable you to specify build dependencies by what they offer rather than use explicit library names and version. The Spring Boot CLI takes Spring Boot’s frictionless development model to a whole new level by enabling quick and easy development with Groovy from the command line. And the [Spring Boot] Actuator lets you look inside your running application to see what and how Spring Boot has done.”

You do not need a lot of Spring experience to benefit from this book. You do need some Java background, and it is helpful to have used Groovy, Gradle and Maven a few times. But the book’s text is written smoothly, and it is well illustrated, with numerous code examples and a few screen shoots. So Java developers who are fairly new likely can use it and pick up new skills.

While going through the book, you develop a reading-list application using Spring Initializr, Spring Boot, Spring Tool Suite, and other tools. In the project, you “use Spring MVC to handle web requests, Thymeleaf to define web views, and Spring Data JPA to persist the reading selections to a database,” Craig Walls explains. Initially, at least, “an embedded H2 database” is employed during development.

Walls’s book is divided into eight chapters:

1. Bootstarting Spring
2. Developing your first Spring Boot Application
3. Customizing configuration
4. Testing with Spring Boot
5. Getting Groovy with the Spring Boot CLI
6. Applying Grails in Spring Boot
7. Taking a peek inside the Actuator
8. Deploying Spring Boot applications

Four appendices also are presented: Spring Boot developer tools, Spring Boot starters, Configuration properties, and Spring Boot dependencies.

Bottom line: with Spring Boot providing much of the heavy lifting, you likely will gain better feelings about the venerable Spring framework. You may even wind up with a healthy new respect for it. And Spring Boot certainly should add more years to Spring’s usefulness and viability in the marketplace.

Si Dunn

Getting started with 3D printing? Consider these two new Maker Media books – #bookreview

Many people who want to jump into 3D printing have almost no idea what they actually want to make. Or, they may have projects in mind that far exceed their abilities to fabricate as beginners.

If 3D printing is on your mind (or arriving soon in some shipping boxes and downloads), here are two new books to consider: 3D Printing Projects and 3D CAD with Autodesk 123D.

3D Printing Projects

Toys, Tools, and Contraptions to Print and Build Yourself

Brook Drumm & James Floyd Kelly, with John Baichtal, Rick Winscot, Brian Roe, John Edgar Park, Steven Bolin,
Nick Ernst, and Caleb Cotter

(Maker Media, paperback)

Maker Media’s 3D Printing Projects is written by a team of professionals who have 3D printing newcomers in mind, at first. But their book also includes several more challenging projects that require Arduino or Raspberry Pi boards, motors, servos, or video cameras and other devices. Importantly, all of the projects are designed to be fabricated with small, desktop 3D printers.

The book starts by showing how to fabricate a simple gooseneck lamp that uses an LED light powered by a 9-volt “wall wart.” From there, the projects increase in complexity, to fabricated devices such as a two-axis camera gimbal and a flower-care robot that monitors soil moisture and adds water when the soil gets dry. Numerous photographs, illustrations and how-to steps are provided.

This well-written book shows that much can be done, even at the hobby level, with just a few custom 3D printed parts and some electronics.

 

3D CAD with Autodesk 123D

Design for 3D Printing, Laser Cutting, and Personal Fabrication

Jesse Harrington Au & Emily Gertz

(Maker Media, paperback)

The first steps to 3D printing include “learning how to design for three dimensions using a computer” and having an idea “where to start,” the authors of this useful book point out.

“Many makers who are accustomed to creating by hand view CAD [computer-aided design] software suspiciously. They may worry that digital design will lack soul, or be perceived as cheating. Neither is true,” Jesse Harrington Au and Emily Gertz insist. “A good CAD program can be just that: an aid in realizing your vision for your project.”

Autodesk 123D is one of several popular “parametric design” software packages on the market. The authors note: “The term parametric refers to the use of design parameters, such as measurements, to construct and control the 3D model. This means you will first create a sketch that has measurements attached to it. Those measurements will be used to construct your solid model using different features such as extrude, revolve, or loft.

“This being said, 123D is also capable of ‘tinkering’: using loosely based measurements while fleshing out the look and feel of your design. The power of this is that it allows you to tweak your model during the design process based on actual measurements.”

The book shows how to navigate CAD programs, and it covers how to work with the cloud-based Autodesk 123D “family of programs that allow you to share models between the different apps.”

3D CAD with Autodesk 123D is richly illustrated and well written, with much of the how-to text contained in short paragraphs that offer clear steps.

Si Dunn

 

 

 

 

Make: Paper Inventions – A fun how-to book for kids and their adults

 

 

 

Make: Paper Inventions

Kathy Ceceri

Maker Media, Inc. – paperback

Don’t just hand this book to your kids, say “Have fun,” and then go off to play with your computer. Get out the glue, scissors and paper and join in.

You might enjoy seeing what happens  when you (1) cut all the way around a Möbius strip or (2) fold a single strip of paper into a versatile and surprising trihexaflexagon, or (3) try your hand at quilling. That, the author writes, is “the art of creating 2-D and 3-D designs out of thin paper spirals and curls.”

Make: Paper Inventions opens with a nice, succinct overview of the history of paper and the fact that it was not made from the hard interior of trees until the mid-19th century. Before then, paper was made from many other materials, such as linen, cotton, the inside of certain tree barks, and the flattened stalks of papyrus plants.

The first project in the book is the messiest, and you may not want to use your favorite blender. But it will provide good teaching moments for kids (and their adults). The text and photographs show how to make new paper from several sheets of recycled copy paper. You will not want to run the homemade paper through your laser printer, but it can be used for art projects.

Kids can handle some of the paper projects in this book by themselves. However, the more complicated ones, such as building a large geodesic dome from newspaper pages, definitely will need adult guidance and encouragement. And certain materials may need to be ordered.

Meanwhile, the final chapters of this fine book offer projects that mostly involve folding pieces of paper. And they provide some focus on mathematics, such as how to fold paper in such a way that just one diagonal cut will result in a five-pointed star.

Make: Paper Inventions can help put more STEAM (science, technology, engineering, art, and mathematics) into the lives of your kids–and into your life, as well.

Si Dunn

Agile Metrics in Action: A good how-to guide to getting better performance measurements – #programming #bookreview

Agile Metrics in Action

Christopher W. H. Davis

Manningpaperback

In the rapidly changing world of software development, metrics “represent the data you can get from your application lifecycle as it applies to the performance of software development teams,” Christopher W. H. Davis writes in his well-written, well-structured new book, Agile Metrics in Action.

“A metric can come from a single data source or it can be a combination of data from multiple data sources. Any data point that you track eventually becomes a metric that you can use to measure your team’s performance.”

The goals of agile metrics include collecting and analyzing data from almost every useful and accessible point in the software development life cycle, so team and individual performances can be measured and improved, and processes can be streamlined.

A key aspect of the data collection and analysis process is distributing the resulting information “across the organization in such a way that everyone can get the data they care about at a glance,” Davis says. He explains how and highlights some “traps” that teams can “fall into when they start publishing metrics,” such as “[s]ending all the data to all stakeholders,” many of whom won’t know what to do with most of it.

Metrics remain a controversial topic for many software developers, Davis emphasizes. So any business leader planning to rush his or her company into adopting agile metrics will need to proceed cautiously, instead. It is vital to get buy-in first from developers and their managers, he says.

“There will likely be people in your group who want nothing to do with measuring their work,” he explains. “Usually this stems from the fear of the unknown, fear of Big Brother, or a lack of control. The whole point here is that teams should measure themselves, not have some external person or system tell them what’s good and bad. And who doesn’t want to get better? No one is perfect—we all have a lot to learn and we can always improve.”

The concept of continuous development is a key topic in this book. “In today’s digital world consumers expect the software they interact with every day to continuously improve,” Davis states. “Mobile devices and web interfaces are ubiquitous and are evolving so rapidly that the average consumer of data expects interfaces to continually be updated and improved. To be able to provide your consumers the most competitive products, the development world has adapted by designing deployment systems that continuously integrate, test, and deploy changes. When used to their full potential, continuous practices allow development teams to hone their consumer’s experience multiple times per day.”

Of course, continuous development produces continuous data to measure and manage, as well, using agile metrics techniques.

Many different topics are addressed effectively in this book. And the practices the author presents are organized to work with any development process or tool stack. However, the software tools Davis favors for this book’s code-based examples include Grails, Groovy and MongoDB.

Agile Metrics in Action is structured and written to serve as a how-to book for virtually anyone associated with a software development team that relies on agile metrics. You may not understand all of the text. But if you take your time with this well-illustrated book, you can at least gain a better comprehension of what agile metrics means, how the process works, and why it is important to your employer, your group and your paycheck.

Si Dunn

Unity in Action: A top-notch how-to guide for game developers – #gamedev #programming

Unity in Action

Joseph Hocking

Manning – paperback

Unity, the cross-platform game development environment, is easy to download and get running. But it definitely is not easy to learn without some help.

Fortunately, Joe Hocking’s Unity in Action makes it reasonably straightforward to learn how to develop games in 3D, as well as with Unity’s new 2D capabilities. The book takes the reader from “Hello, World” all the way to “Putting the parts together into a complete game” and then “Deploying your game to players’ devices.”

Even with this fine book, however, game development can be hard and complicated work. There are many different elements to consider, such as “Adding enemies and projectiles to the 3D game”, “Developing graphics for your game”, “Adding interactive devices and items within the game,” and putting sound effects and music into your game. Hocking’s book does a good job of showing how to handle these tasks, plus many more.

You may have heard Unity described as a game development environment where you don’t have to know how to program. Yes, you might be able to create some games without programming skills. But, “to produce commercial titles” using Unity, you definitely need some programming experience, Hocking emphasizes. In this case, you should have some knowledge of C#, but a background in some other object-oriented (OO) programming language will be helpful if you are new to C#, he adds.

Hocking’s book has many examples, illustrations, headings and subheadings. But step-by-step listings are sparse. Therefore, be prepared to read the text closely and, if necessary, develop lists of steps yourself. There is nothing wrong with this approach, and it is not really a criticism of the book. Game development, after all, is not something that you can, nor should, just dive into and speed through, step by step. It requires a lot of careful planning and thought before you start.

Unity in Action wastes no time. It gets right to the essential stuff you need to know. And it can get you into action reasonably fast as a game developer. But “reasonably fast” in this case must be defined by how quickly you personally can learn to handle Unity, plus the myriad tasks of planning, creating, testing, revising and distributing a game.

Si Dunn

 

Elixir in Action: A good guide to the ‘alternative language for the Erlang virtual machine’ – #programming #bookreview

 

 

Elixir in Action

Saša Jurić

Manning – paperback

“Elixir,”  Saša Jurić writes, “is a modern functional programming language for building large-scale, distributed, fault-tolerant systems for the Erlang virtual machine.”

What Elixir really is, of course, is a breath of fresh air for software developers who find it hard or confusing to work with Erlang’s sometimes complicated syntax and conventions.

Erlang has long been almost off the chart–the bottom of the chart–when computer languages are stacked up by popularity.  It began its oddball life in the 1980s as a programming language for the computers in telephone switching systems, specifically Swedish-made, Ericsson telephone switching systems.

Indeed, I first encountered Erlang in the  late 1980s while trying to help Ericsson sell Swedish-made computers to American banks. Back then, I counted my lucky stars that I didn’t have to learn it, because I was a tech writer, not a software developer.

Today, however, Erlang and its Open Telecom Platform (OTP) libraries are gaining new converts among serious practitioners of functional programming. Many of them likewise are drawn to Erlang’s built-in support for concurrency, distribution and fault tolerance.

The digital Swedish meatball known as Erlang turns out to be a powerful choice for providing high reliability and scalability to networked and distributed systems with multi-core processors. Telephone networks require high reliability and flexible scalability. And Erlang was designed to help provide both — without limiting itself to telecom systems.

Some of Erlang’s lack of popularity can be blamed on the language’s somewhat difficult learning curve. But it also has not been heavily promoted to software developers. That has been changing recently as companies and developers learn more about Erlang’s good track record, Saša Jurić points out.

“It powers various large systems and has been doing so for more than two decades, such as the WhatsApp messaging application, the Riak distributed database, the Heroku cloud, the Chef deployment automation system, the RabbitMQ message queue, financial systems, and multiplayer backends. It’s truly a proven technology.”

In Elixir in Action,  Saša Jurić nicely meets his goal of writing a book that brings “programmers new to Elixir and Erlang to the point where they can develop complex systems on their own.” Elixir provides an alternative language based on several other languages, including Ruby and Clojure, as well as Erlang.

Jurić’s how-to guide requires no prior experience with either Erlang or Elixir, but you should be familiar with at least one other programming language, such as JavaScript, C# or Ruby.

His book is divided into three parts:

  • Part 1, “The Language,” offers a high-level overview of Erlang and Elixir. Then it delves into Elixir’s basic building blocks and details common functional programming idioms.
  • Part 2, “The Platform,” focuses on primary aspects of BEAM, the Erlang virtual machine, as well as “how concurrency works and how it can help you build reliable systems.” Indeed, “[c]oncurrency is at the heart and soul of Erlang systems,” Jurić writes. “Almost every nontrivial Erlang-based production system is highly concurrent. Even the programming language is sometimes called a concurrency-oriented language.”
  • Part 3, “Production,”discusses “production aspects of BEAM-powered systems,” as well as “how to package components, reuse third-party libraries, and build a simple web server,” and “how to build a deployable standalone release and how to interact with the running system.”

Elixir in Action does not cover everything. But it provides fine overviews, clear how-to instructions, and compact code examples that illustrate important points. It can get you going in good directions.

“Elixir,” the author emphasizes, “lowers the entry barrier into the Erlang world and improves developer productivity.”

 — Si Dunn