#322 – Numeri casuali

Pillole di Bit
Pillole di Bit
#322 - Numeri casuali
Loading
/

Nella nostra vita il caso ci circonda. Nel mondo reale è casualità vera, nel digitale si parla di pseudocasualità, che si riesce a rendere quali reale con alcuni stratagemmi. Ma intanto voi non cadete nella casualità dei giochi d’azzardo, che tanto vince sempre il banco.

Clicca su questo testo per aprire la trascrizione della puntata

Quando qualche ascoltatore, dopo aver fatto la donazione, compila il form per ricevere gli adesivi, il magnete o il portachiavi, io prendo tutto il materiale da spedire, lo metto in una busta e poi, per forza di cose, devo andare a comprare il francobollo.
Ci sono i francobolli anche per chi dona dall’esterno, quindi non fate i timidi e compilate il modulo con i vostri dati, mi raccomando.
Entro dal tabaccaio e, mentre aspetto, l’occhio mi cade sempre sui fogli appesi “qui vinti 1000€” o le fotocopie del gratta e vinci “vinti 500€” o, peggio, la coda di persone che continua a spendere soldi puntando sull’uscita di questo o quel numero o che gioca alle slot.
Così mi è venuto in mente di fare questa puntata.
Intanto voi ricordatevi che se siete stati generosi, ma non avete compilato il modulo per la spedizione, non posso spedire.

Nella nostra vita, molte cose, purtroppo o per fortuna, sono regolate dal caso, non dobbiamo per forza andare a cercarlo nel gioco d’azzardo.
Una chiave di crittografia per un certificato https è generata casualmente, ad esempio.
Da che lato cade la fetta di pane a terra, mentre fate colazione, è un evento casuale.
E potremmo andare avanti per ore.
Nel mondo reale ci sono eventi casuali.
L’estrazione di un numero dal cestello della tombola, il lancio di un D20 a D&D, testa o croce di una moneta.
Ad ogni lancio o estrazione, la probabilità che esca un certo numero o faccia è sempre la stessa.
Se ho un dado a 6 facce, per farla facile, ad ogni lancio ho una possibilità su 6 che esca il numero 1.
Nel tempo, se lancio il dado tantissime volte, la quantità di volte che usciranno tutti i numeri sarà più o meno uguale, ma ogni volta che lancio il dado, la probabilità che esca 1, sarà sempre una su 6. Anche se nei 100 lanci precedenti è sempre uscito 1 o non è mai uscito 1.
Ogni lancio non è influenzato dal lancio o dai lanci precedenti.
Nei computer c’era bisogno di avere una funzione che generasse numeri casuali, per molti motivi.
Il problema è che non esiste un algoritmo matematico che genera una serie infinita di numeri in ordine assolutamente casuale all’interno di un certo range.
E non possiamo dire a una CPU “lancia un dado”. Nella CPU ci sono transistor, 0 e 1, nulla di più.
Si parla quindi di generazione di numeri pseudocasuali
L’algoritmo è in grado di generare una serie di numeri all’apparenza casuali.
Ma se lo si ferma e lo si lancia di nuovo, la serie di numeri sarà la stessa.
E sarà così per sempre.
Usate un algoritmo di generazione numeri pseudocasuali, magari senza saperlo.
Le chiavi di accesso OTP, quelle per l’autenticazione a due fattori, sono generate da un algoritmo che genera numeri pseudocasuali.
A partire da una certa stringa iniziale, detta seme, genererà sempre la stessa infinita serie di numeri che sembrano casuali, ma non lo sono, perché chi ha lo stesso seme sarà in grado di generare la stessa serie di numeri pseudocasuali
Quando vi registrate su un sito e attivate l’autenticazione a 2 fattori a voi danno una stringa per attivare l’algoritmo, il sito se ne tiene una copia, essendo certo che, nel tempo, le generazione dei codici a 6 numeri sarà sempre la stessa in ogni momento.
E allora, come si fa ad ottenere un numero casuale con un sistema digitale?
È impossibile?
SI può fare, ma ci si deve basare su qualcosa di veramente casuale, per generare un seme sempre diverso da fornire all’algoritmo che genera i numeri casuali.
Facciamo un esempio facile.
Come seme io fornisco un numero, tipo 0.
Il mio algoritmo genera una serie di numeri pseudocasuali, non che partono da zero, ma basandosi sul fatto che il seme di partenza è 0.
Se io come seme di partenza prendessi la temperatura della CPU del calcolatore su cui l’algoritmo sta lavorando, avrei un valore più casuale, dipende da quanto è stato carico nei minuti precedenti, da quanto fa caldo nella stanza, da quanto è sporco il dissipatore.
Va già meglio, ogni volta che azzero il generatore, la temperatura sarà diversa e la serie di numeri casuali anche cambierà.
Ma la temperatura ha un range limitato.
Se prendessi la registrazione del movimento del mouse degli ultimi 5 minuti, avrò un dato ancora più casuale, è veramente molto difficile riprodurre lo stesso movimento del mouse due volte consecutive.
Il sistema del movimento del mouse è usato da VeraCrypt per la generazione casuale delle chiavi di cifratura del volume crittografato.
Siamo arrivati al punto da distinguere che un evento casuale fisico, a patto che non sia truccato, è sempre casuale e non dipende dalle estrazioni o lanci precedenti
Un generatore casuale di un computer è sempre pseudocasuale e dobbiamo cercare di renderlo più casuale dandogli una variabile di casualità in ingresso.
Sapete come fa Cloudflare per generare i certificati partendo ca entità casuali? fa le foto alle lava lamp, quelle lampade con le bolle colorate all’interno, da quelle immagini ne ricava una stringa casuale che usa per generare i certificati.
Torniamo ai nostri giochi dal tabaccaio.
Al Lotto le estrazioni sono fatte fisicamente come la tombola, c’è un’urna dalla quale vengono estratte le palline con i numeri da 1 a 90.
Ad ogni estrazione i numeri da 1 a 90 hanno la stessa probabilità di uscire.
Se un numero non esce da tanto tempo non vuol dire che ha più probabilità di uscire.
Se un numero è uscito spesso nell’ultimo periodo non vuol dire che smetterà di uscire.
Se in un certo negozio qualcuno ha vinto qualcosa, anche se appendono il foglio, questo non vuol dire che se si gioca in quel negozio si hanno più probabilità di vittoria.
In più le vincite sono sottopagate.
Se giocate una quaterna secca su una sola ruota, avete una probabilità su circa 500.000 che escano proprio quei 4 numeri. Ma se la prendete e avete giocato 1€ vi pagano 120.000€, non 500.000.
La stessa cosa vale per la roulette al Casinò.
Ad ogni giro la pallina ha una probabilità su 33 di finire su ogni numero da 0 a 32.
Se prendete il numero secco vi pagano 32 volte la posta.
Mentre nelle macchinette, che sono gestite da un software e non dal caso reale, le probabilità di vincita sono precalcolate, il tutto per fare in modo che l’unica certezza è che il vincitore sia sempre chi le gestisce, Lo stato. O il banco, che dir si voglia.
Datemi retta, l’unico modo di vincere a questi giochi è non giocare e tenersi i soldi in tasca.

Se volete sfidare il caso ci sono giochi più divertenti, come Risiko, che è tutto basato sul caso dei lanci di dadi, o Yatzee, ancora più incentrato sui dadi.
Niente soldi gettati al vento, vi divertite con gli amici e via.

Pillole di Bit è un podcast gratuito da sempre e disponibile per tutti, ma realizzare un podcast ha dei costi in servizi, hardware e software.
Ma non solo, ha anche bisogno di un ritorno in soddisfazione per chi lo produce, settimana dopo settimana, da quasi 10 anni.
Per coprire costi e soddisfazione voi ascoltatori potete contribuire in modo pratico, mettendo mano al portafogli, con una donazione, che sia ogni tanto o un abbonamento mensile, dell’importo che volete, basato su quanto potete permettervi e quanto vale per voi la produzione e i contenuti delle puntate.
Ogni volta che vedo una notifica, sono contento, vuol dire che il mio lavoro ha generato un valore reale.
Potete farlo in modi diversi, tramite Satispay, Paypal o con il Value for Value, con le applicazioni che lo gestiscono, se volete più informazioni sul value 4 value potete fare riferimento alla puntata 297.
I più sinceri ringraziamenti vanno a chi ha voluto donare qualcosa in questa settimana, nel dettaglio
Gli abbonati
Giorgio
Le donazioni spot
Ivan
Luca
Sergio
Massimiliano
Domenico
E chi usa il value for value
Nicola Gabriele
Federico
Jackal
Oltre a donare direttamente, potete anche usare i link sponsorizzati, che a fronte di un vostro ordine, a me riconoscono una percentuale, come Amazon o uno dei migliori provider internet che potete trovare sul mercato: Ehiweb, per loro metto la mano sul fuoco, tutte le persone che si sono abbonate mi hanno dato feedback estremamente positivi.
Oggi ve ne riporto uno, virgolettato

“ennesimo grande ringraziamento a Francesco per avermi dato la spinta a passare da TIM a EHiweb. 3 ora da segnalazione di disservizio su FTTH ad intervento a casa del tecnico di Fibercorp per ripristinare la borchia ottica”

E hanno anche il nuovo sito, un motivo in più per andare a trovarli!

E non dimenticatevi di parlar bene di Pillole di Bit a chi non lo conosce o a chi non sa dell’esistenza dei podcast.

Abbiamo parlato di caso, di dadi e di giochi.
Vi lascio due tipi di dadi, che sono sempre un bell’oggetto, anche se non giocate a D&D, ne fanno di davvero molto particolari, il primo è un set che potete comprare online, il secondo è disponibile per tutti, gratis. Aprite google e cercate d20, proprio scritto così come l’ho letto. la lettera d minuscola e il numero 20 attaccato. Ecco un dado da 20 che verrà lanciato.
Se avete un modificatore potete aggiungerlo nella finestra che vi si è aperta.
Potete anche fare la combinazione di più dadi, come 2d6 e avrete il lancio di due dadi da 6.

Siamo arrivati alla fine di questa puntata di Pillole di bit, vi ricordo che tutti i link relativi alle cose dette sono nelle note, che trovate sulla vostre app o sul sito.
Io sono Francesco, produttore e voce di questo podcast e vi do appuntamento a lunedì prossimo, per la prossima puntata, disponibile su Feed RSS, o su tutte le piattaforme di podcast, vi registrate e la puntata vi arriva automagicamente.

Grazie per avermi ascoltato!

L’audio verso la fine della puntata, se non lo avete riconosciuto, MALE, è preso da Wargames, film imperdibile del 1983. Se non lo avete mai visto, andate a recuperarlo, è su Amazon Prime Video compreso nell’abbonamento o a pagamento a due spicci su Youtube o su Apple TV

Ciao!

Pillole di Bit (https://www.pilloledib.it/) è un podcast indipendente realizzato da Francesco Tucci, se vuoi metterti con contatto con me puoi scegliere tra diverse piattaforme:
Telegram (o anche solo il canale dedicato solo ai commenti delle puntate)
TikTok (per ora è un esperimento)
Twitter
BlueSky
– Il mio blog personale ilTucci.com
– Il mio canale telegram personale Le Cose
Mastodon personale
Mastodon del podcast
– la mail (se mi vuoi scrivere in modo diretto e vuoi avere più spazio per il tuo messaggio)

Rispondo sempre

Se questo podcast ti piace, puoi contribuire alla sue realizzazione!
Con una donazione diretta:
– Singola con Satispay
Singola o ricorrente con Paypal
Usando i link sponsorizzati
– Con un acquisto su Amazon (accedi a questo link e metti le cose che vuoi nel carrello)
– Attivando uno dei servizi di Ehiweb

Se hai donato più di 5€ ricordati di compilare il form per ricevere i gadget!

Il sito è gentilmente hostato da ThirdEye (scrivete a domini AT thirdeye.it), un ottimo servizio che vi consiglio caldamente e il podcast è montato con gioia con PODucer, un software per Mac di Alex Raccuglia

#321 – Unicode e UTF

Pillole di Bit
Pillole di Bit
#321 - Unicode e UTF
Loading
/

Ogni carattere che leggete a video, lo potete vedere corretto solo perché c’è qualcuno che ha lavorato nell’ombra e ha generato le tabelle di conversione tra il carattere e come questo viene salvato in binario sui supporti digitali. E vi assicuro che di facile non c’è NIENTE.

Fai click su questo testo per vedere la trascrizione della puntata

Un ascoltatore mi ha scritto e mi ha detto che nella procedura di export e import di dati di è scontrato con la codifica dei caratteri, quello che forse qualche volta avrete visto come UTF-8 o UTF-16 o, ancora ASCII, o ISO qualcosa o altri mille modi.
In effetti è vero non ne ho mai parlato qui su Pillole di Bit, ottima occasione per una puntata, ho pensato.
Ho creato il file dello script, ho cercato un po’ per studiare e ho scoperto che in confronto aprire il Vaso di Pandora sarebbe stata una passeggiata.
Per questo motivo la puntata sarà una trattazione molto, ma molto semplificata di un problema molto, molto complesso: trattare i caratteri nel mondo dell’informatica.

Partiamo da un assunto che dovrebbe farvi riflettere. Per come stanno le cose, qualsiasi cosa digitale abbiate in mano, se vi fa vedere i caratteri esattamente come li volete, vuol dire che state assistendo a un processo assimilabile alla magia. O dovete ringraziare gente davvero molto brava.
Io credevo che gestire i fusi orari e la gestione delle date fosse complesse, ma poi ho letto la gestione dei caratteri e ho scoperto che è molto, molto, molto peggio.
Più ci si addentra nella tecnologia, più si scopre che molte di quelle cose che noi diamo per scontate, funzionano grazie a menti geniali che si sono messe lì e hanno risolto problemi enormi.
Immaginate di avere un file di testo da salvare da qualche parte.
Voi dovete scrivere delle parole, ma queste devono essere salvate sul disco in modo binario, come chi ascolta spesso questo podcast sa.
È necessario convertire tutti i caratteri in una serie di bit, che possano essere memorizzati sul disco.
Serve avere una tabella di conversione che metta in relazione i bit con i caratteri.
Quanti caratteri abbiamo?
Partiamo dalle cose semplici.
L’alfabeto americano.
Sono 26 lettere, ma sono maiuscole e minuscole, arriviamo a 52, poi ci sono le 10 cifre da 0 a 9, siamo a 62 caratteri diversi. poi ci sono tutti i caratteri quali la punteggiatura, parentesi e gli altri caratteri, quelli di base sono 33.
Siamo arrivati a 95.
Ma non abbiamo finito, perché ci sono tutti i caratteri che non vediamo, come il tab, lo spazio e un sacco di caratteri di controllo, come fine linea, a capo, carattere nullo e così via.
Arriviamo, guarda caso, a 128.
128 è un numero che conosciamo, è una potenza di 2, per la precisione 2 elevato a 7.
Con 7 bit riusciamo a memorizzare 128 caratteri, che di base sono quelli che in genere ci servono per leggere e scrivere.
No, servono per leggere e scrivere in Inglese.
Visto che un byte è composto da 8 bit, possiamo aggiungerlo alla nostra tabella, raddoppiando la quantità di caratteri memorizzabili, così da inserire alcuni simboli matematici e quelli che servono per fare i disegnini che ogni tanto vedete nelle opere d’arte fatte a caratteri, quelle che si chiamano ASCII art.
Si chiamano così perché questo set di caratteri si chiama ASCII che sta per American Standard Code for Information Interchange.
In Italiano codice standard americano per lo scambio di informazioni.
Lo standard nacque a inizio degli anni 60 del 1900.
Noi lo pronunciamo asci, in originale è asky.
Sicuramente lo sto pronunciando male.
Vi sarete subito accorti che c’è un problema.
In Italiano ci sono le lettere accentate, che qui mancano.
Ma mancano le lettere francesi, quelle tedesche e mancano tutti i milioni di caratteri delle scritture che ci sono nel mondo e vi assicuro che, mentre voi state pensando magari al cinese a al giapponese, ce ne sono decine che magari non sapete neanche che esistano. Io le ho scoperte andando a cercare la documentazione.
Tutti questi caratteri, che per noi sono strani, hanno tutti il diritto di essere scritti sugli schermi di chi li usa.
E non possiamo avere una tabella ASCII per ogni lingua, per diversi motivi.
Il primo è che in molte lingue 256 caratteri non bastano, il secondo è che se io faccio un testo nella mia lingua, poi lo spedisco a un interlocutore in Asia, non va bene che dove io ho scritto una A maiuscola lui legga un carattere che nella sua lingua sia completamente diverso perché nella sua tabella, il byte 0x41 è associato a una cosa diversa.
E allora come si fa?
Si estende il set di caratteri in modo che possa contenere tutti i caratteri del mondo.
Nel 1991, dopo circa 30 anni dallo standard ASCII, nasce la versione 1.0 di Unicode.
Negli anni Unicode è cambiato molte volte, l’ultima versione, la 15, è del 2022.
Per far stare all’interno di un’unica tabella tutti i caratteri di tutte le scritture del mondo, i bit sono stati portati da 8 a 21.
In questo modo ci stanno davvero un mondo di caratteri, simboli, ideogrammi, anche tutte le emoji e restano un sacco di posti vuoti, per eventuali espansioni future.
Le prime versioni erano a 16 bit, per 65 mila caratteri, con 21 bit siamo a circa un milione.
La rappresentazione dei byte unicode è comunemente scritta con la U maiuscola, il meno e la stringa esadecimale.
Ma non è finita qui.
Visto che 21 bit non sono pochi e che i byte sono da 8 bit, ogni carattere dovrebbe usare sempre multipli di 8 bit, solitamente 1 byte, 2 byte o 4 byte.
21 bit sta in 4 byte e sprecare un sacco di spazio per usare delle tabelle carattere che non si usano mai è molto controproducente.
Viviamo in un mondo dove lo spazio costa poco e la banda è velocissima, ma se ogni volta che scrivo un carattere devo occupare 4 byte al posto magari di uno, lo spazio occupato sarà inutilmente 4 volte maggiore.
Per questo motivo sono stati inventati degli schemi di ricodifica che comprendono un sottoinsieme di caratteri, solitamente quelli più usati.
Sono nate quindi le codifiche UTF-8, UTF-16 e UTF-32
UTF sta per Unicode Transformation Format, la versione 8 è la più usata ed è stata presentata nel 1993, quando Unicode era alla versione 1.1
Un carattere in UTF-8 occupa tra 1 e 4 byte, in base a un elenco.
Ve la faccio facile, vi assicuro che facile non è.
Se è un carattere che corrisponde ai 127 caratteri ASCII, in UTF-8 il primo bit è 0 e gli altri 7 sono il valore del carattere.
Se diventa più grande, i bit diventano più di 8, vengono quindi distribuiti su più byte, in questo modo, cercate di seguirmi, so che in podcast non è semplice, ma vi lascio in descrizione il link alla wiki
Nel primo byte, composto da 8 bit, i primi bit indicano da quanti byte è composto il carattere. gli altri bit che restano contengono l’effettivo dato del carattere, quando il byte finisce, si continua sul byte successivo.
Esempio.
Un carattere occupa 10 bit
Il primo byte in unicode ha come primi bit 110, che vuol dire che il carattere occupa 2 byte.
Visto che 110 sono 3 bit, ne restano 5 liberi, li occupo con i primi 5 bit che costituiscono il carattere
Il secondo byte inizia sempre con 10 e negli altri 6 metto i rimanenti 5 per concludere la composizione del mio carattere.
Con questa logica, se i caratteri più usati sono nelle prime posizioni, statisticamente i caratteri occuperanno pochi byte, ne occuperanno di più se uso caratteri molto particolari e meno usati.
Senza scendere nei dettagli, gli alfabeti asiatici tipo cinese e giapponese, occupano meno spazio in UTF-16, due byte, che in UTF8, tre bytes per carattere.
Detto tutto questo alcune cose dovrebbero essere abbastanza chiare.
Per trasferire dati tra sistemi diversi è necessario che questi siano scritti con lo stesso identico set di caratteri, se non lo sono serve un sistema che converta da un set all’altro.
Ogni sistema dovrebbe essere in grado di ricevere set di caratteri diversi, per poter leggere messaggi e dati provenienti da chiunque, per evitare i caratteri strani con i punti interrogativi o i quadratini.
Tutti i sistemi digitali sono molto complessi e il grande lavoro che è stato fatto per renderceli facili, ogni tanto, dovrebbe essere apprezzato e non ignorato.
E le emoji?
Anche qui è un discreto caos.
Le emoji standard, di solito, in UTF-8, occupano 4 bytes.
Ma se usate quelle modificate, ad esempio la mano con il pollice su con un tono di pelle diverso, questa occupa il doppio dello spazio, i 4 bytes dell’emoji e altri 4 bytes per il modificatore.
Se poi prendiamo l’emoji con le composizioni delle persone, ad esempio le famiglie, queste sono effettivamente delle composizioni di emoji diverse, per esempio, per rimanere in tema del mese del pride, per fare una famiglia serve l’emoji di un uomo, poi quella di un bambino, quella di una bambina e quella di un uomo, ed ecco che abbiamo 25 byte, perché ci sono anche i caratteri che indicano la combinazione di emoji diverse.

Donazioni
Pillole di Bit è un podcast gratuito da sempre e disponibile per tutti, ma realizzare un podcast ha dei costi in servizi, hardware e software.
Ma non solo, ha anche bisogno di un ritorno in soddisfazione per chi lo produce, settimana dopo settimana, da quasi 10 anni.
Per coprire costi e soddisfazione voi ascoltatori potete contribuire in modo pratico, mettendo mano al portafogli, con una donazione, che sia ogni tanto o un abbonamento mensile, dell’importo che volete, basato su quanto potete permettervi e quanto vale per voi la produzione e i contenuti delle puntate.
Ogni volta che vedo una notifica, sono contento, vuol dire che il mio lavoro ha generato un valore reale.
Potete farlo in modi diversi, tramite Satispay, Paypal o con il Value for Value, con le applicazioni che lo gestiscono, se volete più informazioni sul value 4 value potete fare riferimento alla puntata 297.
I più sinceri ringraziamenti vanno a chi ha voluto donare qualcosa in questa settimana, nel dettaglio
Oltre a donare direttamente, potete anche usare i link sponsorizzati, che a fronte di un vostro ordine, a me riconoscono una percentuale, come Amazon o uno dei migliori provider internet che potete trovare sul mercato: Ehiweb, per loro metto la mano sul fuoco, tutte le persone che si sono abbonate mi hanno dato feedback estremamente positivi.
E non dimenticatevi di parlar bene di Pillole di Bit a chi non lo conosce o a chi non sa dell’esistenza dei podcast.

Quest’anno Tetris ha compiuto 40 anni.
Potrei lasciarvi tante informazioni interessanti dalle quali andare a recuperare un po’ di storia, c’è anche un film carino su Apple TV, ma secondo me, la cosa più interessante di tutte l’ha fatta Valerio Galano, non so se vi ricordate di lui, abbiamo fatto insieme la puntata sulla PEC, la 301. Nel suo podcast, Pensieri in Codice, ha analizzato alcuni dettagli tecnici, anche molto profondi, derivati dal video dove un ragazzino finisce il gioco, nel senso che lo porta a un livello dove a un certo punti si scassa tutto.
Timing della CPU, allocazioni di memoria, tempi di calcolo rispetto agli aggiornamenti dei frame, tempi di risposta del pad.
Ha fatto un’analisi davvero dettagliata e precisa.
Se siete appassionati di videogiochi, di storia dei videogiochi, di hardware, di vecchio hardware o di console, la dovete ascoltare assolutamente. Vi lascio il link nelle note.
Ascoltata la puntata, datemi retta, abbonatevi al podcast, sono sempre puntate di ottima qualità.
Nelle puntate vi lascio anche un video di youtube che fa vedere come funziona il modo particolare di usare il controller per incrementarne la reattività. No, non è affatto facile.

Siamo arrivati alla fine di questa puntata di Pillole di bit, vi ricordo che tutti i link relativi alle cose dette sono nelle note, che trovate sulla vostre app o sul sito.
Io sono Francesco, produttore e voce di questo podcast e vi do appuntamento a lunedì prossimo, per la prossima puntata, disponibile su Feed RSS, o su tutte le piattaforme di podcast, vi registrate e la puntata vi arriva automagicamente.

Grazie per avermi ascoltato!

Ciao!

Pillole di Bit (https://www.pilloledib.it/) è un podcast indipendente realizzato da Francesco Tucci, se vuoi metterti con contatto con me puoi scegliere tra diverse piattaforme:
Telegram (o anche solo il canale dedicato solo ai commenti delle puntate)
TikTok (per ora è un esperimento)
Twitter
BlueSky
– Il mio blog personale ilTucci.com
– Il mio canale telegram personale Le Cose
Mastodon personale
Mastodon del podcast
– la mail (se mi vuoi scrivere in modo diretto e vuoi avere più spazio per il tuo messaggio)

Rispondo sempre

Se questo podcast ti piace, puoi contribuire alla sue realizzazione!
Con una donazione diretta:
– Singola con Satispay
Singola o ricorrente con Paypal
Usando i link sponsorizzati
– Con un acquisto su Amazon (accedi a questo link e metti le cose che vuoi nel carrello)
– Attivando uno dei servizi di Ehiweb

Se hai donato più di 5€ ricordati di compilare il form per ricevere i gadget!

Il sito è gentilmente hostato da ThirdEye (scrivete a domini AT thirdeye.it), un ottimo servizio che vi consiglio caldamente e il podcast è montato con gioia con PODucer, un software per Mac di Alex Raccuglia

#320 – Connessione seriale

Pillole di Bit
Pillole di Bit
#320 - Connessione seriale
Loading
/

Ha radici antiche e fa pensare a trasmissioni lente, un carattere per volta, ma non fatevi trarre in inganno, la connessione seriale è viva insieme a noi e in certi casi è l’unica via per raggiungere e gestire molti dispositivi, anche da lontano.

Clicca su questo testo per aprire la trascrizione

Tutte le volte che avete a che fare con un dispositivo, di solito, avete un monitor, un mouse o un dito, se touch, una bella interfaccia grafica e la possibilità di interagire in modi facili, immediati e colorati.
Ma da tempo immemore resiste e sopravvive, imperterrita, una modalità di accesso a quasi ogni dispositivo che funziona sempre e che non si incarta quasi mai.
Nascosta negli angoli più polverosi, complessa da usare e anche un po’ macchinosa alla quale collegarsi.
La connessione seriale resta immortale. A volte persino indispensabile.

Un po’ di basi, per non perderci i pezzi per la strada.
Da che mondo è mondo, ogni sistema operativo, dietro all’interfaccia grafica, bella e di facile utilizzo, ha un’interfaccia che è una riga di comando con un prompt.
Si scrivono comandi, dai più semplici ai più complessi e questi ottengono un risultato sul sistema.
Ad essere pignoli, dovrei dire che le interfacce grafiche non sono altro che un modo facilitato per lanciare comandi su un prompt che noi non vediamo.
Faccio un esempio banale.
Nel prompt dei comandi di Windows, ereditato da DOS, per avere la lista dei file di una cartella si usa il comando DIR e si ottiene a schermo la lista dei file.
Con la grafica, si apre Esplora risorse, si apre la cartella e si vedono i file.
È come se, aprendo la finestra di una certa cartella, venisse eseguito il comando DIR e l’output venisse formattato e messo all’interno della finestra di esplora risorse.
Il prompt dei comandi vive e lavora insieme a noi.
Tutti i sistemi operativi hanno il prompt dei comandi, anche chiamato shell.
Windows, Linux, MacOS, I sistemi di ogni dispositivo di rete gestito nel mondo e tutto quello che all’interno ha un sistema operativo, nel 90% sarà di derivazione Linux e avrà una shell linux.
Avere accesso alla shell, con le giuste credenziali, dà accesso al sistema con il privilegio massimo, nella maggior parte dei casi.
Se usate un calcolatore con un sistema operativo, almeno un minimo dovreste imparare a usare la riga dei comandi.
Per accedere alla shell si usa il monitor del dispositivo su cui si è oppure, per esempio ci si collega, solitamente in SSH, che è un protocollo di comunicazione che sta su TCP, sulla porta 22 ed è crittografato.
I vecchi sistemi usano il TELNET, che assolve alla stessa funzione, lavora sulla porta 23 ed è in chiaro.
Alla shell, però, se siamo davanti al dispositivo, possiamo accedere in un modo ancora diverso, ad alcuni potrebbe sembrare arcaico, ma è ancora in uso e funzione alla grande. Con la connessione seriale, o anche detta connessione console.
Che non è la playstation.
Tutti i dispositivi elettronici hanno una connessione console o seriale.
Le schede madri di ogni computer, ce l’ha il Rasperry Pi, Arduino, le schede ESP, le loro sorelle cugine di ogni genere e specie, tutti i dispositivi di rete come switch e router. Tutti ce l’hanno, in alcuni casi sono facilmente raggiungibili, in altri meno o completamente nascoste
Se avete il cavo giusto con il connettore giusto lato dispositivo e lato computer potete accedere senza troppa difficoltà, se l’accesso non è stato bloccato fisicamente di proposito.
Tempo fa il cavo seriale era quello a 9 pin, a forma di trapezio, sia sul dispositivo che sul computer.
Adesso, di solito, la console è un cavo RJ45 tipo i cavi di rete sul dispositivo e USB sul computer, in certi casi è USB da entrambe le parti.
A volte i PIN hanno connessioni proprietarie e serve il cavetto che arriva con il dispositivo e nessun altro.
Non a volte, mi sa quasi sempre. Tenete con cura i cavi seriali che vi arrivano con i dispositivi.
A livello hardware la connessione seriale avviene attraverso un singolo filo, in realtà se ne usano di più, ma il traffico dati avviene su un solo filo, dove passano, in fila, quindi serialmente, tutti i bit che devono essere trasmessi.
Si definiscono alcuni parametri come la velocità di trasmissione in caratteri al secondo, la gestione degli errori e poco altro ed ecco che bit per bit, sulla seriale arrivano tutti i caratteri che il dispositivo vuole trasmettere, non solo in un senso, la seriale riceve anche caratteri, quindi comandi, in input.
Su un secondo filo ci sono quelli che dal computer verranno trasmessi al dispositivo.
la velocità può essere espressa in bit al secondo o in baud, in baud è il carattere, non è sinonimo di bit.
La trasmissione è semplice, in chiaro, su un cavo collegato su una porta specifica del dispositivo.
La cosa molto interessante della connessione seriale è che vengono trasmessi tutti gli stream di caratteri di tutto quello che passa per il dispositivo anche prima dell’avvio del sistema operativo.
La porta seriale, anche se non è connesso nessuno, è normalmente lo standard output per tutto quello che il sistema sta facendo in ogni momento della sua vita, dall’accensione fino a quando non viene spento.
Viene tutto buttato lì, se ci sei lo leggi, se non ci sei lo perdi.
Un po’ come avere un monitor, ma senza averne uno per ogni macchina.
Quando c’è un dispositivo che ha problemi e non carica il sistema operativo, ci si collega in seriale e si vede tutto quello che succede prima del suo caricamento
Se la rete di un sistema non funziona, ci si collega in seriale, si fa accesso al sistema operativo, si arriva alla shell e si può mettere a posto.
Se un dispositivo di rete non è raggiungibile in alcun modo, ci si collega in seriale, si vede cosa c’è che non va e si possono fare le configurazioni necessarie per sistemarlo.
Basta essere lì davanti, avere il cavo giusto e un software che faccia da terminale.
La porta seriale o console, nella sua semplicità, è di una potenza mostruosa.
Ha un limite. Devi essere lì davanti. Certe volte è facile, certe volte un po’ meno.
Esistono dei sistemi che permettono di accedere alla seriale in modalità remota.
Quando lavoravo nel posto di prima, avevo scoperto per caso un oggettino che da una parte aveva una connessione seriale e dall’altra era un host wifi, si collegava alla rete wifi dell’azienda e permetteva di accedere via seriale a dispositivi di rete anche se in posti fisicamente lontani. Non me li avevano passati perché costosi, andare a piedi in giro costava evidentemente di meno.
Ho poi scoperto, in un secondo tempo che esistono dispositivi che si collegano in rete da una parte e dall’altra hanno decine di porte seriali, per collegare tutti i dispositivi presenti nelle vicinanze.
Cercate console server su Internet e vi si apre un mondo.
Avere accesso seriale ai dispositivi, anche da remoto, cambia in modo drammatico la gestione, semplificandola.
Se lavorate in un’azienda e avete dispositivi, fate in modo di raggiungerli tutti, anche se pensate che adesso li raggiungete via telnet o ssh, se avete un problema, poi dovete andare sul posto, se avete accesso remoto seriale, potete risolvere in un decimo del tempo.
Pare strano, la cosa vale anche per un banale raspberry, avere accesso seriale, con l’adattatore che si mette sui suoi PIN, vi evita di dover collegare mouse, tastiera e monitor, un cavetto e via.
Sarà una vecchia connessione, ma vi assicuro che è ancora di un’utilità e una potenza inimmaginabili.
Per contesto, nel tempo, la seriale pareva essere lenta per trasmettere tanti dati, ma poi, dopo aver usato bus di dati paralleli come la LPT per le stampanti o i BUS ISA e PCI, è tutto tornato ad essere seriale, viaggia a velocità stratosferiche e la usiamo costantemente.
I dischi connessi in SATA viaggiano su un bus seriale
Tutto quello che è collegato in PCI express è collegato su un BUS Seriale.
La trasmissione dati è una branca della tecnologia davvero molto interessante.

Donazioni
Questo podcast, da sempre, si sostiene grazie alla generosità di voi ascoltatori. Io di questo ne sono molto felice perché anche voi fate parte di questo progetto, ormai da anni.
In questa sezione mi prendo un po’ di tempo per ringraziare uno ad uno tutti i donatori che decidono di mettere mano al portafogli, in qualunque modo, per aiutarmi ad andare avanti.
Gli abbonati
Ivan
Carlo
Valerio
Le donazioni spot
Silvano
Ganluigi
Roberto
E chi usa il value for value
Nicola Gabriele
Jackal
Paolo
Una menzione speciale e la busta con i gadget vanno anche a Giovanni, che sta lavorando costantemente a sistemare il bot che nel gruppo telegram converte tutti i link amazon in automatico con il tag del podcast. Grazie!

Vi ricordo che se non compilate il form per ricevere i gadget non posso spedirveli, se avete donato più di 5€, compilatelo, se per tutto il 2023 avete donato 5€ al mese o più, anche, avete diritto alla spilla retroarttiva da sostenitore.

In questa settimana ho spedito parecchie buste con vari gadget, adesso è tutto al buon cuore delle poste.
Oltre a Donare usando Satispay, Paypal o il Value for value, potete anche usare i link sponsorizzati, che a fronte di un vostro ordine, a me riconoscono una percentuale, come Amazon o Ehiweb, quest’ultimo lo uso a casa e vi assicuro che un provider Internet come loro non esiste, tutti quelli che si sono abbonati, poi mi hanno ringraziato.
E non dimenticatevi di far conoscere pillole di bit ai curiosi come voi o a chi potrebbe diventarlo.

Come detto in puntata, usare la seriale è un ottimo sistema per fare debug di sistemi che hanno qualche problema, per i quali magari è difficile collegare un monitor esterno. Vi lascio nelle note dell’episodio un articolo molto interessante su come fare questa cosa su un Raspberry Pi, tra cavetto e configurazioni. Abilitatelo e provatelo sui Raspberry che avete a casa, che prima o poi vi torna utile. Lo so che in quanto ascoltatori del podcast ne avete almeno uno.

Siamo arrivati alla fine di questa puntata di Pillole di bit, non saltate al prossimo podcast che ci sono informazioni che possono tornarvi utili, vi ricordo che tutti i link relativi alle cose dette sono nelle note, che trovate sulla vostre app o sul sito.
Io sono Francesco, produttore e voce di questo podcast e vi do appuntamento a lunedì prossimo, per la prossima puntata, disponibile su Feed RSS, o su tutte le piattaforme di podcast, vi registrate e la puntata vi arriva automagicamente.
A occhio questa è l’ultima puntata che ascoltate su Google Podcast, avete migrato altrove? Mi raccomando, passate ad altre app, ce ne sono di interessanti sia su Android che su iPhone, è anche un ottimo motivo per fare pulizia dei podcast che non ascoltate da tempo e che occupano solo spazio sul telefono. Installate la nuova app, vi registrate ai podcast che volete davvero ascoltare e scaricare l’ultima puntata, tutto pulito e una nuova vita.
Nelle note vi lascio qualche app da provare.

Grazie per avermi ascoltato!

Ciao!

Pillole di Bit (https://www.pilloledib.it/) è un podcast indipendente realizzato da Francesco Tucci, se vuoi metterti con contatto con me puoi scegliere tra diverse piattaforme:
Telegram (o anche solo il canale dedicato solo ai commenti delle puntate)
TikTok (per ora è un esperimento)
Twitter
BlueSky
– Il mio blog personale ilTucci.com
– Il mio canale telegram personale Le Cose
Mastodon personale
Mastodon del podcast
– la mail (se mi vuoi scrivere in modo diretto e vuoi avere più spazio per il tuo messaggio)

Rispondo sempre

Se questo podcast ti piace, puoi contribuire alla sue realizzazione!
Con una donazione diretta:
– Singola con Satispay
Singola o ricorrente con Paypal
Usando i link sponsorizzati
– Con un acquisto su Amazon (accedi a questo link e metti le cose che vuoi nel carrello)
– Attivando uno dei servizi di Ehiweb

Se hai donato più di 5€ ricordati di compilare il form per ricevere i gadget!

Il sito è gentilmente hostato da ThirdEye (scrivete a domini AT thirdeye.it), un ottimo servizio che vi consiglio caldamente e il podcast è montato con gioia con PODucer, un software per Mac di Alex Raccuglia