mercoledì 31 agosto 2011

Spirito servile

A causa delle recenti vicende sul bilancio italiano, è diffusa una tesi – che ha avuto perfino eco su “La Stampa” in base alla quale gli italiani sono un popolo inadatto a scegliersi i propri governanti, e per i quali sarebbe necessario essere governati dai tedeschi o dagli svedesi (qui un esempio di queste proposte).

La logica è, notoriamente, materia noiosa. Si afferma che gli italiani sono inadatti a scegliere da chi farsi governare, ed è buffissimo che a farlo siano coloro che accusano il nostro attuale PdC di essere un dittatore.

Ossia, questi personaggi riescono ad affermare simultaneamente, senza sentirsi in contraddizione, che:

- gli italiani non sanno scegliere i propri governanti, quindi hanno bisogno di qualcun altro che scelga al posto loro

- il nostro PdC è accusato di golpe, ossia di cercare di ottenere il potere al di fuori del consenso democratico.

Al di là dello spirito servile che queste affermazioni evidenziano, sorge una domanda piuttosto spontanea: se alcune persone ritengono di essere incapaci di governarsi, perchè non propongono semplicemente una dittatura? O perchè non rinunciano a votare?

domenica 20 marzo 2011

La Libia Liberata (tm)

(da uno che fa finta di assomigliarmi)


Facciamo un ragionamento, giusto per mettere due idee sulla carta.

A seguito delle rivolte che ci sono state in medio oriente, qualcuno, che ancora non si sa bene chi sia, ha deciso che fosse ora di buttare giù Gheddafi.
Gheddafi è un dittatore, e su questo siamo d'accordo; ma è il legittimo governante della Libia; tanto è vero che siede nell'ONU e in non so quante altre organizzazioni, e nessuno si è mai sognato di spiegare che non ci dovesse stare.

Il legittimo governante della Libia, a questo punto, con cui tutti hanno ritenuto fosse buona cosa fare affari (non solo l'Italia, ma anche la Gran Bretagna, tanto per fare un esempio) si ritrova con una rivolta armata in casa. Rivolta armata che addirittura arriva a proclamare un governo in una parte del paese e a muovere una rivolta contro di lui.

Come reagisce il Gheddafi?

Come dovrebbe reagire un governo di fronte ad una rivolta armata che mira a spodestarlo?
Ovviamente, spara.

Dapprima, i rivoltosi ottengono alcune vittorie; sulla scia dell'entusiasmo per quello che sta succedendo in altri paesi, si spera che presto ci sarà la caduta anche dell'odiato dittatore libico (ancora più odiato in Italia perché ha stretto patti con un certo signor B.)

Però Gheddafi, usando quel po' di aviazione di cui dispone e un po' di mercenari, riesce a ricacciare indietro i rivoltosi, fino a quando non sta per prendere Bengasi, la auto-proclamata capitale della Libia Liberata ™.

I rivoltosi, a questo punto, che fanno? Si preparano ad un'eroica resistenza? A morire come martiri sapendo che Allah li accoglierà tra le sue braccia?

No.

I rivoltosi si rivolgono all'occidente e chiedono aiuto all'occidente.

Ridiciamolo: i rivoltosi chiedono aiuto all'occidente; l'Occidente, che non ha fatto altro che usare il nordafrica per fare il suo porco comodo.

L'Occidente, che fino a questo momento è stato a guardare, decide che è il momento di intervenire; non può mica essere che Gheddafi vinca questa guerra, vero?

Così decide di fare una no-fly-zone.

Cosa è una 'no-fly-zone'?

E' il modo con cui in Occidente si fa passare una guerra senza dire che stai facendo una guerra.

Perché ovviamente, se dici: “abbiamo dichiarato guerra alla Libia,” qualcuno potrebbe avere da ridire; magari potrebbero anche pensare che ci sono delle costituzioni che dicono che non si possono fare delle guerre in questo modo, e così via.

Così l'Occidente, guidati dalla Francia e dall'Inghilterra, ha (dichiarato guerra) istituito una no-fly-zone. Gheddafi, purtroppo, è un beduino, e decide che no-fly-zone dalle sue parti si legge “guerra”, e si prepara a rispondere come deve.

Tenendo conto che l'ultima volta che l'Occidente si è impelagato in operazioni del genere si è andati a finire con cose tipo Iraq e Afganistan, non è che ci sia da stare molto allegri.

mercoledì 2 marzo 2011

Ripassare la palla all'avversario

Ogni tanto, in una partita di calcio, capita che un giocatore sbagli passaggio e dia palla al proprio avversario. Poichè questo è, generalmente, un fatto inaspettato, si tratta in generale di un'ottima occasione per prendere il proprio avversario in contropiede e segnare.

La cosa peggiore da fare, in questi casi, è ovviamente quello di ripassare palla all'avversario, annullando tutto il vantaggio conquistato fino a quel momento.

Prendiamo ad esempio questa dichiarazione:

"Quanto poi alle coppie omossessuali,XXXXX aggiunge: “Anche su questo Berlusconi non puo’ dare lezioni. Io vivo in una famiglia monogama omossessuale e faccio molta fatica a prendere lezioni da uno che ha certi comportamenti privati”."

fatta da un esponente del centrosinistra a proposito delle dichiarazioni di Berlusconi sugli omosessuali.

Questo è un classico esempio di avversario che ti ripassa la palla perduta. Perchè dico questo?

Perchè stiamo dicendo che l'affermazione che "gli omosessuali non si possono sposare" non è sbagliata perchè nega un diritto a delle persone; è sbagliata perchè la persona è moralmente non ineccepibile.

Abbiamo implicitamente accettato il fatto che un politico possa NEGARE dei diritti a un cittadino, SE quel politico è moralmente irreprensibile. Ossia, basta sostituire Berlusconi con Formigoni (o con la Bindi) e gli omosessuali non avranno MAI alcuni diritto.

E il personaggio di cui sopra scoprirà la differenza che esiste fra idee politiche, di cui si discute in quanto idee politiche, e comportamenti privati, che dovrebbero essere appunto privati.

domenica 20 febbraio 2011

Competenza e governo

Per motivi di lavoro, ho preso in carico il codice di un portale realizzato da *grande azienda nazionale* per *grande progetto nazionale*.

Il codice è, diciamo, imbarazzante.

Manca una qualsiasi documentazione significativa. Il documento di progettazione è chiaramente stato scritto per soddisfare una milestone, e non ha nessuna attinenza con quanto è stato fatto effettivamente. L'unica documentazione realistica è un elenco di moduli su due paginette, che effettivamente è significativo. Manca la descrizione del database relazionale e dei flussi fra i vari moduli. Ovviamente manca un minimo di documentazione del codice a livello di classi.

Manca un qualsiasi processo di build e deploy documentato. Ci sono istruzioni per lo start/stop di alcuni processi, ma non è descritto come ricreare il sistema ex novo.

Il codice di per se è il trionfo del copia e incolla. Per esempio, ci sono circa 300 (trecento) punti nel codice dove si legge dai file di configurazione quale lingua è selezionata per il portale. Ovviamente abbonda codice commentato o semplicemente morto. I warning sono dell'ordine di alcune migliaia. I metodi sono scritti in maiuscolo e minuscolo, in italiano e inglese, con e senza l'underscore in mezzo.

Manca infine un qualsiasi test di unità.

Si tratta dl mio incubo per i prossimi sei/dodici mesi, visto che dovrò in pratica sputare sangue per rimettere in piedi questo portale, renderlo utilizzabile e far fare bella figura al cliente - che attualmente è piuttosto nelle pesti.

Ne parlo un po' perchè agli informatici piace raccontare quanto è grosso l'orso che stanno cercando di catturare, e un po' perchè è il rappresentante tipico del problema della separazione della competenza dal controllo. E' un vecchio mito che la sinistra ha addirittura cristallizato in una legge - la Bassanini - dove ai politici si da come funzione l'indirizzo e il controllo, e all'amministrazione l'esecuzione.

Parlando con il cliente, ho domandato come mai avessero accettato un prodotto così scadente: mi ha risposto che il fornitore aveva fatto un'offerta scritta benissimo e che comuqnue lui mancava di una persona capace di andare a guardare il codice e capire se è fatto bene oppure no.

In pratica, il cliente ha esaminato la descrizione del processo fatta dal fornitore, lo ha ritenuto formalmente corretto ed ha deciso che era sufficiente, anche perchè non era in grado di andare oltre quella descrizione. Il cliente ha detto "io do l'indirizzo e controllo il risultato, ma i dettagli li sa chi fornisce la soluzione".

Il che, in teoria va benissimo. Voglio dire, va benissimo se dovete scrivere una legge; va un po' meno bene se dovete applicarla.

Allora, voi "controllate il risultato". La domanda corretta è: "COME controllate il risultato?"

Prendiamo il caso del mio progetto. Se siete un burocrate, l'unica cosa che potete fare è fare un controllo formale su cosa viene consegnato: vi danno un cd alla tal data, un documento alla talaltra, vi fanno una demo il giorno x, entrano in produzione il giorno y.Ok, ci sono difetti, ma c'è la garanzia per correggerli, no?

Poi il portale va davvero in linea e crolla dopo due secondi. O sta in piedi con lo sputo. O cose così. Solo che è collaudato, si è andati avanti coi SAL...

Dove sta il problema? Che il controllo sta guardando le cose sbagliate; se un fornitore vi descrive il suo processo di sviluppo, io voglio VEDERLO. Vengo da voi e voi mi mostrate COME state lavorando, e mi fate parlare coi vostri sviluppatori, e mi dimostrate che state seguendo quello che avete descritto.

Poi definiamo i test funzionali, le ipotesi di carico e di fallimento e come intendiamo verificare le cose. Mi aspetto che il fornitore abbia già gli strumenti per costruire rapidamente test funzionali e li abbia usati, che sappia cos'è un processo di Markov e come definire un carico ipotetico.

Poi mi mostrate il vostro codice, e lo analizziamo pezzo a pezzo, voi mi spiegate l'architettura e io vi dico cosa mi torna e cosa mi sembra molto opaco. Mi spiegate i vostri standard di creazione del codice e me li fate verificare.

Poi mi fate vedere i test di unità che avete - di gente che programma a cavolo se ne avrebbe anche abbastanza.

Poi mi presentate il team che lavorerà al progetto - QUEL team per TUTTA la durata del progetto, e non "il nostro nuovo cocopro".

Ovviamente, c'è un problema: non potete essere un burocrate per fare tutto questo. Dovete essere competente. Non potete separare la competenza dal controllo - potete SOLO separare il controllo dalla realizzazione.

L'idea di mettere qualcuno a controllare qualcosa SENZA che sappia come si fa quella cosa genera tipicamente disastri - ovvio, potete far pagare penali a un fornitore incapace, ma il vostro obiettivo non è far pagare le penali, è ottenere un sistema che funzioni.

Solo chi sa fare sa cosa si guarda e perchè è importante. L'idea della gestione senza la competenza è molto americana - e come tale, molto stupida.

lunedì 14 febbraio 2011

Differenze familiari

In Italia ci sono due famiglie potentissime e ricchissime.

In una, il potere si passa esclusivamente per via maschile, secondo le migliori tradizioni regali.

In un'altra, il potere passa a chi se lo è meritato. Incidentalmente, la persona più potente nell'azienda di famiglia è la figlia, non il figlio.

Ovviamente una delle due famiglie è indicata come sessista. A voi decidere quale.

martedì 25 gennaio 2011

Controlli di cellulare

Qualcuno si è reso conto di cosa possono fare i magistrati? Tipo sapere, a distanza di anni, chi ha partecipato a un incontro o è andato in una casa?

Vi piace l'idea di essere spiati mentre andate a una riunione di partito? O a un'assemblea di alternativi? Schedati e numerati, ricostruiti a distanza di un anno?

A me no.

Articolo Ventisette

La responsabilità penale è personale.

L'imputato non è considerato colpevole sino alla condanna definitiva.

Le pene non possono consistere in trattamenti contrari al senso di umanità e devono tendere alla rieducazione del condannato.

Non è ammessa la pena di morte.