Computers as Theatre Second Edition

Back in high school, a very long time ago, I took a drama class. I also took a one-sememster drama class at the university. This means I have a very elementary foundation, but I am far from an expert in the field. However, from the moment I heard this book’s title I immediately saw the potential.

Computers as Theatre, Second Edition is an update to a 20-year-old classic in the field of human-computer interaction. The author, Brenda Laurel, is an Adjunct Professor of Computer Science and Affiliated Faculty for Games and Playable Media at the University of California, Santa Cruz. In addition to her academic credentials, which include a PhD in theatre, she also has serious real-world experience with previous employers like Atari, Activision, and Apple.

The book is based on the simple premise that effective interface design, just like effective drama, must engage the user directly in an experience involving both thought and action. Laurel’s key point is that a user’s enjoyment must be a paramount design consideration, and she posits that it demands a deep awareness of dramatic theory and technique. While I might shrink back from the idea that this awareness is an absolute requirement, I will quickly and easily concede that this awareness would be extremely useful.

This is not a book of practical tips and tricks. It is a reader-accessible study that lays out the philosophical and academic foundations for understanding first how humans audience members interact with drama and uses that as a basis for thinking about how computer users can more effectively be enabled to interact with computers.

The beginning of Computers as Theatre focuses on both classical and modern schools of thought and theory about drama. This is very interesting and outside of my previous experience. It got me thinking about things I had never considered. I like that.

The rest of the book takes this knowledge and applies it to computers. It does so in ways that alternately seem obvious and revolutionary. I will illustrate using one small portion of the book’s content.

In drama, the action is represented as a whole and created by the playwright and director to be the same in every performance. In human-computer interaction, the action is collaboratively shaped by both the designer and the person using the computer; it is a joint-venture and may change with each interactive session. And yet, in both instances, there is an expected beginning, middle, and end. The audience expects to move from a beginning point to an end point with a purpose. The characters in a drama exist and act to move this plot forward. So do the elements of a computer interface design.

Have you have ever sat at a computer looking at a piece of software and wondering “What’s the point?” Then you have experienced a bad interface design. Learning how to create an interface that has an obvious point and reason behind each of its constituent parts and actions is one of the things this book intends to teach, but again, from a philosophical rather than practical standpoint. Here we do not learn the “what to do” answers so much as the questions to ask. In the long term, this is usually more valuable regardless of the topic or field.

Disclosure: I was given my copy of this book by the publisher as a review copy. See also: Are All Book Reviews Positive?

Matt Helmke’s Walk Across Nevada

I don’t know this guy, but he and I have the same name (which is kind of cool and weirding me out at the same time) and he is doing something that deserves some publicity. Here is a link to a Facebook page about his event and a copied/pasted/gently-edited synopsis:

[This other] Matthew Helmke was born and raised in Nevada, a proud Navy Veteran, having served our country in the Gulf War and now a cancer survivor. Last September, at the age of 35, he was diagnosed with Central Nervous System Lymphoma….brain cancer. After immediately having surgery to remove the cancer he began a grueling in hospital chemo. Every other Tuesday he spent 5 days inpatient at the Huntsman Cancer Institute in Salt Lake City receiving treatment. Just 3 months after his last chemo, he walked over 20 miles in his first “Relay for Life”. He wants to help others know that you can get better and step forward. He just passed the one year anniversary of his diagnosis. To mark this bittersweet occasion, he is walking more than 450 miles across the state of Nevada. Today alone he walked 35 miles with a 45 lb pack. I am trying to get his message out there to raise awareness, and provide encouragement for others on the same journey. He is truly an inspiration to those battling with cancer.

For those wondering, I was born and raised in Arizona and am in perfect health. Reading this story reminded me of the fragility of our humanity. Reading about my name-sharer’s persistence and fight to live is inspiring. Best wishes, Matt!

The Cartoon Introduction to Statistics

The is the second statistics-cartoon/manga mashup book that I have reviewed. The first one was about four years ago. Both books are pretty good, but they each present the topic differently. The previous book tells one main story as the book progresses, and statistics is taught because this story exists. It contextualizes the academic topic while expressing it in a simpler way and then adds the complex mathematics at the end of each chapter of the story that fit that chapter’s needs.

The Cartoon Introduction to Statistics teaches the basics of statistics using comics to illustrate various portions of the greater topic. Each chapter in the book covers a very specific facet of statistics, and each of these chapters build upon those that came before it. We start with a nice introduction that gives a high level view of what statistics can do for us and why we should care. This leads into discussions of numbers, random raw data, sorting, sample size, variables, simple and complex analyses, generalizing from a sample to a wider population, parameters and the central limit theorem, normal distributions, probabilities, inference, confidence, hypotheses and testing, and what statistics can and can not tell us (probability vs. certainty). All of the mathematics are contained in the back of the book and are referred to in the text when and where appropriate.

What makes this book stand out are the illustrated examples used throughout the book. Rather than being a book with one main narrative or plot, this is a non-fiction prose book that has occasional illustrated stories used to clarify complex concepts. Some are simple, like talking about how to determine how many fish in a lake fit a certain category. Others are more imaginative, like exploring whether male or female dragon riders are faster while taking into account dragon size. Regardless of whether the examples are more realistic or more whimsical, they are well thought out and useful. The illustrations throughout the book are nicely drawn and consistently appropriate.

I’m sure the question out there is whether I like this book better or the first one I reviewed. The honest answer is that I think both books are very well done, but each will appeal to a different audience within the population of people struggling to grasp the main concepts of statistics. Some, especially the math-phobic, will find this book more useful with its authors’ decision to move the mathematics to the back of the book and concentrate on the bigger picture and its parts. Others will appreciate the similar progression of topics of the other book, which puts the math at the end of the chapter and immediately reinforces what was just taught. Both are worthy entries in the education-focused manga/comic library.

Disclosure: I was given my copy of this book by the publisher as a review copy. See also: Are All Book Reviews Positive?

Legends of the Blues

Computers are not the only thing I am interested in. Not by a long shot. I have so many interests and hobbies that I haven’t yet mentioned on this blog. One of my interests is music. Some of you know I am a musician. I play bass in a local band. I have played guitar for more than 20 years. I love music. One style of music that has been a strong influence is the blues. Not only modern stuff like post-British-Invasion bands, but the old stuff, too. I also enjoy comics and manga and I’ve reviewed several titles that combine these with educational topics.

Legends of the Blues is filled with 100 one page biographies of blues musicians. The artists in the book were chosen by the author, William Stout, because he both loves their music and because he thought it would be fun to draw a picture of each of them. And draw he does! Stout calls on the style of R. Crumb as he creates beautiful portraits of each artist. Part of the process of selecting artists was that Stout had seen an older book by Abrams titled R. Crumb’s Heroes of Blues, Jass & Country. Stout tried not to repeat any of the artists from Crumb’s book, but in the end there were a couple he loved too much to leave out of his own book.

So, to the point. Who is in here? There are tons of big names you should recognize like Bessie Smith, Lightnin’ Hopkins, and Blind Willie Johnson. There are also some less-well-known artists who music really deserves to be better known, people like Cow Cow Davenport and Big Joe Williams.

Each biography in the book lists the artist’s main instruments, when and where they were born and died, and some recommended tracks along with a one page synopsis of their place in the history of the blues. Each one is interesting and worth reading. Then, on the facing page, you have a beautiful portrait of the artist being discussed. Very cool.

That would be enough for me to give this book a recommendation.

There is a bonus that I did not expect and appreciate greatly. Accompanying the book is a CD of 14 songs chosen by William Stout. The CD is titled “Saturday Night and Sunday Morning” and is an eclectic mix of traditional blues from both the juke joint and the Gospel sides. This CD includes several songs I have not heard before and did not have in my library, but which will be in regular rotation in my play lists from now on.

If you like blues, this book is worth the price of admission.

Disclosure: I was given my copy of this book by the publisher as a review copy. See also: Are All Book Reviews Positive?

Android Programming Unleashed

I have a chapter in one of my books, Ubuntu Unleashed, that gives an introduction to using Ubuntu as a foundation for developing for Android. The information in that chapter barely scratches the surface of the topic. As a response to those who are interested in learning more and who ask me for book recommendations, I am writing this review.

Android Programming Unleashed is part of the same series as my book. I’m stating that right up front so that everyone knows that I have a potential conflict of interest. Read my review with that in mind. I’m trying to be unbiased, and I have no direct financial or editorial interest in Android Programming Unleashed, but I am the author of a book in the same series. So, now that that is out of the way, let’s dig in.

Android Programming Unleashed is written by B.M. Harwani. It contains more than 650 well-written pages of useful information written by someone who clearly has experience teaching others. The book is structured in four parts, each of which contain several chapters.

The first part, Fundamentals of Android Development, starts like most development and programming books, with information about installation and a general introduction to the platform, tools, and getting started. It also includes a chapter on the basic widgets used in an Android application, including some standard classes, layouts, controls, and events.

The second part dives in deeper. Building Blocks for Android Application Design contains four chapters that each cover an important aspect like laying out controls, utilizing resources and media, using selection widgets and debugging, and displaying and fetching information using dialogs and fragments.

The third part, Building Menus and Storing Data, completes the basics that are needed for most useful applications. Here you learn how to create interactive menus and various useful options for those menus as well as how to use databases in Android applications.

The fourth part gives you additional information that will enable you to create more complex and interesting applications. Advanced Android Programming: Internet, Entertainment, and Services contains six chapters that cover a wide range of topics. Here you learn about implementing drawing and animation, displaying web pages and maps, communicating with SMS and email, creating and using content providers, creating and consuming services, and publishing Android applications to the Google Play store.

The book is clearly written and complete. It uses the standard tools for Android development, so the installation instructions include information for developing on the Windows, Mac, and Linux platforms. The figures and illustrations are clear and useful and the book contains numerous code samples. The code samples are also available for download using instructions given in the book’s introduction.

So, whether my book or something else whetted your appetite to code up some apps for Android, this is the book I recommend you take a look at.

Disclosure: I was given my copy of this book by the publisher as a review copy. See also: Are All Book Reviews Positive?

Watch the Seasons Change

Over the past year, I took a series of phone camera pictures out the window of the break room at work. I wasn’t consistent in where I held my phone while I took the pictures, and I didn’t take one every day. Even so, it is kind of fun. My friend, Jussi, was kind enough to create the animated GIFs. There are two versions and the only difference is the speed at which the images change.

Slow Speed

And now, a few random words to provide a little separation between the two images to make them each less distracting from the other.

Fast Speed

Beautiful LEGO

This review will be short, but that is because the book is an easy sell. Usually a book sits on my desk for a week or two (or six) before I have time to read and review it. This one arrived today. I opened the envelope and was engrossed. Thankfully, I didn’t have anything else to do for a while.

Beautiful LEGO is a stunning coffee table book filled with astounding images of amazing things created with LEGO. This isn’t a “how-to” book, this is an inspirational book and a conversation piece. Here are some examples.

If you like these, buy the book. Honestly, as neat as they are, these aren’t even the best examples or images. There are pages in here that are completely mind blowing. My kids will have a hard time getting this one away from me.

The book will be released October 7, 2013, but it is possible to preorder, and this is one that I think would be perfect as a Holiday gift.

Disclosure: I was given my copy of this book by the publisher as a review copy. See also: Are All Book Reviews Positive?

DevOps Troubleshooting

Have you ever been responsible for a server and had something go wrong? Ever been in a situation where you didn’t know what was causing the problem or how to figure it out? I think any of us who develop code, work in quality assurance, or administer systems have had this sort of experience. Sometimes problems appear that were never covered in a class or training session. Experience is an amazing teacher, but gaining that experience can be intimidating and sometimes painful. This book gives anyone working in DevOps a bit of a head start.

DevOps Troubleshooting: Linux Server Best Practices starts with a discussion of best practices in troubleshooting. This lays a good foundation for the rest of the book and should be read right away. If you don’t already know how to narrow down the location or source of a problem, how to communicate with others who may be affected or who can assist, or even where to start when a problem arises, the first chapter gives a solid plan to help you out. Most of the content of this chapter will seem obvious to people with experience, but they were not obvious to us when we started, and this information would have saved most of us a few headaches. Ideas like favoring quick, simple tests over slow and complex one, favoring past solutions that are known to work, and most importantly, understanding how the systems work before doing anything are vital. I like the advice about using the internet, but carefully, and resisting rebooting as a cure-all (because it doesn’t help you find the cause of the problem).

The chapters that follow are each focused on a specific type of problem. They include discussions of tips, tricks, and tools for diagnosing, and fixing issues. There are chapters that cover server slowness due to CPU, RAM, and Disk I/O issues, boot problems, full or corrupt disk issues, network problems, DNS server issues, email problems, web server problems, and database problems. There is even a chapter on diagnosing common hardware problems.

Experienced Linux server gurus may pick up a trick or two, but it is those who are new to working with Linux servers who are most likely to benefit from this book, and benefit in significant ways. The book doesn’t cover how to use Linux or how to set up your server, but it covers exactly what the title of the book says it will cover. For this reason, I consider this a perfect second Linux book for anyone who is relatively new to any aspect of DevOps with Linux.

Disclosure: I was given my copy of this book by the publisher as a review copy. See also: Are All Book Reviews Positive?

The LEGO Build-It Book: Amazing Vehicles

LEGO. There, I got the attention of a large number of you.

The LEGO Build-It Book: Amazing Vehicles is the first volume in a new series from No Starch Press that is intended to give anyone ages 7 and older some ideas of things they can build or modify using LEGO. The 10 projects in this book are ranked by complexity, functions, and required pieces. The introduction page for each project includes design notes, technical specifications, and beautiful pictures of each finished product to whet the appetite. There is also a pretty neat section on advanced building with some useful tips for building with greater strength and imagination.

This particular volume is focused on vehicles. The 10 projects included are:

  • Off-Roader
  • Go-Kart
  • Muscle Car
  • Stroller
  • Multi-Purpose Truck
  • Historic Racer
  • Classic Car
  • Wheel Loader
  • Street Rod
  • Rescue Truck

The book is beautifully done with excellent art and clear instructions. Anyone looking for some vehicle plans and ideas is sure to find it interesting. My 7 year old son is waiting excitedly for me to finish this review and hand the book over to him. I consider that a very good sign, too.

Disclosure: I was given my copy of this book by the publisher as a review copy. See also: Are All Book Reviews Positive?

The Healthy Programmer

I sit at a desk all day. I sit with my hands on a keyboard or mouse and my eyes fixed on a computer screen. This is a terrible thing to do to one’s body. I learned this first hand when, just over two years ago, I developed wrist and back pain so severe I nearly chose a different career. Instead, I talked to a doctor, read up on ergonomics and repetitive stress injuries, and made some significant changes to how I work.

I wish this book had existed back then, and better yet that I had read the book before the pain started. Even though I am healthy and doing well, I find that I must be vigilant. I get up and walk for a few minutes every hour. I take longer walks at least twice a day. I look away from the monitor frequently. Still, when I’m in the groove, it is easy to look up and realize that I have not changed my position for 3 hours. Those moments are far less frequent, and must be infrequent if I want to be able to do this sort of work the rest of my life. Same goes for you, and the sooner you realize it and adjust your work habits for the sake of your health, the better.

The Healthy Programmer: Get Fit, Feel Better, and Keep Coding is a book I recommend highly to all who work behind a desk all day, but it is especially written for programmers. While I spend more time writing documentation nowadays, my thinking patterns and my physical habits fall into the same category. This book spoke clearly to me and I think it will to anyone in a similar position.

The Healthy Programmer suggests a method of implementing changes to daily work and diet patterns that will be familiar to programmers. It is iterative, measured, and all-around Agile. You start by taking stock of where you want to go, what you want to see happen. Then, you measure how things are today and make small changes, one at a time, to your life and see how each affects the things you measured. As you get the hang of one thing and choose to incorporate it into your regular lifestyle, you measure something else and repeat the process.

We start with an introductory chapter. These lay the foundation for why some habits are good while others are not. Most of the facts are already known to us. Face it, programmer/computer engineer types are a pretty bright bunch. However, we don’t always choose to apply our knowledge, primarily because of how we have adapted ourselves to the pressures of the job. Once you get past the no-scare-tactic-or-hype discussion of habits and the well-cited using academic journals research behind what the book promotes, you find yourself wanting to do the things it discusses. It is kind of like that time you heard about a new toolkit available in a programming language you love that lets you implement a feature you have been dying to play with. You can’t wait to get started.

Topics covered in the book include walking, sitting vs standing, diet and nutrition, headaches and eye strain, back pain, wrist pain, exercise, getting up and out of your cube or home office, understanding fitness, and more. Everything comes with citations and balanced, scientific discussion that never gives in to hype or fad. You get advice that is backed up by doctors, scientists, nutritionists, and fitness professionals…and none of it sounds like the stuff you hear in the diet craze of the month or year. There are no vague promises, no unrealistic expectations, no fearmongering nor scare tactics. Just good information that is well presented and molded into a style of communication and plan for implementation that will be familiar to programmers.

This is a 200+ page book that can be easily skimmed over a weekend. Then, you can go back through it slowly over a period of months and let it help you be or become healthy and prevent, reduce, or eliminate pain. It is worth it.

Disclosure: I was given my copy of this book by the publisher as a review copy. See also: Are All Book Reviews Positive?