LOVE Mandelbrot!

djmzu2qwsaelippIl frattale di Mandelbrot ha sempre il suo fascino, combinando infinita complessità geometrica con estrema semplicità dell’algoritmo per realizzarlo. Se non l’avete mai incontrato, approfonditelo, come tutta la questione dei frattali e della teoria del caos. Tra le altre cose, lo considero un buon test per fare pratica su un nuovo linguaggio di programmazione.

Eccone una versione programmata tramite LOVE, ambiente “ultraleggero” per lo sviluppo di “giochini”, che impiega il linguaggio di programmazione Lua. Di entrambi ho parlato in un recente post.

Mi hanno sorpreso la facilità di realizzazione e anche la velocità di esecuzione. Che dire, molta resa con poca spesa!

Si può variare la mappa di colori in base alla propria fantasia, da un “serio” bianco e nero a variazioni più sgargianti, come ho provato a fare. Possibili evoluzioni potrebbero essere un “navigatore”, che tramite il mouse consenta di ingrandire parti a scelta, oppure un “Julia set”, che, cliccando in un punto, consenta di disegnare il frattale di Julia collegato. Realizzai entrambe le cose alcuni anni fa, con C++ assieme alle librerie SDL per la grafica e l’interfaccia con il mouse… forse un giorno li ripescherò. All’epoca utilizzavo quasi esclusivamente Linux. Tra l’altro SDL è la libreria che implementa anche LOVE.

Sono solo un programmatore hobbistico per cui, se qualcuno un po’ più esperto ha miglioramenti o estensioni da proporre, è il benvenuto!

-- Dimensioni finestra grafica
xmax = 800
ymax = 600

-- Angolo del frattale
left = -2
top = -1
-- Dimensioni "fisiche" frattale
xside = 3.0
yside = 2.0

-- "Sfasamento" per migliorare la grafica
eps = 1e-3
left = left-eps
top = top-eps

love.window.setMode(xmax, ymax)

-- max cicli
countend = 256

xscale = xside/xmax
yscale = yside/ymax

function love.draw()
    for x=1,xmax do
        cx = x * xscale + left
        for y=1,ymax do
            cy = y * yscale + top
            cc = 0
            zx = 0.0
            zy = 0.0
            while ((zx*zx+zy*zy < 4) and (cc < countend)) do
                tempx = zx*zx - zy*zy + cx
                zy = 2*zx*zy + cy
                zx = tempx
                cc = cc+1
            end
            ccolor = cc/countend
            love.graphics.setColor(zx/2, zy/2, ccolor)
            love.graphics.points(x, y)
        end
    end
    -- Riduce carico processore
    love.timer.sleep(2)
end


Annunci

Anticorpi tecnologici

dhh2h5mxyaa1aw_

La dipendenza da telefonino è un fatto palese.

È, formalmente, una delle maggiori preoccupazioni dei genitori, che vedono i figli sempre immersi nel balluginare degli schermi, se non fosse che essi stessi, per primi, sono spesso tecno-dipendenti da social e selfie e concedono l’agognato telefonino alla prole come maniera per non essere troppo disturbati.

È argomento di lotta costante per i docenti di ogni ordine e grado, almeno quelli che non considerano l’incasso dello stipendio, a fine mese, come scopo esclusivo della professione.

In strada, che tu sia a piedi, ciclomunito o motorizzato, devi costantemente stare attento a pedoni e automobilisti distratti da improrogabili messaggi.

Insomma, siamo di fronte a una vera e propria sindrome di massa, che miete le sue vittime. Allarme sociale e non esagero.

C’è una soluzione? L’educazione, certo, l’abitudine a un uso corretto e moderato, un po’ come per le bevande alcoliche. Forse ce n’è anche un’altra però: la normalizzazione, ovvero arrivare a considerare l’elettronica portatile come qualcosa di abituale, un accessorio come un’altro. Interrompere il circolo vizioso che dà al mondo della rete un valore superiore a quello che ha, a causa del fatto che è nuovo e diverso dall’ordinario e continuamente cangiante.

In questo senso, da inguaribile ottimista quale sono, voglio porre qualche speranza nella nuovissima generazione:, non i cosiddetti millennial ma proprio i bambini di oggi, quelli che stanno imparando a camminare o vanno alla scuola elementare. Sono loro i veri nativi digitali. Per loro il telefonino e la connessione ubiqua alla “rete” non sono qualcosa di nuovo o appreso, ci sono nati, come la TV per i loro genitori o la radio per i loro nonni.

Noi anziani siamo come i nativi americani, sterminati a casa loro dalle malattie importate dagli esploratori/invasori europei, qualche secolo fa, perché il loro sistema immunitario non era preparato. I piccoli di oggi stanno sviluppando il loro “sistema immunitario intellettuale”, tramite la piena esposizione al digitale, e stanno sviluppando gli anticorpi, o almeno lo spero.

I piccoli di oggi non nutrono stupore di fronte agli schermi tattili o alle connessioni senza fili. Perché dovrebbero, se fanno parte delle cose che sperimentano da prima ancora di imparare a parlare?

Forse domani sapranno gestire la rete mettere molto meglio dei loro genitori e in dubbio quello che dice loro, con la stessa naturalezza con cui sanno distinguere i loro giocattoli dagli oggetti reali che questi imitano.

Risulta più difficile sviluppare un rapporto malato con qualcosa di consueto che con qualcosa di del tutto nuovo. La dipendenza da tecnologie diverrà, col tempo, un fatto marginale, sempre grave ma, per certi versi, fisiologico, come oggi l’alcolismo o la ludopatia, da combattere con assiduità, certo, ma non pandemico.

O almeno così voglio sperare.

Programmare leggeri

provaSpecchio

È tanto che non scrivo di programmazione dei computer.

Da poco ho ripreso a trastullarmi, talvolta, con C++ e Java, tuttavia il tempo è sempre tiranno e, per di più, non riesco a concentrarmi su progetti complessi. Finisco per vagare e, magari, imparare qualcosa. Ultimamente, mi sono innamorato di una soluzione ultraleggera e aperta (nel senso di “open source”) che però consente di fare un sacco di cose. In un’epoca in cui gli ambienti di programmazione, anche quelli open-source, sono dei titanici mastodonti, qualcosa di leggero e “portatile” mi attira, mi sembra razionale e proporzionato a quello che è un semplice hobby. La “suite” che provo a mettere insieme è composta da:

TCC Tiny C Compiler: il più leggero tra i compilatori C completi. Copre tutte le funzionalità standard del linguaggio e anche qualcosa in più, è piccolo, compila a tempo di record e genera eseguibili efficienti (anche se non iper-ottimizzati) e di dimensioni davvero minuscole.

Lua: linguaggio di scripting veloce, semplice ed elegante. Lo trovo ancora più facile e immediato di Python e similmente efficiente.

LÖVE: ambiente grafico 2d che incorpora Lua e dà accesso a audio, mouse, immagini ecc… Nasce per i giochi ma ci si può divertire anche in altre direzioni.

Il tutto composto da codice aperto e aggiornato, che occupa, inclusi accessori non indispensabili, poche decine di Mb e, abbinato al vostro editor di testo preferito (nel mio caso Notepad++) consente di fare, se non tutto, moltissimo. Se volete, buon divertimento!

Ingegneria del linguaggio

Ci ho riflettuto: esaminando il comportamento mio e delle persone che conosco, ho dedotto che, salvo rare eccezioni, sono dati due casi in cui si usano poche parole:

  • Quando per te è una cosa assolutamente fondamentale;
  • Quando non te ne frega proprio niente.

Nel mezzo si pone tutto il resto.

Lo chiamerei “assioma della curva a campana delle parole”. Una conseguenza, che definirei “corollario del mediocre verboso”, è che ciò di cui parli di più non sono per te gli argomenti più importanti.

I motivi sono numerosi: psicologici, norme sociali, prudenza o opportunismo. Quello che per te è essenziale è difficile da esprimere e a volte pericoloso, ci vorrebbe lo spirito di un filosofo o di un poeta, che sapesse scegliere i termini e costruire le frasi: modalità, per definizione, sintetiche e inaccessibili alla maggioranza. L’essenziale resta, di norma, inespresso.

Le innumerevoli parole che si usano, parlate o scritte, sono, per la maggior parte, passatempo, attività sociale o strumento per raggiungere uno scopo.

All’atto pratico, per capire come la pensa una persona è certamente necessario starla a sentire, cosa di per se impegnativa, ma questo non è sufficiente: bisogna interpretare e collegare, per focalizzare il non detto, o meglio il solo accennato. Un po’ come per i politici: una cosa sono i proclami elettorali, un’altra i programmi di governo e un’altra ancora le vere priorità, rigorosamente in ordine decrescente di parole spese.

Questo ragionamento dimostra anche che quando ti abitui a pensare in termini matematici, ti accorgi che puoi utilmente applicarlo ovunque.

Da una storia vera. (Il mio ufficio è differente)

dffpzttw4aeljzs

Brani di vita in un ufficio tecnico non molto diverso dalla media. Per inquadrare, ci soprannominiamo “Baia dell’Ignoranza”.

/-\-/-\

“Ma cosa vuole Lattuga?”

“Forse un po’ d’olio e aceto?”

“E allora è un’insalata”.

“Di notte deve stare tranquillo, se no russa!”

-+-

Il collega torna dal bagno piangendo.

“Capo, ho pisciato un calcolo!”

“Non ti preoccupare, lo rifacciamo… ti aiuto io”.

“Non hai capito. L’ho proprio pisciato!”

-+-

Il calcolo in esecuzione sul computer è quella cosa che se lo stai a guardare non finisce mai ma se la perdi di vista fallisce immediatamente.

-+-

“Un giorno mi picchieranno, lo so”.

“Ma sarà comunque troppo tardi!”

-+-

“I conti non tornano!”

“Sono tornati i Savoia e non tornano i conti?”

-+-

“Perché Massimo arriva sempre in ritardo?”

“Perché si dice sempre: ci vediamo alle 10. Massimo alle 10.30!”

-+-

“Quando fai il CAE e ti cambiano di continuo il CAD, allora si che ti rompono il CAX!”

-+-

Dicono “vediamo l’esploso” e tu pensi sempre al collega scoppiato, prima che ai pezzi del progetto.

-+-

“Ha infilato il pistoncino nella sua sede” non può avere un significato erotico. No!

(Ma il mio ufficio è differente)

L’era degli psico-mediocrati

dbah1cuwkaekluw

Considerando molti dei capi politici storici e attuali, la combinazione tra psicopatologia, o più spesso personalità al limite del patologico, e ambizione politica sembra discretamente diffusa. Lo strano è che spesso è associata anche a capacità mediatica ed a una certa visione di ciò che desidera o teme molta gente: un mix di successo!

Cosa intendo per psico-patologico? È un concetto molto esteso e, in realtà, poco medico: eccesso di presunzione fino allo snobismo; smania di successo per mascherare l’insicurezza personale; desiderio di rivalsa; mania di persecuzione che porta a vedere rischi e nemici ovunque; anaffettività.

Personaggi così non si trovano solo in politica, è chiaro, ma sembrano essere attratti ai vertici di questa, e neanche tanto raramente.

D’altra parte pretendere di essere in grado di guidare le “masse”, con la certezza di sapere cosa è bene per loro, pretende un alto grado di presunzione o una forte disistima del prossimo, che confina con la psicopatologia. Inoltre il fascino di certe personalità “al limite” è indubbio: lo si vede già nella vita privata.

La storia delle dittature, recenti e antiche, lo rende ancora più evidente: al momento giusto un personaggio dal dubbio equilibrio mentale ma dalle innegabili capacità mediatiche riesce a incantare la maggioranza, che addirittura lo ama e venera; e ciò può durare molti anni, anche dopo la sua morte. Basti vedere quante persone continuino a considerare Mussolini un genio assoluto e addirittura il miglior uomo politico mai esistito!

A proposito di Mussolini, diciamo chiaramente che non era un ladro, ma in compenso ha commesso molti altri delitti, dall’essere mandante di omicidi e complice di genocidio in giù, e sotto il suo regime si rubava eccome, con il suo favoreggiamento!

Ma il fenomeno è tutt’altro che limitato ai regimi totalitari e si estende alle democrazie. Chi si vanta di essere capace di governare tutti e sfodera una buona presenza da palcoscenico può trovare le condizioni adatte per essere creduto. Sensazioni diffuse di insicurezza e crisi aiutano, ma il fenomeno va oltre i cosiddetti partiti populisti.

Non generalizziamo. Non tutta la politica è così e sono numerosi i casi di attività pubblica intesa come “servizio”. La storia della Repubblica Italiana è piena di questi esempi. Quest’atteggiamento richiede umiltà e anche notevoli doti culturali e umane. Tuttavia i leader, i capi carismatici, gli accentratori di potere non rientrano in questa nobile categoria, se non in rarissimi casi. Questi sono capi in larga misura convinti di avere il diritto, prima ancora che il dovere, di essere tali, sia esso di origine genetica, genealogica, divina, economica o quant’altro.

E una larga fetta dell’opinione pubblica abbraccia le posizioni del leader: non c’è scienza o logica che tengano, quello che conta è la parola del capo, che elenca rischi terribili e soluzioni veloci. Riscaldamento globale? Oscillazioni finanziarie? Migranti in fuga da guerra o miseria? Tutte invenzioni delle lobby anti-popolo, in una sorta di diffuso complottismo di stato.

L’analisi sociale ci dice che la maggioranza cerca una personalità carismatica, come capo, e non l’intelligenza eccelsa, perché non riesce a comprenderla. Il capo deve essere solo un poco più intelligente della media. Il genio è temuto o emarginato, oppure addirittura deriso per renderlo inoffensivo. Non a caso è stato coniato il termine “mediocrazia” per certificare la fine che sta facendo la nostra presunta meritocrazia democratica.

Fa parte dei rischi della democrazia, ma come lo si può combattere? Non certo con il totalitarismo, ma, secondo me, con la cultura e l’informazione. Tornando a celebrare le capacità e le conoscenze al di sopra delle frasi ad effetto. Per farlo serve una scuola pubblica efficiente, ricca e rispettata, in primo luogo, che sia premiante e selettiva nei confronti dei docenti prima ancora che degli allievi.

È sempre campagna elettorale

dfp8gauwsaa0bte

Gli appassionati della campagna elettorale

sono una specie assai particolare:

tifano per il loro partito

anche quando ha palesemente fallito.

Esultano a ogni suo successo

più che se fosse loro stesso.

S’esaltano alle sparate del leader

anche quando fanno pianger o rider

e le ricopiano, compulsivi, ai loro follower.

La salvezza d’Italia hanno additato

nella vincita del loro candidato

e null’altro bene è dato

alla casa, al paese e all’esodato.

Capiscono costoro che si sbattono per un’illusione?

Urlano, postano, agitano uno striscione,

senza vedere prova, ascoltar ragione,

ma c’è differenza: il tifo non è passione!

Training on line? Anche no

dffpzttw4aeljzs

Arriva una mail intitolata pomposamente “Training on line” e tu già sbuffi, sai che dovrai spenderci un paio d’ore del tuo tempo, che avresti volentieri dedicato ad altro, perfino a lavorare!

I corsi on-line sono usati di frequente, almeno dove lavoro. Non li amo, anzi diciamo che li considero un male. Servono a raggiungere rapidamente le persone e ottemperare formalmente alcuni obblighi di tipo formativo, ma, a parte questo, ottengono ben poco, anzi annoiano le persone e fanno perdere tempo.

Informano, ad essere buoni, ma non formano. Fanno apprendere qualche nozione ma banalizzandola e in modo provvisorio e labile: provate a intervistare una persona che ha fatto un corso on line, sulla materia, una settimana dopo: sono convinto che ne è rimasto ben poco.

Inducono a essere svogliati e frettolosi, ovvero a percorrere il più velocemente possibile la noiosa sequenza di schermate per arrivare il prima possibile al questionario finale, e poi trovare il “trucco” più adatto per compilarlo in modo corretto.

Nella maggior parte dei casi il questionario ha domande sia banali sia meno banali ma può essere ripetuto all’infinito, finché non si azzeccano le risposte giuste, ed è lo stesso per tutti gli utenti. La giustificazione è che anche il questionario fa parte del processo d’apprendimento, la pratica è che esso risulta sempre formalmente a posto.

Il giudizio è molto personale, mi rendo conto, e anche la realtà è estremamente variegata e forse sto estremizzando troppo. Ci sono corsi in rete fatti veramente bene e nessuno può negare, cambiando leggermente argomento, il valore di tanti tutorial. Nel mio giudizio è coinvolto anche un fastidio estetico: mi risultano stranianti e falsi, quasi sempre, con una voce guida troppo enfatica, corredati da foto e grafiche che dovrebbero risultare accattivanti ma che sono sovente stucchevoli: pupazzetti con la testa a palla, impiegati sempre giovanissimi, belli e iper-sorridenti in uffici luminosi, nuovi e lindi, esempi pratici che sfondano i limiti dell’ovvio.

Non che i corsi “classici”, con aula e docente, siano sempre meglio, a dire il vero. C’è da lavorare!

Ma cos’è questa crisi

 

Raccolta di tweet del sottoscritto sulle recenti vicende politiche di governo / non governo e sulle turbolenze conseguenti, soprattutto in rete.

***

Ancelotti convocato al Quirinale e Conte a cena da De Laurentiis. O il contrario… Sono un po’ confuso.

-+*+-

Finisce La Corrida e comincia il Governo Conte. Un caso? Non credo.

-+*+-

“Ti direi una sciocchezza” è la cosa più vera che la maggior parte di noi può dire.

-+*+-

Mattarella non dà l’incarico a Salvini o Di Maio alla cieca.

“Criminale!”

Da l’incarico a Conte:

“Grande presidente!”

Rifiuta Savona ministro:

“Criminale!”

Un po’ confusi? (O ci fate?)

-+*+-

  1. Sedicenti rivoluzionari che si sbattono per un “no” del Presidente della Repubblica.
  2. Bambino che piange perché gli è caduto il gelato.
  3. Automobilista multato che insulta il vigile

Trovare le differenze.

(PS: l’unico che mi fa un po’ di simpatia è il secondo)

-+*+-

Eppure un po’ di #GovernoM5SLega l’avrei fatto fare, tanto per vedere quante scuse riuscivano a trovare. #hastatomattarella #hastatoilpiddi

-+*+-

Tra Lega e M5S preferisco i Borbone di Napoli!

-+*+-

Io farei pure il colpo di stato ma è che se torno con la camicia sporca mia moglie non sai come s’arrabbia!

-+*+-

Siate conseguenziali.

Se vi sentite trattati da servi, ribellatevi!

Se pensate di essere in dittatura, scendete in piazza!

Se avete subito un torto, denunciate!

Ma basta chiacchiere, per piacere…

-+*+-

Il presidente Mattarella, per alzare il rosso così su Savona e fischiare un rigore dopo l’80-mo giorno contro Conte, non facendo nascere il governo, non ha sensibilità, vuol dire che ha una pattumiera al posto del cuore!

Lavoro, gioco e cattiveria

20180420_095938_lavori

Ogni lavoro è un po’ un gioco di ruolo e, a seconda dell’indole, ognuno lo vive più o meno come tale. A me sembra che viva meglio chi s’immerge un po’ di più nel personaggio, ovviamente senza esagerare.

Mi ricordo che, quando fui costretto a fare il servizio militare, “fare finta di essere un soldato vero” mi aiutava a passare meglio le giornate. Anche se, alla fine, era tutto o quasi una simulazione.

Una delle responsabilità di chi organizza o gestisce questo “gioco”, oltre a renderlo fruttuoso, è di fare in modo che esso contenga quanta meno cattiveria possibile. Una piccola dose è necessaria, ma non troppa. Bisogna evitare che lo scopo del gioco sia prevaricare il prossimo, interno o esterno all’organizzazione, o che il successo, quale che esso sia, passi necessariamente per tale atto.

E’ importante perché le persone, o almeno una buona parte, sono mediamente portate a rispettare le regole, soprattutto se questo porta un premio, e se queste regole comportano di commettere del male si è portati a commetterlo con pochi o nessuno scrupolo di coscienza. Le regole scaricano la responsabilità: lo si vede in tutti i regimi totalitari e in tante condizioni che mettono qualcuno al di sopra di qualche altro. Esperimenti hanno dimostrato che è relativamente semplice trasformare un uomo in un kapò quasi nazista, con i giusti condizionamenti ambientali e personali.