Monday, December 26, 2011

Review: Kindle Fire Book Experience

I like to read. To that end, I own a lot of books. My wife complains about the amount of space all my books consume in our home. Occasionally, this results in my having to clean out the shelves and remove the books I don't think I'll even read again. Trouble is, I think I'll always read them at some point in the future. Instead, I donate them to the local library. But then I get more books.

In the Star Trek original series episode Court Martial (1967), Jim Kirk is facing a general court martial for apparently sending a fellow officer to his death in a non-emergency situation (it's a trick, since the officer faked his own death to implicate Kirk as revenge for a problem that happened between them years before). Kirk's attorney is one Samuel T Cogley (played wonderfully by the late Elisha Cook Jr.) who has his own system of practicing law based on old fashioned, hardcopy books. When Cogley is explaining his system to Kirk, he asks, What's the matter? Don't you like books?" Kirk's reply is, "I like them just fine, but a computer takes less space." That's my theory behind reading on the Kindle Fire.

I'm actually a bit torn. Like Cogley, "I like books". I'm old enough to still think that a "real" book is better than an electronic copy, but I have to balance desire with practicality. The Kindle Fire will never be able to replace the feel or the smell of an old book, but the content and the magic will still be there on each page I swipe (instead of turn). The Kindle Fire has a 6.5 GB storage limit on its hard drive but Amazon offers free unlimited cloud storage for anything purchased at Amazon (you can store non-Amazon products in their cloud free too, but only up to 5 GB...to upgrade to 20 GB of storage for said-files costs $20.00 a year), so "book shelf" space doesn't seem to be a problem.

I was intriqued by Amazon's free lending library for Amazon Prime users. Since I have a month's free trial of Prime, potentially, I have access to thousands of library books which I can borrow from Amazon for free. This sounded fabulous, but there's a catch.

I fired up my Kindle (pun not intended) and on the main page, tapped "Books" and then "Store". On the Books page, there's menu on the right side and I tapped "Kindle Owner' Lending Library". A list of various categories (Fiction, Nonfiction, Comics & Graphic Novels, etc...) appeared. Once I made a selection (Fiction) I saw a list of books, some available through Prime for free, but nothing to indicate that they could be borrowed. I selected one at random and when the book's "details page" appeared, there indeed was a button that said "Borrow for Free". I scrolled down for awhile but didn't find anything that looked appealing (in spite of the number of books I own, I'm actually picky about what I read).

I decided to try "Comics & Graphic Novels" and received a bit of a shock. The "graphic" part has to do with sex. A huge percentage of this collection is virtual porn, with titles such as "Wicked Desires: Steamy Sex Stories Volume 1", "My Sister Bestfriend", and "Sex Messages, Social Networking, and BDSM". The actual comic books were neither DC nor Marvel and seemed to be rather seedy, off-brand tales from the 1950s and 60s. Anything worthwhile (Batman, Green Lantern, Watchmen) cost about $10.00 each. I also noticed DC but no Marvel titles, which was quite a let down.

I did discover one cool thing. Lots and lots of pre-1923 books that are out-of-copyright are available for free..not to borrow, but to own. I immediately downloaded a copy of Robert Louis Stevenson's Treasure Island and burned through the first two chapters. And at the risk of sounding like a TV commercial huckster, that's not all. Amazon also points you, via their website, to numerous library projects that offer over a million free titles. Projects such as archive.org and gutenberg.org, complete with instructions on how to access their content from Kindle Fire. I haven't tried this part out yet, but believe me, I will.

As with movies and TV shows, the number and type of books you can borrow or get for free through Amazon Prime or the Kindle Owner's lending library is limited. The comic book and graphic novel selection was particularly wanting and I was severely disappointed. I really think there needs to be an online archive project specifically for older comic books, since their physical copies won't last forever and the originals held by the publishers are reproduced and distributed at the mercy of those companies. I guess that's my problem, though and I suspect that availability of book and comic book titles is limited by licensing costs. Besides, Amazon and the various publishing houses have to make a buck somehow.

In spite of the roadblocks I encountered, I still discovered that I have access to a large selection of reading material. Not everything I want, but books that I can't find, even at my local lending library. Speaking of which, I can't wait to see how to actually borrow a digital book from my public library for Kindle Fire. In the meantime, I'm going to be happily making my way through Treasure Island. "Yo ho and a bottle of rum, mateys."

Oh, and if you liked this review, make sure to catch my other Kindle Fire review on my experiences with movies and TV shows.

Sunday, December 25, 2011

Book Review: Sams Teach Yourself TCP/IP in 24 Hours (5th Edition)

Author: Joe Casad
Format: Paperback, 544 pages
Publisher: Sams; 5th edition (November 4, 2011)
ISBN-10: 0672335719
ISBN-13: 978-067233571

I've been spending a lot of time with TCP/IP and particularly IPv6 in the past few months (I can't tell you why right now, but soon). When I saw Joe Casad's book Sams Teach Yourself TCP/IP in 24 Hours was in its fifth edition, I wondered how it compared to my experiences in researching various aspects of internetworking. One way to find out for sure is to request a review copy from the publisher, so here I am and here it is.

I'm a big fan of the "Sams Teach Yourself" books. I've had good experiences with them in the past and they usually offer just the right amount of learning, broken up into correctly sized bites. They also usually build one "hour" upon another so that by the end of the book, you really have learned something. There is no "who is this book for" section in the front matter, but this series is typically tailored for the beginner. How much of a beginner do you have to be? The first hour is called "What Is TCP/IP?". The first questions asked are, "What is a protocol?" and "What is a network?". Pretty basic stuff.

This series is designed, as I'm sure you guessed, to be a learning series. After the chapter's main content, there's a Q & A section and a Workshop section which is made up of a brief quiz (4 or 5 questions) and a short series of exercises. Appendix A in the back has all the answers, so you can check your work or have a peek if you really get stuck. Just for giggles, I went through the Workshop section of Chapter 14: TCP/Utilities and it seems like it's pretty standard material, if you know much about networking. Questions have to do with what commands you would use to view a computer's ARP cache or to see which hosts have made TCP connections to your computer (this all assumes a Windows PC) and exercises focused on ipconfig and ping. Not super challenging, but if the goal is to teach a networking newbie, this is at the right level.

I guess I shouldn't have been surprised that only one "hour" was dedicated to IPv6 (Hour 13) or that there were Exercises assigned to this chapter, but no answers for them in the Appendix. There are two good reasons for this. One is that a newbie will have their hands full with IPv4 and the other is that most folks still consider IPv6 really new (the "newness" is an illusion as IPv6 standards have been developing for years and many ISPs have accelerating their adoption of the next version of IP recently). The downside to this "neglect" in the book is that newbies are the perfect audience to learn IPv6 from scratch, at least at the level of concept. If you've got a couple of Windows 7 computers, you can ping their IPv6 addresses or ping your own localhost address (ping ::1).

On the up side, this TCP/IP book covers a lot more than TCP/IP at the level of the protocol including DNS, Routing, SOAP, Email, and "the Cloud". That sounds impressive and from the neophyte's perspective it is. However, because the book is addressed to the beginner, that's about as deep as you go into any of these topics. To be fair, that's a deep as this book should go, but that also means if you have any networking experience at all and you don't need a ground-level review, this book will be too light for you.

If you are a person who wants to learn basic networking (not particularly for how to set up two or three computers for wired/wifi in your home) with an eye on something a little more advanced like CompTIA's Network+ and a little later on Cisco's CCNA, then Casad's book will certainly give you a leg up. If that's where you are or where you want to go, I'd recommend Sams Teach Yourself TCP/IP in 24 Hours. If you have some experience and are looking for a book with more "meat" to it, you'll need to look elsewhere.

Addendum, 12-26-2011: Regarding IPv6 deployment, I just found this article at InfoWorld: IPv6 due for wide deployment in 2012, experts say

Friday, December 23, 2011

Review: Kindle Fire Video Experience

Recently, I was given a Kindle Fire and after registering it and setting up WiFi at home, I decide to try it out. Since I've got a free month of Amazon Prime service with my new Kindle Fire, I thought I'd take the video experience for a spin last night. I found out that not all movies and TV shows are free with the Prime service (alas) but some really good ones are. All old Twilight Zone episodes are free with Amazon Prime. I watched the very first Twilight Zone ever, starring Earl Holliman (points if you know who that is without Googling). Steaming via WiFi was fast with no service interruptions, so I could really lose myself in the show. Image was crystal clear but you might want to keep low lighting in the room because reflections are a problem.

I made an interesting discovery watching that episode from 1959. It was filmed at the same Universal Studio backlot as the town square scenes from the Back to the Future (1985) films. The courthouse with the clocktower was a high school in the TV episode and Mel's diner (later a gym) was a police station. The incredible irony is Marty goes back to 1955 but the place existed for real as early as 1959 (and probably before). Great stuff for a trivia nerd like me. There's more tidbits I found in other episodes, but they're kind of obscure unless you're into old science fiction films.

The two other classic TZ episodes I watched starred the wonderful actors Burgess Meredith and Agnes Moorehead (one per each episode). Then I decided to watch the two-hour premiere episode of Star Trek: Deep Space Nine, which I haven't seen in years. I really had a lot of fun with the scenes I remembered and particularly with the scenes I didn't (I completely forgot Patrick Stewart guess starred).

The 7 inch screen is a little small, but the video experience was still OK. Sound via ear buds worked fine. I did notice feeling a little vertigo when I moved the Kindle closer and then further away from my eyes during the shows. I don't recommend walking around while watching as it gets to be disorienting. I finally put it on the bed so I had a stable platform for the Kindle.

Searching for shows and films worked well, The search feature has an auto-complete, so you don't have to do a lot of typing. I did notice that auto-complete would generate search results (such as "return of the creature", which I mistakenly thought was Revenge of the Creature [1955]) that when selected, produce no actual result (the film doesn't exist in the Amazon archives, apparently).

I'm sure there's a reason for it, but I couldn't figure out why some shows were offered via Prime and others weren't (probably licensing, but who knows?). For instance, all old Twilight Zone episodes were available but no old Outer Limits shows were offered through Prime. Just for giggles, I tried to find the original premiere episode for Lost in Space but it's not available through Prime, either.

Except for the small screen size and the need to keep the Kindle Fire pretty still while viewing, I can't complain about my video experience. You can control the volume of the show and pause and play at will, just by tapping the screen to show the controls. Despite the limitations on selection, I still found plenty of interesting viewing choices. Very nice for my very first tablet experience. I'll have to try out the lending library next.

Oh. Does anyone know a good way to read comic books on a Kindle Fire? Just asking.

Saturday, December 3, 2011

Review of CoffeeScript: Accelerated JavaScript Development

It's been awhile since I've sunk my teeth into a good book review so I'm finally glad to get my appetite back and start consuming Trevor Burnham's CoffeeScript: Accelerated JavaScript Development book. I'm actually just as interested in trying out CoffeeScript itself as in having a look at what the book has to offer. Well then, let's get started.

First off, before even getting into the book, what is "CoffeeScript"? For a quick and dirty definition, I hit up Wikipedia:
CoffeeScript is a programming language that transcompiles to JavaScript. The language adds syntactic sugar inspired by Ruby, Python and Haskell to enhance JavaScript's brevity and readability, as well as adding more sophisticated features like array comprehension and pattern matching. CoffeeScript compiles predictably to JavaScript and programs can be written with less code (typically 1/3 fewer lines) with no effect on runtime performance. Since March 16, 2011, CoffeeScript has been on GitHub's list of most-watched projects.
I suppose I could say that if you don't know what CoffeeScript is, you shouldn't be reading Burnham's book, but that's probably not true. According to the "Who This Book Is For" section in the Preface:
If you're interested in learning CoffeeScript, you've come to the right place! However, because CoffeeScript is so closely linked to JavaScript, there are really two languages running through this book - and not enough pages to teach you both. Therefore, I'm going to assume that you know some JavaScript."
The author goes on to say that even if you know just a bit of JavaScript, you should be OK, but rank novices at the language might want to get to know a bit of JavaScript before tackling CoffeeScript. Also, since Ruby inspired a lot of the features in CoffeeScript, having a bit of Ruby background is a plus.

A couple of other "support" features before diving into the book and CoffeeScript. The sample code used in the book can be found on the book's official page at Pragmatic along with links to the errata, the discussion forums and of course, how to buy the book in hardcopy, ebook, or both formats.

How to get CoffeeScript.

I chose to use Ubuntu for my "testing platform" but was running Ubuntu's last LTS version, which doesn't support installing CoffeeScript, even in an exceptionally painful manner. Therefore, I upgraded my Ubuntu box to 11.10 (Oneiric Ocelot), opened the Ubuntu Software Center, and searched for CoffeeScript. It was discovered in no time and I installed it with no difficulty. Notice that this means I completely blew off the instructions for installing CoffeeScript as found in the first chapter, but since the book was published last August and the production version of 11.10 didn't become available until October, I figured, "what the heck". We'll see if my impatience will come back to bite me in the rear.

So now I have CoffeeScript. How am I going to use it? Oh, yeah. I have this book.

Anxious to "meet coffee", I opened a terminal window and just for giggles, typed "coffee -v" to see what version I had. So far, so good, I have version 1.1.1, the same version used in the book (the latest version as I write this blog post is 1.1.3).

There are all kinds of text editors you can use with CoffeeScript, but the author, apparently being a Mac guy, prefers textmate. Fine and dandy, but I use Ubuntu and prefer Vim. Apparently, there are textmate plugins for a wide variety of text editors including Emacs, gedit, jEdit, and of course, Vim. You can choose to go through the time and effort of adding the plug-in but you don't have to. As it says in the book, any text editor will do.

I have to say two very good things about this book. First off, the author obviously knows CoffeeScript. This is evidenced by the apparent ease at which he explains the concepts and the whirlwind tour he takes the reader through. The whirlwind tour is the second good thing since the reader gets started programming right away and dives into a practical project. If you are a beginning web developer, this book is well suited to your experience level. Unfortunately, for the beginner (and probably more advanced readers), the book has some drawbacks. I'm not sure Burnham knew exactly who to write the book for. At some points, you need to understand some JavaScript to know what's going on and at others, the author goes to some length to explain aspects of HTML and CSS (which I would presume the reader should know if they're taking on a web development programming language).

I don't mind books for beginners and in fact, I encourage them, and as an author, I can certainly understand when a publisher asks that you limit your page count to under 150 and thus limit the scope of your book, but it's as if Burnham couldn't decide how to best make use of his 138 pages. While it's good not to overwhelm novice programmers with a lot of details, beginners also tend to get confused easily if tasks and concepts are not sufficiently explored. Based on his writing style and presentation, it seems like Burnham is probably a very likable and knowledgable person, so I hate to give his book a less than stellar rating, but with CoffeeScript, JavaScript as well as jQuery, HTML, and CSS all tossed into the middle of the salad, it was hard to see the overall focus of this small text.

I do like that the book devoted itself to creating a single product (a simple game) throughout the chapters and allowed the reader to make and refine this game as a way to learn basic CoffeeScript, but in my opinion, the book is as frustrating as it is illuminating. If you're interested in learning CoffeeScript and you have at least a little programming experience, I won't say not to buy Pragmatic's CoffeeScript book, but I would recommend also spending a lot of time at coffeescript.org which, in and of itself, isn't a bad way to learn this language.