steve's

Scuole e monopolio della carta igienica: il caso Paapre

Nov
22

La doverosa attenzione dell’ente pubblico per il bilancio è sicuramente meritoria. In un Paese dove si spende troppo e male, ancora di più.

Quando si decide di utilizzare un servizio gratuito, di qualità, dal punto di vista del bilancio va tutto bene, e anche dal punto di vista della funzionalità.
Però occorrerebbe pensare agli effetti collaterali – non solo a quelli immediati all’interno della scuola. Perché la scuola pubblica ha anche un piede nella società e nel futuro.
Quando il servizio è virtuale, digitale, sembra che questi effetti non ci siano. Invece non si vedono, ma ci sono.

 


Prima parte
Facciamo allora un esempio più concreto: prendiamo la carta igienica. Ogni scuola ha una voce di budget annuale per la pulizia, immagino, che comprende anche la carta igienica. Un tot per ogni bagno? Le scuole superiori ne consumano di più, di meno? non importa. Facciamo sia 100.
Quei 100 € vengono dallo Stato, o dai Comuni, o dalle Regioni? non lo so, ma ipotizzo derivino dalle tasse pagate dai cittadini e dalle imprese.
Immaginiamo il flusso di quei 100 €. Marchiamoli come fa la polizia per i soldi dei riscatti e seguiamo la strada che fanno.
Ogni anno viene contattato un fornitore e gli vengono dati 100 €.
Il fornitore di quei 100 € ne trattiene una parte (per pagare stipendi, furgoncino, benzina), e una parte la dà al grossista.
Della sua parte, il grossista ne tiene una quota (per pagare stipendi, magazzino), e il resto la dà al produttore, per esempio alla fabbrica di carta igienica di Lucca.
La fabbrica di Lucca con la sua quota compra la materia prima e produce la carta igienica.
Ognuno di questi attori spende parte del proprio incasso in stipendi, in affitto di mezzi.
Poi su quel 100 € vanno calcolate le tasse, cioè la parte di denaro che torna nella casse dello Stato, delle Regioni etc. Sembra che la pressione fiscale in Italia sia alta, è una bella fetta che torna indietro.
Insomma c’è un flusso di denaro dal cittadino allo stato al cittadino.

Ci sono dei limiti.
Si potrebbero selezionare i fornitori, o tutta la filiera, per garantirsi che non ci sia sfruttamento minorile, che la carta sia riciclata e non vengano tagliati troppi alberi, o inquinati fiumi; o che l’elettricità sia presa da fonti rinnovabili, etc etc. Ma questo farebbe aumentare il costo della carta igienica.
Non solo: quei 100 € sono probabilmente insufficienti per coprire il bisogno effettivo di carta igienica della scuola.
Cosa fa allora il dirigente accorto? Inventa.
1. Affigge un regolamento che limita i centimetri quadri di CI a disposizione dell’utente per ogni seduta
2. Ricicla le circolari
3. Lancia il piano BYOTP (Bring Your Own Toilet Paper)
4. Produce della carta con  le stampanti 3D
etc.

Ora immaginiamo che il signor Paapre, multinazionale di QualchepostoLand, decida di regalare carta igienica quadruplo velo, profumata alla lavanda, a tutte le scuole italiane.
Perché lo fa? sono affari suoi, possiamo immaginare che non sia per altruismo, ma per ora ignoriamolo.
Per quanto tempo lo fa? Non lo sappiamo. Certo non si impegna a farlo per sempre.
Intanto le scuole sono contente perché risolvono il problema e risparmiano. La carta igienica è di ottima qualità e viene consegnata direttamente alla scuola.
Si può discutere sul fatto che gli studenti si abituino alla carta quadruplo velo profumata alla lavanda e poi in futuro – ma anche a casa – vogliano usare solo quella.
Ma il punto è un altro: si crea una situazione di monopolio. Anche potendo scegliere, chi comprerebbe mai carta igienica se si può avere gratis?
Che succede? che quel flusso di denaro si ferma. O meglio, i 100 € vengono utilizzati altrimenti (forse per cose più utili) ma gli attori prima elencati hanno un ammanco rispetto alle entrate previste.
Cosa fanno? Ricordate che non è UNA scuola, ma TUTTE le scuole. Cambiano settore, mettono a part time gli operai, licenziano, chiudono….
Diminuiscono anche le entrate del fisco. Forse quella voce di bilancio scolastico viene cancellata.
Sono eventi che non riguardano la scuola?
Quella scuola che preparava gli studenti ad un mercato del lavoro, che però grazie (anche) all’operato della scuola piano piano scompare?
E che succederà quando il signor Paapre decidera di far pagare 1 € (invece di 100) la sua fornitura? Niente, sempre economia per la scuola. Ma siccome c’è un monopolio, da 1 € si può passare anche a 100 €, senza che nessuno possa fare niente. Tornare indietro? ma ormai il tessuto imprenditoriale non c’è più. Niente più fornitori locali, niente grossisti.

Ora cosa c’è di diverso se invece di carta igienica parliamo di servizi digitali (software, connettività, cloud, antivirus, ….)?
Economia e praticità possono davvero bilanciare il danno che si fa all’ecosistema delle imprese digitali locali?


Seconda parte
Ma allora come la metti con il software opensource, che è gratis? Neanche quello va bene? Si. Ma non perché è gratis.
Anche qui possiamo fare una simulazione. Su 100  € di licenze di software Megasoft, una quota (piccola) va al fornitore; la maggior parte va al produttore, che ha sede a Vattelappesca City. Siccome il fornitore ha un piccolo margine, deve moltiplicare le vendite; tendenzialmente deve acquisire il monopolio. Quindi spinge, fa sconti, fa formazione sulla versione Educational di Megasoft, quella adatta per il Coding. Un giorno anche quella sarà a pagamento, ma per ora va bene…

Invece su 100 € di servizi connessi con il software opensource (formazione, installazione, adattamento, hosting), tutto va al fornitore locale. Il quale paga le tasse, paga gli stipendi etc etc. Il fornitore locale NON ha bisogno di monopolizzare il mercato, perché ha margine a sufficienza. C’è spazio per soluzioni diverse  e fornitori diversi.
I servizi sono di qualità inferiore? Forse, ma visto che il software è aperto si possono migliorare. Si possono unire le risorse di più scuole per sviluppare migliorie e funzionalità di cui tutti beneficeranno.

Quando la scuola decide di installare Moodle per l’e-learning (perché è gratis) e WordPress per il sito (perché è gratis) e poi di gestirli internamente, fa un’opera meritoria dal punto di vista del bilancio. Meno meritoria dal punto di vista dell’economia del Paese.

Contro la definizione

Nov
15

Cos’è un albero? Cos’è la filosofia? Cos’è l’ipotenusa? Cos’è il coding?

Sono domande completamente diverse nascoste dalla stessa forma. Se il concetto di cui domandiamo la definizione è un’invenzione formalizzata dentro qualche dominio, la risposta sta nella costruzione di quel concetto nel dominio (una tassonomia botanica, la geometria euclidea). Se invece è un concetto più complesso, che riguarda una pratica (o meglio, diverse pratiche) che è stata etichettata con quella parola da persone diverse in tempi diversi, la definizione non può che essere prima di tutto una raccolta di utilizzi.
In questo secondo caso, non c’è una risposta univoca e ultima. Nessuno ha la patente per poter dire in maniera incontestabile cosa è la filosofia. Se vogliamo una definizione normativa, possiamo provare a distinguere tra usi corretti e scorretti, ma prima bisogna concordare su: corretto rispetto a cosa? E chi ha il diritto di stabilirlo?

Se poi il concetto è nuovo, e non c’è un establishment (la scuola, l’accademia, qualche forma di potere riconosciuto) che ne fissa gli usi, definirlo rischia solo di creare delle guerre di religione. Se il concetto è importato da qualche altra cultura e lingua (come lo era la filosofia per i romani) bisogna stare ancora più attenti: cosa si definisce, la versione originale, quella localizzata, o una supposta versione universale?
La definizione è essa stessa una pratica, inventata da Platone, perfezionata da Aristotele, poi passata nel medioevo agli scolastici, poi entrata nella scienza. Da collocazione di un concetto in una gerarchia fissa è diventata un procedimento pratico per evitare incomprensioni e permettere confronti. Ha a che fare con la spiegazione dell’uso di un termine/concetto, più che con la sua natura profonda. Illuminante, per me, la discussione della definizione del concetto di lunghezza fatta da Percy William Bridgman nella sua Logica della Fisica Moderna (1927). Lunghezza si può definire se si descrivono le operazioni con cui si misura la lunghezza. Per fortuna Bridgman si  è allontanato da definizioni fisicaliste e si è messo a interrogarsi in generale sul significato operazionale dei concetti.

Allora per favore smettiamola con la domanda “Cos’è il coding?” come se potesse esistere una risposta del tipo “Il Coding è questo e non quest’altro”. Quanto sarebbe meglio fermarsi a “la parola ‘coding’ viene impiegata così e così in questi contesti”.

 

Costruire teorie sperimentali con il Coding

Nov
07

Tra le tante ragioni usate per giustificare la pratica (anticipata) del Coding, quella che mi pare più sensata per la scuola è la possibilità che viene data agli studenti di costruire in maniera sperimentale una teoria di un dominio. Per esempio: come funziona il ciclo dell’acqua? Perché a volte i semi germogliano ma poi si seccano? Quando va usato il congiuntivo?

Costruire una teoria significa capire, ma capire ad un livello diverso da “apprendere una regola o una formula”. Costruire in maniera sperimentale significa arrivare un po’ alla volta alla teoria giusta, provando modi diversi di mettere in relazione parametri e vedendo immediatamente, sensibilmente, il risultato.

Questo modo di apprendere è reso possibile dall’esistenza dei computer, nella loro essenza di artefatti digitali programmabili, e dalla loro accessibilità per gli studenti. Esistono esempi meravigliosi di simulazioni digitali  in campi diversi, ma che di solito hanno il difetto di essere chiuse, cioè non programmabili. Si riesce a intuire quali sono le regole in gioco, a verificarne le relazioni, ma non a formalizzarle.

Il coding ha senso in questo contesto a patto di avere presente dove si va a parare fin dall’inizio, e a patto di non fermarsi ai primi passi. E’ praticabile in tempi ragionevoli se si hanno a disposizione degli ambienti programmabili non vuoti, cioè in cui le regole del dominio sono già cablate. E’ utile se dopo la fase di scoperta e costruzione della teoria in un ambito limitato si passa alla sua estensione e riapplicazione in altri domini.

Passo 1. Se creo una storia animata usando un programma di disegno, che permette di aggiungere suoni e musiche e di muovere sprites sullo schermo, sto facendo quello che potrei fare a mano, con infinita fatica e molti più errori, disegnando su una pellicola. Quella storia avrà sempre lo stesso svolgimento non importa quante volte la esegua. Per creare la storia devo aver già chiare le regole dell’ambiente.
Cosa sto imparando? Ad usare certi strumenti, punto. Se programmo questa storia, sto imparando ad usare altri strumenti e concetti (ripetizione, spostamento) ma niente di più.

Passo 2. Se invece ho un ambiente dinamico, in cui succedono delle cose (immaginiamo un gioco: arrivano mostri, si presentano nuovi ostacoli etc) e devo muovere manualmente un personaggio, quello che succede dipende dalle mie azioni e ogni volta è diverso. Se il mostro si avvicina troppo, mi mangia. Ma se sta esattamente sopra di me, in verticale, gli posso sparare. Che invece di spostare il personaggio manualmente utilizzando un joystick, un mouse o un touchscreen io possa scrivere un comando per spostarlo non cambia molto le cose, ma è un primo passo.
Cosa sto imparando qui? A individuare i parametri e a stimare intuitivamente i valori di soglia di questi parametri cui devo reagire. Bene, ma ancora non basta.

Passo 3. Il tutto diventa interessante solo quando riesco a programmare il personaggio non in modo che esegua sempre lo stesso movimento, ma in modo che esegua un movimento diverso in funzione della situazione.

Senza scomodare l’intelligenza artificiale, posso definire delle semplici regole:

  1. se c’è un mostro nella linea di tiro, spara
  2. se il mostro si avvicina troppo, spostati verso l’area dove ci sono meno mostri

Bisogna definire cos’è la linea di tiro, quanto è grande e come si verifica la sicurezza di un’area, eccetera. Cosa si sta imparando qui? A costruire una strategia che sia buona in qualsiasi situazione. Per costruire la strategia bisogna non solo individuare i parametri dell’ambiente più significativi ma anche definire in maniera precisa i valori di soglia, e poi stabilire le azioni migliori per far fronte alla situazione definita dal superamento di quei valori, cioè bisogna costruire una teoria. Il fatto che io debba programmare questa strategia mi obbliga a formalizzarla e a verificarla. La possibilità di rappresentarla in un codice sorgente mi permette di discuterla con gli altri, di rivederla in un momento successivo, di correggerla, di generalizzarla.

Non è tanto importante l’apprendimento delle tecniche di programmazione – che però sono funzionali alla costruzione della teoria e alla sua verifica immediata – , quanto il fatto che questo approccio permette di affrontare domini (che tradizionalmente mi chiederebbero di imparare in maniera fideistica certe nozioni, per esempio che l’accelerazione di gravità sulla Terra è 9,8 m/s) in una maniera costruttiva, esperienziale e collaborativa. Posso sperimentare direttamente la relazione tra certe cause e certi effetti, come potrei fare anche nel mondo reale se avessi risorse a sufficienza o se potessi accelerare o rallentare il tempo (come faceva Galilei). Il fatto che la mia teoria sia scritta in una forma eseguibile facilità sia la verifica immediata, sia il confronto con gli altri.

Per esempio, ho un seme. Se c’è sole e acqua, il seme germoglia e nasce un fiore. Se c’è acqua, ma non sole, il seme germoglia ma non nasce il fiore. Se c’è sole, ma non acqua, il fiore crepa. I parametri qui sono luce e umidità; i valori soglia li devo scoprire. E poi devo trovare le azioni che permettono al mio seme di fornire la performance migliore (innaffiare, drenare, coprire, illuminare). Se riesco a programmare queste azioni significa che ho costruito una teoria dell’ambiente. Non: ho costruito una teoria perché avevo imparato le regole, ma: costruendo una teoria ho capito le regole.

Ci sono infinite applicazioni possibili. Papert ha pensato alla geometria piana, ma si può spaziare dalla fisica alla biologia, dalla storia alla grammatica, dalla musica alla lingua due. Forse all’inizio potrà sembrare bizzarro concepire lo studio della lingua in maniera sperimentale, ma niente lo vieta. L’importante è che ci siano delle regole che producono effetti (diacronici o sincronici) e che queste regole si possano inserire in un ambiente che ne mostra gli effetti. E’ vero che le “regole” in ambito linguistico hanno tantissime eccezioni, mentre la fisica ci ha abituato a situazioni più lineari; ma si può immaginare una lingua artificiale senza eccezioni dove si possa sperimentare in assenza di attrito, o un universo fantastico dove le carestie portino inevitabilmente alle guerre. In fondo, la geometria euclidea o la logica aristotelica sono nate con la stessa idea di fare astrazione dai dettagli reali per arrivare più facilmente ai concetti e alle regole chiave.

Far costruire agli studenti un ambiente del genere partendo da zero è troppo complesso. Per farlo bisognerebbe sapere in anticipo quali sono i parametri fondamentali e la loro relazione, che invece dovrebbe essere l’obiettivo dell’attività. Sarebbe molto meglio avere a disposizione un ambiente con le sue regole già cablate (ma ispezionabili, o addirittura modificabili), che però mi permettesse di programmare le azioni con cui interagisco con l’ambiente. Che so: un ambiente in cui la relazione tra massa e peso è definita, in cui però il tempo si possa rallentare a piacere o la resistenza dell’aria azzerare.

Passo 4. Non si tratta di ricostruire tutto il sapere a forza di esperimenti. Una volta capito il meccanismo dell’elaborazione di teorie, si può cercare di capire se esistono delle invarianti che mi permettono di applicare uno schema che ha funzionato una volta anche in situazioni diverse. Per far questo, devo catalogare i miei schemi in funzioni delle caratteristiche delle situazioni che ne suggeriscono l’applicazione. Naturalmente questa è la parte più difficile. Ma la fase metacognitiva (cosa abbiamo scoperto? come potremmo riusarlo) è altrettanto importante di quelle precedenti e la competenza nell’applicazione di schemi a situazioni nuove è in fondo l’obiettivo che giustifica tutta l’educazione.

Passo 5. Inoltre gli schemi si possono rendere più potenti, grazie ad elaborazioni formali (generalizzazioni, trasformazioni). Qui forse vale la pena non provare a inventare tutto, ma sfruttare le esperienze di quelli che hanno già studiato e sperimentato prima di noi. Ma si inverte l’ordine tradizionale: prima si capisce, sperimentando in un ambiente semplificato e controllato,  quali sono le regole di fondo, e solo dopo si imparano i trucchi che permettono di riapplicarle in maniera estesa e rapida. Non mi si chiede di imparare prima i prodotti notevoli e poi, forse, capire a cosa mai possono servire, ma il contrario.

Serve necessariamente un computer e un ambiente di programmazione semplificato per praticare questo tipo di didattica? No, certo. Ma senza un ambiente digitale programmabile questo approccio sarebbe talmente difficile e lungo che in pratica si finisce per non applicarlo quasi mai.

 

 

Programmi e problemi

Nov
02

La definizione di “programma” su Wikipedia Italiana è la seguente:

programma (dal lat. tardo programma -mătis, gr. πρόγραμμα -ματος, der. di προγράϕω, propr. «scrivere prima») è la definizione del percorso per raggiungere un determinato obiettivo tenendo conto delle risorse disponibili, delle condizioni al contorno, delle attività da intraprendere e dei tempi necessari per realizzarle.

Bello, no? C’è dentro il progetto, l’anticipazione, la scrittura. Manca l’aspetto pubblico, l’impegno, ma insomma mi sembra molto pregnante e dice tutto quello che è essenziale. Inoltre prende in considerazione le risorse e in generali i limiti (non esplicitamente, ma anche il tempo). Ma attenzione: qui non si parla di “programmi per computer”. Una didascalia avverte gli interessati e li consiglia di andare altrove.

Infatti la definizione di Programma_(informatica) è:

Un programma per computer, o semplicemente programma, in informatica, è un software che può essere eseguito da un elaboratore per ricevere in input determinati dati di un problema automatizzabile e restituirne in output le (eventuali) soluzioni. […] Il problema deve essere risolvibile attraverso un algoritmo, affinché un programmatore possa codificarlo in istruzioni per il più adeguato linguaggio di programmazione.

 

In questa definizione saltano agli occhi (a me, si capisce) due o tre cose:

  • programma viene definito mediante “software”. Che è un termine che a volte sembra un sinonimo, altre un super-insieme di programma (comprende anche i dati), e in ogni caso non aiuta molto a capire
  • si inseriscono alcuni altri elementi chiave che vanno precisati: un input, un problema “automatizzabile” (?), un output e delle soluzioni.
  • “Automatizzabile” viene definito in qualche modo dalla frase seguente: un problema è automatizzabile se esiste un algoritmo che lo risolve.
  • L’algoritmo viene codificato nel “più adeguato” linguaggi di programmazione.

Mmmh… se ho un input e un output, ma non un problema, allora non ho un programma? Un programma che non termina (un loop infinito) non è un programma? I programmi producono solo soluzioni? E i programmi sbagliati, che non risolvono nulla, non sono programmi? E che dire dell’adeguatezza dei linguaggi di programmazione? Come si misura e da che dipende? Se codifico un algoritmo in un linguaggio non adatto non sto scrivendo un programma?

Vado a curiosare nella versione inglese e trovo invece:

A computer program is a collection of instructions that performs a specific task when executed by a computer.

Più semplice. Qui non ci sono né algoritmi, né problemi, solo un insieme di istruzioni che, se eseguite da un computer, porterebbero all’esecuzione di un compito.


Anche a prescindere da Wikipedia, che in questo caso non è di grande aiuto, la definizione che si trova più spesso (per esempio nei manuali o nelle slide dei corsi introduttivi di programmazione) è comunque composta di quattro parti:

Un programma è:

1. la rappresentazione

2. in qualche linguaggio di programmazione

3. di un algoritmo

4. che risolve un problema

Definizione che comporta, secondo me, più problemi (scusate il gioco di parole) di quelli che risolve.


Intanto c’è l’algoritmo: è una cosa? Esiste in natura? È un oggetto mentale?

O è un oggetto linguistico, a sua volta una rappresentazione di qualcosa? Esistono dei linguaggi per rappresentare algoritmi (i diagrammi di flusso sono uno di questi); significa che l’algoritmo consiste in una serie di operazioni, che si può (la serie) rappresentare, memorizzare, comunicare con uno o più linguaggi alternativi?

La pagina di WP che parla di algoritmi ammette che non esiste una definizione formale di algoritmo. Tuttavia introduce un’idea intuitiva di algoritmo:

una sequenza ordinata e finita di passi (operazioni o istruzioni) elementari che conduce a un ben determinato risultato in un tempo finito“.

Chiaramente sorge la domanda: solo una sequenza? No, immagino anche un ciclo o una scelta.

Il programma sarebbe allora la codifica di una rappresentazione, cioè una traduzione da un linguaggio (più generale) ad un altro (più specifico e leggibile/eseguibile da un computer). L’unica differenza tra algoritmo e programma è che il secondo è eseguibile da un computer, il primo da un umano (anche se evidentemente gli umani possono leggere i programmi). Ma posso immaginare un programma che legge un algoritmo (comunque scritto, anche in Italiano) e lo esegue? Si, direi di si. Questo fa di ogni algoritmo un programma almeno possibile? Allora la distinzione non è chiarissima.

Oppure tutto dipende dal linguaggio: un algoritmo scritto in un linguaggio di programmazione si chiama programma. Non è una grande definizione, se i linguaggi di programmazione sono quei linguaggi che permettono di scrivere algoritmi in modo che siano eseguibili da un computer.


Poi i programmi avrebbero a che fare solo con problemi. Ma che cos’è un problema? L’etimologia ci aiuta poco (problema, letteralmente, significa ostacolo).

Se restringiamo il significato ad un dominio astratto come quello matematico, tipicamente un problema si presenta nella forma di una serie di dati, una serie di relazioni tra i dati e nella richiesta di produrre altri dati (la soluzione), oppure nella dimostrazione che tale soluzione non esiste. Soluzione che deve essere analiticamente contenuta, direbbe Kant, nel problema stesso, cioè non deve richiedere l’aggiunta di nuove informazioni. La soluzione è lì, solo che io non la so. Almeno, questi sono i problemi matematici scolastici.

Se estendiamo il dominio nella direzione del concreto e parliamo di problemi fisici, o chimici, spesso si tratta di determinare lo stato di un sistema nel futuro partendo dalle informazioni sullo stato presente. Qui la soluzione è ricavata dai dati, ma è qualcosa del tutto nuovo. Per arrivare ai problemi insoluti della fisica la cui soluzione può essere un’intera nuova teoria.

Se arriviamo fino alla vita reale, un problema è una situazione incerta che vogliamo determinare meglio. Qui “problema” è inteso in un senso talmente generale da comprendere ogni situazione in cui qualcuno voglia fare qualcosa che non si presenti come immediatamente raggiungibile senza qualche scelta. “Ho un problema” nel senso di “ho un obiettivo da raggiungere e mi domando come fare”. Non c’è una situazione (oggettiva) con un buco, ma sono io che mi propongo di cambiare la situazione, e per farlo devo effettuare delle operazioni, fisiche o mentali.

A quale di questi problemi si fa riferimento quando si dice che “un programma risolve un problema”? A volte – nelle definizioni – sembra che si abbia in mente solo il primo tipo: dati in ingresso, dati in uscita, regole note.


L’informatica nasce come simulazione delle situazioni della vita, per fare meglio e prima cose che si facevano altrimenti. Lo fa trattando in maniera automatica le informazioni che rappresentano alcuni aspetti della situazione che ci sembrano più significativi. In questo senso, l’informatica nasce per risolvere i problemi della vita, non solo quelli matematici. Creare una rappresentazione trattabile di una situazione in modo da poter usare un computer per simularla e anticiparne il comportamento è uno dei task più difficili.

Ma con l’informatica, da tempo, si fanno anche altre cose. Si creano delle situazioni che non sono più simulazioni di altro. Si producono nuovi oggetti, alcuni utili, altri meno. Qui la nozione di problema sembra chiaramente fuori posto. Che problema risolve Facebook? E viceversa, se un programma fa una cosa diversa da risolvere un problema (per esempio, raggiunge semplicemente un obiettivo, esegue un task o produce un risultato inaspettato) non è un programma? Un programma che disegna ricorsivamente un cristallo? O che produce haiku casuali?

Definire meglio “programma” sarebbe un primo passo, ma insegnare a programmare partendo da una visione più ampia sarebbe ancora meglio.