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

4

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 :-) .

Aiutare il prossimo… attraverso CrossLoop

Postato da ROb | nella categoria Informatica in generale | domenica, 24 gennaio 2010

0

Nonostante abbia sempre prediletto i sistemi aperti e in special modo multipiattaforma, oggi voglio parlarvi di un servizio (e un programma) disponibile esclusivamente per sistemi Windows e closed source.
Il motivo per cui lo faccio è perché, da buon informatico che si rispetti, vengo spesso chiamato in causa per risolvere i problemi degli altri (su sistemi M$).
Di solito preferisco fare un salto a casa dell’amico, scambiare quattro chiacchiere e scroccare qualche dolcetto, ma in alcuni casi il lavoro o le distanze elevate rendono il sopralluogo decisamente scomodo e l’opzione migliore è sfruttare un semplice ed efficace sistema di assistenza remota.

CrossLoop, sottotitolato “Ognuno aiuta”, serve proprio a questo scopo: condividere in modo sicuro il proprio desktop con un altro utente permettendo eventualmente anche di interagire con mouse e tastiera.

Il programmino, scaricabile gratuitamente dal sito, è disponibile attualmente solamente per sistemi Windows e per funzionare necessita di una breve e semplice installazione.
Al termine dell’installazione saremo già in grado di chiedere o fornire aiuto.

Dopo averlo avviato CrossLoop presenta quest’interfaccia (a meno del nome e del codice di accesso).

Interfaccia CrossLoop

Per chiedere aiuto bisogna andare nel pannello di condivisione cliccando appunto su “Condivisione”, prendere nota o copiare il codice di accesso e cliccare su connetti.
Per fornire aiuto dobbiamo invece usare il pannello di accesso, impostare il codice di accesso fornitoci dal nostro utente in panne e cliccare anche in questo caso su connetti.

Se avete un firewall attivo vi chiederà a questo punto di sbloccare l’applicazione e nel caso del richiedente sarà anche necessario accettare di ricevere aiuto dall’utente che abbiamo contattato.

Se tutto il processo si conclude correttamente (cosa molto probabile, vista la semplicità di utilizzo) CrossLoop vi permetterà di vedere e anche di interagire con i vostri amici bisognosi.
Nelle ultime versioni è stata anche aggiunta la possibilità di condividere file, opzione molto utile senza la quale precedentemente bisognava utilizzare un client di messaggistica istantanea oppure la posta elettronica.

Per avere maggiori informazioni e scaricare il client gratuito ecco la pagina di CrossLoop.

P.S.: nella pagina di download vi chiederà probabilmente di provare la versione a pagamento. E’ sufficiente cliccare nel link in basso (visibile nell’immagine qui sotto) per accedere al download del client gratuito.

Link accesso cliente gratuito CrossLoop

Come tenere sotto controllo la propria linux box con Conky

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

0

Per tutti gli appassionati di Linux e soprattutto per tutti coloro che amano avere sempre tutto sotto controllo ecco a voi Conky.

Conky è un sistema di monitoraggio leggero del proprio desktop X-Window che disegna nel desktop della nostra stazione di lavoro tutti i parametri della macchina e qualsiasi cosa ci venga in mente.

Conky

Si avvia come un demone all’avvio dell’ambiente grafico e rinfresca il desktop a intervalli regolari con i nuovi parametri ricevuti dal kernel.
I parametri più comuni sono: nome host, tipo e versione del kernel, uptime, frequenza del/dei processori, memoria totale, disponibile e virtuale, utilizzo del processore, occupazione dei filesystem.

Le informazioni da visualizzare e qualsiasi altra impostazione sono regolate da un file di configurazione utente che si chiama .conkyrc situato all’interno della home directory.

A seconda che siano attivi o meno desktop tridimensionali come Compiz o Beryl è necessario attivare specifiche opzioni per evitare che la visualizzazione non avvenga in modo distorto, ma per queste specificità vi rimando direttamente al sito del progetto.

Qui potete invece trovare il mio file di configurazione.
Io attualmente utilizzo un Ubuntu 8.04 con Compiz/Fusion attivo. L’avvio di Conky (che si può effettuare anche manualmente attraverso il comando conky -d) è stato inserito con il seguente script all’interno delle sessioni di Gnome (System => Preferences => Sessions) per attendere che il window manager fosse correttamente caricato.

#!/bin/bash

sleep 60 && conky -d

Zabbix: strumento di Monitoraggio Open Source

Postato da ROb | nella categoria Informatica in generale, Linux | sabato, 23 gennaio 2010

1

Zabbix è forse una delle mie più belle scoperte di questi anni (ovviamente in ambito di software).

Nel panorama del software Open Source di monitoraggio gode indubbiamente di una buonissima posizione, combattendo spalla a spalla con Nagios.

Il prodotto negli ultimi due anni è stato aggiornato continuamente e si trova attualmente alla versione 1.8.

Zabbix consiste di un demone lato server che raccoglie informazioni dagli host a cui è connesso (definiti tramite la configurazione web) e li memorizza in un database Mysql (ma anche PostgreSQL, Oracle, SQLite).

Di ogni host può monitorare la variabili più importanti ma è anche in grado di estrarre informazioni più specifiche (grazie ad item definiti dall’utente).

Il server Zabbix parla o con i rispettivi agent attivi sugli host monitorati oppuri con gli agent nativi snmp degli host o degli apparati.

Di ogni item censito è in grado di costruire un grafico e con una serie di grafici è possibile costruire uno o più screen o mappe.

Uno screen di Zabbix

Uno screen di Zabbix

Se il valore di un item supera un certo range o scende sotto una soglia definita è possibile sollevare un trigger che scatena 1 o più azioni come l’invio di una mail oppure l’invio di un sms o l’esecuzione di uno script definito.

Nel mio caso l’ho provato su una macchina virtuale VMWare con Ubuntu 7.04 server con 512Mb e 10Gb di spazio disco e la macchina non ha mai sofferto di problemi di performance.

Il server esegue periodicamente anche delle operazioni di housekeeping che mantengono il database pulito.

Lo screenshot rappresenta l’interfaccia di configurazione via web (in PHP), non sempre leggera e intuitiva ma indubbiamente potente e funzionale.
Nelle ultime versioni gli sviluppatori si sono proprio concentrati su questo aspetto aggiungendo anche la possibilità di editare screen e mappe utilizzando il drag-n-drop.

Inoltre, sempre dalla versione 1.8, è stata aggiunta la possibilità di inserire delle espressioni regolari per il controllo dei log dei server, nonchè la possibilità di monitorare da remoto il server utilizzando delle API JSON.
Per la lista completa delle ultime funzionalità e bug fixing vi rimando direttamente alla pagina del progetto.

Buon monitoraggio a tutti!

Robbix

EasyEclipse: un Eclipse potenziato

Postato da ROb | nella categoria Java, Sviluppo web | venerdì, 22 gennaio 2010

0

Eclipse è indubbiamente un potentissimo IDE Open Source. Negli ultimi anni la Eclipse Foundation ha praticamente sbaragliato la concorrenza commerciale sia introducendo le librerie SWT (versione os dependent delle Java AWT) che creando l’IDE Eclipse, strumento avanzato di sviluppo in Java ma poi diventato in realtà un framework per lo sviluppo multilinguaggio e oltre.

Accanto all’Eclipse ufficiale esiste però una versione già completa di tutti i plugin di sviluppo più diffusi, si chiama: EasyEclipse.

EasyEclipse, figlia diretta di Eclipse, è una versione pacchettizzata di Eclipse (con un suo installer grafico) completa di numerosi plugin a seconda della versione scelta. Ne esiste una per PHP, una per LAMP in generale, una per lo sviluppo Java client, una per sviluppo Java Web, una per Python, una per C/C++.


Get EasyEclipse

Insomma ognuno può scaricare la propria versione di EasyEclipse a seconda del suo linguaggio di sviluppo preferito.

Io ho provato la versione per PHP e sono decisamente soddisfatto. In realtà è come un normale Eclipse con l’aggiunta di una vista particolare per PHP e la code completion delle classi PHP (dopo aver correttamente impostato il path alle librerie).

Visto che gli sviluppatori/mantainer hanno chiesto di parlarne … io l’ho fatto.

L’ultima versione disponibile è la 1.3 che segue lo sviluppo della versione 3.4 di Eclipse.

Convertire ps in pdf dal file manager di Gnome

Postato da ROb | nella categoria Linux | venerdì, 22 gennaio 2010

0

Gnome

Non tutti sanno, e fino a un pò di tempo fa neanche io, che Nautilus (il file manager Gnome di default) permette di customizzare le azioni da eseguire sui file tramite il tasto destro del mouse sul file utilizzando la voce “Scripts“.

Entrando nell’apposita cartella $HOME/.gnome2/nautilus-scripts è possibile aggiungere degli script che permettono di effettuare operazioni sui file selezionati.

Questo piccolo script, ad esempio, chiamato ps_2_pdf.sh:

#!/bin/bash

if [ "$NAUTILUS_SCRIPT_CURRENT_URI" == "x-nautilus-desktop:///" ]; then
	files_path=$HOME"/Desktop"
else
	files_path=`echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed -e 's/^file:\/\///; s/%20/\ /g'`
fi

cd ${files_path}

for File in "$@"
do
	ps2pdf ${File}
done

permette di convertire i file ps nel formato pdf. Ovviamente è facilmente estendibile e modificabile per ottenere ogni tipo di operazioni sui file.

Per eseguire correttamente ps_2_pdf.sh è necessario che sia installato nel sistema il binario ps2pdf.

Criptare e decriptare una stringa in Java

Postato da ROb | nella categoria Java | giovedì, 21 gennaio 2010

0

In alcuni casi ho avuto bisogno di fare una crittazione e decrittazione al volo di una stringa di testo nei miei programmi Java.

Criptare e decriptare

Ho cercato una classe che fosse semplice da utilizzare ma sufficientemente efficace e flessibile per i miei scopi. Dopo un pò di navigazione sono imbattuto in questo bell’articolo di Javid Jamae.

Ecco il file (zippato) da scaricare, all’interno del quale trovate la classe StringEncrypter.java.

Dopo averlo inserito nel vostro classpath e averlo compilato potete criptare e decriptare tramite queste due funzioni:

	/**
	 * Encrypt a string using a key
	 *
	 * @param str
	 * @param resourcemap
	 * @return
	 */
	public static String encrypt(String str, HashMap<String, String> resourcemap) {
		try {
			String encryptionKey = resourcemap.get("encrypt.key");

			StringEncrypter encrypter =  new StringEncrypter(StringEncrypter.DES_ENCRYPTION_SCHEME, encryptionKey );
			String encryptedString = encrypter.encrypt( str );

			return encryptedString;
		}
		catch (Exception e) {
			e.printStackTrace();
			// do nothing
		}

		return null;
	}

	/**
	 * Decrypt a string using a key
	 *
	 * @param str
	 * @param resourcemap
	 * @return
	 */
	public static String decrypt(String str, HashMap<String, String> resourcemap) {
		try {
			String encryptionKey = resourcemap.get("encrypt.key");

			StringEncrypter decrypter =  new StringEncrypter(StringEncrypter.DES_ENCRYPTION_SCHEME, encryptionKey );
			String decryptedString = decrypter.decrypt(str);

			return decryptedString;
		}
		catch (Exception e) {
			// do nothing
		}

		return null;
	}

Dove la stringa “encryptionKey” è una chiave personale e privata utilizzata per criptare e decriptare.

L’algoritmo utilizzato di default è il DES.

Approvata la variante al piano regolatore a favore dell’Istituto Salesiano di Macerata

Postato da ROb | nella categoria Varie | mercoledì, 20 gennaio 2010

0

Ieri, 19 gennario 2010, il Consiglio Comunale di Macerata ha finalmente approvato in via definitiva la Variante al Prg che interessa l’area tra via Alfieri, via Dante e viale don Bosco e riguarda il piano di recupero dei Salesiani.

Per ulteriori approfondimenti rimandiamo al verbale nel sito del comune.

I miei complimenti alla Giunta.

Costruire una macro OpenOffice Calc in BeanShell

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

0

Oggi ho avuto la necessità di scrivere una macro per OpenOffice Calc per gestire alcuni controlli e computazioni in un range di celle.
Sapevo che OpenOffice supporta BeanShell come motore di scripting (che conosco abbastanza bene) ed ho quindi deciso di provare a costruire la prima della mia nuova libreria di macro per OO.

Dopo aver consultato diverse pagine e fatto alcuni tentativi sono riuscito nel mio intento.

Come prima cosa bisogna creare la nostra libreria di macro BeanShell. Aprire quindi il percorso Tools => Macros => Organize Macros => BeanShell…

Macro BeanShell

Menu apertura macro BeanShell

Quindi creare una nuova libreria dentro il contenitore My Macros con il nome che volete.

Libreria macro BeanShell

Libreria macro BeanShell

A questo punto, nel caso usiate Linux, potete navigare all’interno della cartella situata dentro la vostra HOME chiamata ~/.openoffice.org2/user/Scripts/beanshell/nome_libreria/ .
Dentro questa cartella troverete un file meta di macro chiamato parcel-descriptor.xml che conterrà la definizione delle vostre macro.

Potete quindi aprirlo e modificarlo in questo modo:

<?xml version="1.0" encoding="UTF-8"?>
<parcel language="BeanShell" xmlns:parcel="scripting.dtd">
    <script language="BeanShell">
        <locale lang="en">
            <displayname value="replace_with_br.bsh"/>
            <description>replace_with_br.bsh</description>
        </locale>
        <logicalname value="replace_with_br.bsh"/>
        <functionname value="replace_with_br.bsh"/>
    </script>
</parcel>

In questo modo diremo a OpenOffice che nella nostra libreria ci sarà una macro chiamata replace_with_br.bsh .

Tale macro trasforma il contenuto delle celle non vuote di tipo stringa rimpiazzando i caratteri “\n” (a capo) con il tag html <br/> .

Infine scaricate il file replace_with_br.bsh.gz , scompattatelo e salvatelo all’interno della cartella della vostra libreria di macro.

Infine chiudete OpenOffice, riapritelo, selezionate un gruppo di celle con caratteri “\n” all’interno ed eseguite la macro.
Al termina del processo la macro vi avvertirà con un messaggio.
Mi raccomando non selezionate un’intera colonna, la macro non controlla un limite superiore di righe processate.

Scrivete pure per qualsiasi delucidazione o malfunzionamento.

FCKEditor come tipo campo per ExtJS 2.x

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

2

In questo post voglio presentare gli step necessari per l’utilizzo di FCKEditor come tipo campo per il web toolkit javascript ExtJS 2.x.

Quasi tutte le informazioni sono state ricavate da questo preziosissimo thread nel forum di ExtJS e dal contributo congiunto di molti utenti e sviluppatori.

  1. Prima di tutto bisogna procurarsi l’editor fckeditor nella precedente versione stabile (io ho usato la 2.6.5), scaricare il file zip e scompattarlo all’interno di una directory all’interno della web application.
  2. Poi bisogna copiare il file all’interno della cartella fckeditor chiamato fckconfig.js in una directory a vostra scelta e rinominarlo: fckcustomconfig.js.
  3. Quindi bisogna creare il file dell’estensione per ExtJS. Potete scaricare la mia versione da qui e inserirlo nella stessa directory in cui si trova il file fckcustomconfig.js.
  4. A questo punto bisogna fare in modo che il nostro documento html contenga tutte le definizioni necessarie per caricare l’estensione in questione.
    Inserire quindi nell’head html del documento tali dichiarazioni.

    <script type="text/javascript" src="<percorso>/fckeditor/fckeditor.js"></script>
    
    	<script type="text/javascript" >
    		//change the config with the correct dirs
    		var oFCKeditorOptions = {
    		    BasePath : '<percorso>/fckeditor/'
    		    ,Config : {
    		    	BaseHref 	: window.location.href
    		        ,SkinPath	: '<percorso>/fckeditor/editor/skins/office2003/'
    		        ,CustomConfigurationsPath	: '<percorso>/fckcustomconfig.js'
    		        ,ProcessHTMLEntities 		: true
    		        ,ProcessNumericEntities 	: false
    		    }
    		    ,AllowQueryStringDebug 			: false
    		};
    	</script>
    
    	<script type="text/javascript" src="<percorso>/Ext.ux.FCKEditor.js"></script>
    

    Dove <percorso> e’ il percorso in cui si trovano fckeditor, il file Ext.ux.FCKEditor.js e il file fckcustomconfig.js.

  5. Come ultimo passo, inserire il codice javascript per la gestione del campo di tipo fckeditor:
    			{
    			    xtype:'fckeditor',
    			    name:'body',
    			    id:'body',
    			    fieldLabel: 'label',
    			    height: 400,
    			    editorWidth: 650,
    			    toolbarSet: 'Default',
    			    value: 'some text...'
    			}
    

Rassegna jazz Macerata – 2010

Postato da ROb | nella categoria Musica | lunedì, 18 gennaio 2010

0

Inizia domani, martedì 19 gennaio 2010, al Teatro Lauro Rossi di Macerata, la nuova rassegna jazz del comune di Macerata.

Il primo appuntamento è con Fabrizio Bosso, famoso trombettista torinese, che presenta un trio inedito con organo hammond e batteria.

Per ulteriori approfondimenti rimando direttamente alla locandina presentata pochi giorni fa dal Comune di Macerata.

Buon ascolto!