Appunti digitali

Il blog di Pasquale Fraccalvieri

Subscribe to RSS feed

Deframmentare a costo zero

, , , ...

E' noto che con il passare del tempo le prestazioni di un computer degradano rispetto al suo primo utilizzo. Le cause sono molteplici, ma per fortuna ci sono dei rimedi per arginare questo fenomeno.
Uno dei motivi per cui le prestazioni diminuiscono è la frammentazione dei dati. Detto in breve, è il fenomeno per cui un file viene memorizzato su disco in modo non contiguo. A causa di ciò, la testina del disco fisso compie svariati spostamenti per leggere o scrivere anche uno solo di questi file. Così facendo, le operazioni di lettura e scrittura impiegano più tempo per essere portate a termine. Per unificare in un unico blocco i file frammentati si ricorre alla tecnica della deframmentazione, mentre per prevenire la formazione di ulteriori file frammentati si ricorre a tecniche di ottimizzazione. Le tecniche di ottimizzazione sono utilizzate anche per collocare i file contigui (e quindi non frammentati) in posizioni strategiche, in modo da diminuire ulteriormente gli spostamenti della testina del disco fisso. C'è da dire che i File System dei più blasonati sistemi operativi come Windows o Linux già tentano di prevenire il più possibile il fenomeno della frammentazione in real-time, ma a lungo andare questo meccanismo non è sufficiente. Si ricorre perciò a dei software studiati appositamente per tale scopo, i cosiddetti deframmentatori. Piccola nota: per i sistemi Unix-like (come Linux) non esistono deframmentatori degni di questo nome, principalmente perché al contrario di Windows, Linux non offre delle API dedicate per la deframmentazione dei file.
Di deframmentatori per Windows ce ne sono una miriade, ma non tutti sono equamente efficaci: ognuno adotta una sua tecnica precisa per deframmentare e ottimizzare i file. Windows stesso include al suo interno un deframmentatore, ma è solo uno strumento base per riordinare almeno in parte i propri dati. In Windows Vista e Windows 7 questo è abilitato di default per deframmentare in automatico alcuni file importanti di sistema. Come prima cosa andremo a disabilitarlo ... perché? Perché in questo articolo farò riferimento ad altri deframmentatori, e i deframmentatori fra di loro sono incompatibili, poiché ognuno ha il suo modo di riordinare i dati. Per disattivarlo, cliccare su Start->Tutti i programmi->Accessori->Utilità di sistema->Utilità di deframmentazione dischi. Una volta avviato, all'interno della sua interfaccia si potrà comodamente disabilitare la deframmentazione pianificata (per Windows XP non è necessario poiché non è abilitato in automatico). Ora ... quale deframmentatore usare? Personalmente preferisco l'accoppiata di due deframmentatori, MyDefrag e UltraDefrag. A questo punto potrete chiedervi: ma non avevi detto che sono incompatibili fra loro due deframmentatori diversi? La risposta è si, MyDefrag e UltraDefrag sono incompatibili fra di loro, ma se usati nel mondo in cui descriverò nelle prossime righe, saranno al contrario complementari.
Una nota importante per chi ha Windows Vista e Windows 7: prima di deframmentare, assicurarsi di limitare lo spazio dedicato al Volume Shadow Copy (VSS) di Windows, ovvero quello spazio dedicato alla creazione dei punti di ripristino di sistema. A causa di una inadempienza della Microsoft, qualsiasi spostamento di file nel sistema viene registrato come modifica di file, e quindi il file in questione per sicurezza viene salvato nello spazio dedicato al VSS. Se al VSS è stato dedicato parecchio spazio, questo si riempirebbe subito durante una deframmentazione, visto che durante questo processo vengono spostati in continuazione i file. In Windows 7, per limitare lo spazio al VSS cliccare su Start->clic destro su Computer->Proprietà->Protezione sistema. Da qui selezionare l'unità di interesse e configurare la quantità di spazio allocato per i punti di ripristino. In Windows Vista questo non si può fare, ma in alternativa si può cliccare su Start->Tutti i programmi->Accessori->clic destro su Prompt dei comandi->Esegui come amministratore. Da qui scrivere "vssadmin Resize ShadowStorage /For=C: /On=C: 4GB". Se si vuole impostare lo spazio per un'altra unità, sostituire "C:" con la lettera dell'altra unità (ad es. "D:"). Ora possiamo eseguire finalmente la deframmentazione.
Iniziamo da MyDefrag. Utilizzare questo software è semplicissimo: una volta avviato, si possono selezionare varie strategie di deframmentazione e ottimizzazione. In particolare queste si suddividono in giornaliere, settimanali e mensili, ad indicare la frequenza con cui si dovrebbero effettuare queste operazioni. Per giunta, queste si suddividono in deframmentazione di sistema e di dati. Le tre tipologie di deframmentazione di sistema ha senso effettuarle sull'unità in cui risiede il sistema operativo (di solito C); le altre tre tipologie, quelle sui dati, ha senso effettuarle su unità dove non risiede il sistema operativo. Una volta selezionata la/le unità di interesse, si può avviare il processo di deframmentazione. Inutile sottolineare che le deframmentazioni mensili agiscono più a fondo rispetto a quelle settimanali e giornaliere, quindi il tempo impiegato per completare l'operazione è maggiore. Inoltre è bene effettuare le deframmentazioni mensili, come dice la parola stessa, _una_ volta al mese, poiché mettono sotto stress (e non poco) il disco fisso per ottimizzare al meglio i dati per il mese venturo.
Si può ulteriormente semplificare l'uso di MyDefrag in modo tale da poterlo avviare con un semplice doppio clic, senza decidere quale unità deframmentare. Per farlo, posizionarsi nella cartella d'installazione di MyDefrag (per arrivarci, cliccare col destro su MyDefrag, quindi Proprietà, posizionarsi nella scheda Collegamento, e cliccare Apri percorso file), entrare nella sottocartella Scripts e creare un collegamento sul desktop a tutti e tre gli script che iniziano per "automatic". Una volta fatto, sul desktop si possono rinominare e/o spostare i collegamenti appena creati a proprio piacimento. Avviando questi collegamenti, si avvierà direttamente il processo di deframmentazione adeguato per ogni unità presente nel computer (senza più doverla selezionare manualmente). In questo modo dovremo solo scegliere se avviare una deframmentazione leggera (daily), normale (weekly) o approfondita (monthly).
Passiamo adesso ad UltraDefrag. Questo deframmentatore, sebbene sia velocissimo, è di gran lunga meno efficace rispetto a MyDefrag. Tuttavia ha una feature che MyDefrag non ha: la deframmentazione a boot-time. Per capire la sua utilità, bisogna sapere che quando Windows è avviato non tutti i file si possono deframmentare: alcuni di questi infatti sono bloccati dal sistema operativo per poter funzionare. La deframmentazione a boot-time si avvia prima che Windows blocchi questi file, riuscendo a deframmentarli senza problemi. Questo genere di deframmentazione va eseguita raramente, in media una volta ogni 1-2 mesi, poiché è leggermente pericolosa (se se ne va la corrente durante l'operazione il computer rischia di diventare inutilizzabile) e poiché questi file bloccati non si frammentano con la stessa frequenza degli altri file. Per poter avviare questo tipo di deframmentazione, bisogna prima configurarla (una volta configurata per la prima volta, la si potrà avviare con un semplice doppio click senza stare a riconfigurarla): aprite UltraDefrag, cliccate su Settings o Impostazioni, e adesso cliccate su Script. Vi si aprirà un file di testo in Notepad (_non_ modificatelo se viene aperto con Word o Wordpad!). Cancellate tutto il contenuto e copiate quanto segue:
;--------------------------------------------------------------------
;                UltraDefrag Boot Time Shell Script
;--------------------------------------------------------------------
; !!! NOTE: THIS FILE MUST BE SAVED IN UNICODE (UTF-16) ENCODING !!!
;--------------------------------------------------------------------

set UD_IN_FILTER=system volume information;windows;winnt;ntuser;pagefile;hiberfil
set UD_EX_FILTER=temp

udefrag c:

boot-off

exit

Salvate il file e chiudetelo. Potete chiudere anche UltraDefrag. Ora posizionatevi in "%windir%\System32" e cercate per un file di nome "boot-on.cmd" (o semplicemente "boot-on" se il vostro S.O. vi nasconde le estensioni). Create un collegamento e posizionatelo sul desktop (solo il collegamento, non toccate nessun altro file). Adesso potete rinominarlo o spostarlo a vostro piacimento. Una volta fatto, per poter avviare la deframmentazione al boot di Windows, basta un semplice doppio clic su questo link appena creato. Al successivo riavvio del sistema, verrà effettuata una breve deframmentazione dei file di sistema più importanti.
Combinando l'uso di MyDefrag e della boot-time defragmentation di UltraDefrag, si riescono ad ottenere risultati stupefacenti per risolvere il fastidioso problema della frammentazione, risultati migliori dei software a pagamento. Tuttavia si può fare molto di più: tutto quello che è stato descritto fin qui è solo per effettuare una deframmentazione e ottimizzazione standard del sistema. Volendo si può approfondire ulteriormente e far si che Windows esegua automaticamente tutte queste operazioni con il Windows Task Scheduler, oppure dare una priorità di ottimizzazione ad un programma specifico (spostando i relativi file all'inizio del disco), ecc. Ma di queste altre operazioni più sofisticate ne parlerò in futuro.

NOTA: le versioni dei deframmentatori a cui ho fatto riferimento sono MyDefrag 4.3.1 e UltraDefrag 4.3.0 RC4. Probabilmente quanto scritto andrà bene anche per le future versioni, ma non posso garantirlo.

Modificare PDF gratuitamente

, ,

E' sempre stato un po' complicato modificare un documento PDF se non si è disposti a pagare per una suite in grado di farlo. Tuttavia oggi ho scoperto una soluzione semplice e gratuita che permettere la modifica di documenti PDF. Innanzitutto bisogna aver installato nel proprio computer la suite d'ufficio OpenOffice 3 (se non è presente nel vostro sistema, la potete installare gratuitamente dal sito ufficiale). Una volta che vi siete accertati della presenza nel vostro computer della versione 3 di questa suite, scaricate e installate l'estensione Sun PDF Import, come se fosse un normale programma. Dopo aver installato questa estensione, il vostro OpenOffice sarà in grado di aprire i file in PDF in OpenOffice Draw. Da Draw potete fare tutte le modifiche che ritenete necessarie, e, una volta effettuate, potrete salvare il documento oppure esportarlo in formato PDF, caratteristica già presente da diversi anni in questa suite. Il PDF così salvato conterrà quindi tutte le modifiche che avete apportato.

Virus? avast!

, , , ...

Da qualche settimana Alwil Software ha rilasciato una nuova major version del suo antivirus: avast! 5.0. Rispetto alla versione precedente (la 4.8) è cambiato quasi tutto, dall'interfaccia al motore di scansione, dalla leggerezza a nuove funzionalità. In una sola parola, una rivoluzione: per chi ha usato la versione precedente sembrerà di utilizzare un antivirus di un'altra compagnia.
Tempo fa abbandonai avast! per Antivir della tedesca AVIRA: in quel periodo avast! non se la passava granché, con problemi al database delle definizioni virali (motivo per cui mi son beccato un'infezione), al motore di scansione non più al passo coi tempi, ed con una concorrenza che faceva passi da gigante. Antivir dalla sua era più preciso nel trovare i virus, era più leggero e non aveva problemi con il database delle firme. Nel corso del tempo però, utilizzando Antivir, ho riscontrato anche i suoi lati negativi, che in questi giorni mi hanno spinto ad abbandonarlo: invasività e falsi positivi. L'invasività riguarda la pubblicità della versione gratuita, che pur di mostrarla (una volta al giorno), interrompe qualsiasi attività si stia facendo con il computer; il problema dei falsi positivi è ben più grave, poiché, sebbene Antivir è l'antivirus con la percentuale di riconoscimento di virus più alta in commercio, è anche vero che è quello con la percentuale di falsi positivi più alta, e riconoscere molti falsi positivi è pericoloso così come avere una percentuale di riconoscimento di virus bassa. La goccia che ha fatto traboccare il vaso è che da un paio di mesi, con gli ultimi aggiornamenti, non funzionava più la gestione delle eccezioni (ovvero escludere dei file dal controllo). In un antivirus come Antivir, il cui maggior problema sono i falsi positivi, questo è molto grave, poiché con parecchi file innocui Antivir interveniva segnalandoti virus in continuazione, senza possibilità di arginare il fenomeno a causa del bug con le eccezioni.
Così, qualche giorno fa, decisi di dare un'altra chance ad avast!, che, a dir la verità, ha ben sfruttato: tutti i problemi presenti con le vecchie versioni sono stati risolti, ma non solo! Quelli che prima erano i suoi punti di debolezza, adesso sono diventati i suoi punti di forza! E finalmente, hanno dato un senso alla versione a pagamento: chi paga, finalmente potrà avere qualche funzionalità in più degna di nota, come il Sandbox (ma anche firewall, antispam, ecc.): un ambiente virtuale che serve per provare file potenzialmente pericolosi. In passato la versione a pagamento era quasi identica a quella gratuita, e la cosa, sebbene a primo impatto possa sembrare positiva, in realtà non lo era affatto, sia per l'azienda, sia per l'utente finale (compreso chi utilizzava la stessa versione gratuita).
Che dire di più, provatelo voi stessi! Andate sul sito di avast!, scaricatelo e installatelo. Registratevi all'interno dell'antivirus stesso, e utilizzatelo per un po' smile ... a me sta piacendo! Se volete sapere qualche informazione in più riguardo le sue funzionalità, andate qui!

Come accedere a The Pirate Bay

, , , ...

Da qualche settimana il governo italiano ha nuovamente bloccato (censurato) il sito di The Pirate Bay. Tralasciando il fatto che sono completamente contrario a questo tipo di censure, qui voglio mostrarvi un metodo che vi permetterà di accedervi, superando i blocchi governativi. Questo metodo funziona con un qualsiasi sito bloccato. Ma andiamo con ordine: ci sono essenzialmente due metodologie per poter bloccare un sito, e con The Pirate Bay nel corso del tempo sono state applicate entrambe. La prima volta che fu bloccato, il governo ha agito a livello di DNS (ovvero quella tecnologia che traduce gli indirizzi web in indirizzi IP). Digitando quindi l'indirizzo di The Pirate Bay, si veniva dirottati su una pagina della finanza in cui c'era scritto che il sito era stato sottoposto a sequestro. Superare un blocco a livello di DNS è un gioco da ragazzi: basta infatti modificare alcuni parametri della propria connessione, e in particolare quelli relativi ai server DNS. Bisogna, cioè, non utilizzare più i server DNS offerti dal proprio provider, come Alice, Libero, Tiscali, ecc. bensì server di terzi. I server DNS di terzi più famosi sono quelli di OpenDNS. Utilizzando questo metodo si riusciva ad accedere normalmente a The Pirate Bay quando fu bloccato la prima volta. Ora invece questo metodo non funziona più, poiché il governo l'ha bloccato a livello di IP. Allora, visto che le cose stan così, utilizziamo i metodi che usano in Cina. Per superare un blocco a livello IP ci sono diverse metodologie, e qui ne descriverò soltanto una, ovvero quella che ritengo più efficace e che credo abbia un futuro: Tor. Tor è un piccolo software che si installa su PC (vi consiglio di scaricare "Il pacchetto di installazione per Windows") e lavora in background agendo a livello di trasporto. Dopo l'installazione avviatelo e aspettate finché nell'interfaccia non viene mostrata la scritta "Connesso alla rete Tor!" (la prima volta saranno necessari diversi minuti, quindi abbiate pazienza). Una volta connessi, impostate come proxy HTTP nel vostro browser l'indirizzo 127.0.0.1 con porta 8118. Una volta fatto, potrete raggiungere con tutta tranquillità The Pirate Bay. L'unico lato negativo è che la navigazione sul sito di The Pirate Bay sarà un po' più lenta. Se siete interessati al modo con cui Tor funziona, leggetevi la guida sul sito ufficiale, è in italiano e molto esplicativa.

Flattr: i pagamenti diventano sociali!

, , , ...

L'ex amministratore di The Pirate Bay, Peter Sunde, lancia un'iniziativa quantomeno originale: Flattr! Lo scopo di questo progetto è la creazione di un nuovo modello di business basato sul "money sharing", ovvero sulla condivisione di denaro: ogni utente, per poter utilizzare Flattr, si deve iscrivere come membro, pagando una quota al mese (al momento è di minimo 2 euro al mese, ma per chi è disposto a pagare di più si può decidere liberamente l'importo da versare). Una volta iscritti, Flattr si integra in una qualsiasi piattaforma di "content sharing", come blog, siti di notizie, sistemi di file sharing, ecc. e permette di esprimere la propria preferenza verso quegli autori il cui contenuto è risultato di proprio gradimento (come un post, una canzone, o un video, ecc.). La particolarità sta nel fatto che alla fine del mese, quando avviene il pagamento della quota mensile, questa viene suddivisa fra tutti gli autori verso cui si è espressa la propria preferenza: in sostanza ogni autore guadagnerà una frazione dell'importo versato dall'utente se questo ha gradito il suo contenuto. In questa maniera viene premiata la qualità del contenuto, e se un autore ha successo per la qualità dei contenuti che mette a disposizione, sarà ampiamente ricompensato. E' da sottolineare come ogni membro di questa piattaforma è al tempo stesso anche autore, quindi potenzialmente tutti possono guadagnare se condividono contenuti di qualità. Flattr, al momento, trattiene il 10% della somma mensile versata dai suoi membri, ma questa percentuale è destinata a diminuire se il progetto avrà successo.
"Vogliamo incoraggiare le persone a condividere soldi, oltre che i contenuti. <...> Il denaro che un utente versa ogni mese verrà diviso uniformemente sui pulsanti su cui clicca in un mese" ha spiegato Sunde, che ha definito Flattr "un test per vedere se sia un metodo efficiente per i micropagamenti. <...> Non lo facciamo per diventare ricchi" ha chiarito ancora Sunde "ma per cambiare le cose e dare alle persone il denaro che non hanno mai avuto prima".
Tuttavia non sono ancora riuscito a capire che vantaggio possa avere chi decide di pagare più di 2 euro al mese. Inoltre mi chiedo se ci saranno delle proporzioni con cui verrà distribuito il denaro verso le varie tipologie di contenuti: scrivere una notizia o una canzone infatti costa decisamente di meno rispetto alla produzione di un videogioco o di un film. Ciononostante, bisogna anche considerare come il progetto sia ancora in fase di testing e relativamente giovane, con conseguente carenza di dettagli a riguardo nel web. Probabilmente questi problemi saranno stati già affrontati dal team di sviluppo o in corso di risoluzione. Tuttavia anche se alcuni di questi non verranno risolti, sarà doveroso considerare il segmento di mercato in cui si andrà a posizionare Flattr: se ad esempio si occupasse solo di alcuni contenuti, come notizie o canzoni, l'ultimo problema citato non avrebbe motivo di esistere; se invece l'obiettivo del progetto è affiancarsi al sistema di donazioni utilizzato in svariati siti, allora viene meno anche il primo problema.
Che sia questa la volta buona per iniziare la rivoluzione tanto desiderata per la distribuzione dei contenuti su Internet?

Google vs. Facebook

, , , ...

Da qualche settimana, improvvisamente, Google e Facebook hanno deciso di farsi una spietata concorrenza. Sebbene anche prima ce n'era per via di Orkut, questa era flebile, poiché, eccetto in Brasile, Orkut non ha avuto affatto successo altrove. Ora tuttavia sono cambiate le carte in tavola, e a fare il primo passo è stato Facebook quando, qualche settimana fa, ha annunciato di voler potenziare il suo servizio di posta interno, facendolo diventare un servizio di posta a tutti gli effetti, con tanto di indirizzo e-mail @facebook.com. Inutile dire che la trovata, secondo me, è geniale: poter integrare nel social network più famoso del mondo anche la posta, non ha prezzo. Ogni volta che un utente accede a Facebook, contemporaneamente accede anche alla sua posta. Tutto questo potrebbe rendere addirittura superfluo ogni altro provider di posta: perché andare a controllare la posta su un altro sito, quando si può fare tutto comodamente nella sola pagina di Facebook? Per giunta bisogna considerare che il social network più famoso del mondo parte già in pole posotion con una popolazione di 400 milioni di utenti, che di colpo si ritroveranno con un indirizzo di posta in più.
Un bel guaio per le altre aziende che offrono un servizio di posta, prima fra tutte GMail. A quanto pare, però, Google non ha la minima intenzione di perdere un'altra battaglia, ed ha deciso di reagire. Come? Semplicemente attuando la strategia opposta di Facebook, ovvero quella di integrare in GMail un social network: Buzz! (della serie: se Maometto non va dalla montagna, la montagna va da Maometto) Da qualche giorno infatti, milioni di persone che utilizzano GMail si sono ritrovate con una voce in più da poter cliccare, per l'appunto "Buzz". Questa è situata subito sotto la Posta in Arrivo, e viene vista come una normale cartella di posta, insieme a quella dei messaggi inviati, delle bozze, ecc. Quando la si clicca, si accede direttamente al social network, con tanto di amici già creati automaticamente da Google (diventano automaticamente amici tutti quelli che hanno un indirizzo GMail nella rubrica). Attualmente Buzz si configura come una via di mezzo fra Facebook e Twitter, prendendo da Facebook la possibilità di scrivere messaggi di lunghezza variabile, con tanto di link o foto allegate, e da Twitter il concetto di followers: in Buzz infatti non ci sono amici come su Facebook, ma followers, il che rende in linea di principio meno esposta la propria vita privata al pubblico. Di conseguenza, cambia anche la filosofia del network: quando infatti si scrive un messaggio, viene richiesto "condividi la tua opinione" (al contrario di Facebook, il cui obiettivo è sapere "A cosa stai pensando?"). Grazie a tutto ciò, Buzz si presta più come una piattaforma di microblogging. Tuttavia è ancora giovane, e di strada da fare ne ha parecchia, ma è inutile sottolineare che anche Google, con Buzz, ha avuto un'idea geniale per contrastare Facebook.
Chi vincerà? E' presto per dirlo, sempre se ci sarà un vincitore. Tuttavia penso che l'approccio di Facebook abbia una marcia in più: infatti quante sono le persone che durante una giornata accedono al proprio social network di fiducia? Sicuramente molte di più rispetto a quelle che accedono a GMail per controllare la posta (generalmente infatti non sono moltissime le volte che si controlla la posta nell'arco di una giornata, al contrario di un social network dove si controlla con molta più frequenza le novità dei propri amici). Quindi Facebook, avendo più accessi al giorno per utente, potrà fidelizzare più velocemente la sua utenza verso il nuovo servizio di posta (infatti tutte le volte che si visita Facebook, automaticamente si controlla anche la posta), al contrario di GMail (dove tutte le volte che si controlla la posta, si può decidere anche (ma non automaticamente) di visitare il social network integrato). Ai posteri l'ardua sentenza!

Chi è crashato?

, , , ...

Spesso capita che Windows si blocchi improvvisamente, mostrando la classica schermata blu, o meglio la Blue Screen Of Death (BSOD). Delle volte, quando viene mostrata una BSOD, si riavvia anche il sistema per evitare di danneggiare l'hardware del computer. Cosa sia successo in realtà non si sa. A questo proposito ci viene in aiuto il software gratuito WhoCrashed, che è in grado di mostrare la causa che ha generato il crash con pochi click. Infatti, ogni volta che viene mostrata una BSOD, Windows genera un file contenente tutte le informazioni sull'errore, il cosiddetto minidump. Tuttavia, questo file, oltre ad essere nascosto, contiene anche delle informazioni incomprensibili riguardo l'errore, come codici, indirizzi, e altri dati che a prima vista significano ben poco. WhoCrashed è in grado di dare una spiegazione a queste informazioni "incomprensibili" grazie ad un database interno, e se proprio non riesce, utilizza Google per cercare la causa del problema.
Questo programma è di cruciale importanza per capire se la causa del crash di sistema è dovuta ad un errore software oppure ad un difetto hardware. Inoltre, se l'errore è di tipo software, viene indicato quale componente ha generato l'errore, in modo da rendere più semplice la soluzione del problema.

HashCheck

, , , ...

In Windows spesso ho sentito la mancanza di un tool semplice, accessibile e intuitivo per la verifica o la generazione di codici hash. Controllare o generare un hash per uno o più file può infatti essere molto utile per controllare l'integrità e l'autenticità dei dati - ad esempio può servire per riconoscere file danneggiati o corrotti, magari a causa di qualche settore danneggiato sull'hard disk oppure su un dvd. Ecco un esempio di utilizzo dei codici hash: volete masterizzare un CD con delle vostre foto. Prima della masterizzazione, generate un file di hash su tutto il contenuto che volete masterizzare, includendo anch'esso nel CD. Dopo qualche mese o anno volete assicurarvi che questo cd sia ancora leggibile. Cosa fare? Semplice, basta cliccare due volte sul file di hash che avete generato prima della masterizzazione e incluso nel CD, e dopo qualche secondo avrete una risposta CERTA sullo stato dei dati memorizzati nel supporto, e quindi potrete decidere se effettuare un secondo backup delle vostre foto o meno.
Il software in questione è HashCheck, completamente libero e opensource, distribuito sotto licenza BSD. Si integra perfettamente con Windows, e permette di utilizzare 4 algoritmi di hash: CRC-32, MD4, MD5, SHA-1. Permette di visionare immediatamente un codice hash semplicemente entrando nelle proprietà di un file. Oppure è in grado di generare un file di hash contenente tutti i codici hash dei file o cartelle selezionati in una finestra di Windows. Una volta generato questo file, basta cliccarci due volte per aprirlo e verificare se tutti i file associati siano integri o meno.

Prolog e sostituzione di un elemento in un vettore

, , , ...

In questo periodo sono molto impegnato con l'università, ed in particolare con un programma in Prolog. L'altro giorno ho perso un po' di tempo perché non riuscivo a trovare un predicato o funzione che mi sostituisse l'i-esimo elemento di un vettore con un nuovo elemento. Attualmente sto usando SWI Prolog, e fra le sue librerie c'era tutto fuorché questo tipo di predicato. Per giunta quasi tutti i predicati offerti da SWI Prolog non operano sulla posizione dell'elemento in un vettore, bensì sull'elemento stesso (eccetto nth). Ad es. delete/3 cancella tutte le occorrenze dell'elemento X in un vettore, fregandosene però della posizione (non posso cancellare ad es. "il terzo elemento"). E così per quasi tutti i predicati che manipolano vettori.
Quindi siccome mi serviva rimpiazzare un elemento di un vettore in base alla sua posizione, ho cercato su internet per trovare qualcosa ... ma niente. Non ho trovato nulla. Così mi sono costruito da solo il predicato che mi serviva: l'avessi fatto prima avrei risparmiato parecchio tempo bigsmile! Così eccoci qua, pubblico il codice del predicato replaceEntry/4, magari può servire a qualcuno:
replaceEntry(_,_,[],[]).
replaceEntry(1,Value,[_|OldList], [Value|NewList]) :-
	replaceEntry(0, Value, OldList, NewList),
	!.
replaceEntry(Position,Value,[X|OldList],[X|NewList]) :-
	Position =\= 1,
	NewPosition is Position - 1,
	replaceEntry(NewPosition, Value, OldList,NewList),
	!.

Quindi se volete rimpiazzare un elemento che si trova in una certa posizione di un vettore, potete scrivere:
replaceEntry(2,rimpiazzo,[elemento1,elemento2,elemento3],Nuovo_vettore_con_elemento_rimpiazzato).

Il valore di Nuovo_vettore_con_elemento_rimpiazzato sarà [elemento1,rimpiazzo,elemento3].
Quindi riassumendo: a Position dovete assegnare la posizione dell'elemento che volete sostituire (parte da 1), a Value dovete assegnare il valore da sostituire, a [X|OldList] dovete assegnare il vettore originale di cui volete sostituire un elemento, e a [X|NewList] dovete assegnare una variabile in cui verrà memorizzato il risultato (ovvero il nuovo vettore con l'elemento sostituito).

GMail come servizio di posta predefinito in Opera

, , , ...

Dalla versione 10 di Opera è possibile impostare come servizio di posta predefinito anche le WebMail (come ad es Gmail, Yahoo! Mail, e Windows Live Hotmail). Questo vuol dire che quando si clicca su un link mailto:, invece di aprirsi il client di posta standalone (tipo Outlook), si aprirà direttamente la vostra WebMail. Per poter impostare la vostra WebMail come predefinita, cliccate su Strumenti > Preferenze > Avanzate > Programmi. Da questa schermata potete modificare il comportamento che Opera assumerà quando incontrerà un link con mailto:. Tuttavia, come potrete notare, la lista dei provider di WebMail è esigua (al momento con Opera 10.52 ce ne sono solo quattro). E fra questi purtroppo manca GMail. Per poterlo aggiungere, dovrete modificare un file particolare. Per prima cosa chiudete Opera, poi posizionatevi nella cartella dove avete installato Opera (in Windows solitamente è "C:\Program Files\Opera\", mentre su Mac, all'interno del package Opera.app, è "Contents/Resources"). Da questa cartella, entrate nella sottocartella "defaults". Una volta fatto, aprite il file "webmailproviders.ini" con un editor di testo semplice (ad es. non con Word). Nota per gli utenti di Windows Vista e Windows 7: dovete aprire questo file con i diritti di amministratore. Una volta aperto, aggiungete queste righe, salvate e chiudete l'editor di testo:
[Gmail]
ID=1
URL=https://mail.google.com/mail/?extsrc=mailto&url=%s
ICON=http://mail.google.com/favicon.ico

Adesso riavviate Opera, e nella lista di WebMail disponibili ne troverete una quinta, ovvero la vostra tanto amata GMail.
Per testare se il tutto funziona, cliccate qui!

UPDATE 27-04-2010: Aggiornato il contenuto del messaggio per Opera 10.52 e per le nuove API di GMail.