30 maggio 2010

Pausa


A causa di un lutto in famiglia, questo blog si ferma per qualche giorno. Ci sentiamo fra una settimana o due. I commenti sono chiusi, agli amici so che dispiace, i troll si possono fottere, visto che l'indirizzo di casa mia ce l'hanno da anni, minacciano e minacciano ma ancora non sono riusciti a farsi spuntare un testicolo che sia uno e non mi va di stare a cassare il loro giubilo inviato di sotto al sasso dove sono nascosti.

21 maggio 2010

Se le auto fossero open source



Tutti conoscono quella vecchia storiella (falsa, ovviamente) in cui Bill Gates avrebbe detto, durante un intervento al COMDEX, che se l'industria automobilistica avesse cavalcato il progresso tecnologico bene quanto l'informatica, oggi le auto costerebbeto 30 dollari e farebbero 3000 chilometri con un litro di benzina, ricevendo come risposta l'osservazione che, se l'industria automobilistica avesse seguito lo stesso percorso di quella informatica:

1) Le auto si schianterebbero due volte al giorno per nessuna ragione apparente.

2) Ogni volta che rifanno la segnaletica orizzontale bisognerebbe comprare una nuova auto.

3) A volte, eseguire una normale manovra come svoltare a sinistra farebbe irreversibilmente spegnere l'auto e non ci sarebbe altra via d'uscita che reinstallare il motore.

4) Ogni volta che l'auto si spegne senza ragione in autostrada, gli automobilisti dovrebbero essere preparati a riavviarla senza protestare ed accettare il fatto come una normale parte di qualsiasi viaggio.

5) In auto ci potrebbe essere solo una persona per volta, salvo comprare Car95 o CarNT [la storia e' vecchiotta, NdE] ed acquistare a parte sedili supplementari.

6) Apple produrrebbe un'auto ad energia solare, affidabile, cinque volte piu' veloce e due volte piu' facile da guidare, ma costerebbe 100 volte di piu' e potrebbe viaggiare solo sul 5% delle strade [ed eseguire solo le manovre che Steve Jobs approva, NdE].

7) Le spie di olio, temperatura e alternatore verrebbero sostituite da una singola spia di "errore irreversibile dell'automobile".

8) I sedili sarebbero conformati in modo da costringere tutti ad avere il sedere delle stesse dimensioni.

9) L'airbag chiederebbe "Sei davvero sicuro? SI/NO" prima di gonfiarsi.

10) Occasionalmente, e per nessuna ragione apparente, l'auto vi chiuderebbe fuori e si rifiuterebbe di farvi rientrare a meno che afferriate l'antenna della radio mentre girate la chiave e tirate la maniglia dello sportello.

11) Ogni volta che un nuovo modello viene introdotto, bisognerebbe reimparare a guidare perche' nessuno dei controlli funzionerebbe alla stessa maniera di prima [questo gia' succede se si compra un'auto francese, NdE].

12) Bisognerebbe premere il bottone "Start" per spegnere il motore.

Tutto vero e divertente, ma in realta' ci dice solo cosa succederebbe se l'industria automobilistica avesse seguito il pattern di sviluppo di Microsoft (ed Apple, vedi punto 6), non quello dell'industria informatica in generale.

Sono sicuro che alcuni dei miei colleghi seduti ad una o due scrivanie da me potrebbero raccontarvi cosa sarebbe oggi l'industria automobilistica se avesse seguito il pattern di sviluppo dei mainframe IBM - ad esempio, ne sono certo, che l'auto puo' svoltare solo se una formale richiesta di cambio di direzione viene presentata due giorni prima ed approvata da tutti i passeggeri; ma da stamattina ho cominciato a chiedermi cosa succederebbe se l'industria automobilistica fosse open source. Linuxiana, diciamo. L'idea, onestamente, mi riempie di terrore.

1) Le auto sarebbero distribuite gratuitamente. Chiunque sarebbe in grado di assemblarle in modo che riescano a fare il giro dell'isolato prima di perderne completamente il controllo e doverle ricostruire da zero. Pochi, strapagati ingegneri diventerebbero ricchi assemblando auto personalizzate per i clienti che hanno bisogno di arrivare dal punto A al punto B senza esplosioni.

2) Ogni auto avrebbe comandi radicalmente differenti: alcune avrebbero uno sterzo, alcune una cloche, alcune una colonna di controllo e una pedaliera come gli elicotteri, alcune una tastiera con cui introdurre l'angolo di cui si intende variare la direzione attuale. In radianti. Senza una macro per pigreco.

3) Ogni scelta costruttiva verrebbe difesa ad oltranza come l'unico modo logico in cui una persona anche solo lontanamente sana di mentre potrebbe voler controllare un veicolo, salvo essere abbandonata nella versione successiva.

4) Quasi nessuna auto avrebbe un manuale di istruzioni. Gli acquirenti verrebbero incoraggiati a passare il proprio tempo in un'apposita stanza della concessionaria, in cui tutti gli altri guidatori discutono delle varie caratteristiche di quel modello e/o di altri modelli simili, nella speranza di cogliere un brandello di conversazione inerente a quel che desiderano sapere.

5) Nelle poche auto che ne hanno uno, il manuale di istruzioni raramente conterrebbe le informazioni a cui siamo abituati. Piuttosto, sarebbe costituito da una trattazione di 3-4 pagine sulle proprieta' chimiche dello strato di vernice antiruggine, da una dettagliata spiegazione su come svitare i bulloni per cambiare una gomma, e da 10 pagine di minuta descrizione del funzionamento delle serrature degli sportelli, con un rapido excursus sulla teoria e storia delle chiavi e delle tecniche del loro intaglio [per chi pensasse che questa e' un'esagerazione, vi invito tutti a dare un'occhiata alla "documentazione" di quello che sta diventando lo standard open source per la gestione dei data center, RackTables. Che e' una fantastica applicazione, beninteso. NdE].

6) Ad ogni automobile mancherebbero delle caratteristiche essenziali. I progettisti ovvierebbero alla mancanza in maniere che renderebbero orgogliosi Dastardly & Muttley. Ad esempio alcune auto sarebbero incapaci di svoltare a sinistra, ma verrebbero modificate con un complicato sistema di regolazione della velocita' e freno a mano servoassistito per andare in testacoda (semi)controllato e cambiare orientamento verso sinistra quando necessario.

7) L'autoradio di UbuntuCar si guasterebbe ogni volta che si fa benzina o si cambia l'olio.

8) RHELCar sarebbe open source, ma dovreste pagare una fortuna per fare benzina o gonfiare le gomme.

9) Molti guidatori sarebbero fieri ed orgogliosi di fare gratis da manichini per crash-test in FedoraCar e deriderebbero i "servi delle multinazionali" che pagano per godere dei risultati dei crash-test in RHELCar.

10) Dopo ogni incidente non potreste mai dare la colpa a guasti meccanici o difetti dell'auto, pena essere circondati da progettisti, ingegneri e altri automobilisti che vi sottopongono ad un linciaggio morale e vi accusano di essere troppo stupidi per godere del privilegio di guidare un'auto open source. Dovreste invece sottoporvi ad un rituale di purificazione in cui sostenete che il posto ideale per mettere una mina antiuomo e' in effetti proprio sotto l'acceleratore, e vi scusate per essere stati cosi' stupidi da non capirlo prima.

11) Richard Stallman al posto di Enzo Ferrari. Non dico altro.


03 maggio 2010

Una frittata di fatti miei


Dopo quasi tre mesi dall'inizio del nuovo lavoro, magari è il caso di fare un po' il punto.

Intanto, per la prima volta lavoro direttamente per una banca, che è di proprietà di un'altra banca, che è di proprietà di altre due banche, le quali hanno fra gli azionisti, oltre al Tesoro inglese, la banca per cui lavoro, in un'orgia di rapporti di proprietà incrociati che fanno sembrare La ninfomane incestuosa un film per educande. Ma vabbe', non è un trauma - non dopo aver lavorato per una multinazionale americana che faceva sembrare i Borg dei boy-scout.

L'ambiente di lavoro non è malaccio, soprattutto per essere una banca in mezzo alla City. C'è pressione e competizione, ovviamente, ma la gente con cui divido lo spazio è relativamente decente - almeno considerando che sono in massima parte neozelandesi. Purtroppo una delle attività più in voga sono gli scherzi stronzi - io, per aver dimenticato di bloccare la mia macchina prima di andare a farmi una tazza di tè, ho scoperto ad un certo punto che dal mio account di posta elettronica era partita una dichiarazione d'amore per Vassili The Giant Motherf**ker, come gli piace essere chiamato - il nostro tecnico Cisco, che ama insultare i suoi colleghi chiamandoli "fucking Chechens" e solleva da solo gli IBM BladeCenters per infilarli nei rack; d'altra parte, il collega neozelandese alle mie spalle ha commesso l'imperdonabile errore di non sloggarsi da uno dei pochi computer con accesso senza restrizioni a Internet - e non aveva protetto le password memorizzate in IE, col risultato di ritrovarsi fortunato vincitore dell'asta Ebay per un tanga da uomo in lamè e paillettes nei colori della bandiera neozelandese (per la modica cifra di circa 30 sterline). Fra l'altro, non avevo mai considerato quanta confusione si può generare semplicemente scambiando di posto fra di loro tutte le tastiere e tutti i mouse wireless su una fila di scrivanie, o quanto si possa irritare una persona occludendo con carta e nastro adesivo il LED del mouse. Certe volte vale decisamente la pena, svegliarsi molto presto per arrivare al lavoro prima degli altri il lunedì mattina.

Insomma, l'impatto è stato quasi interamente positivo, ma ci sono delle cose a cui fatico ad abituarmi.

Prima di tutto, l'attenzione paranoica alla sicurezza. Lavoro in un ambito relativamente sensibile - abbastanza da far comparire sul mio contratto la famigerata clausola che mi impone di non scrivere in rete nè per che banca lavoro, nè di che dipartimento della banca faccio parte - e non dovrei essere sorpreso da certi accorgimenti, ma lo sono. L'intero edificio è una gabbia di Faraday, nessun telefono o modem cellulare funziona al suo interno fatta eccezione per i Blackberry aziendali (femtocelle all'interno?); è vietato portare all'interno del palazzo computer non di proprietà della banca - all'ingresso mi tocca tirar fuori il netbook dallo zainetto e depositarlo in un armadietto della sicurezza, esterno alla gabbia di Faraday; anche all'interno del palazzo esistono vari livelli di sicurezza, e per entrare in certe aree bisogna passare uno scanner che pinga se avete in tasca una chiavetta USB o qualunque altro aggeggino elettronico - ha senso, le chiavette USB sono disabilitate sui desktop Windows, che sono amministrati centralmente, ma sono più difficili da disabilitare su altri sistemi operativi, soprattutto per chi ha accesso da sysadmin ai server, quindi in sala server non si entra con chiavi USB, punto; tutte le telefonate vengono registrate; tutta la browsing history di ogni browser viene registrata (e le connessioni passano attraverso un proxy con dei filtri estremamente paranoici); tutte le email vengono archiviate; la maggior parte dei protocolli Internet, in realtà tutti, tranne HTTP e HTTPS, sono disabilitati.

La seconda cosa a cui sto avendo problemi ad abituarmi è che non sono più un sysadmin. Buona parte dei due lettori di questo blog sono dei geek, e capiranno di cosa parlo; ma per chi non lo fosse, è a volte difficile spiegare l'abisso che separa i sysadmin dai comuni esseri umani.

Un sysadmin fa un lavoro veramente difficile da spiegare ai profani, perchè la maggior parte dei profani non ha idea che certe cose, per funzionare, hanno bisogno di un essere umano che le prenda regolarmente a calci. Quasi nessun essere umano, per dire, ha idea di cosa succeda fra il momento in cui scrive "vuvuvu punto stantuffami punto com" nella barra degli indirizzi e quello in cui le foto o i video di Ilona Porcona e Molly Melons cominciano a susseguirsi sullo schermo; non sa che il suo computer ha dovuto risalire una lunga catena di computer, chiedendo ad ognuno, "mi scusi, ha mica idea di chi sia responsabile per stantuffami punto com?" fino a trovare qualcuno che gli ha dato l'indirizzo del computer responsabile, e a quel punto si è rivolto al suddetto responsabile per chiedergli "mi scusi, lei che sa tutto su stantuffami punto com, mi sa dire che indirizzo ha vuvuvu?" ed avuto l'indirizzo ha mandato un segnale di "pronto, mi senti?" all'indirizzo giusto - senza avere la minima idea di dove questo indirizzo sia, ma semplicemente inviandolo all'instradatore più vicino (un computer il cui lavoro consiste esclusivamente nel ridirigere i dati che riceve nella direzione in cui vogliono andare, quando non conoscono la direzione ma solo la destinazione), il quale ha guardato il primo numero dell'indirizzo e ha detto "ah, questo qui è un server in Sarcazzistan" e l'ha passato all'istradatore di livello più alto, uno di quelli che gestiscono il traffico internazionale, dicendogli "fa', il favore, vedi un po' se riesci a farlo arrivare in Sarcazzistan", e così via. Ad un certo punto il pacchetto è arrivato in Sarcazzistan dove l'instradatore locale l'ha finalmente indirizzato al computer giusto, dove ha superato un firewall o due (altri computer ancora, costruiti, configurati e ottimizzati semplicemente per controllare che solo dati leciti passino e raggiungano i server), e finalmente ha raggiunto il server (un ennesimo computer il cui compito è di rispondere alle richieste di Internet Explorer, Firefox, Opera inviando loro video, immagini, pagine html e chi più ne ha più ne metta), il quale risponde con il corrispondente segnale di "Sì, ti sento, e tu mi senti?" che ha fatto tutto il percorso opposto e che riceve a sua volta risposta "Sì, ti sento"(*), seguita da "Cortesemente, inviami la pagina che mostri a tutti se non ti chiedono nulla di specifico", e così via.

In particolare, il profano medio non sa che ognuno dei computer menzionati qui sopra viene costantemente seguito da uno o più sysadmin che l'hanno installato e configurato, ne controllano 24/7 le prestazioni e l'utilizzo di risorse come memoria, capacità di elaborazione e spazio su disco, provvedono alla riconfigurazione ogni volta che qualche demente della IANA o di ICANN cambia le carte in tavola, si occupano di chiudere nel più breve tempo possibile le varie falle di sicurezza che vengono scoperte quotidianamente - impedendo così che i dati della loro carta di credito vengano passati alla mafia russa quando pagano per accedere a stantuffami punto com - approntano sistemi di riserva da attivare quando (non se: quando) il sistema principale salterà catastroficamente mentre il sysadmin si sta arrampicando sulla Cresta Bruneck (Dolomiti) e il suo vice si è spalmato contro un autobus con la moto nuova, rispondono con tono rassicurante, alle 3 del mattino, alle telefonate di clienti in preda al panico perchè "the Internet is broken!" (trad.: "il mio computer non si accende perchè ieri sera mio figlio di 3 anni ha staccato la spina").

Un sysadmin è anche la persona che gestisce in pratica tutte le misure di sicurezza di cui parlavo più su, almeno quelle informatiche, e quindi è la persona da assillare quando il filtro che blocca il cazzeggio su Facebook durante le ore di lavoro blocca anche, come danno collaterale, qualche sito a cui l'utente ha una legittima ragione per connettersi (eh, sì, come no, ci crediamo tutti); è la persona che in generale ha l'unico computer in tutta la ditta in grado di connettersi col mondo esterno senza limitazioni, e spesso è anche l'unico la cui macchina sia liberamente configurabile e non "bloccata" su un profilo amministrato in maniera centralizzata. Per esempio, è spesso l'unica persona che ha il diritto/l'autorità/la competenza per usare sul suo desktop il sistema operativo che vuole senza che nessuno abbia il coraggio di dirgli niente - se non altro perchè in generale neanche capiscono di cosa si stia parlando. Quella persona, fino ad un mese fa, ero io; adesso sono un non-sysadmin, uno degli altri, uno che deve usare il desktop Windows che gli viene passato e non può protestare, uno che deve andare dai sysadmin col cappello in mano a chiedere se per favore gli installano Wireshark perchè, giuro, ne ho davvero bisogno per analizzare uno snoop run. Non è facile diventare improvvisamente un membro del gregge.

Il lavoro, intendiamoci, è interessante. Ad esempio, fra le altre cose sono responsabile, assieme ad un'altra persona, di un sistema, inteso non come computer ma come complesso di computer, storage area networks, connessioni criptate con le borse di mezzo pianeta, collegamenti a servizi interbancari esterni, che deve essere online sempre, perchè quando va giù il danno finanziario per la banca si misura in svariate migliaia di sterline al secondo; e il mio mestiere è, fondamentalmente, di coordinare i sysadmin che si occupano delle varie parti del sistema, assicurarmi che ognuno abbia le informazioni e le istruzioni di cui ha bisogno per fare il proprio lavoro o per risolvere i problemi, mantenere i contatti con le ditte che fanno le parti del lavoro (come il monitoraggio) dato in outsourcing e anche lì assicurarmi che le informazioni scorrano come devono, identificare i problemi ed assegnarli alle persone giuste, e così via. Certo, il lavoro ha ancora (per fortuna) parti strettamente tecniche - ma molto più limitate: tocca a me creare e testare a fondo la nuova configurazione standard per i server Linux della banca, ma una volta finiti i test, mi tocca scrivere un documento, passarlo ai sysadmin e lasciare a loro il compito di installarli; e in generale il mio lavoro diventa sempre più da systems architect e sempre meno da systems administrator, trasformandomi lentamente in quello che i militari chiamano un REMF, o Rear-Echelon MotherF**ker, uno che sta tranquillo nelle retrovie e non si avvicina neanche ai problemi della linea del fronte.

Insomma, le cose cambiano, e per giunta questo é il primo weekend in oltre un mese in cui non ho avuto da lavorare. E mi sto divertendo un mondo.

(*) Questo scambio, "Pronto, mi senti?" - "Sì, ti sento, e tu mi senti?" - "Sì, ti sento", o, per chi é del mestiere, "SYN"-"ACK, SYN"-"ACK", anche detto "three-way handshake", é il modo più rapido per assicurarsi che entrambi i partecipanti alla conversazione siano in grado sia di parlare, sia di sentire cosa l'altro dice.