DBeaver il database manager universale!

Postato da ROb | nella categoria Java, Utilità | mercoledì, 28 settembre 2011

2

Ogni sviluppatore sa quanto è importante avere nella propria cassetta degli attrezzi un valido software di interrogazione e gestione delle base di dati.

Generalmente ogni db vendor propone la sua soluzione specifica, console e grafica, per accedere ai propri db e tabelle. Sono poche le soluzioni open in grado di connettersi e lavorare con successo su diverse piattaforme e che nello stesso tempo siano facilmente utilizzabili.

Dopo anni e anni di ricerca quasi per caso ho trovato DBeaver, il castoro dei database (dal suo nome curioso).
DBeaver è un software sviluppato in Java tramite il framework di sviluppo di Eclipse: RCP.
E’ disponibile per moltissime piattaforme (cosa comune a quasi tutti i software scritti in Java) e segue dei cicli di sviluppo molto regolari tanto che in poco più di un anno dalla sua pubblicazione ha raggiunto una maturità e una lista di funzioni veramente invidiabili.

Attualmente è alla versione 1.4.0, rilasciata pochi giorni fa.

I db vendor attualmente supportati sono molti (tutti? :-D ):

  • MySQL
  • Oracle
  • PostgreSQL
  • IBM DB2
  • Microsoft SQL Server
  • Sybase
  • ODBC
  • Java DB (Derby)
  • Firebird (Interbase)
  • HSQLDB
  • SQLite
  • Mimer
  • H2
  • IBM Informix
  • SAP MAX DB
  • Cache
  • Ingres
  • Linter
  • Any JDBC compliant data source

Nelle sue ultime versioni permette anche di modificare lo schema dei dati (tabelle e altro) e di visualizzare/salvare degli schemi ER delle tabelle selezionate.

Per me è diventato un indispensabile compagno di viaggio e quando posso cerco anche di segnalare eventuali malfunzionamenti o problemi.

Ecco alcuni screenshot presi direttamente dal sito ufficiale.

Provatelo e datemi il nostro parere!

Migrazione posta elettronica da Evolution a Thunderbird

Postato da ROb | nella categoria Informatica in generale, Linux | giovedì, 21 ottobre 2010

0

Dopo due anni di utilizzo quotidiano del buon caro Evolution, ho deciso di passare al famoso e diffusissimo client di posta della Mozilla Foundation, Thunderbird.

Tale scelta è stata motivata dal fatto che Thunderbird è un sistema di posta molto più diffuso di Evolution, è più facile da estendere e personalizzare tramite i numerosi plugin e temi a disposizione ed è disponibile per i più diffusi sistemi operativi (oltre che per il nostro affezionato Linux), cosa che in alcuni casi può risultare davvero comoda.

Migrazione Evolution - Thunderbird

Il processo di migrazione che vi sto per descrivere si compone di una serie di passi alcuni dei quali possono essere saltati perché trattano della mia configurazione particolare. Oltre infatti ad aver migrato le cartelle di posta elettronica ho anche installato e configurato alcune estensioni per la sincronizzazione di rubrica e calendario con i rispettivi applicativi di Google.

I passaggi sono i seguenti:

  • Installazione di Mozilla Thunderbird
  • Avvio del programma e creazione dell’albero di directory speculare a quello di Evolution
  • Copia dei messaggi e delle cartelle
  • Installazione dei plugin aggiuntivi per la gestione del calendario e la sincronizzazione con gli applicativi Google
  • Configurazione dei plugin per la sincronizzazione

Installazione di Mozilla Thunderbird

Dopo aver scaricato il software all’indirizzo http://www.mozillamessaging.com/it/thunderbird/ è sufficiente scompattarlo nella directory /opt/, con gli opportuni permessi di root.
Essendo un archivio in formato .tar.bz2 dovete lanciare il comando bunzip2 “nomefile” quindi tar xfv “nomefile_senza_estensione.bz2″.

Avvio del programma e creazione dell’albero di directory speculare a quello di Evolution

Se avete scompattato il tutto nella directory /opt/thunderbird , l’avvio del programma avviene nel seguente modo: /opt/thunderbird/thunderbird-bin .

Ora quello che dovete fare, dopo aver configurato il vostro primo account, è ricreare la stessa struttura di cartelle, con lo stesso nome, che avevate in Evolution.
Quest’operazione è importante perché il trasferimento delle cartelle e dei messaggi avviene facendo direttamente la copia dei file tra le cartelle di file system utilizzate dai due programmi.

Copia dei messaggi e delle cartelle

Terminata la creazione delle cartelle, chiudete sia Evolution che Thunderbird e posizionatevi nelle due cartelle: /home/”utente”/.thunderbird/”profilo”.default/Mail/Local Folders/ per Thunderbird , dove utente e profilo dipendono dalle vostre specifiche impostazioni e /home/”utente”/.evolution/mail/local/ per Evolution .

A questo punto, partendo dalla cartella di Evolution, copiate tutti i file senza estensione nella cartella di Thunderbird. Se avete delle sottocartelle nel vostro albero di posta allora dovrete ripetere tale operazione entrando in tutte le cartelle con estensione .sbd .

Completata l’operazione di copia potete riaprire Thunderbird e notare che tutti i messaggi sono correttamente presenti nelle rispettive cartelle. In alcuni casi potrebbe capitare che i messaggi risultano non letti o non sono nello stesso ordine con cui li vedevate in Evolution. Impostate correttamente lo stato di lettura e scegliete l’ordinamento che preferite.

Installazione dei plugin aggiuntivi per la gestione del calendario e la sincronizzazione con gli applicativi Google

Essendo un incallito utilizzatore dei servizi Google, come Calendar e Gmail, ho installato alcuni plugin per aiutarmi nella sincronizzazione di Thunderbird con i dati salvati nei rispettivi servizi.

Per la parte Calendar ho installato Lightning scaricandolo dall’indirizzo http://www.mozilla.org/projects/calendar/lightning/ ma è anche possibile trovarlo e installarlo direttamente dalla gestione componenti aggiuntivi del menu Strumenti del programma.

Per aiutare Lightning nella sincronizzazione però ho aggiunto anche Provider for Google Calendar che permette una comunicazione bidirezionale con i calendari Google. Cioè, sfruttando tale estensione, possiamo anche salvare i nostri appuntamenti in remoto verso Google Calendar.

Infine, ultimo ma non per importanza, ho installato anche il componente Zindus. Zindus permette di sincronizzare a sua volta la Rubrica di Thunderbird con i contatti di Gmail. L’estensione effettua anche la sincronizzazione con un server Zimbra, nel caso abbiate un account gestito da questo importante software di collaborazione open source.
Anche in questo caso la sincronizzazione è in entrambi i versi, potendo quindi modificare e inserire contatti in Thunderbird per poi trovarveli in Gmail.

Una cosa da sapere comunque è che i gruppi di Gmail non vengono gestiti in Thunderbird come mailing list, o gruppi di invio, bensì come ulteriori rubriche, con un nome davvero non molto “simpatico”. Per ogni gruppo in Gmail avrete una corrispettiva rubrica in Thunderbird dal nome zindus/indirizzo@gmail.com/#nomegruppo .

Configurazione dei plugin per la sincronizzazione

La configurazione dei plugin per la sincronizzazione è davvero semplice. Nel caso di Zindus è sufficiente andare nei componenti aggiuntivi e cliccare sulle proprietà dell’estensione stessa. Dalla finestra potrete gestire gli account Gmail o Zimbra e impostarne per ognuno le proprietà di sincronizzazione.
Nella barra di stato troverete inoltre un’icona tramite la quale potrete avviare la sincronizzazione manualmente o modificare le impostazioni.

La configurazione dei calendari Google invece consiste nell’inserire 1 ad 1 tutti i calendari all’interno della lista dei calendari di Lightning.
Entrando nel pannello del calendario, e facendo tasto destro nella lista dei calendari, potrete aggiungere un nuovo calendario di rete e scegliere il Google Calendar.
Nel campo “Luogo” dovete impostare l’indirizzo privato in formato XML del vostro calendario Google.
Dopo averlo correttamente inserito dovete fornire le credenziali di accesso al servizio. In pochi minuti vedrete comparire i vostri appuntamenti nel calendario di Lightning.

Fine

Spero questa guida sia servita a qualcuno, oltre che a me per ricordare tutti i passaggi effettuati.
Fate domande o inserite commenti per eventuali chiarimenti, approfondimenti o qualche screenshot in più.

Richard Stallman arriva nella Marche, due gli incontri in Ancona

Postato da ROb | nella categoria Varie | mercoledì, 12 maggio 2010

0

Ebbene sì, il nostro beniamino del movimento Open Source mondiale arriva anche nelle Marche e più precisamente in Ancona per ben due incontri:

  • giovedì 13 maggio 2010 ore 17:00 – presso l’assessorato all’informatizzazione del Comune di Ancona
  • venerdì 14 maggio 2010 ore 10:30 – presso l’Aula A7/8 della Facoltà di Ingegneria dell’Università Politecnica delle Marche

Richard Stallman

A questo indirizzo potete trovare il volantino ufficiale dell’evento, linkato anche dalla pagina del Floss Marche.

Invito tutti i marchigiani amanti del Free & Open Software a partecipare numerosi e a diffondere la notizia, ringranziando bubbakk per la preziosa notizia.

Finalmente il primo libro per Zabbix

Postato da ROb | nella categoria Informatica in generale, Linux | venerdì, 30 aprile 2010

7

Zabbix

E’ uscito finalmente il primo libro per Zabbix, uno dei più validi applicativi open source di monitoraggio delle reti.

Per chi non conosce Zabbix, ecco un mio precedente articolo in cui ne parlo brevemente.

Il libro, solamente in inglese, si divide in ben 15 capitoli, trattando tutti gli argomenti principali del software. E’ disponibile anche un capitolo di esempio per valutare le qualità dell’edizione e dell’autore stesso.

Per acquistarlo o per ulteriori approfondimenti: https://www.packtpub.com/zabbix-1-8-network-monitoring/book .

L’alternativa open di Google Analytics: Piwik

Postato da ROb | nella categoria Sviluppo web, Utilità | sabato, 6 marzo 2010

2

Chi lavora nel mondo dello sviluppo web e del web marketing sicuramente conosce ed utilizza quotidianamente Google Analytics.
Veloce, flessibile, potente e pochissimo invasivo… queste tutte le qualità di GA (Google Analytics) a costo zero.
A tutto questo però si contrappongono due aspetti: non è open source e non abbiamo tutti i dati dei nostri accessi (ma solamente i dati aggregati, nelle varie forme, che Google ci presenta).

statistics

Pochi giorni fa mi sono imbattuto in questo interessantissimo progetto di nome Piwik che, dichiaratamente, si propone come l’alternativa open a GA.

L’installazione richiede un server con PHP dalla versione 5.1.3 in poi e MySQL dalla versione 4.1 in avanti.
Al termine dell’installazione è possibile iniziare a creare i profili dei nostri siti.
Il meccanismo di tracking degli accessi è molto simile a quello di GA; Piwik, per ogni sito, genera una porzione di codice Javascript da copiare e incollare nelle nostre pagine.

Per quanto riguarda la pagina di visualizzazione dei dati raccolti è altamente customizzabile e già multilingua. Il meccanismo di personalizzazione sfrutta il concetto degli widget.
In pratica la dashboard è composta da una serie di widget predefiniti e altri creabili ed aggiungibili a piacere.

piwik screenshot

Ciliegina sulla torta inoltre la possibilità di inserire le statistiche di Piwik direttamente nel nostro sito in tempo reale.

A questo indirizzo è disponibile la demo online, mentre questa è la pagina del progetto.

L’editor per eccellenza per il mondo Windows: Notepad++

Postato da ROb | nella categoria Sviluppo web, Utilità | martedì, 9 febbraio 2010

0

Quando mi trovo in postazioni Windows XP devo spesso scontrarmi con il vetusto Notepad.

Forse nei primi anni in cui è uscito quel sistema operativo Notepad riusciva ancora a reggere il passo.
Negli ultimi anni sono nati numerosi editor assai più veloci e potenti di Notepad; trovare una valida alternativa è ormai un obbligo di qualsiasi utente.

Uno dei loghi di Notepad++

La mia alternativa preferita è Notepad++.
Notepad++ si basa su un famoso progetto, chiamato Scintilla, il cui scopo è costruire un componente editor da integrare all’interno di applicazioni.
Innanzitutto è Open Source, sotto licenza GPL, è scritto in C++ sfruttando le api win32 e non le MFC è ed ricco di interessanti funzionalità.



Sono indubbiamente da citare:

  • evidenziazione della sintassi per quasi tutti i più famosi linguaggi di markup e programmazione
  • folding: possibilità di aprire e chiudere parti di codice significative (come interi tag xml oppure il corpo di funzioni Java o Javascript)
  • autocompletamento
  • espressioni regolari sia nella ricerca che nella sostituzione di stringhe
  • multilingua e multicodifica
  • segnalibri
  • guida all’indentazione del codice
  • configurazione di stili
  • generatore ed esecutore di macro
  • selezione e funzione di copia e incolla di colonne o quadrati di testo

Schermata principale di Notepad++

Fra queste quelle che nel mio caso fanno la differenza sono il supporto per le espressioni regolari e la possibilità di registrare ed eseguire macro. Dopo aver padroneggiato tali funzioni vi sentirete praticamente in grado di fare tutto con i vostri file testuali.

Se siete particolarmente soddisfatti di Notepad++ e volete supportare il progetto lo sviluppatore accetta di buon grado delle donazioni.

Dati al sicuro con i dischi criptati da TrueCrypt

Postato da ROb | nella categoria Linux, Utilità | venerdì, 5 febbraio 2010

0

Quando abbiamo bisogno di mettere al sicuro delle password (o poche informazioni testuali) sappiamo che KeePass è il nostro amico.

Ma quando abbiamo la necessità di nascondere intere cartelle o file non possiamo più utilizzare soluzioni di questo tipo.

Logo TrueCrypt

Esistono molti programmi che effettuano la criptazione di cartelle o di interi drive. Molti sistemi operativi già nativamente supportano tale possibilità, anche se non sempre in modo facilmente applicabile (e rendendo in alcuni casi inaccessibile tutto il sistema in caso di smarrimento della password di accesso).

TrueCrypt, che uso quotidianamente da ormai molto tempo, è uno di questa miriade di programmi con la vera e fondamentale differenza di supportare tutti i sistemi operativi più diffusi, Linux, Mac e Windows, ma sopratutto di essere open source.
La versione di cui ovviamente vi parlerò è quella per Linux ma la filosofia di utilizzo del software è la stessa per tutte le piattaforme.

Le distribuzioni supportate, tramite opportuni pacchetti, sono OpenSuse ed Ubuntu, per tutte le altre ci sono i sorgenti compilabili. Da questa pagina potete fare il download dei file che vi interessano.

Al termine dell’installazione sarà sufficiente lanciare l’eseguibile truecrypt anche da riga di comando.
L’interfaccia che vi si presenterà sarà più o meno la seguente:

L'interfaccia di amministrazione di TrueCrypt

Attraverso la voce di menu: Volumes => Create New Volume… è possibile creare il nostro primo volume.
Prima di iniziare è meglio capire cosa sia un volume e le tipologie dei volumi creabili.

Un volume è essenzialmente un file criptato (grande tanto quanto la dimensione che abbiamo scelto all’atto della creazione) che risiede all’interno del nostro disco non criptato.
Questi file, che sono i nostri volumi, sono gestibili solamente da TrueCrypt che può montarli e farli diventare dispositivi rimovibili inseriti e può ovviamente smontarli.

TrueCrypt supporta volumi standard o di tipo hidden. I volumi hidden vengono creati all’interno dei volumi standard e sono gestiti da una differente password. In pratica è come se avessimo un doppio fondo nella nostra cassaforte gestito da una differente chiave.

Quando creiamo il nostro volume ci verrà chiesto il tipo di algoritmo da utilizzare per la criptazione dei dati. Alcuni di questi sono molto sicuri ma un pò più lenti durante le operazioni di lettura/scrittura, altri sono più veloci ma più facilmente attaccabili.
Oltre al tipo di algoritmo ci verrà anche chiesta una nuova password per l’accesso nonchè la dimensione da riservare al volume.

E’ importante sapere che anche i volumi hidden all’interno dei volumi standard hanno una loro dimensione che deve essere necessariamente inferiore alla dimensione del volume standard che li contiene.

Bisogna fare molta attenzione nello spazio occupato all’interno dei volumi hidden perchè erode spazio disponibile al volume standard e potrebbe compromettere il contenuto del volume standard!

Un volume TrueCrypt montato

Quando si aprirà il file criptato con la password del volume standard TrueCrypt ci monterà e farà vedere il contenuto del volume standard; con la password del volume hidden TrueCrypt ci monterà e farà vedere il contenuto del volume hidden.

Non avete più scuse per nascondere i file segreti a vostra moglie! Criptate gente, criptate.

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!

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