Davide Targa website

Programming, web development and open source

Raspberry Pi: Invio Di Mail Tramite Gmail

La configurazione di un server di mail per Raspberry Pi può essere utile in numerose situazioni. Una delle principali è la possibilità per cron di inviare mail al termine dell’esecuzione dei job.

Il modo più semplice di abilitare il nostro Raspberry Pi (con Raspbian) all’invio di mail, è forse per mezzo di SSMTP, ma personalmente non ho avuto molta fortauna con questo metodo. C’è da dire che SSMTP permette di avere una configurazione forse più “leggera” in quanto non è necessario installare un server di mail. In ogni caso io ho scelto di installare exim4. Vediamo come si procede:

Gnucash: Opzione Formato Dei Dati Mysql Mancante

Dopo l’installazione di GnuCash, mi è capitato di volere impostare il formato si salvataggio dei dati su mysql anzichè su xml. Inizialmente l’opzione ‘mysql’ non era disponibile tra le varie scelte.

Ho risolto semplicemente installando il pacchetto mancante libdbd-mysql, il driver Perl di interfaccia al database mysql.

1
sudo apt-get install libdbd-mysql

Django: Inspectdb Con Oracle

Django è in grado di generare in modo automatico il file dei model (models.py) per mezzo dello script manage.py. Purtroppo il comando sembra non funzionare correttamente con i database Oracle. Ho risolto questo problema andando a modificare una piccola parte del codice di django.

Disinstallazione Completa Di GoMobile Da Plone 4

Recentemente ho avuto a che fare con un sito Plone 4 (migrato dalla versione 3.3.5) dove era installato il prodotto mfabrik.webandmobile. Il prodotto era stato installato per fornire appunto una versione mobile di un sito Plone che fosse raggiungibile a un indirizzo del tipo m.example.com.

Con l’avvento dei layout responsive, si è preferito implementare la visualizzazione per dispositivi mobili direttamente con i CSS per mezzo delle media queries. Ciò ha portato quindi a una disinstallazione del prodotto in questione.

La disinstallazione purtroppo non è stata però del tutto “pulita”, infatti accedendo al sito da dispositivi mobili, gomobile continuava a redirigere le richieste al dominio m.example.com anche se non più presente. Tra l’altro nei vari oggetti del sito continuavano a rimanere delle marker interfaces che sembrava impossibile rimuovere:

1
2
gomobile.convergence.interfaces.IConvergenceSupport
gomobile.mobile.interfaces.IMobileContentish

Dopo ore di ricerca sono arrivato a una soluzione del problema e sono riuscito a rimuovere i residui di gomobile che sono rimasti dopo la sua disinstallazione.

Creazione Di Un Egg Python

Un egg python è essenzialmente una struttura logica di un pacchetto per il rilascio e la distribuzione di progetti python. Si tratta della stessa idea degli archivi .deb per le distribuzioni linux debian based o degli archivi .jar per di java.

In questo post effettueremo la creazione e il rilascio di un egg per mezzo del prodotto jarn.mkrelease.

Migrazione Di Un Repository SVN a GIT

La migrazione di un repository svn a git può essere effettuata anche tramite git stesso con il comando git-svn. Il problema di questa strategia è che non vengono preservati i tag e i branch presenti nel repository svn. E’ pertanto opportuno usare uno strumento che preservi questi aspetti del repository anche nel passaggio a git. Svn2Git è una utility scritta in ruby e disponibile in forma di gemma (rubygem) che non è altro che un wrapper del comando git-svn in grado di convertire branch e tag svn in branch e tag su git. Vediamo come utilizzarla!

Creazione Di Un Reverse Proxy Con Apache

Supponiamo di volere creare una configurazione di reverse proxy su Apache per il server CUPS. CUPS è normalmente accessibile localmente all’indirizzo http://localhost:631. Per renderlo disponibile anche a connessioni esterne (cosa sconsigliata) è necessario configurare un reverse proxy con Apache.

Warning Sulla Directory Blob in Plone 4.1

Al lavoro ho recentemente iniziato a studiare Plone 4.1 di cui ho subito effettuato una installazione da buildout.

Il setup utilizzato è fondamentalmente lo stesso che utilizzavo con plone 3:

  • pythonbrew
  • virtualenv
  • setuptools/pip

Una volta completato il buildout e avviato Zope, mi appare il seguente warning:

1
2011-11-17 09:05:11 WARNING ZODB.blob (3137) Blob dir /home/davide/plone/var/blobstorage/ has insecure mode setting

Installazione Di Plone/Zope Con Pythonbrew E Virtualenv

Il setup utilizzato per questa installazione di Zope/Plone fa uso di Pythonbrew. Ho installato quindi pythonbrew e la versione 2.4.5 dell’interprete Python come descritto in questo mio post precedente.

Dopo di questo ho installato virtualenv per mezzo di easy_install e ho creato un nuovo virtualenv. In questo caso chiamiamo la cartella di lavoro con il nome devel. Dobbiamo attivare ora il virtualenv appena creato. Spostiamoci quindi dentro la cartella devel con il comando:

1
$ cd devel

e attiviamo il virtualenv con:

1
2
$ source bin/activate
(devel)