Wednesday, October 31, 2012

Programming by Homomorphism

In 1978 we proposed to exploit the idea of homomorphisms as a foundation for simplifying program design.
We framed the idea as a visual tool enabling to Program by Examples:

  • G. Attardi and M. Simi, Extending the Power of Programming by Examples, Proc. of SIGOA Conference on Office Information Systems, SIGOA Newsletter Vol. 3, Nos. 1 and 2, June 1982.

  • Nowadays, the idea has become popularl through the Map/Reduce programmig metaphor.
    Indeed Map/Reduce can be considered as a low level mechanism for running homomorphic transformations. It is a conveniet solution to parallelize processing over large amounts of data.
    Still it lacks some of the relevant features of homomorphims, i.e. an algebraic foundation, which would allow exploiting features of the homomorphic operators like simmetry and unit values, that can be exploited to optimize the performance.

    Simdoop is a preliminary attempt to provide support for homomorphisms on top of an Hadoop layer. 

    Thursday, October 25, 2012

    scosse modali

    Sono andato a leggere il verbale della Commissione Grandi Rischi, che è stato uno degli elementi su cui si è fondata la recente condanna a 6 anni dei loro estensori.

    C'è un problema nell'interpretazione logica della frase del prof. Barberi:
    non c'è nessun motivo per cui si possa dire che una sequenza di scosse di bassa magnitudo possa essere considerata precursore di un forte evento.
    Si tratta di una frase che in logica modale si esprimerebbe con:

       ¬ ∃ x : xTrue(ScosseBasseterremoto)

    la quale purtroppo può essere facilmente fraintesa come

       False(ScosseBasseterremoto)

    e pertanto si tratta decisamente di una espressione malaccorta. Barberi avrebbe dovuto dire che "attualmente non abbiamo motivi per". Qui si è spacciato per certezza ("non c'è nessun motivo"), qualcosa che certo non è.
    Il dubbio è un elemento fondamentale nella scienza, e un logico come Odifreddi ne avrebbe dovuto tener conto.

    Se poi passiamo ad un'analisi linguistica, si arriva alla stessa conclusione.
    Una frase come
    non si può dire che lo spettacolo sia divertente
    viene comunemente interpretata come un eufemismo o una litote per dire che
    lo spettacolo non è divertente.
    Se si scrive
    non c'è nessun motivo per dire che lo spettacolo sia divertente
    questo diventa un ulteriore rafforzativo.

    PS. Le motivazioni della sentenza pubblicate a gennaio 2013 confermano che i giudici non hanno condannato la scienza, come tanti hanno sostenuto, compreso Odifreddi. Hanno condannato la commissione per avere emesso un comunicato rassicurante dietro forti pressioni di Bertolaso, di cui è stata diffusa un'intercettazione telefonica in cui dava indicazioni su cosa doveva dire la commissione, prima che si riunisse. Penoso il tentativo di giustificazione di Bertolaso davanti al tribunale che gli chiedeva conto di quella telefonata.

    Monday, October 22, 2012

    Per l'ETNO

    Secondo Bernabè, presidente di Telecom Italia, il governo italiano avrebbe espresso una posizione favorevole alla proposta di ETNO.
    A me non risulta che il governo abbia preso posizione ufficiale, in quanto la consultazione pubblica sull'argomento è ancora in corso.

    Tuttavia va ulteriromente precisato che non è e non può essere ITU il luogo dove si decidono i destini di Internet, come ha ribadito pochi giorni fa lo stesso Vint Cerf, in un intervento a IGF Italia a Torino:
    Salve, il mio nome è Vint Cerf, sono Chief Internet Evangelist di Google. Alcuni di voi forse mi conoscono come il "padre" di Internet. Vi ringrazio per avermi dato l'opportunità di partecipare alla sessione di apertura di IGF Italia 2012, alla quale avrei voluto partecipare di persona. Purtroppo i miei impegni non me l'hanno permesso. Vi state preparando per il meeting che si terrà il prossimo Novembre in Baku Azerbaijan. Io sarò là e mi aspetto di incontrare alcuni di voi in quella occasione. Voglio però ricordarvi, come ben sapete, che ci sono altri meeting importanti davanti a noi in questo anno e nei successivi, sui temi della Internet Governance e su come trattiamo l'Internet, che è diventata una entità molto importante per una parte rilevante della popolazione. Oggi circa 3 miliardi di persone hanno accesso alla rete, molti di questi in modalità mobile ma sappiamo anche che oltre 7 miliardi di persone oggi popolano il nostro pianeta. Quindi per quelli tra noi, incluso me stesso, che hanno il desiderio di estendere a tutti l'accesso alla rete resta ancora una parte sostanziale di popolazione da "convertire", per così dire.

    Quello che si discute in questo meeting preparatorio per lo IGF è importante per il futuro di Internet ed è tutto centrato sulla Governance della rete. Alcuni di voi possono ricordare che l'Internet Governance Forum è il risultato di due principali attività svoltesi all'inizio di questo secolo, in particolare il WSIS (World Summit on Information Society) che ha avuto due riunioni plenarie. La prima riunione plenaria ha generato un gruppo di lavoro chiamato Working Group on Internet Governance. La domanda principale era: che cosa è la comunità Internet ? Molto presto la risposta è stata: un buon esempio di questo è l'Internet stessa. Quello che è importante è il risultato di quelle discussioni che è stato il concepimento dell'Internet Governance Forum e il riconoscimento che Internet è un realtà vasta, in espansione, multilaterale e multistakeholder. Centinaia di migliaia di reti interagiscono fra loro su base volontaria e non esiste una gestione centralizzata e non esiste un controllo dall'alto. Le persone si connettono e costruiscono componenti della rete perché sono interessate e disponibili a investire tempo, energie e risorse per costruire connessioni volontarie e possono condurre il loro business secondo diversi modelli: alcuni operatori di Internet sono organizzazioni no-profit, altri sono governi, altri vengono dalle università e dalla ricerca, altri sono organizzazioni commerciali. È veramente una grande varietà di ambienti che stabiliscono una collaborazione su larga scala.

    La cosa vitale nelle discussioni in IGF è come l'Internet debba essere governata e su questo punto abbiamo dei dibattiti molto intensi. Ci sono delle istituzioni, come lo ITU (International Telecommunication Union) che, detto apertamente, vedono diminuire la propria importanza nel mondo delle comunicazioni semplicemente perchè una grande parte di queste è stata assorbita nella infrastruttura Internet. Come sapete ci sarà a Dicembre la conferenza Internazionale sulle Telecomunicazioni durante la quale si discuterà del Regolamento, la cui applicazione, vi ricordo, è volontaria e non obbligatoria. Ci riuniremo per discutere la revisione del Regolamento approvato nel 1988, in un'epoca nella quale poche persone prestavano qualche attenzione a Internet, che stava giusto nascendo. La mia maggiore preoccupazione, e spero anche la vostra, è collegata alla introduzione di accordi governativi multilaterali, che sostengono di essere responsabili sia per gli standard che per la operatività della rete. Mentre la leadership dello ITU ripete continuamente che non c'è alcun interesse per il "controllo" di Internet, il testo  delle proposte che vengono da diversi stati membri dello ITU indica una direzione diversa. È perciò importante che coloro di voi che partecipano a questi meeting preparatori e che parteciperanno al meeting IGF di Baku Azerbaijan siano preparati e decisi a supportare il modello multistakeholder. È anche necessario far notare, come è giusto, che le organizzazioni che sono state maggiormente rilevanti nel supportare e mantenere l'operatività di Internet includono la Internet Society, che fu creata nel 1992, poco dopo la nascita di Internet; ICANN (Internet Corporation for Assigned Names and Numbers) che fu creata nel 1998, lo IETF (Internet Engineerig Task Force) che ha sviluppato la maggior parte degli standard di Internet, in collegamento con lo IAB (Internet Architecture Board), entrambi operanti sotto gli auspici di ISOC (la Internet Society). Ci sono poi altre organizzazioni per la gestione delle risorse, come i cinque Registri Internet, che operano in diverse regioni del mondo (Nord America, America latina, Europa, Estremo Oriente e Oceania, Africa). Questi 5 Registri regionali sono responsabile della allocazione degli indirizzi Internet nelle diverse parti del mondo ed attualmente sono impegnati nella distribuzione dei nuovi indirizzi Internet IPv6, che sono vitali per la continua crescita di Internet.

    Io voglio sottolineare ancora di più quanto dobbiamo essere grati alle persone che partecipano a queste organizzazioni così come a coloro che gestiscono i root server e il DNS (Domain Name System) e i moltissimi ISP del mondo che hanno creato e continuano a mantenere operativa questa rete Internet, come noi la conosciamo oggi.

    Io penso che sia inappropriato che una Agenzia come lo ITU, o qualunque altro organismo di standards, voglia stabilire un qualunque tipo di controllo su Internet o addirittura che affermi di avere improvvisamente scoperto che hanno la responsabilità, ad esempio, per la sicurezza di Internet. La vera risposta per la sicurezza è che tutti noi siamo responsabili di esercitare la massima cura (nell'uso di Internet), di utilizzare applicazioni il più  possibile protette, di utilizzare smart password per controllare l'accesso a tutte quelle risorse di cui possiamo disporre.

    Si stanno facendo dei cambiamenti alle principali strutture di Internet, come ad esempio estensioni ai meccanismi di sicurezza del DNS, oppure estensioni al sistema di routing, che può essere reso più sicuro con l'introduzione di RPKI (Resource Public Key Infrastructure), che è un sistema per apporre la firma digitale ai record che stabiliscono l'allocazione degli indirizzi IP ai vari AS (Autonomous Systems) e ai vari operatori. Tutte queste cose contribuiranno a fare di Internet uno spazio sicuro in cui operare.

    Noi abbiamo chiaramente bisogno di avere norme per l'uso di Internet, in maniera da riconoscere tutto quello che è abuso, che dovrebbe essere eliminato e dal quale dobbiamo difenderci. Non penso quindi che la soluzione possa trovarsi in organizzazioni internazionali o trattati intergovernativi. Questa è certamente  una collaborazione multistakeholder e la governance di questo sistema deve incorporare gli input di tutti i vari attori.
    Vi lascio con queste mie considerazioni e vi ringrazio perchè vi state impegnando per preparavi al convegno IGF di Novembre, dove conto di incontrare alcuni di voi, e mi impegno a difendere le istituzioni di Internet contro quelli che intendono invadere, sovvertire o interferire in un sistema che si sta evolvendo grazie allo sforzo continuo da parte di molte migliaia di persone, fra cui voi. Nel frattempo poiché non posso vedervi di persona mi aspetto di restare in contatto con voi sulla rete.

    Saturday, October 20, 2012

    L'albero di Leonardo

    Leonardo, il ragazzino di Cittadella che è stato prelevato a forza dalla polizia su ordinanza del tribunale e rinchiuso in una casa famiglia, ha scritto un tema, che racconta la storia di due alberi che si incontrano e non si comprendono.
    Leonardo sembra dire: visto che voi adulti non sembrate in grado di capire ciò che dico, provo a spiegarvelo con una parabola.
    Capiranno la parabola i genitori, i giudici e i periti psichiatri?

    Leggendo il testo dell'ordinanza, sembra che i giudici non sappiano scrivere in un italiano comprensibile, e quindi Leonardo ha ragione a tentare di esprimersi in forma più semplice.

    È Leonardo che sta dando lezioni a tutti.
    Gli adulti dovrebbero vergognarsi, a partire da quei poliziotti che hanno aiutato il padre a trascinare via il bambino, anziché arrestare proprio il padre per abuso su minore.

    Aggiornamento
    La Cassazione ha annullato la decisione del tribunale di Venezia.
    Il ricciocorno schiattoso commenta in dettaglio tutta la vicenda, compreso l'aspetto linguistico di usare termii come "resettare".


    Tiny Lisp Machine

    Con Il mio ECL (Embedded Common Lisp) il Raspberry PI diventa una minuscola Lisp Machine.

    Wednesday, October 17, 2012

    verified by Visa

    Ho provato ad attivare il servizio tramite la mia banca online, ma dopo avere inserito il numero della carta, mi risponde:

    The system is not available


     

    Learning to learn

    Un'interessante diatriba tra Peter Norvig e Noam Chomsky su quale sia il modo migliore di affrontare i problemi del linguaggio e dell'intelligenza umana, che sconfina in una discussione su cosa sia scienza e conoscenza.

    In realtà ci sono risultati anche su sistemi che apprendono ad apprendere con tecniche statistiche, e questo potrebbe chiudere il cerchio: Learning to learn.

    Tuesday, October 16, 2012

    Addio a Dan Weinreb

    Ho scoperto oggi che è morto Dan Weinreb. Era uno degli hacker del gruppo del 9th floor a 545 Technology Square, nel AI Lab del MIT, che qui si vede qualche anno dopo che quasi tutti ce ne eravamo andati:
    Tra tutti Dan era quello più normale con l'aria del bravo ragazzo, cortese e ben vestito.
    Da alcuni anni ci eravamo ritrovati su Facebook.
    Nel suo Common Lisp Implementations Survey cita il mio ECL.

    Nel suo blog controbatte parte del resoconto di Stallman sulla vicenda Symbolics-LMI.
    David Chapman, un'altro di quella generazione, riporta questo commento, che sottoscrivo pienamente, in particolare riguardo a PHP:
    For some reason nowadays CS departments don’t seem to develop influential programs. I haven’t been near a university in most of 20 years, so I don’t know why. Maybe they are producing great stuff that no one uses for some reason, or maybe they don’t attract smart people any longer.
    Most influential programs now seem to be produced by amateurs. That’s weird. It’s great, in a way, that you don’t need any credentials to create wonderful things millions of people will use. On the other hand, the CS curriculum really is critical. Learning it would save you from inventing PHP, which would be a huge benefit to mankind.

    Sunday, October 14, 2012

    ETNO sender termination

    Dave Burnstein ha chiesto a Vint Cerf di pronunciarsi sulla proposta di ETNO di far pagare chi invia dati su Internet, anziché far pagare come adesso a entrambi, mittente e ricevente, la banda che ciascuno usa.
    Ecco la sua risposta:
    Sustainability is essential for the Internet's continued utility. That means that all its costs need to be paid for. This does not necessarily dictate any particular business model and one can find many in the loosely-coupled Internet ecology. ETNO has proposed that application service providers pay ISPs everywhere in the world for ‘better service delivery’ for users of Internet access provision. 
    It is generally the case, in the Internet, that all users (including application service providers) arrange for access to the Internet. Essentially the users (and I apply this term to application providers also) get access to the Internet under local terms and conditions and then proceed to use the Internet for whatever purpose suits their interests. ETNO seems to want to return to the ‘sender pays/termination charge’ model of the past. Recently, it has introduced a variant in which the "sender" pays for ‘enhanced quality of service.’ 
    This notion fails on two counts. First, it suggests that the income from users paying for local access is insufficient to compensate for the cost of providing access. The obvious solution is NOT to charge every source of traffic on the global Internet. Rather, local costs should be reflected in access prices (possibly modified by local subsidy decisions). Second, it implies that the "ordinary" service isn't good enough quality and that the traffic sources should pay (every access provider) for "enhanced quality of service." 
    The shadow of "monetizing scarcity" looms in such proposals. Taken to an extreme, costs for every user and application provider would rise in such a model. In the Internet, demand is driven by the users on the receiving side. Since the Internet operates in a symmetric way, both sides have an obligation to defray local access costs and the intervening networks need to work out bilateral interconnection agreements. Old business models and the companies that revolve around them are often challenged by new technology. Darwin was right, there are only two choices: adapt or die.” 
    Personally, I don’t think Deutsche Telekom or France Telecom is going to die. But the solution isn’t to tax the net. First step is to follow Telefonica and sale (sic) off some corporate jets.

    Friday, October 12, 2012

    Chiti caga

    Dopo anni di oscurità, ecco che si rivede alla ribalta Vannino Chiti, già strenuo fautore di una discussa legge sull'editoria che conteneva norme bavaglio per Internet.
    Questa volta si mette in coppia con Maurizio Gasparri, per confezionare un disegno di legge, che viene sbandierato con l'intento di salvaguardare la libertà di informazione, ma che nasce per difendere la libertà di diffamare per i tipi come Sallusti.
    E giacché la tentazione di infilare norme contro la libertà di espressione in rete è sempre forte tra i nostri politici, non si sottraggono dalla tentazione di inserire nella legge una disposizione volta ad estendere l’obbligo di rettifica a tutti i “gestori di siti informatici di natura editoriale”, col rischio di pesanti sanzioni.
     

    Saturday, September 29, 2012

    trenitalia spiacente

    Nuovo tentativo fallito di acquistare un biglietto online da Trenitalia.

    Faccio tuttta a procedura, do gli estremi della carta di credito, elaborazione in corso ...
    Gentile Cliente, siamo spiacenti ma, per un malfunzionamento temporaneo, non è possibile accedere al sistema.
    Si prega di provare più tardi.
    Peccato che l'addebito sulla carta sia stato effettuato, come mi avvisa la banca via SMS.
    E adesso? Parto senza biglietto?
    Chi glielo spiega al conduttore che la procedura ha fallito?

    Trenitalia sarà spiacente, ma io sono ben più che spiaciuto.
    Perché l'errore lo danno dopo essersi presi i soldi?
    Prima si assicurino di essere in grado di eseguire la transazione e poi si prendano i soldi.

    Dopo qualche ora riprovo a collegarmi e ottengo:

    Stamane ho chiamato il call center, che mi ha detto che non risultano prenotazioni a mio nome e mi ha chiesto di fare un nuovo biglietto e poi di chiedere di rimborso.
    Ho precisato che non avevo nessuna traccia della prenotazione perché il sistema si era piantato e quindi non avevo alcun elemento per richiedere il rimborso.
    Allora ha detto che il rimborso sarebbe avvenuto automaticamente entro 30 giorni.
    Ho chiesto che garanzia ho del rimborso se non esiste alcuna traccia della transazione abortita?

    Ha suggerito allora di andare nell'Area Cienti del sito e riempire un modulo di reclamo.
    Le ho spiegato che non riesco più a entrare nell'account col messaggio di cui sopra.
    Prima ha detto che non le risultavano problemi sul sito. Quando ho insistito dicendo che non mi faceva entrare, allora si è offerta di mandarmi una nuova password. Le ho spiegato che la password la conoscevo e andarmene un altra non avrebbe risolto il blocco. Ha insistito a volerlo fare lo stesso ma non è riuscita dicendo che non trovava il mio account.

    Le ho suggerito allora di contattare l'amministratore del servizio o quantomeno l'amministratore del sito per verificare la presenza di una transazione abortita. Ma ha continuato a ripetere che non era stato emesso alcun biglietto, cosa abbastanza chiara fin dall'inizio.

    Comunque a questo punto era troppo tardi e il treno era già partito.

    Apparentemente il sistema di Trenitalia, quando va in tilt, lascia l'account in uno stato inconsistente che lo rende inutilizzabile. Come è già successo ad altri, non se ne viene più fuori se non cancellando l'account e creandone uno nuovo. Così però si perdono tutti i bonus acquisiti e le tracce dei precedenti acquisti.

    Eppure non dovrebbe essere difficile implementare una procedura di recovery, che ripristina lo stato dell'account e riporta un'indicazione della transazione abortita.
    Ma anche qui, il fornitore del servizio non si cura abbastanza di gestire le anomalie: curano di più la grafica che non il funzionamento.

    Il problema è stato segnalato altre volte e dopo oltre 7 (sette!) anni Trenitalia non è ancora riuscita a risolverlo.

    Il paradosso è che nel 1997 fui invitato a tenere un corso alla direzione di Trenitalia a Roma per spiegare loro cos'era Internet e il Web, illustrado le opportunità che potevano sfruttare per fornire un servizio moderno ed efficiente, che poteva far rispamiare tempo ai clienti e personale a loro.
    La presentazione ebbe talmente successo che volevano che diventassi loro consulente in materia, cosa che declinai avendo già troppi impegni.

    Mi fa piacere che abbiano dato seguito ai miei consigli, ma mi irrita il fatto che il servizio non sia all'altezza delle aspettative.

    Aggiornamento. 17/10/2012

    Poco fa ho tentato di fare un nuovo acquisto. Come al solito, dopo aver fornito i dati della carta di credito, il sistema ha dato ancora errore, questa volta di tipo diverso:
    Codice di errore : 101 Gentile cliente, a causa di alcuni malfunzionamenti del circuito bancario la transazione non è andata a buon fine. Nessun addebito effettuato. Ti preghiamo di riprovare più tardi. 
     Almeno un passo avanti c'è stato: questa volta nessun addebito.


    Wednesday, September 26, 2012

    Formigoni limite

    Il governatore Formigoni ha spiegato poco fa in TV che le Regioni possono stabilire lo stipendio dei consiglieri, ponendosi come limite una percentuale dello stipendio dei parlamentari.
    Incalzato dalla Gruber che chiedeva come mai ci siano tali disparità tra le regioni, Formigoni ha spiegato che la percentuale in alcuni casi è superiore al 100%.
    Ma che limite è allora?

    Sunday, September 23, 2012

    WallIt

    La mia vecchia proposta di abolire le banconote dell'Euro, creando la prima valuta al mondo unicamente elettronica potrebbe esssere rilanciata tra gli obiettivi prioritari dell'Agenzia per l'Italia Digitale.

    Oggi sarebbe possibile creare un servizio, che chiamerò WallIt, per borsellino (wallet) italiano, che consenta di effettuare tutti i pagamenti spiccioli, senza carte di credito, usando un qualunque dispositivo mobile.

    Le opportunità sarebbero rilevanti:
    • si creerebbe un'industria di servizi per la produzione e sviluppo di apparati e servizi di pagamento
    • si darebbe un sostanziale impulso alla diffusione capillare della rete su tutto il territorio
    • si otterrebbe a tracciabilità di tutte le transazioni, magari mantenendo e garantendo l'anonimato per quelle inferiori a 100 Euro, come già previsto oggi
    • sparirebbero le evasioni dell'IVA
    • si otterrebbero risparmi sulla gestione di sportelli bancomat, che diventerebbero inutili, anzi fuorilegge.
    • nascerebbe la possibilità di sviluppare applicazioni integrate con un sistema di micropagementi e transazioni sicure
    • si faciliterebbe il commercio di molti beni digitali che possono essere usati on demand (per esempio la lettura di singoli articoli di giornale, l'ascolto di una canzone) i cui costi potrebbero essere ridotti a un valore sotto la soglia psicologica dei 10 centesimi di Euro
    • si faciliterebbero soluzioni di acquisto innovative, come gli acquisti di gruppo o le offerte speciali (es. Groupon).
    Per realizzare il progetto, occorrerebbe trovare un accordo tra i gestori di servizi, ossia gli operatori di reti (fisse, mobili e Internet) e le aziende bancarie, orchestrato da Agenzia Digitale.
    Gli standard hardware e software potrebbero essere poi promossi a livello Europeo, creando uno sbocco internazionale alle aziende italiane, che si avvantaggerebbero della loro esperienza.
    È già successo in passato con il GSM che uno standard europeo si affermasse a livello mondiale. E visto che in fatto di cellulari l'Europa non è seconda a nessuno, varrebbe la pena di riprovarci.

    Impostando lo sviluppo del software della piattaforma del servizio come progetto nazionale finanziato dal governo con modalità di attuazione e risultati assolutamente Open Source, si potrebbe poi insistere facendo pressioni sule banche perché mantengano le loro commissioni entro limiti sotto l'1% e con un tetto massimo per transazione.

    Il momento è favorevole, perché nonostante alcune iniziative di aziende americane, la situazione è ancora fluida, come riferisce questo blog.
    • Google Wallet si basa sulla tecnica di NFC che alcuni modelli di cellurare incoporano e supporta varie carte di credito.
    • ISIS è la soluzione proposta da un gruppo di operatori telefonici americani, ma è in questo momento bloccata e il suo lancio è stato rinviato fino a data da stabilirsi. Inoltre richiede un pagamento di un canone annuale, come è tipico nel mondo delle telecom. Le sue possibilità di successo stanno diminuendo.
    • PayPal è il leader dei micropagamenti e propone una soluzione semplice, che non richiede l'uso di dispositivi speciali, ma usa semplicemente numero di telefono e PIN. In alternativa è possibile usare una app che presenta un codice di acquisto che il venditore invia, leggibile da un comune lettore di codici a barre.
    • Square si è fatta conoscere per un accessorio che si collega all'uscita delle cuffie di uno smart phone e consente di leggere le carte di credito. Ogni negoziante può quindi dotarsi facilmente del sistema. Ma Square ha l'ambizione di realizzare un servizio di wallet più generale. Square ha appena annunciato un accordo con Starbucks, che accrescerà notevolente la sua visibilità.
    • iOS Passbook è l'iniziativa di Apple, che a quanto pare sta ricevendo molto interesse, con circa 20000 adesioni al giorno.
    Un passo importante è stata l'approvazione del decreto del 6/4/2012 per l'attuazione della direttiva europea sull'istituti per la moneta elettronica.
    Bisognerebbe quindi muoversi rapidamente, con un progetto operativo che definisca le specifice tecniche del servizio di wallet.
    Questa sarebbe una soluzione semplice ed efficace sia per il rilancio dei consumi che per il rilancio degli investimenti in tecnologie innovative.

    PS.
    Ho saputo che anche Groupon ha da poco lanciato il suo servizio Groupon Payments.

    Risparmi ottenibili

    Questo studio del Politecnico di Milano stima i risparmi ottenibili attraverso la diffusione di pagamenti elettronici.

    Aggiornamento

    Gli operatori italiani di telefonia mobile propongono una piattaforma comune

    Telecom conto online

    Anche questo servizio una volta funzionava.
    Adesso quando accedo comincia a dare errore:
    Errore. Impossibile caricare la barra di menu'
    e poi quando arrivo a visualizzare la bolletta:
    ERRORE risposta SSO
    Chiaro, no?
    Ho riprovato una seconda volta:
    Siamo spiacenti. Il servizio non è al momento disponibile.
    Non ne posso più!
    Mi piacerebbe si facesse un'indagine su quante ore vanno perse per malfuzionamenti dei servizi online.
    Quello che un tempo noi propugnavamo come un vantaggio della rete, la possibilità di effettuare tutte le operazioni con pochi semplici click, da casa o da altrove, senza doverci spostare o spostare pezzi di carta, rischia di rivelarsi una pia illusione.

    Per evitare questa degenerazione, bisognerebbe che la AgCom instaurasse un osservatorio e infliggesse multe a quegli operatori i cui servizi sono affetti da malfunzionamenti.

    Thursday, September 20, 2012

    PECcato

    Ho cercato di attivare il servizio di posta certificata sul sito di posteitaliane.it.
    Subito dopo avere inserito i dati della carta di credito per il pagamento è apparsa la segnalazione di errore qui sotto.
    Ho chiamato l'operatore del call center e gliel'ho letta, riferendo in particolare che "the server encountered an internal error, la cui causa era un NullPointerException".
    La sua prima risposta è stata che dovevo installare una nuova versione di Java.
    Gli ho fatto notare che l'errore era sul server, non nel mio client.
    Allora mi ha dato indicazioni su come completare la pratica manualmente, che richiede l'invio di un contratto firmato via posta certificata (sic!) o, in alternativa, via fax.

    HTTP Status 500 -


    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException
     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
    root cause
    java.lang.NullPointerException
     org.apache.jsp.conferma_jsp._jspService(conferma_jsp.java:156)
     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

    Apache Tomcat/5.0.28

    Saturday, September 15, 2012

    scontro ETNicO

    Da alcuni mesi è in corso una campagna di lobby insistente da parte di ETNO per preparare il terreno a un cambiamento di regole tra gli operatori di telecomunicazioni, da varare al prossimo meeting di ITU a dicembre a Dubai.

    ETNO è l'associazione degli operatori di telecomunicazioni europei, di cui è presidente Luigi Gambardella, che fa il mestiere del lobbista ormai da oltre vent'anni.

    All'ETNO Summit 2012, ETNO prende finalmente atto degli straordinari sviluppi prodotti dalla diffusione di una rete aperta come Internet, dopo che per lungo tempo tempo gli operatori ne hanno ostacolato la crescita o hanno cercato di imporre loro alternative.
    Con Gambardella e con Telecom Italia per esempio mi scontrai duramente negli anni 1996-97 in cui guidavo la campagna di Città Invisibie per l'abolizione della TUT (Tariffa urbana a Tempo).
    Ecco il bel ragionamento che fa ETNO per motivare l'esigenza di cambiamenti nelle regole internazionali:
    Over the past 20 years, the rapid and successful growth of the Internet and of Internet-enabled services and applications has fundamentally transformed the economic landscape.
    Quindi si direbbe che il modello di rete aperta, basata sul principio della Net Neutrality e di trasporto best-effort senza disciminazione tra i contenuti, interconnessa sulla base di accordi di peering liberamente contratti tra gli ISP, funzioni molto bene.
    Non c'è dubbio che gran parte del successo è dovuto proprio alle miriade di servizi, di appplicazioni, di materiali che miliardi di persone e milioni di aziende hanno creato e messo a disposizione degli altri.
    Nulla di tutto ciò sarebbe esistito se i servizi fossero rimasti appannaggio degli operatori, come era ai tempi dei monpoli telefonici, quando gli utenti non erano nemmeno liberi di scegliere il modello di telefono che preferivano.
    Bene, visto che il modello ha funzionato, cosa propone ETNO?
    Di svilupparlo ulteriormente rendendo possibile una sempre aggiore partecipazione?

    No! ETNO propone di eliminare il modello di tariffazione flat basato sulla quantità di banda, per sostituirlo col modello della tariffazione a carico del chiamante (sending-party-network-pays), che è proprio il modello precedente a quello di Internet e che ne impediva lo sviluppo.
    For telecoms operators to continue meeting the huge investment challenge linked to exponential traffic growth, new business models are needed based on commercial cooperation with all players of the value chain.
    In alcune dichiarazioni, ETNO vorrebbe che le aziende che offrono servizi, i cosiddetti OTT, paghino una tassa agli operatori, perché altrimenti non ce la fanno a restare sul mercato.
    L'argomento è altrettanto assurdo quanto sarebbe la pretesa da parte di Autostrade di chiedere una percentuale sui guadagni di chi trasporta merci in autostrada, oltre al prezzo del pedaggio.

    La rivista Forbes qualifica come assurda la proposta:
    In some sense, ETNO is trying to impose a Frankenstein version of the long-standing and deeply corrupt settlement regime for international long distance, where phone companies (many of them still wholly or partially owned government monopolies) establish and charge per minute rates for incoming calls from other countries.
    That system didn’t even work for long-distance, which relies on dedicated circuits and was thus easy to track and to meter. Many countries set absurdly high rates on incoming calls, gouging foreigners, many of them expatriates calling home.
    Se poi le telecom sono invidiose dei guadagni degli OTT, perché Telecom Italia ha venduto Virgilio, ossia il suo ramo OTT?

    ETNO dimostra che 20 anni non sono bastati agli operatori per capire la nuova realtà né di imparare a vivere in un mercato aperto alla concorrenza. Pretendono che altri, o gli OTT o i governi, forniscano loro i finanziamenti per gli investimenti in infrastrutture, magari con regole imposte per legge che garantiscano loro il ritorno degli investimenti.
    Anche questi sono argomenti assurdi: perché se davvero qualche governo decidesse di dar loro retta, proporrei immediatamente di costituire un'azienda che si metta a stendere fibra ottica a caso qua e là. I soldi ce li mette lo stato e garantisce anche i profitti. Una vera pacchia: questo è il vero capitalismo!

    Le argomentazioni sono talmente assurde, che faccio fatica a immaginare come si possa essere così fessi, primo da esporle, secondo a darci retta, terzo a credere che ci siano in giro dei fessi che se le bevono.

    Tanti si sono espressi contro queste posizioni, a partire da Vint Cerf, uno dei padri di Internet, sul NYT, da Isoc, l'organizzazione mondiale da lui fondata che ha il motto "Internet è per tutti", e dal Dipartimento di Stato USA al WCIT 2012.
    ISOC afferma che:
    Sending-party-network-pays could therefore reinforce and make much worse the existing ‘digital divide’.
    Jeoff Huston ribadisce:
    And how should we respond to ETNO's demands for regulatory intervention to impose a "new sustainable economic model for the Internet"?
    Our response now should be exactly the same as it was 10 years ago – no!
    Huston osserva anche che se fossero gli operatori a mettersi d'accordo per aumentare le tariffe, al fine di ottenere i guadagni che secondo loro servono per poter ivestire in nuove infrastrutture, si tratterebbe di un'operazione di cartello vietata dalle norme sulla concorrenza. Per questo ETNO si rivolge tramite ITU ai governi, perché siano loro a imporre regolazioni tariffarie. Ma è evidente che questa non è altro che un'operazione di cartello mascherata e quindi altrettanto illegittima, a cui i governi non si devono prestare.

    Un rapporto di Analysyn Mason, azienda di analisi strategiche, afferma:
    ITU's forthcoming review of the International Telecommunications Regulations could extend these to the Internet and that any such expansion is "not only unnecessary, but could harm the growth of the Internet in developing countries."
    In Europa La Quadrature du Net fa un riepilogo della questione e invita la UE a prendere ua posizione netta contro questi attacchi.

    Ciononostante ETNO insiste imperterrita e tiene pronta l'arma letale, alla quale cedono tutti i politici: "se non fate quello che chiediamo, metterete a rischio l'occupazione nelle nostre aziende".
    L'argomento è anch'esso fuor di luogo, perché Internet ha prodotto e continuerà a produrre centinaia di milionii di posti di lavoro, e se le telecom non sanno operare anche loro sul libero mercato, come fanno tutti coloro che investono e realizzano servizi su Internet, saranno altri a farlo.

    Ho segnalato questi fenomeni nel mio intervento al ventennale del GARR, intitolato Internet è di tutti, perché ognuno di noi ne possiede una parte e ha contribuito a costruirla, e dobbiamo insistere perché resti così difendendola dagli attacchi di coloro che vorrebbero imporre i loro interessi.

    Tuesday, September 11, 2012

    cura open source

    Circola una notizia bufala riguardo a un cosiddetto metodo di cura Open Source che Salvatore Iaconesi ha adottato per il suo tumore (sincera compassione per lui).

    Come spiega il prof. Pillon, si tratta di un malinteso grossolano. Non c'era nulla da crackare nella cartella clinica del soggetto.

    "Cura Open Source" risulta essere una frase priva di senso.
    Forse si potrebbe dire "crowd cure", "crowd treatment" o qualcosa di simile.
    O anche semplicemente, per usare un termine antiquato, "consulto".
    Ci sono già moltissimi servizi di consulto medico online.
    Ma questo è una cosa che fanno tutti, tutti i giorni e non sarebbe una notizia.

    Ma i giornalisti non potrebbero fare un piccolo sforzo di verificare ciò che gli propinano prima di scrivere?
    1) I dati forniti (cartella clinica e referti di PS) come si vede sul sito http://artisopensource.net/cure/ da lui costruito ad hoc, non sono in formato proprietario, sono in formato CARTACEO, il più facile da condividere. Le immagini che il San Camillo fornisce sono digitali in formato DICOM, standard, su CD
    2) SOLO Il visualizzatore incluso nel CD è ovviamente "proprietario" ma ci sono decine di visualizzatori DICOM freeware che possono essere utilizzati
    3) Stiamo preparando il sistema Web Based ma sarà ovviamente accedibile solo con userid e pw, del paziente, o, se autorizzato, del curante

    I giornalisti, non hanno capito. Lui vuole promuovere la CURA open source. OPEN SOURCE significa una comunità che lavora condividendo pensieri e progressi e lui vuole questo .." i miei dati sono a disposizione  di chi li vuole usare e ci vuole fare quasiasi cosa", anche video o opere artistiche. La condivisione dei dati e del lavoro (da Wikipedia open source termine inglese che significa sorgente aperto) indica un software i cui autori (più precisamente i detentori dei diritti) ne permettono, anzi ne favoriscono il libero studio e l'apporto di modifiche).

    Una filosofia che per un tumore a basso grado di malignità è comprensibile ma non ci trovo nulla di particolare. Meglio fare un sito web che mandare mille fotocopie così però finisce ogni privacy. Inoltre ovviamente per avere risposte ha dovuto scrivere agli specialisti, non hanno certo trovato per caso i dati sulla Rete ed allora non faceva prima a mandare i PDF scannerizzati per email del cartaceo e mettere le immagini su PICASA (o su un server FTP il cd con tutto il Viewer che consente di gestirle ed elaborarle) linkandole dall'email, come gia fanno molti dei miei pazienti??
    Fare un sito web, in flash bello (e costoso) così come ha fatto il suo... mi pare più una promozione che qualcosa di sanitario (ottima comunque per avere pareri, approvo l'idea della cura open source ma non parlatemi di "hackerato" o dati proprietari!)
    Inoltre immagini e referti non erano in formato proprietario, solo il visualizzatore, come ogni software, ha un copyright, per cui non ha craccato NULLA!

    Decine di pazienti fanno così da anni e non vanno su Repubblica!

    Prof. Sergio Pillon, Roma

    Sunday, September 09, 2012

    Bibite e obesità

    Ancora confusione tra correlazione e cause. Questa volta tutto nasce dalla proposta di bando alle bibite zuccherate del sindaco di NY Bloomberg, maldestramente scopiazzata dal nostro governo. Una giornalista dell'Harvard Crimson riferisce:
    A recent study proves that people who drink diet sodas are more likely to have obesity-related health problems. Moreover, in a shocking discovery, rates of obesity among customers of the popular dietary shake, Slim Fast, were dramatically higher than those of the general populace.
    Immagino analoghi sorprendenti risultati. Ad esempio che l'insonnia è più frequente in chi prende sonniferi o che hanno più frequenti emicranie quelli che prendono l'aspirina.

    Anche se l'articolo del Crimson aveva intenzioni satiriche, pochi dei lettori lo hanno inteso in tal modo, e lo studio citato è serio.

    Thursday, August 16, 2012

    malaspagna

    Anche in Spagna i servizi web peggiorano.
    Poco fa cercavo di fare il check-in online su una linea aerea spagnola, ma non riuscivo a fare login nel mio conto.
    Davo l'indirizzo e la password, poi cliccavo Enter e aspetta, aspetta, aspetta, non succedeva niente.
    Ho provato a cambiare browser, ho verificato indirizzo e password, ed era tutto a posto.
    Però a un certo punto, in una dei tanti pop-up che spuntavano è apparso un messaggio strano:
    Inserire la password
    visto che era lì bella presente nella form.
    Allora mi è venuto un dubbio: non avranno messo un controllo sulla lunghezza delle password?
    Infatti aggiungendo altri caratteri, il pop-up spariva.
    Ma ovviamente quella non era più la mia password, per cui era impossibile che potesse funzionare.
    Allora ho tentato la richiesta di invio di una nuova password.
    Pigio il link, ma non succede niente.
    Allora provo a inviare un messaggio all'assistenza.
    Risposta:
    siamo spiacenti, ma in questo momento il servizio non è disponibile.
    Allora vado all'altro servizio: risposte on-line.
    Chiedo come recuparare la passord. La risposta è:
    Per recuperare la password, cliccare il seguente link:
    e a seguire una riga bianca.
    Infine, disperato, perché sono vicino al limite tempo per effettuare il check-in, chiamo il numero verde.
    Risposta:
    abbiamo cambiato il servizio Web e non sta funzionando. La preghamo di riprovare più tardi.
    Se non sarà possibile, le faremo il check-in gratis in aeroporto.
    Peccato, era un servizio comodo, che funzionava "sin papel": ti mandavano un MMS sul cellulare e all'aeroporto lo appoggiavi su lettore e passavi.

    Come al solito:
    1. cambiano dei servizi che funzionano e li sostituiscono con altri che non funzionano
    2. non si premurano di testare il servizio prima di metterlo online
    3. lo fanno proprio nel periodo di alta stagione turistica, dove per di più il loro personale di asistenza scarseggia
    Peggio di così è dura.
    Nemmeno qui hanno capito che i servzi web debbono fuzionare 24hx365 e essere semplici ed efficienti.
    Se per fare un'operazione un utente ci perde quasi un'ora, come è successo in questo caso, allora convengono i servizi di sportello.

    Monday, July 23, 2012

    How Emacs changed my life

    Yukihiro "Matz" Matzumoto spiega How Emacs Changed my Life.

    La cambiò anche a me nel 1978, quando imparai ad usarlo all'AI Lab del MIT, lavorando a fianco sulla stessa tastiera della Lisp Machine con Richard Stallman.

    Emacs era l'editore che si usava su qualunque terminale del laboratorio, molti dei quali erano collegati con un peculiare meccanismo di video switch al DEC-10 su cui girava il sistema operativo ITS (Incompatible Time Sharing), le cui prerogative di sicurezza erano descritte dal motto "Security by obscurity".

    Il video switch era tale che chiunque poteva switchare una delle uscite sul proprio display, e in questo modo poteva vedere quello che qualcun altro stava facendo.

    Il principio era quello che in un laboratorio universitario nulla doveva essere segreto.
    Naturalmente era buona educazione non usare questo meccanismo per fini malevoli.
    Uno degli scopi utili era quello di fare mentoring. Una persona più esperta, per esempio, poteva "osservare da dietro le spalle" quello che faceva un giovane, e suggerirgli modi di migliorare il suo lavoro.

    Io lavoravo nel gruppo dell'Actor Model di Carl Hewitt ed ero un convinto fautore della programmazione a oggetti. Poche persone del gruppo si occupavano di implementare qualcosa di utilizzabile con quella metafora di programmazione e al MIT il linguaggio preferito era il Mac Lisp, che non aveva meccanismi di programmazione a oggetti.

    Per dimostrare l'utilità della programmazione a oggetti decisi di implementare un sistema grafico a finestre sulla Lisp Machine, che aveva uno dei primi schermi a bitmap ad alta risoluzione.

    Con Gianfranco Prini e Carlo Montangero, avevamo fatto una proposta per un linguaggio intermedio per supportare linguaggi ad oggetti, che avevamo chiamato SMOM (Structured Memory Oriented Machine).
    Sostituite "Structured Memory Oriented" con "Object Oriented" e capite di cosa si trattava: il termine "object" non era ancora diventato di uso comune.

    Comunque, per fare in fretta, partii da una bozza di linguaggio a oggetti su cui Richard Greenblatt stava lavorando, che forniva i costrutti defclass e defmethod, scritti usando il meccanismo di macro del MacLisp. Imparai così costrutti strani come il backquote (`), il comma (,) che annulla il backquote, e il comma-ampersand (,@) per fare list splicing, concetti di meta-programmazione che ancora oggi pochi linguaggi suportano,  il cui utilizzo è mind-boggling, specie se i costrutti si annidano uno dentro l'altro.
    Con queste primitive a oggetti scrissi un primo prototipo di sistema a finestre, con una sua gerarchia di classi derivate dalla classe Window, con specializzazioni per Menu, PopupMenu, Scroller, etc.
    Per convincere la gente ad usarlo, mancava una killer application.
    Siccome tutti usavano Emacs, decisi che avrei datto una versione di Emacs, che lavorasse su finestre e potesse usare il mouse per selezionare, fare apparire menu, spostare pezzi di testo, ecc.

    Incominciai a lavorarci e quando fui a buon punto, chiamai Richard Stallman per completare il lavoro.
    Ci mettemmo a fianco alla stessa tastiera (anticipando il pair-programming della metodologia di Extreme Programming).
    Io scrivevo e lui osservava, ogni tanto dandomi dei consigli.
    Per esempio, notava che spesso dovevo cancellare tutti gli spazi per spostare un testo a sinista e lui mi suggerì il comando Emacs apposta per questo: M-\.

    Arrivammo al punto in cui bisognava entrare all'interno del codice di Emacs.
    Quello sulla Lisp Machine era una versione interamente scritta in Lisp, diversamente da quella usata sugli altri terminali che era scritta in TECO, emulando E, l'editore di Stanford, da cui il nome E-macs, o E macros.
    Quindi ci scambiammo di posto e lui cominciò a manipolare il codice di Emacs, usando ovviamente Emacs.
    Ogni tanto decideva: "questo codice non deve star qui" e prendeva intere pagine di codice e le spostava da un file all'altro.
    Usava Emacs a una velocità impressionante, dato che in pratica la sua mente e Emacs erano un tutt'uno e ciò che lui pensava si trasformava direttamente in emissione di comandi attraverso le sue dita.
    Per chi conosce Emacs, questo non sorprende, perché si possono gestire più buffer e spostarsi da uno all'altro con semplice C-x-b.
    Poi con C-M-x poteva compilare ed eseguire immediatmente i pezzi di codice che aveva modificato e questi entravano immediatamente in funzione.

    Attenzione, le modifiche che effettuava diventavo immediatemante esecutive, per cui cambiava il funzionamento dello stesso editore che stava usando per fare le modifiche.
    Capite bene che se avesse commesso un errore, sarebbe stato un disastro, perché avrebbe reso inutilizzabile lo strumento per programmare.

    Richard non fece errori e in meno di un paio d'ore Emacs a finestre era in funzione e disponibile per tutti.
    Tutti si fa per dire: a quel tempo c'erano solo due Lisp Machine in tutto e la gente se le contendeva.
    Spesso bisognava aspettare fino a tarda notte, e infatti questo episodio si svolse di notte, credo ben oltre la mezzanotte.

    Questo non era insolito, infatti molti degli hacker del MIT lavoravano fino alle ore piccole, e di frequente verso le 3 qualcuno faceva il giro a chiedere (foodp), e si partiva tutti per andare a China Town a Boston a mangiare cibo cinese in uno dei ristoranti cinesi favoriti. Qualcuno infatti decretò che "You can't get a degree from MIT if you don't learn how to eat with chopsticks".

    Pur avendomi aiutato a metter in funzione Emacs a finestre, Richard disse che non lo riteneva molto importante, e che si poteva fare tutto con la tastiera senza bisogno del mouse.
    Ne nacque una discussione in cui sostenevo che l'uso del mouse era molto più intuitivo, e si evitava di dover ricordare tutti i comandi, facendo uso del mouse e svolgendo certe operazioni direttamente con il mouse.

    Richard decise quindi di sfidarmi. Avremmo dovuto svolgere a turno delle funzioni per verificare chi faceva prima.
    Cominciò lui a suggerire di spostare un certo testo da un posto all'altro. Lui lo fece con pochi comandi da tastiera, facendo una search incrementale per andare al posto giusto e poi tornando indietro con C-x-C-x.
    Io mi spostai col mouse, arrivando rapidamente nella zona da selezionare, ma poi dovendo rallentare per sceglire il punto preciso di inizio. Poi feci apparire il pop-up con i comandi di Cut/Paste/Copy, mi spostai al punto di arrivo e feci di nuovo riapparire il menu.
    1-0 per lui. Poi toccò a me suggerire dei task. Su qualcuno riusci a batterlo, ma in generale vinse lui.

    Comunque io rimasi convinto che la strada delle interfacce grafiche sarebbe stata determinante per rendere le macchine più adatte al vasto pubblico dei non informatici.

    Poco dopo proseguii, con Maria Simi, a sviluppare un sistema di Form attive, ossia finestre suddivise per tabelle di campi, tra i quali erano indicate delle relazioni, espresse nel linguaggio di descrizione Omega.
    Come esempio facemmo vedere come si poteva compilare una fattura, in cui si inserivano le cifre nei campi e venivano calcolati automaticamente i totali.
    La soluzione piacque moltissimo, e ricordo che la facemmo vedere a molti rappresentanti di aziende che passavano dal MIT a vedere le ultime novità tecnologiche.
    A quei tempi si parlava di Office Automation, come insieme di tecniche e strumenti che avrebbero potuto migliorare lo svolgimento dei compiti di un ufficio.

    Per mostrare la nostra realizzazione, decidemmo di fare un video, che mostrasse varie funzioni di Office Automation che si potevano svolgere con la Lisp Machine, tra cui l'editing di testi e la stampa laser ad alta risoluzione, un editore di immagini chiamato Picturesque (fatto da me con un undergrauate), la posta elettronica con Bolio, un'estensione di Emacs il cui nome derivava dalla gelateria Emac&Bolio, che si trovava in Massachusetts Avenue. E poi c'erano le grafiche accattivanti dei clover colorati e animati di Bill Gosper.

    Il filmato era a colori e con una colonna sonora fatta con brani di Mozart e con commenti a voce su ciò che si vedeva.
    Era il primo video multimediale del tempo (i rari video a quei tempi al massimo erano muti) ed ebbe molto successo, per cui venni chiamato a farlo vedere in varie università, tra cui il Rensselaer Polytechnic.
    Mi vennero richieste copie da entrambe le aziende nate per commercializzare la Lisp Machine (Symbolics e LM Inc., che oggi si chiamerebbero startup) che lo presentarono in occasione di vari congressi, come il AAAI a Stanford nel 1980.

    Anche il sistema di Active Form si rivelò un precursore. Pochi mesi dopo, Dan Bricklin e Bob Frankston, due studenti di Harvard, a poca distanza da noi, annuciarono lo sviluppo di Visicalc, uno strumento per PC che consentiva di gestire quelli che oggi si chiamano fogli elettronici.
    Visicalc aprì la rivoluzione del personal computing, lanciando l'Apple II da giocattolo per hobbyisti a strumento per uso aziendale.

    Per chiudere il cerchio, qualche anno dopo feci fare al mio studente Luigi Madella, un clone di Visicalc dentro Emacs, programmato completamente in elisp, il Lisp di Emacs.

    L'architettura del sistema a finestre della Lisp Machine non era secondo me molto elegante.
    Si basava sull'uso di processi, e in ogni finestra risiedeva un processo distinto.
    Uno dei processi si occupava di gestire il mouse, ed operava indipendentemente dagli altri.
    L'interazione con il mouse era alquanto complicata: per potere ottenere informazioni dal mouse, occorreva impossessarsene. C'era una funzione per fare eseguire codice all'interno del mouse (process-mouse-run) e una il cui nome era all'incirca seize-mouse, che consentiva di impossessarsi del mouse, per esempio se uno doveva fare un drag&drop.
    Il tutto rendeva la programmazione molto complicata, per esempio nella process-mouse-run non si poteva acccedere ai dati dell'applicazione, in quanto girava in un altro processo, e quindi per comunicare col mouse si doveva usare interprocess-communication, in pratica leggere e scrivere da uno stream.
    Tutto era poi molto fragile, perché se un'applicazione non rilasciava il mouse rapidamente, il mouse sarebbe rimasto congelato, e nemmeno il tracking dei movimenti avrebbe proseguito.

    Pertanto decisi di proporre un'architettura software diversa.
    Siccome ero nel gruppo del Message Passing Semantics, l'idea fu semplicemente di fare diventare il mouse un Actor con cui si comunicava attraverso message passing.
    Chi voleva leggere la posizione del mouse, poteva inviargli una richiesta.
    Il problema era che in molti casi, l'applicazione deve reagire a operazioni dell'utente col mouse, piuttosto che viceversa.
    Pertanto proposi che il mouse gestisse una lista di notifiche, in modo da segnalare alle applicazioni quando un evento di loro interesse si era verificato e fosse il mouse a invocare l'applicazione.
    Provai a parlare a Carl Hewitt di questa mia idea e ci fu un confronto serratissimo, con lui nettamente contrario. Io ero sbalordito, perché mi pareva che la soluzione fosse proprio l'ideale per una visione ad Actor, e il fatto che lo stesso fautore degli Actor la bocciasse mi pareva un tradimento.
    Fu una esperienza molto triste per me e uscii dalla discussione letteralmente in lacrime.

    Avevo in pratica inventato il modello a eventi con callback, che divenne popolare qualche tempo dopo con X Window System, sviluppato da Bob Scheifler, un collega del MIT 4 piani più sotto.

    PS.
    Grazie ai commentatori che hanno segnalato alcune sviste.