Technology Experience
Senza categoria

Una televisione dedicata al ciclismo

Questa mattina un mio collega mi ha segnalato l’url http://www.cycling.tv, una televisione interamente dedicata al ciclismo. La qualità dello streaming è davvero molto buona. Non è completamente freeware: se si vuole vedere gli eventi in diretta, occorre pagare. Per poter accedere ai video on-demand, è sufficiente registrarsi. Per esempio, per poter vedere la Vuelta di Spagna – che si sta tenendo in questi giorni – basta pagare 21 euro.

Carino, devo segnalarlo a mio padre! L’unica pecca è che l’interfaccia è sono in inglese, e non a tutti potrebbe andare giù questa cosa.

Technorati Tags:   

Send to Kindle
Software

Utilizzare il desktop in modo intelligente

Sono pienamente d’accordo con questo post. C’è davvero troppa gente che utilizza il desktop in modo indegno. La riempie con tutti gli shortcut di tutti i programmi possibili ed immaginabili. Riempire il desktop in questo modo è confusionario e totalmente inutile. Come dice giustamente un certo Charles, ci sono un buon numero di motivi per cui non usare il desktop per gli shortcut delle applicazioni.

Innanzitutto, la posizione delle icone è soggetto a cambiare da un momento all’altro, con il cambiamento della risoluzione del monitor: osservazione ineccepibile. In secondo luogo, nel 99,9% del tempo il desktop è nascosto dalle altre finestre, per cui se avete bisogno di lanciare il software XYZ, dovete prima ridimensionare tutto, cercare l’icona, fare doppio-click e ritornare al punto in cui eravate. Osservazione ineccepibile anche questa. Io aggiungo anche altre cose: nel menù Start gli shortcut possono essere ordinati alfabeticamente e comunque è 3.000.000 più comodo leggerli in un elenco piuttosto che sparsi su una superficie 1600×1200 (se non di più).

Il modo che preferisco per raccogliere i miei shortcut preferiti è quello di metterli in una sottodirectory della directory dei Documenti. Ho una directory apposita che si chiama “Toolbar”. Questa directory viene masterizzata con il mio backup schedulato. Uso questa directory per creare una toolbar (sotto Windows XP) che mi appare sempre in primo piano sul lato sinistro dello schermo: anche se ho aperto 15 programmi diversi, è sufficiente mettere il puntatore del mouse contro il bordo sinistro del display e la toolbar mi appare, pronta per essere cliccata. Se formatto il PC, la directory mi dà un’idea chiara e veloce dei sw che utilizzo più spesso: quelli senza icona sono quelli che devo ancora reinstallare. Meglio di così.

Per cosa uso il desktop? Poca roba davvero: le icone Risorse del Computer, Documenti, Cestino e basta. Ci sono altri files, ma sono quelli che considero davvero temporanei destinati ad essere spazzati via in poco tempo. Di sicuro – e Dio mi fulmini se mento – non lo uso per shortcut importanti.

Technorati Tags:  

Send to Kindle
.NET World

StatusBar gestita con la proprietà .Tag dei controlli sulla Window

Questa volta vi rimando direttamente al post del mio (nostro) amico Corrado, che è stato così gentile e paziente da sopportarmi sul Messenger per aiutarmi a venire a capo del (piccolo) problema che avevo. 🙂

Supponiamo di avere una Window con un certo numero di controlli (TextBox in primo luogo, ma non solo). Supponiamo di avere anche una StatusBar, con cui vogliamo dare alcuni tip all’utente che sta usando l’applicazione stessa. L’obiettivo era quello di mostrare sulla StatusBar un tip diverso a seconda della TextBox che ha il focus in quel momento. Dopo aver litigato con XAML per mezza giornata e ieri sera, il buon Corrado ha regalato la soluzione che ho linkato prima.

Solo alcune precisazioni. Riporto il codice dell’evento OnGotFocus:

private void OnGotFocus (object sender, RoutedEventArgs e) { sbi.Content = (sender as TextBox).Tag.ToString(); }

Questo event-handler è agganciato tramite stile al RoutedEvent GotFocus di tutte le TextBox sulla Window. Come dice giustamente Corrado, il testo da visualizzare nella StatusBar viene prelevato direttamente dalla proprietà Tag della TextBox, che nella fattispecie è il sender dell’evento. C’è un primo minuscolo problema: se nello XAML la proprietà Tag non viene impostata, essa vale null, per cui il codice qui sopra bomberebbe con una bella Exception! Nulla di che: lo si sistema con una if veloce. C’è anche un secondo problema: vorrei poter impostare la proprietà Tag anche su controlli diversi dalla TextBox ed ottenere lo stesso effetto sulla StatusBar. Nel codice qui sopra il cast bomberebbe: l’ideale è fare il cast verso Control, che espone Tag ed è “polimorfica” rispetto a tutti (?) i controlli su una Window.
Il codice riportato qui sopra è stato corretto come segue:

private void OnGotFocus(object sender, RoutedEventArgs e) { object tip = (sender as Control).Tag; if (tip != null) barra.Content = tip.ToString(); else barra.Content = string.Empty; }

Questo funziona a meraviglia. Ovviamente è necessario associare l’EventSetter anche sullo stile dedicato, per esempio, alle ComboBox:

<Style TargetType="{x:Type ComboBox}"> <Setter Property="Margin" Value="4" /> <Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="FontSize" Value="12" /> <EventSetter Event="GotFocus" Handler="OnGotFocus" /> </Style>

Finito! Adesso posso impostare il Tag su TextBox e ComboBox e la StatusBar mostra un piccolo tip sotto forma di stringa, che aiuta l’utente e gli dice cosa deve inserire in ogni campo.

Technorati Tags:   

Send to Kindle
VivendoByte.ByteAdventure

[Cyberpunk.EpisodeTwo]

Link alla puntata precedente

Da qualche parte nel Sud Italia,
16 Luglio, ore 7:35

Eclipse si svegliò il giorno dopo di buon’ora. Il sole si era alzato da un paio d’ore e l’aria era ancora frizzante per il freddo della notte. Sentiva chiaramente il rumore generato dal mare agitato: aveva scelto la sua piazzuola in un punto interno del campeggio, avvolto fra i pini marittimi, ma la spiaggia non era distante e quando il vento soffiava dalla parte giusta, sentiva gli schiamazzi dei ragazzi che passavano la giornata in spiaggia. Oggi non era una di quelle giornate; alzò gli occhi al cielo e vide grandi nuvole temporalesche che, lui lo sentiva dal vento che gli soffiava sul volto, si spostavano lentamente. Presto sopra di loro si sarebbe scatenato un bel temporale. Abbandonò quei pensieri: era affamato, come ogni mattina, perciò prima di dedicarsi al suo lavoro preferì consumare fette biscottate – di cui finì la confezione – con marmellata ed un paio di bicchieri di succhi di frutta.

Mentre si riempiva lo stomaco, Eclipsè riordinò le proprie idee per prepararsi al meeting del pomeriggio con il team di ricercatori con i quali collaborava, e ai quali doveva consegnare le Secure Digital che Ajax gli aveva consegnato la sera prima. Quello era solo uno dei passi. Da lì a due mesi la commissione avrebbe dovuto dare un giudizio al lavoro svolto all’interno del progetto LifeByte: se il giudizio fosse stato positivo, la sua vita sarebbe cambiata per sempre. O almeno, lo sperava. Mandò giù un sorso di succo alla pera, assaporandone il sapore. Eclipse, 53 anni compiuti da poco, era un magnate nel settore dell’elettronica. La sua azienda era diffusa e conosciuta in tutto il mondo, comprendeva un certo numero di sedi ed i suoi prodotti erano venduti dappertutto: Europa in primo luogo, poi America ed Asia. Si occupava di personal computer, networking, strumenti di connettività, Internet ed ogni altro tipo di hardware. La società aveva importanti partnership con case produttrici di cellulari, sistemi operativi per computer ed ogni tipo di periferica, dalle stampanti ai monitor, dai dongle USB alle più complesse mainboard del mercato. Possedeva una certa parte di banche, istituti di credito, stampa e televisioni. Era entrato nei primi 100 uomini più ricchi del mondo, e nel 2001 la rivista Time lo aveva eletto uomo dell’anno per aver finanziato – almeno in parte – la creazione del prototipo di un sito che qualche anno dopo sarebbe diventato YouTube, aprendo una nuova era nelle applicazioni Web. I suoi detrattori lo definivano un “figlio di papà”, uno di quelli che avevano ereditato una fortuna, uno di quelli per cui la vita era sempre stata facile, ma Eclipse non la pensava così. O certo, suo padre era estremamente ricco, e quando era passato a miglior vita tutta la sua ricchezza era passato a lui, figlio unico. Ma suo padre aveva costruito il proprio impero sul commercio di articoli da ferramenta. Eclipse aveva voluto ricominciare daccapo, ironicamente trattando anche lui di ferramenta…ma di ferramenta informatica: hardware, appunto.

Eclipse era soddisfatto della propria vita e del proprio successo, si considerava per certi versi arrivato, ma il progetto LifeByte aveva dato nuova linfa alla sua voglia di affermazione e lo aveva stimolato come non gli succedeva da anni. Per la prima volta nella sua vita un progetto non lo aveva portato a creare un prototipo hardware, non aveva bytes, nè clock, nè firmware, ma era basato sul carbonio. Il prototipo di LifeByte era un organismo vivente, una persona, e nella fattispecie Ajax, il ragazzo dj 23enne che aveva incontrato poche ore prima. Eclipse si rendeva conto che interi decenni di fantasie cyberpunk potevano essere tranquillamente spazzate via, perchè Ajax era una realtà. Naturalmente, il mondo era ancora all’oscuro delle tecnologie messe a punto dai suoi laboratori di ricerca, ma il magnate era pronto a rendere tutto pubblico, non appena la commissione avesse approvato il lavoro. Nessuno gli avrebbe messo a bastoni tra le ruote, tutto sarebbe andato per il meglio. Senza accorgersene, Eclipse sorrise debolmente, pregustando l’impatto che le sue ricerche avrebbe scatenato sul mondo intero. Sognò di un mondo dove tutti potessero avere libero accesso alla Rete, sempre ed in ogni luogo, poter sapere tutto in ogni istante, essere costantemente informati, acquistare un libro dall’altra parte del mondo mentre si cammina per la strada, tenere d’occhio il proprio conto on-line solo con un pensiero, comunicare potenzialmente con qualsiasi altra persona della Terra semplicemente convogliando le parole su uno stream digitale nella mente. Sentiva che questa volta non solo avrebbe regalato qualcosa a se stesso e alla sua società, ma anche all’umanità intera. Eclipse si ridestò dai suoi sogni quando la sveglia del Casio che portava al polso trillò, per avvisarlo che aveva un aereo da prendere. L’aereo era il suo jet personale, perciò l’avrebbe aspettato comunque, ma odiava fare tardi, soprattutto quando aveva in programma un incontro così importante. Prese il cellulare e compose il numero in cima alla lista delle chiamate recenti. Il cellulare dall’altra parte della rete squillò un paio di volte, poi rispose una voce femminile…

Eccomi, sto arrivando, papà…” – la voce femminile sembrava appartenere ad una ragazza giovane.
Ciao, tesoro. Fa’ con calma, ho ancora da fare qui.” – disse l’uomo.
Ok, tanto sarò lì fra…” – fece una breve pausa – “…venti minuti, trenta al massimo. Non c’è traffico. A dopo“.
Va bene, allora…passami a prendere davanti al campeggio, mi farò trovare lì“.

Prima che lei potesse continuare, Eclipse premette il tasto per chiudere la conversazione. Sistemò quello che c’era da sistemare, poi andò sulla roulotte per mettersi addosso qualcosa di pratico e comodo da indossare per il viaggio – avrebbe trovato qualcosa di più adatto alla riunione sull’aereo, o al massimo a Ginevra, la destinazione del volo, dove si trovava la sede principale della sua società. Indossò un paio di jeans, con una camicia dal colore ocra a righe verticali rosse ed un paio di scarpe sportive, ma non troppo alla moda. Prima di uscire prese la valigetta con le SD che Ajax aveva riempito di stream, chiuse a chiave la porta della roulotte e la veranda, poi si diresse con passo tranquillo verso l’ingresso del campeggio, dove sua figlia Managed sarebbe passato a prenderlo intorno alle ore 9:00. Attese solo una decina di minuti. Quando la grossa jeep Mercedes rallentò ed accostò accanto a lui, cominciarono a cadere le prime pesanti gocce di pioggia. “Giusto in tempo” – pensò Eclipse, salendo sulla vettura ed accomodandosi sul sedile dal lato del passeggero.

Send to Kindle
My personal life

Giornata di trekking a Monte Gioco

Località: Spettino, Bergamo, Italia.
Altitudine iniziale: 858 metri s.l.m.
Altitudine finale: 1.366 metri s.l.m.
Tempo di salita: 1 ora e 30 minuti circa
Sito di riferimento: http://www.valbrembanaweb.com/valbrembanaweb/sitogino/monti/gioco.html


Sopra: visuale dalla vetta del Monte Gioco

Ieri mi sono dedicato ad una bella giornata di trekking. Per la prima volta ho abbandonato il mio fidato Monte Penice, che ormai conosco a menadito, e mi sono dato da fare da un’altra parte. Ieri ho scarpinato fino alla cima del Monte Gioco, quasi a 1.400 metri, partendo dalla località Spettino (BG) in Val Brembana. Sui siti che ho consultato il percorso era segnalato come Facile, ma io che sono un dilettante ho dovuto faticare non poco per raggiungere la vetta (se di vetta si può parlare), riconoscibilissima anche dal paese perchè c’è una bella croce alta 6-7 metri per identificare l’arrivo del tragitto. Mi sono attrezzato con scarpe adatte al trekking e ad uno zaino acquistato apposta, perchè non mi andava di usare lo stesso che uso per lavoro.

Ricordo a me stesso qualche dato che mi può essere utile quando vorrò tornarci (magari la settimana prossima, se fa bello). Partenza alle 8:15 da Sant’Angelo Lodigiano (LO), arrivo a Spettino (BG) due ore dopo. Però sono andato piano in autostrada, perchè considero la mia Astra in modalità provvisoria. L’uscita dell’autostrada è Dalmine. Abbigliamento: maglietta, pantaloncini alla pescatora, scarponi da trekking. Cosa (secondo me) mi mancava: qualche tipo di guanto da trekking (perchè quando si è quasi in cima bisogna usare le mani per arrampicarsi, e ci sono piantine pungenti che fan male) e bastoni per tenere l’equilibrio.

Naturalmente ho scattato qualche fotografia, non molte a dire il vero, perchè ho preferito portare a casa la pellaccia. Due sono qui sopra, le altre sono in un apposito set di fotografie su Flickr.

Send to Kindle
IV del Venerdì

[IV] del Venerdì (15)

La ragazza non poteva sopportare che lei non esistesse. Oppure, peggio ancora, che esistesse solo in parte. Si sentiva viva a tutti gli effetti: sentiva il calore del proprio corpo, percepiva il movimento della brezza sulla pelle. Sentiva persino il battere del cuore…o forse no? Si appoggiò la mano al petto e non sentì nulla. Il cuore non batteva. Forse – pensò – posseggo un’anima, ma non il corpo. Penso, quindi sono, aveva letto da qualche parte. Se l’anziana che le aveva fatto quelle rivelazioni aveva ragione, se lei in fondo era solo una PNG in una realtà virtuale, l’anima era sotto il controllo di qualcun’altro ed il corpo non aveva ragione di esistere. In una realtà virtuale il corpo non è necessario. Ma se l’anima non è mia, se non riesco a controllarla, se non riesco a seguire le indicazioni dettate dal mio cuore, come posso controllare le mie azioni? Chi sono realmente? Cosa ci faccio qua? La ragazza si sentiva perduta: guardava la vecchia sogghignare verso di lei e non sapeva che fare.

Chiariamo subito una cosa: non è che siccome leggo una rivista scritta in lingua inglese, allora vuol dire che sono inglese, oppure che non parlo italiano. Il mio lavoro mi porta a leggere per il 90% delle volte la lingua inglese, ma ciò non significa che preferisco questa lingua alla mia che ho imparato fin da quando avevo 6 anni. Perciò, spero che non mi accada più che un italiano mi fermi per strada, o nei pressi di una stazione della metropolitana, per chiedermi informazioni in inglese. Ho sempre risposto in modo elegante, devo dire, però poi mi sentono parlare con il mio amico a fianco ed esclamano: “Ah, ma sei italiano anche tu! Vedevo che leggevi un giornale in inglese…“. Il fatto è che leggo MSDN Magazine e leggo il Time, e mi piace, ma questo non vuol dire che sono inglese. Ricordo che anche mio fratello, quando era bambino, veniva sempre confuso con un tedesco, perchè era biondissimo e capitava che, in certi posti ad alta frequentazione tedesca (riviera romagnola a maggio), gli si rivolgesse in lingua tedesca. Credo che tutto questo sia causato dal fatto che gli italiani in genere non siano abituati ad aver a che fare con un po’ di integrazione: fino a qualche anno fa, la maggior parte della popolazione era soprattutto italiano, mentre oggi – e man mano che passa il tempo – sempre più persone provengono da altre nazioni, e si fermano a vivere qui da noi. Dovremo abituarci quindi a vedere persone che leggono giornali in altre lingue, sebbene siano italiani a tutti gli effetti. Semplicemente, ci saranno tunisini, egiziani, marocchini e via dicendo che vogliono continuare ad essere informati sulle faccende di casa loro…d’altronde, anche io quando sono in Puglia ogni tanto compro “Il Giorno” – il quotidiano di Milano – per sapere cosa succede in Lombardia. Altre nazioni più avanti di noi in questo senso hanno più familiarità: gran parte della popolazione USA parla spagnolo, per esempio. Già adesso, per dire, sulle linee 90-91 dell’ATM di Milano sento parlare più altre lingue che l’italiano, inteso come arabo e spagnolo soprattutto. L’altro giorno, mentre andavo al lavoro, il filobus ha frenato di colpo…una ragazza davanti a me stava cadendo, le ho messo una mano sul braccio per aiutarla a rimanere in piedi. La ragazza indossava un burka, che la copriva tutta ad eccezione del volto. Dopo aver ripreso l’equilibrio, si è girata verso di me guardandomi davvero male (“Obiezione, Vostro Onore!”) e senza dire una parola. L’ho guardata, le ho sorriso scusandomi imbarazzato…aveva una grossa e visibile cicatrice sul volto, che le partiva dal labbro superiore – appena sotto il naso – e finiva in quello inferiore, in pratica le tagliava in due la bocca. Sono rimasto imbarazzato, ero convinto di averla aiutata e di non aver fatto nulla di male, ma evidentemente anche io qualcosa sull’integrazione tra popoli di culture diverse la devo ancora imparare. E ci mancherebbe!

Send to Kindle
Software

Nuova versione del mio Technorati Plugin per WLW

Il mio plug-in per WLW per inserire i tags di Technorati mi piace, ma adesso mi piace ancora di più. Come si vede dallo screenshot qui sopra, adesso i tag appaiono in ordine alfabetico, così è più facile cercarli. Ricordo infatti che il mio plug-in, a differenza degli altri, salva in una cache locale i tag che man mano inserite, così le volte successive potete semplicemente ripescarli. Il vantaggio è che evitate di inserire, per esempio, tag concettualmente doppi, come “.NET” o “. NET” o “dotNET“.

Il plug-in è disponibile qui.

Send to Kindle
.NET World

Progetto Family.Show

Da un post sono venuto a conoscenza del progetto Family.Show, un software WPF sviluppato dalla Vertigo, hostato su CodePlex. Family.Show è un software per gestire l’albero genealogico della propria famiglia ed è completamente open-source. Questo screenshot è meraviglioso ed almeno per me la dice lunga…

E il bello è che è installabile attraverso ClickOnce. L’ultima versione è la 2.0 del 17 Luglio 2007, quindi piuttosto recente. Non so voi, ma a me ha sempre appassionato la possibilità di poter disegnare ed elencare tutti i propri parenti, non fosse altro che mio padre ha una decina di sorelle ed un fratello, e quindi il numero di zii e cuginetti sale a dismisura, e ricordarsi dei compleanni è ancora peggio.

Technorati Tags:   

Send to Kindle