05/nov/2013

Da HTML::Mason a Mason2... primi passi

Attenzione, questa pagina potrebbe contenere inesattezze: sono soltanto degli appunti su cui sto ancora lavorando!

Installazione Mason2

La nuova versione di HTML::Mason si chiama semplicemente Mason, ed è un sistema per la creazione di template e contenuti dinamici.

A differenza di HTML::Mason, la nuova versione si occupa di gestione pura dei template ed è stata resa indipendente dall'ambiente Web, la parte di integrazione con il server Web è invece che è realizzata dal framework Poet, tramite utilizza PSGI/Plack.

L'installazione di Poet si può fare in questo modo:

cpanm -S --notest Poet

e poiché Mason è un prerequisito, verrà installato anch'esso. cpanminus è un componente per la gestione di pacchetti presenti in CPAN.

Installiamo anche Mason::Plugin::PSGIHandler con il quale possiamo creare il nostro primo sito funzionante:

mkdir /var/wwwmason
mason_psgi_setup /var/wwwmason/firstapp/

ora per lanciare il nostro sito possiamo usare il seguente comando

cd /var/wwwmason/firstapp/; plackup -r

e il nostro applicativo sarà in ascolto su http://localhost:5000
se vogliamo configurare Apache per caricare il nostro sito, proviamo così:

<Location "/firstapp">
  SetHandler perl-script
  PerlResponseHandler Plack::Handler::Apache2
  PerlSetVar psgi_app  /var/wwwmason/firstapp/app.psgi
</Location>

attenzione che sembra convenga utilizzare plackup -r per lo sviluppo, mentre la soluzione su Apache va bene per i sistemi in produzione ma risulta difficoltoso ricaricare l'applicativo senza fare il restart di Apache: How do you deploy a PSGI script in Apache without restarting?

verificare anche i permessi della directory /var/wwwmason/firstapp/data dove Mason va a creare la cache ed i file precompilati.

09/gen/2013

Obtain name, type and precision for columns in DBI

I had to find the structure (name, type, and precision for every column) of a table, connected via JDBC using DBI, and this is how I did it:
#!/usr/bin/perl

use DBI;

my $host = '127.0.0.1';
my $url = 'jdbc:Cache://127.0.0.1/SOURCE';
my $dbo = DBI->connect("dbi:JDBC:hostname=$host;port=9001;url=$url", 'username', '***')
  or die $DBI::errstr;

my $qry = $dbo->prepare("select * from custom.table");

$qry->execute();

print "Structure of $table \n\n";

my $num_fields = $qry->{NUM_OF_FIELDS};

for (my $i=0; $i< $num_fields; $i++) {

  my $field = $qry->{NAME}->[$i];
  my $type = $qry->{TYPE}->[$i];
  my $precision = $qry->{PRECISION}->[$i];
  print "$field, $type, $precision\n";
}

$qry->finish();

15/ott/2012

Nuova SIM e controlli di sicurezza vodafone

Causa acquisto nuovo cellulare, che richiede la Micro-SIM, e causa taglio artigianale SIM non andato a buon fine, mi reco ad un vodafone point per richiedere una nuova Micro-SIM funzionante.

L'operatrice mi richiede il cartellino con il codice fiscale.
Poi mi chiede il numero di telefono che scrivo su di un post-it.

Poi mi consegna, gratuitamente, la nuova Micro-SIM, già immediatamente funzionante.

Hey! Ma l'operatrice non mi ha chiesto carta d'identità o passaporto, nemmeno la patente, ed il codice fiscale non è un documento di riconoscimento, non ha la foto, non ha nessun sistema di sicurezza (PIN, Microchip, RFID, o quant'altro) ed è semplicemente riproducibile.

Senza controlli aggiuntivi, chiunque può richiedere una nuova SIM a nome di chiunque altro....!

12/lug/2012

PDF firmati digitalmente... alcuni appunti

Come gestire un PDF firmato digitalmente:

http://www.egov-pa.it/component/content/article/7-articoli/firma-digitale/11-come-gestire-un-pdf-firmato-digitalmente.html

deploy delle impostazioni di sicurezza:

http://blogs.adobe.com/pdfitmatters/2010/02/deploying_acrobat_to_import_se.html

come esportare/importare le opzioni di sicurezza:

http://learn.adobe.com/wiki/download/attachments/52658564/acrobat_reader_security_9x.pdf#page=37

okay non è un vero post, sono solo degli appunti che mi servono... intanto lo pubblico, poi se sarà... scriverò un articolo più completo.

02/gen/2012

Chi è il mio CSR?

Sono sempre stato un professionista nel ricordare PIN, password, codici di accesso vari. E quando mi rendo conto che non vale la pena ricordare, so che devo scrivere le credenziali in un posto comodo e sicuro.

Ma con il SecureCode delle carte di credito MasterCard ho sempre avuto un brutto rapporto.

Oltre al codice scritto sulla carta di credito, ed oltre al codice di sicurezza stampato sul retro, alcuni esercizi commerciali su Internet richiedono, per le carte MasterCard, anche l'inserimento di un SecureCode, in pratica una password da associare alla carta. Fatto sta che la prima volta ero di fretta... inserire nuova password... confermare nuova password... nuova password inserita a caso ... pagamento andato a buon fine! Yuppy!

Ma da quella volta non me ne è più andata bene una! Grazie a dio, prima di sbagliare il codice per tre volte, è sempre possibile cliccare su "SecureCode dimenticato", inserire qualche piccolo dettaglio personale (e probabilmente noto a tutto il mondo tipo data nascita codice fiscale etc. etc.), ed inserire un nuovo codice, bello fiammante, pronto per essere scordato.

E se invece digita la password errata per ben tre volte? Io ho dovuto chiamare mia sorella, che mi ha prestato la sua di carta e meglio ancora, mi ha anche accompagnato fino in stazione dove ho preso appena in tempo il treno per Milano con il biglietto appena acquistato. Ma se non c'è così tanta fretta, a mente lucida, si telefona al numero verde scritto sulla carta, si comunica qualche dato personale, et voilà! Codice resettato, al prossimo acquisto se ne inserisce uno di nuovo (probabilmente è ciò che dovrà fare mia sorella visto che il codice che le ho inserito proprio non me lo ricordo).

Fatto sta che mentre stavo acquistando un biglietto Venezia - New York dal sito della Delta Airlines, al momento dell'inserimento del Secure Code mi esce questo inquietante e criptico errore:

Your authentication could not be completed because of a system error.
If this happens consistently, please contact your CSR.

Provo. Riprovo. Esco. Riprenoto. Reinserisco i dati. Cancello i moduli. Mi sconnetto e riconnetto. Ricompilo.

Sempre, consistently, lo stesso errore!

Così, non so perché, ma provo a rifare tutto utilizzando Internet Explorer al posto di Chrome. Clicco su "Secure code dimenticato" (ovvio, no? ormai non ci provo neanche più. sometimes life it's so easy!), imposto il nuovo secure code e... volo prenotato!!!

Non posso crederci. New York, aspettami!

08/nov/2011

Google, catch 22

Cosa c'è di meglio che aprire Google per trovare una risposta, sentirsi fortunati perché Google ci porta precisamente sulla domanda di un tizio con il nostro stesso problema, e però l'unica risposta è un tizio incazzato nero che dice: ma è mai possibile? ancora questa domanda? Perché invece di continuare a farci perdere del tempo, prima di scrivere una domanda non cerchi un po' su Google?

01/set/2011

Google Italy Blog: Musica a tutto Chrome, anche in estate la tua musi...

Google Italy Blog: Musica a tutto Chrome, anche in estate la tua musi...: Stanchi della radiolina portatile, delle canzoni trasmesse in spiaggia, del numero limitato di brani sulla vostra playlist? L’estate è tempo...