The Art of R Programming: A Tour of Statistical Software Design – #programming #bookreview

The Art of R Programming: A Tour of Statistical Software Design
By Norman Matloff
(No Starch Press, list price $39.95, paperback)

What? You haven’t heard of R, the programming language?

“R is a scripting language for statistical data manipulation and analysis,” writes Norman Matloff, an experienced and widely published writer who is a professor of computer science at the University of California, Davis. He is also a former statistics professor.

R, he notes in this excellent overview of the programming language, has a rather complicated past.

“It was inspired by, and is mostly compatible with the statistical language S developed by AT&T. The name S, for statistics, was an allusion to another programming language with a one-letter name developed at AT&T—the famous C language. S later was sold to a small firm, which added a graphical user interface (GUI) and named the result S-plus.”

According to Matloff, “R has become more popular than S or S-plus, both because it’s free and because more people are contributing to it. R is sometimes called GNU S, to reflect its open source nature. (The GNU Project is a major collection of open source software.)”

So much for its history. Who uses R? A lot of people involved in statistics and data science. “It is widely used,” Matloff reports, “in every field where there is data—business, industry, government, medicine, academia, and so on.”

Here’s the good news about his good book. If you’ve never heard of R or if it’s something you’ve only recently considered trying, Matloff shows you how to get started quickly both in interactive mode and batch mode.

And you don’t begin by tiresomely displaying “Hello, world.” You start at the heart of R. You make a simple data set, which, in R parlance, is called a vector. You concatenate three numbers, in this case 1, 2 and 4.

“More precisely,” Matloff states, “we are concatenating three one-element vectors that consist of those numbers.” He adds: “It’s hard to imagine R code, or even an interactive R session, that doesn’t involve vectors.”

From there, his book smoothly delves into a wide range of R topics, including basic types, data structures, closures, recursion, anonymous functions, object-oriented programming, and interfacing R to other programming languages.

The Art of R Programming is rich with short, instructive code examples, including examples that initially have bugs but are corrected and given explanations for why the first try went awry.

The book’s marketing materials note that archaeologists use R to trace how ancient civilizations spread, and drug companies use it to try to figure out which medications are safe and effective. And actuaries use it, of course, to “assess financial risks and keep markets moving smoothly.”

But R can be used in much more commonplace settings, as well. You don’t have to know statistics, and you don’t have to be a professional programmer. You can be a beginner wanting to become expert. Or you can be, and remain, a hobbyist programmer.

R commands typically are submitted “by typing in a terminal window rather than clicking a mouse in a GUI, and most R users do not use a GUI,” Matloff cautions.

But: “This doesn’t mean that R doesn’t do graphics. On the contrary, it includes tools for producing graphics of great utility and beauty, but they are used for system output, such as plots, not for user input.”

Never fear, however. A number of free GUIs are available for R, and Matloff gives links to several.

Two appendices in Matloff’s book cover downloading, installing and running R. The place to begin is the Comprehensive R Archive Network (CRAN), where “thousands of user-written packages” are available. And there are “precompiled binaries for Windows, Linux, and Mac OS X on CRAN,” Matloff points out.

No Starch Press, the book’s publisher, pledges that it delivers “the finest in geek entertainment.” Many readers likely will say this handsome, well-structured and well-written R overview meets that promise.

Si Dunn

CoffeeScript: Accelerated JavaScript Development – #bookreview #programming

CoffeeScript: Accelerated JavaScript Development
By Trevor Burnham
(Pragmatic Bookshelf, $29.00, paperback)

JavaScript was thrown together in 10 days and “was never meant to be the most important programming language in the world,” says Trevor Burnham, a web developer and founder of DataBraid, a startup focused on “developing data analysis and visualization tools.”

Yet, JavaScript was “understood by all major browsers,” despite their numerous differences, and it quickly became the “lingua franca of the Web,” he says in his well-written new book.

JavaScript also became a headache for many programmers struggling to learn it well enough to provide support and develop new applications.

“JavaScript is vast…[and] offers many of the best features of functional languages while retaining the feel of an imperative language,” Burnham notes. “This subtle power is one of the reasons that JavaScript tends to confound newcomers: functions can be passed around as arguments and returned from other functions; objects can be passed around as arguments and returned from other functions; objects can have new methods added at any time; in short, functions are first-class objects.”

Unfortunately, “JavaScript doesn’t have a standard interpreter,” he adds. “Instead, hundreds of browsers and server-side frameworks run JavaScript in their own way. Debugging cross-platform inconsistencies is a huge pain.”

Enter CoffeeScript, first released on Christmas Day, 2009 as “JavaScript’s less ostentatious kid brother.”

Coding in CoffeeScript requires fewer characters and fewer lines. And “the compiler tries its best to generate JavaScript Lint-compliant output, which is a great filter for common human errors and nonstandard idioms,” Burnham writes.

Another benefit: “CoffeeScript code and JavaScript code can interact freely,” he notes.

His book, aimed at CoffeeScript newcomers, assumes you have at least a little knowledge of JavaScript. But you don’t have to be a JavaScript Ninja, he assures.

He starts at the classic “Hello, world” level of CoffeeScript, including installing the CoffeeScript compiler, deciding which text editors are best, and learning how to write and debug simple CoffeeScript code.

From there, he moves quickly into showing you how to put CoffeeScript to work and develop a simple multiplayer game.

There are several different ways to run CoffeeScript, and there are different requirements, depending on whether your machine is Mac, Windows or Linux. Burnham describes these in his text and in an appendix, and he gives links to more information.

He also shows how to use a browser-based compiler for developing his book’s example application. But he does not recommend using the browser-based compiler for production work.

His book has six chapters and four appendices:

  • Chapter 1 – Getting Started
  • Chapter 2 – Functions, Scope, and Context
  • Chapter 3 – Collections and Iteration
  • Chapter 4 – Modules and Classes
  • Chapter 5 – Web Interactivity with jQuery
  • Chapter 6 – Server-Side Apps with Node.js
  • A1 – Answers to Exercises
  • A2 – Ways of Running CoffeeScript
  • A3 – Cheat Sheet for JavaScripters
  • A4 – Bibliography

CoffeeScript: Accelerated JavaScript Development offers a focused blend of examples and exercises to help speed up basic competency with CoffeeScript. In learning how to build the multiplayer game application, you use CoffeeScript to write both the client (with jQuery) and the server (with Node.js).

Since CoffeeScript and JavaScript are intertwined, you also can gain a better understanding of JavaScript by learning to code in CoffeeScript, ” Burnham promises.

In a foreword to the book, CoffeeScript’s creator, Jeremy Ashkenas, hails Burnham’s work as “a gentle introduction to CoffeeScript led by an expert guide.”

It lives up to that good billing, with many short code examples and many short tutorials and exercises that can lead quickly to building both a working app and a working understanding of CoffeeScript.

Si Dunn

Privacy and Big Data – #bookreview #nonfiction

Privacy and Big Data
By Terence Craig and Mary E. Ludloff
(O’Reilly Media, $19.99, paperback; $16.99, Kindle)

Worried about the safety of your personal data?

That genie, unfortunately is long out of the bottle—and very likely spread all over the planet now.

In Privacy and Big Data, authors Terence Craig and Mary E. Ludloff provide an eye-opening examination of “how the digital footprints we leave in our daily lives can be easily mashed up and, through expertise and technology, deliver startling accurate pictures of our behavior as well as increasingly accurate predictions of our future actions.”

Those digital pictures of who we are, who we vote for, what we buy and where we go can be worth a great deal of money and/or power to those who collect them. Indeed, they constitute “big data” and can be worth much more than gold, Craig and Ludloff contend.

“Far more is known today about us as individuals than ever before. How organizations, businesses, and government agencies use this information to track and predict our behavior is becoming one of the fundamental issues of the 21st century,” they state.

Privacy and Big Data is not a lengthy book, just 106 pages. Yet it packs plenty of punch in the form of useful, unsettling and sometimes surprising information, as well as thought-provoking examples, discussions and questions. The two writers – “executives from a growing startup in the big data and analytics industry” – draw upon extensive experience “deal[ing] with the issues of privacy every day as we support industries like financial services, retail, health care, and social media.”

Their well-written work is organized into five chapters and an appendix. Each chapter, meanwhile, has its own bibliography with links to additional materials and information.

Chapter 1, “The Perfect Storm,” looks at what has happened to privacy in the digital age and how we got to this point, starting with ARPANET (the “(Advanced Research Projects Agency Network”) in 1969, which later gave rise to the Internet. In the authors’ view: “There is a perfect storm brewing; a storm fueled by innovations that have altered how we talk and communicate with each other. Who could have predicted 20 years ago that the Internet would have an all-encompassing effect on our lives? Outside of sleeping, we are connected to the Web 24/7, using our laptops, phones, or iPads to check our email, read our favorite blogs, look for restaurants and jobs, read our friends’ Facebook walls, buy books, transfer money, get directions, tweet and foursquare our locations, and organize protests against dictatorships from anywhere in the world. Welcome to the digital age.”

Chapter 2, “The Right to Privacy in the Digital Age,” focuses on “what privacy encompasses, how our privacy norms have been shaped in the U.S. and abroad, the tension between privacy and other freedoms (or lack thereof), and how, for those of us who fully participate in all the digital age has to offer, it may very well be the end of privacy as we know it.”

Chapter 3, “The Regulators,” explores how the world has many geographical boundaries, from national borders down to city limits and even smaller demarcations, including individual agencies, departments and committees. Businesses large and small also operate within specific structural boundaries. Yet the Internet, the authors point out, recognizes no such limits. they examine “how…countries regulate the collection, use, and protection of their citizen’s personal information,” amid countless competing governmental and business agendas.

In Chapter 4, “The Players,” the authors warn: “Wherever you go, whatever you do, anywhere in this world, some ‘thing’ is tracking you. Your laptop, and other personal devices, like an iPad, Smartphone, or Blackberry, all play a role, and contribute to building a very detailed dossier of your likes, concerns, preferred airlines, favorite vacation spots, how much money you spend, political affiliations, who you’re friends with, the magazines you subscribe to, the make and model of the car you drive, the kinds of foods you buy, the list goes on.” The writers identify four broad categories of data grabbers and note that “while the[se] players are playing, consumer privacy continues to erode.” They discuss some specific things you can do to try to reduce your exposure. But, they caution, “What happens on the Internet stays on the Internet forever.”

Finally, in Chapter 5, “Making Sense of It All,” the authors pose several challenging questions and offer their views on possible answers. The questions include: “In the digital world we now inhabit, is privacy outmoded or even possible? Should we just get over it and move on? Should we embrace transparency and its many benefits and disadvantages? And if we do, or have it forced upon us, can we expect the same from our governments, our corporations, and powerful individuals? Will they be held to the same standard? If not, since information is power, what will our world look like?”

Two writers seldom agree on everything, and that is true in this book. In their Appendix titled “Afterword,” Craig and Ludloff state that they have tried to present a wide range of views on important questions, yet sometimes differ in their personal views regarding privacy and big data. They offer brief summaries of where they came from and how their viewpoints have been shaped by life events.

In a world where computers, phones, cars, cameras and many other household, work and public devices gather, store and disseminate data about us, this book can help readers think harder about what information — and freedoms — we may be giving up, willingly and unwittingly, in the name of convenience and connectivity.

Si Dunn

#

Designed for Use: Create Usable Interfaces for Applications and the Web – #bookreview

Designed for Use: Create Usable Interfaces for Applications and the Web
By Lukas Mathis
(Pragmatic Bookshelf, $35.00 paperback)

There’s no code inside this well-written book for programmers and visual designers. Instead, the focus is on usability — how people use things — and how you can make big, modest or subtle improvements to their experiences with digital interfaces.

You may be designing a software product that you think will be user friendly. Yet how good, really, is your knowledge of efficient and effective design? And what do you really know about how users will respond to what you create? Are you relying on formal focus groups to tell you what your users supposedly will want?

If you are, you are not doing nearly enough research, insists the author, Lukas Mathis, a developer and user interface designer for Numcom Software. “[P]eople often aren’t able to tell us how we can solve their problems. Worse, people may not even be able to tell us what their problems are. And worst of all, people are pretty bad at predicting whether and how they would use a product if we proposed to build it for them,” he writes.

Instead of depending on focus groups, you should spend some time doing “job shadowing” and “contextual interviews” to help you shape a better interface.

“Since people don’t know what they want, a good approach is to simply observe what they do. The idea of [job] shadowing is to visit users in our target audience at the place where they will use our product. The goal is to find out how our product will help them achieve their goals.”

He adds: “With usability testing, the goal is to find issues with the user interface. When you are shadowing someone, the goal is to figure out what kind of product to create or how to change your product on a more fundamental level.”

In contextual interviews, you interview a user after doing some job shadowing. And: “What you see is more important than what people say. Still, by asking the right questions, you can often get some useful information out of people….The kinds of things you’re looking for are areas where improvements seem possible. Don’t ask for opinions, and avoid questions that force the person to play product designer.”

Mathis has structured his 322-page book into three parts – research, design and implementation – and 36 short, nicely focused chapters that deal with everything from “[c]reating documentation as soon as possible” to “learning from video games” to doing “guerilla usability testing,” overcoming common testing mistakes and dealing with bad user feedback.

Designed for Use has numerous illustrations that highlight common interface design mistakes. The book also shows major, minor and subtle ways to improve customers’ understanding, acceptance and appreciation of what happens when they use product interfaces on their computer screens or phones.

The author also emphasizes the importance of keeping in mind “that you don’t have to own 100 percent of your market. It’s true that adding more features to your product allows you to target more users, but doing so comes at a cost. Your product becomes more desirable to the people who would not be able to use it if it didn’t offer a specific feature. However, it also makes your product less desirable to the people who have no use for that specific feature.”

In his view: “It’s OK to let some people go to your competitors to get what they need; you can’t be everything to everybody.”

Si Dunn

Microsoft Access 2010 VBA Programming Inside Out – #bookreview #access #vba #programming

Microsoft Access 2010 VBA Programming Inside Out
By Andrew Couch
(Microsoft Press, $49.99, paperback; $39.99, Kindle)

Critics of Microsoft’s Visual Basic for Applications (VBA) often contend that it is too “simple” a programming language, particularly when stacked up against C++ and C#.

But Andrew Couch, a Microsoft MVP (“Most Valuable Professional”) with extensive experience in Access and VBA programming, is quick to differ with those critics in his new book. “Quite to the contrary,” he states, “the big advantage of VBA is that this simplicity leads to more easily maintainable and reliable code, particularly when developed by people with a more business-focused orientation to programming.”

He concedes that “[i]n the .NET world, the conflict between using VB.NET, which originates from VBA, and C# continues, because even though the objects being manipulated are now common, there are subtle differences between the languages, which means that developers moving from VBA to C# can often feel that they are being led out of their comfort zone, especially when they need to continue to use VBA for other applications.”

He also notes that Access has gotten bad raps regarding “poor performance applications,” IT department support “nightmares,” network bandwidth consumption and low corporate trust for handling “mission-critical applications.”

Couch’s new book asserts that these problems stem more from the “successes” of Access and VBA, as well as “those lacking some direction on how to effectively develop applications.” For example, “[t]he big problem with Access is that the underlying database engine is extremely efficient and can compensate for a design that normally would not scale.” Therefore, “the existing application design techniques for searching and displaying data [may] need to be revised,” if Access database data is converted to be located in Microsoft SQL Server, Microsoft SQL Azure or Microsoft SharePoint.

The author’s two goals for this book are (1) helping create “a better informed community of developers” and (2) showing “how to better develop applications with VBA.” 

Couch also has aimed his work toward two types of readers. The first are those who have worked with Microsoft Access and developed applications and now want to “more fully develop applications with a deeper understanding of what it means to program with VBA.” The second are experienced VBA programmers who want to explore “the more advanced aspects of VBA programming.”

Special attention is paid in the book to helping readers who are “developing with both SQL Server and cloud computing.”

So this not a beginner’s book. Yet it is written well enough and provides enough illustrations and steps that newcomers to Access and VBA may want to add it to their libraries, particularly after reading Microsoft Access 2010 Inside Out, written by Jeff Conrad and John Viescas.

Couch’s 700-page VBA book is divided into seven parts and 18 chapters:

Part 1: VBA Environment and Language

  • Chapter 1: Using the VBA Editor and Debugging Code
  • Chapter 2: Understanding the VBA Language Structure
  • Chapter 3: Understanding the VBA Language Features

Part 2: Access Object Model and Data Access Objects (DAO)

  • Chapter 4: Applying the Access Object Model
  • Chapter 5: Understanding the Data Access Chapter Model

Part 3: Working with Forms and Reports

  • Chapter 6: Using Forms and Events
  • Chapter 7: Using Form Controls and Events
  • Chapter 8: Creating Reports and Events

Part 4: Advanced Programming with VBA Classes

  • Chapter 9: Adding Functionality with Classes
  • Chapter 10: Using Classes and Events
  • Chapter 11: Using Classes and Forms

Part 5: External Data and Office Integration

  • Chapter 12: Linking Access Tables
  • Chapter 13: Integrating Microsoft Office

Part 6: SQL Server and SQL Azure

  • Chapter 14: Using SQL Server
  • Chapter 15: Upsizing Access to SQL Server
  • Chapter 16: Using SQL Azure

Part 7: Application Design

  • Chapter 17: Building Applications
  • Chapter 18: Using ADO and ADOX

The book also has a well-detailed, 25-page index.

Couch emphasizes that “[a] significant strength of VBA is that it is universal to the Microsoft Office suite of programs; all the techniques we describe in this book can be applied to varying degrees within the other Office products.”

He maintains: “To successfully work with VBA, you need an understanding of the language, the programming environment, and the objects that are manipulated by the code.”

His book can get you going on that track, starting with a detailed look at the VBA Editor, which “is more than a simple editing tool for writing programming code. It is an environment in which you can test, debug, and develop your programs.”

The VBA editor, he points out, allows you to change application code on the fly, while the code’s execution is paused. You also can switch to the Access 2010 application window while the code is paused. There, you can “create a query, run the query, copy the SQL to the clipboard, and then swap back to the programming environment to paste the SQL into your code. It is this flexibility during the development cycle that makes developing applications with VBA a productive and exhilarating experience.”

The book provides a link to sample database files. Meanwhile, the code examples are designed to run with Access 2010 32-bit.

Most examples also can be used with Access 2010 64-bit. But there are some required changes and exceptions noted in the front of the book.

Just in case you don’t want to lug around a paperback copy of Microsoft Access 2010 VBA Programming Inside Out, it is available on Kindle, too. But the paperback edition also comes with access to a fully searchable Web edition, through Safari Books Online.

Si Dunn

Gamification by Design – Implementing Game Mechanics in Web and Mobile Apps – #bookreview

Gamification by Design: Implementing Game Mechanics in Web and Mobile Apps
By Gabe Zichermann and Christopher Cunningham
(O’Reilly, $24.99, paperback; $9.99, Kindle)

Many companies which sell us products and services are rushing to try to adapt successful videogame strategies to their sales techniques.

This well-written and adequately illustrated book encourages companies to view consumers as “players” rather than “customers” or “users.” In the co-authors’ view: “By thinking of our clients as players, we shift our frame of mind toward their engagement with our products and services. Rather than looking at the immediacy of a single financial transaction, we are considering a long-term and symbiotic union wrapped in a ribbon of fun.”

“Gamification,” the writers emphasize, “…is the marketing buzzword of our time,” and it “can mean different things to different people.”

In their book, it means “the design strategy and tactics you need to integrate game mechanics into any kind of consumer-facing website or mobile app.”

The co-authors also state that their overall goal is “to help demystify some of the core concepts of game design as they apply to business” and that they have structured their book from “the perspective of what a marketer, product manager, or strategist would want to know.”

They define game mechanics as “the tools used to create games,” and game dynamics as “how players interact with game experiences.”

The two writers, both gamification experts, stress that gamification cannot fix core problems within a business. And bad products or products that don’t fit well into a particular market will not get a sales boost if game mechanics and game design are applied to sales campaigns. One hypothetical example they cite is trying to create “a world where your consumer’s avatar is chasing gremlins with an AK-47 in order to save the spaghetti sauce your company is trying to sell in outer space.”

Gamification by Design is not about showing you how to create actual games. Instead, it is more about using gamification to enhance customer engagement and loyalty to your products or services.

The chapter line-up shows the scope of this 182-page book:

  • Introduction
  • Chapter 1: Foundations
  • Chapter 2: Player Motivation
  • Chapter 3: Game Mechanics: Designing for Engagement (Part I)
  • Chapter 4: Game Mechanics: Designing for Engagement (Part II)
  • Chapter 5: Game Mechanics and Dynamics in Greater Depth
  • Chapter 6: Gamification Case Studies
  • Chapter 7: Tutorial: Coding Basic Game Mechanics
  • Chapter 8: Tutorial: Using an Instant Gamification Platform
  • Index (12 pages)

Once the basic game mechanics and structures are introduced, the reader is presented with more information on how “[p]oints, badges, levels, leader-boards, challenges, and rewards can be remixed in limitless ways to create a spectrum of experiences.” And the book moves into deeper discussions of game mechanics and game dynamics.

Feedback, for example, is the process of “returning information to players and informing them of where they are at the present time, ideally against a continuum of progress.” In the toolbox of game mechanics, “[f]eedback loops are essential parts of all games, and they are seen most frequently in the interplay between scores and levels. As scores increase during an experience, they provide clear and unambiguous feedback to the player that she is heading in the ‘right’ direction.”

The book includes case studies focusing successful use of gamification by Yahoo!, Nike and Quora. It also offers up some examples of bad efforts at gamifying a website.

While Gamification by Design keeps its focus away from actually designing and creating games, it does give the reader the architecture and code needed to gamify a basic consumer site. It also shows how to use “mainstream APIs [application programming interfaces] from Badgeville,”

Noting that badges have motivated military warriors and Boy Scouts for hundreds of years, the co-authors contend that offering electronic badges as rewards and status symbols on websites “are [for game designers] an excellent way to encourage social promotion of their products and services. Badges also mark the completion of goals and the steady progress of play within the system.”

This is a fine standalone book, but it also can be used in conjunction with O’Reilley’s Gamification Master Class and with “the supplemental videos, exercises, challenges, and resources available at http://www.GamificationU.com.”

Si Dunn

#

Fante: A Family’s Legacy of Writing, Drinking and Surviving – #bookreview #writing #screenwriting

Fante: A Family’s Legacy of Writing, Drinking and Surviving
By Dan Fante
(Harper Perennial, $14.99, paperback; $9.99, Kindle)

Italian-American novelist and screenwriter John Fante wanted his son Dan to become a plumber or electrician, not a writer or worse, an actor.

He had strong and bitter reasons behind that desire, as Dan Fante movingly notes in this dark and painful, yet ultimately uplifting and triumphant family memoir.

One of John Fante’s novels, Ask the Dust, had been published in 1939 with great expectations and is still respected as a classic look at life in Los Angeles during the Great Depression. Yet it was not a commercial success at the time, largely because the publisher, Stackpole Sons, could not afford to publicize it.

Weirdly, the publisher had “made the dumb and costly blunder of publishing Hitler’s Mein Kampf without the author’s permission,” Dan Fante writes. “The promo money that should have gone to publicize Ask the Dust was spent in New York City courtrooms fighting a protracted lawsuit with the Führer.”

So, to support his family, John Fante returned to writing Hollywood screenplays, including, nearly three decades later, Walk on the Wild Side, and “considered himself a failure as an artist.” His other outlets included too much drinking, too much golf and too much gambling, often in the company of novelist and short story writer William Saroyan, “a loose cannon,” particularly around dice games, Dan Fante notes.

Also: “Pop’s nasty mouth and rages were taking a toll on his life,” to the point that he sometimes punched out movie producers for whom he had been writing or rewriting scripts.

In his brief attempt at college, young Dan Fante had discovered that he was “a fairly decent actor.” But: “…John Fante had utter contempt for the profession, as he did for agents and TV writers and film directors and almost all movie people.” He’d tell his son: “You’re no genius, kid….Get yourself an honest career. Work with your hands.”

Much of the rest of this memoir focuses on Dan Fante’s strained relationship with his father and other family members and on Dan’s attempts to find himself after leaving home and hitchhiking to New York City, hoping to study theater.

Once there, he descends, instead, into a dark, urban hell relentlessly driven and wrecked – over and over again –by alcoholism, drugs, an often uncontrolled sex drive and numerous moments where he goes right up to the edge of committing suicide.

Dan Fante recounts how he tried many different schemes to survive, and some of them, such as working in the limousine business, briefly made him rich and brought him into the company of famous and powerful clients —  but only when he was able to sober up and stay focused.

Ultimately, he hits bottom too many times and finally can’t get up again. In the meantime, he loses his father and older brother to alcoholism, as well.

But he does, at least, reconcile with his father shortly before John Fante’s death: “We had become a loving father and son after a rocky thirty-year start. John Fante’s gift to me was his ambition, his brilliance, and his pure writer’s heart.”

At age 47, Dan Fante finally went home again in utter defeat, lugging three garbage bags “filled with all that I owned up the front walkway of my mom’s house.”

What happens next is a tough but inspiring true story of how a writer finally was able to find his voice, his focus, his legacy and his stability in life. It is a story rich with lessons and messages for almost anyone currently struggling to succeed as a novelist, screenwriter, writer of nonfiction or practitioner of virtually any other creative endeavor.

Si Dunn

Solzhenitsyn’s ‘Apricot Jam and Other Stories’ – #bookreview #fiction #Russia – updated

Apricot Jam and Other Stories
By Aleksandr Solzhenitsyn
(Counterpoint, $28.00)

A major literary work is now available for readers who relish the works of modern Russian writers, particularly the ones who rebelled against communism’s restrictive censorship and social, legal and economic rigidities and achieved international acclaim during the final decades of the Soviet Union.

Apricot Jam and Other Stories,  an engrossing collection of eight short stories by Aleksandr Solzhenitsyn, has been published by Berkeley, Calif.-based Counterpoint.

Solzhenitsyn was awarded the Nobel Prize in Literature in 1970, primarily on the strength of three novels, One Day in the Life of Ivan Denisovich, In The First Circle (better known as The First Circle), and Cancer Ward. These books shone glaring, shocking spotlights on the Gulag, a USSR government agency that operated a brutal, sprawling system of forced labor camps for political prisoners, criminals and others who ran afoul of  Soviet laws, officials, informants and secret police.

Significantly, the eight short stories in this 352-page collection are making their first appearance in English. They were initially published in Russia in 1994, after Solzhenitsyn ended years of exile in the West and returned to his native land. He died in 2008.

The title story provides an excellent example of the unusual “binary” writing style that Solzhenitsyn employed in these eight works of short fiction. In “Apricot Jam,” the son of a kulak (a relatively affluent peasant) has almost lost everything in his life except the memories of the apricot jam his mother used to make for him before communism and collective agriculture destroyed his family and his farm. He is now nearly starving to death while serving internal exile and doing hard labor in a distant town. In desperation, he writes a letter to a famous Russian writer who has published a book touting that the “meaning of life is labor in a communist society.”  He humbly begs the famous writer to send him a food parcel, because he is working hard to try to stay alive, yet now nearing death from lack of nourishment.

In the second part of the “Apricot Jam” story, the exile’s letter has arrived at the famous writer’s elegant dacha outside Moscow. There, the famous writer entertains a professor of cinema, as well as a neighbor, the head of the literary department in the State Publishing House, a man who “held the reins of the whole of literature in his hands….”

In the posh dacha, the men also enjoy some apricot jam, but it is just one minor trapping amid the surrounding opulence as they speak in praise of Comrade Stalin, socialist realism, and how “Creating an art of world significance–that is the task of the writer today.” The apricot jam briefly figures into their discussion as a symbol for a type of  “amber transparency” that “should be present in literary language, as well.” 

Soon, the famous writer mentions the unusual letter he has received from the exiled, starving worker. And, as they discuss its text, their final analysis of it is devastating.

In the story “The New Generation,” a principled and disciplined engineering professor finally gives in to pleadings by a failing student and hands him a passing grade. The professor is, after all, under orders to “make allowances” for the students now being sent to him from factories, some of whom would be “better off making pots and pans” rather than being forced to become engineers.

 Two years later, in the second part of the story’s binary structure, the engineering professor is arrested, and his interrogator from the GPU (the State Political Directorate) is none other than the failing student who had talked him into a passing grade. The ex-student cannot undo the professor’s arrest, yet he can and does, as a sort of return favor, offer him three grim choices of fates. 

Solzhenitsyn served with distinction as a captain in the Red Army during World War II, but was arrested after he wrote a letter that included disparaging remarks about Josef Stalin’s leadership of the war effort. The writer spent the next eight years in Soviet labor camps and another three years in internal exile.

Much of his fiction in Apricot Jam and Other Stories draws its creative spark from his grim wartime and Gulag experiences. Yet some of the stories also deal with post-Soviet issues in the times of Yeltsin and Gorbachev. For example, in the concluding story, “Fracture Points,” characters face the difficulty of trying to adapt to new freedoms and new economic structures at a time when “[t]he word ‘privatize’ was as frightening as a sea monster.”

If you have never before read any Solzhenitsyn, Apricot Jam and Other Stories can be a good introduction that may inspire you to also delve into his earlier works of fiction, particularly the ones that brought him the Nobel Prize for Literature 41 years ago.

This new book, translated by “TK” and published by Counterpoint, demonstrates once again why Aleksandr Isayevich Solzhenitsyn continues to deserve his ranking as one of the world’s great writers.

 — Si Dunn

#

Dreamweaver CS5.5: The Missing Manual – #bookreview

Dreamweaver CS5.5: The Missing Manual
By David Sawyer McFarland
(O’Reilly, $49.99, paperback)

Huge. That’s the first impression of this 1,179-page guidebook focusing on how to use Dreamweaver CS5.5 to develop websites.

Indeed, the paperback weighs almost four pounds and is two and a quarter inches thick.

But after all, Dreamweaver has been around a long time, almost 14 years, evolving, improving and adding features and capabilities with each new release.

The book’s author, David Sawyer McFarland, has been using Dreamweaver since 1998 to develop websites. He also has written every Dreamweaver book in O’Reilly’s “The Missing Manual” series. And he is president of a web development and training company, Sawyer McFarland Media, Inc.

Thus, he knows a lot about Dreamweaver, and there is a lot to be said about using this powerful and popular program. Hence, the big, heavy book.

“Get used to the acronym CSS, which you’ll encounter frequently in this book,” McFarland states in the Introduction. “It stands for Cascading Style Sheets, a set of rules you write that dictate the look of your pages. Dreamweaver includes advanced CSS creation, testing, and editing tools.”

Dreamweaver has long been well-regarded for its visual approach to web page design. And in CS5.5, its JavaScript-based technology known as Spry Framework allows you “easily create interactive, drop-down menus, add advanced layout elements liked tabbed panels, and add sophisticated form validation to prevent site visitors from submitting forms without the proper information,” he points out.

He also praises Adobe for realizing that many web developers do a lot of work in which they must directly type in HTML, CSS, and JavaScript code. “In Dreamweaver,” he notes, “you can edit its raw HTML to your heart’s content. Switching back and forth between the visual view — called Design view – and Code view is seamless, and best of all, nondestructive.”

Dreamweaver likewise has well-regarded site management tools and tools for building and managing database-driven websites.

The new features in Dreamweaver CS5.5 include:

  • Basic support for HTML5, which is still evolving.
  • Support for CSS3, which is still evolving but will bring “many new formatting controls to make HTML look beautiful….”
  • Tools that support web design for mobile browsers.
  • Built-in support for jQuery Mobile and Phonegap—“two programming technologies that let you build mobile phone applications using just HTML, CSS, and JavaScript.”
  • W3C Validator for validating HTML code.
  •  jQuery code hinting, which simplifies writing JavaScript programs.

McFarland’s new book in “The Missing Manual” series follows a gradual learning-curve approach as it illustrates how to use Dreamweaver CS5.5’s many features and tools. The reader first is shown the very basics of creating a web page. Then features are introduced, explained and demonstrated in a logical order that helps the reader gain experience and confidence.

Dreamweaver CS5.5: The Missing Manual is organized as follows:

  • Introduction
  • Part One: Building a Web Page
  • Chapter 1: Dreamweaver CS5.5 Guided Tour
  • Chapter 2: Adding Text to Your Web Pages
  • Chapter 3: Text Formatting
  • Chapter 4: Introducing Cascading Style Sheets
  • Chapter 5: Links
  • Chapter 6: Images
  • Chapter 7: Tables
  • Part Two: Building a Better Web Page
  • Chapter 8: Advanced CSS
  • Chapter 9: Page Layout
  • Chapter 10: Troubleshooting CSS
  • Chapter 11: Under the Hood: HTML
  • Chapter 12: Designing Websites for Mobile Devices
  • Part Three: Bringing Your Pages to Life
  • Chapter 13: Forms
  • Chapter 14: Spry: Creating Interactive Web Pages
  • Chapter 15: Dreamweaver Behaviors
  • Chapter 16: Add Flash and Other Multimedia
  • Part Four: Building a Website
  • Chapter 17: Introducing Site Management
  • Chapter 18: Testing Your Site
  • Chapter 19: Moving Your Site to the Internet
  • Part Five: Dreamweaver CS5.5 Power
  • Chapter 20: Snippets and Libraries
  • Chapter 21: Templates
  • Chapter 22: Find and Replace
  • Chapter 23: Customizing Dreamweaver
  • Part Six: Dynamic Dreamweaver
  • Chapter 24: Getting Started with Dynamic Websites
  • Chapter 25: Adding Dynamic Data to Your Pages
  • Chapter 26: Web Pages that Manipulate Database Records
  • Chapter 27: Advanced Dynamic Site Features
  • Chapter 28: Server-Side XML and XSLT
  • Appendix A: Getting Help
  • Appendix B: Dreamweaver CS5.5, Menu by Menu
  • Index (26 pages

The author assures readers that “Dreamweaver CS5.5 works almost precisely the same way on the Macintosh as it does in Windows,” yet the book does not make clear the minimum system requirements for running Dreamweaver CS5.5 on a PC or a Mac. However, they can be found here on Adobe’s support site for Dreamweaver CS5.5. This is, of course, only a minor ding against an otherwise very good, very thorough and nicely illustrated how-to manual.

A CD is not included with this book. But “every single Web address, practice file, and piece of downloadable software mention in this book is available at www.missingmanual.com (click the Missing CD icon.)”

Dreamweaver is a bit old by software standards, yet it is well-supported and stable, and it keeps improving and growing to stay up with changes and new needs. For these reasons and many more, it remains one of the most popular and widely used packages for designing and managing high-quality websites.

Whether you are an absolute newcomer or an old hand at using Dreamweaver, you definitely can benefit from having and using this huge and hefty book.

Si Dunn

Flash CS5.5: The Missing Manual – #bookreview

Flash CS5.5: The Missing Manual
By Chris Grover
(O’Reilly, $44.99, paperback)

Learning to use Flash CS5.5 is not easy and doesn’t happen overnight. But this book — well-structured, well-written and nicely illustrated — can help you move from complete novice to adept, well-informed user at a reasonable pace.

“Flash has been evolving and adding features at a breakneck pace since Adobe acquired Macromedia at the end of 2005,” the author, Chris Grover, points out.

His new addition to O’Reilly’s popular “Missing Manual” series should prove helpful and instructive not only for Flash beginners, but also for those who have been using the animation-and-more software for a while.

As Chris Grover notes: “Flash performs several feats of audiovisual magic. You use it to create animations, to display video on a website, to create handheld apps [iOS and Android], or to build a complete web-based application.”

His book is hefty (841 pages) and follows a clear, step-by-step approach when showing how to use Flash CS5.5 features and tools.

Flash CS5.5: The Missing Manual is organized as follows:

  • Introduction
  • Part One: Creating a Flash Animation
  • Chapter 1: Getting Around Flash
  • Chapter 2: Creating Simple Drawings
  • Chapter 3: Animate Your Art
  • Part Two: Advanced Drawing and Animation
  • Chapter 4: Organizing Frames and Layers
  • Chapter 5: Advanced Drawing and Coloring
  • Chapter 6: Choosing and Formatting Text
  • Chapter 7: Reusable Flash: Symbols and Templates
  • Chapter 8: Advanced Tweens with the Motion Editor
  • Chapter 9: Realistic Animation with IKBones
  • Chapter 10: Incorporating Non-Flash Media Files
  • Chapter 11: Incorporating Sound and Video
  • Part Three: Adding Interactivity
  • Chapter 12: Introduction to ActionScript 3
  • Chapter 13: Controlling Actions with Events
  • Chapter 14: Organizing Objects with the Display List
  • Chapter 15: Controlling the Timeline and Animation
  • Chapter 16: Components for Interactivity
  • Chapter 17: Choosing, Using, and Animating Text
  • Chapter 18: Drawing with ActionScript
  • Part Four: Debugging and Delivering Your Animation
  • Chapter 19: Testing and Debugging Your Animation
  • Chapter 20: Publishing and Exporting
  • Chapter 21: Introducing Adobe AIR
  • Chapter 22: Making iPhone Apps
  • Chapter 23: Building Android Apps
  • Part Five: Appendixes
  • Appendix A: Installation and Help
  • Appendix B: Flash Professional CS5.5, Menu by Menu
  • Index (21 pages)

In the Installation and Help appendix, Chris Grover spells out the Flash CS5.5 minimum computer memory requirements: “1 GB for both Macs and PCs, but as usual, you won’t be sorry if you have two to four times that amount.” Indeed, he recommends that you have at least 20 GB of free space on your hard drive: “—not just for the program installation but to give you room to create and store your Flash masterpieces and import additional files (like previously created images, sound files, and movies) from elsewhere.”

He also urges going beyond the processor minimums–“[F]aster multicore processors work best”—and beyond the minimums for screen size and video card. “Flash has so many windows and panels, it’s great to have a system with more than one monitor or one very large display.”

Flash, he notes, works with Windows XP with Service Pack 2, Vista or Windows 7. “For Macs, the requirement is an Intel multicore processor accompanied by Mac OS X version 10.5.8 or 10.6.” He states that Flash CS5.5 is not compatible with PowerPC Macs.

Whether you are just starting out to learn Flash computer animation or seeking to hone and expand Flash skills you have learned on the fly, Flash CS5.5: The Missing Manual is well worth having open on your physical desktop, right beside your computer.

Of course, if you’d rather have it on your Kindle, it’s available here.

 –Si Dunn