My New iPad

My New iPad: A User’s Guide
by Wallace Wang
Published by No Starch Press (an imprint of O’Reilly Media)
List $24.95, $15.44 from Amazon, $9.99 Kindle edition

For many people, the iPad is the most complex electronic device they’ll ever own. Neither buying nor using it requires a computer (although rearranging your icons is a lot easier using iTunes than doing it on the iPad directly). From personal experience, my mother couldn’t tell you the difference between a floppy disk, a CD, and a videotape, but she thinks the iPad is really cool.

So a lot of people could probably use a little help getting started with all of the features that the iPad has to offer; while there’s always the Apple store, who wants to go to the mall anytime you have a question? Wallace Wang’s new book, My First iPad, is a fairly comprehensive look at what the little machine can do, complete with step by step directions on how to do it. The instructions are laid out pretty well – I only noticed one instance where there was a skipped step, and it was fairly minor – and should be easy for even non-technical people to follow.

The book has 40 chapters divided into seven sections, starting with the basics (how to turn the iPad on and off, ways to conserve battery power) and moving into customizing the iPad, surfing the internet, transferring data, buying stuff in the Apple store, and basic troubleshooting.

Reading this book, I didn’t see much I didn’t already know after owning an iPad for a couple of months, but I’m a fairly technical person and also own an iPod touch; I see this aimed more at the non-techie person who doesn’t normally spend a lot of time or money on gadgets. For that audience, this should be a very useful book, and I plan on giving my parents a copy once they get their first iPad.

The Linux Programming Interface

The Linux Programming Interface
A Linux and UNIX System Programming Handbook
by Michael Kerrisk, published by No Starch Press (an imprint of O’Reilly Media)

As someone with several degrees in computer science, I’ve used Linux quite a bit; it’s my preferred environment for doing C++ programming. However, I’ve never formally studied the operating system; rather, I’ve just picked up enough to get by. As such, I was very interested to pick up a copy of O’Reilly’s new book on Linux programming and remedy that deficit in my education!

My original intent was to just spend a few weeks reading through the entire book; that delusion lasted approximately fifteen minutes. This is a big, heavy book – as in, potential murder weapon heavy. As should be clear from the title, it’s not about using Linux, it’s about programming with Linux, and expects a minimal level of programming competence from the reader. I had originally intended to review the book last year, but there’s quite a lot of reading involved!

The book starts out with an introduction to the history (including the standardization process) of UNIX and C; it then has one chapter each on fundamental concepts and system programming concepts. This is followed by information on files (there are, in fact, six chapters on file I/O, attributes, and events), processes, memory allocation, users and groups, security (including process credentials and access control lists), threads, sockets, etc; in all, there are 64 chapters covering 1400 pages, plus a half-dozen appendixes. The book covers over 500 system calls and library functions, and includes over 200 sample programs.

Reading through the book, it appears to be well-edited; free from obvious technical and typographic errors. This being a Linux/UNIX book, all of the sample code is naturally written in C, rather than trying to show multiple versions in “hot” languages, as many books these days tend to do. The author has been in charge of maintaining the man pages for Linux since 2004, and his familiarity with the system shines through; fortunately, he also happens to be a good writer, and rather than just telling you what a particular system call does, he first explains why something is useful and when you might want to use it.

Lately I’ve been in the process of slimming down my personal library, but this book has earned a prominent place on my computer shelf.

Artemis Fowl: The Atlantis Complex

Artemis Fowl: The Atlantis Complex by Eoin Colfer
List $17.99 (hardcover), $7.20 from Amazon or $6.99 for the kindle version

If you don’t know who Artemis Fowl is, stop right now; this isn’t the book for you. You want to start with the first Artemis Fowl book, when Artemis first becomes aware of the existence of fairies.

For those of you who have read the rest of the series, a quick recap. Artemis is a teenage genius (the latest book starts out on his 15th birthday), heir to a fortune, and a criminal mastermind. After his father’s disappearance, he decides to raise money by kidnapping a fairy for ransom. Unfortunately for him, the fairy he kidnaps is one very pissed off Captain Holly Short of the fairy military, and they’re now bringing their considerable technology to bear on her rescue. The author has described this book as being “Die Hard with fairies”, and this is definitely an action series. Over the next few books, Artemis becomes friends with the fairies and ends up helping them out with a number of difficult situations (and vice versa, of course).

In this, the seventh book of the series, Artemis has come up with a solution to global warming using fairy technology. He’s also racing against time, as he’s contracted a fairy disease called the Atlantis Complex, which is somewhat similar to an extreme case of obsessive compulsive disorder with a little dissociative identity disorder thrown in. Unfortunately, just as he’s about to demonstrate his solution to his fairy friends, the group is attacked by a space probe that’s supposed to be currently investigating Jupiter. The probe, it soon turns out, is on an intercept course for one of the largest fairy colonies, Atlantis..

As usual with the series, I found this to be quite a page turner; although I got it for Christmas and didn’t get around to starting it until yesterday, I read through the entire book in two sittings. If you’re already a fan of the series, you’ll be happy to know that this book is a worthy addition. If you haven’t yet read anything in the series but find yourself intrigued (or you just like action novels with a bit of fantasy thrown in), pick up a copy of the first book in the series.

Recommended.

HTML 4 & 5: The Complete Reference

HTML 4 & 5: The Complete Reference (iPhone/iPad universal app) by O’Reilly
$1.99 from the app store

Ever since I got my ipod touch, I’ve been a fan of O’Reilly’s ebook apps. For only $4.99, you get a technical book that would normally cost over $30 for the ebook version and over $50 in paperback. The average price has since increased to $6.99, but I’d still call that a pretty good deal.

One of the latest offerings is a nifty little reference guide for HTML. Search for a term (or browse through the offering by type) and click on something to bring up a short description containing everything you need to know to use that item. For example, I searched for audio and selected the audio tag from the search results. I got a description (which told me a bit about the tag, including that it’s new in HTML5), as well as a tab for attributes and a tab showing a code example.

Is there anything here that you can’t find for free on the web? Probably not, but in my opinion, $2 to have all that information nicely organized for you is a bargain. Having this app means getting only the information I need without wading through a lot of extra stuff to get there; I expect it will be pretty useful as I move more into coding sites with HTML5.

Google Analytics

Google Analytics by Justin Cutroni
$29.99 from O’Reilly Media

I own a number of websites; there are actually close to a dozen that I’m at least semi-actively working on. Many of them are monetized with Google Adsense, so I would naturally like to find out how people are finding my site so I can optimize for those searches. (For details on search engine optimization, see my previous review of SEO Warrior) To that end, I’ve been installing Google Analytics on my sites.

However, GA (as it’s commonly known) is a fairly complex program, and it’s not immediately obvious how to use it properly. That’s why I was happy to see the new book from O’Reilly, titled Google Analytics: Understanding Visitor Behavior. The book is, shall we say, extremely detailed; it covers the following areas:

Chapter one is an overview of web analytics: what it is and why you should be using an analytics program. It also explains why GA is a good choice for most websites.
Chapter two talks about planning: what do you want to achieve by gathering data? This lets you design your analytics program effectively.
Chapter three gets into the technical aspects of how Google Analytics works.
Chapter four talks about using cookies to track visitor behavior once they’re on your website.
Chapter five is on setting up accounts and profiles in GA so that you (or your employees) can get different views of the data.
Chapter six is about setting up filters to see only the data you’re interested in.
Chapter seven is about using goals and funnels. For example, if I was setting up a plan for this website, my goal might be for someone to click through one of my Amazon affiliate links. I would then track what entry pages give me the best success rate in doing that and see what’s special about those pages. On a more complex site, a funnel might be a series of pages that the user goes through before completing a transaction; for example, on an eCommerce site, the user needs to add a product to the shopping cart and complete the checkout. By looking at where users drop out in the process (after putting an item in the cart, when entering credit card information, etc) the website owner can determine where changes need to be made to improve the conversion rate.
Chapter eight discusses some profiles that the author thinks everyone should be using.
Chapter nine is about tracking marketing campaigns: you’re getting traffic, but where is it coming from? By using tags, you can set up GA to divide up your traffic based on how it’s getting to you, whether that be from email campaigns, PPC, or organic traffic.
Chapter ten is more advanced (read: specialized) material: tracking across multiple domains and subdomains, tracking for eCommerce, etc. This section is mostly useful for those who have large or complicated websites or who will be sending visitors from one website they own to another.
Chapter eleven is about enterprise implementation: in other words, using GA in a large business.
Chapter twelve is about using GA data with a customer relationship management (CRM) system.
Chapter thirteen is about various third party reporting, analysis, and debugging tools that use the GA API.
Finally, there are two appendices, on GA compliance with WAA standards and using regular expressions.

Did the book meet my needs? Not really; I specifically wanted something on integrating Analytics with Adsense, which isn’t covered. But if you want to understand where your visitors are coming from and what they’re doing, and if you want specific step by step instructions on how to set up Analytics, this is probably a good book to get.

Why Photographs Work

Why Photographs Work; 52 Great Images: Who Made Them, What Makes Them Special and Why
By George Barr, published by rockynook
$39.95 retail

I don’t know much about art, but I know what I like…or more accurately, what I don’t like. Photo books tend to be created either around a theme, or to showcase the work of a particular photographer; as such, you often end up with some so-so photos to round out the book. In Why Photographs Work, George Barr sets out to show photos with one simple criteria: each one must be a work of art.

The format of the book is simple. Each section starts with a photograph that the author considers to be particularly beautiful; it’s followed by Barr’s analysis of the photo, then by the photographer’s perspective, and finally by a photographer biography and brief technical notes.

While the notes are interesting (and the point of the book is to learn what makes a photo work so as to improve your own photography), this also stands on its own as simply a nice picture book. Rather than get too much into detail, let me point out a few of photos from the beginning of the book that stood out to me.

The second photo is a simple straight-on shot of a woman in Kenya, shot by Phil Borges; the photo is in black and white, except for her skin. The photo doesn’t look staged; it’s simply a strong woman, unselfconsciously pausing to allow the photo.

The second photo is also a head-on shot, but of a very different type: an elephant drinking, by Nick Brandt. As the shot was not done with a telephoto lens – the photographer actually got up close and personal with the elephant – he was able to capture a perspective not normally seen with these giant creatures.

Finally, photo #5 is an outdoors scene by Dan Burkholder that actually looks to me like a painting and immediately caught my attention. I was surprised to find that the photograph was actually a panorama done entirely on an iPhone. I’ve never had a particularly high opinion of phone cameras, but I have to admit that someone who knows what he’s doing can use them to produce some beautiful work! This photo also has a few blurry areas, which normally would annoy me, but as a whole the picture simply works; in fact, this is probably my favorite photo in the entire book.

Hopefully you’re getting the idea: this book has a variety of shots by a variety of photographers, with the one common denominator that all of the photographers are very good at what they do. Even the ones that are in styles I don’t care for (and there are quite a few), I generally can still recognize that they took significant talent to create. I’ve only read the descriptions for the photos in the first half of the book; while I’m hoping this book will help me to compose better pictures, for now, I’m quite content to accept it as simply a beautiful book.

The Wild Side of Photography

The Wild Side of Photography: Unconventional and Creative Techniques for the Courageous Photographer by Cyrill Harnischmacher
$29.95 from Rocky Nook

My tastes in photography are generally pretty simple: I like photographing landscapes, and I like very sharp images. I have no real interest in taking blurry images and have never coveted a lensbaby. So this book was definitely something different for me!

The book consists of 21 chapters by 15 authors on a variety of subjects; the commonality is that each involves taking photos in a way that you normally wouldn’t,  from building your own camera obscura to hanging your camera from a kite or smearing Vaseline on the lens.

The good thing is, even if you’re not interested in doing most of the things in the book, it’s still interesting to see how professional photographers did them, and every chapter is well written and easy to read. There’s also enough variety that almost any photographer will find something that he or she might like to try. I particularly liked the idea about using a modified toy periscope to take underwater photos without getting wet!

Note that for the most part, the book does not offer comprehensive step by step guides to creating the effects, although it often points you to other resources.  The goal of the book is more along the lines of giving you ideas, and showing what can be done with some creative shooting.

Do you need this book to learn to take good photos? No; in fact, the assumption is that you’re already comfortable with your camera, and basic terms are not defined. However, if you’re feeling bored with taking the same old photos, this might be what you need to get your creative juices flowing.

Best iPhone Apps

Best iPhone Apps by J D Biersdorfer
$19.99 from O’Reilly Media

I have an iPod Touch, and I love it, even if it does tend to need to be recharged every day or two.  While I don’t spend that much time listening to music, I can easily spend a few hours immersed in whichever game currently holds my attention.

Of course, with a quarter million options available in the app store, it can be difficult to find the best ones! That’s why I was interested to read O’Reilly’s new book:  over two hundred pages of nothing but apps! While some of them are iPhone-only, I figured I’d find enough interesting apps to make it worth a read.

Well…a flip-though, anyway. This isn’t really the type of book you read so much as one that you page through to see what catches your attention. Each page highlights one app, in full color, and tells you what the author liked about it. Apps are divided into high-level categories – work, on the town, leisure, play, etc, with search category being divided into various topics – apps to get things done, to make phone calls, arcade games, social networks, etc. After getting the book, I started flipping through it to see what caught my eye.

While I have no interest in most of the apps in the book, I can definitely see people using all of them; nothing made me say “why did he pick that?” (Of course, a few of my favorite apps – most of them, in fact – were left out, but that’s probably inevitable when you’re trying to choose the top tenth of a percent based on mostly subjective criteria! After an hour with the book, I’ve downloaded a half-dozen apps to try out; time will tell whether they’re worthwhile.

Would I pay the full $20 retail value for this book?  Probably not, although if I saw it in the store I’d most likely flip through it. But if you have an iphone, it might be worth picking up a copy from Amazon.

Buying a Home: the Missing Manual

Buying a Home: the Missing Manual by Nancy Conner
$21.99 from O’Reilly Media ($17.99 ebook, $9.99 Kindle)

Buying a home is the largest financial decision that most of us will ever make; as such, it makes sense to read through an instruction manual before you get started!

As someone who’s never owned a home, but would like to,  it was interesting – and a bit overwhelming – to see all of the factors that need to be considered before you make an offer.

The book is divided into four sections. Section 1, preparing for home ownership, helps you to decide whether or not owning a home is right for you, as well as calculate how much home you can afford. I found the first part of this section to be somewhat dull, but things picked up quickly after that.

Section two discusses finding the home that’s best for you. After years of renting, I’ve already started compiling a mental list of what I want and don’t want in the house I finally buy, which is one of the first recommendations the book makes (although of course they say you should actually write it down!) This section also talks about different styles of homes (there’s a lot of terminology I didn’t know), explains the jobs of all the people that you’ll have to deal with (real estate agents, loan officers, etc) and provides some resources for finding your new home.

Section three is about paying for the home: financing the down payment, coming up with creative financing solutions (although I don’t think the suggested garage sale is going to get you all that far!), applying for a mortgage, and figuring out closing costs.

Section four is negotiating and closing the deal. Now that you’ve found the home you want, how do you get it for the least amount of money, and what do you need to watch out for? When it is too late to walk away? This section also covers important things you need to have taken care of before closing, such as arranging for a professional home inspection.

It’s hard to make dry legal matters exciting, but this book does a good job of laying out the information you need to know before buying a home. I’ll be keeping it handy in the hopes that I soon find myself in that position!

HTML5: Up and Running

HTML5: Up and Running by Mark Pilgrim
$29.99 from O’Reilly Media

It might surprise you to know that every major browser, including Internet Explorer, currently supports some elements of HTML5. Unless you’re obsessed with web standards, though, you’ve probably been waiting on the HTML5 books to release before fully diving in. Wait no more!

I want to be clear: HTML5: Up and running is not a tutorial on HTML; the assumption is that you already know how to build a simple webpage. If not, there are probably millions of websites that can get you going. This book was written for one purpose: to show you how HTML5 changes webpage design, and how you can use it to provide a better user experience.

Chapter 1, How Did We Get Here, is a bit of an overview; it discusses the history of HTML and previews some of the things that will be covered in the book. This chapter is of mostly historical interest; you don’t need to read it before you get started, but it’s short and an interesting read. The rest of the chapters are broken down by feature, so you can jump around to what you need (although it’s a good idea to read chapter 2 first). In fact, when I started using this book a few months ago, that’s exactly what I did; I needed to know how to do HTML5 video so I started with that section. While the book only released  about a week ago, much of the content was available online before going to print, and I referred to it extensively when I started working with HTML5.

Chapter 2 covers detecting HTML5 features; every modern browser supports a different subset of these, so if you’re relying on a feature, you need to make sure the user’s browser can understand it. This chapter is basically a list of features, such as the new canvas element; after each feature is code showing you how to detect support for that feature by either checking for it in the DOM or using Modernizr, an open-source JavaScript library designed to let you easily detect support for various HTML5 and CSS3 features. Throughout the book, if a feature is not supported in every major browser, the book either shows how it degrades gracefully or provides a workaround.

Chapter three discusses the new semantic elements in HTML5 and discusses how it simplifies web markup. I actually got excited reading this chapter just from how much easier it is to set up the document now; those long, complex DOCTYPEs that you have to copy and paste are now replaced with a simple <!DOCTYPE html>.  Several simplifying things like that make this my favorite chapter; I love something that makes my life easier. If you’re not familiar with the reason for DOCTYPEs and how browsers render different types of documents, there’s also a good explanation at the end of the chapter.

Chapter 4 (which is currently available as a free download on the O’Reilly page for the book)  discusses the canvas element, which creates a blank surface you can use javascript to draw on, thus giving you more control over your images. Amazingly, every modern browser supports the canvas tag, although IE requires a third party library. This chapter is all about drawing on your pages.

Chapter 5 covers the new video tag, which is supported by all major browsers other than IE and Firefox 3.0. Want to make sure that iPad users can see your videos? Skip flash and embed them directly with HTML5! In practice, if you want them to display on every platform and browser, you actually end up doing several encodings to cover all the modern browsers, plus Flash for IE to fall back on. Aside from how to embed the video, this chapter covers how to do your encoding so the video is ready to use.

Chapter 6 covers geolocation: providing services based on where the user is. Unlike other features of HTML5, the user must specifically allow your site to take advantage of his location; calling the geolocation functions will pop up an unconditional (that is, the website cannot bypass it) permissions box asking the user if the site should be allowed to use his location, and whether it should remember that choice. Users can also set separate permissions for low- and high-accuracy geolocation.

Local storage, which allows you to keep information on the user’s hard drive like a cookie (but without having to send it back to the server with every HTTP request,  unlike a cookie!) is actually supported in the latest version of every major browser; even more astonishingly, they support it consistently, allowing each website to store up to 5MB of information on the user’s hard drive. Chapter 7 discusses how to use it.

In the days of high-speed internet, people tend to be always connected…but of course, this isn’t true of mobile devices, which may need to find a wifi connection. Offline applications, which are supported by everything except IE and Opera, allow a web application to automatically download all needed files to the user’s computer, allowing the user to keep working even without a connection; after the connection is reestablished, the application can resync with the server. Chapter 8 discusses some tear-your-hair-out problems that can come up while debugging offline applications.

HTML5 introduces a number of new attributes and types you can use with your web forms. The nice thing about them is that, while no one browser supports all of them, they all degrade gracefully;  unrecognized attributes are ignored and unrecognized types are treated as text, so while older browsers may not see all the bells and whistles you’ve added to your forms, they’ll still work just fine. Chapter 9 shows how you can make your sites more usable with these new form options.

Even with all the new things that the HTML5  specification adds (over 100 new elements!), it still won’t do everything that some people want it to do. Microdata allows you to add your own custom vocabulary to a webpage; it lets you apply additional semantics to data that already exists on the page. Chapter 10 discusses how to use microdata; while no browser currently have native support for microdata, Google does use it Thus, while adding microdata now probably won’t make a big difference to your user experience, it can affect how search engines display results from your site, hopefully improving your search traffic and helping users find what they’re looking for.

The book also includes a short appendix repeating the code for detecting all the new HTML5 elements that need to be detected, along with another recommendation to use Modernizr instead.

Final impressions? As you can probably tell from the length of this review, I loved the book. I did have one minor quibble, unrelated to the content:  the text wasn’t aligned correctly with the page, which looks a little weird, but it doesn’t affect readability. I was sent an advance copy of the book, so for all I know they may have corrected this by now. Overall, though, I found the book extremely readable and informative and feel that it gave me a good grasp of the capabilities of HTML5. Although I’d previously read most of the book online, I love having a hardcopy and plan to keep this close to my desk as a quick reference as I move more into using the latest version of HTML. The book is also very up to date; although it was extremely well edited (and I get annoyed by typos easily, so that’s high praise), it seems to have been updated right up to when they went to print; one section mentions that it was written on May 20th of this year. With how quickly computer technology changes, it’s nice to have a reference book with the latest information.

Overall: Highly recommended.

Rating: ★★★★★