Ci sono giorni..in cui è Natale

Ci sono giorni in cui le tue mani scorrono veloci sulla tastiera, come i tuoi pensieri. Ci sono giorni in cui la mente si blocca, le parole si bloccano. Ci sono giorni in cui fuori piove, e la pioggia ti parla, ti accudisce, ti pervade l’anima.Ci sono giorni in cui il cielo sembra una benedizione, ci sono giorni in cui vedi solo la terra e sopraggiunge la disillusione.Ci sono giorni in cui credi in te stesso e correresti per le strade gridandolo a tutti. Ci sono giorni in cui non vedi una via d’uscita. Ci sono giorni in cui sei fiero del tuo dolore perché ti ha reso migliore. Ci sono giorni in cui sei fiero del tuo dolore perché ti ha reso peggiore…

Ci sono giorni in cui non importa come ti senti, a cosa pensi o a cosa fai. Ci sono giorni in cui il semplice sorriso di un familiare più portarti gioia, giorni così sono rari, ma spero e vi auguro che oggi sia uno di questi.

A chiunque legga questo post, Auguri di Buon Natale..

Buone Feste!!!

Noi di Vita da Studente, facciamo a tutti Voi lettori un augurio speciale per queste feste, dedicandovi uno dei pezzi musicali “must have” nel vostro iPod durante questo periodo natalizio.

Un pezzo scritto da John LennonYoko Ono traendo spunto da un vecchio brano folk, da loro inciso ai Record Plant (East) Studios di New York il 28 e 29 ottobre 1971, sotto la produzione di Phil Spector, è nato come brano di protesta contro la guerra in Vietnam ed è successivamente diventato tra i più noti classici natalizi.

(Fonte: Wikipedia)

Tanti auguri da parte di tutto il nostro Staff!!

Guerra Tra Licenze Software: GPL vs BSD

Chiunque abbia smanettato o semplicemente usato qualche software Open-Source ( gratuito ), ha sicuramente letto da qualche parte questi due acronimi: GPL e BSD.

GPL ( General Public License ) e BSD ( Berkeley Software Distribution ) sono due tipi di licenze software, contratti tra il copyright ( chi ha scritto il codice) e l’utente finale che lo utilizza. Il loro compito e’ quello di specificare le condizione di utilizzo di un prodotto software.

Ad oggi esistono ben 73 licenze approvate, e come potete ben immagine molte di esse sono incompatibili tra loro 😛 per tale motivo districarsi e comprendere alcune di esse, nel nostro caso solo GPL e BSD, e’ di fondamentale importanza nello sviluppo di un Sistema Software che utilizza codice di terze parti.

GPL e’ una licenza copyleft, il che vuol dire che si offre la possibilita’: di eseguire,di avere i codidici sorgenti,di redistribuire e di modificare liberamente il codice con la sola restrizione/obbligo che il codice risultante eredita la stessa licenza dei codice sorgente originario, ovvero nel caso usassimo nel nostro programma un pezzo di codice ( Ex. importiamo staticamente una libreria ) con licenza GPL anche il nostro programma avra’ lo stesso tipo di licenza GPL del codice incorporato. Tale restrizione viene usata per assicurare la liberta’ del software. Nel caso in cui la libreria usata sia di tipo GPL e viene importata dinamicamente nel nostro progetto, in tal caso siamo liberi di scegliere quale licenza utilizzare.

BSD e’ una licenza permissive, a differenza della licenza GPL permette al codice redistribuito o modificato la possibilita’ di rendere il codice risultante con una licenza piu’ restrittiva dell’originale. Per esempio, il codice rilasciato con licenza BSD puo’ cambiare la licenza finale, per cui e’ possibile rendere commerciale il prodotto software.

Quando usiamo una licenza BSD, il nostro codice e’ free cosi’ come se fosse sotto licenza GPL. Tuttavia, una Software Farm puo’ prendere il nostro codice, incorporalo nel proprio prodotto proprietario, e ( in base alla diverse versioni della licenza BSD ) non riceveremo nessun compenso per il nostro lavoro. Se questo  e’ esattamente quello che volete, la licenza BSD fa a caso vostro 😀

Per cui state molto attenti quando rendete disponibile il vostro codice al pubblico.. e ricordatevi di questo piccolo post per scegliere quale licenza applicare 😀

Una piccola tabella riepilogativa che potra’ esservi molto utile nella comprensione immediata delle differenze fondamentali tra le due licenze piu’ diffuse.

Hadoop: Implementazione Algoritmo Clustering K-means

Grazie all’esame di Programmazione Concorrente ,che spero sosterro’ a breve :P, mi sono cimentato con l’implementazione dell’Algoritmo di Clustering K-means utilizzando il framework Hadoop ed i suoi costrutti per la programmazione parallela, l’esempio in javascript puo’ aiutarvi nella comprensione reale dei problemi che e’ possibile risolvere utilizzando K-means.

Nel caso non conosceste ancora Hadoop vi consiglio di leggere il nostro articolo su Hadoop per avere un’idea di base del funzionamento di Hadoop e del paradigma Map-Reduce e sulla configurazione sul proprio computer

Il tutto e’ stato sviluppato con il linguaggio di programmazione Java ed utilizzando il paradigma Map-Combiner-Reduce.

 

 

Vi allego subito il codice delle varie classi, dato che sara’ molto piu’ chiaro di una mia eventuale spiegazione ( caspita come mi butto a terra da solo 😀 ).

Purtroppo a causa della paginazione del blog il codice sara’ poco chiaro.. per cui vi bastera’ cliccare sul nome della classe per visualizzare il file sorgente .java

Leggi tutto “Hadoop: Implementazione Algoritmo Clustering K-means”