Bada: Running the Simulator as stand-alone

Developing for Bada, the new platform from Samsung is a bit hectic at the moment. There isn’t much documentation and it’s still in beta so I’ll start posting useful hints and tips on my blog for those suffering like me trying to develop with a not-yet-finished SDK.

For those like me who want to run the simulator without having to run their own application in order to get it going, just do this:

Go to the simulator folder which in 1.0.0b2 is there:

C:\bada\SDK\1.0.0b2\Model\S8500\Simulator

And run the following command:

Simulator -s ".\PhoneShell.dll" -d Generic.dbi

FortiGate, FireFox 3.x e problemi SSL

Non si finisce mai di imparare. Oggi un cliente ha riscontrato un problema accedendo ad un sito con FireFox 3. Lo stesso sito, con Safari, nessun problema.

L’errore è il seguente: ssl_error_access_denied_alert

Capitasse sempre sarebbe anche possibile capirci qualcosa. Ovviamente succede a caso.. ed ogni tanto, cliccando su retry, il sito viene caricato. Altre volte no.

Il risultato è che si tratta di un’incompatibilità con un’impostazione del protection profile del FortiGate. La soluzione è la seguente (da ripetere per ogni protection profile interessato):

wormhole $ config firewall profile
wormhole (profile) $ edit scan
wormhole (scan) $ set https allow-ssl-unknown-sess-id
wormhole (scan) $ end
wormhole $ end

Grazie a chi ha postato la soluzione in questi siti:
http://www.geofffox.com/MT/archives/2008/11/18/the-great-google-firefox-fortigate-incompatibility-caper.php
https://support.mozilla.com/en-US/forum/1/190364

Avira su Windows Server 2008

Piccola guida rubata da Expertester su come fare ad installare la versione free di Avira su Windows Server 2008.  E’ contro i termini di licenza del programma, percui non fatelo se siete in ambito commerciale. Ma se vi serve un antivirus da mettere su un 2008 che utilizzate come macchina di sviluppo per fatti vostri o cose del genere, è decisamente comodo.

Tips how to install Avira Free in Windows Server 2008 :

1.) Start –> Run –> Regedit
2.) Go to HKEY_LOCAL_MACHINE –> SYSTEM –> CurrentControlset –> Control
3.) Now change the permissions of the folder “ProductOptions” –> add your user account (for example Computername\Username) and deny yourself the read rights for the whole folder. Be careful not to deny the whole rights for all administrators or something like that (I tried that first cause of a black out and it leads to windows not being able to boot).
4.) Now you should be able to install Antivir PE

In case you want to revert the permission settings just log to your administrator account. Here you can again grant your user account full rights for “ProductOptions”.

Come caricare una texture via URL con Cocos2D

Tanto per cambiare sono inciampato in un problema durante lo sviluppo di un gioco su iPhone. In pratica ho la necessità di caricare un’immagine da utilizzare come texture da un sito web e non dal bundle dell’applicazione.

Cocos2d non mette a disposizione dei metodi per caricare direttamente l’immagine come e fosse una texture qualsiasi. Ma c’è un modo per circumnavigare il problema:

NSString *url = [NSString stringWithString:@"http://www.blabla.com/myimage.png"];
Texture2D *tex;
UIImage * img = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]];
if (img) {
		tex = [[Texture2D alloc] initWithImage:img];
}

A questo punto possiamo passare la texture in pasto allo sprite o a qualsiasi altro oggetto necessiti l’immagine che abbiamo appena caricato. Facile ed indolore.

Il Poeta disponibile sull’App Store

Sono contento di poter finalmente annunciare che Il Poeta è disponibile sull’App Store di Apple al modico prezzo di 0,79 Euro!
Alla fine ce la siamo cavata con 10 giorni da quando abbiamo mandato il gioco alla Apple al momento in cui è andato online sullo Store. Pensavo peggio, soprattutto visto che siamo sotto le feste.

Vi lascio con lo screenshot qua di fianco che è ben augurante! 😉

Il Poeta

screenshotsFinalmente posso parlare del progetto su cui sto lavorando a tempo perso da qualche mese. Si chiama Il Poeta (o per gli anglofoni The Poet) ed è un puzzle game per iPhone ed iPod Touch.

Il funzionamento del gioco è molto semplice. Si hanno a disposizione un certo numero di tesserine con una o più parole scritte su ognuna e l’obiettivo è ricostruire una frase famosa nel più breve tempo possibile. Sembra semplice detto così, ma quando il tempo è poco e le tessere tante, comincia a diventare difficile!

Oggi l’abbiamo iniviato alla Apple per la valutazione prima della pubblicazione sull’App Store. Ci vorrà qualche giorno per vederlo online alla folle cifra di €0,79!!

Per chi volesse un pò di informazioni in più c’è il sito ufficiale

Già  che ci siete, date un’occhiata anche al filmato 🙂

A morte l’UAC di Windows 7

Launcher

Launcher

Ho appena finito di scrivere il launcher di un progettino a cui sto lavorando nel tempo libero. E’ composto da un eseguibile C# che lancia un processo e vi inietta un bootstrapper in C che inocula il CLR di .NET ed una DLL in C# che assume il controllo del processo. E funziona anche con Vista e Windows 7 ed il loro maledettissimo UAC! Purtroppo non posso postare il codice, ma se qualcuno avesse bisogno di aiuto per qualcosa di analogo, penso di poter dare una mano 🙂

MPMovieController in verticale

Tanto per cambiare non sono il primo nè l’unico ad avere problemi con il movie player dell’SDK dell’iPhone. Volevo inserire la guida de “Il Poeta” all’interno dell’applicazione e ho pensato bene di creare un filmato in quicktime e di darlo in pasto al movie player di Apple.

Fin qui niente di strano.. c’è un componente che è MPMovieController che fa esattamente al caso mio. Gli passi un URL alla resource da mandare in play e il gioco è fatto. Peccato che il filmato parta in landscape, mentre il mio gioco ovviamente è in portrait!

Per una volta faccio il bravo ragazzo e vado a vedere l’elenco dei metodi del controller.. niente di interessante. Ravano nella documentazione online.. niente neanche lì. Google aiutami tu! E trovo che c’è un metodo setOrientation che non è documentato e che non c’è nemmeno nei file di include dell’SDK ma che c’è nell’implementazione della classe!! Grazie Apple per essere così pressapochista in tutto ciò che è tecnico. Un’altra tacca ed una nuova voce sul perchè non sopporto Apple, l’SDK di iPhone ed XCode.

Qui trovate il codice in questione, che ho riportato anche sotto nel caso la pagina dovesse sparire o che altro: http://stackoverflow.com/questions/1374558/mpmovieplayercontroller-in-portrait-mode

@interface MPMoviePlayerController (extend)
-(void)setOrientation:(int)orientation animated:(BOOL)value;
@end
 
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieUR];
[moviePlayer setOrientation:UIDeviceOrientationPortrait animated:NO];
if (moviePlayer)
{
        [self.moviePlayer play];
}

*** Un addendum: non usate questa funzione per pubblicare sull’App Store. Viene considerata API privata e pertanto vi rifiuteranno l’applicazione! ***