26/03/2013

Open source

gnuMi capita abbastanza frequentemente di discutere di software open source e uno dei dubbi che spesso sorgono è come contribuire ad un progetto.

Il modello di sviluppo open è una realtà che oggettivamente ha cambiato l’information technology, questo è un dato di fatto incontrovertibile, ed è un fenomeno sorprendente sia dal punto di vista tecnico che sociale.
Basta provare a lavorare in gruppo per un qualche ora per rendersi conto di quanto sia difficile coordinarsi e fare davvero “team”, già perchè è facile scrivere sul CV cazzate false tipo “ottima predisposizione al lavoro di gruppo”, un altro paio di maniche è metterlo in pratica, figuriamoci quando il gruppo è distribuito su un intero pianeta e composto dal più ampio e variegato campionario umano.

La domanda che però molti si pongono è come contribuire concretamente ad un progetto che ci sta particolarmente a cuore, oppure che semplicemente ci è risultato utile.
Dal punto di vista tecnico lo sviluppo di un progetto è una attività complessa che richiede competenze specifiche che solo una percentuale ridottissima degli utenti possiede; poi ci sono altri compiti altrettanto utili e meno impegnativi dal punto di vista tecnico (test, traduzione di documentazione, moderazione di forum e mailing list, creazione di how-to e guide di vario tipo) ma anche questi non sempre sono alla portata di tutti, quantomeno non della maggior parte degli utenti.

Ci sono però due altre cose che un progetto open-source necessità e su cui tutti possono impegnarsi:

  1. pubblicità
  2. risorse (banda e storage)

Riguardo alla prima c’è poco da dire, non perchè sia poco importante (anzi!) ma perchè è abbastanza autoesplicativa, riguardo al punto due invece qualche considerazione possiamo farla.

Anni fa i progetti open source venivano distribuiti mediante mirror, ovvero server che venivano aggiornati con i rilasci del progetto e che mettevano a disposizione spazio e connettività per permettere alla comunità di scaricare i file e poter beneficiare dei software.
Chiaramente nell’era delle connessioni analogiche (ricordate il vecchio modem 56k?) tutto questo era ad esclusivo appannaggio di pochi, principalmente aziende che in cambio di queste risorse venivano citate tra i “contributors” del progetto.

Se ci pensiamo al giorno d’oggi praticamente tutti (digital divide permettendo) godono di una connessione adsl flat con tagli di banda generosi, connessioni che generalmente sono inutilizzate per la stragrande maggioranza del tempo.
Come se non bastasse oggi esistono sistemi (il celebre Raspberry PI ne è un esempio) dal costo ridicolo (a partire da poche decine di euro) e dall’assorbimento ridottissimo (2-3W per il già citato Raspberry PI, meno di una TV in standby) che sono perfette per questo scopo, a questo aggiungiamo che gran parte dei progetti utilizza come sistema di distribuzione sistemi di file sharing come bittorrent.

Quindi quale miglior modo per contribuire ad un progetto open source offrendo un po’ di banda della propria connessione domestica, magari organizzandosi con dei semplici script per attivare il client bittorrent nelle ore in cui non utilizziamo la linea, siamo fuori casa, al lavoro, oppure semplicemente stiamo dormendo.

Ad esempio con una qualsiasi distribuzione linux e l’ottimo client bittorrent Transmission basta mettere in download una qualsiasi versione di un progetto e lasciare il tutto in seed una volta terminato il download, inserendo dei banalissimi cronjob per arrestare il servizio (schedulato ad esempio quando pensate di tornare a casa dopo una giornata di lavoro, nell’esempio alle ore 19):

00 19 * * * /etc/init.d/transmission-daemon stop > /dev/null 2>&1

e per farlo ripartire (quando generalmente ve ne andate a letto la notte, nell’esempio alle 2):

00 02 * * * /etc/init.d/transmission-daemon start > /dev/null 2>&1

Si tratta di una cosa semplice, alla portata di tutti, che ha un impatto economico ridicolo, ma di grande utilità, pensateci

29/10/2012

Assorbimento Raspberry PI

Ho provato a misurare l’assorbimento elettrico di Raspberry PI.

Con il primo test ho cercato di misurare l’assorbimento elettrico in idle partendo da Raspberry spento ma alimentato, procedendo poi ad un avvio dello stesso fino al termine del boot di raspbian.

Con il secondo test ho cercato di misurare l’assorbimento sotto stress computazionale compilando i sorgenti di Quake 3.

Prossimamente cercherò di effettuare un ulteriore stress test includendo anche la componente GPU, stavo pensando ad una timedemo di Quake 3 (per il rendering 3D) e la decodifica mpeg con qualche filmato.

27/10/2012

Raspberry PI

Finalmente è giunta l’ora! Finalmente il tanto agognato Raspberry PI è arrivato!

Non mi dilungherò sulle caratteristiche dell’oggetto, dato che ormai il progetto ha raggiunto una notorietà tale da non richiedere ulteriori commenti, se non lo conoscete potete trovare tutte le informazioni sull’ottimo sito ufficiale http://www.raspberrypi.org/

Ahimè il mio esemplare (che ho prontamente ribattezzato KenderPI) risulta essere dotato di 256MB di ram contro i 512MB dei nuovi modelli, non mi sarebbe dispiaciuto ricevere il nuovo modello, ciò nonostante posso comunque considerarmi soddisfatto data la lunga attesa (quasi 6 mesi) per poterci mettere sopra le mani e considerando che si tratta di un esemplare perfetto e senza problemi.

L’acquisto è stato fatto tramite il noto sito RS Online (uno dei due distributori ufficiali), dal quale ho ordinato anche un alimentatore micro USB e un case in plexyglass davvero molto carino (giudicate voi dalle immagini).
Per poter operare in totale autonomia poi ho acquistato separatamente l’ottimo cavo HDMI->DVI di Amazon Basic e una SD Sandisk Extreme class 10 45MB/s da 32GB di capacità.

Il feedback iniziale è ottimo su tutti i fronti, Raspberry PI è molto solido e il case che ho acquistato lo rende di fatto indistruttibile e adatto ad essere maneggiato e trasportato in tutta sicurezza, oltre che davvero carino da vedere.
Il cavo acquistato su Amazon è a dir poco perfetto, minima spesa massima resa!
La SD Sandisk per ora si sta comportando bene, voglio effettuare qualche benchmark dettagliato prima di sbilanciarmi in giudizi.

Dal punto di vista software sono rimasto davvero molto colpito da quanto si sia evoluto il progetto rispetto al periodo iniziale.
In passato avevo letto commenti piuttosto critici  riguardo alla fase di setup iniziale del sistema operativo, considerata da molti troppo ostica; l’attuale release di Raspbian (la distribuzione ufficiale del progetto derivata da Debian) invece è estremamente semplice da “installare”, anzi di fatto non si tratta nemmeno di una installazione a tutti gli effetti, dato che basta semplicemente trasferire l’immagine del sistema operativo sulla propria SD, infilarla nell’apposito slot e alimentare Raspberry.

Prossimamente pubblicherò un test su assorbimento elettrico del dispositivo, benchmark relativi allo storage e rete, e un primo test con Quake3! :)

 

| Post successivi »