Categoria: Blog

Blog personale di Betelcode

  • F-Droid

    F-Droid

    F-Droid è un catalogo di applicazioni libere e open source per il sistema operativo Android. Il progetto nasce con l’obiettivo di fornire un’alternativa etica e trasparente ai tradizionali store di applicazioni, promuovendo software che può essere liberamente utilizzato, studiato, modificato e redistribuito.

    Come funziona

    F-Droid è composto da due componenti principali: un client e un’infrastruttura server.
    Il client F-Droid è un’applicazione installabile sui dispositivi Android che consente agli utenti di cercare, installare e aggiornare le applicazioni presenti nel catalogo. Il software è distribuito sotto licenza GNU General Public License versione 3 o successiva.

    Il lato server, invece, si occupa della compilazione, verifica e distribuzione delle applicazioni. Questo sistema automatizzato costruisce le app a partire dal codice sorgente, garantendo che i file distribuiti corrispondano effettivamente al codice pubblico. Il software server è rilasciato sotto GNU Affero General Public License.

    Filosofia di fondo

    Uno degli aspetti distintivi di F-Droid è il forte impegno verso il software libero.
    Le applicazioni presenti nel catalogo devono rispettare criteri rigorosi:

    • il codice sorgente deve essere disponibile pubblicamente;
    • la licenza deve essere libera e conforme alle linee guida del progetto;
    • non devono includere componenti proprietari non verificabili.

    Le applicazioni che contengono elementi potenzialmente problematici (come tracciamento, pubblicità o dipendenze non libere) vengono segnalate con apposite etichette, permettendo agli utenti di fare scelte informate.

    Sicurezza

    F-Droid adotta un modello di distribuzione basato sulla trasparenza. Le applicazioni vengono generalmente compilate dai server del progetto, anziché essere caricate direttamente dagli sviluppatori, riducendo il rischio di codice malevolo. Inoltre, il processo di build è documentato e riproducibile, favorendo la verifica indipendente.

    Gli aggiornamenti delle app sono firmati crittograficamente e distribuiti tramite repository verificati, garantendo l’integrità dei pacchetti installati.

    Oltre al repository ufficiale, F-Droid supporta repository alternativi. Ciò consente a sviluppatori o organizzazioni di distribuire le proprie app tramite canali indipendenti, mantenendo comunque la compatibilità con il client F-Droid.

    Gli utenti possono aggiungere, rimuovere o gestire manualmente questi repository, aumentando il livello di controllo rispetto agli store centralizzati.

    NewPipe: streaming libero

    Un esempio di applicazione che si può trovare su F-Droid è NewPipe. Si tratta di un’applicazione libera e open source per Android che permette di visualizzare e scaricare contenuti da piattaforme di streaming, in particolare YouTube, senza utilizzare le API ufficiali di Google.

    NewPipe si distingue per alcune funzionalità molto apprezzate:

    • Nessun account necessario: non richiede l’accesso a un account Google;
    • Maggiore privacy: non traccia l’utente e non utilizza servizi proprietari di Google;
    • Riproduzione in background: permette di ascoltare audio o video mentre si usano altre app;
    • Download dei contenuti: consente di scaricare video e audio in vari formati;
    • Modalità popup (picture-in-picture): per guardare video in una finestra ridotta.

    A differenza dell’app ufficiale di YouTube, NewPipe non utilizza le API ufficiali ma estrae direttamente i dati pubblici dal sito web. Questo approccio lo rende più leggero e indipendente, ma può causare interruzioni temporanee quando la piattaforma cambia il proprio funzionamento interno.

    Distribuzione

    NewPipe non è disponibile sul Google Play Store, ma può essere scaricato tramite store alternativi come F-Droid o dal repository ufficiale del progetto.

    Vantaggi e limiti

    Vantaggi:

    • maggiore controllo sulla privacy;
    • assenza di pubblicità invasive;
    • consumo ridotto di risorse.

    Limiti:

    • mancano alcune funzionalità ufficiali (commenti, login completo, notifiche);
    • possibili malfunzionamenti dovuti a cambiamenti di YouTube;
    • non supportato ufficialmente da Google.

    Considerazioni personali

    F-Droid è un ottimo strumento per curiosare e sperimentare nuove app libere.

    Tra le varie app, una di quelle interessanti è NewPipe, che permette di vedere video in streaming di Youtube in modo più leggero e rispettoso della privacy.

  • Collegamento a Windows

    Collegamento a Windows

    Il 24 luglio Microsoft ha annunciato come è possibile utilizzare il proprio telefono Android per interagire con il PC Windows 11. “Abbiamo ripensato l’app Collegamento a Windows come un hub per l’esperienza PC connessa, un luogo centrale in cui è possibile accedere, condividere e controllare i contenuti tra il telefono Android e il PC Windows”, ha affermato Microsoft in un post sul blog, come riportato da Forbes.

    La cosa è interessante, poiché permetterà una migliore integrazione tra i sistemi operativi desktop e mobile più diffusi al mondo (rispettivamente Windows e Android).

    Per esempio, se avete dimenticato il computer acceso a casa, potete bloccarlo via telefono, oppure potete trasmettere lo schermo del vostro smartphone sul PC mentre siete al bar!

  • LibreWolf

    LibreWolf

    Il browser LibreWolf è un fork di Firefox, con l’obiettivo primario della privacy, della sicurezza e della libertà dell’utente.

    LibreWolf è stato progettato per aumentare la protezione contro le tecniche di tracciamento. Questo obiettivo viene raggiunto grazie alle impostazioni e alle patch orientate alla privacy e alla sicurezza. LibreWolf mira anche a rimuovere tutta la telemetria, la raccolta dei dati e i comportamenti fastidiosi, oltre a disabilitare alcune funzioni contro la libertà di diffusione della cultura come il DRM.

    Caratteristiche principali

    • Nessuna telemetria – nessun esperimento, adware, fastidio o distrazione inutile.
    • Ricerca privata – uso di provider di ricerca attenti alla privacy: DuckDuckGo, Searx, Qwant e altri.
    • Content Blocker incluso – uBlock Origin già incluso per la vostra comodità.
    • Privacy migliorata – rafforzato per massimizzare la privacy, senza sacrificare l’usabilità.
    • Aggiornamenti rapidi – LibreWolf viene sempre creato a partire dall’ultimo sorgente stabile di Firefox, per garantire sicurezza, funzionalità aggiornate e stabilità.
    • Open Source – tutti possono partecipare allo sviluppo di LibreWolf. Unitevi a Codeberg e Matrix.

    Smanettate con questo browser, non resterete delusi!

  • Breve storia della programmazione

    Breve storia della programmazione

    La programmazione informatica non è nata con i computer moderni, ma affonda le sue radici nell’Ottocento, tra intuizioni matematiche e visioni rivoluzionarie. In questo articolo ripercorriamo le tappe fondamentali che hanno portato alla nascita dei linguaggi di programmazione, dalle prime macchine meccaniche fino all’intelligenza artificiale di oggi.


    Le Origini (1800 – 1900)

    La prima forma di programmazione nasce ben prima dell’esistenza dei computer. Charles Babbage, matematico e inventore inglese, progettò una “macchina analitica” nel 1830, un dispositivo meccanico in grado di eseguire calcoli automatici.

    La vera pioniera, però, fu Ada Lovelace, che scrisse il primo algoritmo pensato per essere eseguito da una macchina. Per questo, Ada è considerata la prima programmatrice della storia.


    L’Età della Teoria (1930 – 1940)

    Negli anni ’30, il matematico Alan Turing formalizzò il concetto di macchina astratta in grado di eseguire istruzioni: la cosiddetta macchina di Turing, base teorica di tutti i computer moderni.

    Nel 1938, Konrad Zuse costruì lo Z3, considerato il primo computer programmabile della storia.


    I Primi Linguaggi (1950–1960)

    Con l’avvento dei primi computer elettronici, nasce la necessità di linguaggi che semplificano la scrittura dei programmi:

    • Assembly: linguaggio di basso livello, vicino all’hardware.
    • Fortran (1957): pensato per applicazioni scientifiche e ingegneristiche.
    • COBOL (1959): orientato al mondo aziendale.
    • LISP (1958): sviluppato per l’intelligenza artificiale, tuttora usato in ambiti accademici.

    L’Età dell’Espansione (1970 – 1980)

    In questo periodo emergono linguaggi più avanzati e i primi concetti di programmazione strutturata e orientata agli oggetti:

    • C (1972): sviluppato da Dennis Ritchie, diventa il linguaggio base di Unix e di gran parte del software moderno.
    • Pascal e BASIC: molto usati in ambito educativo.
    • Smalltalk: introduce la programmazione orientata agli oggetti.

    L’Avvento del Web (1990 – 2000)

    L’era di Internet trasforma radicalmente la programmazione:

    • Java (1995): progettato per essere portabile, diventa lo standard per applicazioni web.
    • JavaScript (1995): fondamentale per lo sviluppo frontend dei siti web.
    • PHP, Python e altri linguaggi dinamici si diffondono per la creazione di siti e script backend.

    Era Mobile e Cloud (2000 – 2020)

    Con l’arrivo degli smartphone e del cloud, la programmazione si adatta a nuovi ambienti:

    • Swift e Kotlin dominano il mondo mobile.
    • Frameworks come React, Angular, Django rivoluzionano lo sviluppo web.
    • La programmazione open-source e i servizi cloud (AWS, Azure) cambiano il modo di scrivere e distribuire software.

    Nuove frontiere (2020 – Oggi)

    Negli ultimi anni assistiamo a una rivoluzione nella programmazione:

    • Python è il linguaggio principale per l’intelligenza artificiale, data science e automazione.
    • Nascono strumenti low-code/no-code che permettono di programmare anche senza esperienza tecnica.
    • Linguaggi moderni come Rust, Go, TypeScript offrono efficienza, sicurezza e scalabilità.
    • L’intelligenza artificiale, come ChatGPT o GitHub Copilot, assiste direttamente i programmatori.