Non si può non Gestire

Chi mi conosce sa che tra le mie passioni c’è quella del volo, cosa che mi ha portato a simulare parecchie ore di volo, in diverse condizioni e con diversi aeromobili.

Da qualche anno finalmente il mio lavoro non riguarda meramente lo scrivere codice o analizzare un nuovo software ma anche “tentare” di gestirne il flusso di sviluppo.

C’è stata una sera, mentre era all’aeroporto di Bresso durante una lezione di Pianificazione di Volo di un loro istruttore, che ho fuso i due mondi.

Ultimamente poi, per tutta una serie di motivi che non sto qui a spiegarvi, mi sto anche avvicinando al mondo della PNL, aggiungiamo quindi anche questo terzo pilone per tirare fuori dei ragionamenti sensati.

comunicazione_efficace

Non si può non gestire

Uno dei concetti chiave della PNL è che non si può non comunicare: quando si è posti in società anche se non diciamo nulla o non rispondiamo, stiamo comunque comunicando qualcosa a chi ci osserva (o chi ci sta parlando): probabilmente comunichiamo indifferenza, disinteresse, noia, odio. Di sicuro le altre persone si faranno un’idea di noi, ovvero avremo comunicato qualcosa.

Alla stessa maniera un progetto non si può non gestire, scegliere di non gestirlo è essa stessa una gestione.

20130816_voliprivati

Un aereo non si può fermare

Uno dei concetti chiave invece della Pianificazione di Volo (o meglio della sua conduzione) è che un aereo non si può fermare.

Questo significa semplicemente che in qualsiasi situazione ci troviamo durante il volo se noi possiamo “fermarci” a ragionare, l’aereo no, portandosi ad una situazione diversa da quella sulla quale stiamo ragionando, con l’inevitabile conseguenza che le nostre conclusioni possano essere potenzialmente errate.

L’esempio è presto fatto: se siamo in volo e improvvisamente non capiamo più dove siamo (pensiamo ad essere noi i piloti di un volo turistico), quanto tempo impieghiamo, o meglio, quali risorse consumiamo per ritrovarci e riprendere la conduzione controllata del volo?

Possiamo provare a guardarci attorno, cercare una strada, un fiume, un monte, una città e confrontare con le carte in nostro possesso, ma più tempo perdiamo più ci spostiamo da dove pensavamo di essere e più carburante consumiamo aumentando quindi l’area di indecisione sulla carta e consumando risorse (tempo e carburante).

A questo punto i casi sono due: se ci ritroviamo abbiamo comunque sballato completamente la nostra stima (ricordo che nel volo la stima è obbligatoria, il piano di volo è un documento richiesto per il volo, non è una cosa “che fa comodo”) e occorre rifare tutti i calcoli con le nuove quantità di risorse, tempo e carburante (quantomeno), e ovviamente farlo senza poter fermare l’aereo, quindi ancora una volta mentre le condizioni cambiano e ulteriori risorse si consumano.

Earhart-plane1

L’altro caso invece è quello di non ritrovarsi più, con fallimento del volo stesso per esaurimento di risorse (una su tutte: Amelia Earhart).

gestione-del-tempo

Non ho tempo di gestire

Va da sè quindi che non si può non gestire un volo, esattamente come non si può non gestire un progetto: dire che non si ha il tempo di gestirlo significa arrendersi agli eventi e lasciare che l’aereo si schianti, o che il progetto fallisca.

Non esiste possibilità di atterrare senza gestire il volo, non esiste possibilità di avere successo in un progetto (successo == arrivare alla deadline, o prima, con le risorse a nostra disposizione) senza gestirlo.

Ogni momento che passiamo NEL nostro progetto senza gestirlo è comunque un momento passato consumando risorse e che non ci sta portando nella direzione voluta corretta: in questo istante abbiamo ancora meno possibilità di farcela.

Adoro la simulazione

Quante fantastiche similitudini tra la pianificazione e la conduzione di un volo e una gestione di progetto.

A chi mi chiede spesso: “allora, fai ancora simulazione di volo?”, a volte rispondo “no, ora mi diverto con la gestione progetti”.

Pochi capivano che non scherzo: Pianificare E’ Simulare.

Oppure spesso alcuni mi “accusano” di non avere passione nel mio lavoro semplicemente perché non sono li a ballare nudo quando esce un nuovo Visual Studio o un nuovo framework o tecnologia, ma nessuno si ferma a pensare che anche per gestire un progetto si può avere passione.

Voi preferite un pilota che sa pianificare il suo volo o che si diverta di più a capire tutto quello che si può fare con la cloche (e che magari lo faccia durante il vostro volo)?

User Experience e Semantica

No, non mi sono bevuto il cervello: non voglio mettermi a parlare di ciò che non so ma solo di una cosa che mi è successa e che mi ha fatto riflettere sui significati che ci arrivano da una determinata User Experience (qualcuno ha detto semantica?).

E’ successo l’altra mattina, mi loggo in un determinato servizio (per ora non dico quale, ma la maggior parte di voi lo riconoscerà, facciamo uno sforzo di oggettività) e mi trovo davanti a questo indicatore:

azure1

Vedo lo zero a sinistra, un massimo di 115€ a destra e la mia barretta che è a 107,29€.

La domanda è: cosa ci sta indicando?

Ovvero: qual’è la grandezza che stiamo MISURANDO?

Specificando ulteriormente: è il verde che si sta riempiendo o il grigio?

Facciamo quindi un po’ di considerazioni (diciamo…tre).

1. Dalla Fisica (numeri)

Dalla nostra esperienza matematica (anzi dobbiamo scomodare la fisica ma solo perchè nelle nostre scuole questa nozione rientra lì) una grandezza scalare con il valore minimo (nel nostro caso: 0) a sinistra e massimo a destra, una barretta simile direi che mi indica un bel 93,3% (107,29/115), proprio perchè il valore MISURATO (ovvero: indicato) è 107,29.

2. Dalla semantica dei colori

Esuliamoci un po’ dai numeri: i colori.

Nella nostra cultura (eh si, se parliamo di semantica dei colori dobbiamo rapportarci ai nostri “regional settings”, dato per esempio che in Paesi dalla cultura comunista il rosso ha un significato leggermente diverso che nel nostro. Così come il colore blu in Francia è  “sentito” in modo diverso da noi, che abbiamo il verde nella bandiera, ecc…) il grigio è il colore di “secondo piano”, di “sfondo” mentre il colore (qualsiasi?) è ciò che lo “sovrasta”, che lo riempie, visualizzando normalmente ciò che l’indicatore sta misurando.

Dite che sto portando io la discussione dove voglio?
Beh allora non state a sentire quello che dico io: basatevi sulla vostra esperienza con il punto successivo.

3. Altri indicatori simili (hard disk)

per_omar

Questo credo lo conosciate tutti.

Esplora risorse.

Prendiamo l’unità F: guardiamo la differenza tra NUMERI (punto 1 di questo post) e COLORI (punto 2 di questo post) e guardiamo soprattutto che hanno voluto (dovuto?) ESPLICITARE un bel “disponibile su” per far capire cosa stessero comunicando.

Altrimenti cosa capiremmo se ci fosse 800/930? (liberi o occupati?)

La barretta blu (colorata) su sfondo più chiaro (grigino) cosa indica?
Direi l’occupazione (e non il disponibile).

Semplicemente perchè più intuitivo (e finalmente arriviamo a parlare di semantica della UI).

La soluzione a pagina 46

Ok, tutto questo per cosa?

La schermata completa era questa:

azure2

Ci credereste che alla fine quell’indicatore non indica “quanto fatto finora” ma “quanto manca” per arrivare a 115€?

E che infatti sottraendo a 115, i due consumi effettuati (3,12 + 4,59) si ottiene la magica cifra di 107,29 (e questa, per fortuna, è matematica).

Quindi più che un “Riepilogo” (dal Sabatini-Colletti, che è l’unico vocabolario che ho trovato online: “Esposizione in forma riassuntiva degli argomenti principali di un discorso o di un testo scritto, o delle diverse fasi di un avvenimento”, ovvero quindi un’esposizione di fasi “avvenute”) sembrerebbe una previsione, un margine di quanto posso ancora permettermi.

E quindi quel grigio indica quanto ho fatto, facendo quindi scalare il verde verso sinistra.

Evidentemente è una semantica più di tipo araba (da destra verso sinistra).

E meno male che sono io a chiamarmi Omar.

Per il colore grigio invece non saprei da quale cultura sia presa, ma certo non tra quelle a noi intuitive.

 

Nei giorni scorsi ero allarmato per il mio pericoloso avvicinarmi al 115, dato che io leggevo essere arrivato a 107.29, nella mia testa quella barretta era verde perchè era dentro la soglia (115) ma pensavo sarebbe rimasta di quel colore ancora per poco (magari diventando rossa OLTRE il 115).

Allora ho aperto un ticket presso Microsoft per capire da dove potessi avere un dettaglio di quei 107.29.

Dopo un intenso scambio di email in cui anche loro cercavano di capire come mai stessi cubando così tanto mentre apparentemente doveva essere solo 3.12+4.59 come indicato, dopo due giorni mi viene il dubbio che funzioni “al contrario” (per i pignoli: al contrario di come TUTTI stessimo pensando), glielo faccio presente e persino loro si stupiscono e si tranquillizzano “ahhhhhh, ma certo…le confermiamo che quello è il residuo, adesso i conti tornano”.

Esatto.

Quelli tornano sempre.

Per fortuna.

Remote Desktop e Console Session

Questa mattina ho scoperto una cosa che non sapevo: dalla versione Vista di Windows in poi la Console Session del Remote Desktop non si richiama più con il vecchio comando

mstsc /console

ma con il nuovo

mstsc /admin

Siccome oggi ci ho perso mezzora buona (complice forse anche il ritorno dalle ferie?) dato che non capivo perchè non riuscivo a collegarmi, disconnettendo eventuali altri amministratori che, in modo molto muflonico (cit.), si siano “scollegati” senza fare logout (guadagnandosi a pieno titolo il mio primo odio dell’anno), ho pensato di scriverlo qui, a mo’ di promemoria.

Happy remote-desktoping! Sorriso

Profili Metro

Per chi prende la metropolitana tutti i giorni saranno già noti, ma so di gente che non ci ha nemmeno fatto caso.

Alla fine, come sempre, è solo una questione di (dis)educazione ma tant’è.

Ovviamente questi non sono tutti i profili individuati, ma di sicuro sono tra i più eclatanti.

Vasco da Gama
Sale sul vagone e comincia a vagare, circumnavigando tutti i presenti in piedi.
Ovviamente l’effetto è più eclatante se tra due o più persone non ci passa (probabilmente vuole dimostrare, da navigatore esperto, di essere in grado di passare tra gli stretti).
Grado di maleducazione: 1.

Portiere
Sale sul vagone e finge di puntare a sinistra, poi fa per andare a destra, poi invece si ferma. Si finge indeciso. Insomma un ottimo difensore, che copre perfettamente la sua zona.
Peccato che non ci sia nessuna partita in corso e che anche gli altri debbano andare a lavorare.
Grado di maleducazione: 2.

Lo Stopper
Sale e si ferma subito, ignorando che altre decine persone dietro devono fare la stessa cosa.
La differenza tra lo Stopper e il Portiere è l’intenzionalità: lo Stopper è, fondamentalmente un gran menefreghista ed egoista ma che in fondo nasconde la paura di non riuscire a scendere alla sua fermata.
Imparasse a scendere probabilmente smetterebbe di essere Stopper.
Grado di maleducazione: 2.

L'Incrociatore
Sale a destra ma deve andare a sinistra o viceversa, bloccando, inevitabilmente, il flusso in entrata.
Attenzione! Sembra come lo Stopper ma di fatto l’Incrociatore è veloce, teoricamente non blocca nessuno.
Peccato che, per quanto veloci si possa essere, il cambio di direzione crea uno scompenso nel pendolare suo diretto successore, che però spesso è quello che si prende la colpa (involontariamente) del blocco.
L’Incrociatore è un vero bluffatore e, a gradi estremi, rischia addirittura di farti perdere un treno.
Grado di maleducazione: 5.

Lo Stalker
Osserva e scruta tutti, credendosi così intoccabile.
In realtà è spesso un damerino e perfettamente innocuo, ma spera, facendo finta di giocare a fare la spia, di darsi un tono.
Più triste che maleducato.
Grado di maleducazione: 1.

Il Disturbatore
Lunedì mattina, ore 8.18. Sei in metropolitana, mezzo rimbambito dal sonno.
”Oh, salve! Per fortuna sono riuscito a prenderlo al volo!”, urla qualcuno guardandoti sorridente.
Tu fatichi anche solo a restituire il sorriso, di aprire bocca non ne vuoi nemmeno sapere, troppo sonno.
”Io devo scendere a Stazione Centrale. Sa se si esce a destra o a sinistra?”.
Ti sforzi e rispondi “A destra, signora…” (con una voce che nemmeno riconosci, dal sonno).
”Capisco…e lei dove scende? Sa, io non sono paratica ma oggi devo andare a trovare mia cognata all’Ospedale. Così mi son detta, scendo a Stazione Centrale e…”
Sarà una giornata lunga e hai appena incontrato un Disturbatore.
Grado di maleducazione: 3.

Il Cabarettista
E’ un tipo che si crede simpatico e spesso non lo sarebbe nemmeno il venerdì sera, figuriamoci un anonimo mercoledì mattina.
E raramente è solo…
Grado di maleducazione: 4.

Discotecomane
Può indossare cuffie o auricolari e non è detto che ascolti musica da discoteca (in generale mai buona musica, comunque).
La particolarità è che la puoi sentire anche tu, da un capo all’altro del vagone.
Grado di maleducazione: 4.

Il Puntatore
Si accorge che deve scendere, si alza e si dirige verso la porta.
Che ovviamente non è la più vicina e, forse, nemmeno la più lontana. L’importante è che sia abbastanza scomoda da raggiungere da disturbare il maggior numero di pendolari.
Grado di maleducazione: 4.

L’Anticipatore
Si alza alla fermata precedente e comincia a farsi strada, chiedendo permesso, come se non avesse il tempo materiale per scendere.
E invece ce l’ha e quando arriva davanti alla porta, se è troppo in anticipo, va alla porta successiva, con ancora più fretta e determinazione, altrimenti scende subito, quasi scappando.
Spesso questo tipo di comportamento è ancora più grave perchè si presenta nelle stazioni più importanti, dove comunque dovranno scendere tutti.
Grado di maleducazione: 5.

La Colonna
E’ simile allo Stopper ma blocca chi deve scendere: fermo davanti alla porta non si avvede di chi deve scendere.
Distratto, ma a volte ne paga le conseguenze.
Grado di maleducazione: 5.

 L'Arrivista
La frase, nonché la regola dettata dal buonsenso, "lasciar scendere prima di salire" non l'ha mai sentita e, inevitabilmente, non la applica. In Stazioni tipo Cadorna, Duomo o Loreto può essere letale. Per se stesso.
Per esperienza personale, a Cadorna una volta ho visto un’Arrivista essere trascinata via dalla folla che scendeva per circa una ventina di metri. Rialzandosi indispettita gridando “oh, ma che modi!”.
I suoi, signora.
Grado di maleducazione: 6.

L’Opportunista
Ti chiede permesso guardando oltre, manifestando la propria volontà di andare ben altrove. Appena ti sposti per farlo passare lui si ferma lì e tu non riprenderai mai quello spazio che avevi gentilmente concesso.
Grado di maleducazione: 7.

Il Lavoratore
Siamo tutti pendolari, siamo tutti di fretta eppure…eppure il Lavoratore spinge, sportella, ti passa davanti e va, spingendo altri.
Lui deve andare a lavorare, mica come noi altri che siamo lì in gita.
Grado di maleducazione: 8.

Emergenza Twitter (web)

Lo dico già da mesi, ma a questo punto, proprio perchè credo davvero in quello che sto per dirvi, lo devo anche scrivere in un posto diverso da twitter.

Eh si, perchè twitter è stupendo: si micro-blogga in pochissimi secondi, si seguono le persone senza che loro debbano “accettarti” come amico (facebook faceva così, poi si è parzialmente adeguato, ma questa è un’altra storia), e in poche settimane si può avere un grande successo (inteso come numero di follower e/o tam-tam) tra mentions e retweet.

Però…

Però pecca alla grande su una singola, piccola cosa: la Storia.

Su twitter non c’è Storia, o meglio: non c’è storico.

Si ok, qualche API ci sarà, bla bla…ma io parlo di “cognizione storica” dei vari utenti, non del fatto che *probabilmente*, con qualche strumento avanzato, da sviluppatore posso “fare tutto”.

Facciamo un esempio, un cambio di contesto, giusto per renderci conto di cosa potrebbe essere.

Il mondo “fuori” dai social: quello che abbiamo conosciuto diciamo fino agli anni 60 (così teniamo una certa “distanza di sicurezza”).

La Storia non esiste (ok, senza la Storia staremmo ancora nelle caverne, ma non è questo il punto, seguitemi).

Bene: uno nasce, vive ed a un certo punto, diciamo intorno ai 20 anni (la nascita dello spirito critico) uno comincia, in piazza o nei bar, a dire la sua.

Immaginate in quanti e quali casi si direbbero le stesse cose, e “comincerebbero” (in realtà per l’ennesima volta) le “solite” correnti di pensiero e filosofiche, per non parlare degli errori commessi e reiterati/reiterabili.

Gli scenari sarebbero semplicemente milioni, e so già che a questo punto starete tutti pensando che è aria fritta.

Bene: e allora siamo tutti d’accordo.

Su twitter (ho l’account dal 20 Dicembre 2007, non lo dico certo per vanto ma per dire che è un’esperienza “di qualche mese”) vedo sempre più spesso persone che ritweettano battute, post, blog, scrivono teorie (copiate o meno) ma il problema è sempre quello: son cose già dette? Già dette da chi? E chi certifica?

Continuando il parallelo: io non ho fatto nemmeno un’ora di filosofia in vita mia e spesso mi sono ritrovato con amici più eruditi dirmi “ma questo è come la pensa Platone”, “questo è quello che dice Kant”.

Mai rivendicata paternalità per pensieri, frasi, teorie che pur avendo “teorizzato” in autonomia ho scoperto esistere già.

E questo solo perchè è “umanamente riconosciuto” che quella tal teoria è di quel tal tizio.

E su twitter? E sul web?

Beh sul web finora ci siamo goduti che uno possa diventare “fashion blogger” o “social expert” o “travel blogger” ecc, ecc, gratuitamente, senza dover essere iscritto ad albi giornalistici (nè altre associazioni/organi) ma ora stanno saltando fuori i limiti di questo: nessuna paternalità delle informazioni scritte se non il “buon senso” di chi le diffonde (che dovrebbe citare la fonte e non prenderla ex-novo in modo che, forse, se ne accorge solo chi sa. E ovviamente non “sa” in senso oggettivo, ma fa anche preferenze, in ordine: Io, i miei follower, i miei following, altri. Storicamente inaccettabile).

E gli scenari vanno da quelli più stupidi: “c’è sto nuovo iscritto su twitter che ha scritto una battuta che io facevo a voce già nell’87, per me è vecchia e a lui l’hanno retwittata in 1234” a “questa è vecchia, l’hanno già twettata la settimana scorsa”).

Il tutto a seconda della propria memoria e conoscenze.

E occhio che non è un problema di invidia (io non sono invidioso che Kant abbia detto prima di me una certa cosa) ma di conoscenza (perchè ovviamente questo discorso non vale certo solo per le battute, ma visto che il Popolo della Rete si è “svegliato” per questo ho sfruttato questa onda).

Un po’ come nei popoli antichi, prima della nascita di un certo Erodoto di Alicarnasso (considerato il padre della Storia o della storiografia), quando le conoscenze erano trasmesse a voce dai capi-tribù (con evidenti limitazioni).

E si arriva ad accusare Crozza (io per primo eh, sono appunto mesi che dico che i comici non fanno più ridere da quando twitter è arrivato anche alla maggioranza degli italiani) di “plagio” delle battute di twitter o di fare #copiaeinCrozza.

Solo perchè lui è famoso e va in TV? Questo problema c’è sempre stato, voi forse siete su twitter da 4 mesi, o magari non twittate contenuti che possano essere copiati, o forse non avete la sensibilità per notarlo o forse ancora non ve ne può fregare de meno ma c’è sempre stato.

Solo che del vostro follower vicino vi “preoccupate” meno perchè al massimo vi ha “fregato” la battuta e ha “conquistato” così altri tre follower (ovviamente è peggio se tali follower sono anche appetibili), se invece sentite la “vostra” battuta in TV, detta da Crozza vi inalberate.

Ma pensate di poter rivendicare “vostri” i “vostri” tweet?

Dove sta scritto? Chi è lo storiografo? Dov’è documentata tutta la Storia?

A imparare c’è sempre tempo…

Ricordo che una volta, parlando con Andrea a lavoro, dissi questa frase "a imparare c'è sempre tempo".

Parlavamo dell'efficacia di insegnare molta teoria prima di passare alla pratica, o se ha senso, ad un certo punto, cominciare con la pratica e poi "affinare" la teoria.

Oggi ho trovato degli argomenti che mi hanno fatto ripensare a quella frase, che comunque per me rimane sempre molto presente.

Non starò qui a filosofeggiare nell'acrobatico (nonchè presuntuoso) tentativo di spiegarlo, ma vi dirò da quale mia esperienza deriva questa linea di pensiero.

Avevo circa tredici anni quando ho cominciato a fare i miei primi voli con Flight Simulator (con gli altri simulatori svolazzavo già da anni) e me lo ricordo ancora (davvero) come fosse ieri.

Prendevo il 747, davo manetta al massimo, e poi ad un certo punto, più-o-meno-su-per-giù, decollavo.
Poi sfioravo dei grattacieli, liberavo la zona e andavo su...verso le nuvole, all'incirca dove finivano quelle grosse.

Volavo, volavo e, quando mi stancavo di stare per aria, cercavo, a vista una pista d'atterraggio.
Valutavo, sempre a vista, con le esperienze che man mano facevo, se la pista bastasse.

Tanti decolli falliti, tanti grattacieli centrati e atterraggi sbagliati ma mi divertivo e continuavo così.

Poi mi ricordo ancora di quel giorno che, essendo per aria, mi son chiesto "ma i radiofari funzioneranno davvero? come faccio a trovare un aeroporto se non lo vedo?".

Da quel giorno la ricerca di informazioni e la conoscenza mi ha guidato sempre più in questa mia passione, arrivando a percorrere uno dei miei due fiori all'occhiello di questo hobby del volo simulato: un volo in tempo reale, con tratta reale, da Milano a Roma con MD-83, sotto controllo radar simulato, con tutti i sistemi di bordo (avarie comprese) simulati e 122 persone (simulate) a bordo.

Era l'inverno del 2004, avevo 24 anni. (mizz, come passa il tempo).

Ora non volo più nemmeno con i 737, perchè volo solo con procedure reali e vi assicuro che è più difficile volare con un C182 "parareale" che con un 747 "finto".

Ormai mi appassiono a tutta la fisica e meccanica del volo, prima volavo ma la ignoravo bellamente.

Credo che non avrei questa passione, e questo hobby, se fosse stato necessario imparare, per forza, prima, tutta la teoria.

Se la nostra attività ce lo permette, sperimentiamo, giochiamo, appassioniamoci, per imparare (e salire in cattedra) c'è sempre tempo.

TFS m’hai provocato…e mo’ te magno…

Se anche a voi è capitato di imbattervi in questo fastidioso problema di TFS:

“TF10128: The path <path> contains more than the allowed 259 characters. Type or select a shorter path.”

E, magari, avete anche la doppia rognosità del fatto che siete abituati  mappare un’unica cartella come root della vostra project collection (ergo: per modificare il path di mapping di un solo progetto, dovete prima smappare tutta la root e poi rimappare manualmente tutti i progetti…) ecco come si fa ho fatto io:

  1. Ho fatto un po’ di reminiscenza (si si: quella degli Elfi di d&d o dei Vulcaniani di Star Trek). Voi potete saltare questo passaggio, dato che state leggendo questo post Sorriso
  2. Aprire il blocco note e scrivere qualcosa tipo:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]
"T:"=”\\DosDevices\\C:\\VostroPathTfsCollection“

  1. Salvare il file come tfs.reg
  2. Doppio cliccare il file
  3. riavviare
  4. Aprire Visual Studio
  5. Modificare il mapping di tfs al path T: (decisamente più corto)

Se anche così non dovesse bastare non ci sono santi: avete delle cartelle dai nomi troppo lunghi nei vostri progetti…

Reporting Services 2008 e wss 3.0

Giusto perchè ci ho perso speso una nottata più una mattina su questa cosa, la scrivo qui anche se non riguarda le ultime tennologie.

Il problema è che continuavo a ricevere questo errore:

 

The feature: "Windows SharePoint Services integration" is not supported in this edition of Reporting Services. (rsOperationNotSupported)

 

quando tentavo di accedere al mio reporting server URL, dopo aver configurato il tutto. Per essere sicuro che avessi fatto tutto correttamente (per la serie, “non si sa mai”) ho anche creato una nuova VM seguendo questa ottima guida.

Ma ciò nonostante ricevevo sempre lo stesso errore.

Ho cominciato ad indagare su vari problemi di compatibilità tra le varie permutazioni di versioni ed edizioni sia di sharepoint, sharepoint services e sql.

Se la memoria di calcolo combinatorio non mi inganna stiamo parlando di: 3 edizioni di MOSS 2007 (senza SP, con SP1 e con SP2), 3 di sharepoint services (idem come prima), e diciamo ALMENO 2 edizioni di SQL Server per ogni versione (più relativi SP): sql server 2005 express, sql server 2005 standard (o più), sql server 2008 express, sql server 2008 standard (o più), questi ultimi anche con il SP2.
Non parliamo della versione R2, e non parliamo se *dovesse* centrare la versione del sistema operativo…

E’ chiaro anche a voi che tutte le combinazioni non erano testabili prima che l’umanità non colonizzi completamente il sistema Solare ed il vicino Alpha Centauri, per cui dovevo darmi da fare per non spendere altre 4 ore…

Dopo aver letto con interesse la tabella di compatibilità tra versioni di SQL Server e SharePoint, ancora la cosa non mi quadrava: sembrava che tutto dovesse funzionare.

Allora ho deciso di puntare su MSDN, la sua media scarsa rilevanza me la fa mettere sempre come ultima spiaggia, ma questa volta una frase utile l’ho trovata su questa pagina:

“Edition requirements for Reporting Services in SharePoint integrated mode include Developer, Evaluation, Standard, or Enterprise editions. There is no support for this feature in the Workgroup edition or in SQL Server Express with Advanced Services.”

Ho installato quindi la versione Standard di SQL Server (2008) ed ha funzionato tutto alla perfezione.

Azure e upgrade

Dunque, è già di qualche settimana fa la notizia che Windows Azure si è aggiornato alla versione 1.3 con le incredibili aggiunte annunciate alla PDC10.

Perfetto.

Io, ovviamente, ho installato il nuovo SDK, in modo che potessi subito toccare con mano le novità.

Quando ho riaperto la mia “vecchia” soluzione di Fleet Manager, aggiornata alla versione 1.2 mi sono trovato davanti ad una schermatina che mi chiede la migrazione del progetto (come quando passiamo un progetto da VS2008 a VS2010), l’ho eseguita, senza pensare veramente alle conseguenze ma confidando, eventualmente, in un bel “undo pending changes” di TFS Sorriso

Nulla di grave: per come era è fatto il mio servizio wcf su azure, ha cambiato solamente il ServiceConfiguration, ok, tecnicismi…

Arriviamo al dunque con un piccolo zoom su una caratteristica di Azure: l’upgrade di una piattaforma.

E’ possibile, per un nostro servizio pubblicato in the cloud, pianificare un’upgrade della piattaforma.

Azure si occuperà di aggiornare il nostro servizio, senza downtime, semplicemente “sdoppiando” (si si, sto semplificando) il nostro servizio su una piattaforma aggiornata, ridondandola, e poi aggiornando le eventuali altri N istanze del nostro servizio.

Tutto questo per dire che siamo noi a decidere se e quando fare questo upgrade, se non ne abbiamo bisogno possiamo anche non farlo, così come se abbiamo un software sviluppato con il framework 1.1 con Visual Studio .Net nessuno ci dice che dobbiamo convertirlo al framework 4.0 con Visual Studio 2010…nemmeno il dottore, giusto?

Torniamo a noi: dopo aver installato la nuova versione dell’SDK, che mi ha aggiornato la mia soluzione, significa che DEVO fare upgrade del mio servizio in the cloud se voglio manuntenerlo con la stessa macchina di sviluppo.

Attenzione: qui non si tratta di poter tenere due diverse versioni di Visual Studio, ma di un aggiornamento di un UNICO ambiente di sviluppo.

Non mi sembra proprio una gran cosa: se avessi avuto in produzione N servizi, ora per manutenerli con una macchina da sviluppo aggiornata, dovrei aggiornarli tutti (non so ancora se esistano dei rischi tangibili nella conversione, però sapete com’è…non mi prenderei il rischio di convertire un servizio che funziona solo per fare una piccola modifica…).

Su questo meditare io dovrò”. (cit.)

Bello, però…

Si, bello e funzionale il nuovo developer portal di Azure fatto in Silverlight.

Sembra un “piccolo” IIS in the cloud, con un mare di impostazioni e presentate in una maniera un po’ più amministrativa rispetto a prima…

Però…

Quando mesi fa mi sono ritrovato a pensare di rifare la mia applicazione di fatturazione (perchè effettivamente quella che uso è un po’ zoppicante), ero deciso a farmela in Silverlight.

Poi mi son detto “eh no aspetta, se poi sono in giro con il mio Ubuntu, voglio poter fatturare lo stesso…me la faccio in MVC2, che è meglio…”.

Quelli” di Azure si devono essere persi questo dettaglio.

E moonlight non mi ha aiutato.

Vabbè, adesso per amministrare un’applicazione in the cloud con Azure (che per inciso può essere anche un sito php, chi ha parlato di Windows e Visual Studio?), ho bisogno di una macchina Windows.

#fail