Scala for Java Developers – A practical guide to building apps and integrating code – #programming #bookreview

Scala for Java Developers

Build reactive, scalable applications and integrate Java code with the power of Scala

Thomas Alexandre

(Packtpaperback, Kindle)

 

The increasingly popular Scala programming language runs on the Java Virtual Machine (JVM). And “Java and Scala stacks can be freely mixed for totally seamless integration,” Scala’s website proudly trumpets.

The Scala site goes on to note: “Scala is a modern multi-paradigm programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages.”

Indeed, in Scala, “every value is an object” and “every function is a value.”

Scala’s continuing  rise poses something of a dilemma for many Java developers. Their questions include:

  • Should I learn Scala and blend it with Java?
  • Should I take up Scala and use it instead of  Java?
  • Should I just keep my head down, ignore Scala, and focus on getting better at developing with Java?

Thomas Alexandre’s well-written new book, Scala for Java Developers, clearly is aimed at those who would much rather add Scala to their skills and resumes than attempt to hide from the changes Scala can offer to Java development.

He notes in his preface: “When I tell people around me that I now program in Scala rather than Java, I often get the question, ‘So, in simple words, what is the main advantage of using Scala compared to Java?’  I tend to respond with this: ‘With Scala, you reason and program closer to the domain, closer to plain English.’ “

However, Alexandre’s new how-to guide does not try to browbeat developers into abandoning Java and pledging allegiance to Scala alone. Instead, Alexandre shows how the two programming languages can be used together. And he demonstrates how Scala solutions often can be shorter and less complex than their Java equivalents.

He focuses on “exploring progressively some of the new concepts brought by Scala, in particular, how to unify the best of Object-Oriented and functional programming without giving away any of the established and mature technologies built around Java for the past fifteen years.”

Decisions regarding how far to go with Scala remain with the reader. Yet Alexandre and his numerous code examples make a compelling case for becoming at least reasonably familiar with the language and experiencing how easily it can integrate with Java.

And, yes, he does evangelize a bit; this is, after all, a book about Scala. “Scala is the only language that has it all,” Alexandre touts. “It is statically typed, runs on the JVM and is totally Java compatible, is both object-oriented and functional, and is
not verbose, thereby leading to better productivity, less maintenance, and therefore more fun.”

His book is divided into 10 chapters:

  • Chapter 1: Programming Interactively within Your Project – Includes advantages of using Scala, learning Scala via the REPL, and performing operations on collections.
  • Chapter 2: Code Integration – Focuses on creating a REST API from an existing database, adding a test in Scala, setting up Scala within a Java Maven project, and showing how Scala and Java work together despite some differences in code style.
  • Chapter 3: Understanding the Scala Ecosystem – Includes inheriting Java Integrated Development Environments (IDEs), building with Simple Build Tool (SBT), using Scala worksheets, working with HTTP, and using Typesafe Activator.
  • Chapter 4: Testing Tools – Writing tests with ScalaTest and testing with ScalaCheck.
  • Chapter 5: Getting Started with the Play Framework – Getting started with the classic Play distribution, getting started with the Typesafe Activator, the architecture of a Play application, authentication, and practical tips when using Play.
  • Chapter 6: Database Access and the Future of ORM – In this case, ORM is Object Relational Modeling. Chapter topics include integrating an existing ORM – Hibernate and JPA, dealing with persistence in the Play framework, replacing ORM, learning about Slick, and scaffolding a Play application.
  • Chapter 7: Working with Integration and Web Services – Includes binding XML data in Scala, working with XML and JSON, and handling Play requests with XML and JSON.
  • Chapter 8: Essential Properties of Modern Applications – Asynchrony and Concurrency – Covers the pillars of concurrency, the async library – SIP-22-Async, and getting started with Akka.
  • Chapter 9: Building Reactive Web Applications – Includes describing reactive applications, handling streams reactively, experimenting with WebSockets and Iteratees in Play, learning from activator templates, and playing with Actor Room.
  • Chapter 10: Scala Goodies – Covers exploring MongoDb and scratching the surface of Big Data. Also introduces DSLs in Scala and introduces Scala.js, which compiles Scala to JavaScript.

Alexandre makes a strong pitch for using the Play framework in Scala web development. And he again speaks out for Scala at the conclusion of his well-structured book:

“The concise and expressive syntax of the Scala language should make your code not only more readable but also more maintainable for yourself and other developers,” he writes. “You don’t have to give up any of the libraries of the very large and mature Java ecosystem as all the APIs can be reused directly within Scala. Moreover, you benefit from many additional great Scala-specific libraries. Our recommendation is to take a piece of Java code from a domain you understand well, maybe because you wrote it in the first place one or several times before. Then, try to convert it to Scala code and refactor it to get rid of the boilerplate and to make it in a more functional style.”

Si Dunn

 

 

 

 

 

 

 

 

CoffeeScript in Action – A pleasant, thorough, language-centered how-to guide – #programming #bookreview

 

CoffeeScript in Action

Patrick Lee

(Manning - paperback)

 

CoffeeScript compiles to JavaScript, that awkward, quirky mashup which remains–because of its central role in the World Wide Web–one of the world’s most heavily utilized programming languages.

When beginners first hear this about CoffeeScript, they often think: Ah, ha! I could learn that and skip having to learn JavaScript!

Nope. Sorry.

“CoffeeScript is not about avoiding JavaScript–it is about understanding JavaScript,” Patrick Lee writes in his comprehensive and pleasant new book, CoffeeScript in Action. “Learning CoffeeScript helps people to understand JavaScript.”

Lee notes: “CoffeeScript is a simple language, and there are two simple reasons for learning it. First, it fixes some problems in JavaScript that are unpleasant to work with. Second, understanding CoffeeScript will help you learn new ways of using JavaScript and new ways of programming in general.”

So, learn JavaScript and learn CoffeeScript. And, if you are hired to work with JavaScript, be very glad you took the time and effort to also learn CoffeeScript. It will come in handy.

CoffeeScript increasingly is being used to write complete applications. (Just one example: the CoffeeScript compiler used to be written in Ruby. Now it is implemented in CoffeeScript.) Likewise, CoffeeScript can work smoothly with Node.js and Ruby on Rails.

CoffeeScript is out there, and, increasingly, it is being put to work in the workaday world.

CoffeeScript in Action definitely lives up to its title. Lee’s book takes the reader from the foundations and basic building blocks of the language all the way to thoughts on the future of CoffeeScript as ECMAScript 5 and ECMAScript 6 keep bringing changes to JavaScript.

I have read and used several smaller books on CoffeeScript, including The Little Book on CoffeeScript and Jump Start CoffeeScript. These are good, and numerous other books are available. But if you want a reasonably deep understanding of CoffeeScript as a programming language, I recommend starting with, or moving up to, CoffeeScript in Action.

Patrick Lee says that his book “doesn’t try to comprehensively detail libraries, frameworks, or other ancillary matters. Instead, it concentrates only on teaching the CoffeeScript programming language from syntax, through composition, to building, testing, and deploying applications.”

The three-part, 13-chapter, 408-page (in print format) book offers dozens of short, concise code examples that illustrate such diverse aspects as objects, functions, mixins, tests, event loops, compiling, creating animations, using CoffeeScript with domain-specific languages, and deploying applications. The book also serves up some CoffeeScript cartoons, as well as practical illustrations for key points.

How long will JavaScript be around–and, with it, the impetus to learn CoffeeScript?

Lee contends that “you should count on it being around for a long time–long enough, at least, that it will probably outlast your career as a programmer.”

Si Dunn

 

The Nature of Truth – Sergio Troncoso’s intelligent thriller is now in paperback – #bookreview

The Nature of Truth

Sergio Troncoso

(Arte Público Press – paperback )

 

Yale graduate student Helmut Sanchez is a man unsure of who he really is.  He feels “neither American nor German nor Mexican.”

Indeed, as this absorbing, intelligent, world-wise thriller unfolds, Helmut is wrestling with a question “that had tormented him all his life,” Sergio Troncoso writes.

“Helmut Sanchez had always hoped his Mexican blood would save him from a free-fall into his German heritage. Yet certain parts of this heritage also captivated him, especially German philosophy and poetry. So instead of saving him outright, these mixed legacies confused him. He had never really felt at home with German culture, but in the many ways he harbored the same doubts about American culture.”

He is, in short, stuck with the vague feeling that he is “neither here nor there.”

Suddenly, amid his graduate school academic research, Helmut makes a startling discovery about one of his professors. It is a finding that unsettles both his life and his views even more. Soon afterward, when the professor is killed, Helmut finds himself drawn into a murder investigation where the borders between good and evil and right and wrong quickly get fluid and murky.

The Nature of Truth, first published in hardback in 2003 by Northwestern University Press, is now available for the first time in paperback, from the University of Houston’s Arte Público Press. Sergio Troncoso, who lives and works in New York City, has won numerous awards for his writing. He is now a resident faculty member of the Yale Writers’ Conference.

Troncoso’s previous books include Crossing Borders: Personal Essays, From This Wicked Patch of Dust, and The Last Tortilla and Other Stories.

Si Dunn

 

 

Mastering Gamification – A 30-day strategy to enhance customer engagement – #business #bookreview

 

Mastering Gamification

Customer Engagement in 30 Days

Scot Harris and Kevin O’Gorman

(Impackt Publishing – Kindle, paperback)

 Gamification is now a popular buzz word in many parts of the business world. This book wisely does not try to cover every angle, but stays focused on one application: “Marketing and sales people are using gamification to improve customer loyalty and engagement, knowing that it will lead to increased profitability,” the authors write.

They emphasize that “gamifying does not mean turning your business or website into a game. As Gamification.org defines it, gamifying is:

‘The presence or addition of game-like characteristics in anything
that has not been traditionally considered a game.’

 “Take particular note of the word ‘characteristics’ in this phrase,” the authors point out . “The purpose of gamifying is not to turn something into a game, but to apply understanding and knowledge about the basic human desires we all have that make us like games to a non-gaming environment, and hopefully to improve our businesses.”

 You may not finish all of the exercises, nor follow all of the suggestions in this well-written book. Yet the well-structured, 30-day plan offered by Harris and O’Gorman still can help you think harder about your business, how customers see it and how they engage–or don’t engage–with the products or services you offer.

 Even if you operate a small enterprise where you are the entire staff, this book can offer some good ideas and useful tips that can help you make more sales and keep customers coming back.

 What the authors aim to do is help you create and “launch a long-range, ongoing, continuous process of attracting the attention of a target audience, drawing them into a social space built around you and your products or services, encouraging them to evangelize about your products or services, and instilling in them an unshakable sense of loyalty.”

 In other words, you learn how to use some gamification techniques to get customers’ attention, keep their attention, and keep them coming back for more of whatever you are selling–three major keys to long-term survival and growth in business.

Si Dunn

South, America – Action, mystery and gritty Southern noir – #bookreview

South, America

A Jack Prine Novel

Rod Davis

(New South Books – paperback, Kindle)

Here’s one way to get yourself into deep trouble: Try to perform a simple act of kindness.

Jack Prine, the central character in this gritty, well-written new mystery novel, reluctantly tries to help a young woman understand what has happened to her brother. And from there, the favor quickly goes downhill, to fear, violence, threats, gunfire and the need to make quick escapes.

Prine lives in New Orleans, and he is, in his own words, “trying to figure out a line on my future….”

As he tries to sort out just what that “line” might be, he has been “doing some freelance writing and the occasional unlicensed PI investigation for a divorce lawyer/ex-Army buddy….”

Early one Sunday morning, Prine has nothing much on his mind except his hangover and a strong need for some Guatemalan coffee. But as he is walking to get the cup of coffee, he discovers a dead body. A man has had the back of his head bashed in. Prine dutifully calls the police and answers the investigator’s questions. Later, Prine gets a phone call from the victim’s sister, Elle Meridian. Reluctantly, he agrees to meet her, so he can tell her more about what he saw and show her where her brother died.

Once they do meet, their attraction for each other develops fairly quickly. And as Jack Prine’s relationship with Elle grows, he soon finds himself drawn into circumstances and dangers he could never have imagined when he first heard her voice on the telephone.

Suddenly, the “unlicensed PI” is having to be a hard-boiled detective. And he and Elle wind up on the run from the vicious and tenacious Dixie Mafia. They race through Alabama and Mississippi on their way back to New Orleans– where no safety awaits them.

South, America is an engrossing tale alive with Southern landscape, thugs, family secrets, voudou, art treasures, racial tensions, sex…and love. And the book’s ending offers an excellent setup for the next Jack Prine novel, hopefully coming soon from Rod Davis.

Si Dunn

 

Software Testing Foundations, 4th Edition – Updated study guide for Certified Tester Exam – #bookreview

Software Testing Foundations, 4th Edition

A Study Guide for the Certified Tester Exam

Andreas Spillner, Tilo Linz, Hans Schaefer

(Rocky Nook – paperback, Kindle

 

Worldwide, more than 300,000 software testers now have certifications recognized by the International Software Testing Qualifications Board (ISTQB).

“The ISTQB Certified Tester qualification scheme has three steps,” the authors note. “The basics are described in the Foundation Level curriculum (syllabus). Building on this is the Advanced Level certificate, showing a deeper knowledge of testing and evaluation. The third level, the Expert Level, is intended for experienced professional software testers and consists of several modules about different special topics.”

This newly updated study guide covers subjects on the Certified Tester Exam at the Foundation Level. The major topics are:

  • Fundamentals of Testing
  • Testing in the Software Life Cycle
  • Static Test
  • Dynamic Analysis – Test Design Techniques
  • Test Management

Appendices cover standardized test plans, offer exercises for each chapter that follow the introduction, and provide a glossary of terms, many of which are recognized by the ISTQB.

“Testing has no tradition for using standardized terminology,” the writers caution. “Thus, the test plan should contain an explanation of the testing terms used in the project. There is a high danger that different people will have different interpretations of testing terms. For example, just ask several people involved in the project for the definition of the term load testing.”

The three writers point out that “[t]he Certified Tester Foundation Level syllabus version 2011 forms the basis of this book . A few updates to the syllabus, which is due to be released in 2015, are noted in the book. The respective national boards may create and maintain additional national versions of the syllabus. These may contain minor deviations from the English original, such as, for example, references to local standards. The national boards coordinate and guarantee mutual compatibility of their curricula and exams. In this context, the responsible board is the International Software Testing Qualifications Board.”

Whether you plan to seek formal ISTQB certifications or just up your game as a software tester, Software Testing Foundations can be an excellent how-to guide. Many aspects of software testing–a complex and often underappreciated field–are covered. Overall, the book is well-organized and written clearly, and its illustrations, while somewhat sparse, are adequate to the task.

Si Dunn

 

Play for Java – Good intro to the Play 2 Java web framework – #programming #bookreview

Play for Java

Nicolas Leroux and Sietse de Kaper

(Manning, paperback)

 

“There are,” co-author Nicolas Leroux writes, ” many Java web frameworks, but most of them have a key flaw: they try to hide the web behind an abstraction layer, rather than embracing it. That is the most important difference between Play and most other Java web frameworks (Servlets, we’re looking at you!).”

His writing partner, Sietse de Kaper,  adds: “Play ‘gets it.’ For ‘it,’ in this case, a lot of things can be substituted. Play ‘gets’ HTTP and the web in general, how developing web application works, what makes a nice and clean API, and more. This was clear from the early Play 1 beta versions, and that’s why we’ve used it on many projects since 1.0 came out. It didn’t disappoint. Now, with Play 2, Play continues to improve web development for the Java platform.”

Their new book from Manning is nicely written, adequately illustrated and structured properly to help newcomers get started with Play and with basic web application development. Play for Java also can help experienced web app developers quickly get up to speed quickly with this powerful development platform.

You start by creating and modifying the ubiquitous “Hello world!” application. Then you spend the remaining chapters developing, expanding and enhancing a warehouse management application, one designed to meet specific requirements within a made-up company. “Enterprise applications usually live inside the IT department and are usually hosted within the organization,” Leroux and de Kaper explain. Indeed, businesses may have several or many enterprise applications serving specific purposes, and those apps often do not communicate with each other.

As both writers note: “Web developers are used to interacting with their applications through the browser. With Play, you can also use the console to interact with your web application’s development environment and build system. This is important for both quick experiments and automating things.”

The web app framework Play is, indeed, fun to play with–and work with. For example, it is very good at showing you exactly (ona browser screen) where you have made a keystroke mistake or other blunder in your code. And the words  “Compilation error” on the screen display can’t be missed. Indeed, they can be read from across a room. (Fortunately, in my office, so no one sees them but me.)

If you decide to download Play and give it a try, be sure you (1) have Java installed correctly and (2) know how to set PATHs correctly on your Windows, Linux, or Mac machine. (I had a lingering Java glitch in one of my machines, and I nearly flung a Windows 7 PC into a wall in frustration. But I finally found the problem and fixed it, and Play immediately popped to life as shown in the book. Meanwhile, Play installed smoothly on a Windows 8.1 machine and an ex-XP PC now running Ubuntu.) 

The authors show how to use Play with three IDEs: Eclipse, NetBeans and IntelliJ. Or, if you prefer, you can stick with the Play console and a text editor such as Notepad++ (my current favorite). And they repeatedly emphasize that (1) you should not worry that their Java framework called Play actually is written in Scala and (2) you will encounter some bits of Scala while working with template files.

“Any template language has structures you need to know to build your templates, and Scala templates are no different,” they explain. “Once you know what you have to do to, for example, iterate over a collection or insert a variable value somewhere, you know all you have to know to use that feature. You don’t have to think of it as Scala if you don’t want to. Think of it as another template language.” (Actually, Scala is not scary at all once you’ve spent a little time with it or taken an online class.)

Play supports the optional use of some compiled assets, and “[o]ut of the box, Play 2 comes with support for LESS, CoffeeScript, and Google’s Closure compiler,” the co-authors note.

According to Playframework.org, Play is built on Akka and offers “a lightweight, stateless, web-friendly architecture.” It also offers built-in testing tools and speedy “hit refresh” workflow capabilities.

Whether you are an experienced web app developer, a newcomer, a student or a hobbyist programmer, it can be serious fun to work with–or play with–Play. And Nicolas Leroux’s and Sietse de Kaper’s Play for Java can be exactly the well-tuned guide you need to learn Play 2.

 — Si Dunn

 

 

 

 

 

 

The Troubles Trilogy: Adrian McKinty’s Northern Ireland crime novels are powerful, engrossing reading – #bookreview

In the Morning I’ll Be Gone

Book Three: The Troubles Trilogy

Adrian McKinty

(Seventh Street Books, paperback)

I wish I had discovered The Troubles Trilogy and Detective Sean Duffy much sooner than Book Three. I really don’t like reading trilogies in reverse.

But Adrian McKinty is an amazingly good crime novelist. And now that I have also read his two other books in ThTroubles Trilogy,  I can honestly say that it is pleasingly easy to read these works in any order you wish.

In the Morning I'll Be Gone cover

Yes, Book One: The Cold Cold Ground and Book Two: I Hear the Sirens in the Streets are tied together by some of the same characters and settings found in Book Three: In the Morning I’ll Be Gone. Each novel, however, stands solidly on its own.

Detective Sean Duffy is an Irish Catholic cop working for the Royal Ulster Constabulary, Northern Ireland’s decidedly unpopular police force. The three novels unfold during the early 1980s, amid some of the most violent times in a small-scale but deadly civil war that has been raging for decades. On one side are the mostly Protestant Unionists and Loyalists, who want Northern Ireland to stay part of the  United Kingdom. On the other side are the mostly Catholic Nationalists and Republicans who want Northern Ireland to become part of the Republic of Ireland again.

Duffy, caught in the middle and working for a mostly Protestant police force, must try to solve grisly murder cases while not getting blown up by Irish Republican Army car bombs–he never goes anywhere without first looking beneath his vehicle–or killed by bullets fired by snipers on both sides.

There are neighborhoods where it’s deadly to be a Protestant or a Catholic and neighborhoods where it’s equally deadly to be one of Her Majesty’s cops, or “peelers,” in the local argot.  (Sir Robert Peel, a 19th century British prime minister, is credited with creating the concept of a metropolitan police force. As a result, police officers became known as “bobbies” in England and “peelers” in Northern Ireland.)

Sometimes, in pursuit of leads and suspects, Duffy finds himself on streets that are British territory on one side of the center line and Irish territory on the other. And, a classic tough-guy detective, Duffy seldom hesitates if he needs to sneak into Ireland, where he has absolutely no jurisdiction except his fists and his guns. Also, he sometimes crosses that dark, ill-defined border between good cop and bad cop, in the name of justice as he defines it.

Adrian McKinty has been compared, deservedly so, to Raymond Chandler and a few other leading crime novelists. He is a native of Northern Ireland, and his taut, well-written, realistic prose makes excellent use of that region’s cultures, languages and longstanding sectarian tensions. He draws you in quickly and doesn’t let you escape –not until after gritty Detective Sean Duffy finally has tracked down and confronted the killer face to face.

Si Dunn

Computing with Quantum Cats – Strange and exciting times are ahead – #science #bookreview

Computing with Quantum Cats

From Colossus to Qubits

John Gribbin

(Prometheus Books – hardcover, Kindle)

John Gribbin’s new book, Computing with Quantum Cats, is an entertaining, informative and definitely eye-opening look at quantum computing’s recent progress, as well as its exciting near-future possibilities.

The “conventional” (a.k.a. “classical”) computers currently on our desktops, in our briefcases, and in our pockets and purses keep getting smaller and faster, yet laden with more features, memory and processing power. “But,” cautions John Gribbin, a veteran science writer, “the process cannot go on indefinitely; there are limits to how powerful, fast and cheap a ‘classical’ computer can be.”CompwithQuantumCats

Already we are cramming a billion transistors into tiny chips and moving much of our data and programs out to the “cloud,” because we are running out of both physical space and memory space on our shrunken devices.

So what’s next, if the end of Moore’s Law is here?

Gribbin predicts that “within a decade the computer world will be turned upside down”–by quantum computers that  “will enable physicists to come to grips with the nature of quantum reality, where communication can occur faster than the speed of light, teleportation is possible, and particles can be in two places at once. The implications are as yet unknowable,” he concedes, “but it is fair to say that the quantum computer represents an advance as far beyond the conventional computer as the conventional computer is beyond the abacus.”

For now, quantum computers are functioning  at a level somewhat equivalent to the early classical computers that, nearly 70 years ago, could perform only rudimentary calculations, yet filled large rooms and required 25 kilowatts or more of electrical power to light up hundreds or thousands of  vacuum tubes. It may be decades or perhaps just a few years until quantum desktop PCs or quantum smartphones become a reality.

What makes quantum computing such a big deal? 

Classical computers, Gribbin writes, “store and manipulate information consisting of “binary digits, or bits. These are like ordinary switches that can be in one of two positions, on or off, up or down. The state of a switch is represented by the numbers 0 and 1, and all the activity of a computer involves changing the settings on those switches in an appropriate way.”

He notes that two “classical” bits can represent any of the four numbers from 0 to 3 (00,01, 10, and 11). But once you start using quantum bits–qubits (pronounced “cubits”)–the scale of possibilities quickly becomes astronomical.

The “quantum switches can be in both states, on and off, at the same time, like Schrodinger’s ‘dead and alive’ cat. In other words, they can store 0 and 1 simultaneously.” Or both can be off or both can be on, creating three possibilities.

“Looking further into the future,” Gribbin continues, “a quantum computer based on a 30-qubit processor would have the equivalent computing power of a conventional machine running at 10 teraflops (trillions of floating-point operations per second)–ten thousand times faster than conventional desktop computers today….” 

His new book presents an enlightening, engrossing blend of facts and speculations about quantum computing, as well as short biographical sketches of key people who have helped quantum computing become a reality.  These range from Alan Turing and John Von Neumann to more recent researchers such as Nobel Prize recipients Tony Leggett and Brian Josephson, to name a few. Their key research efforts also are explored.

The author notes that “the enormous challenge remains of constructing a quantum computer on a scale large enough to beat classical computers at a range of tasks….” He also observes that “many competing approaches are being tried out in an attempt to find the one that works on the scale required.” And he concedes that in a research field now changing very fast, “I’ve no idea what will seem the best bet by the time you read these words, so I shall simply set out a selection of the various [techniques] to give you a flavor of what is going.”

John Gribbin’s other books include In Search of Schrodinger’s Cat, Erwin Schrodinger and the Quantum Revolution, and In Search of the Multiverse.

The need to break enemy codes in World War II gave us classical computers, Gribbin points out. In a curious twist, it may be the need to create truly unbreakable codes that will help usher in quantum computing as a practical reality.

Si Dunn

The Ubuntu Beginner’s Guide – A very good book for intermediate beginners (and up) – #ubuntu #linux #bookreview

The Ubuntu Beginner’s Guide

Sixth Edition

Jonathan Moeller

(Azure Flame Media, LLC – Kindle)

This should not be your first book on how to use Ubuntu, particularly if you consider yourself not much of a computer geek and you are fleeing Microsoft Windows to escape the death throes of XP (or the life throes of Windows 8).

However, The Ubuntu Beginner’s Guide is an excellent how-to book that can add to your enjoyment and mastery of Ubuntu once you are comfortable with opening applications, downloading the latest updates, and doing some basic work at the command line in Linux. In other words, once you are ready to learn more about what else you can do with a PC running Ubuntu (besides typing on it and surfing the web), The Ubuntu Beginner’s Guide definitely can help. (It focuses on Ubuntu version 12.04 — not the latest, but still a good release that will be supported for a few more years.)

Jonathan Moeller spends much of his book showing how to set up an Ubuntu PC as a server platform, for example an Apache web server, a MySQL server, a DHCP server, and an FTP Client and Server, among others. His instructions are clear, and you don’t have to flip from one chapter to another to keep track of all of the steps. He repeats setup steps when necessary to help the reader stay focused on doing a task from start to finish. (I am definitely not a Linux guru, but I have used Moeller’s book thus far to assign some static IPs, set up SAMBA file sharing, set up an Apache web server, and do several other tasks that I’ve wanted to learn. Some reviewers have criticized the author for repeating certain steps for each process. But I appreciate the convenience of staying focused on just one or two pages at a time.)

Meanwhile, later chapters focus on web applications and “the eight best applications for a new Ubuntu desktop installation.” (No spoilers are given here.)

“Hosting web applications,” Moeller writes, “is where Linux really shines….Ubuntu Linux can run a variety of web applications, ranging from simple interactive sites to powerful content management systems.” In his book, he shows “how to install three of the most popular content management systems on an Ubuntu web server — WordPress, MediaWiki, and Drupal” — and explains what a LAMP server is. “LAMP is simply an acronym for Linux, Apache, MySQL, and PHP (or Perl and Python).”

The author covers several other useful topics, including how to create a bootable USB flash drive, how to run some Windows software on Ubuntu using the Wine application, and how to manage eBooks on Ubuntu. And he describes how to enjoy some computer games on Ubuntu, even though the “gaming experience” admittedly will not measure up to Windows machines, various mobile devices, or dedicated game consoles such as an XBox or Playstation.

If you have not yet tried Ubuntu and still wonder if you will like Linux or not, start with a book such as Ubuntu Made Easy, which comes with a CD that lets you try Ubuntu 12.04 without actually installing it. (And , if you do like it, you can use the same CD to install Ubuntu on your PC). Then, after you get comfortable with the basics and want to know more, get The Ubuntu Beginner’s Guide.

Si Dunn