La lavagna elettronica Open Source: Nintendo Wii e LIM

http://wiildos.wikispaces.com/Pagina+iniziale

è la fine veramente. Questo progetto è per poter utilizzare il telecomando (attuatore) della Nintendo WII a mo di telecamera. In pratica per rilevare un punto luminoso in bassa frequenza (infrarossi) restituire il segnala via bluetooth al sistema (Linux), come se si trattasse del puntatore del mouse, o meglio di una tavoletta grafica, quindi scrivere nella lavagna. Il punto è illuminato da un diodo a bassa frequenza: una penna a infrarossi.

Il concetto è: usa un qualsiasi piano per proiettare la schermata del computer, e, sullo stesso piano, usa una luce a bassa frequenza per avere la posizione di un pennarello che scrive.

allego questa che trovate in http://wiildos.wikispaces.com/Lavagna+col+wiimote

imageWiildOS

Praticamente quello che nella Wii è tenuto in mano è ben fisso da qualche parte ed inquadra lo schermo. Viene fatta una calibrazione iniziale, quindi puntando con una penna led il segnale luminoso si suppone rimbalzi verso la telecamerina del WiiMote che lo invia al bluetooth.

Si suppone. Infatti. Ecco cosa si è fatto al Gruppo Linux Macerata il 27 Febbraio 2013 la sera, si è provato far funzionare il marchingegno prima su di uno schermo al plasma (scalda molto quindi i segnali infrarossi sono distorti), poi su di una parete.

Il responso è piuttosto negativo per l’esperimento, dopo diversi tentativi non si è riuscito a stabilire quale fosse il punto dove mettere la telecamerina per avere la migliore resa.

Il docente-relatore-o-chiunque-sia-alla-lavagna-elettronica (abbreviato: drocsale … ok, lascio docente) deve essere tra il ricevitore (WiiMote) e la parete (non può andare dietro), e il fascio luminoso deve essere “visibile” (visibile a chi vede gli infrarossi, quindi i gatti e il WiiMote). Le problematiche sono 2: posizione del ricevitore, implementazione della penna (effettività del segnale luminoso). Per la posizione abbiamo stabilito che deve essere piuttosto angolata, ma non troppo. Per la penna siamo rimasti ad un vago led rivolto al contrario sulla punta della penna laser di modo da essere visto sicuramente, MA questo costringe ad una posizione della mano fissa, anche se naturale in effetti. Il led della penna aveva un’ampiezza di 30°, se ne trovano di ampiezza 25° e forse anche meno, questo potrebbe essere un punto a favore di un funzionamento più effettivo: diminuendo l’ampiezza del fascio e mantenendo la potenza totale il punto dovrebbe essere più visibile. Certo? Non troppo. In realtà il fascio luminoso va a scontrarsi con la parete dopo pochi millimetri o anche meno, quindi una differenza di ampiezza avrebbe un cambiamento pressoché nullo. Altro discorso se si gira il led verso la il WiiMote.

Dalle prove fatte il sistema ha una buona sensibilità se il led è rivolto al WiiMote (rovesciando la penna), ma perde comunque di accuratezza con l’aumentare della distanza. Inoltre sembra che il driver carichi molto la CPU, problema questo se si pensa che tutto il sistema è concepito per risparmiare soldi: non si vuol certo spenderli per comprare un pc superpotente. Il problema potrebbe riguardare l’efficienza del software python, oppure essere intrinseco nella decodifica del segnale fornito da WiiMote.

Il relatore della serata e autore degli esperimenti è stato Andrea Bianchini.

(a docente non l’ho più usato?!? proprio vero che spesso i problemi li invento…)

(WiildOS è una distribuzione leggera basata su lubuntu che include di default il software per la lavagna. Live USB)

 

Politica – Le stragi dei ragazzi made in USA e fare il passo più lungo della gamba con gli F-35

Ho scoperto come fare il passo più lungo della gamba: bisogna saltare.

Chiaramente l’Italia produce armi (http://it.wikipedia.org/wiki/Lista_di_produttori_d’armi_moderni), se poi si va ad approfondire sono molte le armi d’assalto prodotte da aziende italiane. Ed è proprio la diffusione delle armi d’assalto che provocano le stragi (è una mia opinione e la spiego sotto). Comunque sia l’amministrazione Obama appoggia la riduzione della diffusione di queste armi, o forse ne appoggia la messa al bando. Ma c’è qualcuno che appoggia Obama?

Voglio dire Obama deve affrontare delle resistenze interne di venditori e produttori di armi, ma ci sono anche influenze esterne.

Vediamo cosa succede con gli F-35 (http://it.wikipedia.org/wiki/Lockheed_Martin_F-35_Lightning_II). L’Italia partecipa allo sviluppo e si impegna ad acquistarli, cioè rimette 2 volte. Ma l’intento è quello di guadagnare. Se l’Italia acquista armi dagli Stati Uniti, gli Stati Uniti acquistano armi dall’Italia. Questa non è dietrologia, sono cose che si fanno da quando si frequenta l’asilo, no, neanch’io ho mai  scambiato un M107 per un AK-47: non mi conveniva. Parlo dello scambio, è una cosa del tutto naturale. E la politica non sta lì a parlare di ideologie che lasciano il tempo che trovano per niente. La politica deve favorire l’incremento della ricchezza. Anche l’enclave comunista sostiene che si fa il socialismo della ricchezza, non certo il socialismo della povertà. La politica lo fa perché quello italiano è un popolo di buoni sentimenti e che di pensare allo scambio proprio non gli va, preferisce pensare “italiani brava gente” o roba del genere.

E allora perché non fare qualcosa? Perché non fermare le stragi dei ragazzi americani? Perché non fare quel salto? Perché pensare sempre “io non c’entro”?

Parlo delle proposte e delle discussioni che girano (Pierluigi Bersani: http://www.repubblica.it/politica/2013/01/22/news/no_bersani_f35-51075159/), e quello che vorrei chiedere, al governo in carica ora, al governo Monti, è:

perché non rischiare di fare qualcosa di buono?

È sempre stato facile tirarsi fuori, facile dire è colpa del sistema, è colpa della crisi, è colpa di chissachissaramaichehadecisoquesto. Non penso che sia automatico che passi la legge sull’accessibilità delle armi negli USA solo grazie a questo. Ma è un salto. L’unico modo per fare il passo più lungo della gamba.

Già, mi è rimasto di spiegare perché penso che la diffusione delle armi sia la causa delle stragi. Qualcuno dice che sia colpa dei video giochi. Ma se nella realtà non ci sono supermercati con cesti d’armi certamente una persona (anche un bambino) è condizionato a pensare che la realtà è differente dal video gioco. E se non ci fossero i video giochi, ci sono i film di guerra, i cartoni animati o lo studio della storia umana. Bisognerebbe cancellare tutto.

D’altra parte, analisi fatta (http://mark.reid.name/iem/gun-deaths-vs-gun-ownership.html). I dati sono veritieri e dicono che, a parte situazioni particolari di “quasi guerra civile”, la correlazione tra diffusione di armi e morti è evidente.

all’incremento delle armi corrisponde l’incremento delle morti violente

Achievo come CRM PHP. Pencil come wireframe editor.

Arriva una richiesta di aiuto su di un software, Achievo, che mi viene presentato come CRM. Effettivamente è un software per il project management open source e molto interessante. Non funziona e devo debuggare, purtroppo lo devo fare online perché non ho ancora predisposto un ambiente IDE … non ho predisposto Eclipse per farlo. Ma quello è il meno. Capita che fallisca all’interno di un ciclo sopra un array di oggetti polimorfici (o meglio su di un array di oggetti, per quel che conta in PHP). All’interno di questo ciclo viene chiamato il metodo che causa internal server error (tralascio il discorso sul perché sia sempre così maledettamente complicato avere i log di sistema), comunque ho usato un contatore per interrompere il ciclo al punto giusto ed individuare la classe dell’oggetto che falliva. Il tempo maggiore è stato aggirarsi per le classi senza conoscerne la struttura. È molto produttiva l’organizzazione ad oggetti, ma quando cerchi di seguira come un esecutore c’è rischio di perdersi, forse è il caso guardare la documentazione piuttosto che buttarsi subito a debuggare senza conoscere il software e la sua architettura.

Di altro faccio il wireframe di una pagina web usando Pencil di Evolus. Fin’ora avevo usato gliffy, ma, a dispetto di quanto pubblicizzato è ancora in flash, è a pagamento quando si vuole condividire un grafico, non è realmente migliore di Pencil, almeno non per le mie esigenze: condivido esportando in png, e forse non è tanto senzato permettere la modifica online, perché piuttosto non copiare il file e fare una propria versione?

Sostituire le lampade alogene ad alta illuminazione con led

Il formato delle lampade sembra essere R7S, ma questo formato sembra che non fissa la lunghezza delle lampade, solo l’attacco credo.

Solo lampade cilindriche, nel mio caso è di 11,8 mm, nominalmente sembra assorbire 250W, troppo per una stanza da letto, così cerco di sostituirla con qualcosa, non necessariamente così luminoso, e che consumi meno (ma non così poco!).

Lampade a led che trovo in miniinthebox.com sono di 10W, 900-1000 lumen (più o meno una lampada a incandescenza di 70W), e colore 3000K (bianco caldo).

Per ora nulla di soddisfacente.

Il PHP è pessimo sotto tutti gli aspetti

Arrivo a questa conclusione oggi, dopo tanto lavoro su Drupal, consulenze su framework come INDEXU, WordPress, CodeIgniter, usato Doctrine, avere sostenuto l’esame di Zend (ZCE PHP 5.3), ed in particolare lo studio approfondito del linguaggio e delle sue caratterstiche Object Oriented.

È pessimo dal punto di vista della sintassi. La sintassi non è qualcosa che determina l’efficienza di un linguaggio di programmazione, ma la produttività sì. La influenza nel senso che è decisamente brutto vedere tutti quei dollari, quando effettivamente non ha senso e non aggiunge informazioni. Il simbolo $ in PHP indica che il nome che segue è quello di una variabile, mentre i nome non preceduti da dollaro sono considerati delle costanti. Questo fa sì che se una costante non è definita, allora una sequenza di caratteri che non è una keyword rappresenta la stringa con i caratteri stessi. Ma questo genera un warning. Anche usare (leggere) una variabile non precedentemente definita genera un warning.

Ancora sulla sintassi. È decisamente brutto e fuorviante non sapere cosa è case-sensitive, cosa no. Le funzioni sono case-insensitive, mentre le variabili sì. Le keyword non lo sono, mentre le constants sì.

Programmazione ad oggetti. Qui ogni linguaggio ha il suo modo di vedere questa questione. Si dice più propriamente linguaggio orientato agli oggetti, perché si può sempre ricadere nella programmazione sequenziale o funzionale per questi tipi di linguaggi. Sotto questo aspetto PHP 5.3 non è pessimo, semplicemente ha una sua intepretazione. Che cambia col PHP 5.4, e cambia ancora con 5.5. Ma questo è piuttosto naturale. Ma di qui si vede che viene meno il fatto di avere a disposizione uno standard, visto che non è standard neanche con se stesso. E in più non tutti i fornitori di host supportano il php 5.3 perché, dicono, crea problemi con le versioni precedenti.

Template. Dentro un template si può usare la sintassi PHP per stampare delle variabili. Ma la sintassi è pessima, e spesso si definiscono dei sistemi per template, anche per garantire la separazione tra codice e presentazione, per via della audince dei programmatori che si accingono ad usare il php.

È nato per essere una soluzione semplice alla dinamicità dell’html.

Ha avuto successo perché tutti potevano scrivere del codice.

Ed è pessimo perché tutti possono continuare a scrivere del codice in php, anche se non ne abbiano la capacità.

In JavaScript tutti possono scrivire del codice? del codice pessimo sicuramente, ma c’è un limite. In PHP il limite all’orrore non ha fine.

Si hanno veramente vantaggi dalla diffusione e disponibilità? NO. ASSOLUTAMENTE NO.

Non sai mai se la tua applicazione PHP è supportata dal’hosting che devi andarti a cercare sbattendoti, solo perché stai usando una funzionalità messa lì 4 anni fa. 4 anni sono una eternità. Sei costretto a rimanere indietro tecnologicamente e culturalmente e vuoi sviluppare applicazioni innovative? Oppure vuoi sviluppare applicazione retrograde forse? Vuoi metter giù del codice vintage per far vedere quanto è “elegante”? È uno sport che ho praticato in passato, come ad esempio la mia idea di usare le ma le macro del preprocessore ANSI C e le funzioni longjump e setjump per simulare il try catch del C++ … figo no? e perché? Poi vai dal cliente (o dal datore di lavoro) e dici “beh, ci ho messo 2 anni in più …. ma vuoi mettere l’eleganza!

E tra l’altro una pezza è tutto fuorché elegante.

Pubblica amministrazione e Pdf firmati

Si passa così tanto tempo a lamentarsi e leggere dei lamenti altrui che non si nota mai se ci buone novità.

Scopro l’esistenza di questo sito, http://www.digitpa.gov.it/ , solo stamattina, e quindi di questo documento:

http://www.digitpa.gov.it/firma-digitale-formato-pdf

Mi interessa avere il supporto in Linux, e spero che sia sufficientemente semplice da usare. Trovo:

http://wiki.cacert.org/PdfSigning

con molti riferimenti a programmi che girano su Linux. La cosa più semplice da usare sembra

http://portablesigner.sourceforge.net

qui https://issues.apache.org/ooo/show_bug.cgi?id=47895 tra i commenti si dice che non è accettato in Germania.

La lentezza e il castigo o l’arte di godersi la vita

Mi strovo sulla salita che dalla Sfercia porta a Camerino. Ho percorso la vallata del Chienti lungo la vecchia nazionale, attraversato Belforte, Caccamo, Valcimara, Bistocco, Campolarzo e Sfercia. Tutto bene, ma forse ho riposato male stanotte. Mi trovo a pensare che non vedo l’ora di arrivare sotto Camerino, quando la salita sarà finita, così avrò superato il momento difficile, poi arriverò a Castelraimondo … Già, già … ma un attimo: cosa mi sta passando per la testa? Non parto certo da casa per tornarmene a casa se per tutto il tempo non vedo l’ora di superare il momento. La bici non è questo. Non è il traguardo. E’ il tragitto. Non è il superamento del momento, è il vivere il momento.

Non vado spesso in bici, ma ricordo di avere un buon motivo perfarlo. Sto leggendo Delitto e castigo, una edizione su due volumi, hoin mani il primo libro, è sera, sono sul letto e non c’è ragione di pensare a guardare quanto manca per la fine della prima parte. Non è ancora morto nessuno, ma il libro mi è piaciuto dalle prime pagine,quella cronaca del dialogo interiore la trovo geniale, affascinante, coinvolgente. Ma perché anche qui non vedo l’ora di arrivare allafine. La lettura non è terminare un libro. La lettura è rilassamento, godere nel lasciarsi affascinare da un racconto, che può essere vicino alla tua esperienza o lontano, ma sicuramente diverso. La lettura è lasciarsi trasportare in nuovi mondi. Non è stare a pensare a quando si torna alla realtà. Perché è parte della realtà.

Ora sto correndo, 3 kilometri, ancora poco e sarò a metà tragitto… ancora, anche ora, va a finire che mi fermo e torno a casacamminando, tranquillo, non ne faccio una tragedia, avrò altri giorniper correre, intanto percorro la strada.

La strada, ve ne è una descrizione illuminante ne La lentezza di Milan Kundera. Non la ricordo esattamente, più o meno parla di come sia cambiato il modo di considerare la strada, dal concetto che si aveva prima della mobilità moderna, a quello odierno. Ora la strada è una striscia di asfalto che collega 2 posti, una partenza ad una destinazione. E’ un ostacolo da superare: ciò che ti separa dal tuo obiettivo. Va percorsa velocemente, il traffico che si incontra è un ostacolo odioso. Questa concezione si contrappone a come la strada era vista prima dei mezzi di trasporto veloci, quando la strada non era asfaltata, si percorreva a piedi o con delle carrozze, il paesaggio scorreva lento, il paesaggio era parte della strada. La strada era unluogo da vivere, dove discutere e fare incontri. Direi dove vivere.

Già, perché infondo la vita non è quell’intervallo di tempo che mi separa dalla morte. Quell’ostacolo da superare per crepare e magari essere ricordati. Togliersi questo peso senza goderne. Rilassarsi da questa fatica.

No. La vita è quell’insieme di istanti che vanno assaporati e vissuti per ciò che possono darmi in quel momento. Certo, momenti faticosi, ma che danno godimento. Come una corsa, sentire i muscoli sotto sforzo,doloranti, ma che continuano a muoversi, non certo per vincere o arrivare prima. E c’è un momento in cui sembra che abbiano delle energie che non credevi potessero avere, non lo speravi, in quel momento senti che non devi preoccuparti di nulla, il tuo corpo fa quello che deve, ti riporterà a casa, stanco certo, ma ora puoi sentire l’aria, sorridere stupidamente, sentire che vai. Come pedalare, le salite sono faticose, ma ci sono panorami che solo andando puoi apprezzare e non andando veloci in moto, facendosi sfuggire la vista per concentrarsi sulla prossima piega, ma percorrendo la strada alla giusta andatura. Faticando certo, ma con calma, sapendo che non hai niente di cui preoccuparti se non dello stringere i denti e tener duro, non per arrivare, ma per continuare a goderti la strada.

Non è l’attimo ad essere fuggente. Mi sono accorto che sono io che fuggo dall’attimo. Infondo perdere tempo è proprio questo. Fuggirlo e perderlo.

Ormai sono di fronte casa, avrò altri giorni per correre, non ho ancora terminato il libro e avrò dei fine settimana per la bici. Non resta che perdonarsi e godersi la cena.

Divagando

Divagando vado e mi capita di navigare in rete, o di guardare la tv, o i giornali, o i cartelloni pubblicitari, i negozi …

Sarebbe bello avere quel cellulare alla moda, sicuramente lei e’ portata per i rapporti orali.

Bella quella gonna, e quel manichino chissà quanto può essere divertente averlo a disposizione.

Forse un giorno mi fermerò a leggere cosa pubblicizza quella figa su quel palazzo.

Non ho capito che lezioni tengono quelle professoresse …

Vivo come immerso in un film porno, dove tutti sembrano fare provini per una grande orgia, che non arriva mai, ma tutti sembrano molto preoccupati ed impegnati per essere scelti per partecipare.

Mi fermano: “Vuoi scopare?”. Ingenuamente rispondo “Sì, dove?”, lei: “Qui sopra. Sono 40 euro”, io: …

Stanza lurida, letto ricoperto di lenzuola lerce. Lei chiappona ma non male. Tipico prodotto dell’età contemporanea, una di quelle che comunque fa di tutto per essere alla moda. Stivali alti, costosi, sulle 500 euro, presi da una boutique di quelle chic, non certa da Zara.

Arrivo a 30, ho qualche spicciolo però. Protesta. Deve pagare la stanza a quell’essere strano che la mette a disposizione, uno di quegli scherzi della confusione identitaria che vanno molto di moda in questo tempo confuso.

Non importa. Non mi da tempo di tirar via i pantaloni, l’ha già tra le mani e ci sputa prima di calzarci su il guanto e prenderlo in bocca.

“adesso scopami” e poggia la schiena e il culo su quel lerciume senza preoccuparsene troppo, allarga le gambe e me le appoggia sulle braccia, alza la maglia e abbassa il reggiseno, mi prende le mani e le mette sulle sue tette guardandomi: “dai”.

È strano come la gente passi il tempo a guardar dalla finestra le porcate che succedono nell’appartamento del proprio vicino, per poi lamentarsi dei ficcanaso.

Il viale è pieno di negozi frugali e merce di dubbio valore, ma qui si sentono così fieri di esserne parte che ti stupisci di quanto sia stupido sentirsi un idiota per tanto poco.

Avrei bruciato il palazzo del vicino l’indomani. E tra l’altro indomani deve essere qualcosa di non domabile. Ma che importa.

Dice che è stufa e devo venire. Forse non mi frega niente e sono stufo anch’io. Piuttosto vado.

Mi racconta qualche idiozia lungo le scale, da dove viene, e perché, e soprattutto il disappunto per essere costretta a lavorare.

Ho conosciuto altra gente costretta a lavorare.

Molti della mia famiglia. È vero, tutti ad esprimere il disappunto per essere costretti a lavorare.

Deve esserci un qualche essere immondo che continua a costringere alla gente a lavorare.

Dovremmo legarlo e farlo soffrire come sta facendo soffrire tutta questa gente costretta a lavorare.

Dovremmo pagare delle persone che lo frustano, a turno.

Ma poi questi saranno costretti a lavorare.

Il sole compare di rado dopo le 6 di pomeriggio. Specialmente in inverno.

Socket js

// INTERNET EXPLORER
var socket = new ActiveXObject(“Socket.TCP”);
socket.Host = “whois.internic.net:43”;
socket.Open();
// Send the query….
socket.SendLine(‘ajaxjs.com’);
// Wait for disconnect and output the buffer
socket.WaitForDisconnect();
Response.Write(“<blockquote><pre>” + socket.Buffer + “</pre></blockquote>”);
socket.Close();