Archive for the ‘Knowledge’ Category

Going to Javapolis

Saturday, December 8th, 2007

Ready, set, go! In 6 hours from now I’ll officially start my trip to Antwerpen and get my week of professional vacation.

I’ve just set up my agenda (beta version, of course)

Day 1

09:30-12:30 The Zen of Agile Management by David J. Anderson
Open Source ESBs by Tijs Rademakers and Jos Dirksen
13:30-16:30 Google API’s with Dick Wall
Introduction to JRuby with Brian Leonard and Charles Oliver Nutter
16:45-17:15 SoapUI by Ole Matzura (Open-Source)
17:25-17:55 Hudson, a continuous integration system by Kohsuke Kawaguchi, Sun (Open-Source)
20:00-21:00 Agile development of distributed systems with Guy Nirpaz

Day 2

09:30-12:30 Swinging RIA with Richard Bair, Jeanette Winzenburg and Chet Haase
NetBeans and Java EE 5 development by Ludovic Champenois and Lukas Hasik
13:30-16:30 Guidelines and Hints to EJB3 and JPA development with Linda Demichiel and Kenneth Saks
16:45-17:15 A gentle introduction to dependency management with Apache Ivy by Xavier Hanin (Open-Source)
17:25-17:55 Easy GUI testing with FEST by Alex Ruiz & Yvonne Wang Price (Open-Source)
Task-focused programming with Mylyn by Wayne Beaton (Eclipse, Open-Source)
19:00-20:00 Great Java Desktop Apps - can it be done? by Eivind Throndsen
20:00-21:00 OpenLaszlo, From RIA to Ajax and Mobile with Geert Bevin
21:00-22:00 Clustering a Real World Enterprise Application by Ugo Landini and Sergio Bossa

Day 3

09:30-11:30 HOLE
12:00-13:00 Guice by Bob Lee
OpenJDK - The First Year by Mark Reinhold
14:00-15:00 HOLE
15:10-16:10 JSR 316 - Java Platform Enterprise Edition 6 Specification by Roberto Chinnici
Java persistence - a Heretic’s demonstration by Olivier Caudron
16:40-17:40 JSR 318 - Enterprise JavaBeans 3.1 by Kenneth Saks
Scrum in practice for non-believers by Jannik Persoons and Darek Krzywania
17:50-18:50 The Future of Computing panel with James Gosling, Neal Gafter, Joshua Bloch and Martin Odersky
20:30-21:30 The Closures Saga continues with Neal Gafter

Day 4

09:30-11:30 HOLE
12:00-13:00 Scala by Martin Odersky
14:00-15:00 HOLE
15:10-16:10 ServiceMix by Bruce Snyder
16:40-17:40 Close Customer Collaboration - the BMW case by Johan Lybaert
GlassFish - Bringing *you* a better application server in three steps by Alexis Moussine-Pouchkine
17:50-18:50 The Java Puzzlers by Joshua Bloch and Neal Gafter
JSR 311 - JAX-RS The Java API for RESTful Web Services by Paul Sandoz
21:30-22:30 New Java Language Features with Neal Gafter and Joshua Bloch

Day 5

09:30-10:30 A Kanban System for Software Engineering by David J. Anderson
10:30-11:30 Evolving Agile by Scott Ambler
12:00-13:00 Real Options in a nutshell by Olav Maassen and Chris Matts
OSGi, the future of Java? by Peter Kriens
13:00-14:00 Test Driven Development, Beyond the Acronyms by Lasse Koskela

See you next week!

TED: ideas worth spreading

Saturday, December 8th, 2007

When it happens you are having a break between two sets of pomodori, you don’t want another coffee, you don’t want to read IT blogs BUT you like to enjoy your time with some science or environment or philosophy, then TED is definitely the right place.

I’ve missed last three months of talks (because of my new job), so this evening I decided to have a look at it and found a very nice video that I invite you to watch. 16 mins, so it’s even easy to take.

Multicore is here to stay, definitely

Sunday, November 18th, 2007

If you, like me, have ever wondered if this multicore kind of hype was worth the money, after watching this video you will definitely find the answer.

To sum up: if a processor running at full power is giving you 100% of itself, it happens that running at half the power it still gives you an 80%. So, by combining two processors and running them at half power, we consume as much electricity as one processor at full power but we gain 160%.

But the most interesting thing is the heterogeneous processor: one processor made of few “big” cores (like the one we use today) and a bunch of tiny little cores (like a dozen of 486). It would be able to perform well and consume “normally” with old-style apps (long, single thread computations) and to perform well and consume less with new-style apps (short, parallel computations).

My personal goal now is to start thinking “parallel”. How could I do that while working on the server side?

A full week is over, full weeks ahead…

Tuesday, November 13th, 2007

I’ve never been so busy as I am during these ending months!

Apart from the daily job (I’ll blog about it the next few days), last weekend I took part at the local Linux Installation Party.

Thanks to Cascina Rocca Franca (a very nice public place in Turin, made to help people meet and hold courses about almost everything) we set up our notebooks, desktops, empty CD/DVD piles, cables and so on to give help to some tens of newbies and questionings.
You know, the more I do things like this (presentations, LIPs, linux/java/etc day) the more I like them. I can’t explain my feelings when some unknown person says me “thank you”. If you can get the opportunity to do something similar, do that! Your ego will greatly enjoy it!

Anyway, Sunday was time for “Fa la cosa giusta” (”Do the right thing”, in english). Again, a great time. I’ve spent about 3 hours walking around, speaking with representatives from various associations and companies.
It was all around the ethical and environmental side of life: thinking twice when buying something, ignoring the cool adv girls. Ethical, social and environment friendly turism, finance, banking, washing, eating, dressing… and energy, of course.
Indeed, an energy provider was the most interesting part of the fair.
La220 is an italian energy provider with various fares: one of them (the “green” one) claims to come completely from renewable resources, solar in particular. Such claim is certified by Legambiente, the most important environmentalist association in Italy.
I think in two months at most they will become my energy provider.

And for the next weeks? Uh, a crowd of students and Javapolis, at Antwerp, together with Filippo, Guido, Luca and Bruno.

ITA: il Linux day milanese ti cerca!

Thursday, October 11th, 2007

Vi copio/incollo la richiesta di aiuto di Francesco Cariati del MiLUG relativo all’organizzazione dell’edizione milanese del Linux Day. Se potete dare una mano, metteteci qualche ora delle vostre! Nel frattempo io prenderò parte all’edizione torinese come speaker

Ciao,
abbiamo assolutamente bisogno di risorse umane per il Linux Day 2007 a Milano (ad esempio vi copia-incollo in calce una delle richieste), chiunque pensa di avere anche solo 1-2 ore da dedicare al LinuxDay il 26 ottobre (serata preparazione evento) o il 27 (evento vero e proprio), per favore si iscriva alla ML del LinuxDay (vedi link alla riga successiva) e si offra come volontario, indicando la sua disponibilita’ orario e le preferenze sul lavoro che vorrebbe svolgere

http://www.milug.org/cgi-bin/mailman/listinfo/ml-linuxday

Grazie
Ciao

Segue una delle richieste di aiuto:

Ciao,
come coordinatore della install fest e del network, mi servirebbero delle persone per le seguenti aree:

- aiuto al networking per i visitatori (manca un cavo, il cavo e’ rotto, aiuto non mi va dhclient,…)
-”cuoco” addetto alla “cucina” (ossia una persona che masterizza al momento i vari cd delle distro, assicurando sempre una certa cache di cd gia’ pronti e raccoglie i contributi spese per i cd)
- aiuto per la install fest in qualita’ di tecnico installatore di distribuzioni (quasi sempre ubuntu)

Servirebbe inoltre un aiuto tecnico e fisico il 26 ottobre sera per preparare il LD del giorno dopo, sistemando network, tavoli e altro

Ciao

Amir, ti sto pensando sai? :)

Javaday banner

Saturday, October 6th, 2007

Can you see it on the right? (lower right actually)

All you need to do is to import the following script:

javadaylink.js

I’ve edited the sidebar.php page of my wordpress theme in order to get it as I wanted

Thanks to Fabio!

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: 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 :)