martedì 19 febbraio 2013
Zoom estremo sull'insieme di Mandelbrot
Questa non e' ovviamente opera mia ma e' troppo bello per non pubblicarlo
Angoli di inclinazione in PhoneGap/HTML5
Sempre utilizzando PhoneGap e' possibile in modo molto semplice ottenere gli angoli di rotazione del dispositivo mobile nello spazio mediante la notazione di Eulero
Gli angoli sono anche definiti come
alfa = yaw (imbardata) in giallo
beta = roll (rollio) in rosso
gamma = pitch (beccheggio) in viola
il codice e' semplicemente autoesplicativo
----------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<title>Angoli</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
<script type="text/javascript" charset="utf-8">
window.addEventListener('deviceorientation', function(event) {
var alpha = 360 - event.alpha;
var beta = event.beta;
var gamma = event.gamma;
// Display Euler angles
document.getElementById("alpha").innerHTML = "Alpha : " + alpha;
document.getElementById("beta").innerHTML = "Beta : " + beta;
document.getElementById("gamma").innerHTML = "Gamma : " + gamma;
}, false);
</script>
</head>
<body>
<p id="alpha">Alpha : </p><br>
<p id="beta" >Beta : </p><br>
<p id="gamma">Gamma : </p><br>
</body>
</html>
----------------------------------------------------
Angoli di Eulero (Wikipedia) |
alfa = yaw (imbardata) in giallo
beta = roll (rollio) in rosso
gamma = pitch (beccheggio) in viola
Fonte Wikipedia |
il codice e' semplicemente autoesplicativo
----------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<title>Angoli</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
<script type="text/javascript" charset="utf-8">
window.addEventListener('deviceorientation', function(event) {
var alpha = 360 - event.alpha;
var beta = event.beta;
var gamma = event.gamma;
// Display Euler angles
document.getElementById("alpha").innerHTML = "Alpha : " + alpha;
document.getElementById("beta").innerHTML = "Beta : " + beta;
document.getElementById("gamma").innerHTML = "Gamma : " + gamma;
}, false);
</script>
</head>
<body>
<p id="alpha">Alpha : </p><br>
<p id="beta" >Beta : </p><br>
<p id="gamma">Gamma : </p><br>
</body>
</html>
----------------------------------------------------
Chrome su Linux dietro ad un proxy server
Nella versione per Linux di Google Chrome non e' presente il menu di configurazione del proxy server. Al suo posto vi e' un messaggio che cerca di indirizzare l'utente alla soluzione
Se si usano Kde o Gnome in pratica vengono assunti i settaggi del Window Manager...ma cosa fare con Lxde???
La soluzione piu' semplice e valida per tutte le distribuzioni e' lanciare Chrome da linea di comando con il seguente parametro
google-chrome --proxy-server=http://mioproxy.com:8080/
Aldebaran, Giove e Luna
Con l'arrivo della nuova macchina digitale le foto sono un po' migliorate
In questa ripresa (18/2/2013 alle 22:21 da Firenze) si vede Aldebaran (a sinistra), la Lune (chiaramente al centro) e Giove (a destra) nella stessa porzione di cielo
Qui la simulazione in Stellarium
In questa ripresa (18/2/2013 alle 22:21 da Firenze) si vede Aldebaran (a sinistra), la Lune (chiaramente al centro) e Giove (a destra) nella stessa porzione di cielo
Qui la simulazione in Stellarium
C4Droid
C4Droid e' la prima applicazione in assoluto che abbia acquistato (2.29 euro) e devo ammettere che ne vale la pena
L'applicazione permette di programmare all'interno di un terminale Android in C/C++ con Gcc come compilatore ed con alcune librerie di uso comune all'interno di Linux come SDL e Qt. In questo modo ci si svincola dall'impiego di Java e dalla macchina virtuale Dalvik per fare applicazione di livello piu' basso come e' possibile fare con l'NDK
Per mettere alla prova il compilatore ho preso il sorgente del post che permette di disegnare l'insieme di Mandelbrot
Il codice e' stato copiato ed incollato senza nessuna modifica, quindi compilato ed eseguito
Il risultato e' riportato nella immagine sottostante
Come si puo' osservare il risultato e' quello atteso. Il tempo di esecuzione, che su un pc attuale non e' quasi misurabile dato che il risultato e' quasi istantaneo, nel telefono Samsung GT-S5570i e' di circa 18 secondi
Con lo stesso compilatore si puo' usare Ncurses. Sempre prendendo a prestito da un precedente post si puo' ottenere
La cosa divertente e' che con questo compilatore si riesce a superare il controllo della latenza di Dalvik. In pratica di norma Android interrompe una applicazione se questa per circa 30 secondi non restituisce la possibilita' di interazione all'utente
L'immagine sottostante e' stata effettuata mediante un calcolo di circa 2 minuti e 25 secondi ed e' stata terminata senza nessuna segnalazione di anomalia da parte del sistema operativo
Un buon acquisto in fine dei conti anche se in fine dei conti si tratta di un giochino piu' che di uno strumento di produzione
L'applicazione permette di programmare all'interno di un terminale Android in C/C++ con Gcc come compilatore ed con alcune librerie di uso comune all'interno di Linux come SDL e Qt. In questo modo ci si svincola dall'impiego di Java e dalla macchina virtuale Dalvik per fare applicazione di livello piu' basso come e' possibile fare con l'NDK
Per mettere alla prova il compilatore ho preso il sorgente del post che permette di disegnare l'insieme di Mandelbrot
Il codice e' stato copiato ed incollato senza nessuna modifica, quindi compilato ed eseguito
Il risultato e' riportato nella immagine sottostante
Come si puo' osservare il risultato e' quello atteso. Il tempo di esecuzione, che su un pc attuale non e' quasi misurabile dato che il risultato e' quasi istantaneo, nel telefono Samsung GT-S5570i e' di circa 18 secondi
Con lo stesso compilatore si puo' usare Ncurses. Sempre prendendo a prestito da un precedente post si puo' ottenere
La cosa divertente e' che con questo compilatore si riesce a superare il controllo della latenza di Dalvik. In pratica di norma Android interrompe una applicazione se questa per circa 30 secondi non restituisce la possibilita' di interazione all'utente
L'immagine sottostante e' stata effettuata mediante un calcolo di circa 2 minuti e 25 secondi ed e' stata terminata senza nessuna segnalazione di anomalia da parte del sistema operativo
Un buon acquisto in fine dei conti anche se in fine dei conti si tratta di un giochino piu' che di uno strumento di produzione
venerdì 15 febbraio 2013
Riportare il firmware originale un Samsung Galaxy Next Turbo (GT-5570i)
Un po' scocciato dalle varie Rom custom ho deciso di riportare il telefono in oggetto al firmware originale
(la Optimus e' carina ma con tre launcher installati e non rimuovibili lascia ben poco spazio per altre applicazioni)
La procedura per ritornare al firmware originale e' il seguente
1) Scaricare l'ultimo firmware disponibile per il telefono (nel caso S5570IXILG1_S5570IITVLG2_ITV)
2) Scaricare il programma Odinatrix e inserire il file del firmware scompattato nella directory di Odinatrix (S5570IXILG1_S5570iITVLG2_S5570IXXLF3_HOME.tar.md5)
3) lanciare Odinatrix ed attendere il termine delle operazioni. Il risultato saranno 3 file (CSCxxx, MODEMxxx e PDAxxx) dentro la sottodirectory output
4) recuperare il file tassve_0623.pit
5) Mettere il telefono in Download Mode (ovvero accenderlo tenendo premuto il tasto Home+Volume Giu' e Accensione). Si deve confermare di voler procedere premendo il tasto Volume Su al primo menu
5) Collegare il telefono e lanciare il programma Odin 1.83 con le impostazioni della schermata nell'immagine
Il risultato e' il seguente
(la Optimus e' carina ma con tre launcher installati e non rimuovibili lascia ben poco spazio per altre applicazioni)
La procedura per ritornare al firmware originale e' il seguente
1) Scaricare l'ultimo firmware disponibile per il telefono (nel caso S5570IXILG1_S5570IITVLG2_ITV)
2) Scaricare il programma Odinatrix e inserire il file del firmware scompattato nella directory di Odinatrix (S5570IXILG1_S5570iITVLG2_S5570IXXLF3_HOME.tar.md5)
3) lanciare Odinatrix ed attendere il termine delle operazioni. Il risultato saranno 3 file (CSCxxx, MODEMxxx e PDAxxx) dentro la sottodirectory output
4) recuperare il file tassve_0623.pit
5) Mettere il telefono in Download Mode (ovvero accenderlo tenendo premuto il tasto Home+Volume Giu' e Accensione). Si deve confermare di voler procedere premendo il tasto Volume Su al primo menu
5) Collegare il telefono e lanciare il programma Odin 1.83 con le impostazioni della schermata nell'immagine
Il risultato e' il seguente
giovedì 14 febbraio 2013
Rotazione di immagine in CSS3
Un altro metodo per ruotare una immagine e' quello di utilizzare CSS3 con le proprieta' di rotazione delle immagini.
Questo metodo ha il problema che non tutti i browser supportano il medesimo set di modificatori (nell'esempio e' stato usato il metodo per i browser derivanti da WebKit)
-----------------------------------------------
<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:160px;
height:160px;
background-image:url('http://junefabrics.com/images/android160.jpg');
-webkit-transform:rotate(45deg); /* Safari and Chrome */
}
</style>
</head>
<body>
<div></div>
</body>
</html>
-------------------------------------------------
Iscriviti a:
Post (Atom)
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...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...