PiumaLab

Idee, esperimenti, tentativi e molto altro

Roundcube: risolvere l'errore Net_LDAP2_RootDSE::construct() must be public

Per rosolvere il seguente errore in roundcube

PHP Fatal error: Access level to Net_LDAP2_RootDSE::__construct() must be public (as in class PEAR) in roundcubemail/vendor/pear-pear.php.net/Net_LDAP2/Net/LDAP2/RootDSE.php on line 238

Seguire i passi:

  • cd <roundcube-root-folder>
  • Installare composer.phar: curl -s https://getcomposer.org/installer | php
  • copiare il template composer.json-dist in composer.json
  • modificare il file composer.json, nella sezione "require" aggiungere la riga"pear-pear.php.net/net_ldap2": "~2.2.0",
  • lanciare il comando: php composer.phar update

Cancellare i file creati dall'apertura di un archivio

unpkg.sh: Un piccolo ma molto utile script

Quante volte ci è capitato di estrarre archivi e ritrovarci con centinaia di files e directories sparsi ovunque. Questo accade quando gli archivi sono sono creati senza includere la cartella di lavoro. Quello che potevate fare fino a ieri è di cancellare tutti i file nuovi facendo molta attenzione a non toccare i file che erano lì precedentemente.

Oggi grazie a questo piccolo script Bash è possibile fare questo in modo del tutto automatico e senza rischi per il sistema e per i nostri files.

Read More

Conta il tempo trascorso con Arduino

Cercate un regalo nerd per il vostro anniversario? Questo può essere una buona idea, conta il tempo felice trascorso insieme. Appena si accende compare un messaggio che potrete personalizzare, poi inizierà a contare il tempo da una data iniziale impostata nel codice. Per la realizzazione è stato utilizzato arduino, Un display lcd 16x2 e un modulo Real Time Clock con batteria per tenere il conteggio del tempo anche in assenza di tensione.

Read More

perl Net-IMAP-SimpleX-SSL module

La libreria Net::IMAP::SimpleX e` un estensione perl per la gesione di account IMAP. In particolare la SimpleX estende la Net::IMAP::Simple derivandone tutti i metodi e aggiungendone altri molto utili come:

  • body_summary: Ritorna un oggetto che mappa il body di una email
  • fetch: Ritorna varie parti del messaggio a secondo del filtro impostato
  • uidfetch: Simile a fetch solo che l'interrogazione avviene tramite uid al posto del numero del messaggio

La libreria Net::IMAP::SimpleX::SSL aggiunge il supporto SSL alla libreria Net::IMAP::SimpleX. Supporta le connessioni SSL e STARTTLS. Rispetto alla base cambia il costruttore che riceve le opzioni per ssl.
Read More

Jboss as 7 disegnato per essere flessibile

Jboss-AS7 La prima versione di Jboss 7 fu rilasciata nel novembre 2010, già da allora è possibile apprezzare il lavoro del team di RedHat e della comunità che ha lavorato alla realizzazione dell'Application Server.

La versione 7 segna un punto di svolta rispetto alle versioni precedenti, esso infatti ha subito un processo di restyling completo, distaccandosi molto dalle versioni precedenti come se fosse a tutti gli effetti un prodotto nuovo , che tuttavia può contare sulla grande esperienza accumulata negli anni dal gruppo di sviluppo.

Di seguito vengono riportate alcuni punti di forza del nuovo Jboss che forniscono notevoli vantaggi rispetto agli altri AS.

Read More

Display per il livello di una cisterna

pozzo In questo articolo vedremmo come costruire un dipositivo in grado di leggere e visualizzare in un display l'altezza del livello di acqua in un pozzo o una cisterna. Utilizzeremo un dispositivo hardware Open Source chiamato Arduino, un sensore ad ultrasuoni per misurare l'altezza dell'acqua, un display LCD di 16 caratteri su due linee e un buzzer che ci avvertirà se il livello supera una certa soglia.

Panoramica

Il progetto, come abbiamo già accennato, è composto da più parti. Un sensore sonar da posizionare nella parte alta del pozzo (lontano dall'acqua) che guarda verso il basso così da misurare la distanza tra il punto più alto del pozzo e l'acqua. Facendo una semplice differenza tra l'altezza dal fondo al sensore e la misura letta otteniamo l'altezza dell'acqua. Ad intervalli di tempo prestabiliti verrà letta la quantità dell'acqua e visualizzata sul display. Se il livello supera una soglia scatterà un allarme che fa suonare il buzzer fino a quando il livello scenderà di nuovo sotto la soglia o quando si disattiva manualmente la suoneria.
Read More

Makefile per Java

gnu make Quanti di voi programmatori Java hanno avuto problemi per la compilazione di programmi? librerie fuori da $CLASSPATH, parametri chilometrici da passare al compilatore Java. Anche usando ambienti di sviluppo per Java la situazione non migliora di molto. Spendiamo molto tempo a settare paramteri e ogni volta che lanciamo la compilazione manca sempre qualcosa!
Potete evitare tutti questi problemi semplicemente organizzando i sorgenti Java e usando un Makefile scritto ad hoc.
Read More

Alla ricerca del CAPTCHA perfetto

Un CAPTCHA, "completely automated public Turing test to tell computers and humans apart", è un test in grado di determinare se l'utente sia effettivamente
umano e non un computer. Questi metodi vengono utilizzati per impedire che i bot utilizzino dei servizi come scrivere commenti o riempire form. L'uso dei captcha risulta essere indispensabile per evitare il proliferare dello spam.

Come si giudica un buon captcha

Molti di voi penseranno che un buon captcha sia quello più difficile da risolvere. Così da rendere la vita difficile agli algoritmi. Per quelli di tipo visuale esistono infatti algoritmi in grado di convertire un immagine in un testo chiamati Optical Character Recognition. Io credo che le caratteristiche che rendano un captcha buono siano altre, come l'accessibilità, la facile comprensione da parte di un umano, la possibilità di essere generati in modo automatico e allo stesso tempo abbastanza complesso da risultare impossibile da risolvere da parte di algoritmi anche basati su intelligenza artificiale. La sfida che mi sono posto è quella di poter realizzare un unico captcha che ha queste caratteristiche. Perché dico unico, perché sempre più spesso i siti utilizzano più di un metodo di autenticazione in parallelo come un captcha visuale affiancato da uno sonoro. Dopo che si sono accorti che uno di essi o entrambi non risultano efficaci.
Read More

Congettura di Goldbach

Una congettura è una affermazione ritenuta probabilmente vera ma non ancora dimostrata. Una vota dimostrata la sua validità diviene un teorema. La Congettura di Goldbach è uno dei problemi più vecchi non ancora risolti, infatti risale al 1742, fu enunciata da Goldbach e riformulata da Euler nel seguente modo:

Ogni numero naturale pari maggiore di 2 puo' esere scritto come la somma di due numeri primi.

Proviamo a dimostrare la sua inesattezza

Su una congettura possiamo effettuare due tipo di dimostrazioni, possiamo dimostrare la sua correttezza o la sua inesattezza. Ovviamente l'una esclude l'altra. Tenteremo di dimostrare che la congettura è falsa, per fare ciò basta trovare un controesempio tele che l'enunciato risulti falso. Quindi nel nostro caso basta trovare un solo numero pari che non è la somma di due primi. Per trovare questo numero scriveremo un programma.
Read More

SignID: un avatar in alternativa a Identicon, MonsterID e Wavatar

Che cosa è un avatar?

Un avatar è un immagine identificativa generata in modo univoco per ciscun commentatore di un blog in modo da associare i vari commenti agli utenti. Per fare questo può essere preso in considerazione l'indirizzo IP, ma facendo così avremmo avatar differenti per lo stesso utente che commenta in due sessioni (con IP diverso) separate, oppure l'indirizzo email.

Quest'immagine identifica univocamente un utente, alcuni siti permettono la registrazione e l'inserimento di un avatar proprio. Questo porta necessariamente all'inconveniente che per poter postare un proprio commento è necessario prima aver effettuato una registrazione. Il modo per ovviare a questo problema esiste ed è molto semplice. Ci sono alcuni siti, il più conosciuto è Gravatar che permette di associare ad un hash un immagine. L'hash può essere calcolato dall'indirizzo email dell'utente mentre l'immagine potrà essere una Identicon, MonsterID o Wavatar come mostrato in figura.
Read More