Archivi autore: gerdavax

Apple 10 e lode


Antefatto
Venerdì scorso mi sono arreso alle evidenti limitazioni del mio PowerBook G4 e alla fragilità dell’Acer e ho acquistato un MacBook. Sono "sceso di categoria" rispetto alla linea Pro alla quale il PowerBook idealmente appartiene, ma viste le caratteristiche del MacBook ho pensato che non fosse un ripiego. Si tratta pur sempre di una macchina dalle prestazioni elevate, un portento se paragonato al G4. Oltrettutto, il MacBook è quello con lo schermo più piccolo (13") e dunque più adatto ad un eterno migratore come me. Il buon Roberto Fraboni, vero segugio del mondo Apple, mi aveva preannunciato un imminente rilascio di nuovi portatili, ma le aspettative erano tutte sulla nuova linea Pro, mentre per quella base, aggiornata a novembre, non era previsto niente di nuovo.

macbook.png

Fatto
Mentre ancora lavoro alla migrazione dal vecchio al nuovo portatile, ecco che arriva una amara sorpresa: Apple annuncia i nuovi MacBook Pro… e i nuovi MacBook. Inizialmente cerco di convincermi che il rinnovamento è più di apparenza che di sostanza, ma mi accorgo ben presto che non è così. La CPU è in tecnologia 45nm, a più basso consumo energetico, che porta l’autonomia da 5 ore (del mio) a 6 ore (del nuovo). Contemporaneamente la velocità di clock è stata portata a 2.4GHz (contro i 2.2GHz del precedente), la RAM a 2GB (cioè raddoppiata) e il disco a 160GB (contro i 120 del mio). Tutto questo… a 50 euro in meno rispetto a quanto da me acquistato venerdì. Vada per la RAM, che comunque volevo portare a 4GB (costretto, dunque, a disfarmi dei due banchi preinstallati). Vada per il clock, che ha un incremento inferiore al 10%, quasi trascurabile. Ma il disco più capiente e soprattutto un’ora di autonomia in più fanno la differenza. Una netta differenza. Nessun problema, direte voi: essendo stato acquistato da meno di una settimana, il diritto di recesso mi consente di restituire il MacBook e prenderne uno nuovo. Vero. In passato, però, ricordo che le cose non sono andate sempre così in situazioni analoghe. Anzi! Al primo sentore di "recesso", magari per una compatibilità millantata e non verificata, il venditore si rifiutava di rispettare la norma e alla fine, messo alle strette, faceva passare la sostituzione come un favore (vero Max?). Ad ogni modo, chiamo l’Apple Store dove ho acquistato il MacBook e espongo la situazione, ma senza avanzare pretese. "Nessun problema signor Sanna, può venire qui da noi quando vuole, Le fissiamo un appuntamento e Le consegneremo il nuovo modello". Non credo alle mie orecchie! Prima di riuscire a dubitare di tanta disponibilità, la signorina prosegue: "Le va bene venire all’Apple Store domani alle 13?" Rispondo affermativamente…

Epilogo
Oggi alle 13 mi sono recato all’Apple Store dove un gentilissimo ragazzo dello staff del Genius Bar, dopo aver verificato che il mio MacBook era integro e con tutti gli accessori, mi ha consegnato un MacBook nuovo fiammante. Mi sarei aspettato (come accaduto ad altri amici) un ritardo di alcuni giorni, per effettuare l’accredito sulla VISA e poter procedere al successivo acquisto. Niente di tutto questo! Massima cortesia, massima gentilezza, massima efficienza. E visto che il nuovo costa meno di quello che ho acquistato io venerdì scorso, ho ricevuto un buono acquisto di rimborso (ma avrei potuto avere anche contanti). Insomma, pur se "dovuto per legge", Apple si è comportata benissimo, senza costringermi a faticare per far valere i miei diritti. Grazie a Troy, Francesco e Paolo per il supporto datomi. Dieci e lode.

Seminario “Parliamo di SOA”


Rimbalzo questo avviso di seminario sul blog, perchè trattasi di argomento interessante e perchè i relatori, oltre che carissimi amici, sono due validi professionisti da ascoltare con piacere.

Il GULCh (Gruppo Utenti Linux Cagliari), in collaborazione con la Facoltà di Informatica dell’Università degli Studi di Cagliari, organizza il seminario/dibattito dal titolo:

Parliamo di SOA (Service Oriented Architecture)
Relatori: Antonio Pintus, Marco Marongiu
Aula Magna di Matematica – Palazzo delle Scienze
Via Ospedale 72
Cagliari
19 Febbraio 2008 – Ore 18:30

Scopo del seminario è presentare le Service-Oriented Architecture (SOA), stimolando l’interesse dei partecipanti e la discussione su tutti gli aspetti di questo tipo di approccio, in modo che tutti (pubblico e relatori) possano andarsene dal seminario sapendo qualcosa in più. Il seminario consisterà in una presentazione di circa 40 minuti e di un dibattito. Nella presentazione saranno illustrati i concetti generali alla base delle SOA, i contesti di utilizzo di queste architetture e i principali problemi introdotti dalla loro adozione. Verrà poi mostrato un semplice problema di esempio e un numero di approcci diversi per risolverlo, mostrando di ciascuno i vantaggi e gli svantaggi. Terminata la presentazione si darà il via alla discussione; in essa, il ruolo dei relatori si limiterà allo stimolo e alla moderazione della discussione stessa.

Le SOA
Esistono diverse definizioni di SOA, ciascuna delle quali si concentra su particolari aspetti del concetto generale. Nella definizione più ampia e generale possibile, SOA (Service-oriented Architecture) è un paradigma per la realizzazione e la manutenzione di processi implementati su sistemi distribuiti su vasta scala. Per estensione vengono chiamate SOA anche le architetture implementate sulla base di questo paradigma. Le SOA trovano applicazione ovunque si abbia un insieme di sistemi eterogenei, le cui funzionalità devono essere armonizzate e coordinate insieme per creare dei servizi. L’applicazione delle SOA è in crescita in àmbito sia commerciale che scientifico. È un approccio pervasivo, che entra a tutti i livelli: da quello prettamente tecnico fino all’organizzazione del lavoro.

I Relatori
Antonio Pintus è laureato in Informatica e studente di Dottorato di Ricerca in Informatica con argomenti relativi a "Service Oriented Architecture". Lavora come Software Engineer presso il CRS4 (Centro di Ricerca, Sviluppo e Studi Superiori in Sardegna).

Marco Marongiu è laureato in Matematica. Lavora come System Administrator per Tiscali nella sede di Sa Illetta a Cagliari. Attualmente il suo compito principale è la gestione sistemistica dell’infrastruttura SOA di Tiscali, basata su prodotti TIBCO. Scrive inoltre su riviste e siti web specializzati, in Italia e all’estero.

Finalmente Sun SPOT per l’Europa!!!


È finalmente possibile acquistare i Sun SPOT anche dall’Europa direttamente dal sito ufficiale:

http://www.sunspotworld.com/products/

Sul sito è specificato "we may only accept Commercial Orders from the United States and the European Union", dunque l’acquisto dovrebbe essere possibile solo ai titolari di partita IVA. Il prezzo è "importante": 627 euro più tasse e spese di spedizione (dunque potrebbe toccare gli 800 euro complessivi). Non pochissimo, ma sicuramente è la piattaforma più avanzata e più flessibile per la realizzazione di reti di sensori.

XPERIA X1: quale VM per JME?


Annuncio a sorpresa al GSMA Mobile World Congress di Barcellona: Sony-Ericsson, finora fedele alla sua Java Platform e a UIQ 3.0, introduce un nuovo terminale basato su Windows Mobile 6. Si chiama XPERIA X1, ha una interfaccia touchscreen, design a conchiglia e tastiera estraibile lateralmente.

xperia_x1_2.gif

Newsletter e blog hanno sottolineato l’importanza di questo passaggio nella strategia di Sony-Ericsson. Perchè Windows Mobile? Forse perchè la specializzazione Symbian della casa svedese (UIQ) non ha raggiunto il successo della Series 60 di Nokia? Sembrerebbe di no, visto che sono stati contemporaneamente annunciati due nuovi terminali basati su questa piattaforma, gli smartphone G700 e G900. Dunque, la causa sembrerebbe non essere UIQ. Potrebbe essere un tentativo di esplorazione di un mercato (quello Windows Mobile, appunto) in crescita ma del tutto snobbato dai finlandesi? Questa ipotesi appare più probabile.

Appena apparse le informazioni sul portale sviluppatori Sony-Ericsson, però, la mia curiosità è stata un’altra: sarà presente un runtime Java ME, pur trattandosi di Windows Mobile? La risposta è affermativa, anche se il set di API è piuttosto ristretta e non è dato sapere da quale codebase derivi (una JP? J9? altro?):

  • CLDC 1.1 e MIDP 2.0
  • PIM & FC API – JSR 75
  • Wireless Messaging – JSR 120
  • Mobile Media API -JSR 135

Insomma, siamo tornati indietro di quasi cinque anni (caratteristiche simili le aveva il buon Nokia 6600). Stupisce la mancanza della JSR 82, della Location API (visto che c’è il supporto A-GPS…). Il terminale ha uno schermo spaventoso, ben 800×480 pixel: non sarebbe stato male avere la JSR 226 per il rendering di grafica SVG. Questa poverissima dotazione sembra più un contentino che una concreta volontà di supportare Java ME su Windows Mobile. Che amarezza…

iPhone Open Application Development


In attesa dell’SDK ufficiale e di un terminale con cui giocare (!), segnalo l’e-book "iPhone Open Application Development" di O’Reilly, che descrive la procedura "non ufficiale" di sviluppo di applicazioni per iPhone e iPod Touch.

iphone_oreilly_small.jpg

Il libro è in versione Rough Cuts, "a tagli approssimativi". È possibile fornire all’autore dei suggerimenti su come migliorare il testo o chiarire parti ambigue. La versione PDF, particolarmente economica, può saziare subito gli impazienti, che potranno poi acquistare il testo completo quando sarà pronto (maggio 2008, ovvero quando l’SDK sarà finalmente stato pubblicato).

Pur non essendo completo di tutti gli argomenti (manca, ad esempio, il networking, che probabilmente può essere mediato direttamente dallo sviluppo Mac OS X), è molto interessante e ben scritto. Per certi aspetti ricorda i primissimi libri su Linux! 🙂 Grazie a Roberto Fraboni per averlo trovato e aver contagiato la curiosità per un po’ di sano hacking sull’iPod Touch.

Segnalazione blog su JME


Vi segnalo il blog bitematico J2MESoccer, curato da Emanuele Pecorari. Come dice il nome, questo blog parla di Java Micro Edition e di calcio; vista la mia totale indifferenza al secondo, lo apprezzo per il primo tema, in particolare per la tenacia nel trovare (e raccontare) i bug riscontrati sui runtime Java dei terminali più diffusi.

La frammentazione dell’offerta Linux per device mobili


Riprendo il mio post fatto qualche tempo fa a proposito del lancio di Android e un interessante articolo scritto da Tony Mobily su Free Software Magazine.

In buona sostanza, è sempre più evidente che la frammentazione della piattaforma Linux produce come unico risultato la dispersione delle forze (gratuite) della community, la creazione di inutili antagonismi (Tony cita più volte quella tra Gnome e KDE, ma potrebbero esserci tanti altri esempi validi, come quella tra Netbeans e Eclipse nel mondo Java), la dilagante incompatibilità di software etichettato “per Linux” tra diversi dialetti del sistema operativo.

Il problema, ben noto in ambiente desktop, si sta riproponendo nel mondo mobile. Fioccano i progetti, sorgono community, appare timidamente qualche device.

Perchè tutto questo? Mi verrebbe da dire che ciascuno aspira a diventare il vincitore della crociata pro-mobile-Linux e dunque non ha nessuna intenzione di condividere lo scettro con altri. E proprio qui sta l’errore: il podio dei vincitori e’ enorme, gigantesco, non esiste un secondo posto. Guardando agli albori di Linux, penso al messaggio di Linus ma al contemporaneo sforzo del progetto GNU nel produrre compilatori, librerie e tutto il resto. Chi vince? Linus? O Stallman? A me sembra tanto che l’uno senza l’altro avrebbero fatto poca strada (o comunque l’avrebbe fatta in tempi decisamente più lunghi).

Esistono anche esempi contrari, che dimostrano come la scelta di una sola piattaforma/libreria/API porti inevitabili vantaggi. Rimanendo nel mondo Linux, penso a cosa è accaduto a Bluez e Affix, librerie per l’accesso allo stack Bluetooth. Dopo un breve periodo di coesistenza, si è di adottare Bluez come libreria standard, ufficiale per Linux. Affix, sviluppata direttamente da Nokia, è stata messa da parte, ma è innegabile che la community ne abbia avuto un beneficio: Bluez è stata continuamente migliorata, sono stati realizzati binding per tutti i linguaggi di programmazione, il porting su diverse piattaforme hardware è stato incoraggiato.

Torniamo al mondo mobile. Cosa accadrà a OpenMoko, Maemo, Android e Qtopia? Aggiungo, a quanto elencato da Tony, altri quattro player: Moblin di Intel, MOTOMAGX di Motorola (attesa per febbraio), ALP (Access Linux Platform) di Access, Java FX Mobile di Sun Microsystems. Ben otto piattaforme per il mobile computing. I magnifici 8 o gli 8 dannati?

Chi, nella community, avrà la forza e la voglia per portare le proprie applicazioni su tutti questi ambienti? Alla fine ne rimarrà solo uno: quale? E che fine faranno gli sforzi fatti sui perdenti? Qualcuno comincia a pensare che Windows Mobile o Symbian, ciascuno nel proprio mercato, possano essere una scelta più assennata e ragionevole, specie se si vuole tutelare un minimo il tempo e le risorse spese a imparare e sviluppare.

Si annuncia un 2008 turbolento…

Save your Series 60!


These days I’ve been thinking about objects obsolescence. All manufacturers improve their products (ranging from electronic devices to cars), giving us the perception that any old product (that is, what we’ve bought just some weeks ago) is obsolete. Upcoming products are faster, simpler, cheaper, beautiful as no other previously released. In a word: better. Even if we don’t need to change what we previously get (it still works as good as expected), new features are provided only by new models and keeping old ones implies to miss new possibilities. Implications can be surprisingly strong. Think about cars: some municipalities prohibit city access to cars not compliant with Euro 4 specification. Something similar happens with computers: new applications may require most recent operating systems, that require new hardware (that luckly doesn’t require you to update your house to get it!).

Obsolescence is pervasive in the mobile phone market. Not only manufacturers improve performances of hansets, fueling them with faster connections, larger displays and huge memory capacity; they also transform mobile phones in "fashion objects", as clothes or jewels. Developers know that just one or two new models per year are actually revolutionary: the others are just well-known-old-phones with a different case and name.

Obsolescence invokes update, which produces disposing: any time we update our devices with new models, we usually have to dispose obsolete items. For a limited time, we may try to keep both… but… after a while, we will prefer one (usually the newer!), so that the other will be disposed (usually the older!). Considered that there are about 2 billions of mobile phones and that average lifetime of each is 23 months, we will have a lot of "small yet connected intelligent devices" ready to be disposed.

Is there any way to reuse and/or recycle them? Recycle (disassembling devices and ruse part of them as components for new devices) is not so easy; plastics and electronics have been designed and tailored to work together, to separate and reassemble them requires a complex integration plan. Reuse (use those devices as they are even for different applications) is more practicable for "common people". In general, reuse beats recycle. Reuse is feasible for devices that provide enough power (CPU, memory, communication facilities) to be programmed and interfaced with the rest of the world.

Not any mobile device can be reused as an embedded system. Many devices can’t be programmed, many others have so frustraing limitations that any idea dies before starting to write one line of code! 🙁

Among others, Nokia Series 60 is one of the most used smartphone platforms. Handsets based on this platform, once announced, are considered as state-of-the-art devices for a certain period of time: high resolution displays, enhanced multimedia capabilities, extended communication interfaces, robust and mature programming environment with a rich set of languages and tools. Month after month, the finnish manufacturer invades the mobile phones market with new award-winning families of handsets. Series 60 was born with 7650, but maturity arrived with 6630 and N70. Most recent devices, based on the 3rd edition of the platform, are market leaders and new models will appear during the Mobile World Congress.

We are pleased to get new devices, but what happens to old Series 60? Unfortunately, they can’t compare with upcoming, styilish smartphones, which expose unbelieveble performances. However, they are still powerful enough to be used for anything but as phone! Can we consider Series 60 2nd edition handset just programmable devices with communication capabilities? I believe we can. There should be an initiative to encourage people (mostly developers) to reuse their Series 60 as "new" embedded devices instead of considering them as "obsolete" phones. Something like "Save your Series 60" (let’s say "SyS60"), would be an attempt to find a wait to avoid that 100 millions of Series 60 sold till the end of 2007 would be trashed in less than two years.

Thanks to my friend Davide, pioneer in mobile application development, I’ve been introduced to Python development on Series 60. I believe that Python for Series 60 is not suitable for industrial projects, for which Java Micro Edition or native C++ are still best solutions. In fact, JME portability and C++ performances are unbeatable. However, Python is excellent for fast prototyping, powerful as C++ and simpler than Java. Python can be the driver to “Save our Series 60” and reuse them as funny and useful devices.

I spent some hours playing with Python, it is funny as Davide said! 🙂 Take a look to this interesting PyS60 tutorial, by Jurgen Scheible.