Thursday, June 30, 2005

Java/IT culture

Recently I think I've extended my Java (actually, IT) culture with some good books, this time not directly dealing with java:

Joel on Software Joel on Software
User Interface Design for Programmers


these are beautiful books on software real methodology






Calendrical Calculations


this one I actually bought for my collegues Roberto and Ilaria, who did a great job on developing JBlooming scheduler and calendar module.

The JBlooming mystery


Now, there is a little mistery concerning JBlooming: it is an open source (LGPL) framework with which the Java developer can save hundreds of developers hours and produce really beautiful, ergonomic web applications. Yet we receive no feedback on it; the other Sourceforge project, Teamwork, has an incredible amount of activity, also on the development side. But for a developer, JBlooming can help much more then Teamwork. Strange.

Good and evil in software

As a sort of game, with my friends we started dividing the IT universe in good and evil:

GENERAL LAWS
The rule of the software universe should be: get a lot with little effort.
Things of a sort will pair with things of the same sort.

GOOD
Hibernate, strong typing, intellij, dhtml, jtds and sql server, lucene, abstract support classes, sql, google, caucho resin, the relational model.

IN BETWEEN
Internet explorer, microsoft, firefox.

BAD
Model-view-controller, oracle, bea, xml, ant, ejb, all apache projects, jdeveloper, mysql (apart from utf-8), role-based security, java "final" keywork, java interfaces (causing the evil cast need), custom code, custom projects, lonely programmers, o-o considerations for persistence.


Of course this is quite rough, but it gives an idea on where we stand :-) .

Wednesday, June 29, 2005

Clean

"Clean" is a movie I saw recently, which I loved. Some users comments

Actually the plot is nothing special; but its the ingredients that make it such a charm: the actors, the scenes, the soundtrack (even Maggie Cheung sings beautiful songs).
In some way its a perspective on life, and its sad and beautiful. I don't even know if I can suggest it, as I fear that its fits wery well me, but maybe not others. Its funny that what is there presented as today "indie" music, sounds quite similar to Velvet Underground' 60s music; anyway, its beautiful.

Tuesday, June 28, 2005

European constitution

From a friend from the east:
"Just out of curiosity, i was just reading bout the Euro Constitution and wonder why so many nation against changing it. I mean, some countries voted a no and i gather that there is huge chaos. Local papers didnt explain the purpose for the constitution and the rationale for against. Can you tell me what u think bout it?"

Well, what I think is that the vote against was a colossal mistake. The "constitution" is actually a minimal set of rules, which would have facilitated integration and development. But actually europeans are angry against "europe" because they are angry for the Euro. You see, the advent of Euro forced governments to adopt a realistic finantial policy, instead of leveraging debt and inflation. People just can't count, they believe that the cause was the Euro, and are ignoring the fact that they have now access to loans with incredibly low rates, a finantial stability which before Euro was impossible, and many other advantages. The only hope is time.

Oracle sequences on Hibernate

I've published a new page on Hibernate wiki:

Custom sequences

Saturday, June 25, 2005

Teamwork 2 and 3 going on, and Jblooming on line



We made it for a new release of Teamwork 2: 2.2.18. A lot of new features, can be seen at www.twproject.net
I tried to collect most of the forum's feedback and do what was possible.

Teamwork 3 is proceeding; we improved the general schema, and are developing the resources section. We will soon publish new specifics.
But what is really great is that Jblooming, the first ever productive java framework ( :-) ) is on line with a tutorial, at
www.jblooming.org

Tuesday, June 21, 2005

Productivity in software

As I will have to give two more seminars on software production in the engineering department, I would like to refine my previous notes on software productivity. Now, which are the principles guiding my development ?

Well, the first and actually the only one is quality of the result. This is strictly linked to careful and continuous modeling of the matter at hand. Tools here are a mixture of intuition, practical sense, experience, some formal knowledge, a lot of technical knowledge, and a good object oriented modeling capability. So I assume that modeling is sacred, and most of the energy should be towards this.

By quality I mean a complex notion, which is not quality just from the developer' point of view (which includes the designers'), but also quality from the systemists and customers points of view. And by reactions I don't just mean immediate reaction, but real and satisfied usage of the software for many years. Now from such high ideal may consequences follow, of which at the moment only a few come to mind:

- concentrate on the business model, which may generate an architecture, not on the architecture first
- know the best tools which relive you from syntacticalities
- never write the same concept formlization twice in code
- always use strong typing

Now from these general consideration technical choices follow too. [to be continued]

Thursday, June 16, 2005

Silly ideas on Java

Even if its pure bile, I couldn't agree more:
http://www.jroller.com/page/fate/20050614#java6_delightful_new_features
on more or less the same line, in these days I'm trying to turn the intellij team to a sensible solution to the weird idea of compulsory html validation in intellij. some poster on the eap forum are so foolish to propose that html validation (like forgetting an alt on an img) should be at the same level of importance as the java validity of the resulting servlet, i.e. whether the jsp compiles or not. actually, one says that html validity is MORE important:
http://www.intellij.net/forums/thread.jsp?forum=22&thread=145269&tstart=0&trange=30

Sunday, June 12, 2005

History of Open Lab, part III: people comes and goes

The first person to "go" was "Nino", the shadow former partner of Matteo Bicocchi and his Prospero's books. In fact he never showed in the office, and we got him out of Open Lab with great relief.

In 2003 we started having enough projects in order to consider getting more people to work with us. Moreover the internal task distribution was going really smoothly, and we had managed to finish quite a number of projects. In particular in the end of 2002, Roberto Bicchierai of Rem Software and myself started working together on Teamwork 2, which was to turn from asp to java, and on a Vodaphone web application, which we finished quite successfully. This came to us hrough my friend Felice Carraro of Dada; after that we produced a synchronizing aplication for scientific museums. Hence I presented Open lab to programming students, we started some job interviews, and took two stageurs, one for development and one for promotion; one of these remained (the programming gui; the "commercial" girl was just hopeless), Matteo Rossi, and is to today our best worker.
Teamwork 2 started as a three person project, but fortunately it turned into a two people one, and hence did not follow the unfortunate adventures of Openvista, a society that Rem Software did with "Sesa Group", which lasted a few months; hence Rem hired several people, among which Ameliè Ngantcha, who is going to return to our tale. Others came and went, without getting to shape a stable group.
The graphics department started occasional collaborations with Tommaso Pecchioli.

Friday, June 10, 2005

History of Open Lab, part II -development

From the very start, I organized development around a single build. This way you enforce brief development cycles, constantly refining build process. This line has been essentially preserved up to today, even if company's expansion and project acquisition have endangered and at times compromized this strategy. Now (2005) there is a team of 13 internal developers following my builds, plus a customer using my builds as API. As soon as jblooming is really out, this could get a really large group.

In fact Open Lab has around 100 releaed coomercial software projects, which are in reality all versions of the same application.

This is a great advantage if your aim is developing very few software products; it can be disastrous if your aim is to release custom solutions.

As for what "the" build is made of, this has changed quite in time; we moved from
(2001-2002) asp+access+html, to asp+access+dll, to asp+flash, or asp+flash+xml,
(2003-2004) to java classes + db4o+jsp, to to java classes + hand made o/r mapping+ pet store framework, to java classes + jdo + a simplified pet store ...

Today (2005) wa have our own complete and stable framework, jblooming, whose core is based on hibernate and an original idea of object-oriented/jsp/html combination which makes incredibly powerful display components.

History of Open Lab, part I - trial and error

Open lab was founded in January 2001 in Florence by four partners:
Caterina Feroci, Laura Mirri, Matteo Bicocchi and myself.

We all voluntarily dropped our previous jobs as they didn't seem to have any sense or direction. Our main am was to build beautiful web applications; we still do web applications, I don't know if they are any more that beautiful. They surely are quite practical.
It was great fun just to set up the company; we did most of the interior decoration of our office (in Via Venezia, in Florence center town) by ourselves, and everybody liked it; we did a great opening party, with live music in the office.

Matteo and myself started working together in 2000, when I was employed in another software house; we had fun, and that gave us the idea to start a new company. We had some potential customers, but when we started really setting up the company, we had so much to do, and we were so uncertain about the technology, that we kept telling our potential customers that we would meet later, and later, and later... . When we belived to be ready to start our bigger contract at the time (it was only 11.000 of today's Euros, but for us it was big money), we were months late; so we went to the customer in panic. But to our surprise, they were happy to see us, and not at all angry for our delay; they are happy customers of ours to this day.

In the first two years, the company tried to apply the internal design and development skills in many fields, and in most of them we didn't succeed. We tried internal design, shop design, palace surface decorations; we even tried to put up a company for Beer production! As developers, we tried to produce and sell promotional flash games, in particular a race game to Continental, but it didn't work out; this was unfortunate, as we had a starting agreement with Unit9, a London based company that produces beautiful promotional games.
But stil one of the constant focus was the idea of producing a good web based team management solution: this way teamwork 1 was released. Almost nobody knew that it existed, but it was pretty (we sold 1).

Anyway, we had a vision, and everything else follows from that.

"A dog's got personality: and personality goes a long way" - Pulp Fiction.

Thursday, June 09, 2005

Scheduler

I've almost finished the blooming (www.jblooming.org) implementation of a scheduling engine. It resulted very powerful, using jdk5 multithreading, and a planning api more powerful then the usual java cron calendar implementation. Last but not least, we've built a "xy layout" set of components for the calendar visualizations, which is totally zoomable. See it soon in next Jblooming release!

Friday, June 03, 2005

Europe

The French voted against the least possible European draft of a Constitution :-(. It's hard to believe that a country with such an internationalist, universal intellectual tradition could be so small minded.
In french there is a good word for such behaviour: minable.

After that, the silliest party on earth, the italian Lega, is now proposing a anti Euro referendum. Is so hard to accept that things are really getting worse; in fact its almost against human nature.

Sources of belief

Does anyone really believe that earth is going around the sun ? I doubt it. I don't doubt that if we could follow all the reasoning and experiments of classical astronomy, we would say "earth is going around the sun". but believing it, making it an integral part of our everyday life, seems quite impossible to me; and fortunately so, as it is exactly this layer of beliefs that makes us confident enough in experiments so that we may say "earth is going around the sun". :-)