Cos’è un boot manager

A differenza del boot loader, che appunto carica il kernel dalla memoria secondaria alla primaria, il boot manager è il programma che decide quale kernel caricare in caso di più sistemi operativi installati sullo stesso computer.

Due esempi di boot manager sono GNU GRUB e rEFInd.

Screenshot di rEFInd con la scelta tra Arch, Windows e Mac

Cos’è GRUB

Dopo aver visto cos’è rEFInd non poteva mancare il popolarissimo GNU GRUB che, se probabilmente siete qui, avete sempre trovato installato sul vostro computer con sistemi operativi Linux o Windows.

È anche questo un boot manager (qui la definizione di boot loader) che serve quindi per selezionare il kernel da caricare all’avvio del vostro PC.

Screenshot di GRUB con Ubuntu installato

La documentazione potete trovarla nel sito web ufficiale:

http://www.gnu.org/software/grub/

Viene installato automaticamente su quasi tutti i sistemi Linux ed è di facile configurazione perché identifica in automatico i kernel installati e ne crea un file di configurazione.

Cos’è rEFInd

rEFInd (sì con la sigla EFI maiuscola) è un boot manager che cerca e riesce a risolvere diversi problemi che i boot manager di default di Apple o Microsoft hanno da tempo.

Essendo un progetto open source potete accedere al codice sorgente e personalizzarlo come meglio preferite.

Detto in parole semplici è un menu che vi compare all’avvio del computer e vi permette di selezionare il sistema operativo che volete utilizzare.

Il sito web ufficiale con tutta la documentazione è questo:

http://www.rodsbooks.com/refind/

Screenshot del template base di rEFInd

Personalmente lo utilizzo per risolvere il problema che si presenta con una scheda video esterna che non riesce a rimaner disabilitata durante il boot (qui l’articolo per risolvere l’errore 12). Cosa che si riesce a fare facilmente con rEFInd con l’utilizzo di una semplice pendrive e due file che disabilitano la scheda interna durante la fase di caricamento del sistema operativo.

Qual è la differenza tra UEFI e BIOS

Il BIOS è il primo programma che viene eseguito da un computer quando viene alimentato e inizializza tutte le periferiche di input e output (deriva da questo il nome BIOS: Basic Input/Output System) facendo dei test e caricando il boot loader.

UEFI invece, sigla per Unified Extensible Firmware Interface, diciamo che “è la versione dopo” che arriva per sostituisce il BIOS e in più supporta anche la diagnostica e la riparazione remota. Viene oramai utilizzato in quasi tutti i sistemi Linux, Mac e Windows.

Anche qui potete approfondire sul termine EFI o UEFI sul sito di Intel:

https://www.intel.com/content/www/us/en/architecture-and-technology/unified-extensible-firmware-interface/efi-homepage-general-technology.html

Cos’è un boot loader

Il bootloader è un programma che viene eseguito subito dopo aver dato corrente a un computer (o qualunque dispositivo che deve caricare un sistema operativo) e ha il compito di caricare il kernel dalla memoria secondaria (SSD o hard disk che sia) alla primaria (RAM).

Per una lettura più approfondita vi consiglio la pagina di Wikipedia in inglese che tratta molto approfonditamente la questione: https://en.wikipedia.org/wiki/Booting#First-stage_boot_loader

Cos’è un’interfaccia

In informatica, con il termine interfaccia, si può far riferimento a diverse cose (ehm Wikipedia o Treccani possono essere delle utili letture) ma nella maggior parte dei casi che tratterò negli articoli o tutorial, farò principalmente riferimento a un’interfaccia di rete utilizzando il solo termine di interfaccia, omettendo appunto di rete.

Ho dato una definizione poco più dettagliata in questo articolo.

Cos’è un software open source

Con il termine open source di solito ci si riferisce a del software il quale codice sorgente è leggibile e usabile pubblicamente. Viene spesso utilizzato anche per software che magari non sono utilizzabili senza aver compreso bene la licenza per cui vengono rilasciati, però comunque nel termine comune si intendono dei programmi che hanno tutto o quasi il codice sorgente libero.

Spesso, tramite l’utilizzo di software open source, è possibile realizzare dei progetti che senza una community attiva, non si potrebbero neanche realizzare. Due esempi, che tratto spesso su questo sito, sono Domoticz e IINA.

La differenza con software che vengono già distribuiti compilati è davvero sostanziale. Se si considera la possibilità di capire e risolvere problemi, piuttosto che personalizzare il codice, è abissale la differenza.

Mi capita di dover ricompilare Domoticz perché c’è qualcosa che non funziona come dovrebbe e questo mi è possibile solo e unicamente perché ho accesso al codice sorgente. Cosa che non posso assolutamente fare sui software di Phillips o Xiaomi. Se c’è un bug me lo tengo e aspetto nella speranza che il prossimo update lo risolva.

Nei prossimi giorni vedremo anche qualche progetto che punta a emulare le vecchie console: cosa assolutamente non realizzabile da singoli programmatori o aziende che puntano al fatturato. Bensì, con community attive di programmatori è possibile realizzare dei progetti importanti come Yuzu o Citra! Ma tutto questo… sarà disponibile nella prossima puntata!

Cos’è un broker MQTT

Un broker MQTT è un applicativo che permette di far comunicare, tramite appunto il protocollo MQTT, i client (che si dividono in publisher e subsciber).

Gestisce il flusso dei dati e permette ai client di iscriversi o pubblicare messaggi.

Un broker MQTT famoso e leggero che è compatibile con tutti i sistemi Unix, Raspberry Pi compreso (vi permetterà ad esempio di usare Homebridge con aggiornamenti istantanei), è Mosquitto.

È stato realizzato dai creatori di Eclipse e potete installarlo facilmente con:

sudo apt install mosquitto

La documentazione intera potete trovarla sul sito ufficiale:

https://mosquitto.org/man/mosquitto-8.html

Cos’è una network interface

Come al solito in informatica si utilizzano nomi inglesi per definire le cose, però vabbè questo è un altro discorso. Detto in modo semplice una network interface è una scheda di rete che risulta disponibile se c’è dell’hardware appropriato.

Nei sistemi attuali, senza andare troppo nel dettaglio, le network interfaces sono principalmente quelle ethernet, quelle Wi-Fi e quelle Bluetooth.

Nella documentazione di Ubuntu potete vedere qualche esempio, come configurare le schede di rete, come attivarle, disattivarle ecc.

http://manpages.ubuntu.com/manpages/trusty/man5/interfaces.5.html

Cosa sono le API

E no, non intendo gli insetti ma bensì le interfacce di programmazione di un’applicazione: in informatica le API (pronunciato all’inglese come E-PI-AI) sono tutte le chiamate a librerie esterne che servono per interfacciarsi a un determinato applicativo software.

Con un esempio pratico penso che sia tutto molto più chiaro: quando si parla ad esempio di “le API di Google Maps” si intende tutti i metodi che permettono di ottenere mappe, direzioni o coordinate. Oppure con “le API di Amazon” si intendono i metodi che permettono di fare ricerche o ottenere immagini e descrizione dei prodotti.

Se in questo caso Google da accesso, tramite login (vedremo in futuro come, quando e perché) ai loro database, per poter fare delle query (anche questo vedremo cosa significa) e utilizzare le loro webapp. Continua a leggere

Cos’è un protocollo

Detto brevemente, senza andare troppo nello specifico, un protocollo (di rete) è un insieme di regole che si utilizzano per comunicare.

E per comunicare si intende, ovviamente, trasferire informazioni tra due dispositivi (potrebbero anche essere definiti client e server) che possono essere di qualunque tipo.

Un esempio di protocollo può essere SMB (come installare Samba) utilizzato per trasferire file da un Raspberry a un altro dispositivo connesso alla stessa rete locale. Oppure AFP, il protocollo di Apple. O addirittura la tecnologia Zigbee è un protocollo che sta avendo molto successo nell’ultimo periodo.

Documentazione di AFP sul sito di Apple

Con i prossimi articoli andremo ad introdurre altri esempi di protocolli di rete.

Cos’è e a cosa serve Google Authenticator

Dopo aver visto cos’è la verifica in due passaggi, vediamo qual è la scelta migliore in termini di sicurezza (assoluta ovviamente, perché di solito l’unico modo per essere sicuri è non connettersi a internet).

Google Authenticator è un’app che vi permette di gestire tutti i codici a 2 passaggi o 2 fattori (dipende da come volete chiamarlo) dei siti web che utilizzate.

La particolarità di quest’app è quella d’avere tutti i codici offline, quindi non dovete aspettare la conferma via SMS e non rischiate che se vi rubano la SIM o ve la clonano, possano aver accesso al vostro account.

Google Authenticator su App Store

Potete scaricare la versione per Android oppure quella per iOS.

Il funzionamento è semplice, scansionate il codice QR che vi viene fornito dal sito web durante la configurazione della verifica in due passaggi e siete pronti per avere un codice temporaneo da utilizzare dopo il login (o durante delle operazioni importanti sul vostro account).

Cos’è la verifica in due passaggi

Brevemente e in parole comprensibili a tutti: è quel metodo di login che oltre la password, viene richiesto anche un codice aggiuntivo temporaneo.

Moltissimi siti web oramai l’hanno attivato e serve per aumentare la sicurezza.

Su questo sito https://twofactorauth.org potete vedere quali siti web hanno disponibile questa tecnologia, tra i più famosi Apple e Google.

Schermata d’esempio di twofactorauth.org

Che aspettate? Correte ad attivarla!

Cos’è la tecnologia Zigbee

È uno standard di comunicazione wireless a basso consumo, usata nell’ultimo periodo tecnologico per sensori e oggetti di domotica dato il suo basso costo.

Viene, ad esempio, implementata in tutte le lampadine della Phillips Hue (per questo richiedono un gateway per funzionare, hanno proprio bisogno di un’antenna nuova) e nei sensori di Xiaomi.

Sito web della Zigbee Alliance (link zigbee.org)

Come detto, se volete utilizzare dei sensori che utilizzano questa tecnologia, avrete quindi bisogno di un router aggiuntivo (detto a volte gateway) che sia in grado di fare da ponte tra i vostri sensori e la rete di casa (che sia cablata con il cavo ethernet o Wi-Fi).

Cos’è shasum

Partiamo con il presupposto che è complicato anche spiegarlo senza una conoscenza base di criptografia, detto semplicemente: è un software per calcolare l’integrità di un documento informatico con dei calcoli matematici complessi.

Potete leggervi la documentazione a questi link:

https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/shasum.1.html
https://linux.die.net/man/1/shasum
https://www.npmjs.com/package/shasum

Help di shasum su macOS

Com’è fatta una chiave privata di Electroneum

Dopo aver visto cos’è Electroneum, vediamo com’è fatta una chiave privata di un wallet.

A differenza delle altre, tipo quella di Verge o quella di Ethereum, è composta da due stringhe: una per spendere la moneta e l’altra per accedere al wallet.

Se volete anche voi provare a generare un wallet, fatelo da qua:

https://my.electroneum.com/offline_paper_electroneum_walletV1.6.html

Come generare un paper wallet per Electroneum

Ovviamente come al solito fate massima attenzione a come conservate queste stringhe.

Cos’è Electroneum

Electroneum è la cosiddetta “criptovaluta mobile oriented”, ha diversi progetti quali il minare da smartphone (cosa secondo me impossibile da raggiungere) e la mass adoption.

Il team è inglese e hanno un whitepaper fatto bene, e tutto ben pianificato per i mesi/anni a venire.

Guardatevi il loro progetto dal sito web ufficiale https://electroneum.com potrete anche iscrivervi.

A differenza di tanti altri progetti, hanno anche le varie app per i due Store principali.

Cos’è Verge

Detto semplicemente è l’ennesima criptovaluta volta a difendere la privacy dei suoi utilizzatori. Il simbolo è XVG.

Dal loro sito web:

Verge Currency is a cryptocurrency designed for everyday use. It improves upon the original Bitcoin blockchain and aims to fulfill its initial purpose of providing individuals and businesses with a fast, efficient and decentralized way of making direct transactions while maintaining personal privacy.

Se volete avere ulteriori info, andate sul loro sito web https://vergecurrency.com/

Su CoinMarketCap è la 29esima cripto per capitalizzazione: https://coinmarketcap.com/currencies/verge/

Cos’è un jammer

Con il termine jammer si intende un disturbatore di frequenza, cioè un dispositivo che vi vieta di accedere a una determinata connessione: in genere si intende disturbatori GSM (quindi delle chiamate), Wi-Fi o GPS.

Ovviamente non penso siano legali se non in ambiti lavorativi in cui non è consentito l’uso del telefono e online possono costare diverse centinaia di euro.

A scopo educativo vedremo come crearne uno Wi-Fi con un semplice ESP8266 da 3 dollari.

Cos’è un deauther

Il deauther è una tipologia di attacco (o difesa, dipende dai punti di vista) che toglie l’autenticazione e connessione a qualcuno connesso.

Ad esempio un deauther Wi-Fi è un dispositivo che disconnette altri dispositivi da quella connessione, diciamo un jammer per l’accesso a una determinata frequenza e toglie la possibilità a tutti di potersi connettere.

Ovviamente non dovrebbero essere usati se non per scopi educativi.