Per connettere il proprio cellulare al telefono (utile, ad esempio se si sta sviluppando del software per il cellulare) esistono diverse applicazioni.
Nel caso di Sony Ericsson si può usare la buona applicazione messa a disposizione dal produttore sul loro sito o myPhoneExplorer, che si può scaricare gratuitamente da fjsoft.at
Visualizzazione post con etichetta altro. Mostra tutti i post
Visualizzazione post con etichetta altro. Mostra tutti i post
Javafx 1.2
All'inizio di giugno é uscita la nuova versione di javaFX, la 1.2, che sembra sia un bel passo in avanti rispetto alla precedente 1.1, soprattutto nel mettere a disposizione nuove classi che permettono di gestire più agevolmente le componenti grafiche.
Per maggiori informazioni, vedi il sito ufficiale, javafx.com che, oltre a permettere il download dell'ambiente di sviluppo, mette a disposizione documentazione introduttiva.
In realtà io non ne so ancora abbastanza per commentare il passaggio a 1.2, dato che mi sono appena cominciato a studiare il linguaggio che, per quanto ho visto, mi sembra abbastanza interessante nel suo ambito.
Vedi il blog javafxi.blogspot.com per una introduzione alle feature del linguaggio dal punto di vista di uno sviluppatore con un background in java (la cosa aiuta parecchio, a ben vedere).
Questo é il primo post sul tutorial sun introduttivo alle funzionalità di base di javafx.
E questo é il primo post relativo al tutorial sun introduttivo alla gestione della GUI con javafx.
Per maggiori informazioni, vedi il sito ufficiale, javafx.com che, oltre a permettere il download dell'ambiente di sviluppo, mette a disposizione documentazione introduttiva.
In realtà io non ne so ancora abbastanza per commentare il passaggio a 1.2, dato che mi sono appena cominciato a studiare il linguaggio che, per quanto ho visto, mi sembra abbastanza interessante nel suo ambito.
Vedi il blog javafxi.blogspot.com per una introduzione alle feature del linguaggio dal punto di vista di uno sviluppatore con un background in java (la cosa aiuta parecchio, a ben vedere).
Questo é il primo post sul tutorial sun introduttivo alle funzionalità di base di javafx.
E questo é il primo post relativo al tutorial sun introduttivo alla gestione della GUI con javafx.
Visualizzare un riassunto
Una semplice modifica al template di blogger per far sì che sulla pagina principale del proprio blog venga visualizzata solo la prima parte del post.
Scopo di questo cambiamento é dare a chi accede il blog su blogspot una vista complessiva di quanto é pubblicato, lasciandogli la possibilità di andare sulla pagina che gli interessa per vedere il post nella sua interezza.
Questo dovrebbe rendere la home del blog più pulita e leggibile.
Per far questo, creo una nuova class per il tag span e la uso nel testo del nostro post.
In pratica ogni nostro post sarà strutturato in questo modo:
Qui il corpo del post, visibile solo nella sua specifica pagina.
</span>
Il template del mio blog dovrà essere cambiato per riflettere l'utilizzo di questa nuova classe:
Subito prima della fine della sezione head nel mio template, aggiungo questo pezzo di codice:
Potrebbe bastare così, ma aggiungiamo sulla home del mio blog anche un link al post completo subito dopo il riassunto, per renderne più semplice l'accesso al lettore.
Vado quindi a cercarmi nel template la fine della sezione dedicata al testo del post pubblicato, che sarà questo tag:
Subito dopo metterò il mio codice, che genererà un link all'URL della pagina specifica per il mio post:
Il risultato di queste modifiche lo si vede sulla pagina principale di questo blog.
Scopo di questo cambiamento é dare a chi accede il blog su blogspot una vista complessiva di quanto é pubblicato, lasciandogli la possibilità di andare sulla pagina che gli interessa per vedere il post nella sua interezza.
Questo dovrebbe rendere la home del blog più pulita e leggibile.
Per far questo, creo una nuova class per il tag span e la uso nel testo del nostro post.
In pratica ogni nostro post sarà strutturato in questo modo:
Qui il riassunto che voglio sia visualizzato:
- nella home del mio blog,
- nella pagina specifica del post
Qui il corpo del post, visibile solo nella sua specifica pagina.
</span>
Il template del mio blog dovrà essere cambiato per riflettere l'utilizzo di questa nuova classe:
Subito prima della fine della sezione head nel mio template, aggiungo questo pezzo di codice:
<!-- riassunto o completo -->
<style>
<b:if cond='data:blog.pageType == "item"'>
span.fullpost {display:inline;}
<b:else/>
span.fullpost {display:none;}
</b:if>
</style>
<!-- riassunto o completo -->
Potrebbe bastare così, ma aggiungiamo sulla home del mio blog anche un link al post completo subito dopo il riassunto, per renderne più semplice l'accesso al lettore.
Vado quindi a cercarmi nel template la fine della sezione dedicata al testo del post pubblicato, che sarà questo tag:
<data:post.body/>
Subito dopo metterò il mio codice, che genererà un link all'URL della pagina specifica per il mio post:
<!-- riassunto o completo -->
<b:if cond='data:blog.pageType != "item"'>
<p><a expr:href='data:post.url'>Leggi il post completo</p>
</b:if>
<!-- riassunto o completo -->
Il risultato di queste modifiche lo si vede sulla pagina principale di questo blog.
Virtualizzazione - Iniziative di AMD
Terzo capitolo di Virtualization for Dummies di Bernard Golden e Clark Scheffy che può essere scaricato gratuitamente, nell'edizione speciale Sun AMD, dal sito della sun.
Nei processori Quad-Core AMD Opteron viene implementata una ulteriore ottimizzazione hardware per la gestione della memoria, detta Rapid Virtualiztion Indexing.
Per migliorare il supporto della virtualizzazione nel campo delle connessioni di rete e della gestione della memoria di massa, AMD introduce il concetto di IOMMU: I/O Memory
Management Unit.
Nei processori Quad-Core AMD Opteron viene implementata una ulteriore ottimizzazione hardware per la gestione della memoria, detta Rapid Virtualiztion Indexing.
Per migliorare il supporto della virtualizzazione nel campo delle connessioni di rete e della gestione della memoria di massa, AMD introduce il concetto di IOMMU: I/O Memory
Management Unit.
Virtualizzazione - La tecnologia AMD
Secondo capitolo di Virtualization for Dummies di Bernard Golden e Clark Scheffy che può essere scaricato gratuitamente, nell'edizione speciale Sun AMD, dal sito della sun.
Quattro risorse di un computer sono cruciali per la virtualizzazione:
E' da molto che si adopera il concetto di memoria virtuale. La memoria RAM viene salvata sulla memoria di massa e ripristinata all'occorrenza, simulando una maggior quantità di memoria RAM a disposizione.
La CPU dell'Opteron di AMD é disegnata per permettere ottimizzazioni che velocizzano il passaggio di contesto tra i vari sistemi ospite, inoltre usano meno energia adattandosi a quelli che sono le richieste di carico di lavoro correnti.
Quattro risorse di un computer sono cruciali per la virtualizzazione:
- Processore: La capacità di coordinare l'accesso alla CPU da parte dei diversi sistemi operativi ospitati dalla macchina é una delle sfide principali per la virtualizzazione, anche in considerazione del fatto che l'architettura hardware dei processori x86 non é stata progettata per il supporto di molteplici ospiti.
- Memoria RAM: Neanche l'uso di questa risorsa é stato progettato per x86 avendo in mente il supporto multi-ospite.
- Rete: Non si può pensare ai computer contemporanei se non in connessione via Internet
- Memoria di massa: ogni sistema ospite virtuale deve avere la propria memoria di massa e il software di virtualizzazione deve mantenere isolata la memoria di massa di ogni sistema ospite.
E' da molto che si adopera il concetto di memoria virtuale. La memoria RAM viene salvata sulla memoria di massa e ripristinata all'occorrenza, simulando una maggior quantità di memoria RAM a disposizione.
La CPU dell'Opteron di AMD é disegnata per permettere ottimizzazioni che velocizzano il passaggio di contesto tra i vari sistemi ospite, inoltre usano meno energia adattandosi a quelli che sono le richieste di carico di lavoro correnti.
Virtualizzazione - concetti base
Nonostante il titolo, mi sto leggendo Virtualization for Dummies di Bernard Golden e Clark Scheffy che può essere scaricato gratuitamente, nell'edizione speciale Sun AMD, dal sito della sun.
Alcuni concetti chiave che rendono la virtualizzazione un tema interessante:
Alcuni concetti chiave che rendono la virtualizzazione un tema interessante:
- normalmente l'hardware é sottoutilizzato, spesso le macchine usano solo il 10-15% della loro capacità di calcolo.
- il numero di server utilizzati é cresciuto drammaticamente negli ultimi anni. La virtualizzazione permette di sfruttare meglio le macchine esistenti, riducendo la necessità di nuove macchine.
- una nuova coscienza ecologica spinge a utilizzare meglio l'hardware esistente.
- i costi per l'amministrazione dei sistemi aumentano.
- virtualizzazione del sistema operativo: la virtualizzazione di un sistema operativo é in esecuzione su un altro sistema operativo. Le applicazioni in esecuzione sul sistema operativo virtualizzato hanno l'illusione di avere l'intera macchina a disposizione.
- emulazione hardware: il software di virtualizzazione (detto hypervisor) presenta un emulazione hardware della macchina su cui lavora il sistema operativo ospite. Questo ambiente viene detto VMM (Virtual Machine Monitor). In questo modo diversi sistemi operativi possono coesistere sulla stessa macchina.
- paravirtualizzazione: in pratica l'idea é quella di permettere la coesistenza di diversi sistemi operativi sulla stessa macchina limitandosi ad arbitrare l'accesso alle risorse fisiche da parte dei diversi sistemi che sono quindi in competizione tra loro.
KompoZer
Dovendo scrivere un po' di HTML ed essendomi seccato di fare tutto a mano, ho dato un'occhiata al mercato dei prodotti disponibili nel campo.
Alla fine ho scelto di usare KompoZer, che mi é sembrato il migliore tra quelli che ho visto.
Nonostante sia correntemente ad una versione < 1 (sto usando la 0.8a4, una alpha che mi sembra molto stabile) il prodotto é già piuttosto maturo, grazie al fatto che non nasce dal nulla, ma dall'esperienza di Netscape Navigator/Mozilla Navigator, via Nvu. Un prodotto parente stretto di KompoZer é SeaMonkey.
Non tutto quello che un vorrebbe si fosse e funzionasse al momento c'é e funziona, ma se non si hanno grandi necessità (come nel mio caso), mi pare una buona soluzione.
Alla fine ho scelto di usare KompoZer, che mi é sembrato il migliore tra quelli che ho visto.
Nonostante sia correntemente ad una versione < 1 (sto usando la 0.8a4, una alpha che mi sembra molto stabile) il prodotto é già piuttosto maturo, grazie al fatto che non nasce dal nulla, ma dall'esperienza di Netscape Navigator/Mozilla Navigator, via Nvu. Un prodotto parente stretto di KompoZer é SeaMonkey.
Non tutto quello che un vorrebbe si fosse e funzionasse al momento c'é e funziona, ma se non si hanno grandi necessità (come nel mio caso), mi pare una buona soluzione.
Pagine parametrizzate via post http
Vediamo come gestire dati passati ad una pagina PHP via POST HTTP.
Per prima cosa scriviamo una paginetta html con un form che fa una post di un paio di variabili verso un'altra pagina, la nostra pagina php che li gestirà.
Notiamo pigiando il bottone "chiedi" il controllo verrà passato alla pagina response.php con i valori dei due campi di input name e question come specificati dall'utente.
Per prima cosa facciamo un controllo su le variabili passate alla pagina, via POST HTTP, ovvero, controlliamo che l'array associativo $_POST[] sia definito e contenga le due variabili name e question che ci aspettiamo.
Se qualcosa va storto con $_POST[], ovvero probabilmente la pagina del responso é stata chiamata direttamente e non dalla pagina che abbiamo scritto sopra per generare il quesito secondo la nostra impostazione, diciamo all'utente che non abbiamo capito cosa vuole.
Nel caso contrario verifichiamo che le due variabile postate non siano vuote. Se lo sono, immettiamo un valore di default.
Mostriamo all'utente a cosa stiamo per rispondere, e quindi passiamo al cuore del nostro meccanismo per la generazione dell'oracolo: la funzione rand() che genera un valore intero nell'intervallo passato, nel nostro caso, zero o uno. A seconda del risultato visualizziamo un Sì o un No.
Si può vedere il codice in azione in queste pagine: qui la generazione della domanda, qui la generazione della risposta.
Per prima cosa scriviamo una paginetta html con un form che fa una post di un paio di variabili verso un'altra pagina, la nostra pagina php che li gestirà.
Notiamo pigiando il bottone "chiedi" il controllo verrà passato alla pagina response.php con i valori dei due campi di input name e question come specificati dall'utente.
<form action="response.php" method="post">Vediamo ora il codice PHP che caratterizza la response.php.
<p>
Il tuo nome:<br /><input type="text" name="name" /><br />
La tua domanda:<br /><input type="text" name="question" />?
</p>
<input type="submit" value="chiedi" />
</form>
Per prima cosa facciamo un controllo su le variabili passate alla pagina, via POST HTTP, ovvero, controlliamo che l'array associativo $_POST[] sia definito e contenga le due variabili name e question che ci aspettiamo.
Se qualcosa va storto con $_POST[], ovvero probabilmente la pagina del responso é stata chiamata direttamente e non dalla pagina che abbiamo scritto sopra per generare il quesito secondo la nostra impostazione, diciamo all'utente che non abbiamo capito cosa vuole.
Nel caso contrario verifichiamo che le due variabile postate non siano vuote. Se lo sono, immettiamo un valore di default.
Mostriamo all'utente a cosa stiamo per rispondere, e quindi passiamo al cuore del nostro meccanismo per la generazione dell'oracolo: la funzione rand() che genera un valore intero nell'intervallo passato, nel nostro caso, zero o uno. A seconda del risultato visualizziamo un Sì o un No.
if($_POST && isset($_POST["name"]) && isset($_POST["question"]))Come tocco finale, mettiamo un link alla pagina con la domanda, in modo da permettere al nostro utente di fare una nuova domanda:
{
$name = $_POST["name"];
if(strlen($name) == 0)
$name = "Anonimo";
$question = $_POST["question"];
if(strlen($question) == 0)
$question = "É uscito testa";
echo $name, ", mi hai chiesto: ", $question, "?<br />";
echo "<p>La mia risposta é: ";
echo (rand(0,1) == 0) ? "<b>Sì</b></p>" : "<b>No</b></p>";
}
else
{
echo "<p>Non ho capito la tua domanda.</p>";
}
<a href=".">Clicca qui per fare un'altra domanda</a>.E questo é tutto.
Si può vedere il codice in azione in queste pagine: qui la generazione della domanda, qui la generazione della risposta.
Iscriviti a:
Post (Atom)