blockchain?

In informatica, per vendere il prodotto, spesso si usano le “buzzword” per promuoverlo e creare aspettative nella gggente. Le “buzzword” sono parole usate per il suono e non per il significato, come ad esempio “multimediale” e “ipertestuale” agli albori di internet o, ultima in ordine di tempo prima della moda dei bitcoin: “duepuntozero”.

Adesso la buzzword regina è “blockchain”; pochi, fuori dall’ambiente informatico, sanno cosa significhi, cosa sia una blockchain e come funzioni. Sanno solo che sulla blockchain si basano i bitcoin, che sono una cosa superfiga che fa guadagnare godzillardi di denaro e quindi è una cosa superfiga che fa guadagnare godzillardi di soldi (almeno fino al prossimo botto della bolla speculativa, ricordate la buzzword dot-com?). E quindi infilano il termine “blockchain” in ogni dove; ma è solo uno specchietto per allodole.

Adesso faccialibro ha annunciato “libra” la sua criptomoneta, insomma FaceBitCoin, più che una innovazione mi sembra uno spacciare per innovazione epocale roba già esistente. Esistono un sacco di siti che hanno le loro valute digitali, penso ad esempio alle “gemme” di magic the gathering arena, per acquistare pacchetti di carte o l’oro di candy crush. Penso sia solo una mossa pubblicitaria per attrarre interesse visto che FB mi sembra stia passando un periodo di fiacca dopo le crescite vertiginose degli anni precedenti.

Anche perché per “libra” l’uso della blockchain mi sembra un poco impropria; se solo i partecipanti al sistema di pagamento possono accedere ed utilizzarla, di fatto la si sta trasformando in un semplice database condiviso, non hai le caratteristiche principali che son state “la killer application” per bitcoin, ovvero l’anonimità dei pagamenti e il fatto che chiunque potesse partecipare e costruire un nodo. Quindi perché porre l’accento sull’uso di tale tecnologia?

Il comune di Monaco molla linux

Fonte: https://www.techrepublic.com/article/ditching-windows-for-linux-led-to-major-difficulties-says-open-source-champion-munich/

Devo dire che me lo aspettavo; il progetto era nato male, troppi sogni e poca ingegneria dei sistemi, e veniva portato avanti solo per “motivi politici”. Cosa che ho visto tante volte in italia dove “open source” era uno slogan buono solo per fare scena. Per rendersi conto degli errori basta vedere questo vecchio post di vecchio post di Uriel.

Spiace dirlo ma non è colpa del gombloddo della Microsoft, come molti stanno già riprendendo ad urlare, ma di evidenti limiti del progetto, i soliti che ho visto anche negli altri fiaschi legati a migrazioni. Accusare di “gombloddo” senza cercare di capire cosa e dove si è sbagliato significa solo dare l’impressione di essere una manica di frignoni e non dei tecnici seri. Anche perché se c’è il gombloddone della microsoft sarei curioso di sapere come mai la stragrande maggioranza dei server professionali per aziende e pubbliche amministrazioni “medio grandi”, non la macelleria scannagatti, sia per la stragrande maggioranza linux based.

Codiamo, codiamo tutti…

L’incompetente non conosce le regole, il capace conosce le regole, il guru sa quando è il caso di violare le regole

Su faccialibro mi hanno coinvolto in una discussione sul coding alle elementari, ove per coding si intende l’insegnare il pensiero computazionale e i fondamenti della programmazione. Le obiezioni erano essenzialmente tre:

-> il coding, il saper programmare è una competenza troppo specialistica per essere insegnata.

-> meglio l’insegnamento “analogico” al digitale,

-> costringe gli studenti ad un pensiero rigido, a pensare per zero ed uno, uccidendo la creatività e tasformandoli in tanti piccoli robot. 1

Più una quarta che i progetti in realtà servivano per favorire le multinazionali del software ovvero la microsoft2; un poco di sano gombloddismo non guasta mai.

A me sembra che sul coding si faccia un sacco di confusione, come al solito, e che molti scrivano solo perché sottomano hanno una tastiera.

Prima considerazione: “coding” altro non è che il solito vizio italiano di usare una parola nuova per un concetto vecchio, il pensiero logico computazionale, per farlo passare come moderno. Il pensiero logico computazionale; il pensare in maniera matematica, conoscere, saper descrivere gli algoritmi, saperli utilizzare, è il fondamento di tutta la matematica e, conseguentemente, di tutte le scienze. Prima che venisse chiamato coniato il termine “coding” era quello che imparavi quando studiavi le tabelline e la geometria e ti esercitavi a risolvere i problemi come: Anna, Bruno e Carla hanno ognuno tre mele, quante mele hanno in tutto? Vogliamo preparare una tovaglia per un tavolo quadrato che ha il lato di 50 cm; quanti metri quadri di stoffa dobbiamo comprare? se la stoffa costa 8 euro a metro quadro, quanto spendiamo? Roba che alle elementari si è sempre fatta, solo che si chiamava aritmetica e geometria, e che si dovrebbe continuare a fare anche oggi. Chiamarla coding la fa sembrare qualcosa di figo, di moderno e di innovativo. Invece è la cara vecchia buona aritmetica.
Scava scava il linguaggio di programmazione è solo uno strumento, le strutture base della programmazione (istruzione, iterazione, scelta) son le stesse di qualsiasi algoritmo matematico e consentono di descrivere qualsiasi algoritmo e, conseguentemente, qualsiasi programma.  Il fatto è che molti confondono l’informatica con il saper usare il computer; il che è come dire che il conoscere l’ingegneria meccanica dei motori automobilistici è la stessa cosa di avere la patente e saper guidare una macchina. Usare il computer a scuola non è fare informatica come guidare non è fare progettazione di motori. Invece molti continuano a confondere la materia con lo strumento. Vero anche che molti su questa ambiguità ci giocano per lucrarci sopra. Quando insegnavo ho avuto problemi con ragazzi, convinti che l’informatica fosse la patente europea del software, si son trovati spiazzati quando invece di uord e uindos si è parlato di diagrammi di flusso e algoritmi.

Seconda considerazione: anche con l’informatica puoi fare insegnamento “analogico”; usare un mazzo di carte per spiegare gli algoritmi di ordinamento, fare il gioco delle venti domande per trovare una parola nel vocabolario, applicare tanti algoritmi “informatici” e modelli al mondo reale; prendere la ricetta della pizza come esempio di programma e convertirlo in un flow chart. Tante attività “analogiche”, coding non significa abbandonare i ragazzi davanti al PC.

Terza considerazione: una delle obiezioni contro il coding che ho sentito è: “insegna a pensare per zero ed uno, con regole rigide, riducendo l’alunno ad un automa”. Colossale uomo di paglia. Vorrei vedere un informatico che uno che “pensa” solo con una variabile binaria; si puàò pensare anche per “nibble” (4bit),  byte (8),  “word” (16)  e se proprio serve  “longint” (64 bit) 😀  In realtà la scuola già insegna a pensare con regole rigide di per sé, prendiamo ad esempio la grammatica: ci son regole “rigide” che impongono la concordanza del soggetto con il verbo o che vietano di usare un tempo futuro per parlare di eventi passati. “ieri io andrete al mare” è una frase che non significa niente. E non significa niente perché non rispetta le regole di concordanza del soggetto (io) con il verbo (seconda persona plurale) e non rispetta neppure le regole sui tempi, il verbo è al futuro mentre “ieri” fa riferimento al passato. La grammatica e la sintassi hanno le loro regole rigide quindi, se la rigidità delle regole uccide l’intelligenza e rende le persone automi, per coerenza sarebbe da eliminare anche la grammatica e la sintassi3 nell’insegnamento dell’italiano.

L’ultima considerazione sono invece le solite frignate “scolastiche” di chi cerca di verniciare con tanto idealismo i suoi bassi interessi di bottega, ovvero il non volersi aggiornare, il non voler imparare cose nuove per trasmetterle agli studenti.  Quello che trovo buffo è che i giorni pari ci si lamenti che i privati non investano nella scuola e i giorni dispari ci si lamenti del non voler diventare “schiavi” di chi nella scuola vorrebbe investire. Il solito “mamma ciccio mi tocca, toccami ciccio che mamma non vede”.

Uno dei compiti più importanti della scuola è fornirti un bagaglio culturale per interpretare, capire e saper agire nella maniera ottimale con il mondo; ed il pensiero logico matematico, o pensiero computazionale, rimane uno strumento molto potente per riuscirci. La scuola deve insegnarti a pensare non darti solo una sterile quanto inutile erudizione basata solo su tante nozioni disconnesse e avulse dalla realtà, senza che ti venga insegnato ad utilizzare tali nozioni, a collegarle ed a ragionarci sopra. E il coding altro non è che uno strumento per “applicare” il pensiero logico allo stesso modo dei problemi di aritmetica.

 


  1. una cosa che trovo divertente è che l’algebra di Boole che descrive la logica binaria altro non è che la formalizzazione matematica della logica aristotelica. Quindi lo studio di Aristotele e della filosofia è nocivo. Quando si parla di ironia. 
  2. Già il pensare che il software si riduca ai prodotti microsoft mostra quanto sia approfondita la conoscenza dell’informatica; e questo fa porre qualche sospetto su quanto possano essere appropriate certe obiezioni. 
  3. purtroppo temo stia già avvenendo, basta dare una lettura ai messaggi nei social. :-( 

cargo cult ed ingegneria gestionale

Il cargo cult (culto del cargo) è un culto religioso sviluppato da alcune popolazioni aborigene durante la seconda guerra mondiale; si trattava del copiare gli aeroporti e dell’imitare il comportamento del personale aeroportuale. Si parla di “cargo cult” quando qualcuno copia la forma senza però aver capito nulla della sostanza.

Una cosa che accomuna l’ingegneria del software e l’ingegneria gestionale è che spesso diventano oggetto di Cargo Cult da parte di incompetenti. Molti erroneamente ritengono che si tratti di attività facili, alla portata di chiunque, e che basti imitare vagamente la forma: diagrammi e tabelle, per arrivare alla sostanza. E quando tentano di reinventarsi ingegneri ottengono risultati che vanno dal comico al tragico (soprattutto per chi deve sopravvivere alle loro sparate o cercare di riparare).

Stamattina ho avuto un esempio di cargo cult dell’ingegneria gestionale; gli HR hanno chiesto la compilazione di una tabella sulle attività svolte. Nulla da eccepire, un feedback sulle attività è utile ed anche dovuto. Però ho trovato strano che mi venga chiesto l’autput (scritto così invece di output) del mio lavoro misurato secondo una metrica assurda ed inadatta.  Metrica di valutazione delle attività informatiche azzeccata più o meno come l’usare come metrica per valutare un giocatore di calcio il numero di rimesse laterali effettuate.

Proprio un esempio da manuale di cargo cult dell’ingegneria gestionale.

 

W i marò

Qualcuno potrebbe consigliarmi sul modo migliore di spiegare ad un simpatico amico indiano, che se si visualizza un sito italiano facendolo tradurre in inglese da google translate, anche i nomi delle strade possono venire tradotti e quindi essere diversi dal nome in italiano.
Grazie.

mazza
Un efficace strumento didattico.

 

Sistemi automatici, spam e trolling

Stavo leggendo questo articolo ove si parlava del problema del trolling su internet.  Sono abbastanza vecchio da aver visto le flamewar e il trolling sui forum e su internet e conosco abbastanza bene l’informatica per poter dire che, al giorno d’oggi, non può esistere e forse non esisterà mai un sistema automatico capace di ridurre a zero trolling.

Umoristicamente parlando si può dire che risolvere il problema del trolling si trova nella stessa classe di difficoltà del problema della stupidità. E, come disse un grande: contro la stupidità neanche gli dei possono nulla.

Al problema del trolling son connessi strettamente altri due problemi: l’indicizzazione precisa da parte dei motori di ricerca, in maniera che forniscano precisamente il contento cercato e non, come capitò ai suoi tempi con i primi motori di ricerca, qualche pagina uebbè con tante signorine poco vestite, e i filtri antispam che dovrebbero “segare” lo spam.

In tutti questi casi esistono sistemi automatici che svolgono il grosso del lavoro, e lo svolgono abbastanza bene. Le criticità son legate soprattutto ai falsi positivi, messaggi che sembrano essere spam, trolling e che invece non lo sono.  Segarli automaticamente? Il rischio è perdere qualcosa di interessante o di importante perché magari qualche spiritoso inizia con un “questo non è il solito enlarge your penis…”

Per un sistema automatico è difficilissimo capire il contesto e spesso il contenuto del messaggio può essere classificato come spam o trolling solo esaminando il contesto.  Capita anche per gli esseri umani; questa è una delle più celebri leggi di internet:

La Legge di Poe afferma che «senza un emoticon sorridente o qualche altro chiaro segno di intenti umoristici, non è possibile creare una parodia del fondamentalismo in modo tale che qualcuno non la confonda con il vero fondamentalismo»[1].

La legge di Poe afferma che, in un testo scritto, privo degli elementi prosodici della lingua parlata (tono e intonazione) e di loro sostituti grafici (del tipo in uso nelle scritture brevi, come emoticon e smiley), è arduo parodiare il fondamentalismo (o, in generale, ogni teoria o ipotesi strampalata) partendo dall’elemento da parodiare, poiché sia la parodia sia l’oggetto della stessa sembrano sconclusionati e rischiano di essere confusi l’uno con l’altro. Viceversa, il vero fondamentalismo può facilmente essere confuso con la parodia del fondamentalismo stesso. fonte wikipedia.

Inoltre se conosco bene come funzionano i filtri posso anche pensare a modi efficaci per aggirarli, basta vedere come agiscono spammer e scammer vari. O chi scrive nei forum con moderazione automatica “blocca insulti”  Watt a Farad in Coulomb, Tesla d’Ampere.

Ecco perché è molto difficile scrivere codice blocca trolling: il trolling è ancora più subdolo dello spam, dipende fortemente dal contesto; la stessa frase può essere umorismo oppure trolling a seconda del contesto e i software hanno molta difficoltà ad individuare il contesto.

L’unico quindi è usare i soliti, classici, sistemi: white/black list per gli autori, segare e censurare tutto quello che non piace. Rendersi conto che i social son la piazza dove tutti possono urlare e si ha poco controllo sulle urla che si sentono, i blog sono un ambiente un poco più riservato.

 

 

 

 

Perché i sistemi automatici non possono funzionare?

Il problema degli amministrativi che non capiscono un cazzo.

Talvolta capita che un tecnico informatico debba predisporre dei progetti e che si materializzi il suo peggiore incubo: che il progetto prima di essere consegnato ai  tecnici informatici dell’altra parte venga vagliato, e corretto, dagli amministrativi, che di informatica non capiscono un cazzo e che si limitano a ripetere  quattro slogan alla moda generando situazioni fra il drammatico e il surreale.

A me son capitati alcuni episodi; agli albori dell’informatica (~AD 2002 circa) mi era stato chiesto di predisporre la rete LAN di un’aula di informatica e configurare il router e i PC affinché andassero in rete. E scrivere un rapportino da consegnare al tecnico che avrebbe seguito la rete. Lo faccio e preparo due paginette: gli indirizzi dei PC sono questi, il DNS è quest’altro, il gateway questo, gli switch son questi altri. Due paginette scarne con le informazioni essenziali sulla rete e sugli apparati. Consegno il documento al mio referente amministrativo, lo guarda e mi dice che era troppo scarno. Che doveva essere di almeno 60 (sessanta!!!) pagine e 5 (cinque!!!) diagrammi per essere considerato accurato.
Preparo il documento richiesto scrivendo un sacco di cavolate inutili come il datasheet completo delle schede di rete, diagrammi scontati in cui specifico che tutti i PC sono collegati fra loro ed al router attraverso lo switch, che i cavi di rete son da collegare alla presa di rete dei PC  e alla placca presente in stanza (il IV segreto di fatima) e lo consegno.
Due giorni dopo mi arriva una telefonata dal collega, informatico, che mi chiedere perché avevo scritto tutte quelle stronzate invece di fargli avere due paginette scarne…

Altri episodi che capitano sono che mentre tu parli di cosa vorresti ottenere loro si concentrano sul come ottenerlo e viceversa: “Dunque il portale avrà delle maschere per interagire con gli utenti e permettere loro di segnalare questo e quello. Ma perché non si usa il prodotto XYZ?”
Richieste di evidenziare parti che, per un tecnico sono scontate; roba del tipo: “Ma perché non hai specificato che quando treno si ferma alla stazione allora non si sta muovendo?”.
E l’interazione con i tecnici della controparte è difficoltosa, sopratutto se il messaggio non è trasmesso “AS IS” ma viene interpretato e viene trasmessa l’interpretazione; la richiesta: “posso avere la struttura della base dati comprensiva della descrizione delle chiavi e delle relazioni” viene tradotta in “potete darci il database delle chiavi completo?

Qual’è il problema dell’approccio: “non capisco un cazzo ma voglio mettermi in mezzo per far vedere che io so fare (grandi cazzate?)” Essenzialmente due:

la prima è che una volta che arriva il documento “corretto” ai tecnici della controparte penseranno che sia stato scritto da un qualche incompetente che si guardava hackers mentre era in overdose di allucinogeni e quindi non capisci se hai a che fare con una persona capace tecnicamente che ha la sfortuna di essere diretto da un incompetente che si vuole mettere in mezzo oppure hai a che fare con in perfetto imbecille. Informazione fondamentale per valutare quanto possa essere proficuo adottare la soluzione di scavalcare gli amministrativi quando c’è da discutere di questioni prettamente tecniche.

E la seconda è che si deve perdere tempo a spiegare ad un non tecnico questioni che, per mancanza di informazioni e di background tecnico, non può capire pienamente e cercare di tenere il progetto coerente e corretto in maniera che passi sia la valutazione amministrativa che quella tecnica. Purtroppo l’amministrativo pensa che il progetto sia destinato al suo corrispondente dell’altra parte e quindi sia capibile da lui e non pensa che prima o dopo, spesso purtroppo dopo, ci sarà anche la valutazione tecnica. E questo spiega come molti progetti, ben disegnati e descritti si trasformano in pastrocchi pasticciati e infarciti di buzzword perché,devono far colpo sul commerciale dell’altra parte, per poi finire cassati dalla parte tecnica perché pastrocchi pasticciati e infarciti di inutili buzzword. (E ovviamente la colpa è dell’informatico che non capisce nulla…)

 

Dieci linguaggi [di programmazione] per me…

Stavo discutendo con una amica che lavora come docente di informatica nelle scuole superiori. Si lamentava che non potesse ricevere il punteggio “bonus” dovuto al possesso dell’ECDL nonostante, per legge, potesse tranquillamente tenere i corsi e far svolgere gli esami per il conseguimento. E, nella discussione, ha anche affermato che “conosco dieci (0x0A) linguaggi di programmazione(1) visto che gli ho dovuti insegnare nei miei corsi”…

La storia dei dieci linguaggi è emblematica di come molti docenti intendano la programmazione come la mera conoscenza della sintassi del linguaggio scelto. Cioè se io conosco la sintassi del while in php allora conosco il php. Purtroppo non è così, il saper programmare è un qualcosa che dipende poco dal linguaggio di programmazione scelto, è la capacità di pensare la sequenza di algoritmi per arrivare alla soluzione del problema e trasformarli in istruzioni chiare per ottenere il risultato atteso. Il tradurre tali istruzioni poi nella sintassi del linguaggio di programmazione è un passo abbastanza semplice.
Sì, certi linguaggi possono facilitare lo svolgimento di alcuni compiti, ad esempio il C rende facilissimo lo spararsi in un piede 🙂 e il C++ di riusare il proiettile per spararsi all’altro >:-D o il PERL per scrivere codice funzionante ma inmantenibile, ma ciò che conta non è tanto la sintassi del linguaggio quanto il saper programmare. Per il teorema di Bohm e Jacopini qualunque algoritmo può essere implementato usando solo tre strutture di controllo: la sequenza, la selezione e il ciclo, il linguaggio al più può metterti a disposizione scorciatoie o sistemi per rendere più robusto il codice (programmazione ad oggetti) ma l’importante è l’algoritmo non il linguaggio nel quale tale algoritmo verrà tradotto.

(1) Non esiste un linguaggio standard per l’insegnamento ma il linguaggio è a scelta discrezionale del docente. I testi di informatica propongono diversi tipi di linguaggi, dai vecchi, ma sempre validi, C e Pascal ai linguaggi alla moda del momento come PHP, Visual Basic o Python.

Schiavitù…

Stavo leggendo questo interessante pezzo di raphael, e mi è venuto da riflettere. Generalmente in tutte le polemiche della scuola o del lavoro puntualmente salta fuori uno ad urlare che “vogliono renderci tutti schiavi mentre la cultura rende liberi”.  Però il vedere uno zio Tom che blatera di come la sua prodigiosa cultura lo renda libero, mentre si spacca la schiena per 16 ore al giorno nei campi mi farebbe dubitare alquanto della mitica libertà che la sua cultura dovrebbe garantire.

Dove servono gli schiavi? se si studia un poco la storia degli stati uniti si vede che la schiavitù formale era diffusa nel sud agricolo dove occorrevano persone per svolgere lavori semplici ma non meccanizzabili a differenza del nord industriale dove le macchine rendevano superfluo l’uso di schiavi(1). Le riflessioni che ho fatto sono due:  “chi ha bisogno di schiavi?”, e seconda, “come evitare di essere ridotti in schiavitù?”.

La risposta “chiunque ha bisogno di sfruttare persone sottopagandole” potrebbe sembrare giusta ma invece è fuorviante. Posso sfruttare una persona ma se è valida molto probabilmente troverà altro, un negriero meno negriero ad esempio, e se io baso tutto il mio lavoro su di essa sarò io a finire nella merda. Quindi la risposta corretta è “chiunque ha bisogno di sfruttare persone sottopagandole per svolgere lavori in cui sono facilmente sostituibili“.   Quando parlano della delocalizzazione di un call center per la gestione dell’assistenza tecnica puntualmente salta fuori la storia dell’alta professionalità acquisita, del non disperdere un capitale di capacità… peccato che siano balle.  Per addestrare una persona a rispondere al telefono, leggere un elenco di domande preimpostate, classificare la risposta dell’utente e agire di conseguenza basta una giornata, due se vogliamo proprio esser buoni. Quindi trovare un operatore di call center per sostituire uno che per un motivo o per un altro mi molla mi costa sì e no due giorni di addestramento più l’eventuale tempo per trovare il sostituto e fargli il colloquio. Però visto che i call center sono bombardati da CV il trovare un sostituto e renderlo operativo non prende più di due o tre giorni.

Diverso se devo sostituire un project manager o un programmatore esperto (non code monkey), quello che spendo per trovare un valido sostituto(2) è, in tempo e denaro(3), molto quindi non mi conviene rischiare che il tizio mi molli per qualcuno che, semplicemente, non lo obbliga a girare con la scopa nel culo per spazzare l’ufficio.

E questo ci porta alla seconda riflessione: come evitare di poter essere ridotti in schiavitù? E la risposta è: avere potere contrattuale ovvero avere competenze e capacità che servano alla controparte e che rendano oneroso trovare un sostituto(4). Occorre quindi saper fare e ovviamente occorre il sapere alla base del saper fare. Serve cultura, la cultura rende liberi. Ma serve la cultura cultura quella del sapere e del saper fare, non quella che ti fa conoscere quattro parole “esotiche” buone solo per sparati pose da colto. Perché il tuo valore, piaccia o no, sono i costi che il datore di lavoro dovrebbe affrontare per trovare una persona capace di sostituirti nel tuo lavoro e prendere il tuo posto svolgendo il lavoro almeno con la tua stessa qualità. 

Visto da quest’ottica si spiega molta schiavitù, ad esempio quella dei bodyrentallari o dei caporali che piazzano esperti  in C/C++/C#/java/SQL/VisualBasic/ASP/Flash/Javascript/PHP/Python/MySQL/PostgreSQL/Oracle/SQL Server/Windows/Linux/Apache/IIS/Exchange… di 22 anni con laurea, dottorato di ricerca e 15 anni di esperienza… Sostituire uno con quei requisiti con un altro con pari requisiti è immediato, il tempo di cambiare i dati personali nel CV tarocco…

(1) Uno schiavo meccanico è meglio di uno schiavo umano.

(2) Se il project manager o qualche programmatore senior può essere sostituito in quattro e quattr’otto allora il progetto informatico cui lavora l’azienda non vale un c…

(3) il tempo è denaro, ritardi nella consegna del progetto costano, il tempo che devo levare ai miei tecnici per mandarli a fare i colloqui costa…

(4) Ricordo una discussione su punto informatico, e su come quantificare quanto si vale per il cliente o per il datore di lavoro. Discussione ovviamente impestata da persone che da sole tenevano in piedi una multinazionale (segretaria tettona del capo compresa) percependo uno stipendio che avrebbe fatto schifo ad uno schiavo di rosarno. E stranamente non facevano girare CV per cercare altro e mandare aff. i vecchi datori di lavoro.

i danni causati dal linarus bipartitionis vulgaris.

Stavo leggendo, sul fatto, e discutendo in un salotto buono della questione “perché migrare a linux e all’open source” e di quanto possano essere nocivi alla causa i talebani dell’open source, quelli che vogliono essere più stallmaniani di stallman.

Il salotto buono è interessante ma poco divertente; ti aspetti una puntata di boyager sugli alieni che costruiscono le piramidi e ti trovi invece “superquark” che mostra come era possibile costruirle con le conoscenze tecnologiche dell’epoca e passa un bel servizio sul telescopio spaziale Hubble. Ottima roba interessante ma niente fallacie e strafalcioni su cui ragionare.

Invece nel forum del fatto, dove si discute di linux è utile perchè mostra uno spaccato dei linarus bipartitionis vulgaris(1). Un sacco di persone convinte che linux sia meglio perché è gratis, perché ci puoi fare tutto, perché c’hai il codice sorgente, perché è alternativo e quindi è fico.

Prima di tutto vorrei sapere cosa ci sia di alternativo in un kernel (il kernel di android è linux) diffuso in ogni dove, in gozzilardi di dispositivi, ma forse lo rende alternativo il fatto che si vedano pochi PC che lo montano e molti si spacciano da linari solo per spararsi pose da acher. Si tratta di un prodotto tecnico e come tutti i prodotti può essere più o meno adatto agli usi cui vorremmo destinarlo.

Seconda cosa, molti strapparlano di linux e di sistemi informativi ma dimostrano platealmente ignoranza di cosa sia in realtà un sistema informativo e di cosa sia un sistema informativo con 14.000 macchine come è quello del comune di Monaco di Baviera. Un fiorire di aneddoti al livello: mi ha detto mio cuggino che sa un commando linux segreto che se lo scrive dopo tre giorni spegne internet. Gente convinta che per gestire quella rete basti ripetere 14.000 volte quello che fanno nel computer di casa e gente entusiasta perché con linux è tutto gratis, e c’è tutto.  Nel caso mancasse qualcosa, la si può commissionare a tre informatici, assunti a progetto, che la scriveranno in una settimana.

Analisi che, a voler fare i buoni, si possono definire ingenue ed idealiste. Il supporto su linux lo paghi così come quello sul software proprietario, e tutte le volte che c’è movimento di denaro c’è rischio corruzione. E a seconda di quello che ti serve forse una settimana è poco per scrivere un buon software.

Rinunciare al supporto tecnico perché c’è la mitica community di supporto che interverrà sempre, rapidamente, comunque e dovunque (o nel caso sia necessario i tre informatici a progetto) è una azione intelligente tanto quanto il chiudere l’ospedale perché tanto c’è san Gennaro che fa i miracoli (o per i non credenti perché ci si può curare con limone e peperoncino o stamina).

Che danni causano questi cialtroni completamente a digiuno di informatica? Come nel caso di stamina, diventano un movimento di opinione che può spingere chi deve decidere gli indirizzi, ovvero il politico, a fare pressioni affinché le scelte tecniche: “installiamo questo o quello”, “usiamo il pacchetto X o il pacchetto Y”, vengano prese non per motivazioni tecniche ma per motivazioni politiche: usiamo il gestionale X perché è opensource ed è scritto da una Cooperativa Equosolidale di Mugnai Indocinesi (S.C.E.M.I) invece di quello delle malvagie multinazionali amerrigane. Peccato che S.C.E.M.I. funzioni da dio per mandare avanti una cooperativa di mugnai ma quando si prova ad usarlo per gestire i volumi di dati di una pubblica amministrazione abbia qualche problemino di scalabilità. Risultato: il budget dell’informatica viene bruciato per correre dietro a farfalle invece di comprare le licenze dei software chiesti dai tecnici.

Ho sentito di un paio di enti pubblici che annunciavano in pompa magna una migrazione full opensource e poi, zitti zitti, son tornati indietro perché Open Office litigava con il programma di contabilità o perché non esisteva la versione linux del programma di pianificazione e gestione della raccolta rifiuti usato dall’ufficio tecnico.

Ma questi fallimenti, come nel caso di stamina, non inficiano la validità della cura anzi paradossalmente vengono presi come esempio dei gombloddi(2) delle multinazionali per sabotare linux e l’open source. E come stamina tutte le volte che decisioni tecniche vengono prese per motivi ideologici e di pancia e non per motivi tecnici finisce tutto (o quasi) in merda.

Infatti un fiasco in una migrazione, fiasco causato da mostruosi errori su budget, tempi e risorse ha come effetto di far considerare un cazzaro chiunque proponga, anche se con uno studio serio, anche se con analisi realistiche di costi e ricavi, di inserire linux.

(1) Io uso linux per tutto, a parte quello che posso fare con windows.

(2) Col gombloddo puoi dimostare qualsiasi cosa. Ex gombloddus quodlibet.