Risolvere il nome host dall’indirizzo ip in Java

Postato da ROb | nella categoria Java | domenica, 31 gennaio 2010

0

Ecco uno snippet di codice Java utile per ottenere l’hostname a partire dall’indirizzo ip (reverse dns lookup).

	public void testHostnameByIp() throws UnknownHostException {
		// ottiene un'istanza di InetAddress a partire dall'indirizzo IP
		InetAddress inetAddress = InetAddress.getByName("63.245.213.92");
		// risolve il nome
		String hostname = inetAddress.getHostName();
		// stampa in console l'indirizzo risolto
		System.out.println("nome host: " + hostname + " per l'indirizzo: " + inetAddress.getHostAddress());
	}

Questa funzione Java è all’interno di un TestCase Junit, per eseguirlo da Eclipse è sufficiente individuare la funzione nel box Outline e cliccando con il tasto destro scegliere la voce Debug As => JUnit Test.

P.S.: l’indirizzo IP utilizzato appartiene alla rete server web pubblici di Mozilla Foundation.

Utilizzare lo spazio Box.net come disco locale con boxfs

Postato da ROb | nella categoria Linux | sabato, 30 gennaio 2010

7

A pochi giorni di distanza dai miei due articoli in merito a curlftpfs (che permette di montare uno spazio ftp come filesystema locale attraverso FUSE) e Dropbox (servizio alternativo a Box.net per lo storage online), vi voglio parlare di uno strumento open source per Linux per accedere in maniera comoda al servizio Box.net.

Logo Box.net

boxfs è un piccolo comando che permette di montare lo spazio Box.net in user space file system come se fosse una directory locale.
Non esistono al momento dei pacchetti per le distribuzioni più diffuse ma nella mia installazione di Hardy Heron 8.04 Desktop la compilazione del binario è stata veramente un’operazione banale (a patto di soddisfare le opportune dipendenze ai pacchetti di sviluppo necessari: libxml2 e fuse).

Ecco i passi da eseguire per avere a disposizione il binario boxfs:

wget "http://boxfs.googlecode.com/files/boxfs-0.5.3.tgz"
tar xfvz boxfs-0.5.3.tgz
cd boxfs-0.5.3/
sudo apt-get install libxml2-dev
sudo apt-get install libfuse-dev
make

A questo punto dovreste avere nella directory boxfs-0.5.3 il binario boxfs; copiatelo nella directory preferita dei vostri binari (nel mio caso la ~/bin).

Il comando da lanciare per montare lo spazio Box.net (sempre che abbiate un account free attivo, potete comunque crearlo direttamente nel sito http://www.box.net/) è il seguente:

# creazione della directory che ospiterà il filesystem Box.net
mkdir ~/Desktop/box.net/
# mounting del servizio Box.net (impostando opportunamente le password)
boxfs -u <username> -p <password> ~/Desktop/box.net/

Ora potete accedere a ~/Desktop/box.net/ puntando direttamente al vostro spazio web Box.net e utilizzarlo come se fosse una directory qualsiasi del vostro sistema.

Domenica 31 gennaio, grande festa per D.Bosco il Santo dei giovani

Postato da ROb | nella categoria Varie | sabato, 30 gennaio 2010

0

Quest’anno la festa di Don Bosco cade proprio nell’ultima domenica di gennaio. Quale occasione migliore per festeggiare il suo onomastico di domenica?

E’ un santo a cui devo veramente molto che ho conosciuto attraverso le parole e i gesti di molti preti importanti… uno fra tutti Don Ennio Borgogna.

Don Bosco

I Salesiani di Macerata lo stanno già festeggiando con un programma ricco di eventi. Domani tutte le messe della domenica al Tempo D.Bosco saranno dedicate a questo nostro Santo, che ha donato la sua vita interamente ai giovani.
Nel pomeriggio invece nel CineTeatro D.Bosco, all’interno della struttura salesiana di Macerata in Viale D.Bosco, ci sarà il musical organizzato dai ragazzi della scuola dal titolo: “I Dieci Comandamenti”.

Vi lascio solamente una breve frase di Don Bosco che ci può aiutare a vivere il rapporto con i giovani:

Amate ciò che amano i giovani, affinché essi amino ciò che amate voi.

Don Giovanni Bosco

Per aiutare la nostra dieta c’è Pondus

Postato da ROb | nella categoria Linux, Utilità | sabato, 30 gennaio 2010

0

Lunedì 4 gennaio 2010, da buon lunedì che si rispetti, specialmente il primo lunedì dell’anno, ho iniziato la mia ultima dieta per perdere i chili accumulati nelle feste (ma anche negli ultimi anni).

Siccome sono un tipo preciso, ho pensato di memorizzare tutti i passaggi di peso nel PC.
Un pò per caso mi sono quindi imbattuto in Pondus, un programmino che svolge esattamente questo compito, scritto in Python e Gtk2+, disponibile sia per piattaforma Linux che per Windows.

Record di peso e grafico in Pondus

Record di peso e grafico in Pondus

Pondus permette in modo semplice di salvare ogni giorno il nostro peso. Dopo due misurazioni è in grado di visualizzare il grafico del nostro peso nel tempo e di stamparlo e salvarlo come immagine.
Se siete seguiti da un dietologo sarà sicuramente contento che siate così rigorosi nella misurazione dei vostri progressi.

Portale personale, aggregatore di news e molto altro con Netvibes

Postato da ROb | nella categoria Informatica in generale, Utilità | sabato, 30 gennaio 2010

0

Iniziamo il weekend con la recensione di un sito, anche se chiamarlo in questo modo è veramente riduttivo, che utilizzo per tenermi aggiornato nel mondo dell’Informatica e non solo.

Netvibes probabilmente è il più grande antagonista di iGoogle, il servizio di personalizzazione dell’homepage di Google.
Ho scoperto Netvibes ormai più di 2 anni fa e da quando ho cominciato ad utilizzarlo non l’ho più abbandonato. Ormai è diventato il mio compagno di lavoro e la mia principale fonte di lettura giornaliera.

Logo Netvibes

Ma cos’è Netvibes? E’ difficile inquadrarlo in una precisa definizione. Per me principalmente è un aggregatore di feed a modo di portale. Tramite Netvibes, dopo opportuna registrazione, riusciamo a costruire, in modo davvero intuitivo e veloce, pagine all’interno delle quali possiamo piazzare il contenuto dei nostri widget preferiti.

Il mio approccio di customizzazione è stato quello di costruire n pagine tematiche. All’interno della pagina Informatica ho inserito tutti i principali feed a cui sono affezionato. Per ognuno di questi feed è possibile impostare il nome esplicativo del feed (in automatico prende quello presentato dal feed stesso), il tipo di visualizzazione, il numero di notizie da visualizzare nel box, se vogliamo visualizzare i dettagli e anche il colore dell’intestazione del box.

Il numero di feed inseribile per pagina è potenzialmente illimitato ed è possibile organizzare i box dei feed utilizzando facilmente il drag-n-drop e scegliendo anche il numero di colonne che la pagina deve contenere. Possiamo così realizzare pagine da 3 colonne oppure pagine da 2 colonne asimettriche.

Netvibes - la mia pagina informatica

Per ogni pagina è possibile impostare un’icona rappresentativa e, ovviamente, un nome.
Inoltre, per sentirsi ancora di più a proprio agio, è possibile impostare un template da utilizzare per decorare interamente il servizio. Il template (o tema) agisce sia sullo sfondo della pagina che sui colori dei box, dei link e del testo.

Altro aspetto veramente interessante è la possibilità di costruire una pagina pubblica all’interno della quale è possibile inserire feed e widget dell’ecosistema Netvibes. In questo modo possiamo far conoscere al mondo quali sono le cose che più ci interessano e possiamo sfruttare questo canale per comunicare in un modo alternativo (oltre al classico blog o a Facebook).

Quello che rende ancora più stuzzicante il tutto è anche il ricco catalogo di oggetti di cui Netvibes dispone. Oltre ai classici feed, sfogliabili o impostabili manualmente, è possibile inserire nelle nostre pagine anche numerosi e appetitosi widget. Personalmente quelli di cui non posso fare a meno sono il widget del calendario che importa i dati da una fonte webcal/ical, il widget di Ebay per tenere sotto controllo aste e oggetti preferiti, ovviamente il widget di Gmail e quello IMAP per leggere l’anteprima degli ultimi messaggi arrivati e non ancora letti, il meteo localizzato, il segnalatore dell’ip attuale.

Molti di voi già utilizzeranno dei lettori di feed locali, magari più veloci e personalizzabili, io ad esempio utilizzavo RSSOwl, ma il consiglio che posso darvi in questo caso è di provare a usarlo e fare qualche prova… penso che dopo qualche minuto avrete già voglia di salvarlo come pagina iniziale del vostro browser!

La gestione libera del parco informatico con GLPI

Postato da ROb | nella categoria Informatica in generale, Linux, Utilità | giovedì, 28 gennaio 2010

3

Un paio di anni fa, nell’azienda per cui lavoravo, sentimmo l’esigenza di dotarci di un software capace di costruire un database dell’inventario hardware e software di tutti i sistemi presenti.

Logo GLPI

Valutammo numerose soluzioni proprietarie, anche di software house importanti, ma, un pò per problemi economici un pò per carenze tecniche e funzionali, non riuscimmo ad abbracciarne nessuna.

In una delle numerose ricerche su freshmeat e in generale nel web incappai in GLPI, acronimo francese di: Gestionnaire libre de parc informatique.
GLPI è un software open source per la creazione e l’aggiornamento di un parco informatico aziendale che permette di gestire su tutto il materiale, hardware e software, dei ticket di assistenza tecnica.

In realtà il substrato di creazione e aggiornamento dell’inventario è all’interno di un componente chiamato OCS-NG, disponibile anche separatamente a questo indirizzo.

GLPI è già stato scaricato circa 600000 volte, è stato tradotto in 22 lingue, tra cui l’italiano, è multiutente e permette di autenticare gli utenti tramite numerose sorgenti (tra queste non possiamo non citare Active Directory di Windows).

Ecco una schermata della pagina di visualizzazione dell’inventario.

Lista inventario

Le risorse richieste per gestire tutta l’infrastruttura non sono molte.
Nel nostro caso, per censire e manutenere circa 200 postazioni, era sufficiente una macchina virtuale VMWare con 512Mb di RAM.

Il software è sponsorizzato ufficilamente da Indepnet un’azienda francese che ha già ricevuto diversi riconoscimenti per il suo sforzo verso il mondo open source.

Gestione ticket

GLPI è scritto in PHP e sfrutta un database MySQL. Numerose pagine sfruttano la tecnologia AJAX per offrire un’interfaccia di inserimento dati snella e accattivante.
L’ultima versione stabile rilasciata è la 0.72.3 che potrebbe far pensare sia ancora in uno stato embrionale. In realtà il sistema è stato provato sulla nostra pelle ed è assolutamente affidabile.

Il mio consiglio finale… provate per credere!

Montare un filesystem remoto via ftp con CurlFtpFS

Postato da ROb | nella categoria Linux, Utilità | mercoledì, 27 gennaio 2010

7

Nonostante ci siano moltissimi client ftp disponibili per Linux (tra cui il mio preferito Krusader) il modo più comodo per lavorare con i file è attraverso i comandi standard della shell (mv, cp, mkdir, …).

CurlFtpFS - accesso shell all'ftp

CurlFtpFS permette ai sistemi Unix/Linux di fare proprio questo, montando una directory su un server ftp remoto come filesystem locale e dandoci quindi la possibilità di effettuare copie in remoto di file come se fossero tra directory dello stesso PC.


Su sistemi Debian like (come Ubuntu) installarlo è veramente semplice:

sudo apt-get install curlftpfs

Possiamo ora montare uno spazio ftp tramite il seguente comando:

# eseguire questo comando come utente "root"
sudo curlftpfs -o user=USER:PWD SERVER LOCAL_DIR

dove USER e PWD sono le credenziali di accesso al server ftp, SERVER è l’indirizzo del server (o ip o hostname) e LOCAL_DIR è la directory locale (che deve esistere) in cui monteremo il nostro filesystem.

Se il comando viene eseguito con successo possiamo a questo punto provare a copiare nell’ftp qualche file e ugualmente copiare dall’ftp verso una directory locale.

Scrivete commenti se incontrate problemi o vi è piaciuto o servito l’articolo.

Un hard drive online gratuito con Dropbox

Postato da ROb | nella categoria Informatica in generale, Linux | mercoledì, 27 gennaio 2010

0

Per quei pochi che ancora non conoscono questo servizio, oggi voglio parlarvi di Dropbox, il mio contenitore online di file preferito.

Negli anni passati mi ero abituato ad usare l’estensione Gspace per Firefox che permette di utilizzare lo spazio web di Gmail come fosse un server ftp. Un bel giorno però, girovagando qua e là nella rete, mi sono imbattuto in un post che parlava del servizio gratuito Dropbox. Come molti altri servizi del suo genere offre spazio gratuito online utilizzabile attraverso una comoda interfaccia web (uno tra questi e forse il più conosciuto è Box.net) ma a differenza di gran parte di essi Dropbox permette l’accesso anche tramite un client, anch’esso gratuito, disponibile sia per Linux che per Windows che per Mac.

Cartella Dropbox

Stuzzicato dall’idea di potervi accedere tramite Linux ho installato il client per la mia distribuzione, ho inserito le credenziali e sono diventato subito operativo.

Dropbox systray

Il client Linux di Dropbox si integra bene con il mio ambiente Gnome mettendomi a disposizione un’icona nella toolbar delle notifiche attraverso la quale posso accedere a tutte le principale funzioni del servizio.
Al primo avvio il programma chiede di specificare una directory utilizzata per la sincronizzazione con il servizio, dopodiché inizia a verificare eventuali file non sincronizzati ed eventualmente carica sul server o nel PC eventuali differenze riscontrate.
L’installazione avviene all’interno della home directory dell’utente e viene anche eseguito un demone, con l’avvio del computer, che monitorizza la directory per eventuali cambiamenti.

Dropbox dettaglio cartella pubblica

Un’altra funzione veramente utile è la possibilità di gestire una cartella pubblica all’interno della quale possiamo inserire dei file da rendere disponibili a tutti senza richiesta di credenziali particolari.
Dal menu contestuale di Nautilus (attivato dal file caricato) possiamo infine copiare l’indirizzo pubblico e inviarlo via mail o via IM ai nostri amici per il download diretto.

Per gli account free lo spazio a disposizione è di 2Gb, decisamente buono. Se si necessita di spazio ulteriore si può passare ad un account Pro e comprare il taglio di spazio necessario.

JQuery sticky toolbar, una barra in evidenza nel vostro sito

Postato da ROb | nella categoria Sviluppo web | martedì, 26 gennaio 2010

0

Ieri mi sono dilettato nella realizzazione di una toolbar di servizio per il software CMS a cui sto lavorando da oltre un anno.

Alcuni anni fa, lavorando con Symfony, avevo trovato geniale l’idea degli sviluppatori di arricchire il framework di una debug toolbar che aiutasse il webmaster nella realizzazione e nel troubleshooting del sito stesso. Ecco un’immagine di questa toolbar presa direttamente dal sito ufficiale di Symfony.

Symfony debug toolbar

La comodità di questa barra è quella di poter essere minimizzata o rimossa e contiene tutte le informazioni principali di cui un webmaster può avere bisogno durante il ciclo di sviluppo del sito stesso.

Così, spinto dalla necessità di averne una anche nel nostro CMS, mi sono cimentato nelle funzioni di animazione di JQuery e in qualche proprietà CSS. Il mio intento non era quello di replicare la barra di Symfony ma almeno di emularne i comportamenti base.

Ecco qui il risultato.

In realtà, dopo aver incluso correttamente la libreria jquery nell’head del vostro documento html e aver scelto una posizione per le immagini utilizzate nei link di chiusura e apertura della toolbar, il codice Javascript necessario al suo funzionamento si riduce a queste poche righe:

	<style>

		#toolbar {
			position: fixed;
			width: 100%;
			height: 60px;
			top: -40px;
			display: block;
			border-bottom: 2px solid black;
			opacity:0.9;
			background-color: #E5E5E5;
		}

		#toolbar #close {
			position:absolute;
			top: 40px;
			display:none;
		}

		#toolbar #open {
			position:absolute;
			top: 40px;
		}

		#toolbar #remove {
			position:absolute;
			top: 40px;
			left: 20px;
		}

		#toolbar img {
			border: 0px;
		}

		#toolbar #toolbar_text {
			font-size: 10px;
			font-family: 'Verdana',sans-serif;
			position:absolute;
			top: 2px;
			left: 2px;
			width: 100%;
		}

		#toolbar #toolbar_links {
			font-size: 10px;
			font-family: 'Verdana',sans-serif;
			position:absolute;
			top: 42px;
			left: 40px;
			width: 100%;
		}

	</style> 

	<div id="toolbar">
		<a href="javascript:;;" id="close" title="close"><img src="arrow_up.png"/></a>
		<a href="javascript:;;" id="open" title="open"><img src="arrow_down.png"/></a>
		<a href="javascript:;;" id="remove"  title="remove"><img src="delete.png"/></a>

		<div id="toolbar_text">
			A text <strong>inside</strong> the toolbar
		</div>

		<div id="toolbar_links">
			| <a href="javascript:;;">just a simple link</a>
		</div>
    	</div>

	<script type="text/javascript">
		$(document).ready(function(){
			$('#close').bind('click', function() {
				$('#toolbar').animate({top:"-40px"}, 400 );
				$('#close').hide();
				$('#open').show();
			});

			$('#open').bind('click', function() {
				$('#toolbar').animate({top:"0px"}, 400 );
				$('#close').show();
				$('#open').hide();
			});

			$('#remove').bind('click', function() {
				$('#toolbar').hide();
			});
		});
	</script>

Il codice completo è disponibile a questo indirizzo per il download.

Happy Javascript a tutti!

P.S: tale toolbar è stata testata con Firefox 3.0 e Chrom 4.0 per Linux (ma ci sono buone possibilità che funzioni con quasi tutti i browser viste le caratteristiche cross-browser del framework JQuery).

Conservare gelosamente le proprie password con KeePass

Postato da ROb | nella categoria Android, Informatica in generale, Linux | martedì, 26 gennaio 2010

0

Forse questo è il milionesimo articolo sui software di memorizzazione e conservazione delle password ma, come si dice, la prudenza non è mai troppa. Avere un parere in più su questo argomento non fa mai male.

Tutti i miei KeePass

In realtà ho voglia di raccontarvi la mia piacevole esperienza in questo ambito dopo aver scoperto KeePass.
Prima che usassi definitivamente Linux come principale sistema operativo anche in azienda, conoscevo questo programmino per la memorizzazione delle password che ha i grandissimi vantaggi di:

  • essere leggero
  • portabile
  • implementa molteplici protocolli di crittografia
  • gestisce sia password che file come chiavi
  • gestisce gruppi di password
  • importa ed esporta da altri formati
  • digita automaticamente le password in programmi e siti web
  • genera password con insiemi di caratteri predefiniti
  • è open source!

Quando sono approdato a Linux pensavo di aver perso tale grandissimo software e che mi sarei dovuto cercare una valida alternativa… invece qualche mitico programmatore ne aveva già fatto il porting su Linux!
KeePassX, disponibile all’indirizzo http://www.keepassx.org/ , è il fratello linuxiano di KeePass e riesce ad importare direttamente i file di password di KeePass. Insomma qualcuno ha esaudito le mie preghieree gli sono veramente grato. Il mio contributo al progetto è parlare di lui e spingere qualcuno di questi lettori ad usarlo.

Vi dirò di più.
Quando a giugno del 2009 ho acquistato il mio primo telefono Android mi sono posto lo stesso problema e anche in questo caso qualcuno mi aveva preceduto e lo aveva già realizzato. Ho scaricato così dall’Android Market KeePassDroid, ho caricato nel telefono il mio file di password e per magia eccole qua! tutte le mie password più importanti anche sul cellulare.

Come sarebbe il mondo senza i programmatori? specialmente quelli del mondo open source?
Qualcuno potrebbe anche dire che sarebbe un mondo migliore… può anche darsi :-) .