InformaticaLab
Latest Posts
Una dichiarazione di indipendenza del cyberspazio
Nel 1996, John Perry Barlow, co-fondatore della Electronic Frontier Foundation (EFF), pubblicò un testo visionario intitolato A Declaration of the Independence of Cyberspace. Questo manifesto nasceva in un momento cruciale per la rete: Internet stava rapidamente trasformandosi da un progetto accadem
Chesterton's Fence
G.K. Chesterton è stato uno scrittore e giornalista britannico. Ha scritto moltissimi saggi e libri, ed uno in particolare nel 1929 chiamato “The Thing” (successivamente tradotto in italiano con il titolo “La mia fede”) introduce il concetto che verrà poi conosciuto come Chesterston’s Fence: There e
Come creare file in sola lettura che neanche l’utente root può modificare
In passato avevamo visto in un articolo Come creare una cartella protetta in linux . Anche modificando i permessi di accesso ad una cartella però, questi si applicano solamente agli utenti normali del sistema. Se un malware ad esempio volessi criptare i nostri file per poi farci pagare un riscatto,
Come evitare di usare null con esempi in Java
Durante una sua presentazione nel 2009, il famoso computer scientist Tony Hoare ha raccontato come abbia inventato la referenza a null nel 1965 nel linguaggio ALGOL. In questa stessa presentazione, Hoare ha chiamato questa invenzione un “billion-dollar mistake”. I call it my billion-dollar mistake.
Legge di Amdhal e legge di Gustafson per analizzare lo speedup di workload paralleli
In un mondo ideale, se il tempo di esecuzione di un programma su un singolo processore è $latex t_s$, vorremmo che il tempo per eseguire lo stesso programma su $latex n$ processori fosse $latex t_s/n$. Ma questo non è mai il caso! In questo articolo vediamo le leggi di Amdhal e di Gustafson, che pon
Che cos'è io_uring e a cosa serve
io_uring è una nuova interfaccia introdotta nel kernel Linux 5.1 nel 2019. Questa interfaccia permette di chiamare systems calls che possono essere eseguite in maniera asincrona. Inizialmente è stato introdotto supportando le system call più più semplici come read e write, ma la quantità di syscalls
[Bash] Come scrivere in un file
Vediamo 3 modi con cui è possibile scrivere in un file da uno script bash. Possiamo usare la redirezione dello standard output, possiamo usare il programma cat per molte linee oppure il programma tee. Scrivere in un file usando gli operatori di redirezionamento In bash è possibile reindirizzare l’ou
Ecco perchè non bisognerebbe usare mai java.net.URL e usare invece java.net.URI
La classe java.net.URL veniva aggiunta nella libreria standard di Java nel 1995, e già allora era presente un grave problema con l’implementazione del suo metodo equals . Il problema è evidente dall’immagine che segue: Usando la classe URL, due url differenti risultano uguali secondo equals. Infatti
Introduzione alle metodologie di testing: unit testing, integration testing, e2e testing e property testing
Nel libro ‘ Working Effectively with Legacy Code ‘, Michael Feathers definisce il codice legacy come “codice senza test”. Questo perché è praticamente impossibile sapere se, modificando parte di un programma senza una adeguata copertura di test ( test coverage ), abbiamo di fatto introdotto dei bug
Crash del Sistema: i principi di Fail Closed, Fail Open, Fail Safe e Failover
Nel momento del design di un sistema, è sempre importante cercare di prevedere i possibili stati di errore. Durante il suo utilizzo però, a volte ci si trova di fronte a un caso di errore imprevisto. A quel punto, in genere un sistema può decidere di terminare la sua esecuzione in 4 modi diversi: Fa





