Technology Experience
.NET World

Essere notificati dei cambiamenti di valore di una DependencyProperty

La dependency property (d’ora in poi DP) LanguageProperty è una proprietà definita nell’oggetto FrameworkElement di WPF (assembly PresentationFramework.dll, namespace System.Windows). Oggi mi è servito implementare un meccanismo per mettermi in ascolto di tutti i cambiamenti di valore di questa proprietà nel costruttore di uno UserControl, cosa che sarebbe banale nel caso di una nostra custom dependency property (quando si crea una DP ci viene praticamente gratis il meccanismo di PropertyCallback), ma un po’ meno quando si tratta di una DP di quelle predefinite di WPF.

Ho risolto così:

private void ListenForChangingLanguage()
{
    DependencyPropertyDescriptor dpd = DependencyPropertyDescriptor
        .FromProperty(LanguageProperty, typeof(UserControl));

    if (dpd != null)
    {
        dpd.AddValueChanged(this, delegate
        { // TODO });
    }
}

Questo meccanismo è piuttosto comodo, e lo si ottiene con poche linee di codice. All’interno del costruttore del mio UserControl chiamo il metodo qui sopra e tutto viene gratis. Chiaramente ciò che implementate all’interno del delegate è a carico vostro, io l’ho lasciato volutamente vuoto (a parte il commento, LOL). A me è servito per hostare un mio UserControl in una normalissima Window WPF, e giocando con la LanguageProperty posso essere notificato all’interno dello UserControl e reagire di conseguenza (nel mio caso cambio a run-time la lingua).

Send to Kindle
.NET World

Usare WPF Localization Extension con un ContextMenu definito nelle risorse di una Window

Mi è stato chiesto di sviluppare uno UserControl WPF multilingua, quindi in grado di switchare sia a design-time che a run-time da una lingua all’altra. Ovviamente mi sono buttato subito sull’extension WPF Localization Extension. Direi che è semplice da utilizzare (una volta capiti bene i suoi meccanismi) e fa quello che promette. Supporta il passaggio da una lingua all’altra a run-time, supporta una lingua da visualizzare a design-time, ed è facile aggiungere nuove lingue, dal momento che è sufficiente creare un nuovo file di risorse dedicato alla nuova lingua.

Do per scontato che sappiate già utilizzare questa extension. Supponiamo di avere una Window definita come segue:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:lex="http://wpflocalizeextension.codeplex.com"
        lex:LocalizeDictionary.DesignCulture="en-US"
        lex:ResxLocalizationProvider.DefaultAssembly="WpfApplication1"
        lex:ResxLocalizationProvider.DefaultDictionary="Strings"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Content="{lex:Loc Ok}" Width="100" Height="30" />
    </Grid>
</Window>

Qui si instanzia il WPF Localization Extension, dicendo che la culture a design-time è “en-US”, che le risorse sono contenute nell’assembly “WpfApplication1” e che i file di risorse si chiamano “Strings.resx” (e di conseguenza Strings.it-IT.resx, Strings.fr-FR.resx, e via dicendo).

Il problema nasce quando si vuole definire un ContextMenu nelle risorse della Window. D’istinto verrebbe da scrivere il seguente codice XAML:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:lex="http://wpflocalizeextension.codeplex.com"
        lex:LocalizeDictionary.DesignCulture="en-US"
        lex:ResxLocalizationProvider.DefaultAssembly="WpfApplication1"
        lex:ResxLocalizationProvider.DefaultDictionary="Strings"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <ContextMenu x:Key="m">
            <MenuItem Header="{lex:Loc Menu1}" />
            <MenuItem Header="{lex:Loc Menu2}" />
            <MenuItem Header="{lex:Loc Menu3}" />
        </ContextMenu>
    </Window.Resources>
    <Grid>
        <Button Content="{lex:Loc Ok}"
                ContextMenu="{StaticResource m}"
                Width="100" Height="30" />
    </Grid>
</Window>

In pratica, abbiamo aggiunto un ContextMenu con x:Key=”m”, e lo si utilizza all’interno del Button. Peccato che il WPF Localization Extension non sia in grado di trovare le stringhe localizzate. Ve ne accorgete perchè invece di vedere la stringa prelevata dal vostro file di risorsa, trovate la stringa “Key:Menu1” (vado a memoria), segno inequivocabile che qualcosa è andato storto. E’ vero quello che ho appena scritto? Non proprio. Va sempre bene utilizzare la markup extension {lex:Loc}, ma va utilizzata una sintassi differente, che è la seguente:

<ContextMenu x:Key="m">
    <MenuItem Header="{lex:Loc WpfApplication1:Strings:Menu1}" />
    <MenuItem Header="{lex:Loc WpfApplication1:Strings:Menu2}" />
    <MenuItem Header="{lex:Loc WpfApplication1:Strings:Menu3}" />
    <MenuItem Header="{lex:Loc WpfApplication1:Strings:Menu4}" />
    <MenuItem Header="{lex:Loc WpfApplication1:Strings:Menu5}" />
</ContextMenu>

Non ho trovato una documentazione ufficiale (ma io con i motori di ricerca, si sa, non sono bravissimo), ma direi che la sintassi sia: <namespace>:<file_di_risorsa:<chiave>. Strana sintassi, perchè bisogna separare ogni parte con un “:”, come si vede dallo stralcio di XAML qui sopra.

Et voilà, il gioco è fatto! Così il ContextMenu viene correttamente popolato con le traduzioni prese dal file di risorsa, traduzioni che cambiano anche a run-time nel caso in cui switchate da una lingua all’altra programmaticamente agendo sull’oggetto singleton LocalizeDictionary.

Send to Kindle
Software

Show Cars, un charmap più evoluto

Nelle ultime settimane mi sono ritrovato diverse volte a dover utilizzare charmap, l’utility di sistema di Windows, per cercare alcuni caratteri speciali contenuti nei font come il Segoe UI Symbol ed altri ancora. Il caro buon vecchio charmap di Windows non mi piace molto: la finestra è minuscola e non è ridimensionabile (quindi sugli schermi Full-HD dei nostri monitor è molto piccola), la dimensione dei caratteri non è impostabile e quindi secondo me pecca di alcune features importanti.

Morale…sono un dev e mi sono scritto un’alternativa a charmap un po’ più evoluta, che ho chiamato Show Cars (nota bene: so benissimo che in inglese ‘carattere’ è ‘character’, ma il nome del mio tool è comunque questo; piccola precisazione per tutti quelli che erano già sulla linea di partenza per farmi notare che al massimo avrebbe dovuto chiamarsi Show Chars, LoL).
Ecco qualche screenshot qui sotto:

ShowCars_1

 

Vi elenco un po’ di feature che ho implementato:

  • permette di vedere i caratteri di tutti i font installati nel sistema
  • permette di vedere i caratteri dei font in un file .TTF
  • permette di ridimensionare i font (da 16 a 200)
  • permette di sfogliare i caratteri a paginate (ogni pagina può contenere 50, 100 o 300 caratteri, impostabile a piacimento). Ovviamente è possibile spostarsi di una pagina alla volta, oppure ad un numero di pagina specifico
  • è possibile modificare i colori di background e foreground con cui viene visualizzato ogni carattere
  • la finestra è ovviamente ridimensionabile a piacimento sullo schermo
  • Show Cars si ricorda della sessione corrente: carattere, numero di pagina, posizione e dimensione della finestra
  • permette di ottenere il codice XAML per alcuni controlli WPF (Label, TextBlock e TextBox) e per ora di un solo oggetto HTML 5 (<span />)
  • per ogni carattere potete ottenere il codice Unicode che lo rappresenta, e l’eventuale combinazione di tasti da utilizzare con ALT per ottenerlo via tastiera
  • è tutto in inglese

ShowCars_2

Il fatto di sfogliare i caratteri a paginate è una decisione voluta, perchè imho una delle cose più scomode di charmap è che non ricorda del tutto la sessione di lavoro corrente. Si ricorda il font, ma non ricorda la posizione esatta della scrollbar, quindi alla fine ci si perde, soprattutto quando si sfogliano font con un gran numero di caratteri (esempio: DengXian, con 28.541 caratteri).

ShowCars_3

Se siete interessati ad un beta-testing, fatemelo sapere con un commento a questo post!

Vi lascio con il sottotitolo che ho inserito nell’About:
Show Cars 1.0 (CharMap reimagined: paged, user-friendly, dev-oriented)

Grazie mille!!!!

Send to Kindle
My personal life

La vendetta dell’Estate 2014

Oggi è un lunedì, ma non è un lunedì qualunque. Oggi è il 1° Settembre. Questo significa che anche Agosto è alle spalle, ed Agosto per me rappresenta da sempre il mese delle vacanze, il mese del mare e della Puglia, delle fatidiche due settimane durante le quali si suppone che un individuo debba rilassarsi e riguadagnare tutte le energie per affrontare un anno di lavoro. Niente di più falso, ma questa è un’altra storia. Per me quest’anno significa qualcosa di più.

L’estate 2014 è stata l’estate della vendetta, la vendetta sull’Estate 2013, che è stata segnata da diversi problemi di salute (ad oggi tutti risolti, per fortuna, e da un bel po’ di tempo), che non mi hanno permesso di andare via, di rilassarmi, eccetera eccetera. E’ stata l’estate delle visite mediche, degli esami del sangue, dell’ansia e del non dormire la notte, delle telefonate con gli amici che tentavano di tranquillizzarmi, dei 12 chili persi, della nausea e di molte altre cose ancora. Tutte brutte vicende ormai alle spalle, ma che mi hanno un po’ segnato, e devo confessarvi che ci penso spesso.

Non sono un tipo che ama avere un brutto ricordo di una data o di un luogo, per cui se il giorno X mi accade qualcosa di brutto, oppure nel posto Y ho vissuto qualcosa di storto, mi impegno con tutte le mie forze per rivivere quel momento o quel posto per vendicarmi: il ricordo deve essere sempre un sorriso, e mai una lacrima. Seguendo questo ragionamento mi sono organizzato l’Estate 2014 in un modo che probabilmente non riuscirò a fare mai più, per tutto il resto della mia vita.

Aprofittando del fatto che lavoro in una piccola società che mi permette di lavorare perennemente in home-working, la domanda che mi ha frullato in testa a maggio è stata: sarà possibile lavorare anche davvero in remoto, magari dalla Puglia, magari facendo tutto luglio e tutto agosto? Questa domanda ha posto alcuni problemi, a cui ho cercato di dare delle soluzioni:

  1. Connettività. Il campeggio in cui di solito alloggio mi aveva assicurato via mail di aver installato una rete WiFi gratuita, con copertura in tutte le piazzole. Idem il Lido, affacciato proprio sul mare.
  2. Non fidandomi, o comunque avendo poca fiducia nella qualità dei servizi esposti al punto (1), mi sono attrezzato con una chiavetta 4G TIM con 20GB mensili, con un costo di 30 euro/mese. Devo anche ringraziare per questo anche Sabrina, che mi ha permesso di raddoppiare i GB mensili fornendomi il numero di telefono della sua linea fissa, altrimenti i GB sarebbero stati solamente 10.
  3. Trasferte di lavoro. Trovandomi in Puglia, è piuttosto difficile raggiungere fisicamente i nostri clienti abituali, per cui mi sono organizzato, “sollecitando” tutti i lavori possibili ed immaginabili prima della mia partenza, in modo tale da poter trascorrere il tempo lavorativo pugliese senza particolari rischi di dover partire per il nord Italia da un giorno all’altro.
  4. Logistica. Rodi Garganico (Foggia) è una locazione alquanto scomoda. Il centro commerciale più vicino è a parecchi km di strada, e magari non tutti sono riforniti come sono abituato a vedere a casa mia. Per evitare viaggi e perdite di tempo, mi sono portato due zaini pieni di materiale: due notebook, due mouse, cd/dvd vergini, varie attrezzature di rete (cavi, modem, adattatori), cacciaviti, una copia del mio NAS di casa, cavi e cavetti di ogni tipo, e molto altro ancora. Qualsiasi problema avessi avuto in campeggio, avrei potuto reagire in tempi brevi (e qualcosa in effetti è accaduto).

Forte di questa preparazione strategica, sono partito, nella notte del 4 Luglio, arrivando in Puglia il 5 Luglio. E lì è cominciata la mia lunga cavalcata, durata per tutto il mese di Luglio ed Agosto. Sarebbe noioso raccontarvi giorno per giorno, per cui vi faccio un elenco di tutte le cose che mi hanno colpito, che ho fatto e che probabilmente non riuscirò mai più a fare.

  • Il periodo passato in Puglia è stato esattamente dal 4 Luglio al 18 Agosto. 45 albe pugliesi, passate per la stragrande maggioranza del tempo con mia madre, che adora il caldo, il campeggio e la vita da spiaggia. Omar al lavoro a Milano, mio padre con lui. Insomma, famiglia divisa in due.
  • Ho mangiato di tutto: pizzette, briosche con nutella ed alla crema, paste alle mandorle, tanti gelati. Ho fatto pause caffè, intorno alle 10 del mattino, a pochi metri dal mare. Ho bevuto vino rosso, ed ho fatto bere qualche bicchiere di vino rosso a mia madre, che non è propriamente amante del vino. Ho mangiato carne, pesce, formaggi. Questo in barba all’Estate 2013, appunto: tiè.
  • Ricorderò per sempre Termoli: il Ristorante Svezia, la stazione dei treni, la via dello shopping, il nostro parcheggio, rubato ad una Ferrari nera
  • In certi momenti, era dura: tu che ti dovevi svegliare e stare in campeggio a lavorare, mentre tutti gli altri andavano in spiaggia, al mare, era quasi insopportabile. Ma mi ficcavo in testa che la contro partita era essere a Lodi, in mezzo allo smog e al cemento, per cui mi consolavo subito.
  • Dal 4 al 10 agosto ho passato il tempo con te, Federica. E ricorderò i tuoi paesi salentini, il nostro mega raffreddore che ci ha colpiti nella nostra settimana, la nostra stella cadente, la nostra stanzetta, quel geco (?) che ti ha fatto spaventare, le nostre cenette, le nostre gite, il tuo modo di darmi le indicazioni, i nostri bagni al mare, le luminarie di San Donato di Lecce, le brevi chiaccherate nel cuore della notte, tutto il nostro tempo passato assieme. Ed anche la mia carta di identità che ti ho lasciato, e che mi hai rispedito a casa. Settimana indimenticabile, e spesso ci ritorno con i pensieri.
  • Ho portato la mia “nuova” auto, acquistata a Gennaio a Pavia, fino a Santa Maria di Leuca. Questa è una cosa che non dimenticherò mai, altrochè.
  • E’ stata anche l’estate delle corsette a piedi, dopo il lavoro, e solo se non faceva estremamente caldo. Uscivo dal campeggio, corsetta di circa 3-4 km sul lungomare, fino ad un altro campeggio. Ho smesso quasi subito per via del meteo e di qualche dolorino al ginocchio.
  • A proposito di meteo: è stato l’ideale per me che lavoravo, ma non per chi era lì in vacanza. Durante il mese di Luglio, ha piovuto spesso. Io godevo, perchè stavo al freschino; gli altri brontolavano, per via del mare mosso e del freddo, appunto. Ricorderò le belle foto che ho scattato, la veranda della dirimpettaia Michela che si è ribaltata a causa del vento forte. E vogliamo parlare dell’incendio che nei primi giorni di Luglio divampava a qualche centinaio di metri dal campeggio?
  • E’ stato l’anno dei mondiali di calcio in Brasile, che ho seguito malamente, perchè la qualità del nostro digitale terrestre era un po’ scarsina. Mi sono visto senza problemi la storica semifinale Brasile-Germania 1-7. Ma ho perso il goal della partita successiva, la finale, perchè il segnale era improvvisamente scomparso (Dio solo sa le imprecazioni che ha lanciato in quei momenti).
  • E’ stato l’anno delle uscite il venerdì sera con mia madre: paposce a Vico del Gargano, cenette a base di pesce a Rodi Garganico, dei mega gelati di Pizzicato, della pizza a Lido del Sole.
  • Mi sono tagliato due volte i capelli. Ok, può sembrare una sciocchezza, ma è una delle misure che mi fanno capire quanto tempo sia rimasto in Puglia. Sì, qui ci vuole un LOL.
  • La signora Elena, Teresa e Bruno ed i loro quattro figli (Michele, Rosa, Antonio ed Alessio), le chiaccherate con Rocco e Daniela (e la loro piccola Sofia, a cui ho scattato foto per il suo primo compleanno), Marco e Giusy, Michela e Salvatore, e via via tutti gli altri, non meno importanti. Grazie a Maria per i caffè ed il marocchino, e grazie al suo fidanzato Enzo. Ed un grosso in bocca al lupo per le loro vite ed il loro lavoro.
  • Il pomeriggio in macchina, con mia madre, sotto il diluvio universale, per raggiungere un centro commerciale a San Severo che proprio non si riusciva a trovare. Tutto questo per comprarmi dei vestiti più pesanti rispetto a quelli che avevo già…
  • Chissà dov’è adesso Damiano il bagnino, che mi ha rimproverato in uno dei primi giorni perchè andavo troppo al largo. Ed era lo stesso che poi veniva a chiudermi l’ombrellone mentre io ero ancora lì, perchè cercavo di andare via dalla spiaggia il più tardi possibile: il tramonto, lì dove sono io, è affascinante.

Parlando di lavoro, ho avuto diversi problemini.
Innanzitutto, non ringrazierò mai abbastanza me stesso per avere avuto la saggezza di comprare la chiavetta TIM 4G. La rete Wi-Fi del campeggio era davvero scadente, almeno se uno ci deve lavorare: velocità terribilmente bassa, sia in download che in upload, e soprattutto spesso e volentieri l’autenticazione falliva. Con la chiavetta TIM, invece, nessun problema. E’ solo grazie a questo che ho potuto lavorare con tranquillità.
L’altro problema riguarda Vodafone. Le telefonate che facevo o ricevevo cadevano inesorabilmente dopo qualche minuto. Questa cosa colpiva non solo me, ma anche tutti gli altri che avevano Vodafone come operatore telefonico. Ho segnalato la questione al servizio clienti, e nei giorni successivi pian piano la situazione è via via migliorata.
L’ultimo problema è stato uno smartphone improvvisamente morto (un vecchio Lumia 800), quello di mia madre, prontamente sostituito da un altro sostituivo che avevo portato con me.

Per tutto il resto delle cose, l’Estate 2014 è stata meravigliosa, ed in me vivono ricordi ed emozioni che saranno sempre con me. In uno dei miei ultimi giorni di vacanza ero immerso nel mare e mi sono chiesto: mi sono davvero preso la vendetta sull’Estate 2013? In quel momento non sapevo la risposta, ma questa sera sì. La vendetta è stata completa, terrificante ed assoluta: posso anche pensare a quel maledetto 2013, ma subito dopo mi compare un sorriso beffardo sul volto, perchè mi sono preso una grande bella rivincita.

Probabilmente ci sono altre miliardi di cose che potrei condividere con voi, o magari anche solo consegnare alla memoria di questo mio blog, ma non importa, finisco qui.

Estate 2013, ‘fanculo.
Oggi sorrido.

Send to Kindle
My personal life

La voce positiva delle cose non esiste

In realtà il titolo penso che contenga già una piccola menzogna, ma d’altronde su Twitter vi avevo promesso un post con questo titolo, per cui ogni promessa è debito.

Chiudete gli occhi e fate un attimo mente locale pensando al genere di prodotti che avete acquistato su Internet negli ultimi anni. Lo faccio anche io, e riassumo che ho acquistato:

  • beni materiali per il mio lavoro (tastiere, stampanti, modem e simili, hardware insomma)
  • beni materiali per la casa o il tempo libero (pneumatici per la bicicletta, lol, ma anche altre cose del genere casalinghi)
  • beni immateriali (biglietti per cinema, o per vari eventi sportivi, videogiochi, software, etc.)

Quante volte vi è capitato di dover andare sui forum perchè avete avuto qualche problema, soprattutto per quanto riguarda l’informatica? La stampante che non si installa, il modem che non si connette come dovrebbe, il videogioco che non si avvia o si schianta. Problemi di ogni tipo. Nel momento in cui andate sui forum, ecco che improvvisamente compaiono centinaia di migliaia di persone che hanno il vostro problema, o chissà quanti altri tipi diversi di problemi. Sembra che quel “prodotto”, di qualunque natura si tratti, non funzioni proprio di default e che quindi abbiate comprato una schifezza. Dite la verità: quante volte vi è successo? A me davvero tante, nel corso degli anni. Ok, i più furbi (ma direi che oggi è la normalità), probabilmente si informano prima, in modo tale da evitare esperienze negative di questo tipo.

C’è una cosa malsana in tutto questo. Su Internet, sui forum, sui newsgroup, si legge solamente delle cose negative. Perchè? Semplicemente perchè nessuno va sui forum a scrivere quant’è figo quel prodotto, come funzioni bene, come è stato semplice configurarlo, ma quel forum lo raggiunge solamente nel caso in cui qualcosa non vada. E’ una cosa malsana, e direi tranquillamente falsa. Parliamoci chiaro. Vi ricordate quando nella prima frase vi ho detto che il titolo contiene una menzogna. Eccola è proprio qui: non è del tutto vero. Se si va negli store di Amazon, oppure quelli per dispositivi mobile, oppure su Trip Advisor, potete vedere valutazioni o recensioni di ogni tipo, sia positive che negative. Ma francamente continuo a credere che “misurare la bontà di un prodotto o di un’idea ascoltando semplicemente ciò che dice la gente su Internet, contenga di per sè un modo sbagliato di procedere, perchè non rappresenta affatto, in quasi nessun caso, un campione rappresentativo”. In statistica la prima cosa che devi fare è raccogliere un campione corretto e rappresentativo, e questo non viene fatto MAI fatto sul Web. Credo che tutto ciò faccia parte della natura umana: supponete di essere in un ristorante e di mangiare da Dio spendendo poco. Chiamereste il cameriere facendo i complimenti per la cucina? O magari lo direste al momento di pagare? Probabilmente no. Invece siete più “stimolati” se ci sono ritardi nei piatti, oppure se trovate un capello nella pasta, oppure se trovate che il cibo sia piccante quando non avrebbe dovuto esserlo (vero mamma?). E’ come quando si andava a scuola: se si prende 3 in un compito in classe, scattava qualche punizione. Se si prende 9, “hai fatto solo il tuo dovere di studente”. Per farla breve: in certi casi dovete essere stimolati o ricompensati per dare la vostra opinione, in altri casi invece lo fate spontaneamente perchè vi sentire derubati, o presi in giro, o sentite di aver subìto un torto, per cui partite a mille con le proteste.

C’è un ultimo grave problema, in tutto questo. Che la voce di poche persone rischia (e di fatto per me lo è) di soverchiare la voce più silenziosa dei tanti. E quindi qualcuno potrebbe prendere provvedimenti per correggere la rotta ascoltando una voce sfalsata, che non dà affatto la giusta misura della situazione a cui deve porre rimedio. E lo stesso dicasi per noi acquirenti, chiaramente. Insomma, dobbiamo stare attenti: dobbiamo informarci con attenzione, ascoltando tutti, chiedendo un consiglio spassionato, e non solo basandoci su certe voci, di certi forum, di certe recensioni. Non fatevi traviare, ma abbiate tutti una vostra idea, una vostra opinione. Chiedete agli altri, ma ragionate sulle risposte che vi vengono date, calate ciò che vi viene detto in base alle vostre conoscenze, seppur scarse che siano. Siate propositivi, e non fatevi solo condurre stupidamente dai motori di ricerca. E qualunque cosa leggiate sul Web, sappiate che (imho) non saprete MAI cosa pensa davvero la gente, perchè la maggior parte non va ad esprimere la propria opinione. Ficcatevelo in testa.

Send to Kindle
My personal life

Kindle e Kindle Paperwhite

Giovedì pomeriggio ho acquistato il Kindle Paperwhite presso un punto vendita Mediaworld, sfruttando l’offerta volantino che lo metteva in vendita a 109 Euro, contro i 129 “ufficiali” del sito Amazon (50 euro in più rispetto al Kindle base). Ero già in possesso dal classico modello Kindle, ma il Paperwhite mi interessava per una serie di ragioni, alcune buone ed alcune invece che mi lasciavano scettico:

  • positivo: schermo retroilluminato
  • positivo: risoluzione più alta
  • positivo: più veloce e reattivo
  • negativo: schermo touch
  • negativo: il prezzo (il Kindle costa 59 euro, il Paperwhite costa 129: vale la differenza?). Come dicevo, alla fine io l’ho acquistato a 110 euro grazie a Mediaworld, sfruttando tra l’altro un buono sconto ed altre cosucce, per cui alla fin fine la spesa è stata anche inferiore

Rispetto al Kindle, il Paperwhite ha tutta una serie di vantaggi: innanzitutto lo schermo è retroilluminato. Nessuno ve lo dice (almeno, io non sono riuscito a trovare questa informazione in modo rapido), ma l’intensità della retroilluminazione è regolabile a piacimento, senza nemmeno troppi giri di click e menù. Se siete in spiaggia, spegnete la retroilluminazione, se siete al buio la accendete: per me che leggo (anche) la mattina presto, è una cosa molto interessante. E’ leggermente più pesante e spesso rispetto al Kindle base, ma nulla di che.

Seconda cosa: il colore di sfondo delle pagine è leggermente più bianco, e la risoluzione è più alta. Lo schermo sembra più vera carta, e la risoluzione più alta, per cui i caratteri sono più nitidi e leggibili.

La terza cosa, la più importante, e che mi lasciava scettico, è l’unione tra software e touch.
Faccio una premessa.

Il Kindle base dispone di una serie di bottoni hardware che ne consentono l’utilizzo:

  • sul lato sinistro e destro avete i bottoni per spostarvi di pagina in avanti (più grande) ed indietro (più piccolo)
  • sulla parte inferiore avete una specie di joypad: i tasti su/giù/sinistra/destra ed un pulsante OK al centro

Con questi pulsanti fate un po’ di tutto: leggete (ovviamente!), navigate nei menù e settate le impostazioni. Tutto passa attraverso questi pulsanti, quindi ogni minima operazione richiede un certo numero di click e navigazioni. Non che vi capiti spesso, almeno per l’uso che ne facevo io, però se vi capita è piuttosto macchinoso e rallentato.

Con il Kindle Paperwhite le cose sono ben diverse. Innanzitutto non ha alcun bottone hardware, se non quello per l’accensione. Tutte le operazioni passano attraverso lo schermo touch, che tra l’altro risponde quasi come il display touch capacitivo del vostro smartphone (lo schermo reagisce con qualche ms di ritardo, a dir la verità, ma l’input viene gestito correttamente). Quindi banali operazioni come l’inserimento della password del Wifi (ok, lo fate una volta sola), regolare l’intensità dello schermo, inserire un segnalibro o scrivere delle note sono molto molto più intuitive e veloci rispetto al Kindle normale. Vi faccio qualche esempio per chiarire le idee:

  • se volete andare alla pagina precedente, toccate il bordo sinistro della pagina; se volete aprire il menù, toccate il bordo superiore della pagina; se volete andare alla pagina successiva, toccate qualsiasi altra zona della pagina ( che di conseguenza è il 90% dello schermo 6” del dispositivo)
  • se volete cercare una parola nel vocabolario, con il Kindle dovete navigare con i tasti cursore per posizionare il cursore appena prima della parola interessata, ed aspettare la traduzione. Con il Paperwhite è sufficiente toccarla per 2 secondi ed il gioco è fatto
  • se volete inserire un segnalibro, con il Kindle dovete aprire il menù e navigare nella funzione per aggiungere/rimuovere un segnalibro. Con il Paperwhite basta toccare l’angolo superiore destro e confermare
  • se volete spostarvi da un capitolo all’altro, o comunque navigare velocemente all’interno dell’intero testo, con il Kindle base è di fatto un piccolo incubo indocumentabile, con il Paperwhite basta trascinare dal basso verso l’altro, appare una scrollbar orizzontale con un bel cursore da trascinare avanti ed indietro, tra l’altro godendo di una bella preview della pagina che avete raggiunto. Se vi va bene, toccate all’interno della preview, se no toccate fuori e rimanete dove siete. Questo è un punto fondamentale, secondo me, perchè a me capita spesso di studiare testi tecnici, che magari contengono parti che volete leggere più volte per farvele entrare bene in testa: questa funzionalità (di fatto mancante nel Kindle) è essenziale

Non vorrei dire una sciocchezza, ma quando ho acquistato il Kindle, non avevo incluso i due vocabolari italiano ed inglese che invece mi sono ritrovato sul Paperwhite. Entrambi vi danno il significato delle parole. Mi sarei aspettato che quello inglese mi traducesse da inglese ad italiano, ma non è così. Poco male. Tra l’altro, una cosa simpatica che fa il Paperwhite è aggiornare costantemente un documento chiamato “Arrichisci il tuo vocabolario”, aggiungendo tutte le parole che cercate man mano nei vocabolari. Non solo: vi permette di navigare su Wikipedia per avere più informazioni su quella parola. Immaginate di leggere un libro e ad un certo punto compare la scritta “Grande Guerra”: la cercate su Wikipedia…et voilà!!

Il software del Paperwhite contiene numerose altre funzionalità rispetto al Kindle base: vi stima quanto tempo manca alla fine del capitolo, o alla fine dell’intero libro. Tutto questo in base alla vostra velocità di lettura, chiaramente. Ha una sorta di cronologia degli spostamenti che fate all’interno del testo, per cui se balzate da un capitolo all’altro, potete ritornare sui vostri passi (una sorta di Back del vostro browser, per intenderci). Tutte le funzionalità sono davvero a portata di touch: grazie al menù apribile dal bordo superiore potete regolare tipo e dimensione del carattere, l’intensità della retroilluminazione, inserire delle note (feature praticamente non usabile nel Kindle base), navigare con i segnalibri, etc. etc. Il Paperwhite è anche un filo più reattivo e veloce.

Insomma, secondo me il Paperwhite è decisamente avanti rispetto al Kindle base. Lo schermo touch non è solo un “di più”, una mera feature tecnologica, ma è una cosa che ha permesso ad Amazon di aggiungere funzionalità davvero comode ed utili all’utente finale. Valgono i 70 euro in più rispetto al Kindle base? Sarò sincero: probabilmente no. E 50 euro? No, probabilmente no. Ma se siete appassionati di lettura, se potete permettervelo, se avete diritto a qualche sconto come è capitato a me, allora prendete il Paperwhite e sarete lettori più felici.

Send to Kindle
My daily work

Icona di OneDrive freezata? Soluzione!

Se anche voi siete nella mia stessa situazione, ovvero avete l’icona di OneDrive bloccata su un triste messaggio “OneDrive is starting up”, oppure un “OneDrive is getting your list of files”, come mostrato di seguito…allora dovete sbloccare la situazione.

Notare che la sincronizzazione funziona alla perfezione, e comunque se cliccate sull’icona con il pulsante sinistro del mouse lo stato di OneDrive sembra essere ok, perchè vi dà un rassicurante messaggio “Your OneDrive is up to date”.

allora dovete risolvere in qualche modo. A me l’icona freezata di OneDrive non piace proprio.

Un tweet del mio amico Vito di questa mattina mi ha dato la soluzione. E’ sufficiente raggiungere questa pagina, scaricare l’utility ed eseguirla. Il tool controlla, resetta, manda opzionalmente un log a Microsoft e poi infine vi sblocca la situazione. Ci ha messo un po’, nel mio caso, ma dopo qualche minuto l’icona di OneDrive segnala lo stato corretto.

Evviva.

Send to Kindle
My daily work

Ogni obiettivo deve essere sempre ben preparato con cura

Qualche anno fa vi parlai di “Dalla Terra alla Luna”, una serie TV prodotta da HBO e da Tom Hanks che parla degli anni della corsa alla Luna. Ve ne ho parlato, dicevo, qua sul mio blog nell’ormai lontano 2008, e precisamente nei giorni che vanno dal 23 al 28 Febbraio. I DVD sono 5, e contengono tutta una serie di episodi che raccontano tutte le vicende della Nasa, degli astronauti, dei familiari, di tutti gli scienziati che hanno lavorato dietro le quinte, e via dicendo.

Il primo episodio in assoluto si intitola “Possiamo farcela?”, ed è uno di quelli che preferisco. Questo episodio mi viene in mente un sacco di volte, non so nemmeno io esattamente il perchè. Lo scenario è il seguente. L’Unione Sovietica è in vantaggio sugli USA, ha appena mandato Gagarin nello spazio e sembra essere lanciata senza alcuna ombra di dubbio verso la conquista del nostro satellite. Kennedy promuove la corsa allo spazio e promette che entro un decennio un uomo camminerà sulla superficie lunare. Viene avviato il programma Mercury, poi il programma Gemini, che mirano prima a raggiungere, poi a superare, l’URSS. Un obiettivo ambizioso, quasi impossibile, al punto che i vari capoccioni della NASA si chiedono se davvero sia possibile. Se possono farcela, appunto. Sappiamo tutti come è andata la storia, ovviamente, a meno che non siate fra quelli che credono che l’uomo non sia mai andato davvero sulla Luna. C’è un punto particolare dell’episodio rappresentativo del fatto che qualsiasi cosa può essere raggiunta, se preparata a dovere, nonostante all’inizio possa sembrare complicata, assurda, costosa e fuori portata. E’ un meeting interno della NASA (lo trovate alla fine dell’episodio sul 1°DVD, alla posizione 54min 22sec), che illustra il piano delle missioni, missioni che ovviamente devono essere analizzate, studiate, preparate e portate a termine, dalla più semplice alla più difficile, per raggiungere infine l’obiettivo finale.

Vi riporto le testuali parole tratte dall’episodio, che mi sono trascritto in Evernote il 6 gennaio 2014 (l’Epifania!), proprio pensando al giorno in cui avrei scritto questo post. Chi parla è un responsabile, che illustra ad un gruppo di astronauti (The New Nine) come dovrà procedere il loro lavoro nel corso dei mesi e degli anni successivi.

“Owen Maynard e la Divisione Operazioni Missione hanno preparato un piano per la serie di voli Apollo che ci porteranno a sbarcare sulla Luna.
Ogni missione avrà una lettera.
Le missioni A e B saranno test senza equipaggio.
La missione C sarà il primo volo con equipaggio umano dei moduli di comando e di servizio.
La missione D sarà il primo volo combinato dei moduli di comando lunare in un’orbita terrestre bassa per collaudarli.
La missione E farà lo stesso in un’orbita terrestre alta per le procedure di rientro.
La missione F arriverà fino all’orbita lunare con il LEM, ma senza sbarcare.
Lo sbarco sarà l’obiettivo di chi sarà assegnato alla prima missione G.

Ora: ognuna di queste missioni deve essere completata con successo prima che si possa passare alla missione seguente.
Se abbiamo problemi con il radar per rendez-vouz, o con gli zaini di sopravvivenza, o con il modulo di ritorno, passeremo alla missione D1, o D2, o persino D3, prima di tentare la missione E.”

Questo stralcio è la dimostrazione che un obiettivo difficile, apparentemente irraggiungibile, può essere raggiunto. Bisogna predisporre tanti piccoli passi più semplici. Ma c’è bisogno di tempo e risorse e preparazione. Non è una cosa che si può fare in pochi giorni, ma ci vuole sempre del tempo per studiare un piano che lentamente ci porti dove vogliamo arrivare. Ed hai soprattutto bisogno di una squadra con le giuste competenze.

Se viene proposto un obiettivo ad un team impreparato, tale obiettivo sembrerà impossibile, ed alla fine lo sarà davvero. Sono dell’idea che se proponi ad un team un compito decisamente fuori portata, esso reagirà solo con lo sconforto (o almeno, così reagisco io).


(“parlo sul serio adesso: qualcuno vuole il mio posto?”)

Non c’è nulla di male a dire “facciamo X compiti entro la data xyz”, ma se quei compiti non sono mai stati affrontati da quelle persone, la questione si fa davvero ardua. Ogni cosa, come ci insegna la NASA, deve essere affrontata a piccoli passi. Che poi, non è nulla di nuovo, ma è la solita buona vecchia analisi in stile top-down. Non puoi chiedermi di giocare contro il Barcellona se l’ultima volta che ho toccato un pallone da calcio avevo 12 anni. Non puoi chiedermi di portare a termine qualcosa, quando i miei impegni attuali me non lo consentono. Personalmente non lo trovo molto stimolante, anzi: siccome il mio lavoro lo conosco e lo so fare, riesco fin da subito a capire se ce la farò oppure no. Una volta lessi un articolo su un giornale di medicina sportiva, secondo il quale devi puntare ad un obiettivo ovviamente al di là delle tue capacità attuali per poterti migliorare. Ma senza sbroccare troppo. Devi, diciamo, puntare al 100% + X% delle tue potenzialità di oggi, per andare sempre oltre, per migliorare te stesso, la tua efficienza ed il tuo lavoro. Ma non devi mai andare al di là di un certo valore X, altrimenti si accumula stress e tensione nervosa.

Nessuno di noi è nato con un righello per misurare il grado di difficoltà di un particolare compito, e forse questa è la parte più difficile del nostro lavoro (è per questo che evito sempre di stimare tempi, per esempio – il più delle volte la differenza tra finire un lavoro in una settimana o in due mesi dipende da una domanda la cui risposta è booleana, ma nessuno la conosce). Ma se c’è una cosa che non mi piace, è “sparare alto” per ottenere la metà (o il giusto?), un po’ come accade quando devi chiedere il rimborso all’assicurazione dopo un furto. Io parlo per me, almeno. Se mi chiedi una cosa che io percepisco come assurda, mi chiudo a riccio ed oppongo resistenza. Se mi chiedi una cosa che ritengo giusta, stai pur tranquillo che te la porto a termine.

E ricordate: per poter andare sulla Luna, è necessario prima imparare ad andare in orbita.

Send to Kindle
My daily work

OneDrive e lo spazio sul cloud

Sono sempre molti i prodotti per avere dello spazio sul cloud, da riempire con tutti i nostri files, di ogni tipo. In passato ho utilizzato DropBox, mentre negli ultimi mesi (anni?) sono definitivamente migrato a OneDrive, dal momento che è un prodotto Microsoft che trovo perfettamente integrato in tutti i miei device, dagli smartphone, al PC desktop fino all’ultrabook (ho un Lumia 1520, un Dell XPS 12, un tablet Asus con Windows RT, un PC desktop). Automaticamente, senza troppi sbattimenti o configurazioni, su OneDrive ci finiscono i miei files, le mie foto, i miei documenti. Tra l’altro è una soluzione imbattibile quando si lavora con più di un PC come nel mio caso, per ovvie ragioni.

Grazie agli acquisti od alle offerte a cui sono riuscito a partecipare nel corso del tempo, oggi su OneDrive ho a disposizione ben 328GB di spazio.

 

Sarebbe molto molto bello riuscire a sfruttarlo decentemente. Non ho una gran quantità di documenti. La maggior parte probabilmente sono i sorgenti dei miei software, e quelli stanno comodamente su Visual Studio Online. Ma si potrebbero mettere su backup, musica, video, e chi ne ha più ne metta.

Ma c’è una cosa con cui scontrarsi, soprattutto in Italia, soprattutto nella mia zona, ovvero la velocità di upload. La velocità di upload garantita dalla mia ADSL Telecom è 1Mbit, effettivi leggermente meno. Ecco un test eseguito qualche minuto fa.

A queste velocità è impensabile per esempio uploadare i backup di True Image, che occupano decine di Gigabyte sui nostri hard-disk. Dico questo perchè True Image 2013 nativamente può effettuare il backup non solo in locale, ma anche sul proprio cloud privato. Tutto questo invece non rappresenta un problema nel caso in cui lavoriate con tanti files piccoli, dal momento che l’upload di ciascuno di essi porta via meno tempo, e quindi eventualmente l’operazione di upload e sincronizzazione può essere spezzettata in più di una sessione di lavoro.

Oltre a tutte queste considerazione, c’è da dire che il costo di questi servizi diminuisce sempre più. Spesso e volentieri sono gratuiti, addirittura. Se oggi vi create un Microsoft Account, partite immediatamente con 15GB di spazio disponibile (notizia di ieri). Se acquistate qualsiasi versione di Office 365 (la versione Personal costa 7$/mese), lo spazio aumenta a 1 Terabyte. L’acquisto di spazio aggiuntivo è stato diminuito del 70% (esempio: 100GB costano 37 euro/anno).

Tutto storage che potete utilizzare anche con device diversi da Microsoft (notebook ed ultrabook di ogni tipo e marca, smartphone Android e device iOS, tablet di ogni forma e tipo). Da questo punto di vista, Microsoft ha vedute molte aperte, dal momento che ha pubblicato sugli store tutte le app per lavorare anche in ambienti diversi dal proprio.

Il vero collo di bottiglia, come dicevo prima, sono le nostre connessioni Internet. Ma quelle chissà, pian piano con il passare del tempo possono sempre migliorare.

Send to Kindle
My personal life

Ritornare a scrivere perchè

Il mio blog giace in uno stato morente, sebbene molte volte mi sia ripromesso di ritornare a scrivere come un tempo. I motivi sono tanti: ci sono i social network, che sono più immediati e pronti all’uso; il fatto di lavorare costantemente in home-working per assurdo mi tiene più concentrato sul lavoro, e quindi faccio più fatica a ritagliarmi del tempo libero per scrivere (dico “per assurdo” perchè quando parlo con gli altri di home-working una delle cose che mi viene detta più frequentemente è una cosa tipo “No no, io a casa non ce la farei mai perchè sarei troppo distratto” – per me è l’esatto contrario); per certi versi, non riesco neppure a mantenermi al passo con i tempi, per cui ho meno contenuti tecnici di cui parlare e bloggare. Seguo ovviamente ancora oggi tutto il mondo delle tecnologie Microsoft: Windows Phone, Windows 8.1, il nuovo Surface Pro 3, le Universal App di recente introduzione, il mondo cloud di Azure, ma diciamo che sono mesi in cui la mia testa è altrove, è un periodo di calo (sarà l’estate, la voglia di vacanze, sarà Lecce), e quindi tante cose mi passano davanti senza poterle approfondire sul serio.

Eppure, sono pienamente convinto che il blog è il mezzo che mi permette di esprimermi meglio. Non ho limiti di caratteri, non ho nulla di preimpostato, e posso spaziare decidendo di volta in volta di cosa parlare, e di come farlo, e di quanto tempo metterci, e di quanto spazio dedicarci. Tutti gli altri social (Twitter e Facebook in primis) mi incasellano troppo, mi limitano, vogliono racchiudere il messaggio che ho in testa in una forma standardizzata, più semplice e molto approfondita. Spesso vengono equivocato su Twitter, perchè 140 caratteri non bastano mai. Ho smesso di seguire persone perchè con loro vorrei consumare 1.400.000 caratteri, non 10.000 inutili messaggi da 140 caratteri l’uno. Ho sempre amato i testi lunghi, e non vedo il motivo per cui io stesso debba cadere nella trappola dell’essere a tutti i costi conciso perchè qualcun’altro me lo impone.

Dover comprimere il mio pensiero a botte di 140 caratteri mi costringe ad un processo di sintesi pazzesco, assurdo, inaudito, processo nel quale non sempre voglio infilarmi. Mi costringe a semplificare, ridurre, omettere, trascurare, fare di tutte le erbe un fascio, ed alla fine dei conti probabilmente finisco col dire cose che nemmeno penso davvero fino in fondo al 100%. Oltre a tutto questo, è più il rancore che ti rimane dentro, soprattutto quando cerchi di parlare con persone ed amici che sai essere in qualche modo spinosi, e che magari non la pensano come te su alcuni temi. Un messaggio breve ti costringe ad essere spiritoso, o sarcastico, o pungente, o polemico, e di conseguenza a snaturare il tuo vero messaggio. Un messaggio breve ti etichetta, e ne ho piene le scatole: è come se ciascuno di noi se ne andasse in giro con dei cartoncini appesi alla schiena con riportate le nostre caratteristiche principali, che sono quelle che traspaiono quando twittiamo qualcosa. Così io sarei quello che parla di questo & quell’altro, quello che odia la marca X ma non la Y, e così via. E quasi non abbiamo nemmeno più voglia di parlarci, convinti che tanto sappiamo già tutto l’uno dell’altro. E ci siamo ridotti all’assurdo: che spesso parte un tweet con un link che punta al testo completo del nostro pensiero (che sia un post su un altro social, oppure un articolo su un blog, oppure su un sito di notizie, o una immagine, e così via). Che tra l’altro è ciò che accadrà quando pubblicherò questo post. I social hanno tanti meriti, indubbiamente, ma a lungo andare stanno semplificando le nostre giornate trasformandole in tanti piccoli slogan; stanno sminunendo la nostra intelligenza e le nostre idee, e di conseguenza noi. A volte può servire (mangiare al McDonald non fa proprio benissimo alla salute, ma ogni tanto può starci, per carità), ma il più delle volte credo proprio che salvare la propria espressività evitando la junk communication (figo eh??) sia necessario.

Scrivere su un blog non ti dà assolutamente la certezza di essere chiaro, limpido e rispettoso nei confronti di ciò che hai in testa e che stai cercando di comunicare agli altri, ma almeno mi sento più libero e senza limiti tecnologici imposti dalla piattaforma che sto cercando di utilizzare. Almeno così non potrò colpevolizzare nessuno se non riesco a spiegarmi, se comunque sia entrerò in polemica con qualcuno, ma solo me stesso. Sul mio blog posso usare tutte le parole che voglio, fare esempi e paragoni, dare un contesto, essere più espressivo, e chi ne ha più ne metta.

Send to Kindle