archivio

informatica

Si comincia a parlare di “digital darwinism“, ovvero la scienza dell’evoluzione, nella sua accezione più forte e crudele al tempo stesso, nel mondo dell’informatica, in particolare nella sua estensione al mondo dell’informatica. E finora l’accezione con cui se ne parla, nella maggior parte dei casi, riguarda -ma pensa un po’- la pecunia e il lato prosaicamente economico: la capacità di attrarre, grazie ai nuovi canali mediatici, ai social network e internet più genericamente, nuovi followers. In fondo anche solo fare un blog, spesso significa “stare al passo coi tempi”, o in altri termini, adattarsi alla giungla informatica per garantire la propria sopravvivenza nel mondo virtuale.

Il darwinismo digitale ha implicazioni non indifferenti. Quello classico è fondato su tre presupposti: riproduzione, variazione e selezione. In quello digitale, mentre è difficile delle analogie per i primi due postulati, sul terzo la faccenda si fa più semplice: la selezione tecnologica opera sta operando in maniera notevole nella vita quotidiana di tutti. Oggi, una connessione ad internet, in molti paesi è vitale (ma non so quanto sia applicabile in Italia ancora). Agevola i rapporti con la pubblica amministrazione; è diventato un must per quanto riguarda i cosiddetti “beni e servizi” (dallo  shopping, alla scelta e prenotazione delle vacanze,  dalla scelta di un libro fino ad arrivare, perchè no a pubblicarne uno) e per quanto riguarda l’aspetto dominante di ciascuno, cioè la sua socialità nelle relazioni. Quindi , senza entrare nella metafisica per analizzare tutto ciò che la virtualizzazione della coscienza umana può significare, basta dire che una connessione internet determina le capacità di successo o meno di un’attività commerciale, oppure determina la possibilità per un ragazzo -o di chiunque a dire il vero- di fare nuove amicizie, e così via.

Quindi la prima selezione è: usare internet, o no. Ma nell’ammasso stellare dei bit in cui cominciamo a vivere, la seconda regola di selezione è: capire internet, oppure no.

Capire Internet significa trovare un modo, che, come nella selezione naturale solo l’esperienza mista alla fortuna portano alla “sopravvivenza”,  in questo caso a non cadere nel milione di tranelli che con cui la rete può intrappolare. Phishing truffe digitali virus e chi più ne ha…anche stavolta i predatori non mancano.

Senza contare che la selezione digitale opera in modo complesso e spesso ambiguo: il social network è diventato la nostra vetrina per l’amicizia gli affetti ed il lavoro, quindi per le nostre emozioni. Ma ad ogni passo tentiamo di difendere strenuamente il “diritto alla privacy”. Flag, check, controlli, firme virtuali per premunirci che la nostra intimità sia più che protetta, pubblicando poi qualunque struggimento del cuore su una bacheca web.

E Darwin ci osserva sempre incuriosito, vorrebbe sapere come agirà stavolta l’evoluzione.

Annunci

Un programmatore, in Italia, ha quantomeno qualche possibilità in più di lavorare con un contratto a tempo indeterminato (ammesso che ne esisteranno ancora da qua a qualche anno). La tragedia comincia quando arrivano i dati comparati rispetto ad altri paesi.

Questa è una statistica, un po’ datata (2007) di cosa offre il mondo statunitense dell’IT (fonte http://degreedirectory.org/)

Senza andare nella sezione del top management, bastano un paio di occhiate veloci agli skill più tecnici:

Database Administration

  • Average Annual Salary – $88,443

(non dico la fatica di trovare un forum in lingua italiana dedicato ai DBA)

Computer Programming

  • Average Annual Salary – $75,427

(si dice -perchè non può essere che una leggenda, se vista con i nostro occhi- che addirittura la paga iniziale di un programmatore parta da 50,000 $)

System Administration

  • Average Annual Salary – $69,311

(c’è spazio anche per i sistemisti insomma)

In tutto questo, per ogni figura, oltre ad essere descritti i ruoli e le mansioni, per ognuna si dice: la laurea non è obbligatoria, ovviamente averla costituisce un’aiuto, ma l’esperienza guadagnata sul campo conta molto.

A questo punto, la domanda da farsi è come mai un tecnico informatico, in Italia, non abbia nemmeno una tipologia contrattuale dedicata, anzi, è frastagliata tra contratto commercio o addirittura il contratto metalmeccanico (purtroppo o perfortuna, un programmatore non forgia il suo chip, magari facendolo come gli pare e gli piace, ma semplicemente “lo pilota”. Su quali strade, se buone o cattive, è tutto da vedere…

E mentre i pensieri si infrangono sulle stranezze del mondo “IT” (che a quanto pare non identifica l’ ITalia), l’altro pensiero va a quelle aziende che invece puntano a far diventare ciascuno di noi, chiunque sia, in un programmatore (mi riferisco ad esempio a Coghead , Caspio, Zoho…)

In fondo un computer, in ogni sua forma, è il nuovo elettrodomestico che non può mancare nelle nostre case!

Health Information Technology, o per meglio dire: elefanti rosa in cambio di martelli.

Ovvero uno di quei rami che sono tuttora inesplorati. O meglio, davvero poco approfonditi. L’informatica applicata al settore medicale, e più precisamente al settore farmaceutico. Alla fine, a ben pensarci, non è detto che non sia un’ottima idea, destinata a prendere piede e in grado di svilupparsi ampiamente nei prossimi anni.

Per quella che è stata la mia brevissima e poco fortunata esperienza nel settore biomedicale, ho imparato alcune piccole leggi fondamentali. L’informatica, che ad esempio offre un’aiuto enorme -ineludibile-già nel semplice “stoccaggio” dei dati statistici, e alla loro elaborazione, si scontra con la realtà del settore.

Prendiamo un esempio semplice: abbiamo un prodotto, un pacemaker. Abbastanza routinario (intendo che oggi come oggi non stiamo parlando più di fantascienza).Per misurarne l’efficacia, i dati andrebbero scaricati elaborati e verificati regolarmente, su un database e con procedure di elaborazione statistica definite e precise. Il paziente dovrebbe sempre avere modo e poter scaricare i dati contenuti nel pacemaker, e dovrebbe poterlo fare nel modo più semplice e intuitivo possibile, addirittura via web. Il medico che lo ha in cura, dovrebbe poi registrare altri dati a seguito di ogni follow up (anche questo da eseguire regolarmente), sempre su un database, che sia il più ampio e condiviso possibile. Ora, pure ammettendo che tutto questo avvenga alla perfezione con regolarità e senza mai intoppi, i dati andrebbero poi elaborati con criteri statistici univoci. Ovviamente la perfezione non esiste. Il follow up del medico magari manca (e chi potrebbe convincere un chirurgo, che ha guardato dritto nel cuore di un paziente, a perdere tempo con un pezzo di silicio? :), i dati registrati dall’utente-paziente, non sono regolari, etc. E quindi arriviamo al paradosso: pur ammettendo di avere tutti i dati a disposizione, e la loro mole fosse -come un giorno sarà- enorme, a questo punto si pone il quesito su come elaborarli? La necessità dell’elaborazione di “big-data” sta emergendo solo da poco tempo, addirittura è solo a partire da quest’anno che alcune aziende la stanno sdoganando sul mercato.

Prima ho parlato di un pacemaker, il discorso si complica con i farmaci, per i quali la diffusione, l’eterogeneità, aumentano la complessità di un’analisi informatizzata onnicomprensiva.

Gli articoli accademici a riguardo non si contano.

Un’estratto da uno di questi è molto significativo:

“One problem observed in
pilot studies is workflow disruption, which continues
to challenge HIT adoption in physician offices, hospitals,
and pharmacies. Another major challenge for HIT
implementation is the need for communication standards
to make the interchange of electronic information
possible within the health care community. Much
of the needed technology is already in place for HIT or
could be put into place easily. However, the standardization
necessary to write situation- or system-specific
software interfaces to enable communication among
systems is still being developed.”

Quindi i punti fondamentali sono: la mancanza di un protocollo di registrazione dei dati che sia preciso e condiviso in tutta la catena, dal paziente, al medico di base, fino ad arrivare alle strutture sanitarie. Altro punto: l’assenza di uno standard ben preciso nella comunicazione dei dati. Gli strumenti ci sono, ma c’è una totale indecisione su quali usare da una parte all’altra.

Più o meno come ha scritto Murakami, se ti dò un martello, mi dai un elefante rosa?

Insomma anche nel settore dell’informatica medica il rischio è di cadere nel mitico “sistema arlecchino”. Che nella sua versione migliore viene chiamato “best-of-breed“. A questo link c’è una interessante intervista al capo CED dell’azienda ospedaliera di Vernona, stavolta un caso ben riuscito e promettente. Ma rimane l’idea che la strada da fare sia ancora molta.

E sì che i benefici sarebbero pesanti e mai trascurabili. Primo: la salute dei pazienti (tornando agli esempi di prima: diminuzione degli errori di prescrizione di un farmaco, miglioramento dell’efficacia di un pacemaker, etc). Secondo beneficio, che nella società post moderna a quanto pare non è mai disdegnato: ci sarebbe sul medio periodo una diminuzione dei costi (ad esempio la “prescrizione elettronica” quindi informatizzata, di un farmaco oltre a diminuire i rischi di errori medici o di errata interpretazione, diminuirebbe costi amministrativi e gestionali, permetterebbe la registrazione dei dati migliorando la produttività, i costi di approviggionamento e immagazzinamento).

Chi ha a che fare con i database, prima o poi incontra quelli griffati Oracle. E’ lì è un po’ come passare dall’adolescenza all’età adulta, in un certo senso. Insomma basta scherzare, si comincia sul serio. E sul serio, prima o poi arrivano gli schiaffi: dato che un database Oracle è uno strumento potente e veloce, tanto velocemente e sonori arrivano. Sistemarne la configurazione, leggere le documentazioni, capire le dinamiche e voler migliorare le performance, o anche solo scontrarsi con una query sql complessa. Può essere frustrante a volte, e se si arriva alla disperazione (o meglio, prima di arrivarci) il pronto soccorso è offerto dal mitico Tom Kyte, il Guru Oracle, colui che tutto sa -di SQL e non!-.

Leggere i suoi post sul mitico AskTom non solo è utile, è illuminante: i consigli sono sempre quelli: essere semplici, ragionare sul risultato che si vuole ottenere, quindi sul come ottenerlo…prima di buttarsi a scrivere milioni di righe di codice, forse è utile perdere un po’ di tempo prima, così da non perderne dopo (il debugging è il primo girone dell’inferno di un programmatore). La cosa veramente bella, poi, è capire che ogni cosa può essere fatta con poche, semplci, intelligenti istruzioni. Anche perchè il rischio è quello di addentrarsi sempre più in fondo, girone dopo girone, e di perdersi nel codice. Se di fronte a un algoritmo da trasformare in codice, si pensa poco, e si scrive molto, la partenza è in salita. Prima o poi, quell’algoritmo dimostrerà tutti i suoi limiti, riscriverlo si dimostra sempre un’operazione più laboriosa che aggiungere un secondo pezzo di codice. Che a sua volta, per osmosi, sarà complicato e illeggibile quanto il precedente. E così via, si giunge al Sistema Arlecchino.

Il nostro Tom dimostra tutto questo praticamente ogni giorno. Di fronte a un problema (e la percentuale di soluzioni tanto pregiate quanto semplici è notevolissima!), fa capire a tutti come scegliere la strada migliore.

Ma tra i tanti suoi post, ci si può imbattere in questo

http://www.flickr.com/photos/tkyte/4033155188/sizes/o/

dove spiega le regole per chi gli vuole esporre i suoi problemi nell’universo Oracle (che riassumendo dicono: siate educati, cercate di esporre il problema evitando il “non funziona”, e prima di arrivare a scrivermi, forse è meglio studiare un po’ la documentazione- anche se, a dirla tutta, avere a che fare con oltre -credo- 20’000 pagine di documentazione su Oracle, non è banale)

Da questo link,  è facile vedere poi le sue foto su Flickr

http://www.flickr.com/photos/tkyte/

E la domanda a questo punto è: dove è finito il suo genio!? Anche se sul suo blog arriva a dire che alcune delle sue foto possono essere incluse in una guida di viaggio…comunque, sarò poco serio, ma non trovo il suo genio! Ci sono pure foto-ripetute- di un dettaglio di un traliccio…chissà a quale tremendo algoritmo da “mission impossible” pensava, mentre stava fotografando quelle cose!

Invece, sempre su flickr, si trovano foto di fan, persone entusiaste durante i meeting, e  persone in attesa di incontrarlo…alla fine deve essere sempre bello incontrare un Guru (e Tom Kyte lo è, nel senso più alto e sincero del termine, visto che con grande umiltà mette a disposizione di tutti un’esperienza e una capacità di problem solver enorme). Peccato quelle foto…in fondo anche i Guru sono umani!

Non che sia in grado di giudicare, ma santo non credo lo sia; poeta, a suo modo credo proprio di sì -se per poesia intendiamo interpretare il mondo con la creatività- e navigatore, a maggior ragione sì, visto che -e appunto con licenza poetica- la sua invenzione ha poi portato alla navigazione di milioni e milioni di persone.

Sto parlando di Federico Faggin, che nella mia totale ignoranza in realtà non sapevo chi fosse, fino a che non ho sentito una sua intervista in un programma dedicato su Radio24 qualche mese fa.

Ebbene sì, l’inventore del primo mircochip parla un con un bell’accento veneto americanizzato! Un orgoglio insomma per tutti noi!

Qua il link alla trasmissione di Radio24

ps: ok, è un genio, ma c’è anche da dire che per arrivare alla costruzione del primo microprocessore in silicio, diciamo che ci sono voluti più di 20’000 anni dal primo computer…

E se proprio si vuole vedere il pelo nell’uovo, l’altra domanda è come mai la scelta del silicio come materiale di costruzione, e non del carbonio….a questo dilemma la Vita sulla Terra ha dato risposta 2 miliardi e mezzo di anni fa…e solo ora qualcuno (IBM) riprende questa antica tradizione, riproponendo, anche per i computer, il carbonio, come “mattone” un elemento valido per le nuove tecnologie…Ok entrambi i materiali sono tetravalenti e hanno caratteristiche simili, ma solo uno dei due permette la vita…

Chissà che il futuro non sia il grafene, visto che a quanto pare sembra che possa essere utile anche per cira un milione di altre cose

Una domanda che spesso mi faccio è capire fino a che punto fare l’informatico sia un mestiere. Un vero mestiere, come da sempre è inteso: fatica, sudore e lacrime, e soddisfazione, per i più fortunati, di vedere un qualcosa di concreto e reale, realizzato con le proprie mani.

Penso che sia una domanda che in molti si fanno tra l’altro, soprattutto in questo periodo, con l’ascesa (o discesa?) di Facebook nel mare monstrum della Borsa. Vale 10 100 o 1000 miliardi qualcosa che non ha praticamente nulla di fisicamente esistente (al di là dei server cavi e computer per la sua programmazione)? O il suo valore risiede nell’idea che miliardi di idee possono viaggiare istantaneamente tra quasi un miliardo di persone?

Mi viene sempre in mente una frase di Italo Calvino su “la leggerezza del bit”, nelle sue Lezioni Americane

La seconda rivoluzione industriale non si presenta come la prima, con immagini schiaccianti quali presse di laminatoi o colate di acciaio, ma come i bits d’un flusso d’informazione che corre sui circuiti sotto forma d’impulsi elettronici. Le macchine di ferro ci sono sempre, ma obbediscono ai bit senza peso.”

I bit non hanno un peso. E questo mi fa dubitare che il lavoro dell’informatico sia effettivamente soppesabile…! Ma il dubbio scompare subito, perchè, sempre in quella frase di Calvino è lampante anche la soluzione: una nuova rivoluzione industriale, in corso da pochissimi decenni (ne sono bastati due per far diventare Bill Gates uno degli uomini pià ricchi del mondo, in fondo).

Il software, il codice. La traduzione delle idee per parlare con i protagonisti della vecchia rivoluzione industriale, le macchine. Che da brave protagoniste, si sono cambiate d’abito nel nostro palcoscenico: sono sempre pià ricettive, più pronte ad assimilare le idee, la traduzione che facciamo dal linguaggio umano al loro, è sempre più verosimigliante, si perde sempre meno significato, nella loro vanità si fanno chiamare per la maggior parte, computer.

Pensiamo ad una grande assicurazione che debba stampare ogni giorno (almeno fino a che anche tutti gli organi di una società non si adeguino alla filosofia del paperless) migliaia di lettere di comunicazione ai propri assistiti. E pensiamo come è cambiata questa modalità, nel giro di poco tempo. Semplicemente basta un normalissimo editor Word, una bella macro che si interfacci direttamente alla base dati che contiene le informazioni sugli assicurati, legge questi dati, e con un’ormai banale automatismo di “stampa unione” crea  migliaia di documenti, che possono essere inviati a loro volta, con altri automatismi, ad una stampante (e, questa sì, hardware, e fisicamente esistente). Ovviamente anche questa fase sarebbe suscettibile di miglioramenti, ad esempio eliminando completamente la carta (si parla oppure di di “sostenibilità ambientale” ?)

Questa fase -ovvero il bit che viaggia leggero da una macchina chissà dove, portando con sè la conferma di soldi, contratti adempiuti, informazioni personali, viaggia quindi direttamente alla persona, con una semplice email- ha un presupposto che per ora non è compatibile con la realtà dei fatti: che ad ognuno sia garantita una cittadinanza digitale! Questa fase sarebbe il culmine della nuova rivoluzione industriale che stiamo vivendo. Che come ogni rivoluzione porta sempre con sè comunque dei dubbi, perplessità, e ha sempre un sapore amaro (tra gli altri, Stephen Hawkings ha riassunto, con una semplicità strabiliante, questi dubbi: come l’elettronica, con i suoi derivati, come appunto lo è l’informatica, da buona creatura dell’uomo, cominci, ancora lentamente per ora, ad avere le stesse prestazioni del suo creatore…e, in ultima analisi, stia diventando un “competitore evolutivo” vedi link).

Ma questa è un’altra storia.

E in tutto questo, perchè Tom, Turing, Federico e Radiohead?