Ho installato l’ultima beta di R# 5.0 e l’ultima versione di Gallio uscita proprio oggi ma l’integrazione col test runner di R# è saltata :( .

L’ho potuta ripristinare ricopiando la parte evidenziata di questo percorso

[...]\JetBrains\ReSharper\v4.5\Bin\Plugins\Gallio\Gallio.ReSharperRunner45.dll

sotto la cartella [...]\JetBrains\ReSharper\v5.0\

Un problemino che sto riscontrando è che non sembra più andare l’integrazione con NBehave da R# (ma in TestDFriven va…) :(

Provate e fatemi sapere (link)

In questi giorni mi sto prendendo un po’ di tempo per studiare alcune cose che mi riservavo di guardare più approfonditamente.

Una di queste è NBehave. Per chi non lo conosce, si tratta di un framework che permette di portare agli estremi i concetti del TDD per arrivare al BDD. Vi rimando all’articolo di Dan North per gli approfondimenti.

Visto che ci sono ho voluto subito verificare l’integrazione del framework con lo Unit Test Explorer di Resharper… ed ecco che arrivano i primi problemi: non va proprio! Sembra che la versione di NBehave dipenda da MBUnit 3.0.x mentre io ho la 3.1. Questa spiega anche perchè eseguendo il “test” via TestDriven questo fallisce sempre malgrado non veda apparenti motivi per farlo!

Ho risolto scaricando i sorgenti da SVN (occhio che l’url da specificare, es. in TortoiseSVN, è questa: http://nbehave.googlecode.com/svn/trunk/) , ricompilando, togliendo i reference a mbunit, gallio e NBehave e sostituendoli con quelli buildati.

Ora la barra è verde… come mi aspettavo ;-)

Stavolta è il mio turno di salutare quelli che restano.

Dopo quattro anni ho dovuto lasciare il gruppo con il quale ho vissuto la mia esperienza professionale (finora ;-) ) più stimolante e arricchente anche dal punto di vista umano.

Durante questo tempo ho conosciuto grandi professionisti, dei veri esperti nel loro campo; ho avuto modo di lavorare con loro e imparare molto da loro. Grazie ragazzi! Di cuore! … e questo in particolare a quelli che mi hanno dovuto sopportare ogni giorno ;-)

Dei quattro quest’ultimo anno è stato probabilmente il più difficile soprattutto per l’aggravarsi della malattia di Eros e per aver dovuto dare l’ultimo saluto al compagno con il quale, su suo invito, avevo cominciato quest’avventura.

E ora… si riparte, cogliendo l’opportunità di capire sempre meglio cosa voglio ottenere in questa vita per me, per la mia famiglia e come dicono dei mie cari amici, per tutti gli esseri.

E sono sempre più convinto che gli  strumenti per fare questo siano essenzialmente 2:
1. la meditazione
2. il confronto con il mondo :-)

… e mi sto sforzando di usarli entrambi :D

Come vi ho detto al primo riavvio del notebook ho notato un primo problema: il SO di default è Sabayon in modalità resque.
Non ho trovato un tool grafico per configurare GRUB ma farlo anche a mano non è difficile.

Da una shell fate su e aprite nel vostro editor preferito il file grub.conf (gentoo usa questo; di norma sarebbe dovuto essere menu.lst che qui è solo un simbolik link):

su

nano /boot/grub/grub.conf

cercate ora la riga con la parola default.

A fianco troverete un numero che indica il SO da far partire: indicate il numero corrispondente alla riga che selezionate dal menu al boot per far partire il SO che vi interessa.

Nel mio caso volevo che partisse Windows (ebbene si… non ho ancora avuto il coraggio di fare il passo definitivo e mettere linux come defaul, anche se uso ormai quasi sempre solo questo) che corrisponde alla 3 voce di menu. GRUB ordina le righe partendo da 0 quindi il numero corrispondente è 2.

default=2

Già che ci siete verificate se il timeout che è impostato merita una ritoccata guardando la riga corrispondente

timeout=10

In questi giorni il buon luKa comincia una nuova avventura.

Siamo stati colleghi per circa tre anni ma solo nell’ultimo mese ho avuto modo di lavorare strettamente a contatto con lui ad un importante progetto sw.

E’ stata sicuramente una delle esperienze professionali più importanti che ho vissuto finora e se leggete il suo blog o il suo profilo è facile intuire il perché.

Ancora una volta lo voglio ringraziare per la pazienza che ha dimostrato nei miei confronti ;-) e fagli gli auguri (so che non è supersizioso!) per la nuova sfida professionaleche si sta preparando ad affrontare.

Grande luKa!

Stavolta la pausa è stata lunga… l’ultimo post risale addirittura al 27 Luglio scorso.

Da allora tante cose sono cambiate pur non essendo cambiato nulla! :D

Letto tanto… ascoltato tanto… meditato tanto (mai abbastanza!).

Vi racconterò qualcosa in futuro.

Oggi comincio con qualcosa di tecnico… poi si vedrà ;-)

Malgrado cerchi di sviluppare secondo l’approccio TDD, ogni tanto (:D) ho necessità di utilizzare il buon vecchio debugger.

In questi giorni sto lavorando su uno snap-in custom realizzato in c# per la mmc consolle. A causa di inspiegabili (finchè non ho scoperto la causa…) malfunzionamenti ho deciso di procedere col debugging per capire cosa stava succedendo.

E qui cominciano i problemi: lo snap-in è un oggetto COM in-process (una dll) che a sua volta carica la dll col "mio” codice. Non sapevo come spiegare a VS2005 che il codice in esecuzione era quello che avevo aperto nell’ide. Ho pensato di utilizzare la capacità del debugger di agganciarsi ad un processo (un file .exe) ma i primi tentativi sono stati infruttuosi.

Vi risparmio i passaggi intermedi:

1. ho specificato come cartella per l’output di compilazione quella dove avevo installato una precedente versione dell’o snap-in (non è win\system32 ma una cartella sotto program files nel mio caso)

2. ho lanciato l’mmc e aperto lo snap-in

3. ho fatto da VS2005 l’attach to process… a mmc.exe

4. da mmc ho fatto new…

5. ho ricaricato il mio snap-in e… voilà il debugger si è fermato sul breakpoint che avevo posizionato sulla classe che costruiva un treeview di nodi (ognuno dei quali associato a una dll che esporta una propria funzionalità) nello snapin

Per qualche minuto sono stato veramente compiaciuto della mia scoperta ma cosa simpatica è stato constatare che non mi serviva a nulla!

I malfunzionamenti che osservavo erano dovuti al fatto che MMC carica (se esistono) prima le dll che trova sotto windows\system32 e poi (eventualmente) quelle che trova nella cartella dove viene registrato lo snapin (sotto program files\qualcosa nel mio caso).

Questo l’ho scoperto guardando quali dll l’mmc.exe stava caricando (e da dove) utilizzando l’ottimo ProcessExplorer.

Non si finisce mai di imparare… :D

Mi ricollego al post di Antonio col quale concordo pienamente: facciamo sempre tutto il possibile perchè nulla cambi.

Nella pratica (e nel lavoro) credo sia veramente impossibile da ottenere ne, alla fine, credo sia utile spendere (sprecare) energie affinchè il mondo non cambi intorno a noi (o viceversa :) ).

Per quanto mi riguarda la mia vita lavorativa è costellata di cambiamente spesso radicali per cui posso ben che non c’è nulla che non cambierei (o che non abbia già cambiato!).

Questo non significa che comunque il cambiamento sia facile da accettare mentre avviene: personalmente ho potuto sperimentare che lo za-zen mi ha offerto degli strumenti per poter vivere con maggiore consapevolezza quei momenti.

Da oltre un mese sto lavorando sullo stesso progetto. Venerdì ho potuto per la prima volta sospendere l’attività e dedicare la giornata ad altri compiti.

Mi ha stupito arrivare a fine giornata lavorativa stranamente di buon umore e relativamente riposato, malgrado avessi iniziato a lavorare alle 7.30 e fossero ormai le 18.

L’unica differenza sostanziale, a parte l’attività diversa, è stata che gli strumenti hanno funzionato perfettamente senza aggiungere inutile lavoro, o problemi, al lavoro.

Oggi ho verificato una situazione simile anche a casa: dovevo masterizzare alcuni file mp3 su un cd audio. Un’operazione banale che ha richiesto oltre 3 ore di lavoro con prove su differenti cd, masterizzatori, software pc con livelli di nervosismo sempre crescenti, purtroppo. … e non ho ancora raggiunto l’obbiettivo! :-(

Volevo sottolineare due aspetti:

1) quanto tempo perdo a causa di strumenti non adeguati ?

2) quando capirò che non serve prendermela con il mondo quando questo semplicemente continua ad ignorare i progetti che ho su di lui? :-)

I miei bookmark

Timeline