Simpatica barzellettina


4 programmatori Java e 4 programmatori .NET prendono il treno per andare ad una conferenza di programmatori.

I 4 programmatori .NET comprano ciascuno un biglietto mentre i 4 programmatori Java ne comprano solo uno.

Quando sta per arrivare il bigliettaio, i 4 programmatori Java si chiudono nel bagno. Quando il bigliettaio bussa, dicendo "biglietti prego!", fanno scivolare il biglietto sotto la porta. Il bigliettaio lo timbra e lo ritorna indietro sempre facendolo scivolare sotto la porta del bagno.

Alla conferenza successiva i 4 programmatori .NET decidono di fare lo stesso, e comprano un biglietto solo. Al che i programmatori Java non ne comprano nemmeno uno.

Appena saliti sul treno i 4 programmatori .NET si chiudono in bagno. Al che uno dei programmatori Java bussa alla porta del bagno dicendo "biglietti prego!". Quando il biglietto viene fatto scivolare sotto la porta, il programmatore Java prende il biglietto e dice: "Grazie! Come al solito, copiate i nostri metodi, ma non li capite!".

(PS: le guerre di religione non fanno parte del mio modo di vivere l’informatica: tutte le tecnologie hanno aspetti positivi, meritano rispetto in quanto frutto del lavoro di altre persone, possono essere vincenti se usate nel modo corretto. Un saluto ai colleghi che lavorano con .NET!)

(PS2: mi fanno notare che non ho citato l’origine della barzelletta, tradotta da Michele Sciabarrà 🙂 )

La rivincita del radicchio


Se c’è una cosa che non mi piace è senz’altro il radicchio: amarognolo e legnoso, trovarlo in mezzo all’insalata mista è spesso una brutta sorpresa. Tra le mani di chi lo sa cucinare, però, può trasformarsi in un ottimo ingrediente e prendersi una meritata rivincita. Mi arrendo al radicchio e alla bravura del cuoco del ristorante Nettuno sul lungomare di Ladispoli, che ci ha servito questi tonnarelli ai gamberi e radicchio davvero inaspettati:

tonnarelli_gamberi_radicchio.jpg

Probabilmente sono stati saltati al vino bianco, inconfondibile l’aroma che accompagnava la pasta. Buona performance anche per i più classici tonnarelli allo scoglio, ben conditi e profumati:

tonnarelli_scoglio.jpg

Alla prossima!

Dear Registered iPhone Developer…

Thank you for expressing interest in the iPhone Developer Program. We have received your enrollment request. At this time, the iPhone Developer Program is only available in the US and will expand to other countries during the beta period. We will contact you again regarding your enrollment status at the appropriate time.

Thank you for applying.

Best regards,

iPhone Developer Program

Ha ragione Roberto: siamo alle solite! 🙁

Altro che alieni!


Immagino tutti conoscano i cerchi nel grano, grandi figure geometriche tracciate in zone agricole. Gli ottimisti (!) vogliono vedervi la dimostrazione di una presenza aliena, gli scettici ci vedono solo l’opera di qualche burlone.

C’è qualcuno dalle parti di Gorizia che sicuramente alieno non è e ha le idee ben chiare su come lanciare il suo messaggio all’umanità (attraverso Google Maps) e all’intero universo. Ecco le istruzioni per vederlo:

Andate su Google Maps, copiate questo indirizzo "Strada dei Campi, 34072, Gorizia (Friuli-Venezia Giulia)" ed impostate la vista via satellite.

Chissà come commentano gli alieni…

Java su iPhone: qualche riflessione


La notizia sta facendo il giro del mondo: Sun Microsystems ha annunciato che sta lavorando ad un porting della Java Virtual Machine ed in particolare ad una implementazione di Java Micro Edition per l’iPhone di Apple. L’annuncio arriva a 24 ore dal rilascio dall’SDK ufficiale, conditio sine qua non per poter intraprendere lo sviluppo di applicazioni con la benedizione di Apple.

Qualcuno ha anche ricordato che all’indomani della presentazione dell’iPhone Sun auspicò che il nuovo device fosse dotato di runtime Java. Auspicio completamente ignorato da Apple. Ora che c’è l’SDK, Mamma Sun deve farsi il runtime da sé.

Una sconfitta? Ovvero: Sun deve arrendersi al fatto che Apple snobba JME ed è costretta a farsi il runtime da sé? Direi di no. Qualche riflessione:

  • Partiamo da lontano. Gli sviluppatori JME dipendono inevitabilmente da due componenti: IDE e emulatori, che comprendono toolchain e librerie. Nella fattispecie, Netbeans e il Wireless Toolkit rappresentano la dotazione standard di ogni sviluppatore. È ormai noto che il Wireless Toolkit e, di conseguenza, il Mobility Pack di Netbeans non sono disponibili per Mac. Stessa situazione per emulatori ed SDK dei vari manufacturer. La domanda (polemica) nasce spontanea: perchè Apple avrebbe dovuto supportare JME sull’iPhone, se Sun per prima ha completamente ignorato lo sviluppo JME su Mac OS X?. Il fatto, poi, che l’SDK dell’iPhone sia disponibile solo per Mac OS X la dice lunga sull’atteggiamento di Apple che si potrebbe sintetizzare in questa frase: "nello sviluppo mobile siamo finora stati ignorati da tutti (Sun, Nokia, Motorola, Microsoft [ovvio!]… con la sola eccezione Adobe); ora che il device più desiderato è il nostro, saranno gli altri a doversi muovere verso Mac OS X". Non fa una piega. Chi di spara ferisce, di spada perisce. Occhio per occhio, dente per dente. Insomma, cercate il proverbio che più vi piace.
  • Assodato che l’iPhone è ormai protagonista del mercato dei mobile device e che, dunque, non si può né ignorare né boicottare, chi vuole portarvi la propria tecnologia deve rimboccarsi le maniche e lavorarci sopra. Va da sé che la qualità del porting dovrà essere assoluta e frutto di un lavoro meticoloso, sia per la grafica che per le funzionalità. Sull’iPhone, infatti, non si trovavo le incoerenze di molti sistemi operativi più o meno proprietari che popolano i telefoni di mezzo mondo. L’obiettivo è arduo e la posta in gioco elevata. Da qui la domanda: perchè Sun dovrebbe affidare/delegare ad altri lo sviluppo del runtime JME, rischiando magari che un lavoro di scarsa qualità ne comprometta la credibilità sull’iPhone? Guardando alla babele che esiste nel mondo JME vien proprio da chiedersi se sia stata una buona idea quella di consentire a chiunque di scrivere i runtime Java embedded o se forse non sarebbe stato meglio avere un maggiore convolgimento da parte di Sun. Il cuore ha sempre suggerito di avere un approccio aperto, la storia ha dimostrato che tutti i runtime desktop alternativi sono stati abbandonati in favore di quello Sun, che nel frattempo è stato perfezionato, migliorato, velocizzato. Nel Micro World, invece, gli sviluppatori sono costretti a scrivere una applicazione per ogni diversa famiglia di terminali (come se su desktop si dovesse scrivere una versione per ogni rilascio di CPU da parte di Intel e AMD!) e spesso il risultato non è garantito. Libreria standard ed API opzionali, infatti, mostrano comportamenti imprevedibili, rendendo impossibile realizzare applicazioni che sulla carta appaiono scontate (per le caratteristiche del device, per ciò che dichiara il manufacturer…). Ben venga, dunque, che Sun rilasci una Java Virtual Machine e un runtime Java Micro Edition ufficiali per l’iPhone e che garantisca agli sviluppatori che le applicazioni Java troveranno realizzati in questo device il paradigma "Write Once, Run Everywhere". Mi piace ricordare che il runtime Personal Java sviluppato da Sun per i primissimi iPaq era eccezionale se confrontato con i successivi Jeode o CrEme, che mostravano UI completamente incoerenti rispetto al sistema operativo sottostante. Per parecchio tempo ho preferito usare quella beta di Personal Java piuttosto che usare quegli accrocchi! Poi è arrivata IBM con J9 e le cose sono andate meglio… più o meno. Ma questa è un’altra storia!
  • Così diversi sono i gusti delle persone da una nazione all’altra, da un continente all’altro, da un livello sociale ad un altro, che è praticamente impossibile pensare di progettare e realizzare un oggetto che piace a tutti indistintamente. O, meglio, che tutti sarebbero disposti a comprare. Ecco perchè alla lunga, a mio avviso, l’approccio JME (una piattaforma per qualsiasi device) sarà vincente rispetto a soluzioni chiuse come Windows Mobile, Symbian o lo stesso Android. Quest’ultimo, infatti, non è un semplice runtime ma la somma di sistema operativo, runtime Java sui generis e libreria di componenti. Affronterà Google il porting dei due livelli superiori per l’iPhone? Lo farà per gli smartphone Symbian? Non credo. Ragionamento diverso è stato fatto da Adobe e Microsoft, ben intenzionati a far funzionare Flash e Silverlight ovunque. Allora il risultato è scontato: Android è l’ennesima nuova piattaforma su cui fare porting delle applicazioni e, come tale, un vicolo cieco. Lo stesso vale per lo sviluppo Objective-C su iPhone, ovviamente! Man mano che le piattaforme native o pseudo-native si moltiplicano diventa sempre più difficile per le piccole realtà (piccole ma vivaci e in grado di portare nuove idee) riuscire a supportarle tutte, con il risultato che intere fette di potenziali utenti vengono inesorabile tagliate via. Proviamo a contarle: Windows Mobile, PalmOS, Blackberry, Symbian (divisa in Series 60 e UIQ), iPhone, Android, OpenMoko, MOTOMAGX (di cui però si sa ancora poco della piattaforma nativa). E poi c’è Java, trasversale con parecchia fatica. Ho l’impressione che anzichè migliorare si stia peggiorando: prima tre sistemi (Windows, Symbian con l’aggiunta di Linux e/o PalmOS, il primo adolescente e il secondo agonizzante), oggi sicuramente sei.
  • L’avvento di soluzioni migliori, così mi sembrano l’iPhone e Android per aspetti diversi, sarà inevitabilmente di stimolo anche per gli altri attori di questo mercato. Ad esempio, per Nokia, impegnata più a vendere telefoni che a fare vera innovazione. Ad esempio, per il JCP, accusato da più parti di aver deluso le aspettative in termini di qualià (alla fine i manufacturer fanno come vogliono!) e di velocità (MIDP 3 sembra non arrivare mai…).

In conclusione, penso che sia da apprezzare lo sforzo di Apple per realizzare l’SDK per l’iPhone (tornando indietro sui suoi passi, dunque) e l’entusiasmo di Sun nel realizzare in tempi brevi il runtime JME per questo device. Se entrambi lavoreranno bene sicuramente saranno di esempio per tutti gli altri, facendo in modo che venga voglia di emulare e superare i propri concorrenti per la qualità e non solo il fatturato.

t-Frame: quando le idee contano piu’ dei soldi


È un periodo di clamorosi annunci di grandi progetti: i grandi nomi dell’ICT presentano prodotti innovativi, frutto dell’impegno di tante persone ma soprattutto di colossali investimenti in ricerca e sviluppo. Microsoft, Apple e Google rappresentano bene questo trend, fatto anche di importanti acquisizioni: le disponibilità economiche di questi attori consentono di "comprare" qualsiasi team, qualsiasi progetto di ricerca.

Con grande affetto, orgoglio e ammirazione, vorrei far conoscere ai lettori di questo blog il progetto t-Frame ideato e sviluppato da Alessandro Soro e Gavino Paddeu presso il CRS4. Affetto, perchè ho avuto l’onore di lavorare in questo Centro di Ricerca e il piacere di far parte dello stesso team; orgoglio perchè rappresenta una delle punte di eccellenza della mia Terra; ammirazione perchè ciò che è stato realizzato si basa su idee brillanti piuttosto che su illimitate risorse economiche.

Alessandro e Gavino hanno progettato e implementato un sistema multi-touch di grandi dimensioni (non parliamo, cioè, di un PDA) basato sull’uso di una batteria di webcam e di un software interamente scritto in-house al CRS4. Il video qui sotto vale più di mille parole:

Bravi! Alla faccia dei milioni di euro dei colossi. Continuate così!!!

iPhone SDK


Malgrado il server dell’Apple Developer Connection abbia dato picche per oltre un’ora, alla fine abbiamo vinto noi e l’iPhone SDK (un malloppo di 2.1GB) è finalmente sul MacBook! Troppa la curiosità di darci subito un’occhiata!

L’SDK coincide con un aggiornamento di Xcode (3.1), che ora consente di creare un’applicazione per iPhone a partire da tre template (Cocoa Touch Application, Cocoa Touch List e Cocoa Touch Toolbar):

iphonesdk_new_project.png

L’ambiente di sviluppo ha un aspetto familiare:

iphonesdk_code.png

Una delle applicazioni d’esempio mostra una lista… in classico stile iPhone:

iphonesdk_sample.png

L’emulatore ha solo Safari (che peraltro funziona molto bene) e poco altro, ma può lavorare sia in modalità portrait:

iphonesdk_gdx_portrait.png

che landscape:

iphonesdk_gdx_landscape.png

Essendo basato su Xcode, l’iPhone SDK è disponibile solo per Mac. Ora non resta che spulciare la documentazione, finalmente ufficiale! 🙂

Java IDE Day

Java IDE Day: gli IDE Java più utilizzati si confrontano

Cos’è?
Arriva per la prima volta in Italia l’evento internazionale che mette a confronto gli IDE Java più utilizzati e le loro community.

JDeveloper (Oracle), NetBeans (Sun Microsystems), IntelliJ IDEA (JetBrains), invieranno un evangelist del loro core di sviluppo internazionale per confrontarsi a vicenda.

Speaker presenti:

  • Roman Strobl (Sun Microsystems)
  • Paolo Ramasso (Oracle)
  • Vaclav Pech (JetBrains)

Purtroppo nonostante l’impegno da entrambe le parti, non è stato possibile avere la presenza di Eclipse.

Come?
Uno slot di tempo a disposizione per ogni IDE per mostrare le potenzialità del proprio ambiente rispetto agli altri.

Ruolo fondamentale sarà giocato dal pubblico in quanto sono previsti appostiti spazi per porre domande direttamente agli evangelist internazionali.

La parte finale dell’ evento sarà dedicata ad un dibattito ragionato sul futuro degli ambienti di sviluppo.

L’evento sarà in lingua inglese.

Costo:
L’evento è gratuito, ma è gradita la registrazione.

Organizzazione:
L’IDE Day è organizzato dal Jug Genova e Jug Roma

Quando e dove:
Sono previste due date: Genova, 10 marzo e Roma, 12 marzo
L’evento si svolgerà nel pomeriggio, all’interno delle Università.

Per gli orari, agenda e informazioni logistiche si rimanda al sito dell’ evento.

Sito di riferimento: http://www.ideday.org/

Convegno e-Society

Mercoledì 5 marzo prossimo alle ore 17 presso la Sala Convegni della Camera di Commercio di Sassari si svolgerà il convegno "e-Society – Diffusione e Regolamentazione del Sistema". Interverranno i relatori: Andrea Oggiano (capo di gabinetto del Sindaco Comune di Sassari), Rodolfo Bonesu (responsabile scientifico per l’innovazione tecnologica della provincia di Sassari), Massimo Farina (patrocinatore legale foro di Cagliari, specialista in diritto dell’informatica), Elisabetta Cioni (presidente corso di laurea in scienze della comunicazione e giornalismo Università di Sassari), Andrea mameli (ricercatore del Centro di Ricerca, Sviluppo e Studi Superiori in Sardegna, CRS4), Carlo Pala (Furturmatica – Creatività Digitale). Durante il convegno sarà presentato il libro di Massimo Farina "Diritto e Nuove Tecnologie", edito dalla casa editrice Experta. Ecco la locandina dell’evento:

convegno_e-society.png