venerdì 26 dicembre 2014

IBeacon ed IOS8

In estate avevo scritto una piccola applicazione per IBeacon
E' passata l'estate e l'autunno ma sono rimasto fedele a IOS 7 e OS X 10.9 perche' i sistemi operativi troppo recenti sono sempre fonti di problemi; in questi giorni mi sono pero' convinto a passare ad IOS 8.1.2 sul telefono ed a OSX 10.10 sul portatile

La sorpresa e' venuta quando sono arrivato a compilare ed eseguire il codice per IBeacon che precedemente funzionava perfettamente. Nonostante non ci fossero errori di compilazione ne' errori di esecuzione il programma semplicemente aveva smesso di riconoscere i beacons vicini

Dopo un paio di giorni a battere il capo sul muro sono arrivato su questo link in cui si segnala che con l'arrivo di IOS 8 si devono aggiungere un paio di stringhe un info.plist del progetto
-----------------------------------------
<key>NSLocationAlwaysUsageDescription</key> 
<string>Messaggio Utente</string>
-----------------------------------------

oppure
-----------------------------------------
<key>NSLocationWhenInUseUsageDescription</key>
 <string>Your message goes here</string>
-----------------------------------------

effettuate queste modifiche il programma ha ricominciato a funzionare (e' in questi momenti che amo la programmazione :<<<<


mercoledì 24 dicembre 2014

Fallita migrazione Mac2Mac con Assistente Migrazione

Ieri mi sono trovato per la prima volta a fare una migrazione di dati ed impostazioni tra un vecchio MacBook A1286 verso un nuovo A1278. Considerando che entrambi i sistemi montano 10.10 e che disponevo di un backup di Time Machine, ho sfoderato Assistente di Migrazione ed ho aspettato un paio di ore


Al termine della barra  ho visto che l'indicatore era bloccato sulla scritta "Due minuti al termine"; fiducioso ho lasciato che il computer continuasse ma dopo altre due ore era tutto bloccato ed il led del disco esterno mi segnalava che non era piu' il caso di aspettare perche' non c'era attivita' di trasferimento dati


Riacceso il computer ho trovato che era stato creato il nuovo utente ma all'interno del profilo non c'erano le impostazione personalizzate e nemmeno i dati. Ma cosa aveva fatto per tutto il tempo il calcolatore?? Dopo un controllo sullo spazio disco era chiaro che i dati erano stati copiati da qualche parte ma non erano accessibili in modo semplice. Da terminale ho quindi cercato i file piu' grandi di 500 Mb (nelle cartelle copiate c'erano dei video)

Mandando un find su tutto il disco 

sudo find / -type f -size +500M



i file sono stati effettivamente copiati in una directory temporanea /private/var/folders (piu' caratteri casuali)

Dopo tre prove fallite di Assistente di Migrazione la soluzione e' stata quella di cancellare tutti i file presenti e copiare a mano tutto quanto dal Finder (....just works :<<<)

TextToSpeech su Browser

Per una installazione didattica avevo bisogno di un lettore per un testo su una pagina web. Non considerando l'ipotesi di un lettore umano ho voluto provare i sistemi (sperimentali) di TextToSpeech che prendono un generico testo ed inviano l'audio di quanto letto in automatico


Il codice per generare e' il seguente (Il testo e' tratto dall'introduzione dalle Lecture on Physics di Feynman)

---------------------------------------------
<html>
<head>
  <title>TTS</title>
  <script  src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

  <script>
     $(document).ready(function() {
      var u1 = new SpeechSynthesisUtterance();
  u1.text = $('div').html();
  u1.lang = 'en-US';
          u1.pitch = 2;
          u1.rate = 0.5;
          u1.voiceURI = 'native';
          u1.volume = 0.5;
          speechSynthesis.speak(u1);
    });
  </script>
  <div id="demo_div">
This two-year course in physics is presented from the point of view that you, the reader, are going to be a physicist. This is not necessarily the case of course, but that is what every professor in every subject assumes! If you are going to be a physicist, you will have a lot to study: two hundred years of the most rapidly developing field of knowledge that there is. So much knowledge, in fact, that you might think that you cannot learn all of it in four years, and truly you cannot; you will have to go to graduate school too!

  </div>
---------------------------------------------

e di seguito il video del risultato


con Chrome la lettura e' molto buona ma viene troncata a circa meta' testo (tutto il lavoro e' fatto in remoto dai server di Google che leggono il testo, lo processano e mandano indietro un file audio....ad occhio c'e' impostato un tempo limite) mentre in Safari e' decisamente ridicola

Un'altra soluzione, costosa ma non poi cosi' tanto visti i risultati, e' data da GSpeech, un plugin per Joomla e Wordpress che surclassa decisamente le Api di TTS con un testo senza limiti di tempo e con una intonazione non piatta ma basata sulla punteggiatura (atttenzione audio basso)



Firefox e Youtube. Plugin should be updated

Su Firefox del computer di mia moglie (Windows XP) e' comparso improvvisamente il messaggio che il plugin di Flash deve essere aggiornato
Considerando che questo plugin e' quello impiegato per visualizzare i video di Youtube, il bambino non poteva piu' vedere i suoi cartoni animati e cio' e' male


Tentando di aggiornare i plugin di Firefox sono andato in Strumenti/Componenti Aggiuntivi/Plugin in cui erano segnalati dei plugin obsoleti da aggiornare ma niente di relativo a Flash

Dopo una buona mezz'ora a cercare di capire dove era il problema ho trovato che l'unica soluzione possibile era l'aggiornamento manuale dal sito di Adobe all'indirizzo http://get.adobe.com/it/flashplayer/

martedì 16 dicembre 2014

Evadere da un proxy server (3)

Questo post e' la continuazione dei due precedenti post (1 e 2)


il mio proxy server aziendale, oltre ad effettuare il vero e proprio lavoro di proxy, effettua anche una scansione dei contenuti ed evita la navigazione su una serie di siti che considera non adatti ad un ambiente lavorativo (ancora devo scoprire il motivo perche' fa passare Facebook ma lasciamo perdere......)

Il problema e' che nella rete del blocco del filtro cascano siti legittimi e legati all'attivita' lavorativa come per esempio il sito dell'Ordine dei Geologi della Toscana (viene classificato come Disease Vector anche se non e' vero)




Ho scoperto quasi per caso che il proxy server puo' essere attraversato dalle connessioni su reti TOR. Utilizzando il Tor Browser Bundle (configurato per utilizzare il proxy aziendale) si puo' raggiungere tranquillamente il sito filtrato (nella foto sopra si puo' osservare la pagina di Chrome con sovrapposta Firefox tramite TOR) visto che tutto il contenuto della connessione e' criptato e quindi non puo' essere analizzato

Quindi ancora una volta e' stato possibile evadere dal proxy, con mezzi peraltro banali

lunedì 15 dicembre 2014

Google CardBoard

In vena di sperimentazione mi sono comprato la Google CardBoard
Si tratta di un esperimento presentato da Google per convertire un comune telefono (vedremo poi non poi cosi' comune) in un visore tridimensionale (come Oculus Rift) dal basso costo

Il kit puo' essere autoprodotto con del cartone (Google fornisce le istruzioni) ma non e' cosi' semplice perche' servono due lentine di una lunghezza focale ben determinata. Il kit ufficiale si trova sui 25 euro ma ho trovato su TinyDeal una offerta ad un paio di euro (spese di spedizione comprese, basta saper aspettare)



Come si vede il kit non e' gran che come precisione ed sono dovuto ricorrere al nastro adesivo per tenere tutto insieme. Il telefono deve essere inserito all'interno dell'alloggiamento (ATTENZIONE!!! puo' scivolare lateralmente quindi puo' cadere durante l'uso e' trattenuto dalle mani ma in altri casi no)
Come si vede dalla foto lo schermo del telefono viene diviso in due settori (uno per ogni occhio) per la visione stereoscopica


questo e' l'aspetto montato
Primo avviso: essendo fatto di cartone ed appoggiandosi sulla fronte, inevitabilmente il sudore della fronte sporca la parte interna (vedi foto sottostante) anche dopo un solo utilizzo


Secondo avviso: non tutti i telefoni sono adatti. Google certifica come funzionanti Nexus 5, Nexus 4 (alcuni utenti lamentano che non funziona perfettamente) e pochi altri. Sul mio Moto G 2013 l'esperienza 3D e' ottima ma NON funziona la funzione click con il magnete (posto sulla sinistra del visore) ed e' necessario avere un telefono con giroscopi (per esempio nei demo si deve inclinare il visore per scorrere a destra e sinistra e sul Moto G 2013 non funziona)

Terzo avviso: il visore puo' funzionare anche con IPhone. Ho provato con le applicazioni 3D compatibili con il 4S ma lo schermo e' decisamente troppo piccolo. Probabilmente si deve utilizzare IPhone 5

Oltre alle applicazioni su PlayStore sono molto carine le applicazioni 3D che si trovano su Chrome Experiment

martedì 9 dicembre 2014

Spam da Libero.it

Frugando nella cartella spam di GMail (non lo faccio spesso ma ogni tanto controllo di non aver perso qualcosa) ho trovato una mail di mia zia ....curioso che GMail sbagli cosi' a classificare le mail.

Aprendo la mail ho trovato solo un link (http://expressbookng.com/oikmco/oyurogwunaehhaadlwohrwyurbap.pvtqyqdnpilaulwse=
hm) il quale una volta cliccato rimandava a questo sito (http://mother-blog-home.com/)...ovviamente queste cose si fanno su macchine virtuali usa e getta...mia zia non puo' mandare queste mail ;>
(peraltro la prima volta che ho contattato il sito questo non era raggiungibile, il giorno successivo era invece presente)

ok guardiamo meglio
aprendo gli header del messaggio e' chiaro perche' Google lo ha messo in spam ..l'ip dichiarato dal mittente non corrisponde al server di posta di libero.it

andiamo avanti
il server di posta mittente (cne.gob.ve) e' relativo ad un sito istituzionale venezuelano per le elezioni elettorali (non libero) 
Il messaggio e' stato inoltrato da un client Microsoft ( questo non e' discriminante perche' da Libero si puo' scrivere sia webmail che tramite client di posta sul proprio Pc)

Contattata mia zia mi ha detto che il suo account era stato usato per inviare mail a tutti i suoi contatti 
Il problema era quindi nel portatile ??? Sembra di no perche' non si spiegherebbe l'utilizzo di un mail server venezuelano

Andando un po' a giro (per esempio qui) sembra che il problema sia una compromissione dei server di Libero.it...cambiare password dell'account sembra sostanzialmente inutile, forse e' meglio cambiare servizio di posta


----------------------------------------------------------------------------------                                                                                                                                                                                                                                                                
Delivered-To: xxxxxx@gmail.com
Received: by 10.216.40.6 with SMTP id e6csp81601web;
        Sat, 29 Nov 2014 14:40:43 -0800 (PST)
X-Received: by 10.42.4.201 with SMTP id 9mr1318337ict.23.1417300842579;
        Sat, 29 Nov 2014 14:40:42 -0800 (PST)
Return-Path: <xxxxxxxx@libero.it>
Received: from mail.cne.gob.ve (mail.cne.gob.ve. [190.202.82.22])
        by mx.google.com with SMTP id 9si9731310ica.66.2014.11.29.14.40.41
        for <xxxxxxxx@gmail.com>;
        Sat, 29 Nov 2014 14:40:42 -0800 (PST)
Received-SPF: fail (google.com: domain of xxxxxxx@libero.it does not designate 190.202.82.22 as permitted sender) client-ip=190.202.82.22;
Authentication-Results: mx.google.com;
       spf=fail (google.com: domain of xxxxxxxx@libero.it does not designate 190.202.82.22 as permitted sender) smtp.mail=xxxxxxx@libero.it
Received: from localhost (correo-2 [127.0.0.1])
by mail.cne.gob.ve (Postfix) with ESMTP id 681C74BED69
for <xxxxxxx@gmail.com>; Sat, 29 Nov 2014 22:34:42 +0000 (UTC)
X-Virus-Scanned: amavisd-new at cne.gob.ve
Received: from mail.cne.gob.ve ([127.0.0.1])
by localhost (correo-2.cne [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id PEa1gr_ZJWyY for <xxxxxxxxx@gmail.com>;
Sat, 29 Nov 2014 18:04:41 -0430 (VET)
Received: from mail.cne.gob.ve (67-32-134-95.pool.ukrtel.net [95.134.32.67])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by mail.cne.gob.ve (Postfix) with ESMTPSA id 1E4DE4BED3E
for <xxxxxxx@gmail.com>; Sat, 29 Nov 2014 18:04:39 -0430 (VET)
Authentication-Results: mail.cne.gob.ve; dkim=none reason="no signature";
dkim-adsp=none
Message-ID: <A4D9D0CA95F0A58CD5E10C49A47C1750@mail.cne.gob.ve>
From: "xxxxxxxx" <xxxxxxx@libero.it>
To: "xxxxxx" <xxxxxxx@gmail.com>
Subject: =?ISO-8859-1?Q?FW=3Amwmachado?=
Date: Fri, 29 Nov 2014 11:34:39 +0000
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="----=_NextPart_000_AFA7_0F92A445.54BC485A"
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Mailer: Microsoft Windows Live Mail 16.4.3522.110
X-MIMEOLE: Produced By Microsoft MimeOLE V16.4.3522.110

This is a multi-part message in MIME format.

------=_NextPart_000_AFA7_0F92A445.54BC485A
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

http://expressbookng.com/oikmco/oyurogwunaehhaadlwohrwyurbap.pvtqyqdnpilaulwse=
hm 

 xxxxxxx@libero.it 


------=_NextPart_000_AFA7_0F92A445.54BC485A
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

=EF=BB=BF<HTML><HEAD><META http-equiv=3D"content-type" content: text/html;=
 charset=3DUTF-8></HEAD><BODY><a href=
=3D"http://expressbookng.com/oikmco/oyurogwunaehhaadlwohrwyurbap.pvtqyqdnpilau=
lwsehm">http://expressbookng.com/oikmco/oyurogwunaehhaadlwohrwyurbap.pvtqyqdnp=
ilaulwsehm</a>=
 <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>=
 xxxxxxxx@libero.it <br><br> </BODY></HTML>

------=_NextPart_000_AFA7_0F92A445.54BC485A--

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...