Samsung Galaxy S3 secondo CrysWeb

2

20120508-195759.jpg
Come promesso mi sono deciso a scrivere un breve articolo riguardo il nuovo smartphone di Samsung, il Galaxy S3. Ho seguito in diretta la presentazione sul sito thenextgalaxy.com il 03.05.2012 e nonostante le numerose novità che in buona parte mi hanno sorpreso, alla fine della fiera sono ancora un po’ scettico sull’effettivo target d’utenza di questo smartphone. Vediamo nel dettaglio di cosa parlo…

Hardware
Il Galaxy S3 si propone al pubblico con un processore quad core, uno schermo da 4.8″ Super AMOLED dalla risoluzione impressionante ed una fotocamera molto prestante da 8 Mpx che permette scatti sequenziali di qualità eccellente. Il solito GB di ram chiude il giro assieme ad una memoria fisica di 16, 32 o 64 GB a seconda del taglio che si sceglie.
Una dotazione fisica a dir poco prorompente se si pensa che è accompagnata e sostenuta da una batteria da 2100 Mah che dovrebbe alzare un po’ lo standard dell’autonomia dei terminali attualmente in circolazione. Nulla di realmente inaspettato o scioccante comunque visto che riproporre un device con un semplice processore a due core avrebbe emulato forse un po’ troppo la versione precedente della serie Galaxy. Era facile prevedere l’hardware, anche HTC con il One X era appena rientrata in gioco con una scelta simile.

Software
Il reparto OS e software di base è ciò che sorpreso di più i possessori di smartphone in quanto sono state introdotte una serie di funzionalità interessanti. Il Galaxy S3 riconosce dalla fotocamera frontale l’utente e tramite il sensore di prossimità riesce ad anticipare alcune azioni come ad esempio le chiamate. Per intenderci, se mentre guardiamo un e-mail o un contatto portiamo il telefono all’orecchio partirà automaticamente la chiamata a quella persona. Allo stesso modo se pubblicheremo una foto in cui verranno riconosciute delle persone, questa verrà condivisa direttamente con loro.
E’ stata poi implementata una funzione di riconoscimento vocale che comprende 8 linguaggi naturali tra cui anche l’italiano. E’ un assistente molto simile Siri di Apple ma sembra molto più evoluto ed integrato con il sistema (ICS 4). Durante la riproduzione di un video è possibile guardalo svolgendo altre attività, riducendolo in una comoda box trascinabile (segno della potenza dei quattro core sotto il cofano). Non sto qui a citare i nomi e le caratteristiche di tutte le altre funzioni anche perché le trovate leggendo i miei tweet della settimana scorsa.

Nonostante tante grandi innovazioni dal punto di vista del software, credo che il Samsung Galaxy S3 sia arrivato un po’ troppo prematuramente nelle mani degli utenti che di fatto della potenza di un quad core non sapranno probabilmente che farsene. Di sicuro in genere l’utente medio non va in cerca di funzioni così avanzate, tanto da far risultare paradossalmente troppo user friendly questo terminale.

iOS, Windows Phone o Android? Quale scegliere?

3

Il titolo di questo post potrebbe lasciar presagire la solita recensione dei tre sistemi operativi mobile al momento più diffusi. In realtà vorrei semplicemente condividere alcune delle mie personalissime impressioni e trarre con voi le conclusioni su quale OS mobile sia meglio per chi. Tra l’altro di fatto è ciò che ci interessa quando dobbiamo acquistare un nuovo smartphone, quindi non perdiamoci in chiacchere!

iPhone - Lumia 800 - Galaxy Nexus

La mia esperienza si basa sull’utilizzo intenso e vario di Android e iOS e sulla valutazione visiva di Windows Phone (al momento non ne ho provato ancora uno per più di una settimana). Mi sento un esperto perchè di fatto oltre che essere uno sviluppatore di app, utilizzo per parecchie ore durante la giornata il mio smartphone ma mi capita anche di scrivere soltanto qualche messaggio di tanto in tanto non sfruttando altre funzionalità.

E allora procediamo con ordine…

Android
Giunto alla versione Ice Cream Sandwitch (4.0) è ormai un sistema operativo completo. Integra di base molte delle funzionalità avanzate che molti utenti stanno apprezzando sempre di più come ad esempio il ritocco veloce delle fotografie a livello di camera-app. Inoltre con l’ultima release è quasi del tutto orientato al social e ogni produttore di telefoni ci mette del suo per integrare nella propria interfaccia (si veda la HTC Sense ad esempio) i widget più utili e vari. Nonostante il grande passo avanti sulle GUI rimane comunque un OS da smanettoni, in cui molte delle funzionalità vanno cercate e scoperte di volta in volta. Che sia una logica derivata dalla mentalità Linux? Ad ogni modo riesce a girare molto bene anche su hardware non molto prestante il che permette di ottenere uno smartphone completo a prezzi contenuti. Proprio la varietà di terminali sul quale è montato però qualche volta rappresenta uno svantaggio sia per i developer di applicazioni, sia per l’utente finale che non ha sempre a disposizione app user friendly o complete nelle features come le versioni concorrenti.

Personalmente adoro Android per il livello di controllo del telefono ma come accennato lo consiglierei solo ad utenti “smanettoni” a cui piace poter settare ogni virgola del proprio telefono.

Windows Phone
Come dicevo nell’introduzione non ho ancora avuto la fortuna di mettere sotto torchio Windows Phone ma le brevi prove che ho potuto svolgere mi hanno impressionato! Il sistema operativo mobile di Microsoft è molto leggero e la linea grafica seguita dagli sviluppatori è molto pulita e rivolta all’essenziale. Molte funzioni come ad esempio la rubrica dei contatti è fortemente integrata con i social network quindi i messaggi che si ricevono non sono intesi come semplici SMS o MMS, bensì anche come aggiornamenti di stato su Facebook o Windows Live! La maggior parte delle app più diffuse segono fedelmente lo stile giovanile del sistema e quindi offrono un’esperienza d’uso del terminale molto coerente e lineare.

Le piattaforme hardware sulle quali gira Windows Phone non sono molto varie e quindi Microsoft è riuscita ad ottimizzare le prestazioni, inoltre anche le persone più esigenti potranno trovare soddisfazione nel Market che si sta arricchendo di moltissime applicazioni. I Windows Phone credo siano fatti per utenti giovani che hanno bisogno di un passatempo al pari coi tempi e non solo di un semplice smartphone. Non vedo perchè non utilizzarlo anche in ambito lavorativo visto l’ottimo client mail e le integrazioni con i servizi Microsoft.

iOS
Qui posso dire di avere un’esperienza maggiore sia come sviluppatore che come end-user e vorrei subito partire con un po’ di cattiveria. iOS, così come viene venduto e anche se strettamente legato all’hardware e ottimizzato per esso, è un sistema incompleto! Mancano troppe funzionalità che gli utenti comuni cercano per sentirsi soddisfatti dell’acquisto (a meno che ovviamente non parliamo del classico ignorante che acquista un iPhone “seguendo la moda”, non vogliatemene ma a volte purtroppo è così). Non sto qui a dilungarmi nei dettagli della mia affermazione altrimenti finirei nel recensire interamente il sistema ma potete fidarvi quando dico che un iPhone va assolutamente sbloccato perchè possa essere “completato”. Infatti grazie al jailbreak possono essere installati una serie di tweak che migliorano decisamente l’usabilità pur seguendo la linea di semplicità di Apple. Uno smartphone che di base mette a disposizione un’interfaccia semplice è un pregio ma riuscire ad aggiungervi funzioni mantenendo questa semplicità è impareggiabile. Di cosa parlo? Gestione migliorata delle conversazioni SMS, mail e dei contatti; possibilità di estrapolare/portare files da/sul telefono senza passare da iTunes, possibilità di installare temi con effetti grafici, blacklist delle chiamate, widget e molto altro ancora. E tutto senza appesantire l’interfaccia con decine di settaggi per la maggior parte poi inutilizzati.

La grande quantità di applicazioni altrettanto intuitive completano il quadro di iOS la cui estendibilità e quindi senza limiti! Credo che sia la sua completezza (grazie al jailbreak) che attira così tanti utenti che alla fine si appassionano ai loro smartphone. C’è da mettere in conto il costo elevato ma vista anche la solidità fisica dell’iPhone, credo che sia un buon investimento!

Alla fine chi vince?
Come ho scritto su Twitter poche ore fa, io tenderei a indirizzare gli utenti che cercano uno smartphone su iOS o Windows Phone, valutando rispettivamente il budget a disposizione e l’utilizzo che poi si farà del dispositivo. Entrambi sono sistemi solidi, completi e integrati molto bene con i social network e la rete Internet in generale, per cui molto avanti con i tempi. Android lo consiglierei soltanto a chi ha il bisogno di utilizzare ed esplorare il proprio terminale come fosse un motore da smontare e rimontare in quanto è forse ancora troppo macchinoso per le masse.

Qualche aggiornamento sullo stato del jailbreak di iOS 5.1

0

Ci sono un sacco di novità riguardo il jailbreak della versione 5.1 di iOS ma prima di svelare un po’ di dettagli vorrei parlare delle discussioni apparse su Twitter tra due esponenti molto importanti nel campo dell’hacking del sistema mobile della Mela: pod2g e i0n1c.

Di recente infatti Stefan (i0n1c) è riuscito a sviluppare un jailbreak per l’ultima versione di iOS ma non l’ha reso pubblico, tanto meno ha reso noti agli altri jailbreakers gli exploits che ha utilizzato. Con questo gesto si è inimicato molti dei suoi followers che oltremodo impazienti lo hanno pesantemente criticato. La motivazione, come ha spiegato sempre su Twitter attraverso un botta risposta con pod2g, risiederebbe nel fatto che gli exploit sono il risultato di studio e ricerche personalissime. Inoltre ha ritenuto opportuno specificare, forse preso un po’ dalla rabbia per la conversazione, che coloro che rendono i jailbreak disponibili al pubblico lo fanno non per “sopravvivere con le donazioni”, bensì per “mettersi in mostra” ed essere assunti poi dalla casa produttrice. pod2g ha giustamente rilanciato sottolineando che il jailbreak apre un mondo di opportunita per gli sviluppatori che altrimenti sarebbero limitati dallo SDK standard, chiudendo anche strumenti validi per lo studio e la ricerca.

Mi sento di commentare la conversazione a favore di pod2g in quanto credo che il jailbreak permetta di scoprire un mondo altrimenti invisibile e irraggiungibile ai più. In fondo si tratta di conoscenza che va diffusa alle masse per il sapere e lo sviluppo comune! In parte comunque comprendo anche l’idea di i0n1c in quanto anch’io in passato sono stato uno sviluppatore molto geloso del mio codice, prima di capire l’importanza della condivisione in questo campo.

Chiusa questa parentesi passiamo alle ultime notizie. pod2g ha dichiarato pochi giorni fa di avere trovato tutti gli exploits necessari al jailbreak e successivamente di aver già bypassato l’ASLR. Il lavoro del Chronic-Dev Team quindi si sta concentrando sulla pacchettizazione e sull’interfaccia che verrà presto rilasciata. E’ questione di giorni! Pur aspettando anch’io la nuova release ritengo incomprensibile l’impazienza per iOS 5.1 visto che l’unica vera novità appetibile è il miglioramento della durata della batteria di circa il 20% – 30%.

Ricerca testuale nei database di SQL Server 2000

0

Mentre per SQL Server 2005 sono stati scritti svariati plug-in che aiutano gli sviluppatori a scrivere del buon codice e a mantenere i db puliti, per il vecchio MSSQL 2000 gli strumenti scarseggiano. Mi è capitato ad esempio di dover cercare una stored procedure tra migliaia presenti in un db di produzione. Ricordando soltanto il nome delle tabelle sulle quali lavorava ho dovuto studiare e comporre dell’apposito codice T-SQL da eseguire nel Query Analyzer.

Con il seguente codice vengono estratti i nomi dei database objects contenti il testo SQL specificato nella clausola WHERE:

USE NomeDatabase
GO

SELECT DISTINCT so.name
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE sc.TEXT LIKE '%testo_ricerca%'
GO

Alla stessa maniera variandola leggermente possiamo farci specificare da SQL Server anche la tipologia di object trovato:

USE NomeDatabase
GO

SELECT DISTINCT o.name ,o.xtype
FROM syscomments c
INNER JOIN sysobjects o ON c.id=o.id
WHERE c.TEXT LIKE '%testo_ricerca%'
GO

Enjoy! ;)

Creare pacchetti zip dalla shell Linux

0

Avendo a diposizione una macchina virtuale Linux per l’hosting degli ambienti web sui quali lavoro, qualche volta devo smanettare con la shell Linux. Mi diverte molto e imparo sempre qualche nuovo comando dato che nella maggior parte dei casi mi ritrovo a ricompilare pacchetti, installare moduli o eseguire script. Questa volta invece mi è capitato di dover scaricare via FTP l’intero codice con tanto di contenuti di un vecchio LCMS dal peso di ben 4 GB. Una follia tenendo conto che il protocollo FTP prevede il trasferimento di un file alla volta e chiudendo e riaprendo la connessione di continuo. Per risparmiare tempo ho pensato di zippare il tutto rendendone disponibile il pacchetto via browser per un download un po’ più agile.

Ho utilizzato semplicemente il comando

zip -rq pacchetto.zip ./

in cui i due parametri -rq indicano rispettivamente di navigare ricorsivamente il contenuto delle sottocartelle e di non mostrare il log testuale durante l’operazione (quiet mode).

Ovviamente, trovandomi già all’interno della directory da zippare, ho specificato di partire a comprimere i file dalla posizione corrente con ./.

Moodle e il ripristino di backup troppo grandi

0

In questi giorni mi sono trovato a lavorare con una università per risolvere un problema legato alla loro piattaforma di formazione. Come molte realtà simili gli atenei sono soliti utilizzare Moodle: è uno dei più completi LCMS open source (Learning Content Management System) in circolazione, specialmente per quanto riguarda estendibilità e completezza. Ad esempio supporta nativamente la fruizione e la tracciatura di oggetti SCORM, la riproduzione di elementi multimediali e la gestione di elementi di valutazione come quiz, questionari, test e feedback. Proprio perchè i corsi costituiti da questi elementi sono spesso composti da decine e decine di risorse, gli sviluppatori hanno previsto una comoda funzione di backup e ripristino, utilissima per clonare solo alcune o tutte le risorse del corso. Ed è proprio da questa funzionalità che sono nati i problemi che l’università ha riscontrato.

In pratica i corsi creati sulle istanze Moodle degli atenei sono spesso giganteschi, composti da una quantità di risorse che può superare gli 1,5 GB di dati. Si pensi a tutte le slide dei corsi che i professori mettono in linea per i loro studenti, i PDF, i video, le esercitazioni… Moodle crea i backup di questi “macigni” incapsulandoli in un file zip assieme ad un XML con la struttura logica (nessuna compressione, solo una mera archiviazione) e poi li ripristina attraverso il procedimento opposto. Quest’ultimo passaggio purtroppo è ciò che manda in crash la versione 1.9.4+ e forse anche tutte le precedenti. Al lancio della procedura di ripristino la libreria zip scritta in PHP ed utilizzata dallo LCMS, sempre che non vada in errore, scompatta la grande mole di dati che viene poi spostata file per file da una cartella temporanea. La quantità di letture / scritture su disco è impressionante e spesso il server finisce per risultare busy perchè Apache non ha più accesso fisico alle pagine o MySQL non riesce a leggere i suoi database!

Per ovviare al problema l’unica soluzione accettabile è stata scrivere una procedura PHP parametrizzata che copiasse i file fisici delle risorse del corso tutte in un colpo e senza passare per un pacchetto zip, per poi clonare uno ad uno ed una tabella alla volta i record in database. Il lavoro ha richiesto parecchie ore in quanto ho dovuto ricostruire tutti i collegamenti logici per tutti i tipi di risorse (modulo / attività) presenti sull’istanza Moodle dell’ateneo. Purtroppo non posso rendere pubblico il codice ma sono sicuro che in molti hanno riscontrato il problema (posso dare delle dritte su richiesta)!

So che la versione 2.0 di Moodle, oltre ad implementare nuove funzionalità che prima svolgevano certi moduli di terze parti, dovrebbe aver risolto anche molti bug procedurali e logici. Spero di averci presto a che fare per sperimentare se è stata trovata una soluzione anche al problema della clonazione previo backup e ripristino.

Play Station 4 tra indiscrezioni e fake

0

Leggevo questa mattina un articolo sulle caratteristiche di una presunta Play Station 4. Non avevo mai cercato info a riguardo perchè di fatto sto ancora cercando di godermi la mia PS3 per la quale ho sempre troppo poco tempo. Incuriosito, mi sono divertito a confrontare le varie notizie che circolano in rete e ve ne riporto due contrastanti commentandole.

  1. Una probabile data di lancio del nuovo gioiello Sony potrebbe collocarsi attorno al 2013:
    sinceramente mi ha un po’ spaventato quando ho letto il titolo proprio perchè la mia PS3, benchè abbia ormai qualche annetto, credo non abbia ancora dato il massimo. Inoltre devo ancora finire un sacco di giochi ancora incartati che prendono la polvere su una mensola… Ho poi ragionato sul fatto che sarebbe un anticipo forse esagerato rispetto al lancio delle console rivali, soprattutto XBOX (presunta 720) e Wii U; l’hardware nel giro di pochi mesi può vedere molti dei suoi componenti aggiornati nelle funzionalità!
  2. All’E3 di Giugno la Play Station 4 non verrà presentata:
    questa notizia data da Kazuo Hirai (a capo di Sony Computer Entertainment) mi ha invece sollevato un po’. Come detto più volte dal boss il ciclo previsto per PS3 è di 10 anni, inoltre si deve pensare che PS2 è ancora in circolazione e quindi non avrebbe senso presentare prematuramente una nuova console. Prendendo alla lettera le sue parole, essendo la terza console uscita nel 2006, la quarta dovrebbe farsi vedere nel 2016. La reputo una stima molto più plausibile rispetto alle tante indiscrezioni infondate che circolano in questo periodo, inoltre non sentendo nulla di concreto da Microsoft penso non ci sarebbe motivo di preoccuparsi.
    Ho avuto invece occasione di leggere qualcosa sul controller di Wii U che a sorpresa potrebbe uscire sul mercato nel 2013 parallelamente a giochi come Assassin’s Creed 3. Sono recenti infatti gli articoli che paralano di come il nuovo controller interagirà con il terzo (forse dovrei dire quinto) capitolo di Ubisoft.

Un po’ come avviene costantemente con i prodotti Apple prima dei keynote starei attento a verificare, come ho fatto con queste due, le notizie che circolano. Su Internet i fake sono tantissimi, specialmente le immagini che illustrano chassis improbabili, come quelli delle foto che seguono:

Disabilitare ARC per specifici file in XCode 4.x

0

Capita spesso di dover importare in un progetto ARC (Automatic Reference Counting) di XCode delle classi che gestiscono ancora manualmente il rilascio e la deallocazione delle risorse in memoria. Questi file di codice possono bloccare del tutto la compilazione generando svariati errori in quanto alcune direttive come “autorelease”, “retain” e “dealloc” sotto ARC non hanno più valore. Per fortuna questa casistica non comporta necessariamente modificare a mano il codice sottoponendolo a lunghe e strazianti revisioni! Esiste infatti in Xcode la possibilità di disabilitare ARC in fase di compilazione specificando alcune direttive nelle Compiler Flags.

Come mostra l’immagine basta specificare un

-fno-objc-arc

in Targets -> Build Phases -> Compile Sources all’interno delle proprietà di progetto ed il gioco è fatto! Enjoy! ;)

Apple e iOS: lo stato dell’arte

0

E’ passata appena una settimana dalla presentazione de “il Nuovo iPad” alias iPad 3 e del nuovo sistema iOS 5.1 con la quale Apple è riuscita a sbalordire ed avvilire contemporaneamente gli utenti italiani.

Da un lato l’azienda di Cupertino ha sorpreso tutti con la nuova versione del suo tablet che oltre ad aver superato dei record nel settore in termini di prestazioni e qualità ha forse anche messo a disposizione una macchina che ben pochi utilizzatori finali sfrutterano effettivamente a pieno. Un processore quad-core (l’A5X) è indubbiamente utile per i videogiocatori incalliti e per chi fa editing audio / video avanzato ma rimangono comunque utilizzi di margine: sono in molti a reclamare ancora degli applicativi e dei giochi “seri” sui loro tablet come ce ne sono invece un’infinità per desktop e console.

Dall’altro lato invece abbiamo un iOS 5 che a parte ridurre i consumi della batteria degli iPhone 4S, tra l’altro molto meno di quanto promesso, avrebbe potuto introdurre la localizzazione di Siri in italiano ma l’ha fatto poi solo per il giapponese. Un po’ una delusione anche per chi attende il jailbreak in quanto non ha più un valido motivo per aggiornare il suo iPad o iPhone. Dal punto di vista tecnico i componenti dei team che studiano e mettono a punto il jailbreak dei dispositivi Apple sono comunque parecchio avanti coi lavori: come descrive il post del Dev-Team pubblicato in queste ore si stanno seguendo ben tre strade diverse per il jailbreak di iOS 5.1 di cui una già messa appunto su iPad 2 dall’esperto di sicurezza i0n1c (si vedano i suoi post su Twitter).
Insomma,  la scena Apple è molto varia e complessa. In Italia si attende impazientemente l’arrivo di iPad3 il 23 Marzo, forse più per poterlo sbloccare che per utilizzarlo sfruttandone a pieno le capacità.

Go to Top