Tuesday, August 16, 2011

NetBeans IDE 7 Cookbok: a review

After three intense weeks, the last one of which spent tiling floors (I definitely need to improve my speed as a tiler), I've finally been able to complete the review of the "NetBeans IDE 7 Cookbook" by Rhawi Dantas published by Packt.

The book is a collection of recipes (quoting from the text)

...for everyone that wants to try NetBeans or is beginning with a new technology and would like an uncomplicated way to setup and start coding.

Each recipe consists of four different sections:
  1. Getting ready: it tells you what you will need to follow the recipe (a sort of ingredients list)
  2. How to do it: the recipe itself
  3. How it works: an explanation of what is going on behind the curtains (or should I say in the larder?)
  4. There's more: slight variations or new insights (try adding more red hot chili pepper)
Before delving into the actual review, a disclaimer is due. I am a NetBeans Certified Specialist, and I have used it since it was not NetBeans yet, so I'm not exactly the intended target for the book and I might get extra critic (did I say "might"? I surely will). That said... let's tuck in (we're talking about recipes, so the bad pun is intended).

As I said, the book uses a very clear font and has very good and detailed pictures that help you follow the recipes. Sometimes they are a little different from the actual ones, but that is probably due to the fast pacing changes of the software, and this is never a real problem.

All explanations are clear and easy to follow, even if some are too simplistic, of the kind that makes you say "so what?". The most annoying thing are the uncountable typos, which are in no way accountable to the author, whose main job is to focus on the content.

I didn't like the recipes structure for different reasons. One of them is that sometimes one or more sections are useless: I really don't expect to find sentences like "...if NetBeans is not currently installed...", what's more I don't expect to see them more than once. Another one is that this structure gives way to a lot of repetitions, which as a (good lazy) developer I try to avoid whenever I can. This is particularly obvious in recipes strictly based on the previous ones. A simple organization in linear chapters would have been much better.

Another thing I didn't like is the organization of chapters: why wait until chapter 9 for refactoring and until chapter 11 to write about tests, moreover mixed with profiling? In chapter 9 it is said "..refactoring could break code...", and where can you find a better place to introduce tests? (this is a rhetoric question, so if you're answering "chapter 11" either you're wrong or I badly am).

The old but still good NetBeans IDE Field Guide had a very different first chapter, which I really appreciated: this is where you get NetBeans, this is how you install it, this is how you create a project, this is how you run it. New class, new method, new test class, debugging. A few pages and you've covered most of what you'll ever need. And you never have to get back on it.

On the other hand, here I have to wait 200 pages to find that CTRL+R renames almost everything, and a lot of refactoring are forgotten. And the preview option is discussed only ahead in the chapter instead of with the first refactoring.

Another thing I didn't like is a chapter that requires version 6.9: if this is a cookbook based on version 7 you should stick with it, at the most mentioning the fact that the previous version also supported JavaFX. There are so many things that are not supported anymore that could fill another book. By the way, when will we have Struts2 natively integrated instead of Struts1?

Leaving aside the fact that the chapter on version control does not deal with cvs (ops... did I write it aloud?) I was a little disappointed by the fact that most of the interesting things about the IDE are never mentioned: how do I start it with a different JVM? how can I configure projects for each developer's unique environment? (I know it is an antipattern, but it happens even in the best families). What are libraries in the NetBeans vocabulary (a hint: they are not jars) and how do you manually edit them? Shall we talk about the very powerful editor? where are code templates, except for the python example in chapter 10 in which is never said how to distribute your plugin or what the NetBeans Platform is? Can I only generate a web service from an EJB? (another rhetoric question). And many, many more.

All in all, the book is not that bad, but in my grumpy-old-man biased opinion it does not get past a 3 out of 5. Obviously you don't have to entirely rely on my words, as you can download the free chapter on EJB which you can use as a means to get a general impression.

Thursday, July 28, 2011

Coming soon: a review on NetBeans IDE 7 Cookbook

NetBeans users (and curious) stay tuned, I'll be soon reviewing the "NetBeans IDE 7 Cookbook" by Rhawi Dantas published by Packt.

I received it yesterday and the first impression is good, there are many clear images and it seems very easily readable, with nice and untiring fonts - as you can easily verify taking a peek at the free chapter on EJB (which only has the little annoyance of being distributed in black and white while my e-book comes in full color). Yet, it's a little bit too early to say something about the content :-)

This is the first book on the subject I read since NetBeans IDE Field Guide was published in far 2006, so a comparison seems due. You may freely skip the rest of my rants and check for updates in about three weeks.

Wednesday, July 27, 2011

Our submissions for Italian Agile Day 2011

After breaking the ice at WhyMCA Paolo and I decided to submit a talk for the 8th Italian Agile Day which will be held in Rome on november 19, 2011. Then we lost a bit of control of the situation and submitted three :-)

Unlike most of the presentations we have seen delivered in the previous editions, mainly about technology and methods, which are the expected core subjects of the conference, we have submitted a proposal for a talk about business aspects.

We still don't know whether one or more of our presentations will be accepted; at the moment they're in for the perfection game, in which other submitters and the organizers can give their feedback on the title and the abstract of our talk to help us improve them (or to rule us out).

The abstract so far:

Startup without falldown: strategic planning beyond wishful thinking

Creating an app, even if successful, does not mean creating a startup. A startup serves the purpose of discovering and validating a sustainable business model, so the first thing your financial backers ask you is a business plan.

The best way to create one is to dice a little (the best dice are the multi-sided ones used in D&D as they add a nice variance to the results) and put the outcomes on an Excel file, possibly coupled with a presentation filled with bullet points, incomprehensible charts and never ending description blended with bad quality images.

And then? then you clash with the market.

Luckily there are alternative tools: together we'll see how to combine customer development and the business model canvas to analyze the business and to validate the chosen model.

Read all about our other proposals on Paolo's blog.

Wednesday, July 20, 2011

A little bit of customer development

After having a great fun at WhyMCA, Paolo and I are thinking of submitting a proposal for a speech for the 8th Italian Agile Day. Up to now we have two or three ideas, but, eating our own food, we should "get out of the building" and test the market to verify our hypotheses.

Up to now, we're interested in a business oriented talk and in prototyping. Maybe Alessandro will join us as well on the latter.

More on this will follow, but if there are any subjects you'd like us to speak about please let us know. If once was enough, or even too much, please let us know as well :-)

Tuesday, July 19, 2011

Italian Agile Day 2011!

Even an earlier bird than I was last year, I'm happy to announce that the 8th Italian Agile Day will be held in Rome on November 19, 2011.


It is a one day free conference on Lean Development and Agile methods for developing and managing software project aimed at developers, project leaders, IT managers, testers, architects and coaches with experiences to share or that are just beginning to dip into these themes.

Its declared aim is to share practical knowledge, experiences on the field and achieve an active involvement by all the participants.

Free access upon registration, limited seats. For the fifth time running, the event will be self-financed.

Monday, July 11, 2011

Fat

And the whole world knows I'm fat and I'm proud
Just tell me once again who's fat

There are only two kinds of people

Those who can extrapolate from incomplete data