Mr.SK

Rotolando il sassolino giunse fino a valle. Una volta arrivato li si guardò intorno cercando un posto dove andare: la città era piena di luci e di colori, i suoi occhi erano grandi: non era mai stati in un posto così emozionante. Camminò un pochino, quasi rapito dai suoni, dagli odori, dalla pioggia di stimoli che batteva sui suoi sensi. Dopo che ebbe camminato quasi per due ore arrivò il suo stomaco si fece sentire: era ora di uno spuntino.

 

PHPRecentemente mi sono trovato a dovere simulare il comportamendo di un browser interagendo con un web server in PHP. L’obiettivo dello script PHP che si stava facendo era quello di simulare il caricamento in POST di un documento. L’obiettivo è facilmente raggiungibile in PHP tramite le librerie CURL. Cercando su internet si trovano numerosi esempi da cui se ne deduce che l’uso-tipo è il seguente:


/* L'url a cui inviare il POST */
$request_url = "http://www.ciccio.com/upload.php";

/* Indico a CURL quale sia il file da inviare:
 * nel form c'è un <input type="file" name="FileUP" /> */
$post_params['FileUP'] = "@/home/io/TestPdf2.pdf";

/* Nel Form ho un qualsivoglia altro parametro da passare
 * in post */
$post_params['AltroParametro'] = "Ezekiel";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
$result = curl_exec($ch);
curl_close($ch);

Il trucco sta nello specificare con la @ davanti il nome del file da inviare: in questo modo CURL capisce che parliamo di un file e si regola di conseguenza. Tutto ha funzionato bene fino a che non ho provato ad eseguire lo stesso codice da dietro SQUID in modalità trasparente, che ha iniziato a rispondermi “Invalid request”. Dopo ore ed ore di tentativi (inutili), ho scoperto che il punto è molto semplice: CURL utilizza un’intestazione HTTP non supportata da Squid, la “Expect: 100-continue”. Per impedire questo comportamento è sufficiente aggiungere un’opzione:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));

E tutto magicamente funzionerà.

 

Al fine di superare eventuali blocchi topologici, o semplicemente per ottimizzare l’utilizzo della connessione ad internet è possibile specificare le impostazioni relative ad un server Proxy HTTP ed FTP da usarsi durante le operazioni di compilazione dei Ports.

La cosa è piuttosto semplice: i ports scaricano ogni pacchetto utilizzando l’utility di sistema fetch la quale referenzia due variabili di ambiente per leggere le impostazioni relative ai proxy:

  • HTTP_PROXY
  • FTP_PROXY

Per far si, quindi, che i ports utilizzino il proxy in fase di installazione del software basterà modificare il file RC del proprio profilo (ad esempio .cshrc per l’utente root) aggiungendo le seguenti righe:

setenv HTTP_PROXY http://192.168.1.200:3128/
setenv FTP_PROXY http://192.168.1.200:3128/

Al fine di risolvere alcuni problemi di compatibilità con alcuni software di scuola linux (ad esempio wget) può essere utile specificare le stesse variabili anche in lower-case:

setenv http_proxy http://192.168.1.200:3128/
setenv ftp_proxy http://192.168.1.200:3128/

Da notare, inoltre, che è molto importante specificare le impostazioni del proxy con la sintassi http://utente:password@host:porta/ al fine di specificare che il proxy che si sta utilizzando è di tipo HTTP (ad esempio nel caso di SQUID). Discorso diverso invece qualora si stia utilizzando un ftp-gateway, in tal caso l’impostazione del FTP_PROXY dovrà seguire l’apposita sintassi.

 

Al fine di ottimizzare al massimo i tempi di installazione dei pacchetti scaricati tramite ports e minimizzare i trasferimenti da web, è possibile realizzare una struttura condivisa di gestione della directory distfiles dei ports di FreeBSD.

La directory, normalmente situata in /usr/ports/distfiles, contiene infatti tutti i pacchetti scaricati da internet per effettuare l’installazione dei ports.

La logica alla base dell’ottimizzazione è quella di creare una singola macchina repository che condivida a tutte le altre macchine la directory distfiles. La tecnologia “nativa” per la condivisione delle directory via rete sotto FreeBSD/Unix è l’NFS. La sua configurazione è piuttosto semplice, ed essendo parte del base-system, non richiede alcuna installazione di software aggiuntivo.

Condivisione lato Repository

Per condividere la cartella sulla macchina di Repository sarà sufficiente attivare il servizio nfsserver ed esportare la directory.

Il primo step da effettuare è quello di configurare il file export indicando quali directory si voglia esportare ed a quali server. Il file è situato in /etc/export e la sua sintassi è piuttosto basilare: ogni riga contiene il path da esportare e l’indirizzo IP (o gli indirizzi IP) che potranno accederci. Sarà possibile inoltre specificare alcuni parametri aggiuntivi quali -ro per indicare che l’export debba essere effettuato “read-only”. Nel nostro caso, però, non è così:

/usr/ports/distfiles 192.168.1.10 192.168.1.24 192.168.1.45

A questo punto per attivare il servizio nfsserver bisogna modificare il file /etc/rc.conf aggiungendo le seguenti righe:

rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"

A questo punto per avviare manualmente il server (che comunque si avvierà al reboot della macchina) è sufficiente eseguire:

/etc/rc.d/rpcbind start
/etc/rc.d/nfsserver start
/etc/rc.d/nfsd start

Per verificare di aver effettuato tutto correttamente a questo punto si può eseguire il comando showmount -e che elencherà tutti i filesystem condivisi sull’attuale macchina (nonché chi possa accedere alle condivisioni).

Accesso al Repository

L’accesso al Repository lato client è ancora più semplice: sarà infatti sufficiente attivare il client NFS e provvedere al mount del volume remoto. Per attivare il client NFS bisogna modificare il file /etc/rc.conf aggiungendo le seguenti righe:

nfs_client_enable="YES"

A questo punto per avviare manualmente il client (che comunque si avvierà al reboot della macchina) è sufficiente eseguire:

/etc/rc.d/nfsclient start

Bene, a questo punto è possibile effettuare il mount del volume remoto. Per far ciò la cosa migliore è rinominare l’eventuale vecchia distfiles già presente sul client ed effettuare il mount.

mv /usr/ports/distfiles /usr/ports/distfiles.old
mount <server>:/usr/ports/distfiles /usr/ports/distfiles

Per essere sicuri che il volume remoto venga automaticamente rimontato al boot sarà sufficiente modificare il file /etc/fstab aggiungendo una riga relativa al mount remoto:

<server>:/usr/ports/distfiles /usr/ports/distfiles nfs rw 0 0
 

Buona sera Londra.

Prima di tutto vi prego di scusarmi per questa interruzione. Come molti di voi io apprezzo il benessere della routine quotidiana, la sicurezza di ciò che è familiare, la tranquillità della ripetizione. Ne godo quanto chiunque altro. Ma nello spirito della commemorazione, affinché gli eventi importanti del passato, generalmente associati alla morte di qualcuno o al termine di una lotta atroce e cruenta vengano celebrati con una bella festa, ho pensato che avremmo potuto dare risalto a questo 5 novembre, un giorno ahimè sprofondato nell’oblio, sottraendo un po’ di tempo alla vita quotidiana, per sederci e fare due chiacchiere. Alcuni vorranno toglierci la parola, sospetto che in questo momento stiano strillando ordini al telefono e che presto arriveranno gli uomini armati. Perché? Perché, mentre il manganello può sostituire il dialogo, le parole non perderanno mai il loro potere; perché esse sono il mezzo per giungere al significato, e per coloro che vorranno ascoltare, all’affermazione della verità. E la verità è che c’è qualcosa di terribilmente marcio in questo paese. Crudeltà e ingiustizia, intolleranza e oppressione. E lì dove una volta c’era la libertà di obiettare, di pensare, di parlare nel modo ritenuto più opportuno, lì ora avete censori e sistemi di sorveglianza, che vi costringono ad accondiscendere a ciò. Com’è accaduto? Di chi è la colpa? Sicuramente ci sono alcuni più responsabili di altri che dovranno rispondere di tutto ciò; ma ancora una volta, a dire la verità, se cercate il colpevole… non c’è che da guardarsi allo specchio. Io so perché l’avete fatto. So che avevate paura. E chi non ne avrebbe avuta? Guerre, terrore, malattie. C’era una quantità enorme di problemi, una macchinazione diabolica atta a corrompere la vostra ragione e a privarvi del vostro buon senso. La paura si è impadronita di voi, ed il Caos mentale ha fatto sì che vi rivolgeste all’attuale Alto Cancelliere, Adam Sutler. Vi ha promesso ordine e pace in cambio del vostro silenzioso, obbediente consenso. Ieri sera ho cercato di porre fine a questo silenzio. Ieri sera io ho distrutto il vecchio Bailey, per ricordare a questo paese quello che ha dimenticato. Più di quattrocento anni fa, un grande cittadino ha voluto imprimere per sempre nella nostra memoria il 5 novembre. La sua speranza, quella di ricordare al mondo che l’equità, la giustizia, la libertà sono più che parole: sono prospettive. Quindi, se non avete visto niente, se i crimini di questo governo vi rimangono ignoti, vi consiglio di lasciar passare inosservato il 5 novembre. Ma se vedete ciò che vedo io, se la pensate come la penso io, e se siete alla ricerca come lo sono io, vi chiedo di mettervi al mio fianco, ad un anno da questa notte, fuori dai cancelli del Parlamento, e insieme offriremo loro un 5 novembre che non verrà mai più dimenticato.

Dec 082009
 

Ci provo ad uscirne, ma la realtà è tutto è come fango, e più mi muovo più ci finisco invischiato dentro.

Chi mi viene a recuperare?

 

Per anni ho sostenuto con amici e conoscenti che il vero successo di “material girl” di madonna si basasse sul fatto che il batterista in quella canzone spigne come un treno. Oggi avendola ascoltata per l’ennesima volta ed essendomi di nuovo venuta la pelle d’oca sentendo la precisione chirurgica di quel rullante “avanti al tempo il giusto e non un capello di più” mi sono fatto curioso e ho cercato su internet chi ci fosse dietro ai fusti….

Trattasi di Tony Thompson… un batteristino qualunque che casualmente nella sua vita, oltre a suonare per il disco di Madonna, si da il caso che sia stato il batteria dei Chic, dei Sister Sledge, di Diana Ross, Rod Stewart (non so perché ma mi sa che se cerco scopro che ha suonato anche su “Do you think I’m sexy”… lo stilo è quello, ora mi informo…), Robert Palmer, i Led Zeppelin, Mick Jagger, David Bowie e qualche fuggitivo dei Duran Duran.

Come si dice… questione di manico

Inutile studiare se non c’è la materia prima… e se c’è basta anche un quattro quarti dritto sotto quella sgallettata di Madonna affinché la cosa si senta…

 

Ho installato Flock

Promette magie.

Magari finalmente riesco a riprendere in mano il mio blog, chi può dirlo?

Vedremo…

Blogged with the Flock Browser
 

Ho scoperto le magie di myTunes

E non solo….

 

Ricevuta via mail, me ne sono impunemente e immoralmente appropiato ed ora la ripropongo qui:

L\'home page per la fine del mondo ;)

 

Improvvisamente ho capito. Non è stato difficile in fondo. La sensazione è sempre quella di correre, e correndo vedi lungo la strada dei soggetti che giudichi irrilevanti, su cui non scommetteresti un soldo bucato e che, diciamolo ti fanno anche un po’ schifo. E intanto continui a correre verso il tuo obiettivo, con impegno, dedizione, e soprattutto gran fatica. E improvvisamente all’orizzonte vedi spuntare la stessa monnezza umana che hai appena sorpassato e ti chiedi come sia possibile. Ha preso una scorciatoia? Qualcuno gli ha dato un calcio in culo così forte che è schizzato a mille chilometri? Poi improvvisamente capisci. Il problema è la vita normale. Non mi drogo, non mi ubriaco, non sono solito mettere le mani addosso alla gente, ed ho sempre ritenuto questi lati positivi del mio carattere che mi avrebbero di sicuro aiutato nel proiettare un’immagine positiva sulla gente che mi circonda. Lavoro, ho una casa, una famiglia, una vita regolare, e forse il problema è qui. Perché i relitti umani che dormono per strada, stanno costantemente a scollettare i cinquanta centesimi per comprarsi il fumo, si ubriacano e si vomitano addosso, alla fine me li trovo sempre davanti in tutto? 

Perché il problema è che sono una minoranza, io; e per di più una minoranza temuta perché so quello che dico e quando lo dico, io, e ascolto ciò che dici e quando lo dici. E io me lo ricordo, dato che non sono ubriaco o devastato. E questo è un problema, perché la gente non sa come relazionarsi. E questo è un problema perché da stravolti o da ubriachi e più facile socializzare. E questo è un problema perché da ubriachi o devastati è più facile trovare altre persone ubriache o devastate. E i giudici al traguardo, quelli che io cerco disperatametne di raggiungere, sono tutti ubriachi e stravolti. E questo è un problema.

© 2011 extract the nectar, burn the tree Suffusion theme by Sayontan Sinha