<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Abisso Dev. &#187; how-to</title>
	<atom:link href="http://abisso.org/category/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://abisso.org</link>
	<description>il sapere umano appartiene al mondo</description>
	<lastBuildDate>Sun, 02 May 2010 14:08:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Mercurial e Redmine: aggiornamento automatico dello stato dei BUG</title>
		<link>http://abisso.org/2010/02/mercurial-e-redmine-aggiornamento-automatico-dello-stato-dei-bug/</link>
		<comments>http://abisso.org/2010/02/mercurial-e-redmine-aggiornamento-automatico-dello-stato-dei-bug/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 20:27:01 +0000</pubDate>
		<dc:creator>nolith</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[italiano]]></category>
		<category><![CDATA[bug tracker]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[mercurial hooks]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[redmine]]></category>

		<guid isPermaLink="false">http://abisso.org/?p=196</guid>
		<description><![CDATA[Da qualche giorno sto usando redmine per la gestione dei miei repository mercurial. Una cosa che trovo molto utile è cambiare lo stato dei BUG riportati nel tracker direttamente con il messaggio di commit. C&#8217;è un problema, di default il tracker di redmine non si aggiorna finché qualcuno non visita la pagina del repository&#8230;vediamo come [...]]]></description>
			<content:encoded><![CDATA[<p>Da qualche giorno sto usando <a href="http://www.redmine.org" target="_blank">redmine</a> per la gestione dei miei repository <a href="http://mercurial.selenic.com" target="_blank">mercurial</a>.</p>
<p>Una cosa che trovo molto utile è cambiare lo stato dei BUG riportati nel tracker direttamente con il messaggio di commit.</p>
<p>C&#8217;è un problema, di default il tracker di redmine non si aggiorna finché qualcuno non visita la pagina del repository&#8230;vediamo come risolvere il problema.</p>
<p><span id="more-196"></span>Mercurial ci mette a disposizione degli <a href="http://mercurial.selenic.com/wiki/Hook" target="_blank">hook</a> per eseguire alcuni script in corrispondenza di determinati eventi; possiamo sfruttare l&#8217;hook <tt>changegroup</tt> per aggiornare redmine.</p>
<p>Colleghiamoci in ssh al server su cui si trovano redmine e modifichiamo il file <tt>.hg/hgrc</tt> del nostro repository.</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"># output of /path/to/hg/repos/.hg/hgrc
# Mercurial - Redmine issue updater hook
# please update /path/to/redmine with your redmine path
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>hooks<span style="">&#93;</span></span>
changegroup.redmine <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> cd /path/to/redmine &amp;&amp; ruby script/runner </span><span style="color: #933;">&quot;Repository.fetch_changesets&quot;</span> -e production</pre></div></div>

<p>A questo punto non ci resta che eseguire un commit ed un push di prova.</p>
]]></content:encoded>
			<wfw:commentRss>http://abisso.org/2010/02/mercurial-e-redmine-aggiornamento-automatico-dello-stato-dei-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il mio disco fa BIP! Seagate ST9500420ASG 7200 rpm</title>
		<link>http://abisso.org/2010/01/il-mio-disco-fa-bip-seagate-st9500420asg-7200-rpm/</link>
		<comments>http://abisso.org/2010/01/il-mio-disco-fa-bip-seagate-st9500420asg-7200-rpm/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 10:23:26 +0000</pubDate>
		<dc:creator>nolith</dc:creator>
				<category><![CDATA[Recensioni]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[italiano]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[bip]]></category>
		<category><![CDATA[clicking]]></category>
		<category><![CDATA[freeze]]></category>
		<category><![CDATA[hard disk]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[noise]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[seagate]]></category>
		<category><![CDATA[ST9500420ASG]]></category>
		<category><![CDATA[sudden motion sensor]]></category>

		<guid isPermaLink="false">http://abisso.org/?p=171</guid>
		<description><![CDATA[Capita a tutti di fare l&#8217;acquisto sbagliato. Ma un hard disk che fa BIP (o click) mette sempre un po&#8217; di terrore. Stiamo parlando del favoloso HD seagate ST9500420ASG da 7200 RPM. Si tratta in effetti di un disco nato male. Leggendo in giro si scopre che tutti i produttori di PC che li hanno [...]]]></description>
			<content:encoded><![CDATA[<p>Capita a tutti di fare l&#8217;acquisto sbagliato. Ma un hard disk che fa BIP (o click) mette sempre un po&#8217; di terrore.</p>
<p>Stiamo parlando del <strong>favoloso</strong> HD seagate ST9500420ASG da 7200 RPM.</p>
<p>Si tratta in effetti di un disco <em>nato male</em>. Leggendo in giro si scopre che tutti i produttori di PC che li hanno equipaggiati sui loro computer hanno avuto gli stessi problemi (Apple, HP, DELL).</p>
<p>Vediamo come risolverli!</p>
<p><span id="more-171"></span>Prima di tutto bisogna dire che se avete acquistato un PC con dentro questo disco è già uscito il firmware updater e dovete cercarlo sul sito del produttore, ma se come me vi siete fatti male da soli, scegliendo di comprarlo direttamente dalla seagate&#8230;beh avete bisogno di questa guida.</p>
<p>Nota: <strong>Non mi ritengo responsabile di eventuali danni al vostro disco o pc, per me ha funzionato, ma seguite la procedura a vostro rischio e pericolo.</strong></p>
<h2>Il problema</h2>
<p>Adesso possiamo individuare il problema, se il vostro disco ogni tanto fa il rumorino che si sente nel video allora state leggendo il post giusto.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="340" height="285" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube-nocookie.com/v/cGDuAtEX8EA&amp;hl=it_IT&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="340" height="285" src="http://www.youtube-nocookie.com/v/cGDuAtEX8EA&amp;hl=it_IT&amp;fs=1&amp;rel=0&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;">Sembra che il problema sia dovuto ad una politica di risparmio energetico troppo aggressiva del firmware originale. (versione 0002SDM1)</p>
<p style="text-align: left;">Come dicevo le case costruttrici di PC sono state chiamate ad aggiornare i loro FW, ma la seagate non si degna di rilasciare un aggiornamento per chi il disco lo ha comprato da solo. Fortunatamente per noi il FW rilasciato da DELL (versione 0005SDM1) è compatibile anche con il nostro disco, ed il controllo sul seriale, che impedisce ad un disco non DELL di essere aggiornato, è facilmente aggirabile.</p>
<h3 style="text-align: left;">Apple e Sudden Motion Sensor</h3>
<p style="text-align: left;">Prima di procedere oltre devo fare una piccola digressione per i possessori di un MAC, questo HD incorpora un sensore di movimento che protegge il disco in caso di movimenti bruschi, sfortunatamente i macbook hanno un loro sensore (SMS) sulla scheda madre che fa lo stesso identico lavoro; questo porta a una situazione di conflitto in cui oltre ad avere il BIP si hanno dei momenti di blocco del disco il cui il sistema operativo va in freeze per 1-2 secondi e poi si sente il disco ripartire, per risolvere questo problema bisogna disabilitare il sensore SMS.</p>
<p style="text-align: left;">Con Snow Leoprad (10.6) aprire il terminale ed eseguire i seguenti comandi:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> pmset <span style="color: #660033;">-a</span> sms <span style="color: #000000;">0</span>
<span style="color: #666666; font-style: italic;"># ti verrà chiesta la password</span>
<span style="color: #c20cb9; font-weight: bold;">sudo</span> pmset <span style="color: #660033;">-g</span></pre></div></div>

<p>Se tutto è andato a buon fine avremo una risposta del genere:</p>
<pre>Active Profiles:
Battery Power		-1
AC Power		-1*
Currently in use:
 hibernatemode	3
 halfdim	1
 lidwake	1
 acwake		0
 womp		1
 sleep		10
 disksleep	10
 sms		0
 hibernatefile	/var/vm/sleepimage
 ttyskeepawake	1
 displaysleep	10</pre>
<p>Controllare che il valore di sms sia 0. Adesso il sensore è disabilitato. Per altre versione di OS X fare riferimento al link in fondo al post.</p>
<h2 style="text-align: left;">Aggiornamento del Firmware</h2>
<p style="text-align: left;">Dopo aver verificato di avere effettivamente un disco seagate ST9500420ASG con versione FW 0002SDM1 scarichiamo il SW per l&#8217;aggiornamento del firmware dal sito della <a href="http://support.us.dell.com/support/downloads/download.aspx?c=us&amp;cs=19&amp;l=en&amp;s=dhs&amp;releaseid=R250352&amp;formatcnt=1&amp;libid=0&amp;typeid=-1&amp;dateid=-1&amp;formatid=-1&amp;fileid=366465" target="_blank">DELL</a>. Una volta installato troveremo il file <em>Seagate Utility.iso</em> nella cartella <em>C:\dell\drivers\R250352</em>. Non dobbiamo fare altro che masterizzarlo su un CD ed riavviare il PC dal lettore di CD. ( Nel caso abbiate un MAC basta riavviare tenendo premuto il tasto alt, vi apparirà una schermata con il vostro disco e un CD con sotto una freccetta, fare click sulla freccetta sotto al dispositivo da cui volete fare il boot. Purtroppo non sono sicuro se serva o meno BootCamp per questo passaggio )</p>
<p style="text-align: left;">Adesso il vostro PC si avvierà in DOS e proverà ad aggiornare il FW fallendo per via del seriale.</p>
<p style="text-align: left;">A questo punto vi troverete davanti un prompt del DOS e dovete digitare il seguente comando:</p>
<pre style="text-align: left;">FHDL -m HOLLIDAY -f 0005SDM1.LOD -i ST9500420ASG -b -v</pre>
<p>Una volta terminato l&#8217;aggiornamento potete riavviare il PC e dire addio al fastidioso clicking.</p>
<h2 style="text-align: left;">Link</h2>
<p style="text-align: left;"><a href="http://forums.seagate.com/stx/board/message?board.id=ata_drives&amp;thread.id=16853&amp;view=by_date_ascending&amp;page=1" target="_blank">Discussione sul forum seagate</a> (inglese)</p>
<p style="text-align: left;"><a href="http://support.us.dell.com/support/downloads/download.aspx?c=us&amp;cs=19&amp;l=en&amp;s=dhs&amp;releaseid=R250352&amp;formatcnt=1&amp;libid=0&amp;typeid=-1&amp;dateid=-1&amp;formatid=-1&amp;fileid=366465" target="_blank">FW DELL</a> (inglese)</p>
<p style="text-align: left;"><a href="http://support.apple.com/kb/HT1934" target="_blank">Apple disabilitare il sensore di movimento</a> (inglese)</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://abisso.org/2010/01/il-mio-disco-fa-bip-seagate-st9500420asg-7200-rpm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[redirector] Sinatra + Heroku =&gt; Micro-applicazioni di cui non preoccuparsi</title>
		<link>http://abisso.org/2009/06/sinatra-heroku-micro-applicazioni-di-cui-non-preoccuparsi/</link>
		<comments>http://abisso.org/2009/06/sinatra-heroku-micro-applicazioni-di-cui-non-preoccuparsi/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 19:08:22 +0000</pubDate>
		<dc:creator>nolith</dc:creator>
				<category><![CDATA[Progetti]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[italiano]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[heroku]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sinatra]]></category>

		<guid isPermaLink="false">http://abisso.org/?p=131</guid>
		<description><![CDATA[Oggi mi son imbattuto in un problema che ho risolto grazie a sinatra ed heroku. Nei giorni scorsi avevo deciso di usare il domino bb.alessiocaiazza.info come mia pagina personale su bitbucket, solo che poi ho comprato il dominio l0g.in e avrei preferito usare code.l0g.in. Fin qui nulla di male, ma come fare con tutti i [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-137 alignright" style="margin-left: 3px;" title="redirector" src="http://abisso.org/wp-content/uploads/2009/06/redirector.png" alt="redirector logo" width="100" height="100" />Oggi mi son imbattuto in un problema che ho risolto grazie a sinatra ed heroku.</p>
<p>Nei giorni scorsi avevo deciso di usare il domino <em>bb.alessiocaiazza.info</em> come mia pagina personale su <a href="http://bitbucket.org">bitbucket</a>, solo che poi ho comprato il dominio <em>l0g.in</em> e avrei preferito usare <a href="http://code.l0g.in">code.l0g.in</a>.</p>
<p>Fin qui nulla di male, ma come fare con tutti i link che avevo disseminato in giro per il web? Avrebbero puntato ad una pagina di errore? No!</p>
<p>Mi è venuto in mente che con sinatra è possibile catturare le url con delle regexp&#8230;quindi&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;">#</span>
<span style="color:#008000; font-style:italic;"># redirector</span>
<span style="color:#008000; font-style:italic;">#</span>
<span style="color:#008000; font-style:italic;"># (c) 2009 - Alessio Caiazza </span>
&nbsp;
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rubygems'</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'sinatra'</span>
&nbsp;
REDIRECT_TO=<span style="color:#996600;">'http://l0g.in'</span>
&nbsp;
get <span style="color:#996600;">'/'</span> <span style="color:#9966CC; font-weight:bold;">do</span>
	redirect REDIRECT_TO
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
get <span style="color:#996600;">'/*'</span> <span style="color:#9966CC; font-weight:bold;">do</span>
	redirect <span style="color:#996600;">&quot;#{REDIRECT_TO}/#{params[:splat][0]}&quot;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>e poi deploy su heroku e custom domain service &#8230;..<strong>fatto!</strong></p>
<p>Ho colto l&#8217;occasione per provare <a href="http://hg-git.github.com/">hg-git</a>, quindi ho pubblicato tutto su <a href="http://github.com/nolith/redirector/">github</a></p>
]]></content:encoded>
			<wfw:commentRss>http://abisso.org/2009/06/sinatra-heroku-micro-applicazioni-di-cui-non-preoccuparsi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firmare gli archivi jar</title>
		<link>http://abisso.org/2009/06/firmare-gli-archivi-jar/</link>
		<comments>http://abisso.org/2009/06/firmare-gli-archivi-jar/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 13:23:53 +0000</pubDate>
		<dc:creator>nolith</dc:creator>
				<category><![CDATA[CaptureMJPEG]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[italiano]]></category>
		<category><![CDATA[CAcert]]></category>
		<category><![CDATA[jarsigner]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://abisso.org/?p=127</guid>
		<description><![CDATA[Un po&#8217; di tempo fa mi ero imbattuto nel problema di utilizzare online un&#8217;applet generata con Processing che utilizzasse CaptureMJPEG. Ero giunto alla conclusione che fosse necessario firmare l&#8217;applet e qualche giorno dopo mi sono procurato tramite CaCert una chiava utilizzabile per la firma del codice. Quello che segue è un rapido riepilogo dei passi [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://abisso.org/2009/05/capturemjpeg-come-applet/">Un po&#8217; di tempo fa</a> mi ero imbattuto nel problema di utilizzare online un&#8217;applet generata con <a href="http://processing.org">Processing</a> che utilizzasse <a href="http://capturemjpeg.lilik.it">CaptureMJPEG</a>.</p>
<p>Ero giunto alla conclusione che fosse necessario firmare l&#8217;applet e qualche giorno dopo mi sono procurato tramite <a href="http://cacert.org">CaCert</a> una chiava utilizzabile per la firma del codice.</p>
<p>Quello che segue è un rapido riepilogo dei passi necessari per la firma dei jar.</p>
<p><!-- more --></p>
<h3>Individuazione della chiave</h3>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">kaiman:applet nolith$ keytool <span style="color: #660033;">-list</span> <span style="color: #660033;">-storetype</span> pkcs12 \
<span style="color: #660033;">-keystore</span> keystore.p12
Immettere la password del keystore:  <span style="color: #000000; font-weight: bold;">**********************</span>
&nbsp;
Tipo keystore: pkcs12
Provider keystore: SunJSSE
&nbsp;
Il keystore contiene <span style="color: #000000;">1</span> entry
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">id</span> di alessio caiazza a root ca, <span style="color: #000000;">2</span>-giu-<span style="color: #000000;">2009</span>, keyEntry,
Impronta digitale certificato <span style="color: #7a0874; font-weight: bold;">&#40;</span>MD5<span style="color: #7a0874; font-weight: bold;">&#41;</span>: <span style="color: #000000;">81</span>:<span style="color: #000000;">57</span>:<span style="color: #000000;">63</span>:<span style="color: #000000;">80</span>:D9:<span style="color: #000000;">71</span>:<span style="color: #000000;">61</span>:CD:6D:1E:CA:1D:<span style="color: #000000;">28</span>:0C:<span style="color: #000000;">19</span>:F8</pre></div></div>

<h3>Firma</h3>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">kaiman:applet nolith$ jarsigner <span style="color: #660033;">-storetype</span> pkcs12 \
<span style="color: #660033;">-keystore</span> keystore.p12 micc_histo.jar \
<span style="color: #ff0000;">&quot;id di alessio caiazza a root ca&quot;</span>
Enter Passphrase <span style="color: #000000; font-weight: bold;">for</span> keystore: <span style="color: #000000; font-weight: bold;">****************************</span></pre></div></div>

<p>Per quanto riguarda gli applet esportati con Processing è necessario firmare il proprio jar e core.jar (i jar di CaptureMJPEG sono forniti già firmati dalla versione 1.0.1)</p>
]]></content:encoded>
			<wfw:commentRss>http://abisso.org/2009/06/firmare-gli-archivi-jar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
