<?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>monkey#6</title>
	<atom:link href="http://www.lghinelli.it/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lghinelli.it/blog</link>
	<description>la regola è:"niente mmorpg, niente miniature"</description>
	<lastBuildDate>Sun, 22 Aug 2010 00:28:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Trenitalia e l&#8217;alta velocità</title>
		<link>http://www.lghinelli.it/blog/2010/trenitalia-e-lalta-velocita/</link>
		<comments>http://www.lghinelli.it/blog/2010/trenitalia-e-lalta-velocita/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 00:28:51 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[hai fatto arrabbiare conan]]></category>
		<category><![CDATA[real life]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=558</guid>
		<description><![CDATA[Una volta mi piaceva molto viaggiare in treno e quindi anche ora che non sono più un pendolare universitario cercare la stazione ferroviaria più vicina alla mia destinazione è sempre la prima scelta. Purtroppo non viaggio più in treno molto spesso, perchè semplicemente non mi conviene. Diciamo però che non abito nelle città principali e [...]]]></description>
			<content:encoded><![CDATA[<p>Una volta <strong>mi piaceva molto</strong> viaggiare in treno e quindi anche ora che non sono più un pendolare universitario cercare la stazione ferroviaria più vicina alla mia destinazione è sempre la prima scelta.<br />
Purtroppo non viaggio più in treno molto spesso, perchè semplicemente <strong>non mi conviene</strong>.</p>
<p>Diciamo però che non abito nelle città principali e non devo sbarcare in un&#8217;altra città principale, semplicemente devo andare, che so, da Rimini a Merano.<br />
Arrivo sulla pagina di ricerca e subito devo scegliere se privilegiare il risparmio o la velocità.<br />
Il viaggio <strong>veloce e costoso</strong> vale 17,50€ in più.<br />
Il viaggio più lento dura 7 ore e 14 minuti, quello più veloce esattamente 38 minuti in meno.</p>
<p>Diciamo che vogliamo privilegiare la velocità quindi, siccome quando si va poi si torna, questo viaggio consta di 13 ore e 12 minuti alla &#8220;modica&#8221; cifra di 84,50€ (ho scelto di viaggiare in prima classe perchè poi voglio fare un confronto)<br />
Google maps mi dice che i km di viaggio su strada asfaltata sono 421, diamo un po&#8217; di vantaggio al treno e diciamo che i binari vanno più dritti: 400km.<br />
Questo vuol dire che alla spesa di quasi 90€ sto viaggiando a ben 60km/h.</p>
<p>Proviamo invece a stimare i costi della mia <strong>inquinante macchina</strong>.<br />
Siamo in due naturalmente (i viaggi son più divertenti se non si è soli), quindi divideremo le spese e le fatiche della guida.<br />
Considero la macchina una <strong>prima classe</strong>: non è un&#8217;utilitaria, ha tutti i comfort e ti fermi a prendere il caffè quando vuoi.<br />
Google maps mi ripete che il viaggio sono 421km e dice che posso farcela in 3 ore e 54 minuti.<br />
So già che l&#8217;autostrada mi costerà 20€ e la benzina circa 40€.<br />
Diciamo che ci si ferma a prendere 2 caffè (eufemismo per andare in bagno) per 15 minuti a sosta; il tempo totale di percorrenza diventa quindi 4 ore e 26 minuti.<br />
Andata e ritorno useranno 8 ore e 52 minuti di vita per coprire 842 km.<br />
Viaggio quindi a quasi 95km/h spendendo 60€ (a testa).</p>
<p>E se c&#8217;è traffico potete obiettare?<br />
E se il treno ritarda e perdi il cambio dico io?<br />
I <strong>ritardi sono frequenti</strong> e le coincidenze non esistono più, il treno dopo <strong>non aspetta</strong> nemmeno un minuto.</p>
<p>Naturalmente se si sceglie di viaggiare in seconda classe la differenza si riduce, ma magari posso prendere la macchina dei miei che è  GPL e diminuisco la spesa benzina e se poi non mi fermo per il caffè ci metto anche meno tempo.<br />
Questo confronto è un gioco che non ha pretese di precisione assoluta, ma avendo notato questo <strong>schema ricorrente</strong> nei miei viaggi Conan si è arrabbiato ed ha voluto farlo presente.</p>
<p>Tutte le volte che devo viaggiare controllo l&#8217;orario dei treni, <strong>cerco di dimenticarmi</strong> la sporcizia, la scortesia, i ritardi e i rimborsi impossibili da ottenere, ma è <strong>tutto inutile</strong>, quando arrivo al tempo di viaggio ed al costo mi devo arrendere, non ho più nessun motivo per affidarmi alle rotaie. Eppure mi piaceva tanto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2010/trenitalia-e-lalta-velocita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All&#8217;appello root è assente</title>
		<link>http://www.lghinelli.it/blog/2010/allappello-root-e-assente/</link>
		<comments>http://www.lghinelli.it/blog/2010/allappello-root-e-assente/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 14:26:08 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[system administration]]></category>
		<category><![CDATA[estremamente_tecnico]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=537</guid>
		<description><![CDATA[**9/4/2010: ho dovuto aggiornare la procedura perchè la vecchia non permetteva al nuovo utente root di concedere i privilegi. Ora sembra tutto a posto.** Mi è capitata un&#8217;installazione di mysql senza l&#8217;utente di root e senza altri utenti che avessero privilegi di amministrazione. Questo quindi impediva ogni utilizzo del db, ovviamente la reinstallazione non era [...]]]></description>
			<content:encoded><![CDATA[<p>**9/4/2010: ho dovuto aggiornare la procedura perchè la vecchia non permetteva al nuovo utente root di concedere i privilegi. Ora sembra tutto a posto.**</p>
<p>Mi è capitata un&#8217;installazione di mysql <span class="evidence">senza l&#8217;utente di root</span> e senza altri utenti che avessero privilegi di amministrazione.<br />
Questo quindi <span class="evidence">impediva ogni utilizzo del db</span>, ovviamente la reinstallazione non era un&#8217;opzione e quindi ho dovuto escogitare un sistema.</p>
<p>Dopo un po&#8217; di ricerche ho definito questa procedura:</p>
<ol>
<li><span class="evidence">Arresto di mysqld</span>.<br />
uccidendo il demone<br />
<code><br />
  kill `cat /var/run/mysqld/mysql.pid`<br />
</code><br />
Sono essenziali i <strong>backticks (`)</strong> perchè sostituiscono alla stringa l&#8217;output del comando; il loro <strong>codice ASCII è 96</strong>.<br />
Probabilmente il resto della procedura funziona anche con un semplice<br />
<code>service mysqld stop</code> o analoghi, fate sapere se provate.
</li>
<li><span class="evidence">Riavvio del servizio</span> in una modalità che ci consenta spazio di manovra, quindi<br />
<code><br />
  mysqld_safe --skip-grant-tables<br />
</code><br />
dove l&#8217;opzione <strong><a href="http://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_skip-grant-tables" target="_blank">&#8211;skip-grant-tables</a></strong> fa tutta la magia che ci serve, portandoci in un mondo dove non abbiamo più bisogno di un utente per connetterci a mysql
</li>
<li>ed infatti la connessione al server<br />
<code>mysql</code><br />
ci lascia nella <span class="evidence">consolle di mysql</span> liberi di creare un <strong>nuovo utente</strong>.</p>
<p>Fermi là illusi<br />
<code><br />
  CREATE USER bla bla<br />
</code><br />
non funziona, questa modalità non permette certi giochini quindi si fa tutto a mano.<br />
<code><br />
USE mysql;<br />
INSERT INTO user VALUES ('localhost','toor','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0');<br />
FLUSH PRIVILEGES;<br />
</code><br />
il FLUSH in fondo è <strong>essenziale</strong>, perchè altrimenti i privilegi faticosamente inseriti non verranno recepiti; a proposito le &#8216;Y&#8217; sono 26.
</li>
<li>
 non ci resta che uscire dalla consolle, uccidere di nuovo il demone con il kill di cui sopra e <span class="evidence">riavviare il servizio</span> con il vostro comando preferito.
</li>
<li>
 rientramo nella consolle questa volta con il solito metodo usando l&#8217;utente appena aggiunto<br />
<code><br />
  mysql -u toor -p<br />
</code>
</li>
<li>
e <span class="evidence">creiamo finalmente l&#8217;utente root nel <strong>modo canonico</strong></span>:<br />
<code><br />
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '
<password>' WITH GRANT OPTION;<br />
FLUSH PRIVILEGES;<br />
</code>
</li>
<li>
dopo aver testato il funzionamento del nuovo(?!) utente root <span class="evidence">cancelliamo l&#8217; utente toor</span> perchè è <strong>pericoloso</strong> lasciare in giro due amministratori<br />
<code><br />
DELETE FROM mysql.user WHERE User LIKE 'toor';<br />
</code>
</li>
</ol>
<p>La procedura è semplice e veloce; ora che è anche testata si potrebbe anche saltare la parte di creazione dell&#8217;utente &#8216;toor&#8217; e buttare dentro direttamente root, ma <strong>io non rischierei</strong>, quella query lunga e tutta uguale è sinistramente &#8220;error prone&#8221; (come dicono anche sul sito ufficiale di mysql).</p>
<p>Aproposito, &#8216;toor&#8217; è il contrario di &#8216;root&#8217;, che sia l&#8217;amministratore buono che tutti cercano?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2010/allappello-root-e-assente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not with a bang</title>
		<link>http://www.lghinelli.it/blog/2010/not-with-a-bang/</link>
		<comments>http://www.lghinelli.it/blog/2010/not-with-a-bang/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 22:21:24 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[meraviglie]]></category>
		<category><![CDATA[vorrei aver scritto]]></category>
		<category><![CDATA[writings]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=529</guid>
		<description><![CDATA[di Damon Knight Uno dei migliori titoli che io abbia mai visto. è un racconto breve, non cercatelo su wikipedia, vi raccontano il finale. Rovinandovelo per sempre.]]></description>
			<content:encoded><![CDATA[<p><em>di Damon Knight</em></p>
<p>Uno dei migliori titoli che io abbia mai visto.<br />
è un racconto breve, non cercatelo su wikipedia, vi raccontano il finale.</p>
<p>Rovinandovelo per sempre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2010/not-with-a-bang/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abuso di Tagline</title>
		<link>http://www.lghinelli.it/blog/2010/abuso-di-tagline/</link>
		<comments>http://www.lghinelli.it/blog/2010/abuso-di-tagline/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 10:57:42 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=524</guid>
		<description><![CDATA[Nel blog è attivo il plugin Tagline Rotator che ad ogni reload della pagina cambia la tagline. Io ne abuso. Ecco qui sotto l&#8217;elenco per leggerle tutte comodamente: lavoriamo su internet non esiste nulla di grave anca la prescia la vo e su témp la regola è:&#8221;niente mmorpg, niente miniature&#8221; didacevi? damacavi? didaciami? security through [...]]]></description>
			<content:encoded><![CDATA[<p>Nel blog è attivo il plugin <a href="http://neverblog.net/tagline-rotator-plugin-for-wordpress/">Tagline Rotator</a> che ad ogni reload della pagina cambia la tagline.<br />
Io ne abuso.<br />
Ecco qui sotto <strong>l&#8217;elenco</strong> per leggerle tutte comodamente:</p>
<ul>
<li>lavoriamo su internet non esiste nulla di grave</li>
<li>anca la prescia la vo e su témp</li>
<li>la regola è:&#8221;niente mmorpg, niente miniature&#8221;</li>
<li>didacevi? damacavi? didaciami?</li>
<li>security through obscurity is not security</li>
<li>If you give a good idea to a mediocre group, they&#8217;ll screw it up.</li>
<li>Ci vuole scienza, ci vuol costanza ad invecchiare senza maturità</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2010/abuso-di-tagline/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iptables, rapida guida per chiudersi fuori da un server</title>
		<link>http://www.lghinelli.it/blog/2010/iptables-rapida-guida-per-chiudersi-fuori-da-un-server/</link>
		<comments>http://www.lghinelli.it/blog/2010/iptables-rapida-guida-per-chiudersi-fuori-da-un-server/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 15:39:26 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[system administration]]></category>
		<category><![CDATA[estremamente_tecnico]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sicurezza]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=492</guid>
		<description><![CDATA[1 2 3 iptables -A INPUT -j DROP iptables -A OUTPUT -j DROP iptables -A FORWARD -j DROP Fatto, vi siete chiusi fuori dal server e anche molti software ora non stanno più funzionando. Voi ( e i cattivi) non potete più entrare perchè iptables è un firewall (porta tagliafuoco) e quindi sta scartando (-j [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_codebox"><table><tr id="p49227"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p492code27"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-j</span> DROP</pre></td></tr></table></div>

<p>Fatto, <strong>vi siete chiusi fuori</strong> dal server e anche molti software ora non stanno più funzionando.</p>
<p>Voi ( e i cattivi) non potete più entrare perchè <span class="evidence">iptables è un firewall</span> (<a href="http://www.wordreference.com/enit/firewall">porta tagliafuoco</a>) e quindi sta scartando (<em>-j DROP</em>) <strong>tutte</strong> le richieste che arrivano al server e i software non funzionano più perchè iptables elimina anche i messaggi che passano per l&#8217;interfaccia di loopback (lo) che viene usata dai programmi per <strong>comunicare tra loro</strong>.</p>
<p>Iptables <span class="evidence">divide le sue regole in <strong>3 tabelle</strong></span> (tables), ognuna dedicata ad un utilizzo diverso:</p>
<ul>
  <lI>nat</li>
<li>mangle</li>
<li>filter</li>
</ul>
<p><span class="evidence">Ogni tabella ha delle <strong>chains</strong> (elenchi di regole) predefinite</span>.<br />
Per un <strong>utilizzo minimo</strong> ci basta la tabella <strong>mangle</strong> e 3 delle sue chains:</p>
<ul>
<li><span class="evidence"><strong>INPUT</strong></span>: dedicata hai pacchetti destinati all&#8217;<strong>host locale</strong></li>
<li><span class="evidence"><strong>OUTPUT</strong></span>: per i <strong>pacchetti uscenti</strong></li>
<li><span class="evidence"><strong>FORWARD</strong></span>: pacchetti destinati ad <strong>altri host</strong></lI>
</ul>
<p>.<br />
Naturalmente per mettere in produzione un firewall è meglio (molto meglio, essenziale) <strong>capire come funziona</strong> iptables e come i pacchetti attraversano tabelle e chains, non  mi dilungo, leggetelo <a href="http://www.linuxtopia.org/Linux_Firewall_iptables/c951.html">qui</a> o in un qualunque altro sito dell&#8217;elenco che propone google.</p>
<p>Per farla breve, comunque, un pacchetto entra in una chain e si scorre l&#8217;elenco di regole contenute dalla prima all&#8217;ultima,<strong>applicandole immediatamente</strong>.<br />
Di conseguenza un pacchetto che incontra un <em>DROP</em> viene scartato ed <strong>esce dalla chain</strong>.</p>
<p>Prima cosa da imparare: l&#8217;ordine delle regole <strong>conta</strong>.<br />
Nel cattivo esempio di cui sopra non serve a niente aggiungere altre regole, <strong>siamo fuori e ci rimarremo</strong>.</p>
<p><span class="evidence">Cancelliamo</span> quindi le regole inserite sopra.<br />
Abbiamo <span class="evidence">3 sintassi</span> possibili:</p>
<ol>
<li>Le regole non sono ancora persistenti, vanno <strong>esplicitamente salvate</strong>, quindi riavviare la macchina.<br />
    Questo ci manda a ramengo l&#8217;uptime, ma noi perfortuna non ne siamo schiavi.</li>
<li>Eliminarle <strong>tutte insieme</strong>

<div class="wp_codebox"><table><tr id="p49228"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code28"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-F</span></pre></td></tr></table></div>

</li>
<li>Cancelliamo una regola alla volta:

<div class="wp_codebox"><table><tr id="p49229"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p492code29"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-D</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>regola<span style="color: #7a0874; font-weight: bold;">&#125;</span>
iptables <span style="color: #660033;">-D</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>CHAIN<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>numero di riga<span style="color: #7a0874; font-weight: bold;">&#40;</span>partendo da <span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

<p>    <em>iptables -D</em> si può usare inserendo il numero di riga in cui appare la regola oppure riscrivendo la regola con la sintassi usata per aggiungerla (<em>-A</em> oppure <em>-I</em>)
  </li>
</ol>
<p>Verifichiamo di esserci liberati delle regole chiedendone la lista (<em>-L</em>):</p>
<ul>
<li>una <strong>elenco semplice</strong>

<div class="wp_codebox"><table><tr id="p49230"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code30"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-L</span></pre></td></tr></table></div>

</li>
<p>  <lI>più informazioni</p>

<div class="wp_codebox"><table><tr id="p49231"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code31"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-L</span> <span style="color: #660033;">-v</span></pre></td></tr></table></div>

</li>
<li> con <strong>numeri di linea</strong> (così magari usiamo con più tranquillità l&#8217;opzione <em>-D</em>)

<div class="wp_codebox"><table><tr id="p49232"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code32"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-L</span> <span style="color: #660033;">--line-numbers</span></pre></td></tr></table></div>

</li>
</ul>
<p>A questo punto possiamo prendere il tablet (non un iPad per favore) su cui abbiamo segnato i servizi offerti e le porte che usano per iniziare ad appendere le regole.<br />
Per semplicità userò negli esempi solo le chain <em>INPUT</em> e <em>OUTPUT</em>.</p>
<p>La nostra <strong>priorità</strong> è di <span class="evidence">consentire tutto il traffico sull&#8217;interfaccia di loopback (lo)</span>, quindi:</p>

<div class="wp_codebox"><table><tr id="p49233"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p492code33"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-i</span> lo <span style="color: #660033;">-j</span> ACCEPT
iptables <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-i</span> lo <span style="color: #660033;">-j</span> ACCEPT</pre></td></tr></table></div>

<p>spiegazione:</p>
<blockquote><p><strong>iptables</strong>, appendi (<strong>-A</strong>) alla chain <strong>INPUT</strong> la regola che tutti i pacchetti che passano per l&#8217;interfaccia (<strong>-i lo</strong>) sono accettati (<strong>-j ACCEPT</strong>)</p></blockquote>
<p>Al primo posto dei servizi permessi c&#8217;è sicuramente ssh quindi vogliamo che siano <span class="evidence">possibili connessioni entranti e uscenti sulla porta 22</span> (default).</p>

<div class="wp_codebox"><table><tr id="p49234"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code34"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">--dport</span> <span style="color: #000000;">22</span> <span style="color: #660033;">-j</span> ACCEPT</pre></td></tr></table></div>

<p>Questa regola dice ad iptables di accettare le connessioni entranti dirette alla porta 22.<br />
Questa regola base può (e <strong>deve</strong>) essere migliorata  con ulteriori vincoli:</p>
<ul>
<li>accettare solo uno specifico protocollo, nel caso specifico tcp

<div class="wp_codebox"><table><tr id="p49235"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code35"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">-p</span> tcp</pre></td></tr></table></div>

</li>
<li>verificare lo stato della connessione. Nel caso di connessioni entranti dobbiamo accettare sia comunicazioni nuove che già attive (<em>NEW</em> ed <em>ESTABLISHED</em>)

<div class="wp_codebox"><table><tr id="p49236"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code36"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">-m</span> state <span style="color: #660033;">--state</span> NEW,ESTABLISHED</pre></td></tr></table></div>

<p>    attenzione, non di devono essere spazi intorno alla virgola.
  </li>
<li>potremmo poi voler accettare solo le connessioni dirette ad un solo IP

<div class="wp_codebox"><table><tr id="p49237"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code37"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">-d</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>indirizzo ip<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

</li>
<li>oppure consentire l&#8217;accesso solo ad uno specifico IP/rete

<div class="wp_codebox"><table><tr id="p49238"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code38"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">-s</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>indirizzo ip<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>netmask<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

<p>    per lasciare libera la connessione si può non specificare nulla oppure usare</p>

<div class="wp_codebox"><table><tr id="p49239"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code39"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">-s</span> <span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">0</span></pre></td></tr></table></div>

</li>
<li>eventualmente si può anche specificare da che porta deve partire la connessione affinchè sia accettata

<div class="wp_codebox"><table><tr id="p49240"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code40"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">--sport</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>numero di porta<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

<p>  per consentire un intervallo</p>

<div class="wp_codebox"><table><tr id="p49241"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p492code41"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">--sport</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>porta partenza<span style="color: #7a0874; font-weight: bold;">&#93;</span>:<span style="color: #7a0874; font-weight: bold;">&#91;</span>porta base<span style="color: #7a0874; font-weight: bold;">&#93;</span>
es.
<span style="color: #660033;">--sport</span> <span style="color: #000000;">1024</span>:<span style="color: #000000;">65535</span></pre></td></tr></table></div>

</li>
</ul>
<p><span class="evidence">Una regola <strong>ragionevolmente restrittiva</strong></span> da cui partire diventa quindi:</p>

<div class="wp_codebox"><table><tr id="p49242"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code42"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">22</span> <span style="color: #660033;">-m</span> state <span style="color: #660033;">--state</span> NEW,ESTABLISHED <span style="color: #660033;">-j</span> ACCEPT</pre></td></tr></table></div>

<p>Siccome dopo diremo al firewall di scartare tutti i pacchetti entranti e uscenti che non siano altrimenti regolati dobbiamo anche dire ad iptables cosa fare delle risposte che richiede il client ssh:</p>

<div class="wp_codebox"><table><tr id="p49243"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code43"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">-m</span> state <span style="color: #660033;">--state</span> ESTABLISHED <span style="color: #660033;">-j</span> ACCEPT</pre></td></tr></table></div>

<p>La sintassi è identica, cambia solo la chain a cui appenderlo e non sono specificate le porte della connessione.</p>
<p>A questo punto non rimane che reiterare la logica applicata per ssh per ogni servizio a cui vogliamo consentire l&#8217;accesso.</p>
<p>Finito l&#8217;elenco dei servizi blocchiamo tutto di nuovo:</p>

<div class="wp_codebox"><table><tr id="p49244"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p492code44"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> OUTPUT <span style="color: #660033;">-j</span> DROP
iptables <span style="color: #660033;">-A</span> FORWARD <span style="color: #660033;">-j</span> DROP</pre></td></tr></table></div>

<p>A questo punto un port scanner tipo <a href="http://www.nmap.org">nmap</a> vi segnalerà solo la porta ssh disponibile e l&#8217;output di <em>iptables -L</em> dovrebbe essere:</p>

<div class="wp_codebox"><table><tr id="p49245"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code" id="p492code45"><pre class="bash" style="font-family:monospace;">Chain INPUT <span style="color: #7a0874; font-weight: bold;">&#40;</span>policy ACCEPT<span style="color: #7a0874; font-weight: bold;">&#41;</span>
target     prot opt <span style="color: #7a0874; font-weight: bold;">source</span>               destination         
ACCEPT     all  <span style="color: #660033;">--</span>  anywhere             anywhere            
ACCEPT     tcp  <span style="color: #660033;">--</span>  anywhere             anywhere            tcp dpt:<span style="color: #c20cb9; font-weight: bold;">ssh</span> state NEW,ESTABLISHED 
DROP       all  <span style="color: #660033;">--</span>  anywhere             anywhere            
&nbsp;
Chain FORWARD <span style="color: #7a0874; font-weight: bold;">&#40;</span>policy ACCEPT<span style="color: #7a0874; font-weight: bold;">&#41;</span>
target     prot opt <span style="color: #7a0874; font-weight: bold;">source</span>               destination         
DROP       all  <span style="color: #660033;">--</span>  anywhere             anywhere            
&nbsp;
Chain OUTPUT <span style="color: #7a0874; font-weight: bold;">&#40;</span>policy ACCEPT<span style="color: #7a0874; font-weight: bold;">&#41;</span>
target     prot opt <span style="color: #7a0874; font-weight: bold;">source</span>               destination         
ACCEPT     all  <span style="color: #660033;">--</span>  anywhere             anywhere            
ACCEPT     tcp  <span style="color: #660033;">--</span>  anywhere             anywhere            tcp spt:<span style="color: #c20cb9; font-weight: bold;">ssh</span> dpts:<span style="color: #c20cb9; font-weight: bold;">login</span>:<span style="color: #000000;">65535</span> state ESTABLISHED 
DROP       all  <span style="color: #660033;">--</span>  anywhere             anywhere</pre></td></tr></table></div>

<p>Il parametro <em>-A</em> appende una regola <strong>in fondo</strong> alla chain selezionata, volendo inserire una regola in una posizione specifica si usa:</p>

<div class="wp_codebox"><table><tr id="p49246"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code46"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-I</span> INPUT <span style="color: #000000;">3</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>regola<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></td></tr></table></div>

<p>Che ci consente di appendere <em>{regola}</em> alla terza posizione della chain (sempre partendo da 1).</p>
<p>Lavorando con i firewall è purtroppo <strong>molto facile fare errori</strong> che poi richiedono di loggarsi in locale sulla macchina per essere riparati.<br />
Siccome più spesso che no il server è a qualche chilometro dalla tastiera su cui stiamo lavorando la seconda semplice precauzione da prendere è di <span class="evidence">spegnere il firewall ogni 5 minuti</span></p>

<div class="wp_codebox"><table><tr id="p49247"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p492code47"><pre class="bash" style="font-family:monospace;">crontab <span style="color: #660033;">-e</span>
  <span style="color: #000000; font-weight: bold;">*/</span><span style="color: #000000;">5</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>service iptables stop <span style="color: #7a0874; font-weight: bold;">&#40;</span>centos<span style="color: #7a0874; font-weight: bold;">&#41;</span>
  <span style="color: #000000; font-weight: bold;">*/</span><span style="color: #000000;">5</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>iptables stop <span style="color: #7a0874; font-weight: bold;">&#40;</span>debian-like<span style="color: #7a0874; font-weight: bold;">&#41;</span>
  <span style="color: #000000; font-weight: bold;">*/</span><span style="color: #000000;">5</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>iptables <span style="color: #660033;">-F</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>per tutte le stagioni<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></td></tr></table></div>

<p>Ovviamente la prima precauzione da prendere è <strong>provare la configurazione</strong> sul server di test.</p>
<h2>Riassunto dei comandi</h2>
<ul>
<li>visualizzare le regole

<div class="wp_codebox"><table><tr id="p49248"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code48"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-L</span> <span style="color: #660033;">-v</span> <span style="color: #660033;">--line-number</span></pre></td></tr></table></div>

</li>
<li>eliminare tutte le regole

<div class="wp_codebox"><table><tr id="p49249"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code49"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-F</span></pre></td></tr></table></div>

</li>
<li>eliminare una regola

<div class="wp_codebox"><table><tr id="p49250"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p492code50"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-D</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>chain<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>numero regola<span style="color: #7a0874; font-weight: bold;">&#93;</span>
iptables <span style="color: #660033;">-D</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>chain<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>sintassi regola<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></td></tr></table></div>

</li>
<li>appendere una] regola in fondo alla chain

<div class="wp_codebox"><table><tr id="p49251"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p492code51"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-A</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>chain<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>sintassi regola<span style="color: #7a0874; font-weight: bold;">&#125;</span>
es.
iptables <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-p</span> tcp <span style="color: #660033;">--dport</span> <span style="color: #000000;">22</span> <span style="color: #660033;">-m</span> state <span style="color: #660033;">--state</span> NEW,ESTABLISHED <span style="color: #660033;">-j</span> ACCEPT <span style="color: #7a0874; font-weight: bold;">&#40;</span>per <span style="color: #c20cb9; font-weight: bold;">ssh</span><span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></td></tr></table></div>

</li>
<li>appendere una regola in posizione specifica

<div class="wp_codebox"><table><tr id="p49252"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p492code52"><pre class="bash" style="font-family:monospace;">iptables <span style="color: #660033;">-I</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>chain<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>numero riga<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>sintassi regola<span style="color: #7a0874; font-weight: bold;">&#125;</span></pre></td></tr></table></div>

</li>
</ul>
<p>Iptables ha molti più parametri di così.<br />
Per un firewall sicuro ci vuole molto più studio di questo semplice tutorial, si possono creare nuove chains e modificare i pacchetti prima del routing e dopo il routing; genericamente si può gestire <strong>ogni aspetto</strong> dei flussi entranti e uscenti.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2010/iptables-rapida-guida-per-chiudersi-fuori-da-un-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Si ho visto Avatar. No, non mi è piaciuto</title>
		<link>http://www.lghinelli.it/blog/2010/si-ho-visto-avatar-no-non-mi-e-piaciuto/</link>
		<comments>http://www.lghinelli.it/blog/2010/si-ho-visto-avatar-no-non-mi-e-piaciuto/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 14:44:05 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[hai fatto arrabbiare conan]]></category>
		<category><![CDATA[real life]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=485</guid>
		<description><![CDATA[Vorrei esprimere il mio giudizio su avatar con una metafora: Diciamo che ho una ditta che mi deve rifare l’unico bagno di casa. Mi ci mette lo specchio autopulente con sbrinatore (una palla darci col phon), il pavimento riscaldato, la porta della doccia che è uno schermo lcd touch, la rubinetteria in oro e le [...]]]></description>
			<content:encoded><![CDATA[<p>Vorrei esprimere il mio giudizio su avatar con una metafora:</p>
<p>Diciamo che ho una ditta che mi deve rifare <strong>l’unico bagno</strong> di casa.<br />
Mi ci mette lo <em>specchio autopulente </em>con sbrinatore (una palla darci col phon), il <em>pavimento riscaldato</em>, la porta della doccia che è uno <em>schermo lcd touch</em>, la <em>rubinetteria in oro</em> e le <em>piastrelle più belle</em> ma <strong>si dimentica il water</strong> io non dico “ottimo lavoro ragazzi siete i migliori”.<br />
Io dico “cazzo avete dimenticato<strong> il water</strong>” poi proseguo “wow il resto è fighissimo cavolo questo specchio è proprio la roba più comoda, ma avete dimenticato <strong>il water</strong>, bella la porta della doccia, ma <strong>il water</strong>? cioè, come avete potuto fare un lavoro così bello e dimenticare <strong>il water</strong>?”.<br />
Se poi incontro un amico che mi chiede “come sono venuti i lavori al bagno” non gli dico “una F-I-G-A-T-A”, la mia risposta sarebbe più simile a:”Hanno dimenticato <strong>il water</strong>, un lavoro fatto benissimo, ma hanno dimenticato <strong>il water</strong>”</p>
<p>Ecco, secondo me <strong>Cameron ha dimenticato il water</strong>.</p>
<p>Vuoi sapere il mio voto al film?<br />
guarda che ti fa arrabbiare eh<br />
ok, hai insistito.<br />
quattro.</p>
<p>Per una dissertazione più lunga e meno metaforica, per leggere un articolo che non la pensa come me, ma scritto bene e meditato (quindi degno di considerazione): <a href="http://www.filmclod.it/film-fantascienza/avatar/#comments">filmclod.it &#8211; Avatar</a> (io mi annido nei commenti ovviamente).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2010/si-ho-visto-avatar-no-non-mi-e-piaciuto/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>prendetelo più SEOriamente</title>
		<link>http://www.lghinelli.it/blog/2009/prendetelo-piu-seoriamente/</link>
		<comments>http://www.lghinelli.it/blog/2009/prendetelo-piu-seoriamente/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 13:19:27 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[buone idee]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[puffo con gli occhiali]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=472</guid>
		<description><![CDATA[Andrea Vit senza saperlo ha scritto una perfetta integrazione al mio articolo &#8220;Non prendetemi SEOriamente&#8220;. Nel mio articolo parlavo di come secondo me l&#8217;evoluzione dei motori di ricerca modificherà il ruolo del SEO, ma avevo tralasciato completamente i colleghi di lavoro del summenzionato SEO, ma dimenticavo che &#8220;l&#8217;altra faccia della medaglia&#8221; ci insegna che è [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andreavit.com/blog/information-architecture-e-seo/il-seo-e-inutile-forse-o-forse-cambiera-soltanto.html">Andrea Vit</a> senza saperlo ha scritto una <strong>perfetta integrazione</strong> al mio articolo &#8220;<a href="http://www.lghinelli.it/blog/2009/non-prendetemi-seoriamente/">Non prendetemi SEOriamente</a>&#8220;.</p>
<p>Nel mio articolo parlavo di come secondo me l&#8217;<strong>evoluzione dei motori di ricerca</strong> modificherà il ruolo del SEO, ma avevo tralasciato completamente i colleghi di lavoro del summenzionato SEO, ma dimenticavo che &#8220;<a href="http://www.lghinelli.it/blog/2009/laltra-faccia-della-medaglia/">l&#8217;altra faccia della medaglia</a>&#8221; ci insegna che è <strong>sempre un errore</strong> tralasciare le altre prospettive.</p>
<p>Nel leggere le descrizioni del team di sviluppo nell&#8217;articolo di Andrea (posso darti del tu vero?) ho ritrovato proprio quello che mi aspetto che un <strong>buon team</strong> faccia e sappia fare, quindi vi rimando al suo post &#8220;<a href="http://www.andreavit.com/blog/information-architecture-e-seo/il-seo-e-inutile-forse-o-forse-cambiera-soltanto.html">Il SEO è inutile. Forse. O forse cambierà soltanto…</a>&#8221; sapendo bene che le mie aspettative nei confronti di chi fa il mio stesso lavoro (ed anche verso me stesso) sono alte, ma del resto secondo me <strong>non esiste</strong> <a href="http://www.lghinelli.it/blog/2009/la-terza-regola-di-internet/">codice biologico</a>, ma solo errori di management e la voglia di migliorarsi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2009/prendetelo-piu-seoriamente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>enlarge your elementis</title>
		<link>http://www.lghinelli.it/blog/2009/enlarge-your-elementis/</link>
		<comments>http://www.lghinelli.it/blog/2009/enlarge-your-elementis/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 14:23:05 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[buone idee]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[managing projects]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=452</guid>
		<description><![CDATA[Leggilo in italiano (che è meglio) In this article I&#8217;m talking about The Ugly Prototyper a concept idea for a prototyping functionality. When I start a web project sometimes I need to think about the size of the element on a page. You are saying &#8220;never heard about photoshop/fireworks/flair builder/other prototyping software?&#8221; yes, I&#8217;ve done [...]]]></description>
			<content:encoded><![CDATA[<p><a href="#italiano">Leggilo in italiano (che è meglio)</a></p>
<p>In this article I&#8217;m talking about <a href="http://www.lghinelli.it/the-ugly-prototyper" target="_blank">The Ugly Prototyper</a> a concept idea for a prototyping functionality.</p>
<p>When I start a web project sometimes I need to think about the <span class="evidence">size of the element on a page</span>.<br />
You are saying &#8220;never heard about photoshop/fireworks/flair builder/other prototyping software?&#8221; yes, I&#8217;ve done my homework, tryed lot of them and discovered that <strong>none</strong> give me the possibility to <span class="evidence">input a percent of the father</span> element and get a new object of the proper size.</p>
<p>Practically we have to rely <strong>only</strong> on us eyes to decide if the logo (or content area) is big enough.<br />
We put elements on page, size them and only then mathematically calculate their encumbrance (when this happens).<br />
It&#8217;s a <span class="evidence"><strong>trials and errors</strong> method</span>.<br />
I don&#8217;t like at all.</p>
<p>If you are designing with a content-driven method you <strong>have to</strong> decide the right priority of the page elements, I think that a good starting point is to say:&#8221;the content area cannot be less than the 33% of the page, the header must be no bigger than 25%, ads will be 25%&#8221;, visually see it, modify and then (only then) start with the real prototyping and design.</p>
<p>So I developed my tool.<br />
I made it in few nightly hours, sorry, it lacks of functionality and usability.<br />
You have to reload a page if you change the working area size after creating some child and a lots of others problem.<br />
In my excuse: <strong>this is not a release!</strong><br />
<a href="http://www.lghinelli.it/the-ugly-prototyper/" target="_blank">The Ugly Prototyper</a> is on line just to be showed to my friends and to gather opinions</p>
<p><a name="italiano">Italiano:</a><br />
In questo articolo parlo di <a href="http://www.lghinelli.it/the-ugly-prototyper">The Ugly Prototyper</a>, un concept per uno strumento di prototipizzazione.</p>
<p>Ho provato diversi <span class="evidence">software per la prototipizzazione</span> delle pagine web (e più genericamente delle interfacce) e non ho trovato <strong>nessuno</strong> che mi fornisse la possibilità di <span class="evidence">inserire una percentuale</span> ed ottenere in cambio un oggetto della dimensione giusta.<br />
Lo trovo strano, perchè in questo modo per il posizionamento <strong>contiamo solo</strong> sul nostro occhio che potrebbe non essere abbastanza allenato.<br />
Penso che in fase di progettazione, specie se usiamo un <strong>approccio content-driven</strong>, sarebbe un buon punto di partenza poter decidere che l&#8217;header non debba essere più grande del 25%, i contenuti non più piccoli del 33% visualizzandone gli ingombri per <strong>poi</strong> partire con la prototipizzazione ed il design reali.</p>
<p>Nessuno me lo faceva e così ho creato il mio tool.<br />
è stato sviluppato in poche ore notturne, quindi ha parecchi problemi, tra cui che non ha un sacco di funzionalità comode e necessarie, che bisogna ricaricare la pagina se si cambiano le dimensioni dell&#8217;area di lavoro dopo aver già creato almeno un oggetto ed un sacco di altre cose.</p>
<p>A mia discolpa posso dire che <strong>questa non è una release</strong> (e forse non ci sarà mai una release).<br />
<a href="http://www.lghinelli.it/the-ugly-prototyper/" target="_blank">The Ugly Prototyper</a> è messa on line per farsi vedere dagli interessati e raccogliere qualche opinione.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2009/enlarge-your-elementis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il piccolo vocabolario degli orrori</title>
		<link>http://www.lghinelli.it/blog/2009/il-piccolo-vocabolario-degli-orrori/</link>
		<comments>http://www.lghinelli.it/blog/2009/il-piccolo-vocabolario-degli-orrori/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 15:18:30 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[meraviglie]]></category>
		<category><![CDATA[writings]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=439</guid>
		<description><![CDATA[Alcuni neologismi non esisteranno, ma sono proprio adorevoli (opplà), alcune crasi non passeranno mai nel setaccio della crusca, ma sono così comode, altri termini saranno pure dei mezzosangue reietti, ma noi li lovviamo. Questo è un piccolo vocabolario di parole che non esistono, ma ci piacciono (io e dplastino) e ci piace giocarci. Prendi pure [...]]]></description>
			<content:encoded><![CDATA[<p>Alcuni neologismi non esisteranno, ma sono proprio <strong><a href="#adorevole">adorevoli</a></strong> (opplà), alcune crasi non passeranno mai nel <strong>setaccio della crusca</strong>, ma sono così comode, altri termini saranno pure dei <strong>mezzosangue reietti</strong>, ma noi li <a href="#lovvare">lovviamo</a>.<br />
Questo è un piccolo vocabolario di parole che non esistono, ma ci piacciono (io e <a href="http://www.twitter.com/dplastino">dplastino</a>) e <strong>ci piace giocarci</strong>.<br />
Prendi pure a prestito la parola che vuoi, sono nell&#8217;aria.</p>
<p><a href="#a">A</a> B C D E F G H I J K <a href="#l">L</a> M <a href="#n">N</a> O P Q R <a href="#s">S</a> <a href="#t">T</a> U V <a href="#w">W</a> X Y Z</p>
<h1><a name="a">A</a></h1>
<p><em>Adorevole</em>: adorabile, ma come il velluto.</p>
<h1><a name="l">L</a></h1>
<p><em>Lovvare</em>: piacere, ma tanto.</p>
<h1><a name="n">N</a></h1>
<p><em>Notisfiga</em>: le notifiche, ma quelle fastidiose.</p>
<h1><a name="s">S</a></h1>
<p><em>statutor</em>: compendio dei doveri di un tutor.</p>
<h1><a name="t">T</a></h1>
<p><em>Translapi</em>: la Api di Google translate<br />
<em>Twitterizionario</em>: persona che ha solo 140 caratteri e riesce ad usarli con perizia incredibile<br />
<em>Twittabile</em>: un link o un pensiero che meritano di essere twittati es: Questo ha un&#8217;alta twittabilità</p>
<h1><a name="w">W</a></h1>
<p><em>Wavvare</em>: l&#8217;atto di inviare un messaggio su googlewave. es: Ti wavvo subito la mia opinione.<br />
<em>Web-(s)content</em>: di lavoro scrive i testi, ma non è contento. (di <a href="http://massimevitali.splinder.com">dea.simo</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2009/il-piccolo-vocabolario-degli-orrori/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>La terza faccia della medaglia</title>
		<link>http://www.lghinelli.it/blog/2009/la-terza-faccia-della-medaglia/</link>
		<comments>http://www.lghinelli.it/blog/2009/la-terza-faccia-della-medaglia/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 13:30:49 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[buone idee]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[bSEM]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web writing]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=398</guid>
		<description><![CDATA[Finalmente ci siamo. L&#8217;idea descritta in questi due post: Una faccia della medaglia L&#8217;altra faccia della medaglia è diventata un&#8217;estensione per wordpress. La pagina che la descrive e permette lo scaricamento si chiama: bSEM &#8211; Un grassetto per domarli tutti. L&#8217;idea è esaurientemente spiegata nei due post e nella pagina dedicata, quindi non la riassumerò [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Finalmente ci siamo</strong>.<br />
L&#8217;idea descritta in questi due post:</p>
<ul>
<li><a href="http://www.lghinelli.it/blog/2009/una-faccia-della-medaglia/">Una faccia della medaglia</a></li>
<li><a href="http://www.lghinelli.it/blog/2009/laltra-faccia-della-medaglia/">L&#8217;altra faccia della medaglia</a></li>
</ul>
<p>è diventata un&#8217;estensione per wordpress.<br />
La pagina che la descrive e permette lo scaricamento si chiama: <a href="http://bsem.lghinelli.it">bSEM &#8211; Un grassetto per domarli tutti</a>.</p>
<p><span class="evidence">L&#8217;idea è esaurientemente spiegata</span> nei due post e nella pagina dedicata, quindi <strong>non</strong> la riassumerò nuovamente.</p>
<p>Vorrei però ribadire qualche punto saliente e l&#8217;importanza dell&#8217;estensione.<br />
Il nostro modo di <strong>vivere il testo scritto</strong> è cambiato profondamente.<br />
Mentre <span class="evidence">la pagina stampata era un media fisso</span>, immutabile nel tempo fruire i contenuti scritti sul web (e sui computer in generale) ci permette di <strong>cambiare l&#8217;aspetto del testo al cambiare delle nostre esigenze</strong>.</p>
<p><span class="evidence">Le nostre necessità cambiano</span> tra il momento in cui apriamo la pagina ed il momento in cui effettivamente incameriamo le informazioni<br />
Quindi è giusto che anche la pagina, <strong>per aiutarci</strong>, cambi con noi.<br />
L&#8217;estensione si occupa di <strong>rendere coerente</strong> l&#8217;uso del grassetto con il <span class="evidence">tipo di lettura che stiamo facendo</span>.</p>
<p>Ho scritto anche troppo.<br />
L&#8217;estensione <strong>è attiva</strong> su questo blog.<br />
L&#8217;estensione <strong>è scaricabile</strong> a questo indirizzo: <a href="http://bsem.lghinelli.it">bsem.lghinelli.it</a><br />
L&#8217;estensione è per wordpress, ma <strong>è integrabile</strong> con qualsiasi pagina, basta includere il js, i css e seguire le regole.</p>
<p>Per il momento in attesa che wordpress accetti di ospitare l&#8217;estensione nella directory dei plugin per <strong name="segnalare">segnalare i bug e proporre modifiche</strong> avete a disposizione:</p>
<ul>
<li>i commenti di questo post</li>
<li>email: info@lghinelli.it</li>
<li>wave: lghinelli@googlewave.com</li>
</ul>
<p>Posso <strong>sognare di implementare</strong> una feature?<br />
In un mondo bello, bello in modo assurdo (cit.) l&#8217;estensione assegnerebbe i bSEM alle parole/frasi più significative in base alla provenienza dell&#8217;utente offrendo non solo una lettura più facile, ma anche personalizzata.<br />
Ok, ho esagerato, ma <strong>io nel web semantico ci spero molto</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2009/la-terza-faccia-della-medaglia/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
