Aggiornare FRITZ!Box 7490 di Sunrise

Purtroppo sunrise ha disabilitato la funzione di aggiornamento automatico del firmware sui propri dispositivi, ma è possibile aggiornare il router seguendo una semplice sequenza di passaggi:

  • Iniziamo con lo scaricare l’ultima versione del firmware (attenzione deve essere la versione a-ch) per il proprio Router all’indirizzo http://ftp.avm.de/fritz.box/fritzbox.7490/firmware/deutsch_a-ch/
  • Eseguire un backup della propria configurazione in SistemaBackup impostando una password di sicurezza.
  • Rimuovere il cavo di rete ADSL.
  • Eseguire un ripristino alle imposta di fabbrica in SistemaBackup.
  • Eseguire il login al router una volta riavviato, attivare la modalità avanzata ed in Sistema è disponibile la voce aggiornamento. Seguire la procedura indicata.
  • Collegare il cavo di rete ADSL.
  • Attendere il riavvio del router quindi accedere nuovamente all’interfaccia di gestione e verificare che la connessione DSL sia ripristinata.
  • Eseguire un ripristino delle configurazioni.

Una volta terminata la sequenza di operazioni vi troverete con il firmware aggiornato (e anche la nuova interfaccia di FRITZ!Box).

Installare app via WIFI sul tuo iDevice durante lo sviluppo

A partire dalla versione 4.3 di Xcode Apple è eliminato la comoda (ma raramente funzionante) funzionalità di installare (ed eseguire il debug) delle applicazioni in modalità remota (via Wi-FI).
PDAgent ha creato un applicazione molto semplice da usare che, in parte, sopperisce a questo problema. Il meccanismo è molto semplice, si copia l’applicazione in uno spazio condiviso in rete e la si scarica sul proprio dispositivo via Wireless, il tutto ottimamente confezionato in un’applicazione Drag&Drop.

Vantaggi:

  • installazione sui dispositivi senza doverli avere connessi al computer (e sempre sotto carica)
  • installazione contemporanea su più dispositivi risulta più semplice e veloce (non bisogna continuamente collegare e scollegare i dispositivi dal computer)

Svantaggi:

  •  non abbiamo a disposizione il debug (e la console), che in parte si può ovviare con sistemi di logging remoto (vedi testflight, ….)

Come funziona:

  • si copia l’app compilata su uno spazio condiviso (consiglio l’uso di DropBox)
  • si riceve una notifica via email o push tramite boxcar
  • si scarica l’applicazione dal dispositivo

Potete scaricare l’applicazione per il Mac direttamente da AppStore da questo indirizzo AppDropOTA.

Per la configurazione DropBox – Boxcar procedere come segue:

  • inserire l’indirizzo email con il quale si è registrati presso il servizio Boxcar
  • selezionare un file qualsiasi all’interno della cartella Public e copiare il il link pubblico (pulsante destro)

 

  • trascinare l’app dalla cartella di Xcode in
  • aspettare la notifica sul proprio device e procedere con il download

Le 32 risorse che un developer di applicazioni deve conoscere

Ecco una infografica decisamente ben riuscita in merito agli strumenti che uno sviluppatore di applicazioni per dispositivi mobili (nello specifico per piattaforma iOS) dovrebbe conoscere.

Top 32 Resources A Mobile App Developer Should Know About
[Source: iPhone App Design]

Il fatto interessante è che copre quasi tutti i campi/passaggi dello sviluppo di un applicazione, presentato siti che tutorial completi, forum di discussione, siti per la promozione delle applicazioni o per lo sviluppo (o idee) per le interfaccie.

Delle risorse presentate  una che mi permetto di consigliare vivamente è  il blog di Ray Wenderlich che copre diversi temi con tutorial ben fatti e completi (tra cui anche diversi su cocos2d).

Virtualbox 4 Headless con Debian Squeeze

Se volete avere un’installazione headless di virtualbox 4.0 su debian squeeze (6.0) bisogna procedere come segue:

Installazione di virtualbox 4

Aggiungere il repository di virtualbox per squeeze alla vostra sources.list (/etc/apt/sources.list) come segue:

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free

quindi bisogna aggiungere la chiave pubblica di oracle per certificare i pacchetti quindi avere la certezza che questi siano quelli realmente forniti dal produttore.

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

quindi procedere con l’installazione (ricordatevi prima di aggiornare i repository con un update altrimenti i nuovi pacchetti non vengono trovati).

sudo apt-get install virtualbox-4.0

è quindi necessario installare l’extension-pack scaricabile al seguente link http://www.virtualbox.org/wiki/Downloads ed eseguire il seguente comando per installarlo

sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.0.4-70112.vbox-extpack

Creazione della macchina virtuale

Creazione della macchina virtuale (viene creata nella vostra home). Il parametro ostype è facolattivo, ma impostandolo correttamente vengono impostati alcuni valori di default compatibili con il sistema selezionato.

VBoxManage createvm --name "Windows XP" --ostype WindowsXP --register

Qundi impostiamo alcuni parametri sulla nostra macchina quali ad esempio RAM, tipo di interfaccia di rete, periferica di boot, …

VBoxManage modifyvm "Windows XP" --memory 256 --acpi on --boot1 dvd --nic1 nat

Quindi creiamo il disco virtuale che conterrà la nostra macchina virtuale

VBoxManage createhd --filename "WinXP.vdi" --size 10000

Aggiungiamo il controller

VBoxManage storagectl "Windows XP" --name "IDE Controller" --add ide --controller PIIX4

adesso collegghiamo l’HD creato precedentemente alla macchina

VBoxManage storageattach "Windows XP" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "WinXP.vdi"

Aggiungiamo la ISO contente l’OS da installare

VBoxManage storageattach "Windows XP" --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium winXP.iso

configuriamo poi i parametri fondamentali per la gestione della connessione remota (attenzione che in questo esempio la connessione è possibile senza nessun tipo d’autenticazione)

VBoxManage modifyvm "Windows XP" --vrdeaddress 192.168.1.37
VBoxManage modifyvm "Windows XP" --vrdeauthtype null
VBoxManage modifyvm "Windows XP" --vrdeport 3389
VBoxManage modifyvm "Windows XP" --vrde on

procediamo con l’esecuzione della macchina virtuale

VBoxHeadless --startvm "Windows XP"

l’output dovrebbe essere il seguente:

root@debian6:~# VBoxHeadless --startvm "Windows XP"
Oracle VM VirtualBox Headless Interface 4.0.4
(C) 2008-2011 Oracle Corporation
All rights reserved.

VRDE server is listening on port 3389.

Connessione remota alla macchina virtuale

Arrivati a questo punto il gioco è fatto… è sufficiente utilizzare un qualsiasi client compatibile con RDP (il remote desktop di windows) e collegarsi alla macchina, si avrà quindi accesso al display in maniera remota.

Consiglio la lettura del seguente capitolo del manuale di VirtualBox

j2me ticker con iPhone?

L’iPhone non implementa i Ticker, quelle scritte che scorrono orizzontalmente in fondo allo schermo del vostro telefonino con java. È però semplice implementarle in obj-c utilizzando le animation. L’approccio che ho utilizzato è decisamente semplice, ho diviso la windows in 2 view separate, e su quella posizionata in basso ho inserito il testo (UILabel).

Il codice per far scorrere il testo è il seguente (viene descritto di seguito):

[myLabel setText:@"Hello world, I'm happy to be here today... have fun - d4kr"];
[myLabel setTextAlignment:UITextAlignmentCenter];

imposto il testo nella Label e lo centro, è importante centrarlo per creare un effetto lineare.

CGSize textSize = [[myLabel text] sizeWithFont:[myLabel font]];
CGFloat textWidth = textSize.width + myLabel.frame.size.width;
if (textWidth < myLabel.frame.size.width) {
    textWidth = myLabel.frame.size.width;
}
NSInteger myLabelWidth = textWidth + myLabel.frame.size.width;
myLabel.frame = CGRectMake(0, myLabel.frame.origin.y, myLabelWidth, myLabel.frame.size.height);

Calcolo le dimensioni del testo che si è andato ad inserire nella UILabel cosi da ridimensionare la Label per contenerlo tutto. Vengono poi aggiunti degli spazi cosi da avere una continuità di movimento. Se il testo della Label è minore della dimensione minima impostata questa vinene automaticamente modifica alla massima definita.

NSInteger time = textWidth/50; // 1 secondo per ogni 50px

Si imposta la velocità di scorrimento, 50px al secondo sono un buon rapporto e permette una semplice lettura.

[UIView beginAnimations:@"ticker" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:time];
[UIView setAnimationRepeatCount:FLT_MAX];
myLabel.frame = CGRectMake(-textWidth, myLabel.frame.origin.y, myLabelWidth, myLabel.frame.size.height);
[UIView commitAnimations];

Questo è il blocco che contiene l’animazione, si tratta di un semplice movimento lineare che viene ripetuto infinite (FLT_MAX) volte.

Ecco a voi il progetto d’esempio testTicker.