Sunday, January 31, 2010

Under the Dome: A Novel

Under the Dome wasted no time diving into a suspenseful, action-packed science fiction thriller. When reading Under the Dome, I felt constant helplessness. Not since Misery have I experienced such powerlessness and empathy for the characters caught in the events that unfolded throughout the novel. The genius of the novel was its ability to take me to Chester's Mill; to trap me under the dome.

The novel's first 75 pages or so introduce a staggering number of major and minor characters. Most characters have rich backgrounds, and play important roles throughout the novel. Compared to Stephen King's The Stand, I thought the characters lacked amiability at first, but keep in mind that the number of major characters one follows in The Stand pales in comparison to those under and outside the dome. With that said, I realized that if King went into detail for every character, the book would easily exceed 2,000 pages. Thus, I believe King gave readers just enough (and at times, more than enough) to appreciate the characters independent of the hardships they face throughout the book.

As with any science fiction book, certain questions must be addressed. For example, "Can any air get into the dome? What about water? What is the weather like?" King addresses most of the complexity that the dome presents to reality, and I was grateful for the research he did for the novel to make it as realistic as possible.

Reading the novel was well worth my time, so I recommend it to anyone who is seeking to augment their Stephen King collections, anyone looking for a fast-paced, well-written novel, or anyone who is reading Stephen King for the first time.

Saturday, January 30, 2010

Real life iPhone SDK Development

I loved this book. I really appreciate the way this book "peels the onion". Starts off with the simplest of apps, and with each successive example brings in all the necessary information on the Apple dev tools, iPhone SDK, Objective C language, and the Cocoa frameworks. Key concepts are adequately explained and unfold gradually.

If you have a C/C++/Java/Python or similar background (who doesn't these days), this book will provide you with all the skills you need to develop great apps. It is not necessary to first learn Objective C before diving into this book. Reading this book is much more efficient than reading the detailed developer documentation distributed by Apple.

After reading this book, I feel completely comfortable tackling any of the APIs and have a thorough understanding of key concepts.

Friday, January 29, 2010

Real Life iPhone programming

When reading introductory books in any language, it is easy to learn the language elements and concepts, but it is hard to see how everything fits together. What is great about the cool projects series from Apress is being able to see the elements and concepts in practice with projects from professionals who are active in the field.

Each chapter is written by a different author, so every project covers a different experience and topic. These range from touch interfaces to streaming audio over the network. Some of the projects presented are based on the author's live applications that are currently available through the App Store. A wide range of the topics are covered in the book with practical examples of the concepts.

This book is definitely not an introduction to Cocoa or iPhone programming. It is more geared toward the intermediate reader who has learned the basics and needs practical, real-life examples. It can also be of use to a more experienced iPhone programmer who wants to explore some of the topics in the book without having to dig through the documentation.

I would highly recommend this book because it is easy to read and does not get bogged down with basic concepts. Code is provided on the book's site and is easy to follow the code with the explanations in the book. As a beginning iPhone programmer, I found this book to be a lot of help to work out some of the concepts I was having trouble with.

Thursday, January 28, 2010

Learning JQuery 1.3

This is a must for the serious web designer. I'm not a web designer myself but I know a bit of server side programming in ASP.NET so my purpose in reading this book is to create my own interactive websites and pretty much know the bigger picture in web development. I also like reusable jQuery plug-ins that are sleek and fancy. I also like how it promotes progressive enhancement and graceful degradation which basically is an unobtrusive client script manipulating the DOM. In layman's terms, it's maintainable and decoupled.

I actually don't know Javascript in detail, however I do know a bit of general programming and object oriented concepts. So esoteric language features like closures discussed in the book maybe a little bit advanced for the novice reader. Closures is however explained very well in the appendix. You do need to know CSS and HTML and some server side programming. You shouldn't be reading this if you don't because the whole point of jQuery is to manipulate the DOM in the HTML document by changing the style-sheets dynamically on the client. The server-side example codes that come with the book is written in PHP. So I had to be creative in converting them to ASP.NET which to me is a good exercise for myself.

The book is organized in 2 parts. The first part from chapters 1 to 6 is the tutorials. It covers the basic feature of the library and has a step by step instruction which you need to follow. These are pre-requisites of the library features including selectors, events, effects, Ajax and DOM manipulation. The second part from chapters 7 onwards is the "how-to" section. It basically creates an online bookstore using the library features you've learned from the first part. The online bookstore covers table manipulation including sorting, row highlighting, filtering, collapsing, pagination, forms validation, shufflers, rotators and image carousel. The book is simply loaded with a lot of reusable code.

In terms of writing style or educational method, the way the authors explain the step by step tutorials and how-to have a thorough presentation of the library features. However, sometimes it distract the overall picture of problem solving at hand. This by no means is a criticism, however I personally do not analyse programming problems this way. The steps evolve so much that you may not see step 1 or 2 in the final code in step 10. Steps 1 or 2 are just library features that the authors are presenting to you, and thoroughly explains the better alternative solution that you need refactoring.

In a way you can read how the authors reason hence you need to follow each step at a time otherwise you might get lost because I found myself reading back the previous pages as I thought they were important but actually they're not. This is merely presentation of solutions and is actually a comprehensive discussion. In this sense you can tell that the how-to exercises are well thought of and thorough albeit distracting at times.

Tuesday, January 26, 2010

Hibernate Quickly - Patrick Peak and Nick Heudecker

Hibernate Quickly is a disaster! I have read many 'Quickly' series over the years and one of which was XSLT Quickly and they have all been good reads, so I was very excited to get my hands on this one - but was just as quickly disappointed.

This was a great opportunity wasted, the authors made a big mess of this book and in the process have dragged the 'Quickly' name through the mud. First off, it was impossible to get even the first example to work and the downloadable source code was different from what was demonstrated in the book.

See the whole review here >>

Friday, January 22, 2010

GWT in Practice


This is an excellent book for learning GWT, but it does assume some background knowledge in other topics, so it is not the simplest book.

I personally found that this book mentions and uses many design patterns, but if you have never studied design patterns (as a fair amount of computer scientists have not), then this book could be pretty difficult to follow.

However, if you do understand design patterns, then you will know what the author is talking about and realize that all of the sample programs and apps that are designed are truly designed well. The author shows how to use and combine great coding techniques and patterns to develop a strong application that is flexible and extensible.

Because of some of these assumptions, the textbook can be confusing, but if you do have the knowledge that is assumed, then this is an EXCELLENT textbook.

(For design patterns, I recommend the book Head First Design Patterns - it is an excellent book that covers the major design patterns and is quite enjoyable to read. You will learn all the patterns needed in that book to be able to follow GWT In Practice).

If you are looking to just make some simple apps in GWT but are not aiming for flexible, commercial level software, then you might want to look elsewhere for other textbooks. GWT In Action is much easier to follow, although it is a little dated now. However, it covers the basics of GWT which (at the time of this review) have not changed.

Thursday, January 21, 2010

You Are Not a Gadget: A Manifesto


In his book You Are Not a Gadget: A Manifesto, Jaron Lanier becomes a solitary voice in the wilderness shouting as loudly as he can that all is not well with the virtual world nor with the tools that make the virtual world possible....software and computers. That this book was written by an insider from the world of the Internet should get everyone's attention.

Jaron Lanier is a household name for those who follow the world of computers and virtual reality and his book is nothing more than a manifesto warning us that there is a dark side to the Internet. Even innocuous websites such as Facebook and Google, "lords of the cloud" do not escape Lanier's expose. "Emphasizing the crowd means de-emphasizing individual humans" and that, in the end, leads to "mob" behavior. Utterly true.

As I flipped through the book, the point that resonated most loudly to me was the impact `anonymity' has had on our virtual world (and maybe the real world as well). I can remember visiting a chat room that was dedicated to "Books and Literature" in 2000 or 2001. As a librarian I was naturally drawn to a space that I thought would be filled with others like me who had a love of the written word and for good books. Did that assumption back fire? You bet! What I found was a chat area filled with virtual people who wanted to chat about anything but books and literature. If I were to post a question about what people were reading or what they thought of a given book I was torn (virtually) from limb to limb.

Having served in the military I have a pretty good operational understanding of foul language, and I'm pretty good at throwing the words around when necessary. However, that this language would be used in that particular venue by people who could remain anonymous was a shock. I'm pretty certain that most of the visitors to that website hadn't read a book in years and had no problem violating the most basic rules of civility. Lanier is correct when he argues that this is not a step in the right direction. (Please forgive this personal observation)

Obviously I'm a fan of the virtual world. I post reviews online for free (which is another point Lanier makes) but the joy isn't the posting of reviews but in reading the books; real books. What Lanier has to say should be of interest to all of us.

You Are Not a Gadget is written for the ordinary reader with a minimal background in computers. Lanier floats from idea to idea not necessarily fully exploring a point, but instead simply raising an issue and then moving on. Very effective!

I predict that You Are Not a Gadget is destined to become a cultural icon in the future. We now point to books such as Silent Spring by Rachel Carson and I'm Ok, You're Ok by Dr. Thomas Harris as books that changed society and altered the future. I suspect that You Are Not a Gadget may become that type of sign post.

I highly recommend.

Peace always.

Tuesday, January 05, 2010

Python Web Development with Django

I got turned on to Django after reading an OReily book on Google App Engine. I ordered this book, and another to get more of a feeling for Django development.

I really like this book. It gives a fair "heads up" on Python at the start, but you really need to know the Python language prior to tackling Django, so I would strongly recommend first picking up a good book on Python and getting familiar with the language first.

That being said, the book covers an entry level feel of Django version 1. The author takes you through all the basics, and I felt that the book was worth the money I spent ( I tend to purchase books from Amazon resellers as you often get books for WAY cheaper ).

This is not what I would consider an Advanced or even Intermediary book on Django. But, as I said earlier, to "get" it, you need to know Python. You also should be comfortable with some other web frameworks. It will make absorbing the information easier.

When it comes to Django books available, I consider this one of the better ones that I have seen thus far. Could it be better? There are some things I would like to have seen, but this is the case with anything. The bottom line is, did I learn from it. The answer is, Yes.

Sunday, January 03, 2010

Panasonic Lumix DMC-FZ35 12.1MP Digital Camera with 18x POWER Optical Image Stabilized Zoom and 2.7 inch LCD

All the reviews are right, Panasonic Lumix DMC-FZ35 camera is really nice. I could go on and say all the positive things others have already mentioned, but I'll just list some very minor negatives.

1) Sometimes the camera's auto white balance arbitrarily makes the pictures overly warm, which is fixable in many ways, but if you are just shooting along in iA mode, some of your pictures will come out orange-ish. I had the same issue with my FZ28 as well.


2) The flash must be deployed manually. In other words, if the camera's sensors detect / determine that a shot could use the flash, it can't automatically pop the flash up for you, you have to press the mechanical release button yourself. Some may not see this as an issue, but for me, if the shot will come out better with a flash, and I'm in "intelligent auto" mode, shouldn't it be smart enough and automatic enough to use the flash automatically?


3) The battery life is good, but not amazing. You'll probably have enough juice in one battery to photo / video one, 2 to 3 hour event (although not continuously). However, if you are going on a day-long tour or something, you'll need a spare battery for sure. (By the way, the Lenmar DLP006 battery sold here on Amazon works great, I have 3... no difference from the official battery as far as I can tell).


4) It's not a pocket camera in the slightest, nor is it trying to be one... but I thought I'd mention this to people considering this as their ONLY camera. If you think it's too bulky to lug-around with you and you leave it behind, you'll miss great photos. My wife always has a small L19 Nikon pocket camera in her purse for less formal / everyday events / impromptu shooting.


PRO-TIP: One of the biggest tips I can give people when they try to use digital cameras to take quick pictures (kids in motion, pets, sports, etc) is to pre-focus. Holding down the shutter ("take the picture" button) half-way (half-press) a few seconds before the magic moment happens allows you to snap that picture off in a fraction of a second. What it does is the camera gathers all the focus and other info it needs in order to be "automatic" when you half-press... then, when you fully click it down it just records the light coming in the lens. It doesn't need to calculate / measure / determine, etc... so bottom line... Want to capture your kid in that split second they are laughing? PRE-FOCUS WITH A HALF-PRESS a couple seconds before, then fully click it in that exact moment... that's the secret to getting fast, DSLR-like speed.


FINAL WORD: Awesome camera. The above are super minor points that shouldn't really sway you away.


p.s. In my opinion it would be nice if the next version of this camera (FZ42?) had a larger 3" LCD that articulated (moved around on an arm), automatically deployed flash pop-up, automatic lens cap / cover, recorded 1080p video, uses standard AA-sized batteries (NiMH, Li-Ion 14500, Lithium primaries, and in a pinch, Alkalines) instead of a proprietary battery (although I'm glad they don't lock-out 3rd party batteries like they do with the ZS3), a bit quicker to respond zoom (it's a bit sluggish to get going on the FZ28 & 35 models, and I wouldn't mind if the camera was a bit less "light-plasticy" feeling (although there's something to be said about the benefits of it being light), it just doesn't psychologically feel solid / hefty / quality, if you can pick up what I'm lay'in down. Oh, and if they could smooth out some of the Engrish in the menus, that would be a plus too. Panasonic, are you listening?
Related Posts with Thumbnails