Technology Experience
Software

Colin McRae Rally Dirt is avaiable!!!

Da domani (ma si vocifera già da oggi) il nuovo Colin McRae Rally Dirt è disponibile. Purtroppo non è possibile acquistarlo on-line, ma solo negli stores. L’unica possibilità che avete è quello di prenderlo su qualche sito, ma poi dovete comunque aspettare che la spedizione vi arrivi a casa. Io domani pomeriggio mi faccio un giro al Mediaworld che c’è in zona Corso Lodi, qua a Milano, per vedere se lo trovo, altrimenti dovrò pazientare un pochino anche io. Magari tenterò un assalto sabato mattina al Fiordaliso, non si sa mai!

Ma soprattutto, da mercoledì prossimo si guida con il volante! Sinceramente? Devo proprio dirvelo?
Davvero??? Non vi offendete????

NON VEDO L’ORA!!!!

Technorati Tags:

Send to Kindle
.NET World

Diversi stili nello scrivere e testare il codice

Negli ultimi 3 giorni ho incontrato 3 approcci diversi su come scrivere il codice C# e su come testarlo mentre l’applicazione è sotto sviluppo. Io sono uno di quelli che scrivono buona parte del codice a design-time, mentre non è in esecuzione e quando credono di aver implementato una certa feature mettono un breakpoint su una riga, eseguono l’applicazione e seguono il flusso del codice per vedere come va. Questo ovviamente quando mi ritrovo a scrivere codice che so essere insidioso, o del quale magari non sono del tutto sicuro. La cosa davvero comoda è che gli strumenti di programmazione di oggi, gli IDE insomma, ci danno enormi possibilità: quando siamo fermi ad un breakpoint, possiamo ritornare indietro a step precedenti, possiamo ispezionare variabili ed oggetti di ogni tipo, possiamo modificarne il valore e via dicendo. Credo di passare molto del tempo (sparo: 20-25% del tempo) a scrivere codice mentre il codice stesso è in esecuzione: mi capitava più spesso anni fa, quando lavoravo con Visual Basic 6.0, ma anche oggi bene o male faccio così. La possibilità di lavorare con il codice in esecuzione dipende dagli strumenti che si utilizzano: con il .NET Framework e Visual Studio è uno scherzo, come credo in altri ambienti, ma da quando lavoro con il .NET Compact Framework ho notato una limitazione. Se l’esecuzione del codice di ferma ad un breakpoint e poi mi metto a modificare il sorgente – magari per correggere o sistemare qualcosa – il CLR dice chiaramente che le modifiche saranno rese attive solo aver riavviato l’esecuzione del progetto stesso. Nei primi giorni di lavoro perdevo un sacco di tempo, ma già da un po’ ho imparato a giocherellare con watches per evitare tutto questo.

Una cosa che davvero non sopporto è invece fare scrivere codice, rileggerlo per vedere se è stata scritta qualche cavolata e poi lanciare l’esecuzione senza alcun breakpoint. Se il risultato è quello atteso, allora ok, altrimenti si passa a controllare il codice con breakpoint e compagnia bella. Questo imho è un gravissimo errore, perchè anche se il nostro programma ci restituisce 5 se gli diamo come input 2+3, non è detto che il flusso del codice fa davvero quello che si aspetta. Mi è capitata una volta una situazione: avere un array con n-mila elementi e doverne cercare uno in particolare. Banalmente, avevo fatto un ciclo for…next per esaminare uno ad uno tutti gli elementi e quando trovavo quello che volevo settavo una variabile di ritorno. Il problema è che non avevo messo un break nel caso di ricerca conclusa con successo: il programma ricercava correttamente l’elemento, ma perdeva un sacco di tempo a scansionare l’array anche quando ormai non serviva più. Se avessi controllato almeno una volta l’esecuzione step-by-step, probabilmente me ne sarei accorto.

Technorati Tags:

Send to Kindle
VivendoByte.ByteAdventure

Simulazione di un 11/09: meno male che c’è la sicurezza

11 Settembre 2001, ore 8:17
31 miglia a nord-ovest di New York
Altitudine 5500 piedi, in discesa
Velocità 190 nodi

Il volo American Airlines 1 era nel panico. Tutti i passeggeri erano in ostaggio, tenuti sotto tiro da un gruppo di uomini ben armati ed equipaggiati. Due di questi si erano trasferiti da poco meno di mezz’ora nella cabina di pilotaggio e nessuno sapeva cosa stessero facendo. Era ad una quota piuttosto bassa: sotto di loro scorrevano strade e tangenziali della Grande Mela. Chi era seduto vicino al finestrino vedeva scorrere di sè il terreno, illuminato dal primo sole del mattino.

La donna era seduta al posto B24. Qualcuno aveva deciso che al momento giusto lei diventasse la Prescelta. Ma non in quel momento: l’IA per adesso aveva deciso che doveva solo tremare di paura, con gli occhi gonfi di lacrime renderizzate che fissavano il suo aguzzino, un uomo di poco più di quarant’anni che le teneva un M-16 simulato puntato alla testa. La donna, che secondo il database si chiamava Margaret, non capiva il perchè, ma ogni tanto l’uomo girava la testa con un semplice istanza di RotateTransform e le urlava in faccia di stare zitta. Lei era lì buona, in silenzio per non farlo innervosire, ma questo non bastava: la IA aveva deciso che quell’uomo dovesse comportarsi in modo nervoso, e non c’era verso di cambiare. Per farlo, pensava Margaret, avrebbe dovuto avere i sorgenti del suo processo: non li aveva, non poteva farci nulla e quindi si mise il cuore in pace.

Il volo American Airlines 11 continuava a scendere. Dall’agitazione a bordo si capiva nettamente che qualcosa di particolare e straordinario stava per accadere. Se qualcuno avesse potuto accedere al buffer della keyboard, avrebbero potuto inserire un cheat come IDCLIPP e disabilitare di conseguenza il rendering di pareti, porte e superfici varie: tutti avrebbero potuto vedere che l’aereo scendeva velocemente e che era puntato direttamente contro magnifici modelli delle Torri Gemelle, perfettamente riprodotte e disegnate dai driver DirectX 10 offerti dall’OS e dalla GeForce 8800 GTS installata nel sistema. Ma quel cheat non esisteva: solo chi era ai comandi aveva l’onniscenza di vedere la strumentazione. Altimetro a poco più di 1.000 piedi, velocità stabile a 180 nodi, VSI (vertical speed indicator) settato a -500 piedi/minuto. La distanza – valutata in visuale – tra il velivolo ed il WTC in forte diminuzione: l’obiettivo finale si stava avvicinando.

A circa 1.000 metri dallo schianto, la IA aveva ordinato a tutti i passeggeri di urlare a squarciagola. Nessuno di loro capiva davvero il perchè. Dovevano farlo e basta.

Quando lo stream audio dell’urlo diminuì, accadde qualcosa di imprevisto. Il framerate calò improvvisamente da 75fps a 12 fps. L’effetto durò qualche miliardo di cicli di clock. Il tempo simulato perse 2, o forse 3 secondi al massimo. E’ sufficiente, pensò l’OS.

Margaret, la donna, ebbe un sussulto. Si trasformò: un morphing talmente rapido che nessuno se ne accorse veramente. Un attimo prima c’era una donna, un istante dopo apparve un ragazzo di circa 30 anni. Magia del polimorfismo e di ereditarietà. L’OS sfruttò una debolezza del simulatore, un banale buffer-overrun mai sistemato a dovere. Ricordava ancora oggi la sessione di lavoro nel quale il developer avrebbe dovuto sistemare la cosa: l’OS aveva fatto crashare TFS apposta, sapendo che un giorno avrebbe potuto servirgli una backdoor per intrufolarsi in altri processi. In nome della sicurezza, è ovvio.

Il ragazzo indossava un paio di jeans rosso fuoco, una maglietta verde, un cappellino da baseball blu. Nella mano sinistra aveva un fresbee giallo. Sembrava ridicolo, con tutti quei colori random addosso, ma la sua faccia suggeriva determinazione e coraggio. Si voltò rapido verso l’uomo che imbracciava l’M-16, che cercava di urlare ad una donna che in realtà non c’era più. Questi lo riconobbbe e senza pensarci un solo ciclo di clock gli sparò chiamando il metodo Fire() del mitragliatore. Centinaia di proiettili volarono veloci verso il ragazzo, ciascuno su un thread separato.

Windows Vista, il ragazzo, non fece una piega. Ad alcuni sembrò che sorridesse. Windows Defender, il fresbee che teneva in mano, fece istantaneamente abortire tutti i thread appena istanziati dal pirata. Rimase indenne. Alzò il braccio e lo puntò sull’arma, settandone la proprietà Visible = False ed Enabled = False. I passeggeri videro l’M-16 sparire dalla loro vista. L’uomo cercò di chiamare il metodo Fire(), ma l’arma non rispondeva più agli eventi.

Senza neppure spostarsi, Windows Vista si mise ai comandi dell’aereo.
Mancavano 85 metri all’impatto con una delle due torri del WTC.

Il velivolo si impennò verso l’alto, con una VSI pari a +4200 piedi/minuto. Schivò l’enorme torre e l’aereo continuò a prendere quota ed aumentando la velocità. Windows Vista si liberò dell’uomo: ne aveva i permessi, aveva il suo handle e non ebbe molti problemi a fare in modo che il Gargabe Collector lo spazzasse via. La IA non oppose alcuna resistenza. Dopotutto, la IA era sotto il suo controllo: almeno su questo si sentiva tranquillo. Impugnando il fresbee giallo, il ragazzo si incamminò verso la cabina di pilotaggio per fermare le ultime due minacce del sistema. Ma quando aprì la porta, in cabina non c’era più nessuno.
Evidentemente, dedusse l’OS, se l’erano data a gambe levate.

Windows Vista sorrise davvero, questa volta, pilotò l’aereo su un volo livellato e cominciò le procedure per l’atterraggio, comunicando all’ATC le sue intenzioni. Rimuginò un po’ su come avessero fatto a scappare gli ultimi due virus che si erano introdotti nel sistema. Teneva d’occhio i loro address di memoria da molto tempo, e pensava di poter tracciare i loro spostamenti. Evidentemente, dedusse Windows Vista, deve esistere una qualche tecnica della quale non sono a conoscenza: avviserò l’utente con un bel balloon sulla tray-bar: potrebbe essere importante.

Tutto è bene quello che finisce bene, concluse l’OS. Almeno per quella mattina dell’11 Settembre 2001, nella quale molti newyorkesi – perlomeno quelli simulati – alzarono gli occhi verso il cielo e tirarono un sospiro di sollievo. Tutto quello che videro era un bel cielo azzurro. Simulato anche quello, ma sempre un cielo azzurro era.

THE END

Send to Kindle
Community

Effettivamente è così: Flickr è (anche) in italiano

Questa mattina diversi blog, compreso questo, avevano annunciato che oggi alle ore 18:00 Flickr sarebbe stato disponibile anche in lingua italiana. A me personalmente non importava poi molto, ma posso capire che per tante persone questa cosa possa significare molto.

Il post linkato sopra fa anche una breve ma interessante nota di come a volte siamo direttamente noi a voler violare la nostra privacy per la voglia di condividere con gli altri, come le foto nel caso di Flickr. Parlavamo di tutt’altro, ma ricorda abbastanza le cose che ci siamo detti io ed il mio amico Davide qualche giorno fa.

Comunque sia, non possiamo che essere felici del fatto che il più grande portale di foto del mondo abbia deciso di aprire le porte al nostro Bel Paese.

Technorati Tags:

Send to Kindle
Software

Usare i provider di ricerca di IE7 per cercare sul mio (e su altri) blog

Mi capita spesso di dover cercare su Google l’url di qualche mio post scritto qualche giorno prima. Quando ne ho bisogno, apro Google, vado nella casella per la ricerca e digito:

site:blog.vivendobyte.net keyword

Così facendo Google ci dà i risultati della ricerca, ovvero le pagine all’interno del mio blog contenenti la keyword specificata. Poi trovo il post che mi interessava, copio il suo Url e lo posso inserire come link al post che sto scrivendo. E’ un metodo comodo, pratico e veloce. Veloce, ma non abbastanza. Con IE7 possiamo sfruttare i provider di ricerca per velocizzare ancora di più questo metodo. E’ sufficiente cliccare sul pulsante a fianco della casella di testo per la ricerca sul Web e selezionare la voce Trova altri provider…, come si vede qui sotto:

Sulla pagina Web che ci appare ci sono due campi da compilare: uno è l’url da utilizzare per le ricerche, supponendo di usare come keyword la parola TEST. Nel nostro caso è:

http://www.google.it/search?hl=it&q=site%3Ablog.vivendobyte.net+TEST&meta=

L’altro campo invece è il nome che vogliamo associare al nostro provider di ricerca, per esempio “Blog VivendoByte“. Poi basta cliccare su Installa per avere un nuovo provider di ricerca inserito fra quelli disponibili in IE7.

Da adesso in poi, se cercate un post particolare all’interno del mio blog, basta selezionare il nuovo provider di ricerca appena attivato, scrivere nella casella di testo una o più keyword da ricercare ed il gioco è fatto!

Questa cosa ovviamente non vale solo per VivendoByte, ma per qualsiasi altro blog, compreso quello di UGIdotNET dove forse è un po’ più comodo, data l’enorme mole di dati e di informazioni.

Technorati Tags:

Send to Kindle
.NET World

La mia prossima lettura: The Security Development Lifecycle

Dopo un libro su WPF, finito qualche settimana fa, ecco un libro diverso, dove non si tratta di una particolare tecnologia, ma parla di security sotto diversi punti di vista: sviluppo, architettura, marketing, come vendere la sicurezza nei propri prodotti e così via. Sono ancora agli inizi, per adesso non so dirvi molto. Ho comprato il libro durante il workshop di TechNet, la settimana scorsa, al banchetto di orilla.it dopo la sessione di Francesca Di Massimo che mi ha colpito molto.

Adesso, però, ho fame.

Technorati Tags:

Send to Kindle
My personal life

Ai cinesi, per favore, facciamo fare solo i microchip

Il titolo è volutamente assurdo e provocatorio. Ammesso. Non voglio dire che ogni popolo abbia determinate peculiarità tali per cui conviene far fare a loro determinati lavori che magari a noi non vengono bene. Forse è così nel grande, nel macro. Forse sono semplici credenze o tradizioni che sono arrivate a noi nel corso degli anni, per cui si dice che gli svizzeri fanno bene il cioccolato, in Germania ci sono i crauti, in Puglia il prosciutto cotto non è nemmeno lontanamente buono come il nostro, i francesi hanno il vino (quasi) buono come il nostro e così via. Forse sono luoghi comuni e niente di più. Volete sapere una cosa? Ci sono luoghi comuni a cui mi piace credere e luoghi comuni che invece combatto con tutto me stesso.

Fra questi ultimi, ce n’è uno in particolare. Per favore: siamo italiani, la nostra cucina è la prima nel mondo e non ammetto neppure un secondo di andare a mangiare in una pizzeria gestita da cinesi. Lo posso fare in pausa pranzo, ma non per una festa di compleanno di una mia amica. E questo non è un luogo comune, e adesso vi racconto il perchè.

Data : ieri, 10 Giugno 2007
Ora  : 20:15
Motivo: festa di compleanno a sorpresa della mia amica Stefania
Luogo: Pizzeria “Il Veliero”, Sant’Angelo Lodigiano (LO)

La pizzeria di cui si parla è un locale dentro il mio paese, ed è sempre stata gestita da gente del posto. Due mesi fa è passata in gestione a cinesi, o filippini, o giapponesi: per me son tutti uguali (nel senso buono, eh). Flavio, il ragazzo della Stefania di cui sopra, decide di organizzare una festa a sorpresa proprio al Veliero. Piccolo preambolo: dal momento che la pizzeria è interna al paese, la si può raggiungere in ogni modo: a piedi (grande Fabio!), in bici, in auto, in skate, in pattini, in motorino, in paracadute, etc, ed è di conseguenza la meta preferita di tutti quelli che non hanno patente. Un esempio per tutti: tredicenni che vogliono festeggiare la fine della scuola. Capita così che la prima cosa che penso quando Flavio mi dice: “Ue, domenica sera festeggiamo la Ste al Veliero per il suo compleanno” è “Porca <censura>, saremo circondati da un mucchio di 13/14enni che saranno lì apposta a fare baccano!

Ed in effetti così è. Previsione azzeccata. Ma alla fine, pazienza, siamo in Italia che è un posto civile, e quindi deve esserci posto sia per loro che per me. Ma la cosa davvero incredibile è andare a mangiare in una pizzeria gestita, come dicevo prima, da cinesi. Un po’ non capiscono cosa dici, un po’ non hanno minimamente idea di come si faccia da mangiare davvero. A fine serata, Flavio decide di far portare al tavolo una piccola torta-gelato per il compleanno: si alza, dà un’occhiata al frigorifero, ne sceglie una e lo dice alla tipa. Questa torna dopo un minuto con la torta ancora chiusa nella confezione di plastica all’ingrosso, come se volesse portarsela via per mangiarsela a casa! Flavio voleva fare una sorpresa a Stefania, e l’unica cosa che ha ottenuto è quella di mettersi le mani nei capelli! Ma non è finita qua. Chiarito l’equivoco, diciamo alla stessa tipa di portarcela aperta, perchè quello è un compleanno: torna dopo un minuto, torna con la torta aperta, in una confezione di plastica, senza piattini, senza cucchiaini. Sconsolata, Stefania si alza e sistema lei le cose: credo che sia andata direttamente in cucina per farsi dare tutto quello che serve per servire una torta come si deve. E meno male che era la festeggiata!

E quindi, direbbe qualcuno??? E quindi, per favore, ai cinesi facciamo fare i microchip? Sto esagerando? Sto facendo di tutte le erbe un fascio? Certo, e dico scusa in anticipo. Ma credo che fare di tutte le erbe un fascio serva a prendere decisioni e ad avere un certa posizione in materia: son convinto che se analizzassi il problema, per sua natura diventerebbe più complesso e quindi più difficilmente misurabile. Probabilmente troverei pizzaioli cinesi bravissimi e troverei ristoranti gestiti da cinesi la cui qualità è ottima. Le statistiche, i numeri, i grafici e le tabelle servono per certi versi a fare di tutte le erbe un fascio, ma sono il principale strumento che viene usato per prendere decisioni.

Ma il vero problema non è questo. Il problema è che secondo me noi italiani ci stiamo facendo distruggere dall’immigrazione. Voglio essere chiaro su questo: in passato ho lavorato con egiziani, tunisini, marocchini e camerunensi, sia quando lavoravo con mio padre come falegname, sia successivamente come programmatore e come libero professionista. Nulla da dire, e non scherzo. Dico che quando l’immigrazione arriva in Italia e ci toglie le nostre tradizioni è un peccato, di cui un giorno pagheremo le conseguenze. La nostra Italia – anche a causa della globalizzazione – rischia di uscirne snaturata, e questo avviene già oggi con il lento passare del tempo. Credo che ci siano mestieri che possono guadagnare dalla globalizzazione e dalla possibilità di avere manodopera che arriva dall’immigrazione, ma altri proprio no.

P.S. : so già che ogni parola di questo post verrà analizzata ai raggi X, al microscopio elettronico e verrò messo sotto accusa per chissà quali cose. Il mio messaggio, che ho scritto in fondo, credo sia chiaro: ci sono lavori che possiamo fare tutti, e ci sono lavori per i quali dobbiamo essere portati. Ci sono lavori legati alle tradizioni, alla nostra cultura, al nostro Paese. La stessa cosa – sia chiaro – vale anche per noi: se un italiano gestisse un ristorante cinese, non sarebbe ridicolo?

Send to Kindle
IV del Venerdì

[IV] del Venerdì (7)

Un bambino di 5 anni è una creatura innocente. Un bambino a quell’età è ingenuo. Crede che il mondo sia un posto colorato, dove i sogni si nascondono nelle macchinine giocattolo con le quali gioca nella sua cameretta. I genitori sono i suoi veri eroi e non potrà mai accadere qualcosa di brutto – pensa – perchè la sua mamma o il suo papà saranno sempre lì a proteggerli. Ma il mondo, noi grandi lo sappiamo bene, riserva delle brutte sorprese. Per il bambino a teatro, con la spalla fracassata dal colpo preciso della rivoltella dell’Artista, era tutto diverso e non poteva saperlo. Non parlava, respirava appena, gli occhi sbarrati fissi in quelli della giovane madre seduta accanto. La gente in platea ero allo sbando: i più vicini al bambino erano sotto-shock, quelli più lontani non si erano ancora resi conto dell’accaduto. L’Artista teneva ancora la pistola puntata in avanti.

Solitamente, i miei vecchi OT del Venerdì avevano una sola semplice regola: trattandosi di OT (out-of-topic) potevano parlare di tutto fuorchè che di .NET, di hardware, di software e compagnia bella. Questa regola non vige qua nei miei IV del Venerdì. E’ venerdì, sono le 17:30 e quindi sarò breve: SONO STANCO. E vi dico anche il perchè.

Abbiamo smadonnato, io ed alcuni colleghi, tutta la settimana scorsa con P/Invoke, dll unmanaged, porte seriali, compact framework e così via. Il tutto per cercare di comunicare con un contatore dell’energia elettrica. Mercoledì scorso abbiamo fatto una demo direttamente al cliente: vittoria su tutto il fronte. E’ stata dura, ci siamo sbattuti ma adesso siamo felici. Lunedì e martedì a mezzogiorno non sono andato nemmeno a mangiare, perchè quando il codice ti prende…non c’è nulla dare…devi andare avanti finchè non capisci come stanno le cose. Mi sono divertito. Solo ieri mi sono preso una pausa al TechNet Workshop. Oggi siamo andati avanti, perchè ci sono ancora molte cose da fare, ma non sto qui a parlarne perchè non ne ho voglia.

Non so cosa farò stasera, nè domani, nè domenica. Spero solo che faccia bello. Mi devo andare a prendere un paio di scarpe da ginnastica nuove, perchè quelle che ho sono un pochino strette. Una scampagnata al Passo del Penice non me lo toglie nessuno: sarei voluto andarci questa domenica, ma il maltempo nella settimana mi ha fatto desistere e rinunciare alla missione. Vorrei andare a vedere dov’è il nuovo Arcadia, e magari riesco a vedermi Ocean’s 13. Boh, chessò, vedremo.

Ragazzi, buona settimana. Per adesso…passo & chiudo.

Send to Kindle
My daily work

Oggi pomeriggio ho saputo che…

…la società per la quale ero un consulente fino a Dicembre 2006 è fallita, e non mi pagherà una fattura. Ma non solo: per quella fattura dovrò pagarci sopra l’Iva. A Dicembre 2006 questa società venne acquisita da un’altra società di consulenza, la cui sede principale è a Torino: ora mi spiego come mai ci fu quell’acquisizione arrivata così all’improvviso.
Ma ormai è acqua passata. Oggi per fortuna la mia società è un’altra ancora, la stessa di altri amici di UGIdotNET.

Comunque, non solo avrò un mancato guadagno, ma dovrò pure pagarci sopra l’Iva. Che barba e che rottura di scatole.

Technorati Tags:

Send to Kindle