Archivio mensile:Gennaio 2010

iPhone Developer Program, certificati di sviluppo e distribuzione App

iPhone Apple

Stamattina mi dedico al nuovo (per me!) mondo dello sviluppo su iPhone e, perchè no, sul nuovo iPad.
In settimana mi sono iscritto all’iPhone Developer Program in modo da poter testare le App sviluppate direttamente sull’iPhone, installarle su altri 10o (per testarlo con gli amici) e distribuirle tramite Apple Store.

Vi segnalo due guide su devAPP (molto ben fatte!) sui passi fondamentali per poter iniziare:

Rispetto alle guide qui sopra segnalo, come evidenziato in questo post sul Developers Forum, che, prima di procedere, dovete verificare di aver il certificato WWDR (Apple Worldwide Developer Relations Certification Authority). Le operazioni, procedendo senza aver prima installato questo certificato, non andranno a buon fine. Il WWDR lo trovate nella sezione Certificates del Program Portal (iPhone Developer Program).

Nel caso in cui aveste già installato il tutto (come da procedura della guida) senza il WWDR è necessario ripartire da zero. Per prima cosa dovete seguire quanto descritto nel suddetto post:

1 Delete the WWDR certificate and your developer certificates from Keychain Access
2 Ensure that the login keychain is set as the default keychain in Keychain Access
3 Download the WWDR certificate and add it to your keychain in the login section
4 Use Keychain Access to generate a CSR (Certificate Assistant… Request a Certificate…) for a developer
5 Submit the CSR to the Apple portal
6 When the developer certificate is ready, download it to your Mac and add it to your keychain in the login section
7 In the Apple portal, specify the unique device ID (UDID) of your iPhone or iPod touch. You can find the device’s UDID in the Window… Organizer section of Xcode. The ID is the 40 character “Identifier” string in the “Summary” tab (e.g. 4ada8edc85bfdd3947696cb3277a8c7f731fb6c3)
8 In the Apple portal, choose an App ID name. This can be anything, it is not related to any other data. However, the Bundle Identifier that you choose here MUST match the Bundle Identifier used in your Xcode .plist file, e.g. “com.mydomain”
9 In the Apple portal, create a provisioning profile. The 3 ingredients for this are the name(s) of your developer certificates, your unique device ID(s) (UDID(s)), and your App ID. When you download this file, it will have a .mobileprovision extension. After you have downloaded it, open it in Finder, and drag it to the Xcode icon in your dock. The profile should now appear in Xcode. To check, go to the Xcode “Window… Organizer” menu and look under “iPhone Development… Provisioning Profiles”. If all is ok, you should not see any yellow error messages, and your profile should appear in the “Name” list.
10 Do a clean build, so that previous precompiled headers and object files are deleted. In Xcode, choose “Build… Clean All Targets”, then “Build… Build and Run”. If your code compiles with no errors, Xcode will upload the app to your iPhone or iPod touch, using the USB cable attached to your device.

Infine ricordatevi di ripulire anche il vostro iPhone. Io ho seguito la procedura qui sopra diverse volte prima di trovare questo utilissimo post. Sul vostro iPhone quindi andate in Impostazioni -> Generale -> Profili e cancellateli, poi riprovate di nuovo.
Forza e coraggio… vedere la prima installazione creata da voi che gira sul proprio iPhone merita davvero! 🙂

Traduzioni online

One Hour Translation

Preso da migliaia di cose da fare, come mio solito, continuavo a rimandare l’analisi di un progetto da troppo tempo. Progetto che porterò avanti in collaborazione con alcuni sviluppatori in outsourcing all’estero. La mia analisi quindi andava tradotta in inglese e questo (ahimè!) mi prende sempre una marea di tempo.

Pur vivendola e immettendo migliaia di byte al giorno, a volte dimentico che la rete esiste e va sfruttata! Così, quasi per caso, ho scoperto questo sito di traduzioni online. Il costo era abbordabile e, pensai, di certo potevano fare meglio del mio spartano inglese!

Al costo di 0,07 US$ a parola è stato fatto un ottimo lavoro! Certo conta non poco chi, dall’altra parte, effettua la traduzione. Io sono rimasto contento.
Esiste anche l’opzione “Translate & Review” a 0.12 US$ e la “Expert Translator” a 0,15 US$.

Consiglio quindi a tutti di provarlo, poi ditemi la vostra…

Google contro la Cina

Larry Page e Sergey Brin, fondatori di Google

Alle 3 del pomeriggio di ieri (orario della California, mezzanotte in Italia) Google ha inviato in rete uno dei post più clamorosi degli ultimi tempi: “A new approach to China“. L’azienda comunica che è stata vittima di un sofisticato e mirato attacco informatico, avvenuto a metà Dicembre, proveniente dalla Cina.
Google evidenzia tre punti fondamentali (guarda il rapporto completo). Primo, l’attacco non era mirato alla sola azienda di Mountain View bensì sono state coinvolte almeno altre venti aziende di diversi settori: internet, finanza, tecnologia, media e chimica. Secondo, lo scopo primario era quello di accedere agli account Gmail di alcuni attivisti cinesi per la difesa dei diritti umani. Terzo, altri account di utenti Gmail – US, Europa e Cina – sono stati violati da terze parti attraverso sistemi di intrusione quali “phishing scams or malware” residenti sui computer degli utenti stessi.

Google non accusa direttamente il Governo cinese di tutto ciò ma lo lascia apertamente intendere. Infatti nel suo comunicato minaccia di togliere tutti i sistemi di censura previsti dalla politica di cooperazione con le autorità della Repubblica Popolare. Dopo poche ore, senza preavviso, la Cina è senza filtri. Ora i cinesi hanno accesso ad argomenti scottanti: da “Tien an men” al “Dalai Lama“.

L’azienda americana ha già precisato che conosce bene il prezzo che potrà pagare per questa sua manovra: dover abbandonare il mercato cinese (secondo uno studio di JP Morgan i ricavi di Google in Cina si collocherebbero attorno ai 600 milioni). Di contro Google considera importante il danno d’immagine subito dalle manovre di censura imposte dal regime. E’ indubbiamente un momento molto importante della storia di internet che, come ben sappiamo, è fortemente segnata dalle scelte di Google.

I commenti in rete si moltiplicano minuto dopo minuto. I punti di vista e le sensazioni sono tante, da chi pensa ad “una manovra calcolata” a chi invece vede “un’azione commerciale geniale“.
Io invece sono un sognatore. Mi piace pensare semplicemente a due ragazzi idealisti e di sani principi che, dall’alto della loro posizione, hanno deciso di dire basta a ciò che tutti dovremmo combattere con energia: la censura in rete. Mi piace sognare che Larry Page e Sergey Brin, i fondatori di Google, abbiano talmente tanti soldi che, anche se oggi stanno perdendo la battaglia in borsa (Google ha perso qualche punto percentuale), domani vinceranno la guerra per la libertà della rete Internet.

SSH su OS X con chiave generata da Putty

osx-snow-leopard

Sto effettuando la migrazione da PC a Mac (OS X Snow Leopard). Su PC utilizzo il mitico PuTTY (programma che non smetterò mai di osannare!) per connettermi ai server in SSH con chiave pubblica. Su Mac non è necessario alcun software aggiuntivo essendo quest’ultimo basato su Unix, tuttavia sono state necessarie alcune operazioni elementari per poter ottenere la stessa operatività.

Per prima cosa ho dovuto convertire le mie chiavi pubbliche, generate a suo tempo da PuTTYgen, in modo che potessero essere usate da qualsiasi client OpenSSH. Per questo il buon PuTTYgen ci viene in aiuto. Per prima cosa è necessario importare la chiave .ppk (Conversions -> Import key). Una volta importata la chiave è possibile esportarla come OpenSSH key (Conversions -> Export OpenSSH key). Salvate poi la nuova key su una chiavetta usb e portatela su Mac.

Sul Mac ho spostato la key nell’apposita directory .ssh presente nella mia Home (/Users/myName). Sempre nella Home ho creato il file mySSH-Server1.sh con questo contenuto:

ssh -i /Users/myName/.ssh/myKey_ssh -p 922 myUser@xxx.xxx.xxx.xxx

In pratica chiamo ssh da riga di comando con:

  • -i serve per agganciare la chiave appena salvata
  • -p perchè non uso mai la porta standard 22 (così si escludono un pò di lamer)
  • myUser@xxx.xxx.xxx.xxx è la classica chiamata ssh composta da user e indirizzo IP

Ho salvato il file e l’ho reso eseguibile con il comando:

chmod 700 mySSH-Server1.sh

Ho creato poi un Alias del file e l’ho posizionato sulla Scrivania in modo da averlo sempre a portata di click.
Appena lanciato, ssh mi ha fatto notare che i permessi della key non erano corretti e quindi li ho impostati:

chmod 600 .ssh/myKey_ssh

Dopodichè è partito, ho inserito la passphrase è via!

Internet for peace (Nobel per la Pace)

manifesto-internet-for-peace

Stamattina ho comprato Wired di Gennaio 2010.

Leggo subito, a volte prima di riaccendere la macchina e partire, l’editoriale di Riccardo Luna, il Direttore Responsabile dell’ottima rivista. Oggi, in macchina, leggendo il Login, mi sono quasi emozionato. Ci credo anche io!

Giunto in ufficio sono andato subito a leggere il Manifesto di “Internet for Peace” di cui purtroppo non avevo mai sentito parlare (lavoro troppo?!). Trovo geniale l’idea della candidatura di Internet a Premio Nobel per la Pace 2010.

Ovviamente ho firmato in quanto credo fermamente nelle potenzialità incondizionate della rete. Il dialogo, il confronto, la socializzazione, la memoria. Sono questi i peggiori nemici della guerra. E allora perchè no. Perchè non assegnare il Nobel per la Pace proprio alla rete Internet quale unico mezzo incondizionato capace di “far paura” alla guerra.

My two cents 😉