Archive for September, 2007

Javaday 2007: Turin setup is almost over

Sunday, September 30th, 2007

I don’t think I should talk about that now, but since it’s a common marketing practice to introduce things while they are “almost” done (the mythical beta!) here you can download the draft of the brochure and here you can get to the website. Do not bookmark it as in the following days the official web addres will pop up: http://www.javadaytorino.com

DB: it’s a matter of balance

Saturday, September 29th, 2007

It was since the beginning of my career as a software developer that I’ve seen too many devs building their so called OO apps on top of some database.

I mean those apps were nothing without a DB and things like event notifications were done (”are” done, actually) through the db: some polling task looking at a table for new things to do.

Every of these projects has a common pattern:

  1. they are started thinking at the database, and the objects structure and hierarchy is a consequence of the relational structure of the tables
  2. db fans have built a perfectly normalized db, but it is slow: too many “joins”, indexes that cannot be created because the DBAs fear the loss of speed (remember: fear is a consequence of ignorance. If you fear something, you don’t know something). DBAs de-normalize the db, keeping it in sync through stored procedures and triggers.
  3. the customer asks for some new feature that would have been just as simple as a decorator, BUT since your object hierarchy is still reflecting the DB structure, you realize very soon that you would need to modify a couple of different classes instead than adding one. And because you fear (fear! again) to modify your code, you ask the DBA to adapt the DB structure to your needs: and so views, stored procedures and functions start to pop up like pustules.
  4. step 3 is repeated ad nauseam for a whole year or so. The team is exhausted by the continous effort put on maintaining the app (that’s what I call “kick programming”, that’s stacking quick, dirty and violent solutions to small problems). Some of the older team members leave as they like to be programmers, not maintainers. Junior developers replace them, and things go worse, as a junior may not have enough experience and being new to the team means he/she doesn’t know the app well enough to keep on maintaining it even at the low quality level of the old programmers.
  5. I still don’t know, I’ve never seen that, but I know there is still some fifth point. Maybe the project is kept on by people who “just code”, continously patching the whole thing. Maybe the project dies. Maybe something else…

All this mess JUST because someone has given the DB more importance than it deserves.

Remember: a database is a place where you put things when you leave the office, because you’ll need them the day after. Period.

It’s a base to put data on: no logic, no influence on the project.

Have you ever thought at your desk drawer as a player in your project management or design process? I don’t think so.

ITA: Slogan Acqua S.Rubinetto

Tuesday, September 18th, 2007

Partorito mentre bevevo:

Acqua S. Rubinetto: l’acqua che elimina le bottiglie d’acqua

Carina eh? Dai… a me piace

ITA: Oggi è il V-Day

Saturday, September 8th, 2007

No, ma dico… che cavolo state facendo lì seduti? Eh?

ITA: JUG Torino Meeting di Settembre

Wednesday, September 5th, 2007

Quando sono tornato a Torino, mi sono ripromesso di non perdere i contatti con il JUG di Milano (dove è nata la mia passione javista e per le cose fatte bene).

Purtroppo i tempi non sempre permettono di fare tutto ciò che si vuole: fu così che mi persi uno speech molto interessante su Google Web Toolkit (interessante perchè, avendone tenuto uno su Echo2 ed essendo l’approccio di quest’ultimo opposto a quello di GWT, non volevo perdere l’occasione per qualche domandina provocatoria!)

Ma se Maometto non va alla montagna, sarà ben la montagna a raggiungere Maometto!

E allora, il 21 Settembre, presso la sede della CSP in Corso Svizzera, ci sarà il meeting del JUG Torino con in scaletta, insieme ad Hudson (Bruno Bossola), GWT (tenuto dallo stesso Gian Carlo Pace che allora tenne quello a Milano).

Maggiori dettagli sul wiki del jug.

E’ un venerdì, quindi possiamo fare tardi :)

ITA: BarberaWare

Monday, September 3rd, 2007

Non posso non inoltrarvi questa bella notizia: è nato BarberaWare, SourceForge in bagna càuda

Ciao * ,

Mi permetto di inoltrare questa mail alle liste di tutti gli Users Groups che operano in Piemonte, perche’ e’ proprio agli amanti del software libero della regione pedemontana che rivolgo la mia attenzione.

Negli ultimi mesi i miei soci ed io abbiamo lavorato su una piattaforma di sviluppo collaborativo, raggiungibile presso l’URL http://barberaware.org , rivolta esplicitamente ai developers di freesoftware e con una spiccata passione per le tecnologie open. In breve, ci proponiamo come un modesto SourceForge a livello locale, ed offriamo a tutti coloro che li richiedano servizi per la gestione dei propri progetti rilasciati con licenza libera: spazio web, strumenti ditracking, gestione delle mailing lists, repository SVN e quant’altro.

Per quanto le attivita’ di promozione e diffusione della cultura del software libero siano importantissime, crediamo che il modo migliore di contribuire alla nobile causa della condivisione della conoscenza sia arricchire e perfezionare costantemente il patrimonio di codice e di informazione liberamente fruibili; proprio per questo miriamo a sostenere l’opera di coloro che attivamente, ogni giorno, dedicano il loro tempo e le loro energie nella creazione di applicazioni utili per tutti.
Uno spazio costruito non di parole e buone intenzioni, ma di risorse effettive e di strumenti concreti accessibili ed usabili da tutti.

Per questo, mentre il progetto muove i suoi primi passi, mi rivolgo in primo luogo a coloro che quotidianamente dimostrano passione ed entusiasmo nei confronti del tema del software libero, per raccogliere pareri, commenti, critiche e spunti per migliorare e perfezionare la piattaforma ed i servizi offerti.
Cosa ne pensate dell’idea? E dell’implementazione della stessa? Cosa vi piace di piu’? Cosa modifichereste?

Attendo feedback ;-)