Ho sempre trovato Netbeans IDE molto più veloce e reattivo di Eclipse. Per rendere Eclipse più veloce, ho pensato di applicare le impostazioni della JVM con le quali Netbeans viene lanciato e applicarle ad Eclipse. Ho ottenuto dei risultati molto buoni, in generale Eclipse ora è molto più veloce e scattante.

Vediamo ora come configurare Netbeans per implementare la modifica dei parametri della JVM:

  • cercate il file eclipse.ini. La sua locazione dipende dal vostro sistema operativo e da dove avete installato Eclipse. Su Windows, ad esempio, si trova nella stessa cartella di eclipse (hint: C:\eclipse o C:\Programmi\Eclipse); su Linux, date un’occhiata a /opt/eclipse (di solito è la directory più indicata per installarlo).
  • una volta trovato il file eclipse.ini, apritelo con un editor di testo e aggiungete in fondo al file queste impostazioni di configurazione (copia/incolla, il segno – deve essere incluso):

    -Xms512m
    -Xmx512m
    -XX:PermSize=256m
    -XX:MaxPermSize=256m
    -Xverify:none
    -XX:+UseConcMarkSweepGC
    -XX:+CMSClassUnloadingEnabled
    -XX:+CMSPermGenSweepingEnabled

  • salvate e chiudete il file. Fine!

Per i più curiosi, vediamo di spiegare cosa rappresentano le opzioni di configurazione che abbiamo specificato:

  • le prime quattro opzioni permettono di specificare la dimensione massima di memoria che Eclipse può utilizzare
  • la quinta opzione specifica alla JVM di non verificare il bytecode generato
  • per le ultime tre opzioni, vi rimando al Netbeans performance tuning tips; in generale le tre opzioni servono per fare il tuning del Garbage Collector della JVM.

Ci possono essere altre opzioni “utili” che potrebbero incrementare la velocità di Eclipse. È d’obbligo specificare, però, che le performance ottenute potrebbero variare da computer a computer, in relazione a molteplici fattori, quali sistema operativo, versione della JVM, versione di Eclipse, etc. Come si dice in gergo, YMMV.

Comunque, quello che io ho ottenuto è un aumento considerevole della velocità e della reattività di Eclipse, e difficilmente tornerò alle impostazioni di default.

Tags: , , , ,

Comments No Comments »

La gestione dei propri contatti è un’attività molto importante: ho una rubrica di tutti i contatti (selezionati) che mi servono e che tengo costantemente aggiornata, aggiungendo i dettagli mancanti etc.

Alcuni contatti sono anche miei friends su Facebook, il social notworking (no, non ho sbagliato) più famoso; ebbene, molte persone condividono, su Facebook, molti dettagli (quali la foto, il proprio compleanno, la mail, il telefono, etc.). image thumb Fonebook: sincronizzare i contatti di Outlook con i contatti Facebook

L’idea geniale di Fonebook (solo per Windows, per Mac vedi in fondo all’articolo) è quella di sincronizzare i dettagli dei vostri contatti Outlook (presenti nella rubrica) con i dettagli degli stessi contatti che sono su Facebook (e che sono vostri friends). In questo modo Fonebook integra i contatti esistenti aggiungedo, da Facebook:

  • la foto
  • l’about della persona
  • il compleanno della persona nel vostro calendario di Outlook

Il programma permette, inoltre, di fare il matching tra i contatti il cui nome non è coincidente (per quei contatti che su Facebook hanno un nome diverso da quello presente nella rubrica – ad esempio perché aggiungono un soprannome al proprio nome visualizzato su Facebook); infine, il programma può anche aggiungere alla rubrica Outlook i contatti che sono su Facebook ma non nella rubrica di Outlook.

Un programma simile, solo per Windows, è Outsync. È più limitato rispetto a Fonebook: può soltanto copiare la foto da Facebook.

Per gli utenti Mac esiste AddressBookSync.

Tags: , , ,

Comments 4 Comments »

Ed ecco che finalmente, la nuova versione di Ubuntu 9.04 (il cui nome in codice è Jaunty Jackalope) è stata rilasciata. Un po’ come durante l’upgrade da Ubuntu da Hardy (8.04) a Intrepid Ibex (8.10), voglio utilizzare la linea di comando per aggiornare il sistema all’ultima release. Nota importante: per passare a Jaunty dovete obbligatoriamente avere Intrepid; date un lsb_release –a per scoprire che versione di Ubuntu state utilizzando, ad esempio:

  • $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 8.10
    Release:        8.10
    Codename:       intrepid
    OK, questa macchina può essere aggiornata
  • $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 8.04.2
    Release:        8.04
    Codename:       hardy
    KO, questa macchina NON può essere aggiornata. Dovete prima fare l’upgrade da Ubuntu da Hardy (8.04) a Intrepid Ibex (8.10) e poi tornare a seguire questa guida.

Ora che abbiamo passato in rassegna i vari requisiti, passiamo alle istruzioni vere e proprie:

  1. Installare (se non è già installato) update manager con: sudo apt-get install update-manager-core
  2. lanciate il processo di aggiornamento con sudo do-release-upgrade

update-manager vi chiederà se volete effettivamente aggiornare e vi darà anche una stima del tempo previsto:

Calculating the changes

Do you want to start the upgrade?

12 packages are going to be removed. 160 new packages are going to be
installed. 998 packages are going to be upgraded.

You have to download a total of 749M. This download will take about
51 minutes with your connection.

Fetching and installing the upgrade can take several hours. Once the
download has finished, the process cannot be cancelled.

Continue [yN]  Details [d]

Date ‘y’ e l’upgrade comincerà.

Tags: , , , ,

Comments No Comments »

Tecniche di Progettazione Agile con JavaIn questi giorni ho letto un libro di Sandro Pedrazzini intitolato “Tecniche di progettazione agile con Java: design pattern, refactoring, test” (Ed. Tecniche nuove, 2006 – 29.90 €).

Sono sempre stato molto attratto dall’Agile development, dall’eXtreme Programming e dai suoi metodi e soprattutto anche dalla metologia TDD (Test Driven Development); oltre all’immancabile “Thinking in Java”, non ho mai potuto il piacere di leggere dei libri inerenti quest’argomento. Fino a quando non ho preso questo libro.

Infatti, i libri italiani (accademici e non) non affrontano facilmente un argomento così innovativo, interessante e delicato quale la programmazione agile. Questo libro è però una piacevole eccezione: i lettori vengono introdotti passo passo alla progettazione agile, alle tecniche di refactoring e ai design pattern utilizzando numerosi esempi (in Java – sarebbe interessante una versione di questo libro dedicata al Python). Al lettore non viene lasciato alcun dubbio: più di una volta, durante la lettura del libro, mi è venuto un dubbio riguardante il codice scritto. Con mia grande sorpresa, quasi sempre nella pagina successiva c’era un box (o una nota) di chiarimenti.

È davvero un buon libro e scritto nell’ottica di poter servire ai lettori: gli argomenti sono espressi in modo chiaro e semplice, e soprattutto dal punto di vista del lettore, cioè dal punto di vista di chi legge per imparare! (e non come alcuni libri dove chi scrive lo fa per dimostrare quanto è bravo). I capitoli sono compatti (come le classi scritte da un buon programmatore XP?) e si leggono molto facilmente. Gli esempi sono curati e molto chiari.

In definitiva si tratta di un libro che consiglio, da leggere e da tenere nella propria “biblioteca” per ogni futura evenienza.

Tags: , , , , , , ,

Comments No Comments »

Di solito gli utenti Mac non installano un antivirus perché si crede che il sistema operativo OSX sia esente da virus. Infatti, la giustificazione è quella per cui “su OSX non esistono virus [vedi sito Apple], e se esistessero chiedono comunque la password di sudo/root prima di installarsi; basta non fornire la password a programmi sconosciuti!”.

Ultimamente ho trovato un interessante articolo da parte di Sophos, la famosa società di sicurezza. In pratica, su un sito (di cui non riporto il link per ovvie ragioni) viene offerta la possibilità ad utenti Windows e Mac (!) di poter scaricare un codec HDTV/DTV. Il codec però si rivela un trojan horse. Ovviamente gli utenti Mac non potranno più utilizzare la giustificazione “basta non fornire la password”, in quanto è l’utente che vuole legittimamente (ed è sua intenzione) installare il codec, quindi fornirà sicuramente la password. Ed ecco che così il computer viene infettato!

Nel video sottostante potete trovare tutta la descrizione grafica del processo: download, spacchettamento e installazione (bloccata dall’antivirus).


Apple Mac malware: Caught on camera from Sophos Labs on Vimeo.

Tags: , , , ,

Comments 1 Comment »

Ultimamente ho dovuto fare ulteriore spazio alla mia partizione XFS (ma il procedimento funziona anche se avete qualsiasi altra partizione, tipo ext3 o reiserfs) per Linux, a scapito di quella NTFS destinata a Windows.

Per fare il resize della partizione Windows, dopo aver fatto un backup e una deframmentazione, ho usato gparted su Linux (sudo apt-get install gparted). Ad un primo avvio, mi era impossibile fare il ridimensionamento della partizione in quanto l’opzione “resize” era disabilitata.

Dopo un po’ di ricerca, ho scoperto che bisogna installare il package ntfsprogs (quindi aprite un terminale e digitate sudo apt-get install ntfsprogs).

Dopo aver installato ntfsprogs chiudete e riaprite gparted, e potrete ridimensionare la partizione NTFS.

Tags: , , , ,

Comments No Comments »

Backup early, backup often. È la frase che si dice, si ripete (e si straripete) ogni volta che si parla di informazioni quali dati su disco fisso ed email per evitare che, in caso di malfunzionamenti, si perdano tutti i dati. In particolare, per quanto riguarda il backup di Gmail (ovvero il salvataggio spedite e ricevute tramite il popolare servizio di Google) esistono diverse soluzioni, tra le quali:

  • Scaricare tutte le email via POP/IMAP con un client qualsiasi (Thunderbird, Outlook)
  • Scaricare tutte le email via POP/IMAP tramite script configurato (fetchmail) – questa soluzione ha il grande vantaggio di poter essere pianificata (ad esempio via crontab)
  • Utilizzare un software di terze partiimage thumb Come fare un backup delle mail in un account Gmail

Tralasciando le prime due soluzioni (per le quali potete trovare ampia documentazione in giro per la rete), oggi voglio parlarvi di Gmail Backup. La soluzione è veramente semplice e veloce: basta scaricare il programma, indicare username e password (si, è necessario indicare la password per permettere al programma di accedere alla vostra casella di posta) ed il gioco è fatto.

Il programma inizierà a scaricare le email presenti sul vostro account e le salverà nella directory che avete specificato (in formato EML). Il programma, partendo da un backup precedentemente effettuato, permette anche di fare l’operazione duale del backup, ovvero il restore delle vostre email su un account Gmail (eventualmente diverso da quello da cui avete scaricato le email).

Infine, il software è anche in grado, partendo da un backup precedentemente salvato, di scaricare solo le email nuove rispetto al backup precedente.

Tra le utility di backup che ho testato per effettuare il backup di Gmail, Gmail Backup è sicuramente la più semplice, veloce e funzionale.

Tags: ,

Comments 7 Comments »

Ultimamente ho reinstallato Linux sulla mia macchina principale, dopo anni in cui lo tenevo relegato in una virtual machine in VMWare. La scelta della distribuzione è ovviamente caduta su Ubuntu Intrepid 8.10.

Subito dopo l’installazione, ho cominciato a fare un po’ di pulizia (rimuovendo quello che non mi serve e/o è inutile) e installare il software che mi serve. Trovate una rapida descrizione ed i comandi relativi (da inserire nel terminale):

  1. Togliere il supporto all’accessibilità, i giochi, il software VOIP Ekiga (uso Skype) e il client BitTorrent Trasmission (molto lento rispetto agli altri client BitTorrent):sudo apt-get autoremove --purge at-spi transmission* gnome-games-* ekiga
  2. Cambiare il refresh rate del proprio monitor al più alto valore possibile (System -> Preferences -> Screen resolution)
  3. Rimuovere il fastidiosissimo “beep” del terminale:echo "blacklist pcspkr" | sudo tee -a /etc/modprobe.d/blacklist
    (è sufficiente un reboot affinché il beep sparisca)
  4. Abilitare i repository per i software multiverse (Menu -> System -> Administration -> Software sources -> abilitare restricted, multiverse, e partner)
  5. Visualizzare i file nascosti: aprite il file browser in una directory qualsiasi e andate in Edit -> Preferences -> “Show hidden and backup files”
    (si poteva fare anche tramite gconf-editor ma perché non usare le scorciatoie quando ci sono?)
  6. Installare software utile tra cui:
    • Flash player per Firefox
    • Filezilla (client FTP)
    • Font Microsoft (utili per OpenOffice) + font terminus (li preferisco per l’utilizzo nel terminale)
    • Java Development Kit (JDK) (utile per sviluppare software Java)
    • I principali tools di sviluppo (build-essential)
    • VLC (per vedere i filmati senza installare codec)
    • Mozilla Thunderbird + Enigmail (client e-mail + supporto a PGP)
    • Alcuni plugin utili per Pidgin (client per IM multipiattaforma, GTalk, MSN, etc.)
    • Software di compressione e decompressione (rar, zip, 7z, etc.)
    • Editor di testo Emacs e vim
    • Plugin utili per nautilus, il file browser di Gnome (plugin per aprire un terminale nella directory corrente, e così via)
    • Parcellite, un clipboard manager per Gnome
    • Deluge Torrent, il client BitTorrent che preferisco
    • CVS, subversion e git come strumenti di versioning del software sviluppato
    • htop, una versione di top che presenta molte più informazioni utili rispetto alla versione standard di top
    • sysinfo, un programma che visualizza tutte le caratteristiche hardware del computer
    • TeXmaker e la relativa suite LaTeX per produrre documenti scientifici come tesi, report, etc. (ho già pubblicato un post relativo al LaTeX poco tempo fa)

    sudo apt-get install flashplugin-nonfree filezilla msttcorefonts sun-java6-bin sun-java6-javadb sun-java6-jdk sun-java6-jre sun-java6-plugin ubuntu-restricted-extras vlc vlc-data vlc-dbg vlc-nox vlc-plugin-arts vlc-plugin-esd vlc-plugin-ggi vlc-plugin-jack vlc-plugin-pulse vlc-plugin-sdl vlc-plugin-svgalib thunderbird console-terminus pidgin-plugin-pack pidgin-libnotify pidgin-extprefs pidgin-themes pidgin-encryption pidgin-sipe pidgin-librvp pidgin-guifications pidgin-hotkeys python-psyco sun-java6-fonts compizconfig-settings-manager unace rar unrar zip unzip p7zip-full p7zip-rar sharutils aish uudeview mpack lha arj cabextract file-roller ttf-larabie-straight ttf-larabie-deco mplayer-fonts xfonts-terminus-dos xfonts-terminus xfonts-terminus-oblique xfonts-mona tv-fonts ttf-tuffy ttf-sjfonts ttf-sil-padauk ttf-sil-ezra ttf-paktype ttf-georgewilliams community-themes nautilus-open-terminal terminator tilda openssh-server emacs22-gtk htop workrave vim vim-gnome vim-gui-common vim-gtk vim-python nautilus-actions nautilus-gksu nautilus-image-converter nautilus-open-terminal nautilus-script-audio-convert nautilus-script-collection-svn nautilus-script-manager nautilus-sendto nautilus-share nautilus-wallpaper parcellite deluge-torrent subversion thunderbird-gnome-support mozilla-thunderbird-enigmail subversion-tools sysinfo texmaker texlive-latex-base git-core cvs

  7. Non installiamo Eclipse e/o Netbeans tramite i repository Ubuntu perché la versione installata tramite package è troppo datata. Per installare Eclipse, ad esempio, andiamo sul sito ufficiale e scarichiamo il tar.gz, scompattiamo il tutto in /opt/eclipse ed il gioco è fatto. Per Netbeans, invece, è sufficiente scaricare l’installare e lanciarlo (chmod +x netbeans-installer.sh && sudo ./netbeans-installer.sh ).
  8. Abilitare gli effetti grafici (System -> Preferences -> Appereance -> Visual Effect -> Extra), abilitare gli hot corner e gli effetti grafici che ritenete più opportuni (ad esempio abilito Exposè, System -> Preferences -> Compiz Settings Manager -> Scale) e disabilitare la fastidiosissima resistenza delle finestre al trascinamento lontano dal bordo (System -> Preferences -> Compiz Settings Manager -> Snapping Windows -> Behaviour -> deselezionare “Edge resistance”)
  9. Abilitare il ssh keep-alive (altrimenti dopo un certo timeout la connessione ssh verso altri host verrà abbattuta): sudo echo "TCPKeepAlive yes" >> /etc/ssh/ssh_config ; sudo echo "ClientAliveInterval 60" >> /etc/ssh/ssh_config
  10. Installare il software rimanente (andate sui siti ufficiali per effettuare il download dei package autoinstallanti): Google Desktop, Google Picasa, Skype, VMWare Player, …

Di seguito trovate un mio screenshot: non ho trasformato Ubuntu in Windows 7, infatti grazie a VMWare (e alla copia gratuita e in versione beta di Windows 7, ho potuto provare con mano il nuovo sistema operativo Microsoft.

ubuntu_win7

Tags: , , , , , , , , ,

Comments No Comments »

Per chi come me ha un cardiofrequenzimetro/contachilometri Polar CS100, CS200 arriva un momento in cui si vogliono azzerare tutte le statistiche (km percorsi, media, etc.). Cercando tra i vari forum, su manuali, etc. trovo molta disinformazione: non esiste una procedura chiara (o esistono alcune guide ma mancano alcuni passaggi). image thumb1 Polar CS100 CS200: procedura per fare un reset delle statistiche come odometro (Odometer)

Per questo oggi voglio fare chiarezza e vi spiegherò come azzerare le statistiche. Importante: il reset NON cancella alcuna impostazione (soglia cardiaca, diametro ruota, etc.). L’azzeramento si divide in due categorie:

  • per azzerare tutte le statistiche tranne odometro (Odometer) è sufficiente andare in Settings –> Totals –> Premere OK –> Vi chiederà se volete resettare, date ancora OK
  • per azzerare i chilometri totali – odometro (Odometer) serve un computer con degli speaker. Scaricate ed installare Polar Uplink Tool dal sito Polar.
    1. Avviate Polar Uplink Tool, vi chiederà quale modello avete, selezionatelo (es. CS200).
    2. Accendente il vostro contachilometri, andate in Connect –> Receive Data. Non toccate nullaimage thumb2 Polar CS100 CS200: procedura per fare un reset delle statistiche come odometro (Odometer)
    3. Andate nel pannello ‘Odometro’, impostate i km che volete, avvicinate il vostro contachilometri agli speaker del computer e cliccate su “Trasferisci”. Sentirete un suono “strano” provenire dagli speaker. Importante: affinché il trasferimento vada a buon fine il display del contachilometri dovrà cambiare da “Receive Data” a “Uplink… OK” mentre il suono viene riprodotto. Se invece non compare niente oppure “Uplink… Failed” il trasferimento non è andato a buon fine e dovete ripeterlo (avvicinate il contachilometri agli speaker).
    4. Andate nel menu principale del contachilometri (quello con la data e l’ora) e premete contemporaneamente tutti e 3 i tasti. Tutti i simboli sul display si accenderanno per qualche secondo e il contachilometri verrà riavviato. Vi verrà chiesto di inserire data e ora (e solo quelle). A questo punto l’odometro avrà assunto il valore che avete specificato precedentemente con Uplink Tool.
Tags: , , ,

Comments No Comments »

Ultimamente il mio Nokia E65 si lamentava, in alcuni casi, che la memoria del telefono era esaurita. Per visualizzare la memoria utilizzata e quella disponibile, il menu “Strumenti –> Memoria” non è di aiuto, perché visualizza la memoria utilizzata e quella disponibile della memory card.

Se invece si vuole conoscere la memoria utilizzata della memoria telefono bisogna seguire un’altra trafila: menu “Strumenti –> Gestione file –> Opzioni –> Dettagli memoria” oppure “Ufficio –> Gestione file –> Opzioni –> Dettagli memoria”: in questo caso si può anche vedere cosa occupa memoria; infatti, il totale dell’occupazione viene suddiviso tra SMS, calendario, contatti, etc. in base all’effettiva occupazione di ognuna delle sottoaree.

Tags: ,

Comments 1 Comment »