<?xml version="1.0" encoding="windows-1252"?><rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Tenuti Marco</title><link>http://www.tencas.com/blog/</link>
<description>Tenuti Marco</description><language>it</language>
<item>
	<title><![CDATA[A point inside a polygon]]></title>
	<description><![CDATA[<p>
Some months ago I challenged my readers to find a method to determine an inner point inside a polygon. I described the original issue in <a href="http://www.tencas.com/blog/articolo.asp?articolo=1139">this article</a> in Italian language, altough more than one lector confused this issue with another one, i.e. determine if a point is inside or not in a polygon.
</p>
<p align="center">
<img src="../public/a_point_inside_part2.png" hspace="6" vspace="6" border="0" align="center" alt="Canonical diagonal crossover" />
</p>
<p>
I would spend a little bit more on the issue: the algorytmic problem is to find a point completely inside the polygon, whatever the polygon is convex or concave. The satisfying point must lay completely in the inner region bounded by the polygon, not over the bound, otherwise you could solve the problem taking any of the vertexes or the mid point over any edge.
</p>
<p>
The most elegant solution I found - which is also very effective to outfit in programming code - is based on the fact tha any polygon may be always discretized in triangles and you may prove for induction that a valid solution is a mid point taken over and inner diagonal of the polygon. What's difficult is finding an inner diagonal, i.e. a segment that connects any pair of vertexes. In each polygon you can find several diagonals completely inside the polygon, but you can stop as soon as you find the first one.
</p>
<p align="center">
<img src="../public/a_point_inside_part3.png" hspace="6" vspace="6" border="0" align="center" alt="Proof for induction that an inner diagonal always exists" />
</p>
<p>
Let's make a proposal for an easy algorytm to get some solution:
</p>
<ul>
<li>loop from 1 to n over the set of the polygon vertexes</li>
<li>take the i-th vertex from 1 to n, if n is the amount of the polygon vertexes
<ul>
<li>take another j-th vertex where j loops from i+1 to n and let's trace the test diagonal, which doesn't have to belong to the edges set
<ul>
<li>take each k-th edge in the edges set
<ul>
<li>check if the test diagonal from i to j intersects k-th edge</li>
</ul>
<li>if the test diagonal doesn't intersect any edge, it could be completely embraced in the polygon or it could be completely outside the polygon</li>
<li>check if the mid point of the test diagonal is inside or outside the polygon if the mid point is inside, return it as the solution</li>
</ul>
</ul>
</ul>
<p>
As you may see, this pseudocode is quite easy to understand, although it is far from being efficient: its polynomial complexity is O(n<sup>3</sup>).
</p>
<p>
Let's go a step further and let's quickly see the method based on the proof that an inner diagonal always exists inside a polygon [O'Rourke 13-14]. The idea behind is that the mid point of the inner diagonal is always inside the polygon.
</p>
<p>
You may prove that for induction using the amount of vertexes and sides of the polygon. If you find a solution for an N-vertexes polygon, you can find a solution even for an N+1-vertexes polygon.
</p>
<p align="center">
<img src="../public/a_point_inside_part4.png" hspace="6" vspace="6" border="0" align="center" alt="A point inside the segment ab" />
</p>
<p>
The base of induction is the easiest polygon, the triangle. In the triangle the solution to the problem is trivial: just use the centroid of the vertexes.
</p>
<p>
For a quadrangle, if it is convex, you get two inner diagonals and both satisfy the algorytm choice. If the quadrangle is concave, only one diagonal is completely inside, but the solution is whatsoever found. You can notice that the inner diagonal is the side shared between two adjacent triangles got by the triangular meshing of the polygon, so you just need to consider any shared side of two triangles in the mesh.
</p>
<p>
Let's move to the inductive step:
</p>
<ul>
<li>find a convex vertex v in the polygon and consider a and b as adjacent vertexes surrounding v</li>
<li>for each other vertex q in the polygon
<ul>
<li>if the vertex q is inside the triangle avb, calculate the distance of v to the segment ab</li>
<li>keep vertex q as solution if its distance is minimal with respect other found vertexes</li>
</ul>
<li>if no vertexes q have been found inside avb, use the mid point of segment ab as solution or the centroid of triangle avb</li>
<li>if some vertex q is inside the triangle avb then the diagonal qv is surely inside and the solution is its mid point</li>
</ul>
<p>
In the image shown above, you may noticed that the nearest point to segment ab, doesn't lay in triangle avb, so the solution in the centroid in triangle avb or the mid point of segment ab, which is an inner diagonal.
</p>
<p>
You may notice that algorytm complexity is O(n), which is the best you would ask for: its optimal even in the performance space.
</p>]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1781]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1781</guid>
	<dc:date>2017-01-29T22:21:00+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Phishing con Amazon]]></title>
	<description><![CDATA[<p>
Anche Amazon &egrave; recentemente preso di mira dai truffatori, cio&egrave; gente che usa l'enorme visibilit&agrave; del portale del negozio di Vancouver per cercare di portare a segno dei furti ai danni degli ignari.
<p>
<p>
Lo schema &egrave; molto semplice: il venditore/truffatore, una terza parte rispetto al negozio ufficiale di Amazon, mette in vendita un articolo proponendolo ad un prezzo sensibilmente pi&ugrave; basso di un altro venditore serio e affidabile, ma non troppo basso. 
</p>
<p>
Io mi sono imbattuto in uno sconto di circa il 15%, per&ograve; il venditore aveva modificato opportunamente il proprio nome sostituendolo da Mio Negozio Online srl in ContattamiAllIndirizzoBoegmhAtliberoDot.
</p>
<p>
Io ho fiutato subito la trappola, ma non per questo mi sono tirato indietro al tentativo di acquistare qualcosa ad un prezzo interessante ed ho scritto puntualmente al venditore farlocco con un messaggio e-mail di richiesta di informazioni pi&ugrave; dettagliate per portare avanti l'acquisto.
</p>
<p>
Oggi ho ricevuto la risposta, arrivata comunque dal medesimo indirizzo e-mail:
</p>
<p>
<i>
Ciao,<br/>
Il prodotto &egrave; originale, con la garanzia e la fattura.
Abbiamo offerte speciali in questo periodo. L'offerta dura per 7 giorni.
La consegna &egrave; gratuita in Europa da DHL Express.
Questa attivit&agrave; va avanti Garanzia Programma A-to-Z Amazon.
</i>
</p>
<p>
<i>
L'operazione pu&ograve; essere avviata da Amazon, ho bisogno di quanto segue:
</i>
</p>
<p>
<i>
Nome completo:<br/>
indirizzo:<br/>
citt&agrave;:<br/>
CAP:<br/>
paese:<br/>
Telefono:<br/>
di prodotto:<br/>
Prezzo:
</i>
</p>
<p>
<i>
Mi trasmette immediatamente i dati necessari ad Amazon. Amazon invier&agrave; le informazioni relative alla cassa. In un massimo di 3 giorni, &egrave; possibile ottenere il prodotto. Con Amazon, avete 7 giorni per verificare l'articolo. Bisogna prendere una decisione. Se si desidera mantenere il prodotto o no! Se si desidera, Amazon invier&agrave; il denaro a me. In caso contrario, si ottiene il denaro e DHL prender&agrave; l'oggetto da voi e dare di nuovo a me. Pagher&ograve; per la consegna ricorrente!
</i>
</p>
<p>
<i>
Sto aspettando la risposta.<br/>
Grazie.
</i>
</p>
<p>
Quando ho visto l'italiano sgrammaticato e il giro vorticoso, ho fatto uno pi&ugrave; uno. Non contento, ho segnalato la cosa al servizio di assistenza tecnica di Amazon, il quale non ha fatto altro che confermare: negli ultimi giorni &egrave; tutto un comparire di offerte farlocche di truffatori e loro lavorano continuamente alla rimozione.
</p>
<p>
State all'occhio!
</p>
]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1780]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1780</guid>
	<dc:date>2017-01-17T19:35:00+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Firmare digitalmente setup e patch]]></title>
	<description><![CDATA[<p>
Un problema sempre pi&ugrave; stringente &egrave; il rilascio di patch, installer o piccoli eseguibili sulle ultime versioni di Windows da parte di sviluppatori indipendenti o piccole software house. Quando si scaricano questi file dai siti di distribuzione e si stanno per eseguire sulla macchina Windows - generalmente Windows 7, 8.1 o Windows 10 - compare sempre pi&ugrave; spesso l'impossibilit&agrave; apparente di Windows di farlo partire in quando potenzialmente pericoloso. 
</p>
<p>
Nella fattispecie &egrave; Windows SmartScreen a bloccato ed a segnalare la dubbiosit&agrave; della provenienza con un'indicazione del tipo Autore sconosciuto. Tale indicazione avviene se si prova a lanciare l'eseguibile, appena &egrave; stato completato il suo scaricamento dal browser.
</p>
<p align="center">
<img src="../public/smartscreen_unknown_01.jpg" border="0" align="center" vspace="6" hspace="6" alt="Autore sconosciuto in Smartscreen" />
</p>
<p>
L'utente ignaro non sa come comportarsi e difficilmente riesce ad intuire che &egrave; necessario cliccare sul testo <b>Ulteriori informazioni</b>, per ritrovarsi il dialogo di Smartscreen leggermente modificato e con la comparsa del bottone Esegui comunque.
</p>
<p>
L'indicazione del testo <b>Autore sconosciuto</b> lascia ulteriormente l'utente nel panico, che rimane pertanto molto diffidente nel cliccare  il bottone con cui far partire il setup.
</p>
<p>
Ad aumentare un altro po' la diffidenza &egrave; la richiesta del Controllo Account Utente che segnala il fatto che l'eseguibile pretende di passare alla modalit&agrave; di amministratore, cosa necessaria per poter collocare o sostituire file eseguibili dentro le installazioni dei programmi o del sistema operativo.
</p>
<p>
Anche nella richiesta di escalation, ricompare la dubbiosit&agrave; sulla provenienza, cio&egrave; ricompare l'indicazione <b>Autore sconosciuto</b>:
</p>
<p align="center">
<img src="../public/smartscreen_unknown_02.jpg" border="0" align="center" vspace="6" hspace="6" alt="Autore sconosciuto nell'escalation" />
</p>
<p>
Per gestire questa problematica e identificare quantomeno il suo autore, un'azione da intraprendere &egrave; quella di firmare digitalmente l'esegubile, iniettandoci dentro l'autore e firmando digitalmente l'intero eseguibile con un certificato, in modo che chiunque possa verificare in qualsiasi momento l'integrit&agrave; del file e che il suo contenuto non sia stato compromesso: la modifica di un solo bit farebbe saltare la verifica dell'intero contenuto rispetto al certificato presente al suo interno.
</p>
<p>
Per firmare digitalmente un eseguibile, come ad esempio un installer prodotto da Inno Setup, &egrave; sufficiente creare un file batch (.BAT) il cui contenuto dovrebbe essere:
</p>
<p>
"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /f certificato_codesigning_installer.pfx /p laTuaPassword /t http://timestamp.verisign.com/scripts/timstamp.dll MySignedSetup.exe
</p>
<p>
dove
</p>
<p>
"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" &egrave; il percorso completo dell'applicazione Microsoft per firmare digitalmente i file (parte del Microsoft SDK o di qualsiasi distribuzione di Microsoft Visual Studio)
</p>
<p>
certificato_codesigning_installer.pfx &egrave; il tuo certificato, che puoi aver generato tu o essere stato generato da un'autorit&agrave; certificante (Certificate Authority, CA)
</p>
<p>
laTuaPassowrd &egrave; la password associata al tuo certificato e che ti &egrave; stata assegnata dalla CA quando ti &egrave; stato rilasciato il certificato
</p>
<p>
MySignedFile.exe &egrave; il tuo file di setup che vuoi certificare
</p>
<p>
Si consiglia di mettere tutti i file sopraddetti in una sola cartella - il file batch, il certificato ed il setup da firmare - e poi basta eseguire il barch. 
Signtool firmer&agrave; il file col certificato e ne controller&agrave; la validit&agrave; appoggiandosi al server ufficiale.
</p>
<p>
Puoi usare il server <a href="http://timestamp.verisign.com/scripts/timstamp.dll">http://timestamp.verisign.com/scripts/timstamp.dll</a>, anche se hai un certificato rilasciato da Comodo.
</p>
]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1779]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1779</guid>
	<dc:date>2016-07-01T10:35:48+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Accedere a database Access da PHP]]></title>
	<description><![CDATA[<p>
Accedere ad un database MDB preparato con Access non &egrave; affar semplice da PHP. Se avete questa necessit&agrave;, lo potete sempre fare usando il driver ODBC a 32 bit presente ancora nelle installazioni dei vari Windows Server 2008 R2, 2012 ed annessi, anche se a 64 bit.
</p>
<p align="center">
<img src="../public/php_access_01.jpg" align="center" border="0" hspace="6" vspace="6" alt="Controllo versione PHP" />
</p>
<p>
Controllate anzitutto se la vostra versione di PHP pu&ograve; gi&agrave; avere accesso al driver ODBC, semplicemente verificandolo con phpinfo():
</p>
<code>
  phpinfo();
</code>
<p>
Se lo trovate nella zona dei driver per i database (PDO), siete gi&agrave; a posto e dovreste avere una situazione del genere:
</p>
<p align="center">
<img src="../public/php_access_02.jpg" align="center" border="0" hspace="6" vspace="6" alt="PDO_ODBC" />
</p>
<p>
Se non fosse cos&igrave;, aprire il file php.ini per la versione del linguaggio PHP che state usando nel sito. Nel caso dell'esempio indicato qui, &egrave; necessario che apriate:
</p>
<code>
C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP53\php.ini
</code>
<p>
Editate il file e togliete il commento in prossimit&agrave; delle estensioni seguenti:
</p>
<code>
extension=php_pdo.dll
extension=php_pdo_mysql.dll
</code>
<p>
Non &egrave; sufficiente salvare il file. Dovete forzare il vostro web server a ripartire, in modo che ricarichi il contenuto della configurazione del PHP. Se avete sul vostro server Plesk, basta riavviare il solo servizio web col comodo pannello di controllo.
</p>
<p>
Rieseguite nuovamente phpinfo() per vedere che adesso siete nella situazione come le immagini allegate.
</p>
<p>
Ora potete cominciare ad usare PDO per accedere ai database Access. Eccovi un esempio di codice:
</p>
<pre>
<html>
<body>
&lt;?

  $dbName = $_SERVER["DOCUMENT_ROOT"] . "\\App_Data\\my_access_database.mdb";

if (!file_exists($dbName)) {
    die("File non trovato.");
}

try
{
  $db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");
}
catch (PDOException $e)
{
  echo $e-&gt;getMessage();
}

$sql = "SELECT * FROM users";
$result = $db-&gt;query($sql);
while ($row = $result-&gt;fetch())
{
  $idUser = $row["IDUser"];
  $name = $row["Name"];
  $surname = $row["Surname"];
  echo '&lt;p&gt;' . $idUser . ' ' . $name . ' ' . $surname . '&lt;/p&gt;' . $eol;
}

?&gt;
</body>
</html>
</pre>
]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1777]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1777</guid>
	<dc:date>2016-05-06T15:29:59+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Windows 10, ancora non ci siamo]]></title>
	<description><![CDATA[<p>
Nonostante il mio relativo entusiamo per Windows 10 manifestato ancora qualche mese poco dopo il suo rilascio, devo ammettere che Microsoft ha fatto qualche passo in avanti, ma siamo ben lontani ancora da quello che ci si aspetterebbe dopo un ventennio di Windows. Detta fuori dai denti, "Siamo alle solite".
</p>
<p>
Ho in mente di sviscerare bene la questione in una serie di articoli che sto scrivendo in questi mesi, circa tutta una serie di problematiche a cui ho fatto il callo io e anche tutti gli utilizzatori che si rivolgono a me per portare avanti la macchina di Windows, che risulta ancora molto insinuata nel personal computing della vita professionale e personale di tutti noi, nonostante ormai iOS e Android siano diventati sempre pi&ugrave; pervasivi nella mobilit&agrave; della vita quotidiana. Un picc&igrave; fisso in tantissime famiglie ancora c'&egrave; e chiss&agrave; ancora per quanto rimarr&agrave; sulle scrivanie e nelle camerette dei nostri figli.
</p>
<p>
A cosa mi riferisco sostanzialmente? Al fatto che un buon sistema Windows, una volta configurato, gira abbastanza a meraviglia nel breve e nel medio termine. Arrivare ad avere un sistema a posto non &egrave; per&ograve; affar semplice.
</p>
<h4>
1. Se compri un PC nuovo con Windows 8.1
</h4>
<p>
L'esperienza di questo fine settimana &egrave; stata quella che di tanto in tanto provo nella pratica professionale: mi viene dato un hardware nuovo, un PC fisso piuttosto che un portatile molto consumer, che &egrave; stato portato a casa dal centro commerciale o &egrave; stato recapitato a casa dal corriere e mi viene chiesto di metterlo nelle condizioni di essere usato proficuamente dal suo utilizzatore finale, leggi "Mettimi Windows 10". Il computer arriva con un'installazione di Windows 8.1, ma per arrivare a Windows 10 ci vogliono qualcosa come 24 ore! 
</p>
<p>
Purtroppo per passare a Windows 10 non &egrave; sufficiente scaricarsi un eseguibile di qualche megabyte e far partire l'installazione. Probabilmente si pu&ograve; fare anche quello, ma la strada tracciata da Microsoft non &egrave; purtroppo questa. E' necessario utilizzare Windows Update, uno dei pannelli di controllo di Windows, per scaricarsi quello che sta dietro a quella magica iconcina che propone l'aggiornamento a Windows 10, quando un esperto IT si aspetterebbe che per far comparire la magica iconcina sia sufficiente proprio quell'eseguibile di 5-6 MB o scaricare in maniera mirata un'opportuna patch (KBxxxxxxx) tra le centinaia proposte tra gli aggiornamenti obbligatori e facoltativi di Windows 8.1.
</p>
<p>
Purtroppo sono stato costretto ad installare tutta la pletora di aggiornamenti di Windows 8.1, cio&egrave; ho dovuto attendere lo scaricamente di almeno 2 GB di patch, intervallato da un numero imprecisato di riavvii e relative installazioni.
</p>
<p>
Rimane il fatto che il download di questo paio di gigabyte e le relative installazioni richiedono tempi biblici su un PC consumer: i tempi di attesa sfiorano la giornata intera, vuoi perch&eacute; non si &egrave; sempre pronti a confermare le richieste di continuare le operazioni, vuoi anche perch&eacute; il download dei servizi BITS/WUpdate sembrano tutto tranne che veloci. 
</p>
<p>
Una volta che ce l'hai fatta - a far comparire l'iconcina della proposta di aggiornamento a Windows 10, poi la strada comincia ad essere in discesa, finalmente. Il download dell'aggiornamento a Windows 10 che mi &egrave; stato proposto era di circa 2,8 GB, che sono stati stoppati al 80%, ma il servizio &egrave; riuscito a ripartire dal punto in cui si &egrave; fermato salvando cos&igrave; i 2 GB abbondanti gi&agrave; scaricati.
</p>
<p>
Infine l'aggiornamento vero &egrave; proprio di Windows 10 ha richiesto tempi non proprio veloci per una macchina nuova, non dotata per&ograve; di disco SSD. Viene da chiedersi se in Microsoft provano bene i loro software e se hanno un'idea dell'esperienza utente media, quando si passa a Windows 10 su una macchina con 4 GB di RAM, processore Intel Core i3 e disco rigido "vecchio mondo" da 500 GB, anzich&eacute; un superperformante disco a stato solido. Anche qua se ne vanno un paio di ore di trepidante attesa.
Quando infine si &egrave; installato Windows 10, non &egrave; finita con gli aggiornamenti: ce ne sono un altro piccolo vagoncino, ma niente a confronto di quelli supposti inutili scaricati il giorno prima per mettere Windows 8.1 nelle condizioni di far comparire la magica iconcina.
</p>
<p>
Quando siete arrivati qua, cominciano una serie di operazioni drastiche: eliminare il bloatware che ogni costruttore di PC ha utilizzato per infarcire il proprio hardware. Nel mio caso Acer ha messo dentro una suite di applicazioni per la gestione di media, foto e files, chiaramente cloudbased, come se non avessimo gi&agrave; abbastanza soluzioni con Google Drive, iCloud, Dropbox e compagnia bella, visto che ci sarebbe gi&agrave; Microsoft che parte da un predellino previlegiato con OneDrive e Office 360.
</p>
<p>
Poi ci sono tutte quelle utility per la gestione del computer, per l'assistenza Acer, per il loro power management, come se Microsoft non avesse fatto nulla col suo doppio set di impostazioni del nuovo mondo (Windows 10) e pannelli di controllo (di Windows 7).
</p>
<p>
Poi c'&egrave; da rimuovere l'ennesimo bloatware, Pokki Start Menu, cio&egrave; la proposta di Acer allo start menu di Windows 8 - perch&eacute; tutti partono gi&agrave; dal presupposto che Windows 8 &egrave; nato male anzi malissimo - solo che questo bloatware per Windows 8 rimane l&igrave; vivo e vegeto nella barra delle applicazioni e avete da fare le vostre per estirparlo.
</p>
<p>
Alla fine ce l'avete fatta: Windows 10 propone di vedersi un video di "Cinque cose da sapere di Windows 10", solo che &egrave; in inglese. Cribbio, possibile che con tutti questi dipendenti e evangelisti italiani che lavorano in Microsoft Italia non ce ne sia uno che ha speso due ore per doppiare il video e mettere l'audio nella lingua di Dante"?
</p>
<p>
Una volta che ce l'avete fatta, Windows 10 diventa la macchina perfetta per lo smanettone: il consumo di RAM non &egrave; eccessivo, la stabilit&agrave; dei processi &egrave; sempre abbastanza buona, ma traspare ancora tutta la mia delusione perch&eacute; non sono capaci di fare come Samsung, cio&egrave; copiare come si deve OS X e Apple.
</p>
<p>
Nella prossima puntata vedremo il pannello di controllo "Programmi e funzionalit&agrave;", diventata in Windows 10 "App e funzionalit&agrave;".
</p>

]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1774]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1774</guid>
	<dc:date>2015-11-02T10:22:06+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Ogni giorno uno schermo nuovo su Windows 10]]></title>
	<description><![CDATA[<p>
<meta property="og:image" content="http://www.tencas.com/public/pulai_penang_flickr.jpg"/>
Basta fare una ricerca con <a href="http://images.google.it">Google Images</a> per trovare la foto del giorno proposta dal blocco schermo di Windows 10 e si scopre che la foto arriva da <a href="http://www.flickr.com">Flickr</a>.
</p>
<p>
La trovate infatti a questo <a href="https://www.flickr.com/photos/hafizismail/13866005835">URL</a> dentro la gallery di <a href="https://www.flickr.com/photos/hafizismail/">Hafiz Ismail</a>. Il soggetto fotografato &egrave; un bellissimo ed altrettanto ritoccatissimo tramonto con un <a href="https://www.flickr.com/map?&fLat=5.477&fLon=100.3758&zl=17">ponte abbandonato</a> a Pantai nel Pulai Penang.
</p>
<p align="center">
<img src="../public/pulai_penang_flickr.jpg" align="center" hspace="6" vspace="6" alt="Windows 10 lockscreen" />
</p>
<p>
Peccato davvero che gli uomini di Microsoft abbiano avuto la brillante idea di proporre ogni giorno una foto nuova sulla propria schermata di blocco cercando delle foto molto suggestive sulla rete e chiedendo anche un'opinione soggettiva tramite la loro versione di "Mi piace", ma senza mettere alcuna indicazione della provenienza, dell'hardware usato per lo scatto, del fotoritocco effettuato ed ovviamente dell'autore, tutte cose che si riescono ad ottenere quasi banalmente dalle informazioni EXIF dello scatto in rete. Non &egrave; la giusta maniera di creditare chi ha trasformato un momento in un piccolo capolavoro fotografico.
</p>
]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1771]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1771</guid>
	<dc:date>2015-09-25T09:12:30+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Driver di Windows 10]]></title>
	<description><![CDATA[<p>
<meta property="og:image" content="http://www.tencas.com/public/realtek_w10.png"/><img src="../public/realtek_w10.png" hspace="6" vspace="6" border="0" alt="Realtek su Windows 10" align="right" />
Tra ieri e oggi ho sbattuto non poco la testa con <a href="www.microsoft.com/Windows10&#8206;">Windows 10</a>, dopo sostanzialmente 45 giorni senza problemi particolari.
</p>
<p>
Da quando l'ho installato, conto su una mano i problemi riscontrati con la mia installazione principale, davvero poca cosa rispetto a quello a cui siamo sempre stati abituati con le precedenti di Windows.
</p>
<p>
Tendo a pensare che la giustificazione principale sia quella che il modello di distribuzione adottato da <a href="www.microsoft.com&#8206;">Microsoft</a>per <a href="www.microsoft.com/Windows10&#8206;">Windows 10</a> - cio&egrave; gratis per tutti e soprattutto "in automatico" - abbia consentito di scovare abbastanza presto le magagne principali, anche se queste sono presumibilmente raccolte e fissate attraverso l'estensivo programma di test aperto a molti.
</p>
<p>
Questi comunque i problemi patiti:
</p>
<ul>
<li>necessit&agrave; di reinstallare una parte molto piccola di programmi</li>
<li>necessit&agrave; di reinstallare parte di Microsoft Visual Studio 2010</li>
<li>crash molto sporadici del driver della scheda video (un solo blue screen)</li>
<li>impossibilit&agrave; di installare automaticamente l'aggiornamento KB3087040</li>
<li>funzionamento intermittente del driver della scheda di rete del mio notebook</li>
</ul>
<p>
L'errore si manifestava con l'impossibilit&agrave; della scheda di rete di ricevere pacchetti dalla porta Ethernet per un lasso di tempo anche di 1 o 2 minuti ogni mezz'ora o ogni ora. In qualche caso la comunicazione riprendeva a funzionare, in altri casi era necessario disabilitare e riabilitare il dispositivo di rete attraverso il relativo pannello di controllo. Nei casi pi&ugrave; estremi - l'ho fatto 3 o 4 volte - sono stato costretto a riavviare il sistema operativo.
</p>
<p> 
Questo malfunzionamento &egrave; stato quello che mi ha causato la perdita di tempo maggiore, perch&eacute; mi ha costretto, quando possibile, ad usare la connessione Wifi del notebook, e mi ha portato ad effettuare tutta una serie di prove ed arrivare al nocciolo della questione, cio&egrave; il driver. 
</p>
<p>
Nell'ordine ho provato a capire se era il firewall a non funzionare, tutta la connettivit&agrave; verso internet, l'assegnazione dinamica o statico dell'indirizzo IP sulla porta Ethernet, il cavo Ethernet, il connettore lato computer o lato presa a muro, fino a controllare il funzionamento sul rack, e via dicendo, cio&egrave; il solito minimo di diagnosi che si pu&ograve; fare per un problema di connettivit&agrave;. Poi viene in aiuto San Google, che trova rapidamente chi pu&ograve; avere avuto il tuo stesso problema, solo che in questo caso non ho trovato post diretti che suggerivano di prendersi un eventuale driver pi&ugrave; nuovo.
</p>
<p>
Microsoft ha di fatto deciso lei per tutti quali debbano essere i driver per far funzionare la maggioranza dei dispositivi hardware, in attesa che i produttori rilascino qualcosa di specifico per Windows 10 e maggiormente testato.
</p>
<p>
E' il caso del driver del mio chipset di rete Ethernet, cio&egrave; un Realtek PCIe GBE Family Controller. Il driver preinstallato di Microsoft porta la data del 25/5/2015 e, se si chiede la disposibilit&agrave; di qualche aggiornamento tramite il relativo controllo:
</p>
<ul>
<li>andare su <b>Gestione Dispositivi</b></li>
<li>selezionare Schede di rete ed espandere il nodo</li>
<li>selezionare il nodo <b>Realtek PCIe GBE Family Controller</b> e aprire il dialogo delle propriet&agrave;</li>
<li>andare alla pagina <b>Driver</b></li>
<li>cliccare sul bottone <b>Aggiorna Driver</b></li>
<li>cliccare la scelta Cerca automaticamente un driver aggiornato</li>
</ul>
<p>
Il sistema risponder&agrave; dicendo che "il driver del dispositivo &egrave; gi&agrave; aggiornato".
</p>
<p>
Andando invece sul sito ufficiale di <a href="http://www.realtek.com.tw/">Realtek</a> si scopre che al 24/8/2015 &egrave; stato distribuito un <a href="http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false">driver pi&ugrave; nuovo</a> - che evidentemente Microsoft non ha ancora gestito e processato per la maggioranza. La versione di questo driver &egrave; la <a href="http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false">10.3.723.2015</a>, che porta la data del 23/7/2015 e che risolve probabilmente il problema che ho accusato io negli ultimi giorni.
</p>
]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1770]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1770</guid>
	<dc:date>2015-09-24T23:15:12+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Le macro su Visual Studio 2010 non girano pił]]></title>
	<description><![CDATA[<p>
A partire da febbraio 2014 una patch di vulnerabilit&agrave; sembra impedire il funzionamento regolare dell'esecuzione delle macro dentro Microsoft Visual Studio 2010 e dei precedenti 2005 e 2008.
</p>
<p>
Sembra che la soluzione consista nel modificare i seguenti file, a seconda del Visual Studio che non funziona pi&ugrave;:
</p>
<ul>
<li>su Visual Studio 2005 il file da modificare &egrave; C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\8.0\VsaEnv\Vsmsvr.exe.config</li>
<li>su Visual Studio 2008 il file da modificare &egrave; C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\Vsmsvr.exe.config</li>
<li>su Visual Studio 2010 il file da modificare &egrave; C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\Vsmsvr10.exe.config</li>
</ul>
<p>
La modifica da fare sul file di configurazione XML sembra essere questa, cio&egrave; aggiungere il seguente nodo dentro il nodo &lt;runtime&gt;, nodo che dovrebbe gi&agrave; essere presente:
</p>
<p>
&lt;AllowDComReflection enabled="true"/&gt; 
</p>
<p>
Questa modifica dovrebbe ripristinare il lancio effettivo delle macro.
</p>
<p>
Su <a href=http://stackoverflow.com/">StackOverflow</a> dovreste trovare proprio la <a href="http://stackoverflow.com/questions/21762194/macros-dont-run-in-visual-studio-2010">problematica</a> posta da qualcuno e risolta da altri.
</p>]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1762]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1762</guid>
	<dc:date>2015-06-12T15:18:36+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Bing e Grezzana non vanno d'accordo]]></title>
	<description><![CDATA[<p>
Ho aperto fortuitamente le <a href="http://www.bing.com/maps/">mappe</a> di <a href="http://www.bing.com">Bing</a> in versione Metro sul mio Windows 8.1 Update 1 e scopro che qua nel mio quartiere &egrave; pieno di errori, tanto per cambiare...
</p>
<p>
Tutti i cerchi che vedete si riferiscono a ragioni sociali o filiali che non ci sono proprio. Qua ci sono quasi esclusivamente abitazioni residenziali. Cos&igrave;, a spanne, la confusione &egrave; generata dal fatto che se togliete Grezzana e mettete il capoluogo di provincia, Verona, probabilmente trovate la giusta collocazione della ragione sociale, per&ograve; io non ho controllato personalmente.
</p>
<p>
Per fortuna che <a href="http://www.apple.com">Apple</a> si &egrave; messa a farsi le mappe per conto suo, ma &egrave; sicura che <a href="http://www.bing.com">Bing</a> sia altrettanto buono per le ricerche, visto che il default delle ricerche in Safari &egrave; ora <a href="http://www.bing.com">Bing</a>?
</p>
<p align="center">
<img src="../public/bing_errori_01.jpg" hspace="6" vspace="6" border="0" alt="Errori di Bing a Grezzana" align="center" />
</p>]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1706]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1706</guid>
	<dc:date>2014-05-07T11:06:47+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Le macro di Visual Studio non vanno pił]]></title>
	<description><![CDATA[<p>
Sembra che il problema sia pervasivo per tantissimi sviluppatori, che utilizzano versioni precedenti di Visual Studio, come la 2005, la 2008 e la 2010.
</p>
<p>
Non vanno pi&ugrave; le macro, con grossi problemi di funzionamento dei normali flussi di produzione del lavoro.
</p>
<p>
La soluzione la trovate <a href="http://visualstudioextensions.vlasovstudio.com/2014/02/13/visual-studio-2010-macros-stop-working-after-february-2014-windows-update/">qui</a>.
</p>
<p>
Originariamente la soluzione consisteva nel "sacrificare" una patch di sicurezza arrivata ai primi di febbraio 2014:
</p>
<p>
<table width="100%">
<tr>
<td>S.O.</td>
<td>.NET 4.5.1</td>
<td>.NET 4.5</td>
<td>.NET 4</td>
<tr>
<td>Windows 8.1</td>
<td>KB2898871</td>
<td></td>
<td></td>
</tr>
<tr>
<td>
Windows 8</td>
<td>KB2898870</td>
<td>KB2898865</td>
<td></td>
</tr>
<tr>
<td>Windows 7</td>
<td>KB2898869</td>
<td>KB2898864</td>
<td>KB2898855</td>
</tr>
<tr>
<td>Windows XP</td>
<td></td>
<td></td>
<td>KB2898855</td>
</tr>
</table>
</p>
<p>
Poi qualcuno &egrave; andato avanti ed ha consigliato di mettere il nodo AllowDComReflection:
</p>
<pre>
&lt;?xml version ="1.0"?&gt;
 &lt;configuration&gt;
     &lt;runtime&gt;
         &lt;AllowDComReflection enabled="1"/&gt;
     &lt;/runtime&gt;
 &lt;/configuration&gt;
</pre>
<p>
dentro tre file di configurazione e precisamente:
</p>
<pre>
"C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsmsvr.exe.config"
"C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsaenv.exe.config"
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe.config"
</pre>
<p>
Per modificare questi file &egrave; necessario avere i previlegi di amministratore, pertanto, se usate Notepad, ricordatevi di fare l'escalation.
</p>]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1705]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1705</guid>
	<dc:date>2014-05-06T09:57:35+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Filtro del feed RSS di Dblog]]></title>
	<description><![CDATA[<p>
Ottenere un feed RSS &egrave; cosa pi&ugrave; o meno gratuita da tantissimi CMS, cos&igrave; come anche dal simpatico <a href="http://www.dblog.it">Dblog</a>, che uso ormai da 9 anni per la gestione del mio blog personale.
</p>
<p>
Il <a href="http://www.tencas.com/blog">mio blog</a> &egrave; per&ograve; pieno di articoli della natura pi&ugrave; svariata e mi aiuto proprio con la suddivisione in sezioni per tenerli distinti, sia per le mie ricerche personali che per i visitatori del mio portale.
</p>
<p>
Purtroppo il <a href="http://www.tencas.com/feedrss.asp">feed RSS</a> spara fuori tutto, senza dare la possibilit&agrave; di filtrare alcune sezioni, cio&egrave; vengono mescolati, nel mio caso, articoli di giri in mountain bike con materiale di divulgazione scientifica o informatica.
</p>
<p>
Mi sono pertanto preso la briga di scrivere un piccolo filtro a partire dal file in ASP feedrss.asp, dando la possibilit&agrave; di filtrare per sezioni, cio&egrave; di ottenere la lista degli articoli per un sottoinsieme di sezioni specificato attraverso la Request:
</p>
<p>
filteredfeedrss.asp?sections=[sezioni]
</p>
<p>
Dove il vostro sezioni dovr&agrave; contenere una o pi&ugrave; sezioni opportunamente concatenate con la virgola, anch'essa codificata (%2C) per la Request:
</p>
<p>
[sezioni] = sezione1%2Csezione2%2Csezione3
</p>
Questo presuppone che non abbiate usato il carattere virgola proprio dentro alle denominazioni delle sezioni, altrimenti dovrete pensare a qualche altro carattere di separazione. Se pertanto volete pescare tutti gli articoli riguardanti il web e Windows dal mio blog l'http GET da effettuare &egrave; la seguente:
</p>
<p>
<a href="http://www.tencas.com/blog/filteredfeedrss.asp?sections=web%2CWindows">http://www.tencas.com/blog/filteredfeedrss.asp?sections=web%2CWindows</a>
</p>
<p>
Se invece non specificate alcun parametro, esso risponder&agrave; con tutte le sezioni:
</p>
<p>
<a href="http://www.tencas.com/blog/filteredfeedrss.asp">http://www.tencas.com/blog/filteredfeedrss.asp</a>
</p>
<p>
Si potrebbe proseguire a svilupparlo, gestendo anche un meccanismo di esclusione di alcune sezioni, in modo da evitare che eventuali nuove sezioni rimangano tagliate fuori, ma ci penser&ograve; pi&ugrave; avanti.
</p>
<p>
Questo il sorgente modificato:
</p>
<pre>
  Dim SectionWherePart
  Dim SectionsRequest
  Dim sectionKeys
  Dim sectionKeysCount

  WherePart = "(Articoli.Data <= '" &amp; DataToStr(Date()) &amp; 
     "') AND (NOT Articoli.Bozza)"
  If (Request("sections") <> "") Then
    SectionsRequest = ControlloSQLInjection(Request("sections"))
    sectionKeys = Split(SectionsRequest,",")
    For Each sectionKey in sectionKeys
      If (sectionKeysCount > 0) Then
        SectionWherePart = SectionWherePart &amp; " OR "
      End If
      SectionWherePart = SectionWherePart &amp; "([Sezione] = '" &amp; 
          sectionKey &amp; "')"
      sectionKeysCount = sectionKeysCount + 1
    Next
    WherePart = WherePart &amp; " AND (" &amp; SectionWherePart &amp; ")"
  End If
  
	SQLArticoli = " SELECT TOP "& Num_Max_Articoli &amp; 
         " [ID], [Autore], [Sezione], [Titolo], [Testo], " 
         "[Data], [Ora] FROM Articoli WHERE " &amp; WherePart &amp; 
         " ORDER BY Articoli.Data DESC, Articoli.Ora DESC "

</pre>
<p>
Se volete scaricare tutto il file, lo potete trovare <a href="../public/filteredfeedrss.zip">qua</a>. Potete metterlo tranquillamente nella radice di dblog, affiancato al tradizionale file feedrss.asp.
</p>]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1687]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1687</guid>
	<dc:date>2014-02-01T13:13:35+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Installing AMD/ATI Legacy driver in Windows 8]]></title>
	<description><![CDATA[<p>
I found <a href="http://answers.microsoft.com/en-us/windows/forum/windows8_1-hardware/how-to-install-catalyst-legacy-driver-in-windows/a520d44c-0baa-4569-92de-81cc1f30bf6f?tm=1384227530336">this tip</a> in the <a href="http://answers.microsoft.com/en-us">Answers</a> in the Microsoft Community. The question by a user was: "How to install Catalyst-legacy driver in Windows 8.1 with an AMD ATI HD Radeon 4200"?
</p>
<p>
At now, if you install Windows 8 or you update to Windows 8.1, Microsoft will install its legacy driver WDDM, which doesn't let you get hardware acceleration with OpenGL. However there's a fix to that! 
</p>
<p>
Let me drive you to install the ATI legacy driver, instead of the Microsoft one:
</p>
<ul>
<li>Install all components of the driver normally (Catalyst Control Center etc.)
 -> The graphics driver itself will fail - you need to install it manually using the Device Manager!
</li>
<li>
Open the Device Manager (right click on Start-Icon in left corner), go to "Graphics Card"
</li>
<li>
Right click on the card and select "Update driver..." from the context menu (first entry)
</li>
<li>
Click on "Search for a driver on the computer" (second entry)
</li>
<li>
Click "Select driver from list" 
</li>
<li>
Click on the "Device..." button in the right corner
</li>
<li>
Select the driver file (*.inf) from the extracted ATI folder. In my case, this was C:\AMD\Support\13-1-legacy_vista_win7_win8_64_dd_ccc\Packages\Drivers\Display\W86A_INF.
There are a few different files, it seems the dialog will choose the right one if you simple select one of them... TRY IT FIRST! Otherwise you could try to read the .inf files (they are just plain text files - maybe you'll find your chipset in there...
</li>
<li>
Click on OK, the dialog will now show one or two entries, which should have the name of your graphics card - select one of them
</li>
<li>
Click on Next - the screen(s) will go black and flicker, you will hear the device connection/disconnection sounds several times. Don't worry, everythings works as intended! :)
</li>
<li>
The driver should now be ready - restart your system, and you should now be able to control your graphics settings using the Catalyst Control Center.
</li>
</ul>
<p>
Last Tip (which I did here in my own blog): save this trick somewhere, it will save you lots of headaches the next time you need to install windows! I figured it out painfully at least twice! :)
</p>]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1685]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1685</guid>
	<dc:date>2014-01-29T11:38:21+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Vorrei passare a Windows 8.1]]></title>
	<description><![CDATA[<p>
Vorrei installare l'aggiornamento a Windows 8.1, ma una volta tanto che entro nello Store di Windows, tat&agrave;!!
</p>
<p align="center">
<img src="../public/cant_connect_store.png" hspace="6" vspace="6" border="0" align="center" alt="Non riesco ad entrare nello store di Microsoft" />
</p>]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1684]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1684</guid>
	<dc:date>2014-01-27T22:54:45+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Fare la sincronizzazione ed il backup di file con Windows]]></title>
	<description><![CDATA[<p>
<img src="../public/puresync_box.png" hspace="6" vspace="6" border="0" align="right" alt="Puresync lento" />Da quando su <a href="http://www.apple.com/it/osx/&#8206;">OS X</a> c'&egrave; la sincronizzazione ed il backup automatico con Time Machine, i problemi per questo sistema operativo sono di fatto terminati. Con <a href="http://www.apple.com/it/support/timemachine/">Time Machine</a> ho trovato solo problemi da parte di QNAP, che non ha gestito correttamente l'aggiornamento del proprio sistema, da quando &egrave; uscito Mavericks (<a href="http://it.wikipedia.org/wiki/Mac_OS_X#OS_X_10.9">OS X 10.9</a>). Se ne <a href="http://forum.qnap.com/viewtopic.php?f=15&t=85065">parla abbastanza</a> sul <a href="http://forum.qnap.com/">Community Forum</a> del NAS <a  href="http://www.qnap.com/it">QNAP</a>.
</p>
<p>
Idem con patate anche per i dispositivi iOS che girano per casa. Grazie al backup in <a href="https://www.icloud.com/">iCloud</a>, ci si pu&ograve; pure dimenticare di fare un backup del proprio telefono: ci ha gi&agrave; pensato la <a href="http://www.apple.com/it">Apple</a> a mettere tutto al sicuro, fotografie, contatti e messaggi compresi.
</p>
<p>
Il problema rimane con Windows: da tempo esistono le utilit&agrave; di sistema gi&agrave; predisposte da <a href="http://www.microsoft.com/it">Microsoft</a>, ma di fatto il sistema operativo non invita a configurarlo all'atto dell'installazione o dell'aggiornamento del sistema operativo. Il problema &egrave; un po' mitigato da quando esistono i cloud storage generalisti, come <a href="https://skydrive.live.com/">Skydrive</a>, <a href="https://drive.google.com/">Google Drive</a> o <a href="http://www.dropbox.com">Dropbox</a>, ma in realt&agrave; non si &egrave; invitati a fare una copia di sicurezza di tutti i propri dati da qualche parte su un disco o su un server nella propria rete locale, aziendale o domestica.
</p>
<p>
Io uso da un paio di anni un'utility, che dovrebbe fare al caso mio, cio&egrave; la sincronizzazione mono e bidirezionale tra uno o pi&ugrave; gruppi di cartelle locali, verso altrettante cartelle residenti fisicamente in un disco remoto, cio&egrave; un NAS (Network Attached Storage).
</p>
<p>
Trattasi di <a href="http://www.jumpingbytes.com/en/puresync.html">PureSync</a>, ma nonostante sia gratuita nella modalit&agrave; in cui la uso io, non sono affatto soddisfatto, per tre semplici motivi:
</p>
<ol>
<li>ogni tanto si inchioda di brutto</li>
<li>la CPU va al 100% e non sta facendo praticamente niente</li>
<li>&egrave; terribilmente lenta nel copiare e movimentare i file, quasi ci fosse qualche problema tra il mio client Windows 8 e il NAS QNAP</li>
</ol>
<p>
E' talmente lento che riesco a leggere ad uno ad uno i nomi dei file, mano a mano che vengono copiati verso il server o che vengono cancellati sul disco remoto, quando non esiste pi&ugrave; la copia locale. Non &egrave; possibile che vengano cancellati solo due file al secondo. Insomma, per fare una sincronizzazione monodirezionale, cio&egrave; da disco locale a disco remoto, impiego 4-5 ore, quando dovrebbe essere una cosa di 2-3 minuti, a mio modo di vedere.
</p>
<p>
Sto pertanto valutando altre soluzioni ed attualmente la lista che voglio spulciare e studiare &egrave; la seguente, dove il fatto che sia disponibile anche un servizio per un ulteriore servizio di backup online &egrave; un plus, senza per questo essere una condizione indispensabile:
</p>
<ul>
<li><a href="http://sourceforge.net/projects/freefilesync/">Freefile Sync</a></li>
<li><a href="http://www.crashplan.com/">Crashplan</a></li>
<li><a href="http://mozy.com/">Mozy</a></li>
<li><a href="http://www.carbonite.com/">Carbonite</a></li>
<li><a href="http://www.synchromaster.com/">SynchroMaster</a></li> 
<li><a href="http://www.acronis.it/">Acronis TrueImage</a></li>
</ul>
<p>
In realt&agrave; basterebbe fare una ricerca su Google per scoprire, che la quantit&agrave; di software &egrave; virtualmente infinita...
</p>
<ul>
<li><a href="https://www.google.it/search?q=windows+Synchronize+and+backup+files+and+folders&oq=windows+Synchronize+and+backup+files+and+folders&aqs=chrome..69i57j69i65l2j0j69i61j69i60.1547j0j4&sourceid=chrome&espv=210&es_sm=93&ie=UTF-8">Cerca "windows Synchronize and backup files and folders"></a></li>
</ul>
<p>
Se avete qualche altro suggerimento, fatemi sapere cosa consigliate voi.
</p>
]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1678]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1678</guid>
	<dc:date>2014-01-20T13:37:06+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
<item>
	<title><![CDATA[Cartella Download veramente lenta]]></title>
	<description><![CDATA[<p>
<img src="../public/downloadfolder_slow.jpg" hspace="6" vspace="6" border="0" align="right" alt="Cartella download" />Non so se lo avete notato anche voi, ma succede molto spesso che l'attesa per l'apertura della cartella Download su Windows 8 sia molto lunga e pu&ograve; protrarsi anche per una quindicina di secondi.
</p>
<p>
Per fortuna che c'&egrave; San Google ad indicare la <a href="http://www.istartedsomething.com/20121202/quick-fix-for-very-slow-to-load-downloads-folder-in-windows-7-8/">soluzione</a>: la cosa succede sia su Windows 7 che Windows 8 perch&eacute; Windows Explorer ricalcola le anteprime delle icone delle immagini e di tutte le cartelle contenute a cascata, come se si trattasse di una cartella Immagini.
</p>
<p>
Windows ha deciso per conto suo di trattarla come se fosse una cartella di immagini e quindi ci ricalcola le anteprime (thumbnail) ogni volta che si rende necessario, cio&egrave; ogni volta che scaricate probabilmente una nuova immagine.
</p>
<p>
Questa asserzione andrebbe anche bene, visto che nella cartella di download ci finiscono mediamente tantissime immagini, se non fosse che l'attivit&agrave; di scansione viene effettuata su tutti i file, compresi i file ZIP o installazioni che potrebbero trovarsi nella cartella.
</p>
<p>
E' pertanto necessario dire ad Explorer di trattare la cartella come cartella per "Elementi generali" andando in:
</p>
<pre>
C:\Users\VostroNomeUtente
</pre>
<p>
Selezionate la cartella Download, scegliete la voce Propriet&agrave; dal menu contestuale e posizionatevi sull'ultima pagina Personalizza.
</p>
<p>
All'interno del riquadro Tipo di cartella, in corrispondenza della voce Ottimizza cartella per scegliete la voce "Elementi generali".
</p>
<p>
Confermate il tutto e l'accesso alla cartella Download dovrebbe tornare ad essere pi&ugrave; o meno immediato!
</p>
<p>
Pare per&ograve; che la scelta non sia definitiva, per cui, se vi accorgete che l'apertura della cartella Download torna a diventare lenta, probabilmente Windows ha deciso autonomamente di modificare l'impostazione che voi avete fissato.
</p>
]]></description>
	<link><![CDATA[http://www.tencas.com/blog/articolo.asp?articolo=1675]]></link>
	<guid isPermaLink="true">http://www.tencas.com/blog/articolo.asp?articolo=1675</guid>
	<dc:date>2014-01-07T11:29:16+01:00</dc:date>
	<dc:creator>Marco Tenuti</dc:creator>
</item>
	</channel></rss>