iOS 6 Programming Cookbook – Updated for the new SDK – #iOS #programming #bookreview

iOS 6 Programming Cookbook
Vandad Nahavandipoor
(O’Reilly –
paperback, Kindle)

If you are a new iOS developer, you can learn many things quickly from this hefty book. And even if you are an iOS veteran, you can gain some important new insights.

The iOS 6 cookbook has been completely updated to cover the recently released iOS 6 SDK. And the author is a well-known and well-experienced developer of iOS apps.

The 20-chapter book begins with the basics of programming for the iPhone, iPad, and iPod touch, using Objective-C. But it is not intended for beginners who are just learning to program.

In some forums, debates continue to rage over whether new programmers who want to create iOS apps should dive straight into learning Objective-C or study traditional C first and perhaps other programming languages before tackling Objective-C.

No opinion is offered in this well-written, well-organized book. It is just assumed that “you are comfortable with the iOS development environment and know how to create an app for the iPhone or iPad.”

The book’s  focus, the author says, is on explaining “frameworks and classes that are available in iOS 6 SDK” and teaching the reader “the latest and greatest APIs. As you know, some users of your apps may still be on older versions of iOS, so please consider those users and choose your APIs wisely, depending on the minimum iOS version that you want to target with your apps.”

Here is the chapter line-up for iOS 6 Programming Cookbook:

  1. The Basics
  2. Implementing Controllers and Views
  3. Auto Layout and the Visual Format Language
  4. Constructing and Using Table Views
  5. Storyboards
  6. Concurrency
  7. Core Location and Maps
  8. Implementing Gesture Recognizers
  9. Networking, JSON, XML, and Twitter
  10. Audio and Video
  11. Address Book
  12. Files and Folder Management
  13. Camera and the Photo Library
  14. Multitasking
  15. Core Data
  16. Dates, Calendars, and Events
  17. Graphics and Animations
  18. Core Motion
  19. iCloud
  20. Pass Kit

Vandad Nahavandipoor’s important new iOS 6 cookbook offers hundreds of how-to examples and code samples that can help solve problems and give well-defined starting points and frameworks for developers at all levels of experience.

The topics and code samples range from the basic, such as testing new iOS apps by running them on the iOS simulator, to the advanced, such as using Apple’s Pass Kit to create digitally signed coupons, tickets or passes that can be delivered to compatible iOS devices running iOS 6 or later.

Si Dunn

CompTIA Security+ Exam SY0-301 Rapid Review – For Security+ certification – #bookreview

CompTIA Security+ Exam SY0-301 Rapid Review
Michael Gregg
(Microsoft Press – paperback, Kindle)

IT security professionals know the importance of certifications to their careers and their continuing credibility with employers or potential clients.

The CompTIA Security+ Exam SY0-301 Rapid Review is a handy and helpful guide for IT security specialists who are preparing for Exam SY0-301, to earn a CompTIA vendor-neutral Security+ certification

Important note: This book is for certification candidates who are already well-versed in their field. It is specifically “designed to assess your readiness for the SY-301 exam,” the author notes. “It is not designed as a comprehensive exam preparation guide.”

If you want to begin studying for Exam SY0-301, you are urged to start with the CompTIA Security+ Training Kit, which is scheduled for release in 2013.

The Rapid Review and the SY0-301 exam are aimed at IT professionals who have “a minimum of two years of experience in IT administration with a focus on security.”

Also, exam candidates should have “[d]ay-to-day technical information security experience” and “[b]road knowledge of security concerns and implementation.”

Like the exam, the Rapid Review focuses on six areas: (1) network security; (2) compliance and operational security; (3) threats and vulnerabilities; (4) application, data and host security; (5) access control and identity management; and (6) cryptography.

Along with definitions and explanations, the Rapid Review challenges the reader with numerous true-false questions and “Can you answer these questions?” queries. The true-false answers and their explanations are presented immediately after the true-false questions. Meanwhile, the answers to the “Can you answer these questions?” queries are presented at the end of each chapter—and you have to do a bit more work and reviewing to sort them out.

Si Dunn

MapReduce Design Patterns – For solving Big Data problems – #bookreview #programming #hadoop

MapReduce Design Patterns
Donald Miner and Adam Shook
(O’Reilly –
paperback, Kindle)

“MapReduce is a computing paradigm for processing data that resides on hundreds of computers,” the authors point out. It has been “popularized recently by Google, Hadoop, and many others.”

The MapReduce paradigm is “extraordinarily powerful, but does not provide a general solution to what many are calling ‘big data,” they add, “so while it works particularly well on some problems, some are more challenging.” The authors’ focus in their new book is on using MapReduce design patterns as “templates or general guides to solving problems.”

Their new book definitely can help solve some time-crunch problems for new MapReduce developers. It brings together a variety of solutions that have emerged over time in a patchwork of blogs, books, and research papers and explains them in detail, with code samples, illustrations, and cautions about potential pitfalls.

You can’t simply cut and paste solutions from the chapters. But the two writers do “hope that you will find a pattern to get you at least 90% of the way for just about all of your challenges.”

Six of the book’s eight chapters focus on specific types of design patterns:

  • Summarization Patterns
  • Filtering Patterns
  • Data Organization Patterns
  • Join Patterns
  • Metapatterns
  • Input and Output Patterns

“The MapReduce world is in a state similar to the object-oriented world before 1994,” the authors point out. “Patterns today are scattered across blogs, websites such as StackOverflow, deep inside other books, and inside very advanced technology teams at organizations across the world.”

They add that “[t]he intent of this book is not to provide some groundbreaking new ways to solve problems with MapReduce….” but to offer, instead, a collection of “patterns that have been developed by veterans in the field so they can be shared with everyone else.”

The book’s code samples are all written in Hadoop, and the two writers deal with the question of “why should we use Java MapReduce in Hadoop at all when we have options like Pig and Hive,” which reduce the need for MapReduce patterns.

There is “conceptual value,” they state, “in understanding the lower level workings of a system like MapReduce.” Furthermore, “Using Pig or Hive without understanding MapReduce can lead to some dangerous situations.” And, Pig and Hive cannot yet “tackle all of the problems in the ways that Java MapReduce can. This will surely change over time….”

If you are new to MapReduce, this useful and informative book from Donald Miner and Adam Shook can be the next best thing to having MapReduce experts at your side.

MapReduce Design Patterns can save you time and effort, steer you away from dead ends, and help give you solid understandings of the powerful MapReduce paradigm.

Si Dunn

Python for Kids – A fun & efficient how-to book that even grownups can enjoy – #programming #bookreview

Python for Kids
Jason R. Briggs
(No Starch Press – paperback, Kindle)

Subtitled “A Playful Introduction to Programming,” Python for Kids is recommended “for kids aged 10+ (and their parents).”

But what if your kids are grown or you don’t have any kids? Should you ignore this book while learning Python? Absolutely not.

I’ve recently taken two Python 3 classes, and I wish I had had many of the explanations and illustrations in Python for Kids available to help me grasp some of the concepts. I’m keeping this book handy on my shelf for quick reference, right next to works such as Head First Python and Think Python.

Yeah, it contains plenty of silliness for kids, such as a wizard’s shopping list that includes “bear burp” and “slug butter,” and using if and elif statements to create jokes such as “What did the green grape say to the blue grape? Breathe! Breathe!” (I have grandchildren who consider this stuff uproariously funny.)

But Python for Kids also covers a lot of serious topics in its 316 pages and shows—simply and clearly—how to handle many major and minor aspects of the Python programming language. NOTE: This book is for the newer 3.X versions of Python, not older 2.X versions that are still in use and still a focus of some books for beginners.

One Python class I took didn’t introduce tuples until the 7th week of lectures. Python for Kids, however, has the reader using tuples on page 38, right after six pages of learning how to work with strings and lists. And the explanations and examples for these elements are clearer than what I got in a college-level course. (Of course, it helps when exercises involve “bear burp” and “gorilla belly-button lint” rather than boring generics such as “Mary has 3 oranges” and “Jack has 6 pencils.”)

Jason R. Brigg’s new book also shows how to draw shapes and patterns and create simple games and animations—topics not covered in some other beginning Python books I have used.

Another cool feature of this excellent how-to book is an afterword titled “Where to Go from Here.” It provides suggestions and gives links for those who want to learn more about games and graphics programming or take up other programming languages such as Ruby, PHP or JavaScript.

Bottom line, Python for Kids offers education and entertainment for children, their parents, and almost anyone else serious about having some fun while learning Python 3.

Si Dunn

Make: Volume 32 – Zany and practical projects and articles for DIY builders – #bookreview

Make: Volume 32
(O’Reilly, paperback)

Make: is a science, technology, and do-it-yourself (DIY) projects magazine published quarterly in paperback book format. Volume 32 not only has intriguing articles about private rocketeers, flying motorcycles, and human-size replicas of videogame costumes and weapons. It also has about two dozen “complete plans” for a wide array of useful and zany projects.

One of the projects in Volume 32 is “The Awesome Button,” a big red desktop button that you can hit when you can’t think of a synonym for the totally overused word “awesome” while you’re composing email or a letter or a manuscript. The project uses a $16 Teensy USB Development Board made by PJRC, plus some downloaded code. When your fist hammers down on the big red button, the board generates random synonyms for “awesome” and sends them to your computer so you can quickly accept or reject them in your document.

Another project is a catapult launcher that will send a tiny balsa wood glider zooming 150 feet into the air. Beats the heck out of a rubber band looped around a Popsicle stick.

And another DIY article focuses on the joys of salvaging perfectly good electronic and mechanical parts from discarded laser printers, so you can use the parts in other projects.

Make: Volume 33 is due to appear in January. In the meantime, Volume 32 is full of fun reading and intriguing projects, such as how to transform data files into synthesized music.

Si Dunn

iOS SDK Development – A totally new and improved 2nd edition – #programming #bookreview

iOS SDK Development
Chris Adamson and Bill Dudney
(Pragmatic Bookshelf, paperback)

The previous, 2009 edition of this popular how-to book was titled iPhone SDK Development.  But this  new and re-titled second edition is much more than a copy-and-paste, just-make-some-tweaks update.

“[W]e have copied absolutely nothing from the old book,” the authors say. “As we looked at all the changes to the platform—between Xcode 4, iOS 6, and the iPad—we decided that so much had changed that we would be better off starting fresh.”

While they tried to cover virtually everything in their previous book, their new, 274-page edition is much more focused and, yes, it’s more pragmatic.

“This book,” they state, “is about setting you off on the right foot: understanding the fundamentals, getting comfortable with the tools and the concepts, and developing good habits. We’ve put a particular emphasis on the last of these, looking for the kinds of things that aren’t just handy classes or compiler tricks but instead are the values and routines that will help produce better apps. We’re also adopting modern iOS development practices, such as using Objective-C properties exclusively instead of using traditional instance variables and getting private methods out of public header files.”

Two other goals: They want iOS SDK Development “to serve as a prerequisite” for Pragmatic Bookshelf’s other iOS titles; and they hope you will “come away from this book with a firm grasp of the most essential iOS APIs—the UIKit GUI framework and the essential utilities of the Foundation framework—and enough of a sense of where things are and how things work to be able to grab the documentation for interesting looking features and be able to figure it out.”

The book has 10 chapters, with illustrations and short code examples. The chapters are:

  1. Tweetings and Welcome to iOS 6 – Shows how to download and install the SDK and begin working on a first app.
  2. Programming for iOS –Introduces Objective-C and “the two frameworks we use most often in iOS apps: Foundation and UIKit.”
  3. Asynchronicity and Concurrency – Shows “how many of the iOS APIs use asynchronous callbacks and [employ] the Grand Central Dispatch system to handle concurrent execution….”
  4. View Controllers – “…looks at how iOS apps are built on a strong Model-View-Controller (MVC) foundation.”
  5. Table Views – Deals with “the flexible and widely used table view, the linchpin of most iPhone apps that need to present lists of data.
  6. Storyboards and Container Controllers – Covers “how to build a visual road map of the many screens of an app and how to build much of the logic of that navigation and presentation automatically.”
  7. Documents and iCloud – Shows the tools needed “to save our user’s work to the filesystem as well as to Apple’s new iCloud service.”
  8. Drawing and Animating – Explains how to use the Core Graphics framework and Core Animation.
  9. Testing and Fixing Apps – Looks at what can go wrong and how to use the SDK’s tools to fix things.
  10. The App Store and Beyond – Focuses on moving from learning to doing, by maintaining code, running it on devices, submitting it on the App Store, and “managing it after it’s in users’ hands.”

Whether you want to learn how to develop iPhone, iPad, and iPod Touch apps, or improve and update your knowledge of the necessary processes, you should read the new, improved iOS SDK Development and keep it within easy reach.

Si Dunn

Go APE (Author, Publisher, Entrepreneur) with Guy Kawasaki & Shawn Welch – #bookreview #amwriting

APE: Author, Publisher, Entrepreneur—How to Publish a Book
Guy Kawasaki and Shawn Welch
(Nononina Press,
Kindle)

Okay, confession time. I know a bit about the book business—what used to be the book business.

Years ago, I was a freelance developmental book editor for a trio of well-known publishing houses; I’ve had a couple of book agents; books I wrote have been put into print by not-so-major publishers (and later dropped out of print); I’ve written hundreds of book reviews; and I’ve self-published a few books and ebooks: nonfiction, fiction and poetry.

To misquote the late actor-comedian W.C. Fields, on the whole, I’d rather be in self-publishing now.  There isn’t much of an alternative.

And not just basic self-publishing but artisanal self-publishing, which Guy Kawasaki and Shawn Welch define, in their well-written and well-designed new book, as “a new, cool form of publishing…authors lovingly crafting their books with total control over the process.”

Many writers, of course, already are trying to do that, often with abysmal results, because it’s not enough to commit a book to print (or its digital equivalent) and then wait for the world to recognize your genius and surge forward to buy it on Amazon.

To succeed in self-publishing, you really do have to be, as Kawasaki and Welch contend, an APE: an author, a publisher, and an entrepreneur. 

With APE, Kawasaki and Welch aim to “help people take control of their writing careers by publishing their books. The thesis of APE is simple but powerful: When a self-publisher successfully fills three roles—author, publisher and entrepreneur—the potential benefits are greater than with traditional publishing.”

There’s plenty of truth in that. Three publishers turned down my Vietnam War memoir Dark Signals, even after it received a prestigious award. And several other publishers did not bother to respond to my queries. So I published it myself as a CreateSpace paperback and Kindle ebook, both available through Amazon.

It has not been a runaway best-seller; I knew from the outset that I was writing for a limited audience: readers of military memoirs. Yet several hundred copies have been ordered thus far. And a book that I really needed to push out of my soul finally is out there for posterity, with five-star reviews.

No doubt I could have sold more copies at the outset if I had had APE in hand. Knowing the traditional book business is one thing. Knowing the new ways of book creation and marketing are quite another.   

Filling the three roles — author, publisher and entrepreneur — is “challenging, but they are not impossible—especially if people who have done it before explain it to you.” That’s the key premise behind APE. Kawasaki, a successful author, has become a successful self-publisher with help from Shawn Welch, and together, they are now offering up their hard-earned secrets in a 300-page book that many authors will want to read, repeatedly.

Indeed, many of us likely will value APE as a Chicago Manual of Style for self-publishing that also has entertaining writing and dozens of how-to tips thrown in for added value. APE is comprehensive. And it’s very realistic about what it takes to succeed as a self-published author.

Three points in particular stand out for me.

  1. Yes, I have been a professional editor and proofreader of books. But I still should never do the final edits and proofreading of my own text. (Neither should you.) “The self-edited author is as foolish as the self-medicated patient,” Guy Kawasaki points out. Indeed, I have had to create new editions of at least two of my ebooks, because I found glaring typos that I had completely overlooked while doing my “final” edits. As Kawasaki notes: “The going rate for copyediting is $35 per hour, and copyeditors can work their magic at the rate of roughly ten pages per hour (although this can vary depending on the complexity of the material), so you’ll pay approximately $1,000–$1,500 for a three-hundred-page manuscript. This is one of the dumbest places to try to save money, because poor copyediting destroys the quality of your book.” (Unfortunately, you will have to sell a lot of ebooks to cover that cost.)
  2. At least two of my CreateSpace books have boring covers. I am not a graphic artist, and I should not attempt to save money in the future by “designing” my own book covers or settling for one of the available “standard” covers. As Kawasaki notes: “Not to get too metaphysical, but a cover is a window into the soul of your book. In one quick glance, it needs to tell the story of your book and attract people to want to read it. Unless you’re a professional, hire a professional to create a great cover because, in spite of how the old saying goes, you can judge a book by its cover. Or at very least, people will judge a book by its cover.”
  3. While I have dabbled at business for many years, I am not much of an entrepreneur. And I don’t have the soul of a self-promoting guerilla marketer. I grew up believing modesty is a virtue. (Or, perhaps I merely had that notion spanked into my britches when I was an Eisenhower-era kid.) In any case, when my first books were published, others hired by the publishers did the editing, bragging, selling and distribution. Sometimes I talked to small groups of people and signed a few autographs. But mostly, I just stayed home, started a new project, and waited for the (small) checks to arrive. Now, in APE’s chapter on “How to Build an Enchanting Personal Brand,” Kawasaki states: “Call me idealistic, but your platform is only as good as your reality. If you suck as a person, your platform will suck too.” Cool. Memo to self: Improve personal enchantment platform immediately. (By the way, Guy and Shawn, I would add a comma between “suck” and “too.” You’re welcome.) Seriously, if we self-publish books, we have to sell ourselves to readers, right along with, and often ahead of, our books. And the eight chapters of APE’s “Entrepreneur” section provide excellent guidelines on how to do that.

Even if you already know a lot about self-publishing and self-marketing books, if you’ll go APE, you can learn some profitable new tricks from Guy Kawasaki and Shawn Welch.

Si Dunn