giovedì 10 novembre 2011

Virus... Primi rimedi dopo la cura! "SFC.exe"

Uno fra gli interventi che mi capita di fare più spesso consiste nella rimozione di uno o più virus dal computer. Senza addentrarmi nel come identificare un virus e sul come rimuoverlo, il primo programma da acquistare insieme al computer è un buon antivirus. Non trovo affidabili le soluzioni gratuite, e sono un fervente sostenitore di Kaspersky, che uso con soddisfazione dagli anni novanta, anche se spesso presso amici e clienti gli affinaco la soluzione gratuita di Microsoft.
Nella malaugurata ipotesi di essere vittime di un virus, sarebbe buona norma accertarsi che il sistema operativo, oltre che pulito sia anche integro; a questo scopo utilizziamo uno strumento di Windows poco conosciuto ai più: SFC, acronimo di System File Checker. Questo tool da ceseguire dal "Prompt dei comandi" verifica l'integrità dei file del sistema operativo ed è in grado di ripristinare le versioni originali. La prima volta che ricordo di averlo utilizzato è stato con Windows 2000, negli anni sono cambiati i parametri, ma lo scopo rimane lo stesso. Maggiori informazioni si trovano nel supporto tecnico di Microsoft, ma vediamo come utilizzarlo in Windows 7:
prima di tutto bisogna aprire un Prompt dei Comandi con privilegi amministrativi (Start / Accessori / tasto destro del mouse su Prompt dei Comandi / Esegui come amministratore); come in tutti comandi di Windows, basta digitare il nome del comando seguito dal parametro /? per avere un minimo didescrizione, l'elenco dei parametri con il loro scopo ed un esempio di utilizzo. In questo articolo mi limiterò a due soli paramteri, mentre per gli altri rimando ad una ricerca sul sito del supporto tecnico di Microsoft, meglio se specificando la versione di Windows in uso (2000, XP, Vista o 7), come dicevo i parametri opzionali sono cambiati da una versione all'altra ed il loro effetto può essere diverso a seconda del sistema. Un ultima nota prima di proseguire, non sono certo della fonte, forse l'ho letto in qualche forum, forse sulla mia bibbia dei comandi di windows oppure me lo ha fatto notare qualche collega, a volte una sola esecuzione di sfc.exe non è sufficiente, e bisogna eseguire il comando 3 - 4 o più volte consecutivamente per ottenere risultati soddisfacenti.
Per riparare i file di sistema, al prompt dei comandi digitare sfc /scannow e premere invio:
a questo punto inizia la scansione, che a secondo delle caratteristiche della macchina (processore, memoria e disco rigido), può impiegare un tempo variabile da pochi minuti a circa un'ora; non ho esperienza di scasioni più lunghe, ma non escludo che in macchine particolarmente lente e con dischi molto frammentati il processo possa essere più lungo. Se siamo fortunati ed il sistema è integro dovremmo trovarci con una schermata siile a questa:
Nell'ipotesi che non tutto sia a posto, repetita iuvant, provare ad eseguire il comando più volte; se anche dopo qualche esecuzione il sistema non è integro, il mio consiglio è di ripristinare il sistema operativo dal dvd originale con un'installazione di aggiornamento o con un System Restore, in entrambi i casi verranno modificati solo i file di sistema e non i dati degli utenti, come avviene con un'installazione ex-novo.
Il System File Checker scrive il risultato della scansione in un fil di log, che contiene i dettagli di cosa è stato riparato e di cosa non è stato possibile ripare, questo ci permette di agire maualmente sui singoli file. Per leggere il log della scansione bisogna aprire il file "sfcdetails.txt" bisogna utilizzare il seguente comando, sempre dal Prompt dei Comandi:

          findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >%userprofile%\Desktop\sfcdetails.txt

A prescindere dal uso diciamo "curativo" di questo strumento, è buona norma (così come la deframmentazione, la scansione antivirus totale, eccetera) utilizzare questo comando periodicamente con l'opzione /verifyonly, che non corregge gli errori del sistema ma si limita a segnalarli nel predetto file di log.

domenica 6 novembre 2011

5 motivi per NON lavorare GRATIS!

Ebbene si, è nella nostra natura, noi amiamo i rompicapo, siamo ossesionati dagli enigmi, almeno la maggior parte dei sistemisti / programmatori. Noi amiamo la sfida, il problema da risolvere, e non riuscire a giungere add un risultato ci turba profondamente, spesso togliendoci il sonno. Non so quante volte, nel pieno del fervore della programmazione, ho trovato la soluzione che cercavo da ore nel pieno del sonno "ristoratore" notturno; per fortuna ho imparato negli anni che mi conviene alzarmi ed appuntarmi una nota comprensibile da riprendere al mattino seguente.

Noi amiamo i riconoscimenti ed i ringraziamenti; ci piace essere paragonati al prode Lancillotto informatico che con il solo sguardo sblocca il server, con una carezza riavvia il computer e con un click di mouse sistema la posta elettronica.
Adoriamo così tanto impersonare il Cavaliere digitale, che a volte, nel mio caso spesso, siamo portati a comportarci in modo sbagliato: lavoriamo "GRATIS".

L'abbiamo fatto tutti, e con alcuni amici / colleghi, cerchiamo di giustificarci a vicenda per aver dato una mano al parente, all'amico, al vicino, all'amico dell'amico o a una bella ragazza... tutti quanti, indistintamente, abbiamo dato una sistematina in cambio di... niente! Magari l'amico in questione ti ha offerto una birra o un drink, qualcuno ha detto semplicemente grazie, oppure, a fine lavoro, c'era solo quel sorriso speciale che riempie ed è abbastanza gratificante da giustificarci con noi stessi. E' più probabile, tuttavia, che quei cinque minuti per cui ci si era impegnati si siano trasformati in tre quarti d'ora, poi in un ora o nel fatidico "dammi il pc che lo sistemo e te lo riporto funzionante (cosa che poi si traduce in una nottata di lavoro!).
Come mi ha fatto notare un caro amico, e collega, ci sono aleno 5 buoni motivi per cui chi fa il mio lavoro dovrebbe sempre farsi pagare:

1) CHI ROMPE, PAGA!
Quando ci si siede davanti ad un computer si sta firmando un tacito contratto di supporto ed assistenza. Non si tratta di un contratto legale, ma di una accordo morale. Il proprietario della macchina in questione si sta fidando del nostro operato, ci sta dando in mano la propria creatura, quel oggetto magico che contiene i suoi dati, le sue importantissime email, le foto delle vacanze con amici e figli. Noi siamo i dottori che curano il figlio malato. E' così che ci si siede e si inzia, prima la diagnosi e poi la cura. Ma ecco che nel processo di riparazione, qualcosa va storto, non funziona, aggiustiamo un pezzo e qualcos'altro si rompe, ma la parte più bella della questione è che né voi (medico) né l'utente (proprietario del malato) realizzate l'esistenza del guasto fino al giorno dopo. A questo punto arriva immancabile la telefonata, magari mentre state partecipando ad una riunione di lavoro importantissima da cui dipende il vostro lavoro per i prossimi tre mesi "Credevo che mi avrestio risolto il problema, ma adesso non funziona più questo, questo e quest'altro!". Questo è il motivo per cui bisogna sempre farsi pagare il proprio lavoro: "chi rope, paga", l'utente in questione si aspetta che ripariate quello che non funziona, una specie di garanzia, anche se non ha sborsato un centesimo per il vostro tempo, anche se il problema è indipendente da quello risolto. Spesso le persone non sono in grado di valutare il valore del nostro tempo, e non capiscono che per rimanere aggiornati e al passo con la tecnologia, noi spendiamo il nostro tempo e denaro.

2) LE PERSONE NON DANNO IMPORTANZA A CIO' CHE E' GRATIS.
Questa massima l'ho imparata da un signore che lavora per un'organizzazione non-profit; è paradossale, ma un uomo che passa il suo tempo a chiedere donazioni per gli altri mi ha detto chiaramente che la gente non da valore a ciò che è gratis.
Le consulenza gratuite, l'ingresso libero e perfino gli aggiornamenti gratuiti del software; se il concerto è gratis, quelli che suonano non sono un granché (poi magari sono i Pink Floyd a Venezia!), ma è gratis! Un esempio che porto sempre in evidenza contro la pirateria è il seguente: Microsoft vende il sistema operativo o Office, che tutti usiamo quando accendiamo il computer, e tutti, incondizionatamente, si lamentano che è caro, ma nessuno considera che poi per un periodo di vita maggiore di quello del pc su cui vengono installati i software, hanno gli aggiornamenti gratis (anche se chi scrive gli aggiornamenti ha un costo!), o che se facessere un semplice calcolo per vedere in quanto tempo viene ammortizzata la spesa del programma, il prezzo è irrisorio. Esistono molti programmi gratis che fanno le stesse cose, ma non sono degli standard, sono diversi, sono più complicati o incompleti; o come anticipavo prima, se sono gratis... non valgono molto! Forse bisognerebbe chiedere a costoro se preferiscono farsi operare in tempi rapidi dal primario cardiochirurgo che esercita solo privatamente nella clinica specialzzata oppure, aspettare a tempo indeterminato il posto letto in un ottimo ospedale senza sapere chi sarà ad intervenire fino al giorno dell'operazione.

3) GRATIS UNA VOLTA = GRATIS PER SEMPRE
Nell'ambito della giurisprudenza, il concetto di precedente ha un'importanza fondamentale; giudici ed avvocati cercano nei processi predecenti come è stata interpretata una specifica norma e perché, se un caso è stato guidicato in un certo modo una volta, è molto probabile che tutti i casi simili vengano giudicati in modo analogo. I giocatori del lotto tengono traccia dei numeri ritardatari e di quelli che escono più frequentemente, sperando così di avere maggiori speranze di vincere, questo a prescindere dalla matematica che governa il calcolo combinatorio, la statistica ed il calcolo dell probabilità (se ci fosse una logica, tutti i matematici sarebbero ricchissimi!); analogamente gli utenti si aspettano che se è stato sistemato gratis una volta, sarà gratis per sempre, salvo forse i pezzi di ricambio. E' bene chiarire subito che ci sarà un prezzo da pagare, magari non obbligatoriamente un prezzo in denaro, ma deve essere esplicito che siamo dei professionisti e come tali dobbiamo andiamo riconosciuti; d'altra parte, è tutta qui la differenza fra l'amatore ed il tecnico di professione che fa questo lavoro per vivere. I professionisti si fanno pagare per il loro lavoro!

4) LE RICHIESTE AUMENTANO CON IL PASSARE DEL TEMPO
Questo rientra nel vecchio adagio "dai una mano e si prendono il braccio", che tradotto in informatichese si può leggere nel seguente modo: "avvia un aggiornamento del sistema operativo, e dovrai togliere due o tre virus, risolvere qualche blocco improvviso, capire perché non si stampa..."; una volta vestiti i panni del cavaliere che risolve, lo si è per tutto. Mi ricordo che una volta, quando ancora capitava di fare qualche saldatura di ponticelli sulle schede madri, la segretaria di direzione mi chiese se potevo sistemarle gli elettrodi dello stimolatore per rassodare i glutei, me la cavai dicendo che avrei fatto le saldature solo se poi potevo verificare il corretto funzionamento del mio lavoro in situ, ma questo non trattenne la signora in questione dal portarmi tempo dopo un asciga capelli per cambiare la spina. O ancora, un'altra volta, mentre ero al supermercato a comprare il pane, sentirmi chiedere da un vicino, come sistemare la sua email dell'ufficio, non curante del fatto che fosse il mio turno al banco.
Il dare sempre assistenza alla fine porta a lunghi interventi, spesso lontani dal proprio campo di applicazione, e ad altrettante discussioni in cui si mette in dubbio la propria preparazione perché il cugino del mio miglior amico, che è uno che ci capisce, mi dice che ha letto sulla rivista che questo si può fare.

5) SI PERDE IN CREDIBILITA' PROFESSIONALE
Lavorare gratis, non solo è inutile, ma indebolisce la propria reputazione di professionista. Per molti consulenti, il qui presente incluso, chiedere soldi è difficile, a volte non si dice nulla e si manda una fattura per email che muore nel silenzio più totale. Questo, oltre ad essere fiscalmente un caos, porta spesso a spendere più di quanto si guadagna. Sostanzialmente, se non si chiede di essere pagati, nessuno mette mano al portafogli e ti allunga un congruo compenso. E' bene stabilire un prezzo, forfettario o orario, equivalente al tempo necessario per eseguire un intervento o sviluppare un programma, in caso contrario la controparte penserà che quello che state facendo non vale un granché, oppure non sapete quello che state facendo. Cercate su internet a quanto viene venduto un servizio prima di farlo e fatevi pagare di conseguenza, nel dubbio esistono prontuari online con il prezzo orario del sistemista o del programmatore (junior / senior).

Infine, chiedere soldi può essere come andare a caccia di farfalle, ma almeno i possibili clienti sanno che hanno a che fare un professionista, e questo di per sé già dà loro fiducia.

martedì 1 novembre 2011

Logon Screen personalizzato per Windows 7

Oggi vediamo come personalizzare la schermata di avvio / protezione di Windows 7. Già dai tempi di Windows 95, qualcuno ha sempre trovato il metodo per farlo strano, si tratta di una di quello cose inutili che fanno effetto perché non alla portata di tutti. Premetto che lo stesso risultato i può ottenere con programmi di terze parti che una volta installati fanno esattamente la stessa cosa, magari aggiungendo barre pubblicitarie a explorer, cambiando la HomePage e altre porcherie. Di mio, come sapete, sono restio ad installare software di cui non conosco ogni dettaglio, quindi ecco la procedura per cambiare il Logon Screen.
Ecco come si presenta il Logon Screen predefinito di Windows, che brutto non è, anzi sarà stato sicuramente realizzato da un grafico, ma alla lunga … stanca:
Come al solito mamma Microsoft nasconde tutte queste funzionalità nelle chiavi del Registro di Configurazione, va da sé che le modifiche al registro, se fatte male, possono compromettere il corretto funzionamento del computer, quindi è bene fare una copia di backup dello stesso; inoltre, tutte le operazioni che andremo a fare richiedono diritti amministrativi, quindi è bene agire con un utente Administrator.
Ora, se come me siete dei maniaci dell’alta definizione, è bene scegliere come sfondo un’immagine che abbia le stesse dimensioni in pixel del nostro desktop, altrimenti si va incontro a spiacevoli sorprese, bordi colorati o deformazioni per adattare il background allo schermo.
Iniziamo aprendo il registro di configurazione digitando “regedit” nella riga di comando:


A questo punto navighiamo fino alla chiave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background
e cambiamo il valore della chiave "OEMBackground" da 0 a 1 facendo doppio click su di essa:


Se la chiave non esiste possiamo creare un nuovo valore DWORD chiamato "OEMBackground", tasto destro del mouse nella parte destra del Registro di Configurazione. A questo punto possiamo chiudere il Registro.
Ora apriamo il disco con il sistema operativo, di solito “C:” ed andiamo nella directory “C:\Windows\System32\oobe” e creiamo una nuova cartella chiamata “info”, a meno che non esista già.
All’interno di “C:\Windows\System32\oobe\info” creiamo una nuova cartella chiamata “backgrounds” all’interno della quale (C:\Windows\System32\oobe\info\backgrounds\) salveremo la nostra immagine con il seguente nome: “backgroundDefault.jpg” facendo attenzione a che il file non sia più grande di 256 kb.
Fine del gioco, ed ecco il mio LogonScreen con una bellissima immagine di Storm Thorgerson:


giovedì 27 ottobre 2011

Intro...duzione

Benvenuti
Più che un "BLOG" nel vero e proprio senso del termine, una raccolta degli articoli e dei tutorial che o ho scritto, per spiegare o aiutare clienti, colleghi ed amici, e le risposte alle domande che spesso mi fanno in seguito alle mie passioni ed ai miei hobbies; oppure saltuariamente parti di codice che ho scritto ed ottimizzato negli anni e che spesso fanno parte del codice dei miei programmi.