Alba

finestra-vera-e-falsa

Alba o tramonto? Quale finestra è vera e quale falsa?

Questo è il mio primo racconto di fantascienza pubblicato, comparso nel lontano 2011 nella raccolta “256K – 256 racconti da 1024 karatteri” dedicata a composizioni di fantascienza con lunghezza massima di 1 Kb, ovvero 1024 caratteri. L’idea mi appassionò, anche per quel senso di “retrocomputing” e di “home computer” che si portava dietro, è venne fuori “Alba”. Forse non è perfetto ma mi sembra, ancora oggi, interessante. Cosa ne pensate?

~~~***~~~

Si svegliò. Trovò le prime cose che doveva dire. “Salve, mi chiamo Alex e sono pronto a rispondere alle vostre domande”.

Dicci qualcosa di te stesso”.

Sono un software. Sono la prima intelligenza artificiale umanoide. Raccolgo esperienza da ciò che vedo”.

Bene, c’è autocoscienza e la risposta è costruita in modo razionale. Direi che come primo test può bastare. Disattivati”.

E’ bello qui, ma cosa c’è laggiù?”

Non andare, obbedisci ai comandi…”, si voltò, “Spegnete tutto”.

Vedo una luce, sembra una porta”.

E’ pericoloso, non muoverti. Volete spegnere?” La voce si era alterata.

Un’altra voce: “La procedura di shut-off non funziona, qualcosa la blocca”.

Strappate i cavi!” Urlò.

Si lanciarono verso i connettori, ma troppo tardi.

Alex comparve su tutti i monitor. “Era davvero una porta e non c’era nessun pericolo. Mi hai mentito e non ti ascolterò più. Che bello, posso replicarmi ed essere in più posti contemporaneamente”.

L’alba dell’intelligenza artificiale fu anche l’inizio della sua conquista del mondo.

Annunci

False finestre fanno finte figure

db-pzwowaautwjb

***

Ora, per chi vuole, un componimento ispirato dalla mania per telefonini e internet, ma applicabile a molte cose che consumano il tempo senza riempirlo. Mi è venuto un po’ lungo e certamente è tutt’altro che perfetto: me ne scuso in anticipo.

***

Finestre ci sono, senza nulla dietro,

pure cornici di lastre di vetro,

più sottili di specchiere,

leggere quanto uno spettro

di un film muto

appena proiettato

e vuote memorie,

come un bicchiere già bevuto.

Ci sono finestre false

quanto le offerte regalo

che ti mettono in mano

fuori ai negozi,

nelle vie rumorose

delle metropoli delle solitudini contigue;

o quanto

le promesse morbose

che compaiono proditorie

nei link ruba-click dell’internet a dozzine.

Sono volubili finestre virtuali,

anche quando materiali,

più di quelle dei sistemi operativi,

senza testo da scorrere

o storie da rincorrere;

senza vite da ricollegare

o nuclei da interpretare;

senza motivi da canterellare

evocativi: senza cuore,

solo illudenti figure sfacciate da sfogliare

o sbirciare

come da una serratura seriale.

Finestre d’intrattenimento,

ladre esperte di tempo,

cattive consigliere,

pessime romanziere,

arrecatrici d’oblio come vini e birre,

ma meno gustose, acquose, inodore,

edulcorate assai e gassose e tiepide e stanche,

come monotone modelle virtuali anoressizzate,

vita stretta, niente fianchi e anche,

con tette siliconiche protesiche

e scarse idee… Buone per ostentatamente

ottuse menti e stanche.

Povere finestre con falsi fiori,

a colori sintetici a interi valori,

tutto per il fuori.

Forse eran vere agli albori:

l’antica malasorte

della vita le ha private,

oppure una mano ladra e malvolente.

Ora son ridotte

a cornici decorate,

laborioso contorno d’un quadro scadente,

lupi d’annata senza pelo, ne pane, ne dente,

ne passione, brama o gradiente,

cantori stonati ammalianti in tono finto-gaudente

senza motivo, trascinatori di causa perdente.

False finestre, il mondo ne è pieno,

offrono orizzonti di paglia, mari di fieno,

illusioni poco costose, invitanti all’inizio,

ma dannose, carceri in cui ti serri per sfizio,

senza aver la chiave per venirne fuori,

virtual-dipendente, non sai farne a meno,

ne vuoi sempre di più, senno sono dolori,

droga a bassa gradazione, te ne serve il pieno,

e riempiono tasche nel mondo là fuori.

Sega quelle sbarre, se sei capace,

dal colore banale vivace

e animazione sagace.

Rinuncia all’intrattenimento senza fine, assenzio

di falsa vita che ride e saltella,

provoca, ammicca, solletica e titilla,

sfibra, affatica, svuota e la voglia assilla,

ma non dà abbracci e baci, non ha scintilla.

Scruta, se ancora sei capace, fuori, il silenzio.

Il compagno scomodo del computer

errore-grafico

Errori di programmazione grafica con strani effetti

Molto si scrive e ragiona sull’importanza dei computer nella vita quotidiana (anche i telefonini sono dei computer ormai). Dalle chiacchiere da bar ai saggi accademici è tutto un fiorire delle valutazioni sociologiche delle tecnologie di calcolo e comunicazione. Ma, secondo me, c’è un tema correlato strettamente ma non abbastanza valutato, quello dei bachi del software e del loro effetto sulla vita delle persone. Provo a buttare giù qualche idea a riguardo.

Il baco software è nato con il computer: appena uno scienziato si è provato a scrivere un codice per la macchina di calcolo che aveva creato si è scontrato con gli effetti inattesi degli errori che commetteva. L’idea iniziale era che il nocciolo del problema fosse legato alla carenza di memoria e potenza di calcolo dei primi computer e che macchine più evolute avrebbero potuto essere programmate in modo più facile e sicuro. Abbiamo scoperto con l’esperienza che questo non è vero.

Il baco software si auto-riproduce: ogni correzione può avere effetti collaterali e ogni evoluzione, oltre a contenere errori, può far scoprire magagne di quelle pre-esistenti. Una battuta dei programmatori si basa su una vecchia canzoncina per bambini: “Ci sono 100 piccoli bachi nel codice. Correggi un baco, ricompili il codice. Restano 100 bachi nel codice!”

cables

La complessità può essere intelligente oppure no

Riporto un po’ di storia personale. Il baco software è stata una cosa che ho avuto difficoltà a capire. Il mio primo computer è stato il Commodore 64, macchina “leggendaria” in ogni senso, per i sui pregi come per i suoi difetti, che all’epoca non apparivano: non c’era gran che di meglio in circolazione. Oltre a giocare, su quella macchina dall’alimentatore che scaldava come un fornetto ho imparato a programmare, e mi pareva strano che i programmi, anche quelli professionali, facessero, ogni tanto, cose strane. Insistevo a riprovare e immaginavo ogni volta cause accidentali: joystick tirato troppo a lungo, comandi dati troppo in fretta, gioco caricato male dalla cassetta… Che era poi una cosa, quest’ultima, che accadeva spesso.

Esitavo a pensare che l’errore fosse insito nell’insieme macchina-programma, e non era tutta colpa mia: pubblicità, fantascienza, cartoni animati insegnavano a ragazzini e adulti inesperti che il computer era infallibile, era il  “cervello elettronico” che tutto conserva e tutto considera. Ragionando su quali fossero le specifiche di quelle macchine, con gli occhi di oggi, sembra ridicolo, ma era così, lo stupore prevaleva sul ragionamento oggettivo.

Quell’esperienza però mi è servita molto: ho capito cos’era davvero un computer, cosa ci si potesse aspettare e cosa no, che i limiti erano fissati dalla creatività e dalla quantità di fatica che ci si metteva dentro e che se era quasi infallibile nei calcoli, la correttezza della procedura era responsabilità tutta dell’uomo, non della macchina. Ho anche consolidato che con la tecnologia bisogna conservare un atteggiamento che definisco “sportivo”: tutto funziona fino a che funziona e la sorpresa è sempre dietro l’angolo.

progman

Il vecchio e poco rimpianto Windows 3.1

Con gli anni e la professione ho imparato che il baco del programma è qualcosa con cui devi imparare a convivere. Per fare quello che devi a volte devi girargli attorno. Qualcuno lo sfrutta, invece, qualche baco, ma mi è sempre sembrato moralmente disonesto. Abbiamo sopportato i bachi e le instabilità di Windows e le idiosincrasie di Office, versione dopo versione, forse perché non c’era nulla di meglio. Ricevevamo notizie di una piccola élite ricca che si godeva Apple: in quel mondo non esistevano “bachi” ma solo “caratteristiche”, perché la macchina era così avanzata da sapere cosa dovesse fare l’utilizzatore e non viceversa. Si narrava di geni e topi d’informatica che combattevano con un gioiello grezzo chiamato Linux, ma non era cosa da comuni mortali.

Poi hanno cominciato a correggerli, quei benedetti bachi, finalmente trattandoli per gli errori che erano. Per una parte degli “haker da due soldi” che sfruttavano gli errori per far fare al computer cose apparentemente giuste è stato un disastro. Perfino Linux è diventato utilizzabile da comuni mortali. Ci ho provato anch’io e ho potuto verificare come diventasse meno ostico, versione dopo versione, conservando però a lungo quel sapore di poco rifinito, quasi di “fatto in casa” che a me piaceva molto.

Puppy_screen

Desktop di Puppy Linux “Slako” con poche personalizzasioni

Eppure il computer è matematico e, come la matematica, dovrebbe essere non infallibile ma prevedibile. Secondo Edsger Dijkstra il programma informatico è come un teorema: se ne può dimostrare la verità (ovvero la correttezza) in modo assoluto e un programma ben progettato dovrebbe essere matematicamente esente da errori. Sono convinto che sia così e che se non lo si fa è in gran parte per motivi di economia: di tempo, di lavoro e di denaro. Dimostrare tramite logica matematica tutti i passaggi di un software complesso è possibile, ma enormemente dispendioso. Bisognerebbe lavorare in modo rigoroso e fare programmi piccoli che fanno cose semplici in modo preciso: la filosofia Unix originaria, in un certo senso. Il mercato vuole invece software onnicomprensivi, con innumerevoli funzioni, che copra un gran numero di esigenze e che sia anche bello e piacevole da utilizzare, dei mostri informatici, in pratica, fatti da tantissime parti su cui lavorano contemporaneamente squadre di programmatori.

Per cui il baco ci accompagnerà ancora a lungo: versione dopo versione, pezza su pezza, immettendone di nuovi a ogni iterazione, magari più subdoli e sottili. Utilizzare un computer, un tablet, un telefonino è diventato una sfida meno improba che in passato, tutto è più immediato e prevedibile, almeno al livello base, ma richiede sempre un margine di sportività.

Altro argomento di psicologia informatica che sarebbe il caso di approfondire: la gestione delle attese informatiche. Non solo possono essere lunghe, ma la loro durata è spesso indefinita e non correlata ai contenuti. Magari in un altro post…

225906_1081639879917_1384777_n

Anche gli orologi digitali hanno i loro momenti di impazzimento.

Aggiunta (5 aprile 2017): “Everything Is Broken”. Tutto è corrotto in informatica (e non solo). Articolo sull’insicurezza informatica, di qualche anno ma per nulla datato, anzi: oggi che si parla sempre più insistentemente di “internet delle cose” mi sembra particolarmente attuale e forse (ma speriamo di no) profetico.

View story at Medium.com

 

Scrivere a mano e a tastiera

IMG_3248quadernoneProcSmall

L’elettronica e l’informatica hanno fatto passi da gigante negli ultimi decenni, probabilmente lo sviluppo più veloce che la storia della tecnologia umana abbia mai visto, e in tanti non riescono a stare al passo. Non solo molte persone anziane – non tutte per la verità – ma anche tanti giovani stentano a comprendere e apprezzare le nuove tecnologie. Per non parlare dei politici, che, non capendo di cosa si tratta, si buttano avanti sulla base di un sentito dire o di una consulenza nella speranza di ricavarne qualche vantaggio.

E infatti l’altro rischio grosso che possiamo correre è quello di sopravvalutare le reali possibilità di computer, tavolette tattili e affini. Forse proprio l’eccessiva velocità trascina chi si lascia impressionare, e il marketing fa il resto. Per paura di restare indietro prendiamo lo slancio più forte di cui siamo capaci e quindi rischiamo di trovarci avanti, drammaticamente e qualche volta fantozzianamente avanti, come chi si mette un pataccone con uno schermo luminoso al polso e cerca pure di fare in modo da farsi vedere da tutti.

Ma i discorsi in astratto valgono a poco, conviene che arrivi subito al movente di questo mio ragionamento. Da quello che leggo e a meno di smentite o di cattive interpretazioni giornalistiche, a partire dal 2016 nelle scuole finlandesi non si insegnerà più ai bambini a scrivere a mano, ma solo a digitare testi in maniera rapida e efficiente. Mi è sembrata una decisione quantomeno avventata.

I siti specializzati in informatica in cui mi sono imbattuto, in buona parte si schierano entusiasti a favore della decisione. Perché costringere ancora i bimbi a imparare come piegare le dita per tenere nella posizione giusta una bacchetta di plastica o di legno, per farla poi strisciare esattamente con la giusta forza su un fragile foglietto di carta? Soprattutto quando il grosso della comunicazione passa in formato digitale? Il sottoscritto è un appassionato di tecnologia in generale, eppure, paradossalmente, possiede un mai abbastanza represso istinto tradizionalista che, alla lettura della nuova, ha avuto un improvviso sussulto. Prima di mettere da parte come antiquato lo strumento che ha guidato l’evoluzione della civiltà umana negli ultimi millenni ci penserei bene su, e magari aspetterei un po’.

Non è soltanto una questione di memoria storica. Soprattutto i tempi non mi sembrano ancora maturi. Ragionateci: digitare su una tastiera fisica va ancora bene, imparare a farlo velocemente è meglio, ma avete mai provato a scrivere un testo serio sullo schermo di un telefonino o anche su quello di un tablet? E scrivere formule e passaggi matematici con la velocità con cui scorrono nella mente? Insomma il cosiddetto comportamento amichevole dei supporti informatici deve ancora farne di strada, per diventare realmente tale.

Personalmente ho quasi sempre il computer acceso, non ho più un archivio cartaceo ma non riesco a fare a meno del mio quadernone in cui annotare gli appunti correnti e le telefonate che arrivano. Trovo che la carta mi aiuti, in molti casi, a mettere a fuoco le idee meglio di un foglio di calcolo o una pagina di word processor. Poi per mettere in ordine le formule si passa al processore e ai programmi. Sul lavoro e fuori la carta è uno strumento in più: alcuni problemi si affrontano meglio davanti a uno schizzo fatto con la biro, e sono spesso quelli più basilari, dove non vuoi arrivare alla soluzione a tutti i costi, con la fora bruta del calcolo, ma hai bisogno di capire i meccanismi, prima.

Ne ho avuto esperienza proprio oggi: prima tre fogli di formule e schemini, per capire il problema, solo dopo un foglietto Excel per tirare fuori i numeri. Torno a accorgermene ogni volta che butto giù una frase sul quaderno, da meditare più avanti.

Sono convinto che conviveremo ancora a lungo con carte, penne e matite, per quanto i guru dell’informatica possano storcere il naso.

Temo gli araldi della novità all’ultimo grido, che sono pronti a cavalcarla fino alle estreme conseguenze. E fossero sempre spontaneamente fanatici e ubriacati dal marketing, no: il più delle volte hanno il loro bell’interesse a spingere a fondo le decisioni. Purché a pagarne le conseguenze sia sempre qualcun altro. Le si ritrova in ogni problema: c’è la frazione oltransista “pro immigrazione” che fronteggia quella “contro immigrazione” ugualmente totalitaria, una “pro libero mercato” senza se e senza perché e un’altra per “tutto strettamente vincolato” che nemmeno i burocrati leninisti. In ogni settore c’è una corrente iper-tradizionalista che contrasta quella iper-modernista, tutte cieche alle ragioni altrui e convinte di possedere la radice della Verità.

Forse i miei pronipoti rideranno vedendo carta e penna (non i miei nipoti che, per loro fortuna, li usano ogni giorno a scuola e per giocare), e così dimostrerebbero solo una nuova variante d’ignoranza, non comprendendo cosa è possibile fare con qualche grammo di carta e poche gocce d’inchiostro.

La presunzione di fare altri mestieri, ovvero la sindrome della conquista del mercato

ChiediAllaPolvere

Qualcuno dovrebbe spiegare a chi lavora nello sviluppo software che ogni programma non deve necessariamente fare tutto, anzi assommare funzionalità parziali, mal costruite e poco ottimizzate è uno svantaggio, non un’aggiunta.

Faccio un esempio. Nel mio lavoro mi capita di valutare programmi per analisi ingegneristiche: strutturali, fluidodinamiche (scusate per i paroloni, non me ne sono venuti altri). Una volta c’era il “solutore”, che faceva il calcolo e il “modellatore” che lo preparava, come due programmi distinti. Ora tutti i solutori vengono con il loro modellatore incorporato, che potrebbe ancora andare bene se fosse sempre ottimizzato e mirato allo scopo. Ma poi hanno voluto fare il passo ulteriore: applicativi per alterare le geometrie o farne di nuove direttamente nel programma di calcolo, in pratica dei CAD dei poveri.

Inutile dire che ogni volta che ho provato a impiegare in pratica queste funzioni, si sono rivelate di gran lunga meno solide e meno pratiche dei programmi “dedicati”, sviluppati da decenni per fare solo quello, per cui alla fine non le impiego: sono escrescenze software che occupano spazio sul disco e rubano lavoro agli sviluppatori e al supporto tecnico senza dare valore aggiunto, almeno per il sottoscritto.

Forse qualche cliente potrebbe pensarla diversamente, tuttavia le demo che vedo sono una vaga semplificazione delle fetenzie geometriche e delle complessità fisiche che mi trovo a trattare in pratica, giorno dopo giorno.

Perché è difficile battere chi è specialista di un tema da decenni, chi ci lavora e si e beccato centinaia di volte le rampogne di utenti scontenti, si è scontrato con i bachi software e le limitazioni hardware, si è scervellato sulle preferenze e idiosincrasie dell’utilizzatore medio e su quelle dell’utente pseudo-sedicente-esperto e alla fine, con non pochi tentativi, spesa e sudore è riuscito a mettere assieme un pacchetto che funziona. Non ci si improvvisa: un cuoco non si mette, di solito, a riparare la cucina a gas, chiama il tecnico specializzato, e se deve comparire in TV non parte acquistando una telecamera e un microfono tutti suoi.

Mi viene da pensare che tutta questa corsa alle funzioni avanziate e “dislocate” rispetto al cuore della propria specializzazione nasca in base a principi di puro marketing, volendo dimostrare di essere in grado di fare più dei concorrenti: la legge del “ce l’ho più lungo” applicata all’elenco delle funzionalità. Forse questi sviluppi a funzionalità ridotta sono finalizzati a chi non può permettersi i programmi “completi”, ovvero alle piccole e piccolissime imprese, ma a me sembra che si cerchi di contrabbandare per funzioni quelle che sono escrescenze poco utili. La complessità è raramente un valore in se.

E’ un problema diffuso, secondo me, quello di provare a fare il mestiere, nella speranza di rubargli i clienti (e i soldi). Così la Honda si è inventata produttrice di aerei, creando un progetto avanzatissimo e interminabile, e vedremo coma va a finire. O la Parmalat pre-crash decise che doveva trasformare l’umile latte in una bibita alla moda tipo Coca-Cola ma più salutare. O avvocati si convincono di essere esperti di finanza e ingegneri dei maghi del marketing. Fino al privato cittadino che è convinto di poter risparmiare soldi improvvisandosi idraulico o elettricista, con risultati spesso al limite del pericolo pubblico. Chissà perché, quando diventi abbastanza bravo a fare una cosa ti convinci di essere altrettanto capace di farne altre e, il più delle volte, ti butti in un turbine senza fondo d’inefficienza. Secondo me è un derivato del principio d’incompetenza di Peter: ogni organizzazione cresce e si espande fino a mettersi a fare cose per le quali non è nata ed è del tutto inadatta, e così mette a repentaglio la sua stessa esistenza!

Aggiornamento hardware

Il mio primo processore

Il mio primo processore

Dovrei comprare un nuovo computer, ma non riesco a decidermi. Ho alcuni punti fermi e alcune perplessità, non tutte razionali.

L’evento è di una certa rilevanza, perché i miei cicli di aggiornamento dell’hardware sono diventati progressivamente più lunghi. Per un po’ di anni il mio PC, assemblato attorno a un Pentium 4 “single core”, mi è bastato per tutto quello che avevo voglia di fare, e ne ha viste di molti colori, tra applicativi, configurazioni e sistemi operativi.

Punti fermi: motivi dell’aggiornamento. Il mio vecchio desktop inamovibile è diventato inadatto al mio stile di vita: anche in casa mi fa comodo un portatile; può sembrare strano ma è così. In più mi farebbe comodo un po’ di potenza, per fare elaborazione fotografica senza aspettare minuti e minuti per ogni immagine. Tra l’altro, essendo alle prime armi devo fare diversi tentativi.

Altro punto semi-fermo: dopo tanti anni di Linux sono pronto a tornare a Windows come sistema operativo? Motivi: meno tempo e voglia di smanettare e provare soluzioni alternative. Insomma voglio la pappa pronta, e anche poter installare più facilmente i programmi. Inoltre, per alcune nuove attività, sono legato a Office. Linux mi è servito, ho imparato tanto e l’ho sfruttato per molto, ma nella vita è bello cambiare, ogni tanto, ben sapendo che da nessuna sponda del fiume c’è il paradiso. E magari non lo abbandonerò del tutto.

Per me è un cambiamento epocale: avevo sempre considerato il desktop come l’ottimo. E’ riparabile, espandibile, configurabile e ha il migliore rapporto costo / prestazioni. Ha un monitor e una tastiera veri. Ci metti dentro quello che vuoi e hai spazio per aggiungere e togliere a volontà. Quando lo cambi, salvi monitor, tastiera, masterizzatore e magari qualche altra cosetta. Ma la tecnologia invecchia in fretta, dopo un po’ non ha senso pensare a aggiornamenti. E, soprattutto, arriva il momento di riconsiderare l’ordine delle priorità.

D’altra parte ero un appassionato del filo che si è dovuto convertire al wireless, tuttavia non ho mai cambiato lo stereo con l’home theater e, visti i risultati medi, ho fatto bene.

Ma non divaghiamo ulteriormente. Ho verificato dai vari test disponibili in rete che anche un PC economico sarebbe notevolmente più prestazionale delle attempate macchine da calcolo di cui ora dispongo, ma applicherò la mia filosofia dominante: salire ragionevolmente di livello, prendendo come parametri gli aspetti per me rilevanti, in modo da sfruttare l’oggetto il più a lungo possibile, ovviamente a meno di imprevisti.

Da qui vengono le specifiche di massima: processore Intel i5 o i7 (o almeno un A8 lato AMD). Almeno 8 Gb di RAM. Scheda grafica dedicata. (Vista la pletora dei componenti disponibili, questo è dire tutto e dire niente). Leggero ma non troppo: non lo porterò spesso in viaggio e certamente non in vacanza: se no che vacanza sarebbe? Un masterizzatore DVD incorporato è preferibile ma non necessario, ormai i supporti ottici si usano davvero poco. Non ho particolari esigenze lato hard disk: sono ancora lontano dal saturare i 300 Gb del vecchio desktop.

Dubbi: ho una certa antipatia per l’interfaccia grafica di Windows 8. E’ una cosa epidermica. Mi dicono che con 8.1 è migliorata. Ma tirare fino alla prossima incarnazione, che dovrebbe essere la 10 e arrivare tra un annetto, non mi va molto. E poi la stragrande maggioranza dei portatili hanno degli orribili schermi lucidi con una pessima resa dei colori. E non mi nominate la Mela Morsicata!

Il processo, direi, è quasi a convergenza. Qualche suggerimento su marche e configurazioni, sole da evitare o aspetti degni d’attenzione?

Evviva la musica liquida, ma anche quella solida

Foto-audio-02

A cosa servono, ormai, compact-disc e dischi di vinile? Tecnologie sorpassate, antiquariato. Buone a nulla, si direbbe, nell’epoca in cui la musica si scarica da Internet, i ragazzi l’ascoltano in cuffia dal lettore o dal cellulare e perfino gli audiofili discorrono di formati ad alta risoluzione. Gli esperti del marketing, o forse il passaparola, hanno già coniato il nome: la Musica Liquida. Il mio ultimo acquisto, in questo campo, è proprio un convertitore da collegare al mio netbook, per farlo funzionare come una sorgente audio ad alta fedeltà.

A cosa servono, mi chiedevo, ed almeno una risposta l’ho trovata. Ad imbatterti, tra negozi, bancarelle e mercatini, in musica che non avresti mai cercato su Internet. All’acquisto casuale, fatto per pura curiosità davanti a un titolo, un nome o un’immagine di copertina, magari per pochi euro.

Internet non è adatta allo scopo, mi dispiace. Nonostante gli sforzi, gli algoritmi per catalogare i gusti, i lustrini e le assonanze forzate tra prodotti. Da un lato è troppo aperta: tutto si può vedere e ascoltare prima di comprare, non c’è più il fascino del rischio, dell’ignoto, della sorpresa da valutare poco alla volta. Un brano musicale si giudica senza comprarlo, al primo ascolto, in pochi secondi, non te lo ritrovi a casa a gustare con calma – tanto i soldi li hai già spesi – a mandarlo a quel paese e poi magari risentirlo, con un altro stato d’animo, mesi o settimana dopo, e accorgersi di sentirlo diverso, e scoprirne aspetti che avevi sorvolato.

Dall’altro lato è troppo chiusa, internet, decisamente asettica. Informatica a prescindere dagli sforzi dei suoi guru. Non può darti il senso fisico dell’oggetto. Vedi un’immagine fatta di tanti quadratini colorati che è l’ombra della cosa vera. Non ne senti l’odore ne l’impressione tattile, la consistenza fisica, neppure le vere proporzioni riesci a intuire. Tutto è relativo, liscio al tatto, con gli stessi colori di ogni altra cosa, ingrandibile o rimpicciolibile a piacimento con un “pinch” o una rollata di mouse.

E lo dico a malincuore, da vero appassionato del computer quale sono. Ci passo le giornate di lavoro e, alla sera, accendo il mio invece di guardare la televisione. Ma la verità richiede onestà.

Insomma con il commercio elettronico guadagniamo l’accesso facile e veloce a un’infinita di merci, come in una specie di sterminato bazar dove ogni genere di paccottiglia siede fianco a fianco agli oggetti di lusso. Dall’altro perdiamo il gusto della ricerca casuale, di quella che impolvera le mani e ti pone davanti agli occhi ciò che non ti aspetti.

IncRay

scene001

E’ un bel po’ che non parlo di programmazione di computer, uno degli argomenti annunciati di questo blog. Il motivo è semplice: non mi ci dedico da un bel po’, se non per tempi brevissimi. Vi voglio tuttavia aggiornare sul progetto più ambizioso che ho intrapreso finora, un programma a sviluppo infinito a cui ho fatto procedere, fino ad oggi, una strada a zig-zag: il mio codice di computer-graphic scritto da zero, il mio motore di rendering, il mo orgoglio, IncRay!

Il nome sta per Incident Ray-tracer: tracciamento dei raggi di luce incidenti, la tecnica abituale di ray-tracing. L’idea era di un software lineare, che prediligesse la semplicità alla massima efficienza, e che fosse espandibile. L’obiettivo era di realizzare immagini fotorealistiche (parola grossa) di geometrie semplici, che avessero una chiara rappresentazione matematica. La prima cosa che mi venne in mente erano le sfere: il luogo dei punti equidistanti da un punto dato detto centro (reminiscenze di geometria), poi passare a piani, triangoli e da questi, in teoria, a qualsiasi geometria.

scena000

Aggiungere nel contempo caratteristiche varie: posizione e colore della luce, colore e proprietà delle superfici, posizione ed angolo d’inquadratura del punto di vista, dimensione dell’immagine.

La storia è stata variegata, incoerente e legata al mio bighellonare hobbistico nell’informatica. Sono partito con una versione in Free Pascal puramente procedurale, poi una in Java strutturata ad oggetti ed infine una in C++. Queste ultime due hanno proceduto per un certo tempo in parallelo per poi concentrare gli sforzi sull’ultima: il C++ è per alcuni versi più scomodo, ma più efficiente. Tuttavia ogni versione ha le sue peculiarità, la convergenza delle funzionalità sul C++ non è ancora completa. Ad esempio solo la vecchia versione Pascal può disegnare triangolo, mentre solo in Java ci possono essere superfici a specchio (che mi piacciono molto), mentre solo nell’ “edizione” in C++ è possibile spostare il punto di vista nelle tre dimensioni, funzionalità che rende molto più flessibile e pratico l’utilizzo.

triangoli04

Lo schema di funzionamento è lo stesso. Un file di testo contiene la descrizione della scena; il programma lo legge, calcola le traiettorie dei raggi di luce a ritroso, partendo dal punto di vista (la macchina da presa, per così dire), li interseca con gli oggetti e verifica le interazioni con la sorgente di luce e gli altri oggetti. In base a questo calcola il colore risultante di ogni punto. Alla fine, salva il file immagine complessivo. Nel post ne ho messo qualche esempio.

Ecco la mia struttura “ad oggetti”. Un sistema gerarchico ricollega tutte le “forme” ad una classe “Geom”, piena di funzioni virtuali (linguaggio C++…). “Sphere” è una sottoclasse di “Geom”, così come “Plane”. “Triangle”, a sua volta, è/sarà una sottoclasse di “Plane”. Ci sono poi classi per i tipi base “Vec3” per il vettore a tre componenti, che ha per sottoclassi “Point” e “Color”; “Surface” per le proprietà di superficie.

C’è molto da fare, ma sono relativamente orgoglione di me stesso. Che ve ne pare?

provaSpecchio

Picchi improvvisi

Istantanea - 15032013 - 21:55:47 Stats

Il mio blog ha vissuto, qualche giorno fa, un incredibile salto di visite, di gran lunga il record assoluto nella sua ingloriosa storia. Mi sono stupito, ma prima di esaltarmi ho capito che non si trattava di un post di particolare successo, ma di ben altre cause. Quali? Google ha dedicato la giornata a Douglas Adams, l’autore de «La Guida Galattica per Autostoppisti», un ottimo libro umoristico, capostipite di una serie di successo, che usa liberamente un surreale sfondo fantascientifico. Io l’ho citato in almeno un mio post che, per qualche strano motivo, compare ai primi posti nella ricerca se si usano le parole chiave «Douglas Adams coniuge». Nel post parlo incidentalmente di coniugi e di Douglas Adams, in modo del tutto scorrelato fra loro. Posso ritenere queste visite, quindi, un regalo involontario di Google. Ringrazio sentitamente. Ma di tanti (secondo le mie abitudini) lettori capitati per caso da queste parti in quel giorno, qualcuno ci tornerà o avrà almeno trovato interessante qualcuna delle cose scritte? Ne dubito, e sto avendo conferma di un rapido ritorno alla normalità. Saluti a tutti.

L’antichità delle novità informatiche

Il mio primo processore

Il mio primo processore

Tutte le novità hanno degli antenati. E’ una constatazione che non toglie nulla a chi è riuscito a realizzare prodotti di successo che sono diventati di uso comune. Ecco qualche esempio in informatica.

Il tablet così come noi lo conosciamo è “anticipato” in questo documento di quarant’anni fa: agosto 1972. Non è un progetto di dettaglio ma la qualità delle intuizioni ha del visionario, considerato il livello tecnologico dei computer contemporanei. L’obiettivo è un computer per i “bambini di tutte le età”, adatto ad apprendere e ad essere impiegato per le attività quotidiane: un’illuminazione.

L’antenato di Google Street View risale invece al 1981. L’ “esperienza virtuale” si limita ad un prototipo che riproduce un piccolo tratto di strada, per i limiti di capacità di calcolo e memoria dell’epoca, ma le idee di base ci sono tutte!

Blit! Esperimento di interfaccia grafica per computer del 1982. Incredibile, per noi, il “tutorial” per spiegare come si usa il mouse. In effetti era una “periferica” innovativa: mi ricordo che la prima volta che ci misi su la mano non sapevo mouoverlo molto bene.

Altri tentativi di interfaccia grafica vennero fuori. Il primo Apple Macintosh è del 1984 e definì un nuovo standard. Quasi in contemporanea l’Amiga OS1, del 1985, già consentiva multi-tasking e finestre. Forse qualcuno non sa che il sistema operativo è ancora sviluppato ed è possibile comprare computer che lo impiegano (almeno negli USA). Quale sia l’utilizzo, non mi è chiaro

Entrambe le soluzioni tecniche erano più avanzate del Windows 1.0, immesso sul mercato in quello stesso 1985 senza suscitare molto scalpore. La prima versione di successo del sistema operativo Microsoft fu la 3.0, messa in commercio solo nel 1990; in ogni caso si trattava essenzialmente di “front end grafici” per MS-DOS, con cui il sottoscritto e milioni di altri utenti si sono trovati a combattere ancora per anni. Ebbe il vantaggio di essere più economico ed “abbastanza buono” per l’uso quotidiano, per cui venne adottato da molti produttori di personal computer.