terça-feira, 30 de março de 2010

For those that like to post videos and presentations

Hi all! There is a new portal (at least for me) that you can post your presentations with the presentation itself.

Let's suppose that you participated of an event with a speech and want to put it online, so in the same time that you say you can sincronize your "wonderful" power point!

Check it out: Parleys.com

I will be waiting for your content there!

segunda-feira, 29 de março de 2010

New IDE concept. Finally something new!

Last Saturday I was having breakfast with IT posts and I found this really interesting post Code bubbles. Ide Revolution.

The post is an interview with the guy that is working on this IDE concept as a thesis. The interview is a little bit long so if you want to go directly to the point and see what it is about take a look in the video available in the project overview page, or for those unable to see the video here is the details page with some images and explanation.

Hope you enjoy it. New ideas for the new week!

sexta-feira, 26 de março de 2010

Jazz

Today I am going to move from the usual coding subjects to something more related to process. I guess that the Rational suite is well know for most of us, together with the Rational suite there is the Unified Process concept (in a creational point of view: first the man created the Unified Process, he looked and it was not that good, then he created the RUP and it was ok, but the desire for more make him create the Rational suite – and now he is ashamed for the rest of his life).

I am not here to discuss the quality of the Rational Suite (which I am not a fan) or the Unified Process (which I am sure is misunderstand process), but I want to bring to you a new initiative from IBM the Jazz.

According to the IBM Jazz website, this initiative could be define as: "…Jazz is an initiative to transform software delivery by making it more collaborative, productive and transparent, through integration of information and tasks across the phases of the software lifecycle".

Jazz is a set of concepts and, of course, a group of IBM products; you can think about those products as an evolution of some Rational products. But in this case I guess with some major differences (in the direction of the Sun): it has an open source architecture, which means that you can plug any external software to work with it (open ground to open source software) and it has a community portal. The portal has a lot of information, so you do not get stuck with some guru-guys saying what should be done and what not, no more high cost guys or information blockage. I am not saying that everything is for free, but the community can grow by itself.

A nice set of products, the community process is not new, but is always good to see people getting into it, mainly in the area of process where the community idea is not really easy to accept. But the most important part, in my humble point of view, is the move to some agile process. You absolutely do not see anything in the Jazz.net saying about Scrum, Agile, and so on, that is absolutely true – what is ok because it is just products and you can use it with the process that you like most.

If you watch the videos in the portal you will notice what I am talking about. For example this video: the Collaborative ALM Demo – The Jazz Revolution tells a nice story that has a happy end because of the Jazz. But is it true? I don't think so; I have counted 2 times the agile word, 2 times continuum integration and 14 times the Iteration word, plus N points in this iteration and so on. If it is not something similar to Scrum I don't know what it is.

The point here is: nice tools help but do not solve our problems and the same time that short iterations, real scope review, communication, real information that serves as input for the work, test cases and other stuffs that makes the big wheel turn helps much more.

In a more philosophical way of thinking: a beautiful ring (the tool) is still just a ring without a gentle hand (the process) to have it, and I can imagine much more uses for a gentle hand than to a ring.

sexta-feira, 19 de março de 2010

Initial Experience

Yesterday we "finally" deployed in production a version of the software that took quite a long time to go. And thinking about it come to my mind a article that I read in IBM portal talking about Initial Experience.

When we find ourselves developing software for "internal" costumers is quite easy to forget that your software could cause a good/bad impression at the user, mainly if it is a brand new software, or those long time expected releases. The common thought is: why should we botter about it when the costumer has just one option: accept it or accept it; but thinking in this way doesn't make your product better I can insure you.

A serie of articles from IBM bring some ideas about this Inital experience of the users with the software. The initial experience is just a relation between the user expectation with the product and what he really get from it.

For sure it is not a simple matter, because we have differente level of users, uses of them in the product and so on, for example: is this user a novice or an expert?
Which are the factors that we should consider in this inital experience? And so on.

So take a look in the articles, read about it and next time that you are going to make a deploy of something new, think about it. It could be the difference between a easy life in the following weeks or the opening of the hell's gates.

IBM Design: Inital experience

And remember: the first kiss is that really matters ;-) Nice weekend.

segunda-feira, 8 de março de 2010

Thoughts about Document Oriented Databases

These last two weeks I have read many articles about Document-Oriented databases, for sure they have potential and also it is true that it is not the panacea to all our problems.

After so many readings I started to think about some scenarios were this kind of databases could be applied in a efficient way. Efficient way is a too generic definition, so before highlighting the scenario I would like to clarify the elements that I would like to investigate.

I want to divide it in two parts: developing and performance. In the developing area I want to find out:
  1. The effort to create the access layer;
  2. Due the document/object changes across the time, how much is the effort to migrate the data? Is it necessary to migrate the data or can we have a base with different documents version?

In the performance area I want to find out:
  1. How much time is spent in a single insert?
  2. How much time is spent in a single update?
  3. How many concurrency inserts can I have?
  4. How many concurrency updates can I have?
  5. How fast is a list query of the documents ?
  6. How fast is a list query of the documents during a sequence of inserts?
  7. How fast is a list query of the documents during a sequence of updates?
  8. Execute all those performance tests in a single node DB and a multi node DB.

With this analisys I would expect to have a better understanding of the Document-Oriented model, in development area and in the application runtime.

Ok. Now is time to define the scenario that I would like to evaluate this parameters. Let's suppose that you have an application that is a workflow based in a document.
This document is a set of information offered to your user/client, and as expected this document has a structure (as complex as your business). Let's ignore the workflow part and stick in the document.
  • We need to have the basic 4 operations for the document: create, read, update and delete (CRUD), plus a view of the list of the documents (with a small set of the data);
  • All the CRUD operation is executed at the document level and not at parts of the document;
  • The whole application uses the this base API, so every update/insert is make in the complete document.
  • It is done like this to simplify the API and due the fact the user interface to insert/update the information is build at runtime (I can have everything or just few fields).
Well this is the base scenario that I would like to investigate, it is because in my point of view the Document-Oriented database would fit here much better than the standard relational database.

In the next post I will step into the document definition and the user stories that I would like to implement in order to start the investigation.

See you soon.

sexta-feira, 5 de março de 2010

Opinion about NoSQL coming from a DB guy

This week I didn't have much time to write a nice blog, some ideas but nothing concrete. As usual on Friday I am trying to post something more light, so today I am going to post a presentation of Brian Aker about the NoSQL trend.
It is a 7 minutes video with some jokes about this idea.



Enjoy it :-)

segunda-feira, 1 de março de 2010

When the code talk to you...

People say that we can find the answer for our question in the smallest thing of the life, that could be true, but what should we do when instead of answer we find questions? And when those questions are in the code that you are working with? What should we do?

From time to time I find some questions in the comments of the code, I always look at it wondering if someone will ever answer them, or even if I answer it then someone will read it? Will I get another question? Will the code chat with me?

As I don't pretend to have all the answer of the world I am posting some questions here, so you all could help me with this important task: answer questions posted in code comments!









And remember: don't let your code without answer, so if you find any question flying around, please answer it or send it to me. I will post it here and then we can answer all those questions, once the question about the life, universe and everything else is already answered (and everyone knows that it is 42).

Have a nice week.