26/08/2013

internet.org

Durante questa settimana un po’ tutti i media non hanno lesinato elogi di fronte alla filantropica iniziativa di Mark Zuckerberg internet.org, ma quanto c’è veramente di filantropico dietro a questa mossa?

Vediamo di capirci un po’ meglio, partiamo dal presupposto che questa iniziativa sia veramente filantropica, insomma una roba alla “one laptop per child” che permetta alle popolazioni che vivono in paesi economicamente svantaggiati di acculturarsi e migliorare la propria vita o la società in cui vivono.

Prendiamo quindi ad esempio la nostra società, che bene o male questi mezzi già li possiede (più o meno…) e osserviamo quanto il web migliora la nostra vita; certamente è uno strumento utile, ci permette di raggiungere informazioni di cui non eravamo a conoscenza, ci permette di partecipare e di contribuire a questa “conoscenza globale” sottoforma di post sui blog, di interventi sui forum, di discussioni sui newsgroup.
Ma in realtà quante delle attività online sono finalizzate a tutto questo?

Qual’è invece il peso delle attività futili, certamente divertenti, ma scarsamente educative o comunque migliorative della nostra condizione di esseri umani?
Tutti i milioni di utenti che popolano i social network e che si scambiano miliardi di informazioni sottoforma di brevi messaggi da 160 caratteri, immagini più o meno divertenti, fotografie taggate e click su “mi piace”, quanto sono significativi in termini di contributo all’umana evoluzione? Qual’è il peso di un post su twitter o di una foto taggata rispetto chessò ad un post di un paio di pagine su un blog?
Per carità, anche il post su un blog o una discussione su un forum può essere frivola, divertente e intellettualmente non elevata, ma presuppone una attività partecipativa che comporta una riflessione.

Se poi andiamo a vedere le statistiche scopriamo che la propensione a intraprendere attività intellettualmente stimolanti online è fortemente influenzata dalla classe sociale in cui si è cresciuti e dove si vive, quindi in parte anche dal livello di istruzione e dalla curiosità intellettuale che anima gli individui in questione.
Se guardiamo i dati il gap tra gruppi con differente livello di scolarità è pressochè costante, al contrario la diffusione di connettività broadband e dispositivi tecnologici che permettono accesso alla rete è talmente pervasiva ed esponenziale da aver praticamente saturato il mercato invadendo qualsiasi fascia di reddito o gruppo sociale.

Predicted-Probability-of-Blogging-Among-American-Adults-small

Quindi se la diffusione capillare della tecnologia non ha sostanzialmente migliorato le condizioni di vita nel mondo occidentale, perchè dovrebbe farlo in paesi dove i problemi principali sono la scarsità di acqua potabile, di cibo, di strumenti per lavorare e di scuole?
Siamo proprio convinti che un tablet o uno smartphone connessi al web a qualche decina di Kbps siamo risolutivi?
Non è forse più ragionevole pensare che sia prioritario fornire i mezzi di sostentamento necessari, migliorare il livello di istruzione e forse POI fornire accesso al web in modo da sviluppare quelle attività intellettualmente stimolanti che possono portare a una maggiore consapevolezza dei problemi di ciascuna comunità?

In realtà Zuckerberg e i suoi compagni di merende sono solo alla spasmodica ricerca di nuovi mercati da cui attingere utenti per i loro servizi (senza i quali chiuderebbero prima di subito), possibilmente attraverso dispositivi che meglio si adattano ai loro servizi, ovvero smartphone e tablet.
Non è un caso che gli strumenti prediletti siano questi, dispositivi scarsamente interattivi e generalmente usati in modo molto passivo, perfetti per postare brevi messaggi (non certo per scrivere un lungo e noioso post come questo) o per fare browsing, gli strumenti perfetti per definire se stessi sulla base di parametri comprensibili dal mercato (sei single, accoppiato o in cerca di partner? quali libri ti piacciono? quali film ti piacciono? etc etc etc…), guardacaso l’obbiettivo di società che vivono di data mining come Facebook o Google.

Non solo, alla base di tutto questo vi è una dottrina molto popolare in California che risponde al nome determinismo tecnologico, che vede nella tecnologia la via maestra per risolvere tutti i problemi (sociali, politici, economici etc etc) del pianeta, basti pensare che qualche invasato di questa scuola di pensiero è arrivato a teorizzare che con un manuale di javascript da 100 $ un homeless potrebbe arrivare a risollevarsi e migliorare la propria condizione di vita…

Qui il cerchio si chiude, io non giudico negativamente Zuckerberg o suoi sodali per il tentativo di espandere i loro potenziali utenti (qualcuno ha detto prodotti?), non sopporto però che tutto questo venga mascherato da iniziativa filantropica, perchè è falso e vergognoso nei confronti di coloro che vivono in condizioni di totale povertà, spesso a causa degli interessi occidentali.

18/07/2013

Siteground

Eccomi reduce dalla seconda migrazione di questo blog, dopo essere nato su Aruba nel lontano 2006 ed essere migrato ad OVH tre anni fa, ho deciso di spostare baracca e burattini da un nuovo provider: Siteground.

Purtorppo l’esperienza con OVH non è stata del tutto positiva, anzi francamente non posso che sconsigliare la loro offerta di hosting personale.
Dal punto di vista delle features e dei servizi di amministrazione OVH imho offre un buon servizio, generalmente spanne sopra i due principali hosting provider italiani (Aruba e Register.it) che al confronto mettono a disposizione dell’utente un pannello di amministrazione dozzinale.
I costi sono accessibili e molte features che Aruba propone a pagamento vengono automaticamente incluse nel piano di hosting di OVH (ad esempio un hostname differente da www.domain.tld), sulla carta ci sono maggiori limitazioni in fatto di quota db, storage e traffico a banda piena, ma i limiti sono tali per cui difficilmente un utente domestico arriverà mai ad avere problemi.

Ahimè le note positive si fermano qui, il supporto non è sempre all’altezza della fama del grande provider transalpino, e a fronte dell’apertura di ticket per scarse performance mi sono sentito rispondere cose del tipo “passi al piano di hosting superiore” (e più costoso, aggiungo io…).

Poi viene il grande problema, le performance appunto.
Ero fuggito da Aruba anche a causa delle scarse performance causate dell’overbooking dei server, passando a OVH la situazione è migliorata sensibilmente per poi ripiombare in un abisso di lentezza se possibile peggiore di quello sperimentato col provider italiano :(
Sulla carta (e da phpinfo) le risorse messe a disposizione da OVH sono sempre state superiori, alla prova dei fatti però l’hosting di WordPress si è dimostrato penoso; acceleratori php, upgrade di versioni e best practice di WordPress non sono servite a nulla, supporto inutile, il test con altri cms (es Drupal) si è dimostrato addirittura più lento.
Come se non bastasse qualche mese ho avuto modo di testare un piano di hosting base Aruba con un sito basato su  Drupal 7, un missile terra aria rispetto al mio elefantiaco piano di hosting su OVH :(

Ora eccomi qui su Siteground, la migrazione è stata fulminea e indolore (merito anche dei tanti tool messi a disposizione dal nuovo provider, non ultimo la comodissima shell ssh), il servizio di supporto istantaneo e disponibilissimo, le performance per ora ottime, il tutto al prezzo da urlo di 9,95 $ per un anno (anzichè al mese, si tratta di una promozione per i nuovi clienti, se siete interessati date un’occhiata qui).

Il pannello di controllo gronda di una tale quantità di features che francamente non saprei nemmeno da dove cominciare per descriverlo, è possibile accedere a qualsiasi log, solo la selezione della versione di php spazia tra 7 possibili alternative, addirittura è possibile collegarsi al dbms MySQL tramite il normalissimo client CLI senza passare da phpmyadmin (cosa comodissima per backup e restore dei db) e basta collegarsi via ssh per modificare qualsiasi file con nano o vi.
Insomma tra una feature e l’altra mi sembra quasi di avere a che fare con un private virtual server piuttosto che con un piano di hosting web!

Le premesse per ora sono ottime, vedremo se il servizio si manterrà su questo livello.

15/06/2013

Subsonic

SubsonicLogoOggi si sente un gran parlare di servizi di streaming audio per portarsi appresso tutta la propria musica ovunque ci si trovi, servizi tipo Spotify o altre vaccate simili promettono mari e monti, salvo poi ritrovarsi inondati da una tale quantità di brani da non saper più quale scegliere…

Se anzichè dipendere da questi servizi preferite “degooglelizzarvi” e portarvi davvero ovunque la VOSTRA musica, sul VOSTRO hardware, con i VOSTRI servizi, allora vi consiglio di dare un’occhiata a questo fantastico servizio che risponde al nome di Subsonic.

Subsonic è ufficialmente un server di streaming audio completamente free che vi permette di ascoltare i vostri mp3 usando una comoda interfaccia web oppure delle applicazioni dedicate (anche per dispositivi mobile).
Tecnicamente parlando si tratta di una applicazione java disponibile sia come comodo package .war da deployare su un servlet container a piacimento (es Apache Tomcat), oppure come setup omnicomprensivo (applicazione + jetty) per Windows, GNU/Linux RedHat (rpm), Debian/Ubuntu (deb) oppure MacOS (pkg).

Tutto quello che dovete fare è lanciare il setup, attendere il completamento dell’operazione e poi collegarvi sulla porta standard 4040 (ovviamente personalizzabile a piacimento), loggarvi come amministratore e configurare i pochi semplici parametri necessari al funzionamento (es la directory che contiene i propri mp3).
Per esporre il servizio online potete scegliere se nattare il servizio oppure esporlo mediante un reverse proxy (io ho scelto quest’ultima strada), per fare in modo che il servizio utilizzi il protocollo https dovete seguire le semplici istruzioni che trovate in coda a questa pagina.

Riguardo alle applicazioni mobile (ma non solo) avete solo l’imbarazzo della scelta, a questo link trovate tutte le possibili alternative free o a pagamento; per utilizzarle vi basta installare la vostra prescelta sul dispositivo, puntare alla url del vostro server Subsonic e inserire le credenziali per autenticarvi.

Infine per raggiungere il vostro server Subsonic dalla fida ADSL di casa vi basterà registrarvi su uno dei tanti servizi di dns dinamico, crearvi un hostname pubblico e fare in modo che questo venga costantemente aggiornato con il vostro ip dinamico mediante le apposite utility fornite dal provider del servizio.

Beccatevi il mio gioiellino appena installato… e già, sono un fan sfegatato dei Dire Straits ;)

subsonic

09/05/2013

Analisi log con Webalizer

Al giorno d’oggi le analisi di log per webserver sembrano una cosa preistorica, con l’avvento dei sistemi di analisi degli accessi (es Piwik) servizi gloriosi come Webalizer o Awstats sono ormai considerati antiquati e non più adatti alle esigenze “dell’uomo che non deve chiedere mai” :\

In realtà l’analisi di log è una pratica che ha ancora una grande utilità, soprattutto per il monitoraggio dei servizi e di alcune risorse (es traffico generato dalle richieste http).

Come dicevo poco sopra i due indiscussi protagonisti in questo ambito software sono Awstats e Webalizer, il primo fornisce un report più dettagliato e utile in ottica di analisi degli accessi, il secondo risulta infinitamente più veloce e versatile, non richiede setup particolari ne ha requisiti di alcun tipo, basta lanciare il binario passando le opportune opzioni e il gioco è fatto.
Per questi motivi Webalizer è ancora oggi il mio software di riferimento per le analisi estemporanee “prima di subito”, tra colleghi però vedo che spesso viene scartato per il semplice fatto che non permette analizzare più file con un solo comando.

Per ovviare a questa limitazione basta lanciare un banale ciclo for per analizzare tutti i file di log richiesti con un unico comando, ovviamente utilizzando l’opzione -p per effettuare una analisi incrementale (altrimenti l’analisi di un mese verrebbe sovrascritta al passaggio tra un log e il successivo).

Ecco un semplice script bat per fare tutto questo:

@echo off
set webalizerbase=c:\utils\webalizer
rem personalizzare le tre variabili che seguono
set logdir=%webalizerbase%\log\domain
set analisidir=%webalizerbase%\analisi\domain
set hostname=www.domain.tld
del /F %webalizerbase%\logs.txt
dir %logdir%\* /O /B /S > %webalizerbase%\logs.txt
for /F %%v in (%webalizerbase%\logs.txt) do %webalizerbase%\webalizer.exe -o %analisidir% -n %hostname% -Q -p %%v

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

« Post precedenti | Post successivi »