Perché il tuo computer non sa fare i calcoli

0.1 + 0.2 != 0.3 Il titolo di questo articolo potrebbe sembrarti strano, 0.1 + 0.2 è un calcolo semplice, che anche un bambino saprebbe fare, figuriamoci un computer! Tuttavia ti invito a fare questa prova: premi il tasto F12, apri la console e digita 0.1 + 0.2 il risultato di questa operazione sarà 0.30000000000000004. Sicuramente un aneddoto divertente, ma perchè si verifica questo fenomeno? Iniziamo col dire che i computer per loro natura sanno solo immagazzinare numeri interi come 1, 69 o 420 quindi per rappresentare i numeri decimali si usa la tecnica del floating point che non è sempre perfettamente accurata. ...

April 28, 2022 · 2 min

Prisma, la soluzione definitiva per i database

I database si distinguono in due grandi categorie: relazionali e non relazionali. I primi si distinguono per la loro capacità di mantenere ordinati ed integri i dati, a discapito della flessibilità. I secondi ci permettono di interagire col database senza nessun DBMS che ci “sgridi” quando facciamo qualche cappellata. Quindi, se vogliamo dei database affidabili dobbiamo rinunciare alla flessibilità? Con prisma no. Prisma è un tool per JavaScript e Go che ci permette di creare ed interagire con i nostri database con facilità, guidandoci dalla creazione dello schema, alla popolazione, al recupero dei dati. ...

January 2, 2022 · 2 min

Uptime Kuma, il monitoring fatto semplice

Se sei uno smanettone spesso ti sarà capitato di voler monitorare una serie di servizi web in modo veloce. Questo concetto si applica anche sei sei un sysadmin o hai la necessità di tenere traccia dell’uptime dei tuoi o altri servizi. Esistono una serie di soluzioni per risolvere questo problema, ma nessuna è semplice e veloce come Uptime Kuma! Uptime Kuma è un monitoring tool che può essere self-hostato, open source, moderno ed incredibilmente semplice da configurare. Lo puoi hostare su qualsiasi s.o. che sopporti docker, l’installazione si completa in due comandi. Alternativamente è possibile anche l’installazione tramite node. Al primo avvio Uptime Kuma ci farà creare un account e tramite una accessibile GUI ci permetterà di impostare una serie di monitoraggi che possono essere HTTP(s) / TCP / Ping / DNS Record / Push. Uptime Kuma supporta una moltitudine di servizi di notifica (dalle email a telegram) e ci permette anche di creare una magnifica status page per tenere informati i nostri utenti dello stato dei nostri servizi. Io personalmente lo uso per tenere traccia dello stato della mia rete domestica. Se pensi che Uptime Kuma possa esserti utile puoi provarlo sulla demo online oppure scaricarlo dalla repo ufficiale. Alla prossima! ...

November 11, 2021 · 1 min

Bonsai, il browser senza distrazioni

Bonsai è un browser web gratuito (ma non open source) che un obbiettivo: essere il browser perfetto per le ricerche. Ma che caratteristiche deve avere un prodotto del genere? Deve essere veloce, con scorciatoie da tastiera per compiere operazioni ed essere richiamato al volo Deve avere un’interfaccia semplice Deve permettermi di organizzare le schede Tutte queste caratteristiche sono presenti in Bonsai. Bonsai si apre con una semplice scorciatoia da tastiera (alt + spazio) e ci presenta subito un’interfaccia semplice e pulita. Basta iniziare a digitare per effettuare una ricerca su google aprendo una nuova scheda, da qui possiamo navigare tranquillamente su internet ed inserirla in un workspace. Sulla schermata principale troviamo tutte le schede organizzare per sito, possiamo avere più schede di uno stesso sito (ad esempio google) organizzate una sopra l’altra. Le schede possono essere inserite nei workspace che non sono altro che una specie di diagrammi che ci permettono di organizzare le schede per varie aree tematiche. Dal pulsante in basso a destra possiamo personalizzare opzioni e scorciatoie da tastiera. Bonsai è disponibile per mac, windows e linux, si vede che è un prodotto ancora in fase di sviluppo, ma lo considero valido e promettente. Qua trovi il sito web con tutti i download. ...

October 18, 2021 · 1 min

Syncthing

La soluzione definitiva per sincronizzare i tuoi file Syncthing è un software open source che ti permette di creare delle cartelle sincronizzate tra più dispositivi. E’ scritto in go ed è ovviamente open source. Presenta una serie di punti di forza, tra cui: Sincronizzazione peer-to-peer: questo vuol dire che non hai bisogno di nessun server centrale, bastano 2 o più dispositivi dove sincronizzare la tua cartella. Questo vuol dire che i file sono solo sui tuoi dispositivi Criptografia: come descritto sul loro sito tutti i file sono criptografati prima di essere mandati su internet per la sincronizzazione. Semplice da usare: Syncthing ha una GUI web che permette di configurare il tutto semplicemente. Può essere installato in vari modi, esistono sia applicazioni per windows e macOS, sia app per android (quella per ios è in fase di sviluppo) sia gli eseguibili per tutti i sistemi operativi. ...

October 16, 2021 · 1 min

MacOS for dummies

Ovvero, come rendere MacOS usabile Ciao, in questo breve articolo voglio consigliarti alcune della app che trovo essenziali sul mio MackBook pro 13 pollici con processore M1 del 2020. Premetto che molte delle app che elencherò sono open source perchè come tutti sappiamo, libero è meglio! Un po’ di ordine! La prima app che ti voglio consigliare è Rectangle, un widows manager che ci permette di gestire le nostre mille finestre sia tramite le comode scorciatoie da tastiera sia con le così dette snap areas che non fanno altro che “copiare” il comportamento delle finestre di windows. Il problema è molto semplice: MacOS non permette di lavorare con due o più app affiancate, o meglio non comodamente; invece con rectangle possiamo agilmente affiancare tutte le nostre applicazioni! L’app offre un alto livello di personalizzazione: possiamo modificare le scorciatoie da testiera ed una serie di comportamenti. ...

October 15, 2021 · 3 min

Come ho creato il mio portfolio

L’idea Ho preso inspirazione dal sito del podcast pressappoco di Riccardo Palombo, tuttavia il sito è stato sviluppato con tecnologie diverse, e sopratutto con un utilizzo intelligente ed innovativo di github Lo stile Il sito su desktop è strutturato come una pergamena, dove in successione dall’ultimo al primo troverai tutti i miei articoli. Sulla sinistra è presente una sezione fissa con le mie info ed una breve presentazione. Su mobile invece il design è orientato verso una esperienza più user-friendly possibile per non sacrificare l’usabilità. ...

October 14, 2021 · 2 min