15 novembre 2012

Intervista ad Matteo Riso, autore di ZipGenius


Dopo un periodo di assenza ritornano le interviste ai programmatori italiani di Marco's Box. Questa volta ho il piacere di intervistare Matteo Riso, programmatore, avvocato e mio amico di cerchie su Google+. Matteo è l'autore di ZipGenius, il famoso programma di compressione per Windows (e prossimamente anche per Linux).

Prima di lasciarvi all'intervista colgo l'occasione per ringraziare pubblicamente Matteo per aver accettato l'intervista.

1) Come prima cosa che ne diresti di presentarti ai lettori di Marco's Box parlando un pò di te, dove sei nato, cosa fai nella vita etc
Mi chiamo Matteo Riso, nato in provincia di Reggio Calabria 37 anni e nella vita sono... un avvocato del foro di Reggio Calabria :) - infatti mi occupo di diritto dell’informatica e delle nuove tecnologie (oltre che di diritto civile tout court). La mia formazione è stata piuttosto strana: prima al Liceo Scientifico “Leonardo da Vinci” di Reggio Calabria, poi l’iscrizione alla facoltà di Giurisprudenza quando ancora l’insegnamento dell’informatica giuridica era pura utopia.

2) A che età il primo computer?
Ufficialmente a nove anni: era il modulo computer per la console Intellivision - lo so, molti lettori nemmeno esistevano all’epoca.
Dopo mi sono evoluto: quando tutti acquistavano il Commodore 64, io optai per il più avanzato Commodore 16 che, sebbene con 16 K di memoria contro 64, aveva un sistema operativo migliore, incorporava BASIC e Assembler e, soprattutto, era il primo a gestire meglio la grafica - su C64 per disegnare un cerchio bisognava scrivere una sfilza di istruzioni PEEK e POKE per modificare gli indirizzi di memoria, mentre sul C16 si usava l’istruzione CIRCLE(X, Y, Raggio [, Raggio2]).
Quindi è venuto il Commodore Amiga 500 Plus e poi il primo PC con Windows.

3) Quando è nata la tua passione per la programmazione?
Contemporaneamente all’acquisto di quell’espansione per l’Intellivision. Utilizzava una forma striminzita del linguaggio BASIC che, nonostante tutto, consentiva di accedere alla risorse grafiche delle cartucce con i giochi, così realizzai un gioco (una specie di shoot’em up a scorrimento orizzontale) sfruttando gli sprites del gioco “Night stalker”. All’epoca si usavano i registratori a cassette per salvare il proprio lavoro e dovrei avere ancora la cassetta con il gioco da qualche parte in cantina...

4) Ma parliamo ora della tua creatura, ZipGenius. Come è nata l’idea di realizzarlo? Con che licenza è distribuito?
ZipGenius è nato qualche mese dopo aver acquistato il primo PC Windows. Il negoziante mi aveva preinstallato WinZip craccato. Un giorno quel computer si impallò e dovetti formattare tutto per reinstallare Windows 95 (per la prima volta nella mia vita). Non avevo più WinZip e lo scaricai sfruttando quella lentissima connessione ad Internet con modem analogico. Fu allora che scoprii che o lo si comprava o lo si craccava. Dopo qualche mese, appunto, decisi di riprendere a programmare su quel nuovo computer e utilizzai una versione gratuita di Delphi 2 allegata ad una rivista. La prima versione era una cosa informe e aveva solo le funzioni di base di decompressione. Subito dopo realizzai una versione un po’ più in stile simil-WinZip e aggiunsi le funzioni di compressione. La feci girare un po’ fra amici e parenti, piacque e qualcuno mi esortò a migliorare l’applicazione. La prima vera versione usabile era la 1.4 del 1998 e fu anche la prima ad essere messa in rete. Dopo quella versione l’applicazione venne scritta da zero, anche a causa di un crash del disco che mi fece perdere il sorgente originale, e da allora ZipGenius iniziò ad assumere una propria identità (vi fu anche il salto di versione da 1.4 a 5).
La licenza usata è da sempre una licenza freeware proprietaria. Avrei voluto renderlo open source ma alcuni componenti sono closed source e altri sono persino a pagamento.

5) Spulciando la pagina Google+ di ZipGenius ho visto alcuni screenshot di ZipGenius sotto Wine su Fedora. A quando una versione nativa per Linux?
Sotto Wine funziona una meraviglia e offre il 90% delle caratteristiche disponibili in Windows, anche se (ovviamente) le prestazioni sono quel che sono. La versione nativa per Linux è in lavorazione: sto usando l’accoppiata FreePascal+Lazarus per scriverla ma non sono poche le difficoltà incontrate fino ad oggi.

6) Visto che abbiamo parlato di Linux che ne dici di parlarci del tuo rapporto con il pinguino? Quando la scoperta del mondo GNU/Linux? Che distro usi attualmente?
Ho scoperto Linux tanto tempo fa ma tutti i precedenti tentativi di utilizzo si sono rivelati fallimentari fino a quest’anno. Dopo tantissimo tempo, grazie soprattutto ad Android (che è sempre Linux), ho deciso di dare una nuova occhiata a questo ambiente e ho scoperto i passi da gigante fatti da quando non me ne ero più occupato.
Oggi uso Fedora 17 stabilmente nel mio netbook per il lavoro, nel vecchio notebook a 64bit per scrivere ZipGenius per Linux e qualche settimana fa l’ho installata anche sul PC desktop. Il prossimo passo sarà creare una Virtual Machine della partizione con Windows 7 esistente, così da poter continuare a programmare con Delphi su Windows pur usando Linux per il 90% delle altre operazioni - Windows su Linux mi serve anche per far girare alcuni applicativi professionali che non vanno sotto Wine e richiedono solo ed esclusivamente Windows.

7) Qual’è il tuo DE preferito e perché
Sul PC desktop adoro Cinnamon: versatile, reattivo, bello da vedere.
Sui due portatili invece la scelta è caduta su XFCE per la sua impareggiabile leggerezza.

8) Oltre a ZipGenius hai altri progetti in mente per il futuro?
Oltre ZipGenius per Android, nessun altro progetto concreto. Solo idee che attualmente non posso mettere in atto perché faccio tutto da solo e ci vorrebbe un clone del sottoscritto. Oppure devo formare un team di volontari.

9) Veniamo ora al tuo orientamento “religioso”: sei pro Stallman o Torvalds?
Trovo Stallman troppo estremista in certe sue uscite ma ciò non significa che sia pro Torvalds. Ho la mia visione ;)

10) Ultima domanda non domanda. Hai dei ringraziamenti da fare?
Ringrazio innanzi tutto i miei genitori per avermi regalato le prime diavolerie elettroniche ai tempi in cui i negozianti stessi non sapevano cos’era che vendevano.
Ringrazio la mia fidanzata perché mi sopporta nelle mie elucubrazioni giuridico-tecnologiche (provate a chiederle se si diverte ai miei convegni).
Ringrazio tutti quelli che scaricano ZipGenius, lo usano e incontrano dei problemi nell’uso che poi segnalano: sono loro che lo rendono migliore di versione in versione. Quindi ringrazio anche chi lo critica costruttivamente. Non ringrazio chi chiede assistenza tecnica ponendo la domanda “come si usa?”.
Ringrazio le mie cerchie su Google+ ma non ringrazio i miei “amici” in Facebook: troppi memes idioti.
Ringrazio te per l’intervista :)

Ah! Ringrazio anche tutti quei miei insegnanti che dicevano a mia madre che stavo troppo in silenzio e che doveva farmi vedere da uno psicologo perché “introverso”.
E’ chiaro che avevano preso un abbaglio: parlo e scrivo troppo. Sono anche sicuro che questa frase non la leggerà nessuno perché nel frattempo avranno chiuso la pagina pur di non leggere altro da me :D

6 commenti:

  1. Io l'ultima frase l'ho letta e non solo, sono un utilizzatore di ZipGenius fin dalle prime versioni :D

    Ne approfitto anche per farti i complimenti Matteo ^__^

    RispondiElimina
  2. @Olsen
    Grazie per la fedeltà (fino all'ultima riga :) )

    RispondiElimina
  3. Ringrazio Marco per l'interessante intervista, e Matteo per il suo lavoro, anch'io utilizzavo ZipGenius su Win dai tempi della 5 e l'ho sempre installato di default su tutti i (tanti) pc Windows che installo. Sarà bello ritrovarlo su Android e, perché no, anche su Debian!
    Ciao
    Fabio

    RispondiElimina
  4. @Anonimo

    Grazie a te per aver lasciato un commento :)
    Rigiro i complimenti a Matteo :)

    RispondiElimina
  5. Grande Marco ...bello ritrovare Matteo in questo angolo di Linux. Non me lo sarei mai aspettato, gran bella sorpresa.Grazie Veramente!!!
    ZipGenius è stato sotto Windows (quando lo usavo ) un programma di default, lo installavo sui PC di amici e parenti di cui mi dovevo occupare, quando non funzionava il S.O. Quanti backup fatti!
    Un in bocca al lupo a Matteo nel suo passaggio al mondo Open...

    RispondiElimina
  6. Grazie a tutti :)
    Il porting di ZipGenius a Linux non è dei più semplici: purtroppo attualmente non è possibile ricreare lo stesso livello di qualità (soprattutto estetica) che il programma ha in Windows. Questo dipende molto dal fatto che su Linux non esistono interfacce di programmazione universali, pertanto non è facile ottenere l'icona associata ad un tipo di file, per esempio, poiché questo dipende molto dal DE utilizzato: ogni DE utilizza un proprio meccanismo per associare un'icona ad un MIME type (nemmeno ad un'estensione di file). Se volessimo usare le icone di default nel sistema, ciò significherebbe scrivere una routine apposta per ciascun DE esistente. Un lavoro immane, come potete capire. Sto discutendo con il mio principale collaboratore sulla soluzione migliore da adottare e attualmente riteniamo che si debba creare una routine personalizzata che vada a pescare le icone per i file da un set "nostro" - ossia distribuito con ZipGenius per Linux - così evitiamo di doverci attorcigliare sulle paturnie dei vari DE.
    E' questo l'aspetto peggiore di Linux, IMHO. La mancanza di un minimo di standardizzazione che, se non ricordo male, venne criticata da Torvalds (o era qualcun altro?) per il fatto che messaggi simili lanciati da diverse applicazioni hanno layout e icone diverse, ingenerando una maestosa confusione nell'utente principiante.

    RispondiElimina

Licenza
Licenza Creative Commons

Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported. Questo blog non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001

Disclaimer immagini

Le immagini utilizzate in questo blog appartengono ai loro rispettivi autori e sono utilizzati per scopi educativi, personali e senza scopo di lucro. Ogni eventuale violazione del copyright non è intenzionale, ma se si riconosce un'immagine protetta da copyright, fatemelo sapere qui, e sarò lieto di aggiungere i credits o modificarla o rimuoverla.

Disclaimer images

Images used on this blog belong to their respective authors and are used for educational, personal and no profit purposes. Any eventual copyright infringement is not intentional, but if you recognize a copyrighted image, please let me know here, and I'll happily provide to add the right credits or modify or remove it.