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. :-( 
Annunci

I sistemi automatici e le tette su facebook

AlphaGo è un software sviluppato per simulare un giocatore di Go, un gioco simile agli scacchi ma con un numero di potenziali partite molto più elevato rispetto a quello già elevatissimo degli scacchi, per intenderci si parla di 2, seguito da centosettanta zeri di possibili configurazioni.
AlphaGo è stato il primo software capace di battere un maestro umano di Go.
https://it.wikipedia.org/wiki/AlphaGo

Ogni tanto si apre una piccola polemica perché su Facebook è stata censurata questa o quella foto oppure il profilo di tizio è stato segato, apparentemente senza motivo. La risposta non è il solito “gombloddo” ma semplicemente la “stupidità” dei sistemi automatici di controllo. Per un banale motivo di volumi di traffico(1), per facebook non è possibile avere sistemi manuali di moderazione, ovvero sistemi ove una persona umana guarda l’immagine e decide se sia ammissibile o meno.
La gran parte della moderazione è affidata a sistemi automatici, sistemi automatici che non hanno le capacità e la sofisticazione di AlphaGo quindi funzionano in maniera abbastanza rozza e diretta. Ad esempio sono incapaci di distinguere fra un seno messo in mostra da una donna che allatta e un seno mostrato dalla solita “amica di ammore” per raccattare gonzi.  Se il sistema automatico nota un capezzolo fa cadere automaticamente la mannaia, sia che si tratti di una foto degna di youporn, sia che si tratti di una foto artistica come quella Anastasia Chernyavsky; il software vede solo “una donna nuda” non riesce ad interpretare la foto. Non c’è alcun intervento umano diretto e, da tecnico, capisco che sviluppare un software di riconoscimento di immagini in modalità “ultrabacchettona” è molto più facile e veloce che svilupparne uno capace di distinguere fra una donna che allatta e una che invece fa esibizionismo.

Un altro sistema che usano i social è un sistema di censura semiautomatica dove un sistema automatico (spesso chiamato ‘bot’ da robot) censura al verificarsi di certe condizioni come potrebbe essere un certo numero di segnalazioni “genuine(2)”. Questo permette di intervenire rapidamente nel caso qualche utente posti immagini offensive/razziste/oscene etc. etc. ed è stato fatto anche allo scopo di evitare il più possibile rogne. Il difetto di tale sistema è che mettendosi in accordo in gruppo e segnalando in massa qualsiasi immagine questa verrà messa automaticamente in moderazione, anche se è un’immagine relativamente innocente. Ecco spiegato quanto è avvenuto a Luca Bizzarri.

Quello che a me stupisce non è che su FB vengano fatti giochetti simili, analoghi ad esempio al google bombing, quanto che molta gente non capisca come funzioni e sia convinta invece che ci sia un tizio che controlla immagine per immagine e mette i bollini allo stesso modo della commissione censura dei film. Non è così, dietro ci son solo stupidi bot e qualche supervisore che interviene quando il patatrac fatto dal bot diventa piuttosto grosso, altrimenti, FB si fida ciecamente del bot. Sì, può capitare qualche falso positivo (foto immagine che viene classificata come inadatta pur non essendolo) ma più che indagare i falsi positivi preferisce tollerarne un certo numero in cambio dell’economicità e del funzionamento abbastanza efficace del sistema automatico di moderazione. FB ragiona di numeri e di volumi e non tiene particolarmente al profilo di scosciandra.

(1) fonte: https://www.wolframalpha.com/input/?i=daily+visitor+of+facebook.com

Input interpretation:
facebook.com | daily visitors

Result:
510 million visits/day (visits per day) (based on Alexa estimates, as of 30/03/2016)

Unit conversions:
5903 visits/s (visits per second)

354167 visits/min (visits per minute)

(2) Generalmente eliminano le segnalazioni se provengono tutte da uno stesso indirizzo internet oppure le considerano duplicazioni e tengono conto solo della prima

phishing abbastanza sofisticato…

A quanto pare i tentativi di truffe mediante phishing stanno diventando abbastanza sofisticati. Stamattina ho ricevuto questa lettera nella casella di posta

Oggetto: Notifica: 636512
Data: Thu, 22 Jan 2015 03:25:01 +0100
Mittente: AgenziaEntrateIT < indirizzo_valido @ altro_dominio >
A: mio_indirizzo_di_posta @ mio_provider

Gentile, mio_indirizzo_di_posta @ mio_provider.

Si invitano tutte le persone fisiche e giuridiche a visionare e seguire con rigore Le Linee Guida fornite dall’Agenzia delle Entrate (in allegato).
E sufficiente seguire le indicazioni per evitare di essere segnalato dal sistema come un soggetto “a rischio” dopo il primo controllo basato sul c.d. “redditometro”.
Il materiale da consultare (Le Linee Guida) viene consigliato specialmente ai soggetti che utilizzano i servizi telematici finanziari (es. Internet Banking).

Nell’ambito dell’attivita di controllo nei confronti delle persone fisiche e giuridiche, nel 2014 e
stata data attuazione alla normativa prevista dall’art. 38, commi quarto e seguenti del D.P.R.
n.600/73 e dal D.M. 24 dicembre 2012 (il cosiddetto Redditometro).

A questo riguardo e stato predisposto il nuovo applicativo informatico “VE.R.DI.”,
destinato alle attivita di analisi del rischio sulle persone fisiche e di ausilio alla
determinazione sintetica del reddito.

Si tratta di uno strumento innovativo che sara oggetto di implementazioni e miglioramenti volti ad ottimizzarne le funzionalita.

Scarica l’aggiornamento
http:// agenziaentrategovit DOT info(1) / … / MALWARE.zip

Agenzia Entrate.
Grazie.

È scritta in italiano corretto e simil legalese e penso faccia leva sulla paura di equitalia. Non ho aperto il link inviatomi ma penso sia il solito programmino di verifica da installare per evitare di essere pizzicati dal redditrometro.  Penso che dietro ci siano italiani o persone che conoscono bene l’italia. Non ho verificato i riferimenti di legge.
Me ne sono accorto per due motivi: il primo è il mio indirizzo di posta e non il nome dopo il gentile e il secondo è il dominio che ospita il malware molto simile a quello istituzionale dell’agenzia delle entrate.  Un whois sul dominio ha confermato i sospetti.

quanto vale un lavoratore?

Stavo seguendo nel blog di uriel le discussioni sul lavoro precario e sul lavoro come commodity. Sinceramente molti ragionamenti, fatti dai datori di lavoro, mi sembrano campati per aria come i ragionamenti sul software libero fatti dall’esaltato di turno: “il software libero è come il proprietario e puoi sostituire tranquillamente ed immediatamente(1) windows con linux (o office con open office, o Oracle con sqlLite… :-D) adesso.

Stessa cosa per i lavoratori, chi pensa che il lavoratore sia solo una materia prima, crede che i lavoratori, tutti, siano perfettamente interscambiabili come se fossero pneumatici o benzina; cosa ti vieta di far benzina al distributore della marca X che costa meno, invece che della marca Y più caro, montare pneumatici marca A più economici di quelli, con pari prestazioni di marca B, sbaglia e sbaglia di grosso e rischia alla grande di rimetterci un coulomb di soldi(2).

Riporto due messaggi che postai, a suo tempo, su punto informatico nei commenti sugli articoli di Cubasia.

quoto il pezzo interessante dall’articolo

Bene, avevamo ottenuto il nostro obiettivo, potevamo ricevere la nostra lauta ricompensa, ed, infatti, ricevetti come Bonus annuale una tantum 100 mila lire lorde !
Al mio capo non andò meglio. Successe cosi che nel giro di 15 giorni demmo le dimissioni, io, il mio capo e perfino il capo del mio capo!

A quel punto il responsabile della produzione mi contattò e mi fece una contro-offerta pazzesca per rimanere.

Che cosa era successo? Semplicemente che l’azienda si era fatta due calcoli ed aveva visto che darmi un aumento significativo (ma molto significativo) era comunque più conveniente che perdere un progetto con 12 persone (questo perché il cliente aveva posto come clausola o me o niente progetto).

se volete sapere quanto valete per l’azienda cercate di stimare, almeno ad occhiometro quanto costerebbe all’azienda sostituirvi, cercando di quantificare tutte le varie voci di spesa, considerando anche il tempo per trovare un sostituto e per addestrarlo, quanto pagherebbe per i ritardi con i clienti e cosa perderebbe (anche perdere la faccia anche se non è un costo vivo è un qualcosa che alla lunga causa perdite, se hai fama di inaffidabile pochi si fideranno di te.)
Così avrete chiaramente l’idea di quanto potete tirare la corda, e sopratutto non cercate di puntare su un solo cavallo, evitate anche voi di poter essere messi sotto ricatto, tenete i contatti e guardate continuamente gli annunci di lavoro, talvolta più che un: mi dimetto è più devastante un vado a lavorare da tizio.
Perchè la fama di tecnico competente è vostra e non della vostra azienda, perchè la vostra esperienza rimane a voi e ve la potete (e dovete) portare dietro.
http://punto-informatico.it/b.aspx?i=1931327&m=1931887&is=0#p1931887

***

capire quanto valete? per farlo basta rispondere ad una semplice domanda:

quanto tempo impiegherebbe, e quanto denaro costerebbe all’azienda trovare qualcuno che mi sostituisca e che sappia fare il mio lavoro ?
http://punto-informatico.it/b.aspx?i=2253307&m=2254547&is=0#p2254547

***

Il valore di un lavoratore, se vogliamo ragionare solo su basi meramente economiche(3), è dato anche da quanto è rognoso sostituirlo. Cambiare un operatore di call center che deve vendere contratti o fornire risposte precompilate è facile e veloce, sostituire invece un analista programmatore od project manager vero(4) costa, costa perché il progetto si ferma e serve tempo per trovare e addestrare il successore. chiunque abbia provato a programmare si è reso conto di cosa vuol dire dover mettere mano a codice scritto da altri, capire come funziona, con quale logica è stato scritto, come e dove mettere le mani(5).  Ci vuol tempo, e il tempo è denaro, soprattutto se i commerciali hanno già venduto tutto e promesso la verginità delle loro figlie come penale per i ritardi…

Ecco perché penso che il jobs act non sia del tutto sbagliato; trovo poco verosimile che una azienda dopo che ha investito per formare figure professionali dopo tre anni le cambi per assumerne nuove; o meglio può capitare nel caso di lavori semplici dove il tempo per trovare e formare un è pochissimo, ma se serve qualcosa di più complicato di rispondere al telefono per aiutare utenti che “non mi funziona internet” allora cambiare il lavoratore costa, e può costare molto.

Purtroppo invece molti project manager son convinti di far marciare tutto solo muovendo carta e probabilmente non hanno mai avuto esperienze reali di lavoro. Però gli scopri subito quando vedi il classico giochetto delle parti dove l’azienda cerca un giovane motivato con i seguenti requisiti:

Azienda leader nel settore  food supply chains (bottega sotto casa) cerca giovane dinamico e motivato. Richiesta laurea + dottorato + 20 anni di esperienza su Linux, Windows, Mac, Office, Open Office, linguaggi di programmazione C, C++, Perl, Python, Java, C#, C? C+-, PHP, VB, VBScript, Javascript, LISP, ADA, PROLOG, Ocaml, SQL, Haskell, Erlang, Pascal, Basic, Assembler. Amministrazione Apache, Oracle, WindowsServer, Condominio, PostgreSQL, MySQL…
si offre un tirocinio formativo non retribuito.

E il giovane che si presenta nel mercato del lavoro ha le seguenti caratteristiche…

Giovane di 25 anni con 6 lauree, 18 dottorati, 58 master, 666 certificazioni, 40 anni di esperienza ininterrotta come SistemistAnalistaProgrammatoreProjectManagerDonnaDellePulizie presso i più grossi big del settore (la bottega di alimentari sotto casa e lo studio dello zio geometra NdA)… cerca  aziende affermate e innovative. Si richiede il PIL del Rwanda come stipendio medio mensile (benefit esclusi).

E Darwin se la gode…

(1) Mi riservo di approfondire la questione in seguito.

(2) Un coulomb di soldi è il quantitativo di denaro che, in caso di perdita, porterà il vostro sfintere anale esterno ad avere, a riposo, il raggio di un metro.

(3) Lasciamo fuori fedeltà, condivisione degli scopi aziendali e le tante belle cavolate del marketing, la lealtà deve essere reciproca.

(4) Non un manichino di cravatte che parla italish. (linguaggio a metà strada fra italiano e inglese)

(5) Minix Is a Harsh Mistress. Come progetto nel corso di Sistemi Operativi all’Università ho dovuto scrivere una patch al sistema di gestione del file system per implementare funzioni di crittografia trasparenti agli utenti.  L’idea era di provare ad intercettare le chiamate di sistema per scrivere o leggere sul disco e, nel caso la destinazione (o provenienza) fosse quella cartella, crittografare e decrittare in maniera trasparente all’utente i file ivi contenuti. La crittografia era ottenuta mettendo i singoli byte del file in XOR con la maschera 0xFF. Scrivere codice in C usando VI originale, la bourne shell e gli strumenti di sviluppo originali di minix. Ti rendi conto di tante, ma tante, ma taaaante cose sulla programmazione… (oltre al diritto, vita natural durante, di disprezzare chiunque parli della difficoltà di programmazione in PHP…)

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.

Quanto costa sviluppare un software?

Stavo discutendo riguardo alle migrazioni software verso il software OS annunciate dal comune di torino e il parziale ritorno a windows del comune di napoli e, spesso,  all’obiezione che per il compito X esistono solo software che girano su determinati sistemi(1) e che richiedono determinati database(2),  salta fuori il genio che osserva: “e allora? si prendono 4 (quattro!) programmatori e si fa scrivere il tutto

Come capita ad esempio in questo tread: http://www.lffl.org/2014/08/napoli-abbandonare-ubuntu-ritornare-microsoft-windows.html#comment-1529538883

freestyle72
Quello che io mi chiedo è:
è mai possibile che i tanti comuni italiani (lo stato), che neccessitano di tali software funzionanti “solo su windows”, non siano ingrado di unire le forze e commisionare a Canonical o chi per esso (penso anche ai tanti programmatori, alcuni italiani, indipendenti), dei prodotti analoghi?
A Linux, mancano i finanziamenti non i programmatori!
… si continua a sperperare soldi pubblici in licenze windows che non donno nulla alla comunità! è assurdo, quando gli stessi possono essere spesi per finanziane nuovi software perfettamente funzionanti in Linux.(…)

mia replica

Non si può rispondere senza prima vedere le cifre: quanto costa, come denaro e come tempo, far scrivere e mantenere direttamente un software rispetto al comprare adesso una soluzione chiavi in mano?

e sua controreplica

OK, allora facciamo questo giochino.
Quanto prenderà di stipendio un programmatore mediamente abile?
… (non so), facciamo 3000/4000 euro al mese?
In un anno costa 4000×12= 48000 + altre 4000 per la 13°, per un totale di 52000!

Ora mettiamo che lo stato italiano faccia un bando di assunzione per 100 programmatori Linux, per realizzare nel tempo una completa migrazione dei software proprietari Win, a software statali Linux.

Allora abbiamo un costo di 52000 x 100 = 520.000 annui!

Già qui siamo ben al di sotto dei soldi spesi in licenze solo nel comune di Napoli, figuriamoci a livello nazionale.

E’ evidente che c’é un forte risparmio economico (non ci vuole un genio)!
Si creano 100 posti di lavoro (pochi, ma sempre utili)!
Il software è sicuramente più sicuro, e specifico all’uso!
Sai esttamente ciò che fa, senza interferenze altrui, vedi CIA FBI ecc…
E lo puoi mantenere efficente con un “esercito” di 100 programmatori che non son pochi!
Ricordo che sto dicendo di creare solo software neccessario non l’OS.
Quello si prende una Debian che è sufficentemente sicura e stabile.e qualche centinaio di milioni di investimento.

Qui si vede l’eccessivo ottimismo sui costi reali, ottimismo che poi frega. Supponiamo che un senior ti costi 52K euro annui; con 100 senior non riesci a fare molto se non ti doti di una struttura di coordinamento che segua tutto il ciclo di sviluppo del software (analisi, implementazione, collaudo…) quindi ai 5 milioni e passa euro di costo (e non 520.000 come erroneamente calcolato) se ne dovrebbe aggiungere un altro per la struttura di coordinamento.

Seconda cosa: questo se supponiamo di avere già i sorgenti e l’analisi del software e di dover fare una conversione 1:1 dal software windows al software linux. Se il software è chiuso occorrerà fare anche un minimo di reverse enginering per avere un software che presenta le stesse funzionalità (anche se non con la stessa efficienza) e il tempo salirebbe minimo a 3 anni. (18 MLN di investimento) e questo per un software di complessità medio-alta (roba affrontabile da un centinaio di programmatori senior). Se consideriamo software critici di fascia alta come oracle (su cui si basano molti enti pubblici) o SAP minimo, minimo, occorreranno almeno 20 anni e almeno 10.000 senior (più struttura di gestione). Investimenti quantificabili in miliardi e decenni.

E manca anche un altra cosa al computo dei costi: la manutenzione del codice (debugging e manutenzione migliorativa) che son costi di cui si deve tener conto. Escludiamo i costi in R&S, che sono abbastanza elevati supponendo(3) che le PA riescano ad ottenerli a costo zero dalle università ed enti di ricerca pubblici.

Questo tanto per parlare di quanto costa un investimento per la realizzazione di un software di complessità e criticità media e vedere le cifre da confrontare per decidere se cambiare o meno.

Oggi le pubbliche amministrazioni, anche a seguito del codice dell’amministrazione digitale, minimo si son dotate di un programma “robusto” di contabilità, un software per la gestione documentale e il protocollo elettronico, forse qualcosa per la gestione del personale se non integrato con il programma di compatibilità più alcuni software specifici per i compiti dell’ente pubblico. Ad esempio un programma per la pianificazione e la gestione della raccolta dei rifiuti o un cad per il settore edilizia privata/lavori pubblici.

Quanto costa una licenza per averlo subito? quanto dovrò investire per avere le stesse funzionalità da un software opensource, quanto dovrò aspettare per avere tale software e, cosa non meno importante, che faccio nel frattempo?

E le risposte non sono: “investo due soldi e ho immediatamente un software migliore di oracle open source e che mi consegneranno ieri…”

(1) Che possono anche essere particolari installazioni di linux come Oracle Linux, non per forza M$ Windows.

(2) Chi ha detto Oracle 🙂

(3) In calcolo delle probabilità per studiare il funzionamento di un qualche gioco d’azzardo talvolta si supponeva di avere capitali infiniti e tempo infinito.

Linux (e open source) per risparmiare o per buttare soldi dalla finestra?

Periodicamente, quando si parla di risparmi per le pubbliche amministrazioni e di informatica, salta fuori lo sciroccato che parla per slogan convinto che basti installare linux (quale?) e free office/open office nelle pubbliche amministrazioni per risparmiare euro ad iosa.

Peccato che la realtà sia alquanto diversa. Prima cosa: il sistema informativo di una pubblica amministrazione, dal comune di medie dimensioni (~30.000) abitanti in su, non è solo N computer winoffice; già il pensare quello apre la porta a madornali errori di valutazione riguardo a risorse, costi e risparmi. Errori che puntualmente portano alla catastrofe. Il sistema informativo è formato, oltre che dalla ferraglia, anche da un insieme di applicazioni specifiche per ambiti di intervento che potrebbero essere ad esempio la pianificazione e la gestione della raccolta dei rifiuti oppure il protocollo o la gestione del bilancio dell’ente. Software che a loro volta impongono vincoli. Brutalmente, se per usare il sistema contabile hai bisogno di winoffice e vuoi cambiare e installarti LOL (Libre Office/Linux) devi pianificare anche il cambio del software del sistema di contabilità (spesso pagato $Cifrone) , trovare qualche software con prestazioni equivalenti che lavori sotto linux altrimenti devi rinunciare o mettere in conto l’uso di sistemi meno efficienti.

Molti progetti falliscono proprio per quel motivo si confronta solo (costo winoffice vs costo LOL) e non (costo sistema informativo windows based vs costo sistema informativo linux based). Nel primo caso i risparmi, anche evidenti, sono tutti a favore di LOL, nel secondo caso rischi invece di dover investire per poi trovarti o con funzionalità minori o con costi maggiori od equivalenti della soluzione windows based. Tanto per fare un esempio automobilistico: un auto a benzina costa meno di un diesel, il gasolio meno della benzina. Il colpo di genio che sostengono alcuni non è: “vediamo che uso facciamo della macchina e scegliamo quella complessivamente più economica” ma “compriamo un auto a benzina e facciamo il pieno di gasolio”

Quando ancora discutevo su PI notavo che molti, soprattutto i ragazzini dei lug che avevano appena scoperto linux, facevano principalmente due errori: il primo era il considerare i sistemi informativi non come un insieme di parti interconnesse ma come un insieme di parti indipendenti e quindi ritenere che il modificare la suite da ufficio o il sistema informativo dei client non avrebbe avuto alcuna conseguenza sul resto del sistema informativo.

E il secondo errore, più grave, è il credere che ad ogni aggiornamento della suite office o del sistema operativo la PA si precipitasse a comprare le licenze per avere tutti i suoi PC con l’ultima versione nuova di pacca, questo porta invece a sovrastimare enormemente i risparmi nella conversione verso linux: “2 licenze di windows e office all’anno per PC contro zero” quando la realtà è: una licenza winoffice ogni 6 anni contro zero.

C’è anche un terzo errore che viene fatto: un pc a fine vita è un pc a fine vita, il rischio di danni hw è elevato e conviene destinarlo ad applicazioni poco critiche, come ad esempio il metterlo in biblioteca per navigare e consultare cataloghi bibliografici, dove un fermo macchina causa minimi disagi. Perché se parte il disco fisso linux o windows non fanno differenza, la macchina è bloccata e bisogna sostituire il disco. E per la legge di murphy ciò puntualmente capita quando c’è qualche documento urgentissimo da terminare…

Quando si progetta la migrazione di un sistema informativo bisogna sedersi, vedere quali sono tutti i requisiti, tutti i vincoli (se l’ufficio tecnico deve usare autocad e questo gira su windows, devi avere windows) e cercare la soluzione complessivamente più economica nel tempo (5/10 anni) considerando tutti i fattori (costo delle licenze di tutti i programmi occorrenti nel caso winoffice e nel caso LOL, costo del supporto, costo della formazione, costo della eventuale migrazione…) e non partire lancia in resta ad installare linux e libre office per poi accorgersi che non puoi mollare windows e fare il rollback sprecando l’equivalente di 20 anni di licenze di windows…

Un ultima cosa, un altro degli slogan più gettonati è: “ma perché pagare consulenti quando si può chiedere al LUG…”. Semplicemente quello che si paga si può pretendere, i regali invece no. Se pago una ditta per l’assistenza 24/24, 7/7, e ho un problema alle 18 del 14 di agosto l’azienda deve intervenire (altrimenti son penali), con il LUG ho quella garanzia? Se Tizio si rimangia le promesse chi paga?

NB

1 – nel backoffice della PA linux (con mysql, apache etc. etc.) è presente e viene usato tranquillamente. Non è vero che esiste una avversione della PA verso il software libero.

2 – non è vero che il software libero è immune da corruzione; se c’è flusso di denaro c’è il rischio di corruzione, e i consulenti linux non lavorano gratis.

 

 

perché open office non sfonda nelle aziende ?

Di là su Punto Informatico si dibatteva riguardo alla decisione del ministero degli esteri tedesco di rinunciare al progetto di migrazione della propria infrastruttura informatica da Microsoft Office e Windows a Open Office e Linux.

fonte:http://punto-informatico.it/3653884/PI/News/openoffice-germania-preferisce-software-proprietario.aspx

Questo ha scatenato molti fan boy di linux che si son buttati, senza neppure aver letto l’articolo, a gridare nel forum che la migrazione era fallita per colpa della microsoft che usa un formato doc non standard e della segretaria che se sposti l’iconcina non sa fare niente.

Dimostrando platealmente da una parte la grossa ignoranza di cosa sia un sistema informativo aziendale e secondariamente di non aver letto l’articolo ma solo il titolo e di essersi precipitati a trollare nel forum(1).

Cosa diceva di importante l’articolo ? che la decisione è stata presa perché:

(…) sostanziali lamentele degli utenti a proposito della sua efficacia, della facilità d’uso, della mancanza di integrazione e di un livello di interoperabilità insufficiente

Vediamo i quattro punti uno per uno:

  • efficacia: per svolgere funzioni avanzate spesso OO.org tira il fiato rispetto ad office. OpenCalc è abbastanza indietro rispetto ad Excel ed inoltre in OO.org manca un gestore di piccoli DB come potrebbe essere Access. Openbase è ancora a livello embrionale.
  • facilità d’uso: forse il motivo più farlocco, a livello di usabilità non c’è molta differenza fra l’uno e l’altro.
  • mancanza di integrazione: poter inserire un foglio di calcolo all’interno di un documento può aprire la porta a catastrofi come può velocizzare enormemente il lavoro evitando di fare continui copia&incolla.  Si tratta del solito dilemma fra “sistema potente e pericoloso in mano ad imbranati” vs “sistema sicuro ma castrato”.(2)
  • livello di interoperabilità insufficiente: uno dei problemi di OO.org è che lato programmazione macro non ha la ricchezza di librerie di oggetti e di funzioni che ha a disposizione microsoft office e neppure rende facile la comunicazione e l’interscambio di dati fra applicazioni diverse. Su “COM”, “OLE” “DCOM” se ne son dette di tutti i colori ma consentono di fare meraviglie a livello di integrazioni fra software diversi.

Gli ultimi due punti sono i più importanti, oramai nei sistemi informativi aziendali si cerca sempre di avere la maggiore integrazione possibile fra i software in modo da ridurre al minimo il trasferimento manuale dei dati da un software verso l’altro.  Attività che fra l’altro è foriera di errori e di problemi;  meno errori e meno problemi significa anche meno spese per risolvere errori e problemi.

E sotto quell’aspetto M$ Office è anni luce avanti rispetto a libre office, ha ottime librerie di oggetti che facilitano l’interazione con altri programmi sia microsoft che di terzi ed ha un efficace sistema di programmazione macro, è presente da almeno 20 anni nel mercato e quindi le aziende che hanno programmi che interagiscono con office hanno codice maturo e testato. Cosa essenziale se quei software sono critici per il lavoro dell’azienda o dell’ente pubblico.

Sono questi i motivi che rendono difficoltoso il cambiamento della suite office verso altri prodotti e non il formato del file o l’icona per la segretaria che, si possono essere rognosi, ma son difficoltà che si superano molto facilmente. Mentre la non esistenza di moduli per l’interscambio o il dover riscrivere tutte le macro usate in ufficio possono essere rognosi e costosi.

Uno dei problemi che vengono affrontati molto allegramente dai “open office evangelists” è il problema dei costi, nei dibattiti sul forum di PI ho visto innumerevoli sparate su mirabolanti risparmi che verrebbero effettuati.

Purtroppo le aziende cambiano la licenza non due volte all’anno ma generalmente ogni cinque anni. Il che significa dover dividere per 10 il risparmio delle aziende in licenze(3), inoltre non vengono considerati i costi per la migrazione del sistema informativo e, cosa molto più grave non viene presa in considerazione l’interazione della suite da ufficio con il resto del sistema informativo.

Se ho un sistema documentale che mi consente, grazie all’integrazione con word, di avere un tracciamento delle versioni del documento e di poter lavorarci sopra in maniera collaborativa, allora o il sistema supporta anche oo.org oppure ci son altre due scelte: la prima è trovare qualcosa di equivalente che supporti oo.org (ma a livello di software per aziende grosse c’è poco o nulla) oppure devo farmelo costruire.

Il farsi costruire il software custom potrebbe apparire come una ottima soluzione, peccato che i costi siano, in molti casi, improponibili e si arrivi rapidamente a cifre enormi. Tanto per dare un termine di paragone uno staff formato da un analista programmatore (350 euro a giorno) e tre programmatori (230 euro a giorno a testa) ha un costo mensile di circa 10.000 euro. Basta questo per rendersi conto di che investimento sia richiesto per far sviluppare soluzioni personalizzate e di come lo sviluppo di soluzioni personalizzate sia la soluzione maggiormente antieconomica.

Si potrebbe pensare di ridurre i costi pensando di creare un progetto e costruire una comunità di supporto e sviluppo a quest’ultimo. Anche qui però ci son delle criticità, la prima è che nessuno può assicurarmi che il progetto venga ritenuto interessante dalle persone e che quindi accettino di far parte, gratuitamente, della comunità. Secondariamente c’è anche il bisogno di coordinarla la comunità con gli ovvi costi di coordinamento.

Un altro grande difetto della comunità è che le aziende se devono investire gradiscono avere stime, le più esatte possibile su costi e tempi. Se pagano uno staff possono decidere su quale parte del codice lo staff deve lavorare, assegnare le priorità e nel caso “fare fretta”. Con una comunity tutto questo non puoi farlo. Il capo progetto può decidere di preferire andare in spiaggia che stare a scrivere codice, gli sviluppatori possono tranquillamente lavorare al motore grafico per gli effetti speciali del software di presentazione invece di lavorare alla stampa unione. Quindi l’opzione comunity non è molto affidabile.

Conclusione: il decidere di mettere mano al sistema informativo non è una decisione da prendere a cuor leggero seguendo le mode e facendo stime alquanto approssimate. Il rischio di buttare soldi dalla finestra inseguendo risparmi evanescenti è altissimo. Come in tutte le attività serie serve un robusto lavoro preliminare di analisi e di valutazione costi/benefici, altrimenti il patatrac è dietro l’angolo. E un patatrac capitato da una parte ha anche la logica conseguenza di rendere alquanto diffidenti a seguire la strada che ha portato al patatrac.

(1) Si vabbe’, punto informatico senza troll è una sachertorte senza cioccolata.

(2)Confronta discussioni C++ vs Java o, per i nostalgici, C vs Pascal.

(3)E già un errore di quelle proporzioni nella stima dei risparmi giustificherebbe un licenziamento in tronco per plateale incompetenza.