Il ripostiglio
Scrivo ogni giorno, pubblico quando posso

Il fattore autobus

Per tornare a casa non ho scelta, devo salire su un autobus stracolmo di fine giugno; come dire un obitorio con le celle frigorifere guaste

Outland Rock, Pino Cacucci

Un dettaglio di un autobus di Chennai, città indiana del Tamil Nadu
Un dettaglio di un autobus indiano, foto scattata il 15 gennaio del 2009

Citazione che mi permette di introdurre il fattore autobus (bus factor), concetto adottato in informatica per capire quanto sia distribuita la conoscenza all’interno del team e perciò misura empirica del rischio di concentrazione delle informazioni. Con qualche approssimazione, il principio si può riformulare nella seguente domanda:

Quanti membri del gruppo di lavoro devono essere investiti da un autobus prima che il progetto a quale il gruppo lavora vada a ramengo?

In modo più rigoroso, traducendo liberamente dalla pagina di Wikipedia in inglese sul “Bus factor”:

Il “fattore dell’autobus” è il numero minimo di membri del team che devono improvvisamente svanire dal progetto perché questo affondi per la mancanza di personale bene informato e competente.

Il concetto non è nuovo e risale, in informatica, almeno alla fine del secolo scorso, tuttavia ne parlo oggi perché un amico di recente mi ha parlato dela brillante invenzione di un suo collega: il reverse bus factor che prafrasando la definizione di Wikipedia dovrebbe recitare più o meno così:

Il “fattore dell’autobus al contrario” è il numero minimo di membri del team che devono improvvisamente svanire dal progetto perché questo possa iniziare ad avanzare senza frizioni.

Non conosco l'autore di questo corollario al fattore dell'autobus ma so che stasera berrò una birra brindando a lui.

#software_development

Letture frenetiche

Anche questo mese ho letto tanto. Impossibile replicare le scorpacciate di maggio ma non mi sono tirato indietro. Ho creato una pagina: sul mio comodino per tenere traccia dei libri letti!

Mi resta molto poco di quanto leggo, come ha scritto Giacomo Papi nel suo Il censimento dei radical chic:

Quello che impari si sfarina, non si accumula. Il cervello è un sacco con il fondo bucato.

Il mio cervello funziona così.

In concreto ho imparato un paio di cose e mi sono convinto di altre:

#letture #riflessioni

Finanza & Shakespeare

Quell'idea abbozzata lo scorso 22 maggio in Shakespeare sapeva diversificare continua a girarmi in testa e ho trovato altre due frasi che fanno al caso mio:

Non ho intenzione di scegliere le prossime letture sulla base di questo progetto ma sto attento a ogni riferimento in cui possa imbattermi perché oltre ai tre sopra citati dovrei trovare un appiglio letterario anche per: controllo delle spese (budgeting), investimenti in fondi passivi indicizzati (qui sarà difficile trovare un'introduzione letteraria!), redazione di uno stato patrimoniale, le trappole della contabilità mentale.

Dovrei passare dall'idea alla realizzazione.

#idee

Sul mio comodino: Il milionario della porta accanto di Thomas J. Stanley, William D. Danko

La tecnica del Pachino

La tecnica del pomodoro prevede sessioni di lavoro o studio intenso e senza interruzioni per 25 minuti (un pomodoro, perché questa era la forma del timer da cucina usato dall'ideatore Francesco Cirillo), cui seguono 5 minuti di pausa per poi riprendere con altri 25 minuti fino a raggiungere così una sequenza di 4 pomodori e potersi guadagnare una pausa più generosa, grossomodo equivalente ad un pomodoro, nuova unità di misura.

In quei periodi in cui trovo più difficile concentrarmi uso una specie di versione ridotta, 10 minuti di studio e dai 3 ai 5 minuti di pausa.

Dopo un certo numero di piccoli pomodori, pachino appunto, aumento la sessione di studio/lavoro di 1 minuto. È questo un sistema ricco di interruzioni e questo è male, tuttavia così riesco ad andare avanti anche quando sono esausto :)

#riflessioni

Come ho fatto! Failed to find server binary (parte#2)

Secondo Gemini ci sono una serie di installazioni a cascata che devo fare: homebrew, npm e infine vscode-html-languageserver

homebrew è un gestore di pacchetti, un software che serve per installare altro software, a partire da npm.

            /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
            

npm è un altro gestore di pacchetti, sembra dunque ci sia una certa ridondanza, ma non è così. Il suo compito è più circostanziato al mondo dei pacchetti e delle librerie JavaScript.

            brew install node
            

Ora posso finalmente installare vscode-html-languageserver che scopro dopo un botta e risposta con Gemini, ha un nome leggermente diverso.

            npm install -g vscode-html-languageserver-bin
            

Non resta che configurare Kate perché il mio editor continua a non riconoscere e usare il componente installato. Gemini non mi dice esplicitamente che devo sovrascrivere le istruzioni del file Server Setting, ci arrivo con troppa fatica da solo e capisco che devo andare in Kate -> Preferences -> LSP Client -> User Server Settings e riportare quanto segue.

            {
                "servers": {
                    "html": {
                        "command": ["/opt/homebrew/bin/node", "/opt/homebrew/bin/html-languageserver", "--stdio"],
                        "url": "https://github.com/Microsoft/vscode/tree/main/extensions/html-language-features/server",
                        "highlightingModeRegex": "^HTML$"
                    }
                }
            }
            

Non devo nemmeno riavviare Kate, basta usare LSP Client -> Restart All LSP Servers e ottengo il risultato sperato:

            [LSP Client Log] Started server html@/Users/gabe: /opt/homebrew/bin/node /opt/homebrew/bin/html-languageserver --stdio
            

Posso iniziare ad usare un editor che mi aiuta meglio di prima.

#comehofatto

Come ho fatto! Failed to find server binary (parte#1)

Inauguro la rubrica ricorrente a intervalli irregolari: come ho fatto! in cui annoto per me stesso, visto che incappo sempre negli stessi errori, sia la soluzione, sia quello che ho imparato.
Inizio con un errore segnalato dal mio editor Kate mostrato nella console del sistema ad ogni modifica di questa pagina html. Il messaggio è il seguente:

            [LSP Client Warning] Failed to find server binary: vscode-html-languageserver
            Please check your PATH for the binary
            See also https://github.com/Microsoft/vscode/tree/main/extensions/html-language-features/server for installation or details

Io invecchio, la tecnologia matura ed evolve ma i messaggi di errore continuano ad avere la stessa chiarezza dei geroglifici egizi.

Davanti a me due strade: ore su forum di discussione oppure la scorciatoia di una ia generativa che tracci la via. Opto per quest'ultima

Essendomi allontanato da ogni tipo di programmazione diversi lustri fa, mi ero totalmente perso la nascita e la standardizzazione del protocollo LSP. L'idea è quella che un editor usi un server per offrire all'umile programmatore funzionalità evolute relative al linguaggio che sta utilizzando come:

continua domani...

#comehofatto

Metro line

L'idea del giorno: un applicativo web con una linea della metro su cui disporre, trascinandole, le fermate della metropolitana, usando la libreria cytoscape.js

Si possono costruire tante domande a risposta multipla, alcuni esempi

#idee

Fricchettoni idealisti, no grazie

Mi piacerebbe un web vissuto da gente più consapevole, che avesse più controllo sui propri contenuti, che sperimentasse lontano dai mega-siti dei social network (che sono belli e divertenti ma se ci sono solo loro ci si appiattisce tutti).

Facile immaginare che dietro questo pensiero si nasconda la mia nostaglia per l'entusiasmo del web di fine anni 90.

Potrebbe anche esserci una certa dose di bastiancontrarismo, come sicuramente un mio amico mi farebbe notare. Ciao Giube!

Insomma quest'idea è pericolosamente vicina a quella di un fricchettone idealista, ma non è così!

C'è anche dell'altro ed è espresso meglio di come mai riuscirei a fare in questo post intitolato tell me about your favorite tree (a slow-web proposal)

Queste mie pagine web, nella loro semplicità, sono un contributo a questo modo di vivere il web.

#riflessioni #web

Sul mio comodino: Soldi al vento di Gary Belsky, Thomas Gilovich

Effetti collaterali positivi e inaspettati, alcuni numeri

Ho già scritto qui del mio uso intensivo del prestito bibliotecario, più come misura di contenimento costi che per reale convinzione nella bontà del servizio stesso.

Traccio un primo bilancio approssimandomi alla metà dell'anno:

#letture #riflessioni

Sul mio comodino: Carta bianca di Carlo Lucarelli

Metafore #2: genAI come amplificatore

L'intelligenza artificiale generativa è un amplificatore delle tue conoscenze.

Pensa all'ai come a un x50 del tuo sapere.

Immagina che questo tuo sapere sia misurabile in una scala da 1 a 100. Se non sai nulla in un campo (vali 1), l'ai può farti fare molta strada (1x50=50) ma non sarà sufficiente. Se la tua conoscenza acquisita è già robusta (vali 90) l'ai ti permette di fare di più e meglio in poco tempo (90x50=450).

#ai

Metafore #1: genAI come la banca

L'intelligenza artificiale generativa è come la banca. Quest'ultima eroga prestiti solo a quei clienti che possano permettersi di ripagarli: con brutale approssimazione si può dire che dia soldi a chi ne ha già.

L'intelligenza artificiale è d'aiuto solo a chi già disponga delle conoscenze necessarie. Senza una lettura critica dell'output necessaria per apportare le necessarie modifiche diventa dannosa o inutile.

#ai

Il deserto dei tartari e il fascicolo sanitario

Una delle funzionalità messe a disposizione degli utenti, nel fascicolo sanitario elettronico della regione Lombardia, è quella di scelta e revoca del proprio medico.

Puoi cambiare il tuo medico di base comodamente seduto dal divano di casa, bastano un computer e una connessione a internet.

Il servizio funziona egregiamente, peccato che nel comune in cui risiedo e in due comuni limitrofi, per un totale di poco meno di 70.000 abitanti, non esistano medici disponibili per centinaia di cittadini.

Pensa cosa significhi ritrovarsi in una condizione di fragilità e perdere il proprio medico di base senza disporre di un modo rapido e indolore per trovare un sostituto.

Ogni volta che votiamo con la pancia e successivamente non releghiamo all'oblio quanti si dimostrano pessimi amministratori, facciamo un passo ulteriore verso lo status di sudditi allontanandoci da quello di cittadini.

#riflessioni

La mappa di Github

Questa mappa è un modo alternativo e divertente di consultare questo immenso archivio pulsante di codice. I progetti sono puntini su di una mappa che raffigura territori immaginari. In Cupertino Atelier si trovano, per es. librerie, estensioni, plug-in per il mondo Apple.

La mappa di Github, ogni puntino è un progetto ospitato dalla piattaforma.
Una mappa di Github rappresentanto come se fosse un mondo da esplorare.

#web

DNS4EU molto DNS poco EU

Non faccio in tempo ad accogliere una bella iniziativa europea per un servizio DNS che metta al centro la sicurezza e la riservatezza che scopro, grazie al post How much EU is in DNS4EU?, di Jens Link, quanto poco europea sia questa iniziativa.

Scopro anche un altro bel blog da seguire!

#web

Lavorare fa bene, a certe condizioni

Lavorare a lungo rallenta il naturale decadimento cognitivo che si manifesta con la vecchiaia. Questa è una tesi sostenuta da molti, non ultimo da Burton Malkiel di cui ho appena terminato la lettura di un saggio.

In linea di principio condivido questa tesi. Esercitarsi in attività che suscitano il nostro interesse, circondati da persone stimolanti non può che arricchirci.

La realtà dei fatti tuttavia ci porta sovente a svolgere compiti per lo più ordinari, in tempi ridotti all'osso, mentre si interagisce con persone che avrebbero bisogno di un supporto psichiatrico.

In quest'ultimo contesto trovo che il principio di partenza sia messo a dura prova, provate a convincermi del contrario.

#riflessioni

Sul mio comodino: Sulla pietra di Fred Vargas

Il processo sopra il risultato

L'unico modo di riuscire in ciò che si fa è quello di innamorarsi del processo. Amare la scrittura (e la lettura) se si scrive un testo, godere di ogni allenamento se si pratica uno sport, trovare insomma un piacere profondo nell'esercizio ordinario della propria attività: credo che solo a questa condizione si possa migliorare.

Uno scrittore che guarda ad ogni suo componimento come ad un percorso a ostacoli, un giocatore di basket che impreca o si deprime per ogni canestro mancato, sono persone che si condannano a una vita amara.

#riflessioni

Gemini e Kate

Come ho scritto ieri, sto familiarizzando con l'editor Kate, in vista di un futuro passaggio a Linux.

La mia relazione con Kate è felice perché si basa sul principio delle basse aspettative. Non mi aspetto molto da questo editor che invece si dimostra molto più versatile di quanto non immaginassi.

Ora, per ottenere alcune funzionalità aggiuntive che semplificano la scrittura delle pagine web avrei dovuto attivare un non moglio precisato vscode-html-languageserver che Kate si lamentava di non riuscire a identificare

            [LSP Client Warning] Failed to find server binary: vscode-html-languageserver
            Please check your PATH for the binary
            See also https://github.com/Microsoft/vscode/tree/main/extensions/html-language-features/server for installation or details
            

Sono certo che sarei riuscito a risolvere da solo. Ci avrei messo un pomeriggio intero, cento ricerche e mi sarebbe costato un mezzo mal di testa, ma ce l'avrei fatta da solo.

Invece ho chiesto a Gemini di guidarmi e devo dire subito che:

Alla fine, dopo l'installazione di homebrew, l'installazione di Node.js, l'installazione di un'estensione di Kate specifica per la gestione dei file html, dopo aver superato un problema di nomenclatura e un problema di percorso, fresco come una rosa, ottengo il risultato sperato.

Ironie a parte, sono contento del risultato, Gemini ha reso fattibile una cosa che si sarebbe rivelata un piccolo calvario e rende ancora più plausibile un mio prossimo passaggio a linux.

E questa è la mia storia di Gemini e Kate.

#ai

Pianificare la transizione

Il mio prossimo sistema operativo sarà una distribuzione Linux, da installare su un laptop molto meno affascinante del mio attuale mac book pro, lui si, bello da guardare anche da spento. Tuttavia sarà una soluzione più economica e questa scelta rientra in un quadro più ampio di razionalizzazione delle spese che sto portando avanti da qualche tempo.

Un modo per ridurre le frizioni da transizione è quello di iniziare ad utilizzare, da subito, software disponibile anche in linux. Questo non elimina il disagio del trasloco ma lo rende, per l'appunto, meno traumatico.

La breve lista fin qui include:

Questi quattro software li utilizzo da mesi con soddisfazione! Ora sto valutando il browser LibreWolf che ha lo stesso motore di rendering di Mozilla Firefox ma è molto più conservativo in termini di riservatezza, cosa che apprezzo.

#linux

Niente zuppe, grazie

Codice spaghetti e zuppe di tag sono da evitare.

Lo spaghetti code è un listato convoluto, difficile da leggere e interpretare. Chi lo produce è sciatto o frettoloso o incapace o tutte e tre le cose

La zuppa di tag è l'equivalente per pagine HTML scritte coi piedi, come si direbbe più prosaicamente.

I browser riescono egregiamente a riprodurre una pagina web anche se i tag pa pagina web viola quanto disposto da una specifica che sa essere permissiva.

Un modo facile di tenere in ordine le proprie pagine consiste nell'usa un validatore come questo.

Le correzioni che il validatore suggerisce sono anche un utile ripasso della specifica.

#riflessioni #web

Sul mio comodino: A spasso per Wall Street di Burton Malkiel

Alta concentrazione, grandi problemi

La disinformazione in rete avrebbe vita difficile se cercassimo di trascorrere una parte maggiore del nostro tempo in rete consultando un maggior numero di siti.

Più risultano diversificate le fonti che consultiamo, da quelle autorevoli a quelle più popolari, dalle voci di singoli a quelle istituzionali e aziendali, maggiore sarà la possibilità di identificare e scartare notizie false.

#riflessioni #web

Sapersi orientare

Ho scritto che la rete è conoscenza a basso costo e dunque è bene imparare a sfruttarla. Peccato che la qualità della ricerca da Google in giù sia peggiorata. Le risorse più pertinenti non sono quelle che troviamo in cima ai risultati di ricerca. L'intelligenza artificiale risolve solo in parte questi problemi e poi cosa succederebbe se i servizi gratuiti di ChatGPT & Co. alterassero le proprie risposte per privilegiare contenuti a pagamento? Sarebbe ancora più difficile identificare queste forzature.

Soluzioni? Nessuna comoda, studio, esercizio del pensiero critico, umiltà, consapevolezza dei propri limiti e delle nostre distorsioni cognitive.

#riflessioni #web

Uno di quei giorni

Questo è uno di quei giorni in cui vado vicino così (immagina di formare uno spazio molto piccolo tra indice e pollice che si avvicinano in modo asintotico) dal mandare al diavolo qualcuno.

Il fatto che questo accada di lunedì non fa altro che confermare l'avversità che nutro per il primo giorno della settimana.

#invettive

Un lavoro ingrato

Quello del traduttore è proprio un lavoro ingrato. Il traduttore bravo, che fa bene il proprio lavoro, diventa invisibile perché una traduzione ben riuscita aumenta solo l'interesse del lettore per l'autore dell'opera, dimenticandosi che lo scritto è mediato.

Il pessimo traduttore, rompe l'incantesimo e mostra il filtro che sta frapponendo tra il lettore e l'autore dell'opera, rendendo un disservizio a se stesso, all'autore e al lettore.

#letture #riflessioni #web

SCP & DNS

Due sigle che mi hanno fatto tornare voglia di studiare informatica e reti di computer.

Nel primo caso ho dovuto trasferire un file da un computer della mia rete domestica ad un altro. Di norma, per pigrizia, uso la posta o una penna usb. L'eleganza e la semplicità del comando scp che dal terminale consente di completare la stessa operazione mi ha ricordato di quanto potere ci sia dietro un pizzico di conoscenza.

Nel secondo caso, ho scoperto di recente DNS4EU, in breve una iniziativa co-finanziata dall'Unione Europea che consente di disporre di un DNS che sia rispettoso della nostra riservatezza di utenti della rete. Che bell'iniziativa!

#riflessioni #tech #web

Di tutta l'erba un fascio

Superficiale generalizzare, eppure i manuali di auto-aiuto li trovo davvero insopportabili.

Esistono pur sempre delle eccezioni ed io credo di averne trovata una, tempo fa, nel famoso Getting Things Done di David Hallen che mi ha insegnato un metodo con il quale riesco a portare a termine più attività di quanto non riuscissi a fare prima, al costo di un certo grado di disciplina.

Uso il metodo nel modo meno rigoroso possibile, una sorta di modalità-sopravvivenza e fin qui funziona bene.

Mi veniva in mente oggi perché sto iniziando ad applicarlo anche al lavoro, sempre nella stessa ma comunque utilissima blanda modalità.

Mi torna in mente anche in relazione a quella lista di appena due giorni fa che riporta un elenco di cose che mi piacerebbe fare e che fin qui sono riuscito ad affossare.

Vuoi vedere che...

#letture #riflessioni

Uno sguardo

Giornata calda, appena nuvolosa ma senza minacce di pioggia, almeno fino al tardo pomeriggio, quando decido che sono arrivati i miei 50 minuti di corsetta blanda.

La pioggerella sottile coincide esattamente con la mia sgambettata, non c'è uno sfasamento neanche minimo: inizia 30 secondi dopo essermi messo in movimento e termina a 30 secondi dal mio personale traguardo

Durante il percorso incrocio un altro podista che però è meglio chiamare runner perché podista non si usa più che fa tanto polveroso impiegato del catasto.

Ci scambiamo una rapida occhiata per un saluto di cortesia e leggo nella sua espressione del viso lo stesso sconforto per l'antipatica coincidenza atmosferica: raramente mi sono sentito così compreso da uno sconosciuto. :)

#corsa #riflessioni

Le 7 6 cose tutt'altro che impossibili ma che io riesco a far diventare tali

In nessun ordine particolare:

#liste

Di corsa

Letteralmente di corsa per quattro giorni di fila, in cui ho racimolato poco meno di 23km.

Il passo al chilometro fa ridere e a fine allenamento ho le gambe molli, eppure le endorfine e la consapevolezza di fare qualcosa di utile per la mia salute mi mettono in pace con il mondo.

#lecosemie

Il percorso di minor resistenza

Precedenti blog si sono arenati per l'eccessivo lavoro di pubblicazione. Voglio evitare soluzioni come Wordpress: l'output è un pasticcio e le dipendenze dei software di terze parti sono un incubo.

L'alternativa è un approccio senza fronzoli:

Negli scorsi 30 giorni questo si è dimostrato essere il percorso di minor resistenza per mantenere il blog vivo.

#web

Non è mai abbastanza!

Lo stavo pensando riguardo alla lettura. Non ho mai letto così tanto come in questi primi cinque mesi dell'anno, lo faccio alternando saggi divulgativi a tantissima letteratura popolare e poca poca poca lettura alta.

Sono soddisfatto di me stesso ma queste letture provocano piuttosto un senso di disagio per quello che scopro di non sapere, sono i cosiddetti known unknowns come li avrebbe definiti l'antipaticissimo Donald Rumsfield sottosegretario alla difesa statunitense sotto due diverse amministrazioni.

In più questo consolida la consapevolezza di quanto vasta sia l'area degli unknown unknowns (sempre grazie Rumsfield), ossia quello che non so di non sapere.

Pippone infinito per dire che leggere mi fa toccare con mano la pochezza delle mie conoscenze e, per contro, la vastità della mia ignoranza.

Oggi, solo per essere un cittadino consapevole, dovrei assommare in me conoscenze di informatica, finanza personale, ecologia, storia, geografia, nozioni di diritto pubblico e privato il tutto corredato da un forte senso civico, tutto ciò, ribadisco, solo per essere all'altezza della mia realtà più prossima.

Quanti di noi sono largamente impreparati ad affrontare il quotidiano?

La risposta però non è fermate il mondo, voglio scendere. Quanto piuttosto rimboccarsi le maniche senza timori. La rete è conoscenza a basso costo, sfruttiamola.

#riflessioni