Archive for the ‘Programmazione’ Category

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.

Cancellare i file creati dall’apertura di un archivio

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.

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.

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.

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.

Bashnya l’evoluzione della dama russa

lasca Il gioco, chiamato anche Bashne, si è diffuso in Russia nel XIX secolo; la prima descrizione risale al 1875. E’ in qualche modo imparentato con la

Dama Russa (la posizione iniziale è la stessa), ma le regole di cattura sono del tutto originali. Il gioco ha ispirato nel 1913 il Laska o Lasca, ideato dall’allora campione del mondo di scacchi Emanuel Lasker; la differenza fra i due giochi sta semplicemente nelle dimensioni del tavoliere.

Vedremo prima le regole del gioco e poi un programma che ci permette di sfidare qualcuno in questo fantastico gioco.

Risolvere il sudoku

Vedremo insieme come scrivere un programma per trovare la soluzione ad un sudoku.

Ripassiamo le regole del gioco. Si gioca su una griglia 9×9 divisa in altre griglie 3×3 che chiameremo regioni o riquadri. Il sudoku inizia con una griglia già contenente dei numeri, l’obbiettivo del gioco è quello di riempire le celle vuote con i [...]

Volumegain: allineamento del volume tra stream

Il problema dell’allineamento dell’audio

Ascoltando tracce audio diverse spesso percepiamo differenti livelli di volume. Questi continui sbalzi di volume tra una traccia e la successiva possono essere molto fastidiosi, possono farci perdere la concentrazione e constringerci a cambiare in continuazione il livello del volume manualmente.
Il problema riguarda tutti quei casi in cui è necessario concatenare tracce [...]

ssh / scp: password a linea di comando e shellselect

Perché è sbagliato

Vi sarà passato per la testa almeno una volta nella vita di poter passare la password come opzione al client ssh. Allora per quale motivo OpenSsh non lo ha previsto?

Alcuni motivi potrebbero essere questi

Non è sicuro, se passiamo la password come opzione verrà loggata tra i comandi digitati, la ritroveremo nel file ~/.bash_history, [...]

Hacking dei videotelefoni (2)

priamo il browser all’indirizzo http://192.168.1.2:8080/ e vedremmo una pagina di login molto scarna, probabilmente l’interfaccia web e` stata fatta per il debug e usata solo dagli addetti ai lavori (e da noi!!)
Viene visualizzata una pagina con un un tastierino numerico su cui dovremmo inserire un codice per avere l’accesso

A prima vista non mi da l’impressione [...]