Showing posts with label Book Reviews. Show all posts
Showing posts with label Book Reviews. Show all posts

Tuesday, 29 November 2011

Mini Review: NHibernate 3 Beginner’s Guide

I’ve recently re-discovered the pleasure of reading in bed, thanks to my new iPad, which, with its backlit screen, allows me to snuggle under the covers with a good book without disturbing my wife. Packt Publishing kindly provided my bedtime reading for the last few nights - NHibernate 3 Beginner's Guide by Dr. Gabriel Nicolas Schenker and Aaron Cure.

nhibernateThis is a book I wish I’d had three years ago. Back then I was sketching designs for a database-heavy application, and I evaluated Nhibernate, but was put off by its steep learning curve, and skimpy documentation. The documentation has improved immensely in the years since, and NHibernate itself has got easier to use, but it can still appear daunting for someone just getting started.

This book makes Nhibernate approachable for the absolute beginner, even one who is relatively new to database technologies. The author explains key concepts carefully, and drives lessons home with plenty of comprehensive step-by-step tutorials.

What I particularly liked was the inclusion of the Nhibernate ecosystem: FluentNhibernate (in my opinion the best mechanism for configuring NHibernate) is given good treatment, as is NHProf, a commercial Nhibernate profiling tool. It was also nice to see an introduction to unit testing NHibernate data access layers.

One area that I did feel was a little weak was the section on setting up mappings. The author gives examples of three different ways in which mappings can be configured, but doesn't cover important aspects like cascading updates in much detail at all – something I’ve been caught out by several times, and an area on which I would have appreciated some friendly guidance when I was starting out. Have a look at NHibernate in Action if you want to dig in more deeply here.

This book definitely goes on my list to recommend to anybody starting out with NHibernate development.

Wednesday, 8 June 2011

Book Review: Brilliant Freelancer

book-brilliant-freelancerI had a pleasant surprise last Tuesday: an email from Leif Kendall congratulating me on winning a copy of his book, Brilliant Freelancer.

The vividly coloured volume duly arrived on Saturday, and on Monday kept me pleasantly occupied on a journey from Birmingham up to London, and part of the way home again, leaving me with enough time to jot down my impressions before getting off the train.

I’d recommend this book to anyone hesitating on the brink of a freelance career, or those who have just taken the plunge. If, like me, you’ve hitherto been consumed by coding, or whatever it is that specialists in your field do, Brilliant Freelancer will open your eyes to everything else that is involved in running a micro-business. But it will turn up the lights gently so you don’t get scared off the prospect for good.

The books starts by helping you think through your suitability to be a freelancer, then talks you through making the transition from employment to being your own boss. It gives advice on how to find work through sales and marketing (including chapters on blogging and networking), how to price your work, and how to manage clients when you’ve got them.

You may be be asking yourself how you’ll get anything done without a boss to crack the whip – and Leif has thoughtfully included a chapter on Motivation. If you have the opposite problem, and can’t get enough of the drug called work, Dr Kendall is there to remind you (in a chapter entitled Healthy Body, Healthy mind) that “You’re selling you, so look after your product”.

Don't think of 'marketing' as a nefarious activity conducted by spivs and double-glazing companies. Marketing means to take your goods to market. You would not consider farmers evil for taking their wares to the market, so don't consider yourself evil for doing the same.

Leif Kendall, Brilliant Freelancer

There’s one part of the book that I feel could be expanded, and that is in the financial department. Book-keeping, after all, is the one part of every business that’s mandated by law. Brilliant Freelancer does little more than skim the surface here, and at the very least could do with some recommendations for further reading.

With his easy-going style, no-nonsense advice, and flashes of humour, Leif presents himself as the wise friend who has seen it all before. He’s not afraid to point out where you’ll find the going tough, but he’s equally quick to highlight the potential rewards.

Perhaps you’ve been thinking about setting up on your own? If so, this book is for you. Check out the website (you can read a chapter for free), or buy the book on Amazon.

Thursday, 3 April 2008

Book Review: Pro LINQ

Pro LINQ: Language Integrated Query in C#2008Image by Joseph C. Rattz, Jr. Rating: 3 out of 5.

I ordered a copy of Pro LINQ just before Christmas for a colleague who needed to get up to speed with C#3.0 for our most recent project. I got my hands on it a little while back, and thought it would make for a topical first book review for the blog.

Pro Linq aims to cover all the new Language Integrated Query features that have been introduced into .Net 3.5, from a C# perspective. After a brief chapter painting a picture of the new LINQ landscape, it kicks off with an introduction to the new language features in C# 3.0. Then follow sections on LINQ to Objects, LINQ to XML, the oft-forgotten LINQ to DataSet, concluding with LINQ to SQL. It would have been interesting to hear about LINQ to Entities, but the author, reasonably enough, declared that outside the scope of his book.

The author declares that his book "is all about code". And in fact it is organised around code. Most of each section is organised around the methods and properties of the LINQ classes.

What I liked

On the whole I found Pro LINQ easy to read. The author has a conversational style, and gives reasonably clear explanations.

There's a thorough, exhaustive (though some might say exhausting!) reference of all the new LINQ APIs in every area mentioned above.

The most useful section for me was the one covering LINQ to SQL. After covering all the basics, it goes into some detail about the harder aspects like handling concurrency conflicts.

Right at the beginning of the book, the author has included a "Tips to Get you started" section listing common pitfalls.

What I didn't like

Given that LINQ is so revolutionary, I finished the book feeling rather uninspired, despite my own enthusiasm for the subject. I think this was partly the fault of the examples used. I can appreciate that it must be very hard to create something fresh for everything you want to illustrate, but I felt the author could have come up with something more imaginative than filtering a list of US Presidents, for example.

What I would have liked to have seen were examples of the different parts of LINQ working together. Most of the samples dealt with just one concept at a time (which I know is how it needs to be to get started) but the excitement comes from putting everything together, and we never really got to that point.

There was also a lot of repetitiveness. This book has an example for almost every overload of every Enumerable class extension method, and not much variation in the examples either. And do we really need the console output of every code sample? These things made a lot of the book read like MSDN. The fact that under every method, the author had listed Exceptions that might be thrown by the method just added to the feeling that I might be better off reading through the online help.

Don't expect either to find in this book much about deeper considerations: when to use LINQ, or when to avoid it; how well the LINQ APIs perform, or indeed how they work; or anything about the bigger picture of Functional Programming is. This book doesn't get much beyond the limited picture of what the LINQ APIs are, and how to call them.

Conclusion

I'm afraid the last few paragraphs sound negative: that's because I had high hopes for this book, but came away dissapointed. It is certainly useful, and I'll pass it around the office for people getting started, but I expect that I'll find a replacement before long. Hopefully one that talks more about the why and the when, not just the what and the how.