lunedì 22 giugno 2015

Fauna caldinese

E' tempo di lucciole ma anche di questi simpatici animaletti
Le chiavi danno un'idea delle dimensioni


Luna Giove e Venere 20 Giugno 2015

Tre in un colpo solo. Luna Giove e Venere cosi' luminosi da poter essere ripresi anche da cellulare (eravamo usciti per la manifestazione Occhi su Saturno ...)




Ingradire per vedere i dettagli del cielo

sabato 20 giugno 2015

Slow Php Redirect

Uso spesso il redirect verso una pagina html nei siti scritti in Php, piu' che altro per pagine di validazione di password, e non ho mai avuto problemi

basta indicare
<?php 
header("Location: www.google.com");
?>

e non effettuare nessuna operazione di scrittura (leggasi print od echo) e la cosa funziona

Ultimamente ho sviluppato una applicazione per Android/IOS che usa una WebView all'interno della quale c'e' una pagina (ospita su un server esterno) che usa la funzione di redirect ed ho notato un ritardo anche di 10 secondi tra quando viene effettuata la richiesta e quando la connessione viene reindirizzata

Il problema non era nella applicazione mobile. Riscrivendo il codice php in questo modo 

<?php 
header("Location: www.google.com",true,307);
echo "<html></html>";
flush();
ob_flush();
exit;
?>

il reindirizzamento e' immediato

venerdì 19 giugno 2015

Aggiungere directory raw in Android Studio


La directory /raw non e' creata di default da Android Studio.
Per includerla si deve cliccare destro sull'albero del progetto /New/Android resource directory



e poi selezionara rae dal secondo menu a tendina



Includere librerie aar in Android Studio

In questo post viene descritto come includere librerie Android in formato aar in un progetto di Android Studio. Per questo esempio viene indicato come installare Android Beacon Library

1) Esempio 1 : partendo dal file aar

In questo caso si scarica in locale il file aar dal sito del produttore


Dal progetto precedentemente create si clicca destro per New/Module


Selezionando Import Jar or Aar Package


Per selezionare il file si usa il quadratino all'estrema destra della prima casella di testo

Al termine si osserva che compare la nuova libreria nell'albero del progetto

Per includere la nuova libreria nella catena di compilazione di Gradle si deve editare il file build.gradle relativo al Modulo app (attenzione, esistono diversi file build.gradle all'interno di un progetto Android Studio) come indicato dalla riga evidenziata

-----------------------------------------------
apply plugin: 'com.android.application'

android {
    compileSdkVersion 21    buildToolsVersion "21.1.2"
    defaultConfig {
        applicationId "luca_innocenti.nearbeewear"        minSdkVersion 21        targetSdkVersion 21        versionCode 1        versionName "1.0"    }
    buildTypes {
        release {
            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.support:wearable:1.2.0'    compile 'com.google.android.gms:play-services-wearable:7.5.0'    compile 'org.altbeacon:android-beacon-library:2+'}
-----------------------------------------------

1) Esempio 2 : usando un repository remoto

al posto di installare la libreria in locale si puo' richiederla al momento della compilazione da un server remoto. Per ottenere cio' basta indicare l'indirizzo del server remoto ed il nome della libreria che si vuole includere sempre nel file build.gradle del modulo dell'applicazione (vedi parti in giallo)
Per seguire questa strada e' necessario che la macchina di sviluppo sia sempre connessa con Internet

-----------------------------------------------
apply plugin: 'com.android.application'

android {
    compileSdkVersion 21    buildToolsVersion "21.1.2"
    defaultConfig {
        applicationId "luca_innocenti.beacontrasmitter"        minSdkVersion 21        targetSdkVersion 21        versionCode 1        versionName "1.0"    }
    buildTypes {
        release {
            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }
    }
}
final def var = repositories {
    jcenter{
        url "http://jcenter.bintray.com/"    }
}
var

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.support:wearable:1.2.0'    compile 'com.google.android.gms:play-services-wearable:7.5.0'}dependencies {
    compile 'org.altbeacon:android-beacon-library:2+'}




Crash su sottomissione ad Apple Store


Oggi una sorpresa. Mandando in verifica una app su Apple Store con la stessa procedura che ho fatto solo un paio di giorni fa XCode ha crashato in modo non recuperabile


Chiudere ed aprire Xcode non serve a niente e nemmeno reinstallarlo

La soluzione arriva da questo link: si deve archiviare l'applicazione, lanciare Organizer, chiudere il progetto nella finestraa principale di XCode lasciando aperto Organizer e solo a questo punto si effettua l'upload su Apple Store

Ancora devo capire perche' continuo a pagare soldi per questo tipo di servizio....

giovedì 18 giugno 2015

Settare il tempo su Centos 7

Un piccolo promemoria su come settare il tempo su Centos
Per prima cosa si deve settare/modificare la propria timezone mediante il comando


timedatectl set-timezone Europe/Rome (Italia)
timedatectl set-timezone Etc/UTC (UTC)


per sincronizzare l'orologio con un servizio NTP si deve configurare il file /etc/ntp.conf con l'indirizzo di un timeserver ed aggiornare la regola del firewall

firewall-cmd --add-service=ntp --permanent 
firewall-cmd --reload
systemctl start ntpd

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...