Lunedì quiz 8

Input: un numero intero non tanto grande.

Output: un array contenente i nodi foglia di un albero binario inverso completamente bilanciato di profondità pari al valore in input.

Per albero binario inverso intendo un albero in cui ogni nodo ha un puntantore al nodo “padre”.

BinaryTree

È responsabilità dell’algoritmo allocare un numero necessario e sufficiente di nodi (il campo “data” non è necessario da inizializzare).

-quack

Pubblicato lunedì 29 novembre 2010 alle 8:11 PM - 6 commenti so far
Archiviato in: Codice

HD7 e WP7: il buono, il brutto e il cattivo

Recensione “ufficiale” del telefono, partendo dal verdetto finale: troppi difetti di gioventù, se quelle teste di cippa lippa del team di sviluppo avessero fatto provare il dispositivo a qualche vetusto di smartphone come me, molti di questi difetti non sarebbero neanche esistiti.

Il buono:

  1. Lo schermo. Sarà che sto invecchiando, ma anche se ci vedo bene la grandezza sembra “giusta”. La qualità del touchscreen mi sembra superiore, nonostante la pellicola di protezione, a quella del Nexus One. Forse la pellicola è l’unico accessorio decente venduto a corredo nei negozi T-Mobile. Uno schermo grande vuol dire anche una tastiera virtuale più grande e quindi migliore digitazione
  2. L’interfaccia. Non parlo di bellezza ma di praticità. Ad una settimana mi sembra se non migliore per lo meno alla pari
  3. Zune software: il pensiero che ci voglia una applicazione per fare l’upload delle canzoni mi fa venire il mal di pancia. Però devo dire che Zune Software è un ottimo digestivo: avevo avuto qualche noia con un filmato pescato in rete (non per piratare ma mi serviva Biancaneve in italiano); Zune non ha riconosciuto il codec (GSpot riporta DIVX3) e si è rifiutato di farne l’upload; il Nexus One si beve tutto ma alla fine il filmato non si vede. Tra i due approcci insomma, meglio quello guidato soprattutto visto che, a differenza di iTunes, il telefono è utilizzabile out-of-the box senza problemi, audio/video a parte.HTC-HD7-from-T-Mobile-1-e1286806131609[1]
  4. Wi-Fi Sync. Se si collega il telefono all’alimentatore e si è in presenza di una Wi-Fi casalinga, dal punto di vista del PC risulta collegato come se fosse in USB, con lo stesso segnale audio tipico di quando si inserisce una pennetta USB. Non ho ancora esplorato tutte le possibilità ma me gusta mucho
  5. Zune Pass. Non sono abbonato, probabilmente non mi interessa ma mi fa piacere che l’optional esiste
  6. Integrazione con XBOX Live: sono un utente XBOX live, ci giocavo a Fifa 20xx. Fatta bene
  7. Facebook: piacevole anche se passibile di miglioramenti
  8. Il pulsante dedicato per le foto. Torna utile per scatti semi-improvvisati.
  9. La radio Fm, ora posso tornare in palestra…. (se!)
  10. Il piccolo cavalletto, davvero una genialata.
  11. Sapere che posso scrivere applicazioni .Net/XNA mi fa godere come un riccio anche se non ne scriverò mai una
  12. L’integrazione con Exchange: perfetta, perfetta, perfetta. Solo questo vale il “prezzo” della piattaforma. Tutti i miei colleghi con iPhone sono ultrafelici per come tutti gli scenari end-to-end siano stati “inchiodati” al primo colpo
  13. Metro: la qualità visiva è sorprendente. Il rapporto tra la grandezza dei font, gli elementi della UI e il layout è da 10 e lode. In questo Android è molto indietro
  14. Overall Experience: curata meglio di Android nonostante qualche feature in meno. Meno frammentazione, più guidelines = risultati superiori alla media
  15. Netflix: adesso che finalmente si son decisi a proporre un piano streaming only sapere di poter guardare qualche episodio/film durante qualche attesa noiosa mi alletta parecchio

Il brutto

  1. Non c’è la meravigliosa possibilità di poter cambiare al volo la lingua della tastiera virtuale e dell’annesso dizionario. Questo diventa insopportabile visto il punto successivo
  2. Il sistema dei suggerimenti è molto anni novanta. In Android la parola “sbagliata” è comunque la prima scelta possibile, quindi anche se la tastiera fosse impostata sul linguaggio sbagliato, il dolore è davvero minimo. In WP7 alcuni suggerimenti vengono automaticamente accettati. Siccome tendo a guardare la tastiera mentre scrivo e mi aspetto che se ci azzecco non devo correggere, quando lo sguardo volge a quello che è stato effettivamente scritto rabbrividisco
  3. Tastiera: mi sarebbe piaciuto un feedback tattile
  4. Client Twitter: decisamente non ci siamo. Quasi al livello di “cattivo”
  5. Assenza di power widget e in generale un sistema di notifica su cosa sia attivo: con Android è facilissimo attivare/disattivare/monitorare tutti i circuiti radio. Non ho capito infatti perché un paio di volte il blutooth si è spento.
  6. L’algoritmo di messa a fuoco: peggio della Coolpix che è scritto da tabaccai
  7. La mancanza di un sistema sostitutivo al copia ed incolla. Mi sarebbe piaciuto ad esempio un qualcosa che da una mail crei un contatto completo. Il sistema riconosce i numeri di telefono, perché non fare un piccolo sforzo
  8. Durata della batteria: sicuramente legata alla grandezza dello schermo. Non ci siamo
  9. Avrei adorato se ci fosse stata la possibilità di avere una applicazione GPS vera e propria. C’è TeleNav ma è ad abbonamento mensile/giornaliero ed il prezzo davvero non giustifica il navigatore casual come me.
  10. Il costo delle applicazioni è verso l’altro a differenza di Android. Spero che la qualità giustifichi
  11. La prima versione del market andrebbe bocciata: non ci sono suggerimenti, le ricerche sembrano funzionare solo sul nome e vengono automaticamente estese al mondo audio/video. Impossibile poi trovare qualcosa se lo spelling non è corretto al 100%: cercavo un client foursquare ma ho trovato solo canzoni. Quasi “cattivo”, si salva solo in virtù del fatto che le applicazioni sono poche e si trovano comunque in fretta.

Il cattivo

  1. Il browser è perverso. Sinceramente imbarazzante. Perché non posso digitare l’indirizzo o aprire i preferiti in modalità landscape che mi permette una goduriosa tastiera virtuale extralarge?? Qualitativamente non arriva neanche alla sufficienza per quanto è penoso. Spero che sia la prima cosa a cui mettano mani nel prossimo upgrade vociferato per Gennaio

Il pessimo

  1. Per far riconoscere il dispositivo correttamente sempre più spesso sono costretto a riavviarlo. Ovvero il telefono prende a caricarsi ma niente connessione USB.

Tutto sommato il telefono è usabile nonostante i difetti di gioventù. Le pecche non sono “bachi” veri e propri come lo schifo di stack blutooth di Android, sono più che altro difetti di design. Dal punto di vista di qualità (come funziona quello che funziona) mi sembra decisamente un passo avanti alla concorrenza.

Tutto quello che in positivo o negativo manca in questa recensione è dovuto a due motivi principali: mi è sfuggito oppure non è rilevante per l’uso che io faccio del telefono.

-quack

Pubblicato sabato 27 novembre 2010 alle 12:26 AM - 100 commenti so far
Archiviato in: Recensioni

Spin doctor

La settimana scorsa sono stato un paio di giorni a Bellevue Square, un centro commerciale abbastanza grande e up-scale (si riconoscono dal fatto che non ci sono i piccoli booth che vendono corsi di lingue, occhiali da sole, sali del mar morto o custodie per cellulari). Mi ha fatto molto impressione vedere due cose:

  • il Microsoft Store: grande ad occhio dalle quattro alle sei volte quello di Apple a pochi metri di distanza; fila immensa per entrare immagino più per la novità che per la possibilità di comprare prodotti disponibili altrove
  • la fila per la Kinect, un grandissimo successo che farà la XBOX 360 il regalo dell’anno anche per le famiglie di solito propense verso la Wii

Son contento così non se con un po’ di rammarico che si poteva fare meglio e prima. Apple intanto diventa sempre più antipatica: una vetrina in larga parte occupata dalla gigantografia dei Beatles. Alla fine ce l’ha fatta Steve Jobs ma se ci penso, mi chiedo: ce l’ha fatta a far che? A portare su iTunes la sua band preferita? E quindi? Sicuramente non è persona che non può permettersi di comprare la discografia del quartetto in tutte le edizioni più esclusive. Altrettanto sicuramente non è mecenatismo allo scopo di far conoscere al mondo, dietro lauto compenso, i propri beniamini, soprattutto quando non se li è filati davvero nessuno. Vendetta nei confronti dell’etichetta discografica più volte ostica per motivi di copyright? Dubito. Credo che sia invece soddisfazione del desiderio di onnipotenza che si può provare nel far soldi coi propri miti: “quand’ero giovane mettevo i soldi da parte per comprare i dischi dei Beatles, ora sono i Beatles che lavorano per me”. Anyway… al centro dei miei pensieri di oggi c’è la cosiddetta SIM universale, secondo me un’idea malvagia e perversa figlia della mania di controllo di Jobs. Leggendo i soliti siti pro-Apple sono rimasto sorpreso che anche su tale questione c’è un modo per far sembrare il progetto come vantaggioso per i clienti anche quando le cose violano palesemente i principi economici di base come una mela che cade verso l’alto viola i principi della fisica.

Faccio un esempio: il successo del sistema GSM è dovuto al fatto che si può scegliere telefono in maniera indipendente dall’operatore. Finora, sussidi per l’acquisto a parte che reputo tendenzialmente giusti se tengono in conto tutti i fattori in gioco, le cose sono andate più o meno bene. Con l’iPhone però questo è cambiato: in America è impossibile comprare il telefono ed usarlo con T-Mobile, non solo a causa di difficoltà tecniche inventabili solo in USA, ma anche a causa di tutti i lucchetti imposti dagli accordi tra Apple e AT&T. Nonostante AT&T causa contratti capestro che fa firmare ai suoi utenti non abbia nessun incentivo a bloccare tecnicamente il telefono, il telefono è comunque bloccato. Ciononostante chiunque può sfilare la SIM AT&T e infilarci quello che vuole facendo decadere la garanzia, magari per usare il telefono in giro per il mondo senza le necessarie donazioni di organo per finanziare il roaming.

Come si può girare la notizia è farla sembrare un’innovazione benvenuta agli utenti? Un paio di perle:

In questo contesto, ogni utente iPhone o iPad diventerebbe di fatto un utente in roaming su qualunque network reale, ma senza le complicazioni del caso. Per esempio, si potrebbe acquistare un pacchetto ore, un giorno, una settimana o un mese di connettività in Europa senza doversi preoccupare di SIM, gestori o tariffe di roaming.

spindoctorGeniale. Non vedo l’ora che Apple diventi un concessionario di auto virtuale. Apro il portafogli, tiro fuori la moneta, ed Apple sceglierà per me l’auto che va bene senza che mi debba preoccupare di avere a che fare con gli antipaticissimi agenti del punto vendita.

Se un utente dovesse riscontrare difficoltà a connettersi (scarsa copertura, problemi di rete, lentezza, etc.), potrebbe chiedere ad Apple di intervenire, e grazie agli accordi siglati con multipli operatori, potrebbe effettuare istantaneamente il passaggio verso un network più performante.

Questo in un mondo perfetto in cui tutti gli operatori del mondo sono felici di dare una percentuale dei loro introiti ad Apple sapendo che Apple potrebbe decidere, senza penali, senza vincoli o altro di passare il cliente ad un gestore della concorrenza.

Ma secondo me il fondo lo si tocca con questa frase:

Diciamo così perché se da una parte l’idea appare davvero rivoluzionaria, dall’altra l’esistenza di un “grande intermediario e consigliere degli acquisti dei clienti” per musica, video, software e connettività fa un po’ paura. Anche se ha la mela sopra.

Grande fratello incute sempre timore. Soprattutto se ha la mela sopra!

-quack

P.S. è triste vedere i post di gente che sta passando con gioia e gaudio da iPhone a WP7. Qualcuno è rimasto cliente Apple nonostante passasse più tempo ad avere a che fare con i bachi di Exchange o il sensore di prossimità, che ad usare il telefono come tale. Potevano per lo meno sforzarsi di provare Android, per ora la piattaforma migliore anche se con un margine molto piccolo.

Pubblicato lunedì 22 novembre 2010 alle 11:39 PM - 47 commenti so far
Archiviato in: Apple

Lunedì quiz - 7

Scrivere un algoritmo super performante in grado di analizzare il risultato di partite tic-tac-toe e dichiarare se c’è il vincitore per ogni partita. Si assume che le partite abbiano risultati validi quindi la risposta è limitata ad 1, X o 2.

image

-quack

Pubblicato lunedì 22 novembre 2010 alle 8:37 AM - 18 commenti so far
Archiviato in: Codice

Incentivi

Il sottotesto dei due libri dedicati alla Freakonomia è abbastanza elementare: azzeccare gli incentivi giusti è un processo sperimentale non privo di errori; facilmente evidenziabili a posteriori ma alcune volte quasi impossibili da pronosticare a priori.

La questione è rimbalzata nei miei pensieri leggendo uno degli ultimi post di Raymond Chen, intitolato If you measure something, people will change their behavior to address the measurement and not the thing the measurement is intended to measure. Nel post lui fa riferimento ad aneddoti molto ben conosciuti nell’ambiente. Partendo dal manager che misurava la produttività utilizzando il numero di checkin come metrica, passando per gli operatori di Amazon che riattaccano il telefono in maniera brusca e per finire al mercato nero dei bachi. Una storia quest’ultima abbastanza “recente” se si guarda la data di pubblicazione. A quanto pare la famosa vignetta di Dilbert che ha da poco compiuto quindici anni non è molto conosciuta negli ambienti del management:

image

In Microsoft esiste una pratica molto simile e serve ad incoraggiare l’individuazione di bachi al di fuori del processo formale di testing; si chiama Bug Bashing, si invita tutto il team a cercare quanti più bachi possibili nel prodotto e vince che raccoglie più punti in base alla qualità e alla quantità dei bachi trovati. L’effetto collaterale è che, non appena viene annunciato un Bug Bash, il test team smette di “lavorare” e documentare i bachi ed ogni elemento del team si crea una piccola riserva di bachi pronta all’uso. I developer poi finiscono per documentare bachi molto oscuri lasciando trasparire la conoscenza conscia di difetti persino molto gravi. Il trucco sta nel giusto equilibrio nel scegliere la data dell’annuncio con l’obiettivo di dare a tutti la possibilità di partecipare attivamente avvertendo con abbastanza anticipo ma al tempo stesso ridurre al minimo le riserve dei tester. Più che una scienza è un arte.

-quack

P.S. vado a scrivermi una Ferrari.

Pubblicato mercoledì 17 novembre 2010 alle 6:57 PM - 1 commento so far
Archiviato in: Software