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