LinuXP – ovvero come ingannare l’utonto

Chi lavora nel mio campo vive nell’eterna tristezza di sentire gente che vuole ancora Windows XP perchè ormai è abituata con quello. Voglio dire, è un sistema operativo uscito nel 2001, quindi ha 13 anni. Dai… basta, è ora di cambiare. Inoltre è finito il supporto da parte di Microsoft verso XP, e ha fatto bene. C’è anche da considerare che mettere Windows 7 su alcuni computer ancora in uso è una forma di masochismo.

Viste tutte queste premesse ho deciso di provare LinuXP su alcuni computer da dare in pasto agli utenti. LinuXP è una versione di linux modificata per sembrare il più possibile Windows XP. Il progetto è tenuto in piedi dall’UrbinoLUG.

L’unico problema è che ora ricevo puntualmente questo errore:

Mi succede su due computer diversi usando 3 cd masterizzati diversi quindi per ora i miei esperimenti si fermano qua :)

Ciclovia delle Dolomiti

Da qualche tempo esiste il trend di costruire piste ciclabili sul percorso di vecchi tratti di ferrovia dismessi. Ci sono vari esempi in giro per l’Italia e spero crescano sempre di più. La più famosa, a quanto pare, è la ciclovia delle Dolomiti: circa 50 km in mezzo alle Dolomiti sul vecchio percorso di un trenino che oramai non c’è più.

Domani partirò alla volta del campeggio sul lago di Cadore, punto di partenza della ciclovia, sfruttando il weekend lunga comprendente il 2 giugno. Tutti gli aggiornamenti potrete, come al solito, trovarli anche sull’apposito tumblr.

Ed ecco un video appropriato.

Mastandrea nel ruolo del Kodama

Sbagliare cinema può capitare, non per colpa mia sia chiaro, e fu così che mi sono visto “La sedia della felicità”. Avevo visto di sfuggita il trailer e mi aveva lasciato nell’indifferenza, stessa cosa per il film.

Dunque… riporto un passaggio di questa recensione:

Parlar male di questo film non si può, manco a volerlo a tutti i costi.

Ok, io ne parlerò male ma a ragion veduta.

E’ una commediola, brillante se vogliamo, con ironia troppo labile e una trama non per nulla imprevedibile. Personaggio fintamente stereotipati e… non vedo affatto la surrealità di cui parla la recensione. Il tutto cadrà nel dimenticatoio nel giro di pochissimo tempo se non fosse per un paio di particolari. (e io che sono un fan del cinema italiano)

Il primo è il quadro elmecagneto, per me che tendo a mitizzare cose e oggetti, nel momento in cui elmecagneto esiste veramente e abbaia.

La seconda è la citazione, spero voluta, della scena della ricerca nel cimitero, con la musichetta in sottofondo con le trombe che rimanda direttamente a Il buono, il brutto e il cattivo.

E vogliamo parlare della riesumazione di certi comici oramai dimenticati tipo Albanese o il tizio che imitava il mago Silvan a Mai Dire Gol? Dai meglio di no.

E’ una commediola senza fronzoli che serve davvero a poco. Fine

Vacanza in Qatar

Domani parto e vado in Qatar per qualche giorno. Come al solito posterò tutto sull’apposito tumblr.

Purr

Purr è l’onomatopea anglosassone per le fusa che fa il gatto. In italiano è qualcosa tipo frrr frrr oppure ronn ronn. Su intructables ho trovato questo contest dedicato agli animali domestici. Qualche settimana fa mi è arrivato spark.io che avevo preordinato in quanto costa schifosamente poco rispetto all’Arduino (più o meno) equivalente. Ho un gatto che, almeno il mattino, rimane da solo in casa. (E qua si conclude l’introduzione)

Ho pensato bene di unire tutti questi elementi in un unico progetto denominato, appunto, purr.

Cos’è Purr? E’ un gioco per il gatto che viene attivato da un’apposita pagina web aperta al mondo intero. L’aggegio è collegato ad un motorino che vibra, smontato da un vecchio telefono, attivabile via web. Il gatto, sentendo le vibrazioni/fusa amiche si può intrattenere e trastullare per un po’.

Purr: elenco materiale

Purr: elenco materiale

La realizzazione è piuttosto semplice, vi servono solo un po’ di Lego in esubero (che tanto ce li avete tutti a casa), il motorino della vibrazione di un vecchio telefono, un transistor che supporti abbastanza corrente richiesta dal motorino (il mio è un BC338), una resistenza da 10kohm circa, la schedina spark.io.

Ora dovete saldare i componenti seguendo questo schema:

Purr - Schema elettrico

Purr – Schema elettrico

All’incirca così:

Purr - Schema di montaggio

Purr – Schema di montaggio

Ed ecco il risultato del montaggio:

Purr - montaggio circuteria

Purr – montaggio circuteria

Finito il circuito è il momento di passare al codice da scrivere per spark.io. E’ incredibilmente semplice e immediato.

 

int fusa(String command);
int motor = D6;
int led = D7;

void setup(){
pinMode(motor, OUTPUT);
pinMode(led, OUTPUT);
Spark.function(“brmiao”, fusa);
}

void loop(){
//this loops forever
}

int fusa(String command){
if(command == “purr”){
digitalWrite(led, HIGH);
digitalWrite(motor, HIGH);
delay(500);
digitalWrite(motor, LOW);
delay(30);
digitalWrite(motor, HIGH);
delay(500);
digitalWrite(motor, LOW);
delay(30);
digitalWrite(motor, HIGH);
delay(500);
digitalWrite(motor, LOW);
delay(30);
digitalWrite(motor, HIGH);
delay(500);
digitalWrite(motor, LOW);
digitalWrite(led, LOW);
return 1;
}
else return -1;
}

Non avevo voglia di fare un for() :) Tipo che poi qua c’è tutto documentato meglio.

In pratica, facendo la chiamata giusta al cloud di spark.io, si attiva la funzione fusa() che accende e spegne la vibrazione più volte, a simulare le fusa, e accende il led interno per tutta la durata del processo.

A questo punto bisogna preparare lo script in php per interagire con le API di spark, bisogna fare una roba tipo così:

curl https://api.spark.io/v1/devices/DEVICE_ID/brmiao -d access_token=TOKEN -d args=purr

 

brmiao, oltre ad essere il verso che fa il mio gatto, è la funzione interna che ho dichiarato nel codice di spark.io. Mentre purr è la funzione.

In php è così:

<?php
$id=”DEVICE_ID”;
$token=”TOKEN”;
        $ch = curl_init();
        $url = “https://api.spark.io/v1/devices/” . $id . “/brmiao”;
        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, “access_token=” . $token . “&args=purr”);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $output = curl_exec ($ch);
        curl_close ($ch);
?>
Dove al posto di DEVICE_ID e TOKEN dovete metterci i valori del vostro spark.io.

Fatto il codice e testato che tutto funzioni potete continuare la costruzione dell’aggiegio fisico (qualcuno ha detto Internet delle cose?). Prendete i Lego e costruite un case atti ad alloggiare la circuiteria.

Purr - Costruzione in progess

Purr – Costruzione in progess

A questo punto dovete trovare un involucro, possibilmente di stoffa, dove inserire il motorino. Tutto il marchingegno assemblato è all’incirca così:

Purr - Foto d'insieme

Purr – Foto d’insieme

Collegandovi all’indirizzo http://minucci.net/purr/ e clickando sulla grossa scritta “purr”, potete interagire anche voi col mio gatto che ne sarà sicuramente felicissimo. (occhio che non lo tengo sempre acceso.)

Detto questo non dimenticatevi di votare il mio progetto su instructables.