<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/1.5.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>

<channel>
	<title>Smoker's Area</title>
	<link>http://www.pinellus.it/smokers</link>
	<description>Il primo spazio pubblico dove non e' vietato fumare</description>
	<pubDate>Fri, 22 Dec 2006 10:29:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.2</generator>
	<language>en</language>

		<item>
		<title>Eclipse a razzo su Windows</title>
		<link>http://www.pinellus.it/smokers/2006/10/07/eclipse-a-razzo-su-windows/</link>
		<comments>http://www.pinellus.it/smokers/2006/10/07/eclipse-a-razzo-su-windows/#comments</comments>
		<pubDate>Sat, 07 Oct 2006 16:41:24 +0000</pubDate>
		<dc:creator>Pinellus</dc:creator>
		
	<dc:subject>Tips&#038;CodeSnippets</dc:subject><dc:subject>Eclipse</dc:subject><dc:subject>Java</dc:subject><dc:subject>Windows</dc:subject>
		<guid>http://www.pinellus.it/smokers/2006/10/07/eclipse-a-razzo-su-windows/</guid>
		<description><![CDATA[	Avete problemi di lentezza con Eclipse su Windows (specialmente in avvio)  o, ancora peggio, andate spesso incontro a errori di OutOfMemory con Eclipse che miseramente va in crash?
Eccovi un piccolo tip su come migliorare la partenza e le performance di Eclipse su sistemi Windows.
Aprite le proprietÃ  del collegamento ad eclipse.exe e nel tab &#8220;Collegamento&#8221; [...]]]></description>
			<content:encoded><![CDATA[	<p>Avete problemi di lentezza con Eclipse su Windows (specialmente in avvio)  o, ancora peggio, andate spesso incontro a errori di OutOfMemory con Eclipse che miseramente va in crash?<br />
Eccovi un piccolo tip su come migliorare la partenza e le performance di Eclipse su sistemi Windows.<br />
Aprite le proprietÃ  del collegamento ad eclipse.exe e nel tab &#8220;Collegamento&#8221; alla voce &#8220;Destinazione&#8221; sostituite eclipse.exe con la riga seguente:</p>
	<p><code>eclipse.exe -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M -XX:MaxNewSize=32M -XX:NewSize=32M -Xmx256m -Xms512m</p>
	<p></code></p>
	<p>N.B. I valori dei parametri Xms (initial Java heap size) e Xmx (maximum Java heap size) sopra riportati sono riferiti ad una macchina con 2GigaByte di Ram. Customizzare i valori di questi due parametri in base al vostro PC (eseguendo delle prove e verificando il reale beneficio).</p>
	<p>Per referenze:<br />
<a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/java.html">http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/java.html</a><br />
<a href="http://edocs.bea.com/wls/docs81/perform/JVMTuning.html">http://edocs.bea.com/wls/docs81/perform/JVMTuning.html</a><br />
<a href="http://www.jguru.com/faq/view.jsp?EID=424214">http://www.jguru.com/faq/view.jsp?EID=424214</a></p>
]]></content:encoded>
			<wfw:commentRSS>http://www.pinellus.it/smokers/2006/10/07/eclipse-a-razzo-su-windows/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Guida alla Sicurezza del PC per i neofiti (Prima parte)</title>
		<link>http://www.pinellus.it/smokers/2006/07/19/guida-alla-sicurezza-del-pc-per-i-neofiti-prima-parte/</link>
		<comments>http://www.pinellus.it/smokers/2006/07/19/guida-alla-sicurezza-del-pc-per-i-neofiti-prima-parte/#comments</comments>
		<pubDate>Wed, 19 Jul 2006 08:52:48 +0000</pubDate>
		<dc:creator>Pinellus</dc:creator>
		
	<dc:subject>Tips&#038;CodeSnippets</dc:subject><dc:subject>Antivirus</dc:subject><dc:subject>Sicurezza</dc:subject><dc:subject>Windows</dc:subject>
		<guid>http://www.pinellus.it/smokers/2006/07/19/guida-alla-sicurezza-del-pc-per-i-neofiti-prima-parte/</guid>
		<description><![CDATA[	  E&#8217; un classico. Ogni volta che incontro qualcuno che mi chiede lumi sulla mia professione, prima c&#8217;Ã¨ una sorta di ammirazione manco fossi il detentore del Santo Graal, poi scatta in automatico il ritornello &#8220;Ho un problema con il mio computer, tu sicuramente lo saprai risolvere&#8221;.
E nel 99% dei casi si tratta di [...]]]></description>
			<content:encoded><![CDATA[	<p><img src='http://www.pinellus.it/smokers/wp-content/condom.jpg' alt='sicurezza' align="left" vspace="3" hspace="3"/>  E&#8217; un classico. Ogni volta che incontro qualcuno che mi chiede lumi sulla mia professione, prima c&#8217;Ã¨ una sorta di ammirazione manco fossi il detentore del Santo Graal, poi scatta in automatico il ritornello &#8220;Ho un problema con il mio computer, tu sicuramente lo saprai risolvere&#8221;.<br />
E nel 99% dei casi si tratta di Virus, Trojan e sputtanamenti vari del sistema operativo.<br />
In effetti sono poche le persone che conoscono come mettere al sicuro e mantenere sicuro il proprio computer. Il resto sono degli allegri e scanzonati utenti di internet pronti a cliccare tutto, a leggere ogni sorta di allegato arrivato via mail e magari con un Windows fermo alla SP1 e con Norton (perchÃ¨ se non Ã¨ Norton non va bene) scaduto che occupa solo memoria.<br />
E allora mi Ã¨ venuta l&#8217;idea di ricapitolare le regole basilari e i software (free) da utilizzare per rendere il proprio Pc con OS Windows sicuro.<br />
Prima di cominciare perÃ² Ã¨ importante ribadire la legge fondamentale nell&#8217;era dell&#8217;Information Technology:<br />
Il mondo si divide in due grandi categorie:  Chi ha perso tutti i suoi dati e chi non li ha persi â€œancoraâ€?.<br />
Quindi la raccomandazione Ã¨ sempre la stessa: <strong>Fatevi delle copie di backup dei vostri dati sempre e spesso.</strong></p>
	<ul>
	<li><strong>Antivirus</strong><br />
E&#8217; indispensabile avere un software antivirus sul proprio Pc. Qualcuno di mia conoscenza si vanta di non usare alcun antivirus (sono gli stessi che dicono di programmare in Java con il Notepad). E&#8217; vero, si puÃ² fare. Anche perchÃ¨ oggi il 99% dei virus arrivano via posta in allegati. Se si sta attenti a cosa si apre e non si cede alla tentazione di aprire un allegato con l&#8217;invitante scritta &#8220;MegaTettona.exe&#8221;, magari puoi fare a meno di un antivirus. Ma mio nonno mi ha sempre raccomandato di calzare, ove possibile, le mutande di ferro. Ergo. Installatevi un Antivirus. Personalmente odio antivirus invasivi e pesanti come Norton e/o McAfee (che si pagano). Ci sono antivirus free molto potenti che controllano anche la posta e non appesantiscono il sistema. Ecco i link:</p>
	<ul>
	<li><a href="http://free.grisoft.com/" target="_blank">AVG Free Edition</a> (il mio preferito)</li>
	<li><a href="http://www.avast.com/eng/free_virus_protectio.html" target="_blank">Avast Home Edition</a></li>
	<li><a href="http://www.free-av.com/" target="_blank">Antivir</a></li>
	</ul>
	</li>
	<p>Una volta installato il vostro bell&#8217;Antivirus abbiate cura di tenerlo sempre aggiornato e di eseguire una scansione del sistema completa almeno una volta a settimana.<br />
[Fine prima parte]
</ul>
]]></content:encoded>
			<wfw:commentRSS>http://www.pinellus.it/smokers/2006/07/19/guida-alla-sicurezza-del-pc-per-i-neofiti-prima-parte/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Java: Ordinare il contenuto di un Map</title>
		<link>http://www.pinellus.it/smokers/2006/04/08/java-ordinare-il-contenuto-di-un-map/</link>
		<comments>http://www.pinellus.it/smokers/2006/04/08/java-ordinare-il-contenuto-di-un-map/#comments</comments>
		<pubDate>Sat, 08 Apr 2006 17:28:06 +0000</pubDate>
		<dc:creator>Pinellus</dc:creator>
		
	<dc:subject>Tips&#038;CodeSnippets</dc:subject>
		<guid>http://www.pinellus.it/smokers/2006/04/08/java-ordinare-il-contenuto-di-un-map/</guid>
		<description><![CDATA[	Oridnare il contenuto di un oggetto Map Ã¨ molto semplice grazie all'implementazione di TreeMap ed alla possibilitÃ  di poter utilizzare una classe Comparator per dicidere la logica di ordinamento della key class.
Ecco un esempio di un ordinamento per data (in questo caso la key class Ã¨ un Timestamp)
	PLAIN TEXT
	JAVA:

	


Map mioMapObj=new TreeMap&#40;new MioComparator&#40;&#41;&#41;;

	
&#160;

	
private class MioComparator implements [...]]]></description>
			<content:encoded><![CDATA[	<p>Oridnare il contenuto di un oggetto Map Ã¨ molto semplice grazie all'implementazione di <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/TreeMap.html">TreeMap</a> ed alla possibilitÃ  di poter utilizzare una classe Comparator per dicidere la logica di ordinamento della key class.<br />
Ecco un esempio di un ordinamento per data (in questo caso la key class Ã¨ un Timestamp)</p>
	<div class="igBar"><a href="javascript:showCodeTxt('java-2');">PLAIN TEXT</a></div>
	<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVA:</span><br />
<div id="java-2">
	<div class="java">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><a href="http://www.google.com/search?q=allinurl%3AMap+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Map</span></a> mioMapObj=<span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?q=allinurl%3ATreeMap+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">TreeMap</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> MioComparator<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
	<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">class</span> MioComparator <span style="color: #000000; font-weight: bold;">implements</span> <a href="http://www.google.com/search?q=allinurl%3AComparator+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Comparator</span></a>&nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">int</span> compare<span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> obj1, <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> obj2<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
	<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<a href="http://www.google.com/search?q=allinurl%3ATimestamp+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Timestamp</span></a> comp1= <span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3ATimestamp+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Timestamp</span></a><span style="color:#006600; font-weight:bold;">&#41;</span> obj1;</div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<a href="http://www.google.com/search?q=allinurl%3ATimestamp+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Timestamp</span></a> comp2= <span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3ATimestamp+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Timestamp</span></a><span style="color:#006600; font-weight:bold;">&#41;</span> obj2;</div>
</li>
	<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #993333;">int</span> compare = comp1.<span style="color: #006600;">compareTo</span><span style="color:#006600; font-weight:bold;">&#40;</span>comp2<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">return</span> compare;</div>
</li>
	<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
	<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
	</div>
</div>
	<p>Fatto questo ogni volta che inserisco un oggetto in mioMapObj, viene<br />
richiamata la mia classe comparator e ordinato il contenuto del Map.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.pinellus.it/smokers/2006/04/08/java-ordinare-il-contenuto-di-un-map/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Backup PostgreSQL 8.x su Windows. Definitivo.</title>
		<link>http://www.pinellus.it/smokers/2006/01/25/backup-postgresql-8x-su-windows-definitivo/</link>
		<comments>http://www.pinellus.it/smokers/2006/01/25/backup-postgresql-8x-su-windows-definitivo/#comments</comments>
		<pubDate>Wed, 25 Jan 2006 18:02:02 +0000</pubDate>
		<dc:creator>Pinellus</dc:creator>
		
	<dc:subject>Tips&#038;CodeSnippets</dc:subject>
		<guid>http://www.pinellus.it/smokers/2006/01/25/backup-postgresql-8x-su-windows-definitivo/</guid>
		<description><![CDATA[	Le dicotomie sono il sale della vita.
Dopo la caduta del Muro di Berlino e la fine della guerra fredda, dopo la sconfitta delle ideologie socialiste, oggi il mondo si divide in due grandi categorie: 
	Chi ha perso i dati e chi non li ha persi "ancora". 
	Pensateci bene. Voi in che categoria siete?
Paura..eh?? Brividino lungo [...]]]></description>
			<content:encoded><![CDATA[	<p>Le dicotomie sono il sale della vita.<br />
Dopo la caduta del Muro di Berlino e la fine della guerra fredda, dopo la sconfitta delle ideologie socialiste, oggi il mondo si divide in due grandi categorie: </p>
	<p><center><strong>Chi ha perso i dati e chi non li ha persi "ancora". </strong></center></p>
	<p>Pensateci bene. Voi in che categoria siete?<br />
Paura..eh?? Brividino lungo la schiena??<br />
Ok. Se vi sentite il vostro gentil orifizio anale ben stretto e volete sapere come organizzare per bene una procedura automatizzata per fare il backup di DataBase su PostgreSQL 8.x sotto sistemi Windows, allora seguitemi in questo piccolo tutorial.<a id="more-97"></a></p>
	<p><strong>PG_DUMP</strong><br />
Il backup di un DB su PostgreSQL viene effettuato grazie al comando pg_dump. Per avere una panoromacia su questo comando, potete <a href="http://www.postgresql.org/docs/8.1/static/app-pgdump.html">visualizzare la reference on-line</a> oppure aprire una command line da Windows (Start --> Esegui --> cmd) e digitare <code>pg_dump -?</code> (sempre che abbiate nella variabile PATH il riferimento alla directory bin di PostgreSQL).<br />
Per effettuare un backup manuale di un DB Ã¨ quindi sufficiente digitare:</p>
	<p><code>pg_dump -h localhost -U [nome_utente] -Fc -x -f [nome_file_del_backup][nome_del_db_da_salvare]</code></p>
	<p>Premendo invio vi verrÃ  chiesto di digitare la password dell'utente specificato nell'argomento -U e si avvierÃ  la procedura di backup.<br />
Guardiamo gli altri argomenti che ho inserito in pg_dump:</p>
	<p>F = formato del file di backup.<br />
Nel mio caso ho specificato un formato custom (c) che Ã¨ il formato riconosciuto dal comando di restore <em>pg_restore</em> (consiglio di scegliere sempre questo formato). Altri formati disponibili sono Tar-archive (t) e il PlainText (p) che genera uno script file SQL.</p>
	<p>-x = Evita di salvare anche le informazioni dei privilegi sulle tabelle (da utilizzare a secondo dei casi).</p>
	<p>Inoltre in caso di backup con formato PlainText Ã¨ consigliabile inserire l'argomento -c che genera prima gli statement di cancellazione degli oggetti del DB (drop) e poi la loro creazione. In caso di ripristino con pg_restore per i formati custom e tar, ciÃ² non Ã¨ necessario poichÃ¨ Ã¨ una delle funzionalitÃ  del ripristino.</p>
	<p><strong>PostgreSQL backup</strong><br />
Se siete arrivati a leggermi fino a qui vuol dire che o siete degli eroi o dei geek oppure sei mia moglie che mi legge i post del blog per poi ricordarmi che sarebbe meglio prendere in mano un buon manuale di grammatica italiana...:-)</p>
	<p>Ok. Adesso arriva il bello.<br />
Dobbiamo creare una procedura automatizzata, magari schedulata da sistema operativo che ci consenta di avere un backup con tanto di nome file che riporti la data dell'operazione in formato yyyymmdd.</p>
	<p>La prima cosa da risolvere in caso di schedulazione del backup Ã¨ di evitare il prompt per la password.<br />
Purtroppo in pg_dump non Ã¨ possibile specificare la password dell'utente che esegue l'operazione.<br />
Per risolvere il problema ci sono due soluzioni: </p>
	<p><strong>1) pgpass.conf </strong><br />
La prima Ã¨ un workaround trovato qui:</p>
	<p><a href="http://www.postgresql.org/docs/8.0/interactive/libpq-pgpass.html">http://www.postgresql.org/docs/8.0/interactive/libpq-pgpass.html</a></p>
	<p>In pratica Ã¨ possibile specificare la password relativa ad un utente in un file pgpass.conf che si trova in:</p>
	<p><code>C:\Documents and Settings\[Nome Utente]\Dati applicazioni\postgresql</code></p>
	<p>(in alcuni casi Ã¨ possibile che questa directory e il relativo file non esistano. In questo caso create voi manualmente sia la dir che il file.<br />
A questo punto dobbiamo scrivere nel file pgpass.conf le credenziali per accedere al DB in questo modo:</p>
	<p><code>hostname:port:database:username:password</code></p>
	<p>Ad esempio nel mio caso ho utilizzato * al posto del nome del DB per specificare che questo utente ha accesso a tutti i DB. La mia riga Ã¨ questa:</p>
	<p><code>localhost:5432:*:postgres:[password]</code></p>
	<p><strong>2) trust vs password</strong><br />
La seconda soluzione (molto piÃ¹ semplice ma da utilizzare solo su macchine di sviluppo) consiste nel modificare il metodo di autenticazione di PostgreSQL da <em>Password authentication</em> a <em>Trust authentication</em>.<br />
Questa operazione prevede una modifica al file <code>pg_hba.conf</code> che si trova in:</p>
	<p><code>[DIR_INSTALLAZIONE]\PostgreSQL\8.0\data</code></p>
	<p>Aprite il file  <code>pg_hba.conf</code> con un editor di testo.<br />
Individuate la linea di testo:</p>
	<p><code>host    all         all         127.0.0.1/32          md5</code></p>
	<p>e sostituite "md5" con "trust" in modo da avere:</p>
	<p><code>host    all         all         127.0.0.1/32          trust</code></p>
	<p>Per maggiori informazioni su questo punto rimando a questo technotes:<br />
<a href="http://www.postgresql.org/docs/8.0/interactive/auth-methods.html#AUTH-TRUST">http://www.postgresql.org/docs/8.0/interactive/auth-methods.html#AUTH-TRUST</a></p>
	<p><strong>Batch Rulez</strong><br />
Ok. A questo punto ci siamo. Possiamo schedulare una procedura di backup senza che ci venga bloccata dal prompt per la password.<br />
Adesso creiamo un bel file batch che dovrÃ  eseguire un backup numerando il file con la data odierna.<br />
Ecco il contenuto del file che dovrÃ  avere estensione .bat</p>
	<div class="igBar"><a href="javascript:showCodeTxt('code-4');">PLAIN TEXT</a></div>
	<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">CODE:</span><br />
<div id="code-4">
	<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">@rem Copyright Pinellus.<span style="">it</span></div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">@rem Author: Gianluca Pinelli</div>
</li>
	<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">@rem Ref: http:<span style="color:#FF9933; font-style:italic;">//www.pinellus.it</span></div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
	<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">@rem *** Batch file per il backup di un DB PostgreSQL su WinXP***</div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
	<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">@REM Set della stringa data da anteporre ai file</div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">for /f <span style="color:#CC0000;">"tokens=1,2,3,4 delims=/ "</span> %%a in <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#CC0000;">'DATE /T'</span><span style="color:#006600; font-weight:bold;">&#41;</span> do set Date=%%c%%b%%a</div>
</li>
	<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">pg_dump -h localhost -U <span style="color:#006600; font-weight:bold;">&#91;</span>nome_utente<span style="color:#006600; font-weight:bold;">&#93;</span> -Fc -x -c -f <span style="color:#006600; font-weight:bold;">&#91;</span>path_directory_di_backup<span style="color:#006600; font-weight:bold;">&#93;</span>\%Date%.<span style="">backup</span> <span style="color:#006600; font-weight:bold;">&#91;</span>nome_db<span style="color:#006600; font-weight:bold;">&#93;</span> </div>
</li>
</ol>
</div>
	</div>
</div>
	<p>Ovviamente al posto di [nome_utente], [path_directory_di_backup] e [nome_db] dovrete inserire i vostri dati.</p>
	<p>Prendete questo file e fatelo puntare dallo scheduler di Windows.<br />
E il gioco Ã¨ fatto.</p>
	<p><strong>Lieto fine</strong><br />
Ti Ã¨ stato utile questo tutorial? Stai pensando "Pinellus, ti devono fare Santo-Subito!!" ??<br />
Bene, lascia un commento o cmq linkami. E se sei di Napoli o dei dintorni, puoi anche offrirmi un buon caffÃ¨.<br />
:-)
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.pinellus.it/smokers/2006/01/25/backup-postgresql-8x-su-windows-definitivo/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>OpenOffice Easter Egg</title>
		<link>http://www.pinellus.it/smokers/2005/12/20/openoffice-easter-egg/</link>
		<comments>http://www.pinellus.it/smokers/2005/12/20/openoffice-easter-egg/#comments</comments>
		<pubDate>Tue, 20 Dec 2005 12:23:48 +0000</pubDate>
		<dc:creator>Pinellus</dc:creator>
		
	<dc:subject>Tips&#038;CodeSnippets</dc:subject>
		<guid>http://www.pinellus.it/smokers/2005/12/20/openoffice-easter-egg/</guid>
		<description><![CDATA[	Anche gli sviluppatori di Open Office si sono divertiti ad inserire qualche Easter Egg nella loro suite di office automation.
Questo si chiama StarWars Game e funziona su OpenOffice 2.0 
	Come funziona:
	Aprite il programma Calc di OpenOffice (l'equivalente di Excel per capirci).
In una qualsiasi cella digitare:   =Game("StarWars")
ApparirÃ  un piccolo gioco stile Space Invaders...:-)
ATTENZIONE!: il [...]]]></description>
			<content:encoded><![CDATA[	<p>Anche gli sviluppatori di Open Office si sono divertiti ad inserire qualche <a href="http://en.wikipedia.org/wiki/Easter_egg_(virtual)">Easter Egg</a> nella loro suite di office automation.<br />
Questo si chiama StarWars Game e funziona su OpenOffice 2.0 </p>
	<p>Come funziona:</p>
	<p>Aprite il programma Calc di OpenOffice (l'equivalente di Excel per capirci).<br />
In una qualsiasi cella digitare:   <code>=Game("StarWars")</code><br />
ApparirÃ  un piccolo gioco stile Space Invaders...:-)<br />
ATTENZIONE!: il giochino funziona una sola volta. Per poterlo riavviare dovrete riaprire sia Calc che killare il processo di quickstart (oppure piÃ¹ semplicemente al prossimo riavvio del PC).<br />
[testato su WinXP+SP2+OpenOffice 2.0 in italiano]<br />
Per altri EasterEgg: <a href="http://www.eeggs.com/">http://www.eeggs.com/</a></p>
]]></content:encoded>
			<wfw:commentRSS>http://www.pinellus.it/smokers/2005/12/20/openoffice-easter-egg/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>WordPress: Feed Rss per Categoria</title>
		<link>http://www.pinellus.it/smokers/2005/12/15/wordpress-feed-rss-per-categoria/</link>
		<comments>http://www.pinellus.it/smokers/2005/12/15/wordpress-feed-rss-per-categoria/#comments</comments>
		<pubDate>Thu, 15 Dec 2005 14:09:30 +0000</pubDate>
		<dc:creator>Pinellus</dc:creator>
		
	<dc:subject>Tips&#038;CodeSnippets</dc:subject>
		<guid>http://www.pinellus.it/smokers/2005/12/15/wordpress-feed-rss-per-categoria/</guid>
		<description><![CDATA[	Piccolo Tips/Tutorial per gli utenti WordPress.
Come ottenere il feed di una categoria e  inserire un link del feed stesso nell'elenco delle categorie.
	Scenario:
In blog (come questo) con contenuti eterogenei, puÃ² tornare utile avere non solo il feed generale ma anche uno per categorie. Se poi organizziamo bene le categorie creando delle main-category, allora Ã¨ possibile [...]]]></description>
			<content:encoded><![CDATA[	<p>Piccolo Tips/Tutorial per gli utenti WordPress.<br />
Come ottenere il feed di una categoria e  inserire un link del feed stesso nell'elenco delle categorie.</p>
	<p><strong>Scenario:</strong><br />
In blog (come questo) con contenuti eterogenei, puÃ² tornare utile avere non solo il feed generale ma anche uno per categorie. Se poi organizziamo bene le categorie creando delle main-category, allora Ã¨ possibile avere anche un feed tematico (che raggruppa alcune categorie).<br />
Ad esempio <a href="http://javablogs.com">Java.Blogs</a> (community che aggrega blog che hanno come tema Java e dintorni e al quale sono iscritto) Ã¨ molto chiaro sul rispetto del topic: <em>If your blog is irrelevant, it will be removed - enjoy <img src='http://www.pinellus.it/smokers/wp-images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </em><br />
Quindi non si puÃ² sgarrare. Un post off-topic vieni tranciato. <a id="more-78"></a><br />
Inoltre possiamo dare la possibilitÃ  ai nostri lettori di poter scegliere quale topic seguire del nostro blog (magari non tutti sono interessati alle mie digressioni social-politiche).</p>
	<p><strong>Soluzione:</strong><br />
E' necessario avere i feed per categoria.<br />
Con WordPress Ã¨ molto semplice. Se si utilizzano SEF (search engine friendly) URL's, basta aggiungere al link della categoria /feed<br />
Esempio:<br />
<a href="http://www.pinellus.it/smokers/category/it">http://www.pinellus.it/smokers/category/it</a><br />
<a href="http://www.pinellus.it/smokers/category/it/feed">http://www.pinellus.it/smokers/category/it/feed</a><br />
Di default WordPress mostrerÃ  il feed in formato RSS 2.0. Se si vuole avere il feed in altri formati aggiungere /rdf|rss|rss2|atom<br />
Esempio:<br />
<a href="http://www.pinellus.it/smokers/category/it/feed/atom">http://www.pinellus.it/smokers/category/it/feed/atom</a></p>
	<p>Se invece non si utilizzano  SEF URL's:</p>
	<p><a href="http://www.pinellus.it/smokers/?cat=10&#038;feed=rss2 ">http://www.pinellus.it/smokers/?cat=10&#038;feed=rss2 </a>(oppure rdf|rss|atom)</p>
	<p>Ok. Adesso perÃ² sarebbe bello poter mostrare nell'elenco delle categorie sulla nostra side-bar il link del feed accanto ad ogni nostra categoria.<br />
Per far questo ci vengono in aiuto le API di Wordpress. Nel caso specifico dovremo utilizzare le caratteristiche del Tempalte Tags <a href="http://codex.wordpress.org/Template_Tags/wp_list_cats">wp_list_cats</a>.<br />
wp_list_cats ci permette (grazie ai suoi parametri) di poter mostrare una lista di categorie linkabili. Ma non solo. PuÃ² mostrare il numero (counter) dei post in ogni categoria, non visualizzare alcune categorie, ordinare la lista secondo un criterio etc.<br />
Inoltre ha la possibilitÃ  di mostrare un link al feed Rss 2.0 della categoria stessa.<br />
E' sufficiente aggiungere il parametro <code>feed=[testo_da_visualizzare]</code> oppure <code>feed_image=[URI_immagine]</code> se vogliamo una immagine come link al feed.<br />
Di solito questo Tag Ã¨ utilizzato nel sidebar.php del vostro tema WordPress. (ma dipende dai template).</p>
	<p>Ecco un esempio di codice:</p>
	<div class="igBar"><a href="javascript:showCodeTxt('php-6');">PLAIN TEXT</a></div>
	<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">PHP:</span><br />
<div id="php-6">
	<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#000000; font-weight:bold;">&lt;?php</span> wp_list_cats<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'sort_column=name&amp;optioncount=1&amp;feed=rss'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;&nbsp; &nbsp; <span style="color:#000000; font-weight:bold;">?&gt;</span></div>
</li>
	<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
	<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
	</div>
</div>
]]></content:encoded>
			<wfw:commentRSS>http://www.pinellus.it/smokers/2005/12/15/wordpress-feed-rss-per-categoria/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>System recovery con Knoppix</title>
		<link>http://www.pinellus.it/smokers/2005/12/07/system-recovery-con-knoppix/</link>
		<comments>http://www.pinellus.it/smokers/2005/12/07/system-recovery-con-knoppix/#comments</comments>
		<pubDate>Wed, 07 Dec 2005 23:18:42 +0000</pubDate>
		<dc:creator>Pinellus</dc:creator>
		
	<dc:subject>Tips&#038;CodeSnippets</dc:subject>
		<guid>http://www.pinellus.it/smokers/2005/12/07/system-recovery-con-knoppix/</guid>
		<description><![CDATA[	 Segnalo questo interessante tutorial che spiega come utilizzare Knoppix, la distribuzione Linux nata esclusivamente come CD-bootable (per capirci non ha bisogno di essere installata), per operazioni di system recovery.
http://www-128.ibm.com/developerworks/linux/library/l-knopx.html?ca=dgr-lnxw04Knoppix
Scenario. Si impianta il sistema (Win o Linux Ã¨ indifferente) e non riusciamo a farlo ripartire, dobbiamo recuperare assolutamente i dati dall'harddisk, magari riversando il contenuto [...]]]></description>
			<content:encoded><![CDATA[	<p><img src='http://www.pinellus.it/smokers/wp-content/knoppix.gif' alt='knoppix' align="left" vspace="3" hspace="3"/> Segnalo questo interessante tutorial che spiega come utilizzare Knoppix, la distribuzione Linux nata esclusivamente come CD-bootable (per capirci non ha bisogno di essere installata), per operazioni di system recovery.<br />
<a href="http://www-128.ibm.com/developerworks/linux/library/l-knopx.html?ca=dgr-lnxw04Knoppix">http://www-128.ibm.com/developerworks/linux/library/l-knopx.html?ca=dgr-lnxw04Knoppix</a><br />
Scenario. Si impianta il sistema (Win o Linux Ã¨ indifferente) e non riusciamo a farlo ripartire, dobbiamo recuperare assolutamente i dati dall'harddisk, magari riversando il contenuto dello stesso su un altro HD o creando copie di backup con il masterizzatore.<br />
Quando pensiamo che tutto Ã¨ perduto e che non possi possiamo intervenire sul sistema operativo installato abbiamo la possibilitÃ , grazie a Knoppix, di poter "rianimare" il pc defunto per ripararlo o per salvare i dati.<br />
Knoppix Ã¨ una distro basata su Debian e KDE e riconosce un gran numero di periferiche.<br />
Quindi se volete avere un chance in piÃ¹ di non dover perdere tutti i vostri dati, stampatevi il tutorial segnalato, andate sul sito <a href="http://www.knoppix.org/">http://www.knoppix.org/</a>, scaricatevi la Iso, masterizzatela e conservatela con cura.<br />
Poi non dite che non ve lo avevo detto...;-)
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.pinellus.it/smokers/2005/12/07/system-recovery-con-knoppix/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Prototype: Guida veloce.</title>
		<link>http://www.pinellus.it/smokers/2005/12/05/prototype-guida-veloce/</link>
		<comments>http://www.pinellus.it/smokers/2005/12/05/prototype-guida-veloce/#comments</comments>
		<pubDate>Mon, 05 Dec 2005 10:33:44 +0000</pubDate>
		<dc:creator>Pinellus</dc:creator>
		
	<dc:subject>Tips&#038;CodeSnippets</dc:subject>
		<guid>http://www.pinellus.it/smokers/2005/12/05/prototype-guida-veloce/</guid>
		<description><![CDATA[	
	Grazie a Matt Raible, vi segnalo questo bella guida per cominciare ad utilizzare il framework JavaScript alla base di tutte le nuove WebApp 2.o.
La guida si basa sulla versione 1.3.1 (ultima disponibile).
Se avete intenzione di utilizzare Ajax e Dom nelle vostre applicazioni, questa libreria Ã¨ sicuramente il punto di partenza.
http://particletree.com/features/quick-guide-to-prototype/

]]></description>
			<content:encoded><![CDATA[	<p><img src='http://www.pinellus.it/smokers/wp-content/prototype.png' alt='prototype' /></p>
	<p>Grazie a <a href="http://raibledesigns.com/page/rd?entry=quick_guide_to_prototype">Matt Raible</a>, vi segnalo questo bella guida per cominciare ad utilizzare il framework JavaScript alla base di tutte le nuove WebApp 2.o.<br />
La guida si basa sulla versione 1.3.1 (ultima disponibile).<br />
Se avete intenzione di utilizzare Ajax e Dom nelle vostre applicazioni, questa libreria Ã¨ sicuramente il punto di partenza.<br />
<a href="http://particletree.com/features/quick-guide-to-prototype/">http://particletree.com/features/quick-guide-to-prototype/</a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.pinellus.it/smokers/2005/12/05/prototype-guida-veloce/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>The SANS Top 20 Internet Security Vulnerabilities</title>
		<link>http://www.pinellus.it/smokers/2005/11/23/the-sans-top-20-internet-security-vulnerabilities/</link>
		<comments>http://www.pinellus.it/smokers/2005/11/23/the-sans-top-20-internet-security-vulnerabilities/#comments</comments>
		<pubDate>Wed, 23 Nov 2005 11:45:36 +0000</pubDate>
		<dc:creator>Pinellus</dc:creator>
		
	<dc:subject>Tips&#038;CodeSnippets</dc:subject>
		<guid>http://www.pinellus.it/smokers/2005/11/23/the-sans-top-20-internet-security-vulnerabilities/</guid>
		<description><![CDATA[	 Il Sans (SysAdmin, Audit, Network, Security) Institute ha rilasciato un aggiornamento della "Top 20 Internet Security Vulnerabilities". Questo elenco di cricitÃ  divisa per tecnologie e per OS, Ã¨ un piccolo must da dover "necessariamente" leggere se si vuol svolgere seriamente la professione di tecnico ICT.
	Link: http://www.sans.org/top20/
	In particolare per chi realizza applicazioni web data-driven credo [...]]]></description>
			<content:encoded><![CDATA[	<p><img src='http://www.pinellus.it/smokers/wp-content/top20logo03.gif' alt='Sans' align="left" vspace="3" hspace="3"/> Il Sans (SysAdmin, Audit, Network, Security) Institute ha rilasciato un aggiornamento della "Top 20 Internet Security Vulnerabilities". Questo elenco di cricitÃ  divisa per tecnologie e per OS, Ã¨ un piccolo must da dover "necessariamente" leggere se si vuol svolgere seriamente la professione di tecnico ICT.</p>
	<p>Link: <a href="http://www.sans.org/top20/">http://www.sans.org/top20/</a></p>
	<p>In particolare per chi realizza applicazioni web data-driven credo sia fondamentale la checklist riportata di seguito:</p>
	<p><strong>Ensure that the DBMS and applications have been secured:</strong> </p>
	<ul>
	<li>Use minimal privileges. </li>
	<li>Remove/change default passwords on the database's privileged and system accounts before deploying the system on the network. </li>
	<li>Use stored procedures where possible. </li>
	<li>Remove/disable unnecessary stored procedures. </li>
	<li>Set length limits on any form fields. </li>
	<li>There are several useful resources to help secure DBMS mentioned in the references section. </li>
	<li>Use firewalls or other network security devices to restrict network access to the ports associated with database services. </li>
	<li>Do not trust user input! Ensure that the applications linked to databases clean all user input at the server side to avoid attacks such as SQL injection (see <a href="http://www.sans.org/rr/whitepapers/securecode/23.php">http://www.sans.org/rr/whitepapers/securecode/23.php</a>)</li>
	</ul>
]]></content:encoded>
			<wfw:commentRSS>http://www.pinellus.it/smokers/2005/11/23/the-sans-top-20-internet-security-vulnerabilities/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>PostgreSQL: Ripristinare Dump file in plain text</title>
		<link>http://www.pinellus.it/smokers/2005/11/22/postgresql-ripristinare-dump-file-in-plain-text/</link>
		<comments>http://www.pinellus.it/smokers/2005/11/22/postgresql-ripristinare-dump-file-in-plain-text/#comments</comments>
		<pubDate>Tue, 22 Nov 2005 16:05:20 +0000</pubDate>
		<dc:creator>Pinellus</dc:creator>
		
	<dc:subject>Tips&#038;CodeSnippets</dc:subject>
		<guid>http://www.pinellus.it/smokers/2005/11/22/postgresql-ripristinare-dump-file-in-plain-text/</guid>
		<description><![CDATA[	Se si esegue un backup completo di PostgreSQL in formato plain-text, non Ã¨ possibile ripristinarlo con l'utility apposita di pgAdmin (che riconosce solo i file compressi).
Per ripristinare il file ci viene in aiuto PostgreSQL interactive terminal (psql).
Aprire una cmd di Windows e digitare il seguente comando:
	psql -h [hostname] -U [user] -d [nome -database] -f [nome [...]]]></description>
			<content:encoded><![CDATA[	<p>Se si esegue un backup completo di PostgreSQL in formato plain-text, non Ã¨ possibile ripristinarlo con l'utility apposita di pgAdmin (che riconosce solo i file compressi).<br />
Per ripristinare il file ci viene in aiuto <em>PostgreSQL interactive terminal (psql)</em>.<br />
Aprire una cmd di Windows e digitare il seguente comando:</p>
	<p><code>psql -h [hostname] -U [user] -d [nome -database] -f [nome -file]</code></p>
	<p>Vi verrÃ  richiesta la password dell'utente selezionato e comincerÃ  il ripristino del DB.<br />
Per maggiori informazioni sui comandi psql potete digitare sempre da console:</p>
	<p><code>psql -?</code></p>
	<p>Oppure approfondire qui:<br />
<a href="http://www.postgresql.org/docs/8.0/static/app-psql.html">http://www.postgresql.org/docs/8.0/static/app-psql.html</a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.pinellus.it/smokers/2005/11/22/postgresql-ripristinare-dump-file-in-plain-text/feed/</wfw:commentRSS>
	</item>
	</channel>
</rss>
