<?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>aqquadro</title>
	<atom:link href="http://aqquadro.it/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://aqquadro.it/blog</link>
	<description>Divertirsi pensando.. wert!</description>
	<lastBuildDate>Fri, 27 May 2011 10:56:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>[PL/SQL] Get UNIXTIME from TIMESTAMP &#8211; Oracle function</title>
		<link>http://aqquadro.it/blog/2011/05/27/plsql-get-unixtime-from-timestamp-oracle-function/</link>
		<comments>http://aqquadro.it/blog/2011/05/27/plsql-get-unixtime-from-timestamp-oracle-function/#comments</comments>
		<pubDate>Fri, 27 May 2011 10:18:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Senza categoria]]></category>

		<guid isPermaLink="false">http://aqquadro.it/blog/?p=320</guid>
		<description><![CDATA[CREATE OR REPLACE FUNCTION F_GET_UNIXTIME (ts IN TIMESTAMP) RETURN NUMBER IS unixTime NUMBER; diffFromEpoch interval day(9) to second(6); sessionTZ VARCHAR(6); BEGIN --get the current timezone SELECT SESSIONTIMEZONE INTO sessionTZ FROM dual; diffFromEpoch := ts - TO_TIMESTAMP_TZ('1970-01-01 00:00:00 ' &#124;&#124; sessionTZ, 'YYYY-MM-DD HH24:MI:SS TZH:TZM'); unixTime := FLOOR( ABS( EXTRACT( SECOND FROM diffFromEpoch ) + EXTRACT( MINUTE [...]]]></description>
			<content:encoded><![CDATA[<p><code>CREATE OR REPLACE<br />
FUNCTION F_GET_UNIXTIME (ts IN TIMESTAMP)<br />
	RETURN NUMBER IS unixTime NUMBER;</p>
<p>	diffFromEpoch interval day(9) to second(6);<br />
	sessionTZ VARCHAR(6);</p>
<p>	BEGIN</p>
<p>		--get the current timezone<br />
		SELECT SESSIONTIMEZONE INTO sessionTZ FROM dual;</p>
<p>		diffFromEpoch := ts - TO_TIMESTAMP_TZ('1970-01-01 00:00:00 ' || sessionTZ, 'YYYY-MM-DD HH24:MI:SS TZH:TZM');</p>
<p>		unixTime := FLOOR(<br />
				ABS(<br />
						EXTRACT( SECOND FROM diffFromEpoch )<br />
						+<br />
						EXTRACT( MINUTE FROM diffFromEpoch ) * 60<br />
						+<br />
						EXTRACT( HOUR FROM diffFromEpoch ) * 60 * 60<br />
						+<br />
						EXTRACT( DAY FROM diffFromEpoch ) * 24 * 60 * 60<br />
				)<br />
			);</p>
<p>	RETURN unixTime;<br />
END F_GET_UNIXTIME;</code></p>
<p>Poi sistemo l&#8217;articolo, enjoy</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Faqquadro.it%2Fblog%2F2011%2F05%2F27%2Fplsql-get-unixtime-from-timestamp-oracle-function%2F&amp;t=%5BPL%2FSQL%5D%20Get%20UNIXTIME%20from%20TIMESTAMP%20-%20Oracle%20function" id="facebook_share_button_320" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_320') || document.getElementById('facebook_share_icon_320') || document.getElementById('facebook_share_both_320') || document.getElementById('facebook_share_button_320');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_320') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://aqquadro.it/blog/2011/05/27/plsql-get-unixtime-from-timestamp-oracle-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scaricare video da youtube con Safari, eccezziunale veramente!</title>
		<link>http://aqquadro.it/blog/2011/04/28/scaricare-video-da-youtube-con-safari-eccezziunale-veramente/</link>
		<comments>http://aqquadro.it/blog/2011/04/28/scaricare-video-da-youtube-con-safari-eccezziunale-veramente/#comments</comments>
		<pubDate>Thu, 28 Apr 2011 15:36:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Senza categoria]]></category>

		<guid isPermaLink="false">http://aqquadro.it/blog/?p=315</guid>
		<description><![CDATA[Girando per la rete&#8230; Alle volte mi stupisco sempre più! Con safari aprite il video su youtube, poi premete command+option+a (mela+alt+a). Vi si apre una finestra &#8220;Attività&#8221;. Tra le varie attività ne noterete una con dimensioni elevate (se il video è lungo!). Comunque la riconoscete perchè nell&#8217;url c&#8217;è &#8220;youtube.com/videoplayback?params&#8230;&#8221;. Doppiocliccateci! Niente altro da aggiungere apparte [...]]]></description>
			<content:encoded><![CDATA[<p>Girando per la rete&#8230; Alle volte mi stupisco sempre più!</p>
<p>Con safari aprite il video su youtube, poi premete command+option+a (mela+alt+a).</p>
<p>Vi si apre una finestra &#8220;Attività&#8221;.</p>
<p>Tra le varie attività ne noterete una con dimensioni elevate (se il video è lungo!). Comunque la riconoscete perchè nell&#8217;url c&#8217;è &#8220;youtube.com/videoplayback?params&#8230;&#8221;.</p>
<p>Doppiocliccateci!</p>
<p>Niente altro da aggiungere apparte uno screen!</p>
<p><img src="http://img688.imageshack.us/img688/1032/howtodownloadyoutubewit.png" alt="how-to-download-youtube-video-safari" /></p>
<p>Bye</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Faqquadro.it%2Fblog%2F2011%2F04%2F28%2Fscaricare-video-da-youtube-con-safari-eccezziunale-veramente%2F&amp;t=Scaricare%20video%20da%20youtube%20con%20Safari%2C%20eccezziunale%20veramente%21" id="facebook_share_button_315" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_315') || document.getElementById('facebook_share_icon_315') || document.getElementById('facebook_share_both_315') || document.getElementById('facebook_share_button_315');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_315') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://aqquadro.it/blog/2011/04/28/scaricare-video-da-youtube-con-safari-eccezziunale-veramente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gitarella a Bergamo, Val Brembana</title>
		<link>http://aqquadro.it/blog/2011/03/23/gitarella-a-bergamo-val-brembana/</link>
		<comments>http://aqquadro.it/blog/2011/03/23/gitarella-a-bergamo-val-brembana/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 11:34:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Senza categoria]]></category>

		<guid isPermaLink="false">http://aqquadro.it/blog/?p=308</guid>
		<description><![CDATA[Lo scorso fine settimana è saltata su una bella gitarella a Bergamo. Ne ho approfittato per passare da Foppolo e San Simone. Prima di tutto consiglio a chiunque cerchi un B&#038;B a Bergamo: http://www.cecesimo.com/ ASSOLUTAMENTE PERFETTO, provate anche il ristorante tedesco adiacente, ottimo! Ecco qua Foppolo e San Simone: Amica fresca Foppolo 2 from Alessandro [...]]]></description>
			<content:encoded><![CDATA[<p>Lo scorso fine settimana è saltata su una bella gitarella a Bergamo.</p>
<p>Ne ho approfittato per passare da Foppolo e San Simone.</p>
<p>Prima di tutto consiglio a chiunque cerchi un B&#038;B a Bergamo: http://www.cecesimo.com/ ASSOLUTAMENTE PERFETTO, provate anche il ristorante tedesco adiacente, ottimo!</p>
<p>Ecco qua Foppolo e San Simone:</p>
<p><object width="400" height="300"><param name="flashvars" value="offsite=true&#038;lang=it-it&#038;page_show_url=%2Fphotos%2Faqquadro%2Fsets%2F72157626206859295%2Fshow%2Fwith%2F5552858340%2F&#038;page_show_back_url=%2Fphotos%2Faqquadro%2Fsets%2F72157626206859295%2Fwith%2F5552858340%2F&#038;set_id=72157626206859295&#038;jump_to=5552858340"></param><param name="movie" value="http://www.flickr.com/apps/slideshow/show.swf?v=71649"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/slideshow/show.swf?v=71649" allowFullScreen="true" flashvars="offsite=true&#038;lang=it-it&#038;page_show_url=%2Fphotos%2Faqquadro%2Fsets%2F72157626206859295%2Fshow%2Fwith%2F5552858340%2F&#038;page_show_back_url=%2Fphotos%2Faqquadro%2Fsets%2F72157626206859295%2Fwith%2F5552858340%2F&#038;set_id=72157626206859295&#038;jump_to=5552858340" width="400" height="300"></embed></object></p>
<p><iframe src="http://player.vimeo.com/video/21387740" width="400" height="300" frameborder="0"></iframe>
<p><a href="http://vimeo.com/21387740">Amica fresca Foppolo 2</a> from <a href="http://vimeo.com/alessandroaglietti">Alessandro Aglietti</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><iframe src="http://player.vimeo.com/video/21387730" width="400" height="300" frameborder="0"></iframe>
<p><a href="http://vimeo.com/21387730">Easy Jump Foppolo</a> from <a href="http://vimeo.com/alessandroaglietti">Alessandro Aglietti</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><iframe src="http://player.vimeo.com/video/21387718" width="400" height="300" frameborder="0"></iframe>
<p><a href="http://vimeo.com/21387718">Amica fresca Foppolo 1</a> from <a href="http://vimeo.com/alessandroaglietti">Alessandro Aglietti</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Faqquadro.it%2Fblog%2F2011%2F03%2F23%2Fgitarella-a-bergamo-val-brembana%2F&amp;t=Gitarella%20a%20Bergamo%2C%20Val%20Brembana" id="facebook_share_button_308" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_308') || document.getElementById('facebook_share_icon_308') || document.getElementById('facebook_share_both_308') || document.getElementById('facebook_share_button_308');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_308') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://aqquadro.it/blog/2011/03/23/gitarella-a-bergamo-val-brembana/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JEE AJAX Dispatcher with reflection on Google App Engine</title>
		<link>http://aqquadro.it/blog/2011/02/25/jee-ajax-dispatcher-with-reflection/</link>
		<comments>http://aqquadro.it/blog/2011/02/25/jee-ajax-dispatcher-with-reflection/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 20:29:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appengine]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Dispatcher]]></category>
		<category><![CDATA[JEE]]></category>
		<category><![CDATA[JEE AJAX Dispatcher]]></category>
		<category><![CDATA[reflection]]></category>

		<guid isPermaLink="false">http://aqquadro.it/blog/?p=287</guid>
		<description><![CDATA[Sorgenti &#8211; https://github.com/alessandro-aglietti/Simple-JEE-Ajax-Dispatcher Screencast on Vimeo! jee ajax dispatcher from Alessandro Aglietti on Vimeo. JEE AJAX Dispatcher with reflection on Google App Engine Mi sono ritrovato davanti il seguente problema. Avevo bisogno di gestire molte richieste AJAX, non volendo creare mille servlet e mille mappature sul web.xml mi sono spremuto. Option one: unica servlet con [...]]]></description>
			<content:encoded><![CDATA[<p>Sorgenti &#8211; <a title="Sorgenti su github" href="https://github.com/alessandro-aglietti/Simple-JEE-Ajax-Dispatcher" target="_blank">https://github.com/alessandro-aglietti/Simple-JEE-Ajax-Dispatcher</a></p>
<p>Screencast on Vimeo!</p>
<p><iframe src="http://player.vimeo.com/video/20385921" width="400" height="250" frameborder="0"></iframe>
<p><a href="http://vimeo.com/20385921">jee ajax dispatcher</a> from <a href="http://vimeo.com/alessandroaglietti">Alessandro Aglietti</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>JEE AJAX Dispatcher with reflection on Google App Engine</p>
<p>Mi sono ritrovato davanti il seguente problema.</p>
<p>Avevo bisogno di gestire molte richieste AJAX, non volendo creare mille servlet e mille mappature sul web.xml mi sono spremuto.</p>
<p>Option one: unica servlet con if in cascata&#8230; X_X &#8211; non se ne parla</p>
<p>Option two: montare un framework MVC, tipo struts, grovvy, gayelk&#8230; etc.. Purtroppo per le mie app ancora sono troppo macchinosi, non convengono.</p>
<p>Option three: una servlet per ogni richiesta, ognuna da mappare nel file web.xml&#8230; Na!</p>
<p>Pensa che ti ripensa, cerca che ti ricerca&#8230; Sun ti aiuta! <a title="usin Java reflection" href="http://java.sun.com/developer/technicalArticles/ALT/Reflection/" target="_blank">http://java.sun.com/developer/technicalArticles/ALT/Reflection/</a></p>
<p>Giusto, prechè non ci ho pensato prima, reflection! (Unico dubbio le prestazioni!)</p>
<p>Cosa mi serve&#8230;</p>
<p>Una servlet che in base ad un parametro, nel mio caso &#8220;action&#8221;, crea un oggetto adatto alla risposta e richiama un metodo per servire la risposta JSON.</p>
<p>Gli oggetti che elaborano la risposta devono avere un parente in comune altrimenti addio interfaccia comune.</p>
<p>Partiamo dal padre.</p>
<p><a title="AjaxRequest" href="https://github.com/alessandro-aglietti/Simple-JEE-Ajax-Dispatcher/blob/master/src/it/aqquadro/AjaxRequest.java" target="_blank">https://github.com/alessandro-aglietti/Simple-JEE-Ajax-Dispatcher/blob/master/src/it/aqquadro/AjaxRequest.java</a></p>
<p>Il costruttore ha un unico parametro, la request, in questo modo gli si può passare qualsiasi dato custom oltre a quelli della richiesta in atto utilizzando semplicemente:</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco} span.s1 {color: #5400ff} --></p>
<p style="padding-left: 30px;">req.setAttribute(&#8220;user&#8221;, &#8220;user@domain.ext&#8221;);</p>
<p>Per poi recuperarlo così:</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco} span.s1 {text-decoration: underline} span.s2 {color: #9e006b} span.s3 {color: #2c00d5} span.s4 {color: #5400ff} span.Apple-tab-span {white-space:pre} --></p>
<p style="padding-left: 30px;">Enumeration attributes = this.req.getAttributeNames();</p>
<p style="padding-left: 30px;">while (attributes.hasMoreElements()) {</p>
<p style="padding-left: 60px;">String object = (String) attributes.nextElement();</p>
<p style="padding-left: 60px;">msg = object + &#8221; &#8211; &#8221; + this.req.getAttribute(object).toString();</p>
<p style="padding-left: 60px;">printMessage(msg);</p>
<p style="padding-left: 30px;">}</p>
<p>Ogni nostro oggetto che useremo per risolvere le chiamate dovrà estendere AjaxRequest.java.</p>
<p>Come ad esempio HelloWorld.java</p>
<p><a href="https://github.com/alessandro-aglietti/Simple-JEE-Ajax-Dispatcher/blob/master/src/it/aqquadro/HelloWorld.java" target="_blank">https://github.com/alessandro-aglietti/Simple-JEE-Ajax-Dispatcher/blob/master/src/it/aqquadro/HelloWorld.java</a></p>
<p>Nella servlet che gestisce le richieste creiamo una mappa che lega un parametro a una classe:</p>
<p><a href="https://github.com/alessandro-aglietti/Simple-JEE-Ajax-Dispatcher/blob/master/src/it/aqquadro/JEE_AJAX_DispatcherServlet.java" target="_blank">https://github.com/alessandro-aglietti/Simple-JEE-Ajax-Dispatcher/blob/master/src/it/aqquadro/JEE_AJAX_DispatcherServlet.java</a></p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #399470} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #2c00d5} span.s1 {color: #9e006b} span.s2 {text-decoration: underline} span.s3 {color: #2c00d5} span.s4 {color: #399470} span.s5 {color: #000000} span.s6 {color: #5400ff} span.Apple-tab-span {white-space:pre} --></p>
<p style="padding-left: 30px;">private static Map&lt;String, Class&gt; requestMapAction = setRequestMapAction();</p>
<p style="padding-left: 30px;">private static Map&lt;String, Class&gt; setRequestMapAction() {</p>
<p style="padding-left: 60px;">/*</p>
<p style="padding-left: 60px;">* requestMapAction.put(&#8220;valoreParametroAction&#8221;, MyClass.class);</p>
<p style="padding-left: 60px;">*/</p>
<p style="padding-left: 60px;">if (requestMapAction == null) {</p>
<p style="padding-left: 90px;">requestMapAction = new HashMap&lt;String, Class&gt;();</p>
<p style="padding-left: 90px;">requestMapAction.put(&#8220;hw&#8221;, HelloWorld.class);</p>
<p style="padding-left: 60px;">}</p>
<p style="padding-left: 60px;">return requestMapAction;</p>
<p style="padding-left: 30px;">}</p>
<p>Poi come dall&#8217;articolo su java.sun.com, possiamo recuperarci il costruttore, creare un istanza.</p>
<p>Poi possiamo fare un cast verso la classe padre e così richiamare il metodo di cui è stato fatto l&#8217;override, nel mio caso il metodo è &#8220;getJSON&#8221;, esso ritorna una stringa JSON che la mia servlet scrivere sulla risposta.</p>
<p>Fine!</p>
<p>Spero possa essere utile, anche se so di aver reinventato l&#8217;acqua calda. Ma putroppo mi serviva una cosa semplice ed elegante.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Faqquadro.it%2Fblog%2F2011%2F02%2F25%2Fjee-ajax-dispatcher-with-reflection%2F&amp;t=JEE%20AJAX%20Dispatcher%20with%20reflection%20on%20Google%20App%20Engine" id="facebook_share_button_287" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_287') || document.getElementById('facebook_share_icon_287') || document.getElementById('facebook_share_both_287') || document.getElementById('facebook_share_button_287');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_287') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://aqquadro.it/blog/2011/02/25/jee-ajax-dispatcher-with-reflection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting UP simple Debian gateway with NAT, thanks IPTABLES!</title>
		<link>http://aqquadro.it/blog/2011/01/03/setting-up-simple-debian-gateway-with-nat-thanks-iptables/</link>
		<comments>http://aqquadro.it/blog/2011/01/03/setting-up-simple-debian-gateway-with-nat-thanks-iptables/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 22:17:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[How-To Debian GNU/Linux]]></category>
		<category><![CDATA[debia iptables nat]]></category>
		<category><![CDATA[debian gateway]]></category>
		<category><![CDATA[debian netfilter nat]]></category>
		<category><![CDATA[debian netfilter portforwarding]]></category>
		<category><![CDATA[debian port forwarding]]></category>
		<category><![CDATA[gateway iptables]]></category>
		<category><![CDATA[how to iptables]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[iptables NAT]]></category>
		<category><![CDATA[iptables port forwarding]]></category>
		<category><![CDATA[netfilter]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[Setting UP simple Debian gateway with NAT]]></category>
		<category><![CDATA[thanks IPTABLES!]]></category>

		<guid isPermaLink="false">http://aqquadro.it/blog/?p=270</guid>
		<description><![CDATA[Configurazione schede di rete Abilitare packet forwarding Aggiungere regole di port forwarding Getting IPTables to survive a reboot Configurazione schede di rete Editate il file /etc/network/interfaces configurando una scheda di rete connessa al router(eth0 nel mio caso) e una che fungerà da gateway per le altre macchine della LAN(eth1). iface eth0 inet static address 192.168.200.20 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="#setnet">Configurazione schede di rete</a><br />
<a href="#pforwa">Abilitare packet forwarding</a><br />
<a href="#rule">Aggiungere regole di port forwarding</a><br />
<a href="#survive">Getting IPTables to survive a reboot</a></p>
<p><a name="setnet"></a><b>Configurazione schede di rete</b><br />
Editate il file <code>/etc/network/interfaces</code> configurando una scheda di rete connessa al router(eth0 nel mio caso) e una che fungerà da gateway per le altre macchine della LAN(eth1).</p>
<p><code>iface eth0 inet static<br />
address 192.168.200.20<br />
gateway 192.168.200.1<br />
dns-nameservers 192.168.200.10<br />
netmask 255.255.255.0</p>
<p>iface eth1 inet static<br />
address 192.168.200.22<br />
netmask 255.255.255.0<br />
broadcast 192.168.200.255<br />
network 192.168.200.0</code></p>
<p>Nel mio caso userò l&#8217;IP 192.168.200.22 come gateway per le altre macchine della LAN e 192.168.200.20 come indirizzo esterno rivolto verso internet.</p>
<p>Riavviate le schede di rete, <code>ifdown/ifup eth0/eth1</code>.</p>
<p><a name="pforwa"></a><b>Abilitare packet forwarding</b><br />
Backup del file di configurazione<br />
<code>cp /etc/sysctl.conf /etc/sysctl.conf.bak</code></p>
<p>Dopo serve scommentare la riga che abilita il packet forwarding, sul precedente file<br />
<code># Uncomment the next line to enable packet forwarding for IPv4<br />
net.ipv4.ip_forward=1</code></p>
<p><a name="rule"></a><b>Aggiungere regole per il port forwarding</b><br />
Esempio di regola che invia le richieste fatte sul l&#8217;ip della mia eth0, alla porta 7000, vengano inoltrate all&#8217;indirizzo 192.168.200.222, sulla porta 80.<br />
Il comando può essere usato direttamente sulla shell, e immediatamente è possibile testarlo!<br />
<code>iptables -t nat -A PREROUTING -p tcp -d 192.168.200.20 --dport 22 -j DNAT --to 192.168.200.222:80</code></p>
<p><a name="survive"></a><b>Getting IPTables to survive a reboot</b><br />
Adesso serve rendere &#8220;persistenti&#8221; le modifiche fatte al firewall(netfilter) altrimenti al riavvio si perderebbero.<br />
Per prima cosa con il comando <code>iptables-save > /etc/firewall.conf</code> salvate la vostra configurazione.<br />
Poi aggiungete al file <code>/etc/network/interfaces</code>, nella zona dell&#8217;interfaccia di rete connessa a internet, la riga <code>post-up iptables-restore < /etc/firewall.conf</code></p>
<p><code>iface eth0 inet static<br />
address 192.168.200.20<br />
gateway 192.168.200.1<br />
dns-nameservers 192.168.200.10<br />
netmask 255.255.255.0<br />
post-up iptables-restore < /etc/firewall.conf</code></p>
<p>In questo modo tutte le volte che la scheda di rete sarà avviata verrano caricate le nostre regole di iptables.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Faqquadro.it%2Fblog%2F2011%2F01%2F03%2Fsetting-up-simple-debian-gateway-with-nat-thanks-iptables%2F&amp;t=Setting%20UP%20simple%20Debian%20gateway%20with%20NAT%2C%20thanks%20IPTABLES%21" id="facebook_share_button_270" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_270') || document.getElementById('facebook_share_icon_270') || document.getElementById('facebook_share_both_270') || document.getElementById('facebook_share_button_270');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_270') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://aqquadro.it/blog/2011/01/03/setting-up-simple-debian-gateway-with-nat-thanks-iptables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up Oracle 10g on Debian</title>
		<link>http://aqquadro.it/blog/2010/12/24/setting-up-oracle-10g-on-debian/</link>
		<comments>http://aqquadro.it/blog/2010/12/24/setting-up-oracle-10g-on-debian/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 17:51:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[How-To Debian GNU/Linux]]></category>
		<category><![CDATA[How-to Oracle]]></category>
		<category><![CDATA[Oracle 10g]]></category>
		<category><![CDATA[Oracle on Debian]]></category>
		<category><![CDATA[Oracle XE]]></category>
		<category><![CDATA[Setting up Oracle 10g on Debian]]></category>
		<category><![CDATA[Setting UP Oracle 10g VM with Debian]]></category>

		<guid isPermaLink="false">http://aqquadro.it/blog/?p=232</guid>
		<description><![CDATA[Scaricare l&#8217;immagine ISO di Debian GNU/Linux, personalmente consiglio di scaricare la versione netinst (circa 40MB!) &#8211; link Create una macchina virtuale, con Virtual Box o VMware Player e installate Debian come &#8220;ambiente base&#8221;(standard system) senza niente, in questo modo vi verrà una leggerissima VM. - Configurazione rete Debian - Acesso SSH - Configurazione swap - [...]]]></description>
			<content:encoded><![CDATA[<p>Scaricare l&#8217;immagine ISO di Debian GNU/Linux, personalmente consiglio di scaricare la versione netinst (circa 40MB!) &#8211; <a href="http://www.debian.org/CD/netinst/">link</a></p>
<p>Create una macchina virtuale, con <a href="http://www.virtualbox.org/">Virtual Box</a> o <a href="http://www.vmware.com/products/player/">VMware Player</a> e installate Debian come &#8220;ambiente base&#8221;(standard system) senza niente, in questo modo vi verrà una leggerissima VM.</p>
<p><a name="menu"></a><br />
- <a href="#netconfig">Configurazione rete Debian</a><br />
- <a href="#sshadmin">Acesso SSH</a><br />
- <a href="#swap">Configurazione swap</a><br />
- <a href="#aptkey">Aggiunta della key apt di Orcale</a><br />
- <a href="#aptsource">Aggiunta del repository apt di Oracle</a><br />
- <a href="#oraclexe">Installazione Oracle XE</a><br />
- <a href="#envars">Configurazione variabili d&#8217;ambiente per SQL Plus &#038; Oracle import/export</a><br />
- <a href="#remoteaccess">Abilitare l&#8217;acesso remoto su Oracle</a></p>
<p><a name="netconfig"></a></p>
<h3>Configurazione rete Debian</h3>
<p>Con il comando <code>ifconfig</code> segnatevi l&#8217;ip che avete<br />
<img src="http://img694.imageshack.us/img694/1100/ifconfig.png" alt="ifconfig" /></p>
<p>Lanciate <code>nano /etc/network/interfaces</code> e configurate un indirizzo statico<br />
<img src="http://img573.imageshack.us/img573/433/interfacesz.png" alt="interfaces" /></p>
<p>Commentate la riga col pallino verde e aggiungete quelle rosse, ovviamente impostando i vostri indirizzi, se usate VMware player gli indirizzi dovrebbero essere gli stessi dello screenshot.<br />
Con <code>CTRL + X</code>, <code>INVIO</code> salvate e uscite.</p>
<p>Lanciate <code>ifdown eth0</code>, <code>ifup eth0</code>.</p>
<p><a href="http://www.debian.org/doc/manuals/reference/ch-gateway.it.html">Debian reference &#8211; Configurare la rete</a></p>
<p><a href="#menu">^ Top</a></p>
<p><a name="sshadmin"></a></p>
<h3>Accesso SSH</h3>
<p>Lanciate <code>apt-get install ssh</code>, fatto ciò se siete sotto *nix vi basterà digitare nel terminale <code>ssh vostroutente@ip</code> per accedervi. Altrimenti se siete sotto Windows scaricatevi un client SSH tipo <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">putty</a>.<br />
<img src="http://img90.imageshack.us/img90/1523/sshs.png" alt="ssh" /></p>
<p>A questo punto si lavora direttamente da remoto. Meglio &#8230;!</p>
<p><a href="#menu">^ Top</a></p>
<p><a name="swap"></a></p>
<h3>Configurazione dell&#8217;area minima di swap</h3>
<p><b>Importante:</b> <em>Oracle XE ha bisogno di minimo 1Gb di area di swap.</em><br />
Con il comando <code>top</code> controllate quanta area di swap ha la vostra macchina, nel mio caso ne ho circa 150Mb.<br />
<img src="http://img191.imageshack.us/img191/1659/topio.png" alt="top" /></p>
<p>Mancandomi circa 1Gb di swap con il comando seguente aggiungo n(count) blocchi da 1Mb di swap, nel mio caso ne devo aggiungere circa 1000 blocchi<br />
<code>dd if=/dev/zero of=/swap bs=1M count=1000</code><br />
Attivate lo swap<br />
<code>mkswap /swap<br />
swapon /swap</code></p>
<p>Di nuovo, con il comando <code>top</code>, controllate di aver superato il Gb di swap.</p>
<p><a href="#menu">^ Top</a></p>
<p><a name="aptkey"></a></p>
<h3>Aggiunta della key apt di Oracle</h3>
<p>Per non ricevere errori di convalida durante l&#8217;installazione bisogna aggiungere la loro chiave pubblica.<br />
<code>wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle</code><br />
Se la chiave non è disponibile potete trovarla anche <a href="http://aqquadro.it/res/oracle.asc">qui</a>.<br />
Aggiugnere la chiave: <code>apt-key add ./RPM-GPG-KEY-oracle</code>, poi aggiornate il repository <code>apt-get update</code></p>
<p><a href="#menu">^ Top</a></p>
<p><a name="aptsource"></a></p>
<h3>Aggiunta del repository apt di Oracle</h3>
<p>Editare l&#8217;elenco dei repository<br />
<code>nano /etc/apt/sources.list</code><br />
Aggiungere la riga <code>deb http://oss.oracle.com/debian unstable main non-free</code>, poi aggiornate <code>apt-get update</code></p>
<p><a href="#menu">^ Top</a></p>
<p><a name="oraclexe"></a></p>
<h3>Installazione Oracle XE</h3>
<p>Semplicemente <code>apt-get install oracle-xe</code></p>
<p><a href="#menu">^ Top</a></p>
<p><a name="envars"></a></p>
<h3>Configurazione variabili d&#8217;ambiente per SQL Plus &#038; Oracle import/export</h3>
<p>E&#8217; comodo aggiungere alle variabili globali, <code>nano ~/.profile</code>, le seguenti:<br />
<code>export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server<br />
export PATH=${PATH}:${ORACLE_HOME}/bin</code></p>
<p>NB: non è detto che le path siano esattamente quelle su tutte le distribuzioni, una volta aggiunte chiudete la sessione utente e riapritela, o riavviate la macchina.</p>
<p><a href="#menu">^ Top</a></p>
<p><a name="remoteaccess"></a></p>
<h3>Abilitare l&#8217;acesso remoto su Oracle</h3>
<p>Entrate si SQL Plus <code>sqlplus utenteOracle/psw@XE</code>, e lanciate <code>exec dbms_xdb.setlistenerlocalaccess(false);</code></p>
<p>Adesso andando all&#8217;indirizzo <code>http://ipmacchina:8080/apex</code> potete gestire l&#8217;Oracle da remoto.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Faqquadro.it%2Fblog%2F2010%2F12%2F24%2Fsetting-up-oracle-10g-on-debian%2F&amp;t=Setting%20up%20Oracle%2010g%20on%20Debian" id="facebook_share_button_232" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_232') || document.getElementById('facebook_share_icon_232') || document.getElementById('facebook_share_both_232') || document.getElementById('facebook_share_button_232');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_232') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://aqquadro.it/blog/2010/12/24/setting-up-oracle-10g-on-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Path of appengine SDK on MacOS X for PyDev</title>
		<link>http://aqquadro.it/blog/2010/12/13/path-of-appengine-sdk-on-macos-x-for-pydev/</link>
		<comments>http://aqquadro.it/blog/2010/12/13/path-of-appengine-sdk-on-macos-x-for-pydev/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 10:03:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[appengine]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[appengine launcher path]]></category>
		<category><![CDATA[google-appengine-sdk]]></category>
		<category><![CDATA[pydev]]></category>

		<guid isPermaLink="false">http://aqquadro.it/blog/?p=223</guid>
		<description><![CDATA[When I can try a new project in PyDev for Eclipse, the IDE question me for te path of appengine SDK. ????? ! I installed from here the SDK but I don&#8217;t know the path of command for deploy or debug. Reading the log I found the path: /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/ Screen: Utils link: http://pydev.org/download.html http://code.google.com/intl/it-IT/appengine/docs/python/gettingstarted/ Share]]></description>
			<content:encoded><![CDATA[<p>When I can try a new project in PyDev for Eclipse, the IDE question me for te path of appengine SDK.</p>
<p>????? !</p>
<p>I installed from <a href="http://googleappengine.googlecode.com/files/GoogleAppEngineLauncher-1.4.0.dmg">here</a> the SDK but I don&#8217;t know the path of command for deploy or debug.</p>
<p>Reading the log I found the path:<br />
/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/</p>
<p>Screen:<br />
<img src="http://img820.imageshack.us/img820/5052/appenginesdkpathpydevho.png" alt="appengine sdk path pydev howto" /></p>
<p>Utils link:</p>
<p>http://pydev.org/download.html</p>
<p>http://code.google.com/intl/it-IT/appengine/docs/python/gettingstarted/</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Faqquadro.it%2Fblog%2F2010%2F12%2F13%2Fpath-of-appengine-sdk-on-macos-x-for-pydev%2F&amp;t=Path%20of%20appengine%20SDK%20on%20MacOS%20X%20for%20PyDev" id="facebook_share_button_223" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_223') || document.getElementById('facebook_share_icon_223') || document.getElementById('facebook_share_both_223') || document.getElementById('facebook_share_button_223');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_223') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://aqquadro.it/blog/2010/12/13/path-of-appengine-sdk-on-macos-x-for-pydev/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Required attribute on HTML5 input element if the type is set to &#8220;image&#8221;</title>
		<link>http://aqquadro.it/blog/2010/10/27/required-attribute-on-html5-input-element-if-the-type-is-set-to-image/</link>
		<comments>http://aqquadro.it/blog/2010/10/27/required-attribute-on-html5-input-element-if-the-type-is-set-to-image/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 08:44:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 input element]]></category>
		<category><![CDATA[input type="image"]]></category>
		<category><![CDATA[Required attribute on HTML5 input element]]></category>

		<guid isPermaLink="false">http://aqquadro.it/blog/?p=219</guid>
		<description><![CDATA[If you use input elements with type set to image, remember to set the &#8220;alt&#8221; attribute. This is because the item is &#8220;transformed&#8221; into an image and thus requiring a attribute for images. Share]]></description>
			<content:encoded><![CDATA[<p>If you use input elements with type set to image, remember to set the &#8220;alt&#8221; attribute.</p>
<p>This is because the item is &#8220;transformed&#8221; into an image and thus requiring a attribute for images.</p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Faqquadro.it%2Fblog%2F2010%2F10%2F27%2Frequired-attribute-on-html5-input-element-if-the-type-is-set-to-image%2F&amp;t=Required%20attribute%20on%20HTML5%20input%20element%20if%20the%20type%20is%20set%20to%20%22image%22" id="facebook_share_button_219" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_219') || document.getElementById('facebook_share_icon_219') || document.getElementById('facebook_share_both_219') || document.getElementById('facebook_share_button_219');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_219') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://aqquadro.it/blog/2010/10/27/required-attribute-on-html5-input-element-if-the-type-is-set-to-image/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Centrare un form dentro un div o qualsiasi altro elemento di blocco &#8211; HTML + CSS</title>
		<link>http://aqquadro.it/blog/2010/09/25/centrare-un-form-dentro-un-div-html-css/</link>
		<comments>http://aqquadro.it/blog/2010/09/25/centrare-un-form-dentro-un-div-html-css/#comments</comments>
		<pubDate>Sat, 25 Sep 2010 10:55:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[center form]]></category>
		<category><![CDATA[center form into td]]></category>
		<category><![CDATA[html + css]]></category>
		<category><![CDATA[text-align don't work]]></category>

		<guid isPermaLink="false">http://aqquadro.it/blog/?p=212</guid>
		<description><![CDATA[Ieri mi sono trovato di fronte a questo pezzo di html: [...] &#60;td style="width: 100%; text-align: center;"&#62; &#60;form style="width: auto;"&#62;[..]&#60;/form&#62; &#60;td&#62; [...] Sui siti del W3C dicono di usare text-align per centrare gli oggetti però non funziona con tutti, per esempio non funziona con i form. Ho risolto così: &#60;form style="width: auto; margin: 0 auto;" [...]]]></description>
			<content:encoded><![CDATA[<p>Ieri mi sono trovato di fronte a questo pezzo di html:</p>
<p>[...]</p>
<p><code>&lt;td style="width: 100%; text-align: center;"&gt;</p>
<p>&lt;form style="width: auto;"&gt;[..]&lt;/form&gt;</p>
<p>&lt;td&gt;</code></p>
<p>[...]</p>
<p>Sui siti del W3C dicono di usare text-align per centrare gli oggetti però non funziona con tutti, per esempio non funziona con i form.</p>
<p>Ho risolto così:</p>
<p><code>&lt;form style="width: auto; margin: 0 auto;" /&gt;</code></p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Faqquadro.it%2Fblog%2F2010%2F09%2F25%2Fcentrare-un-form-dentro-un-div-html-css%2F&amp;t=Centrare%20un%20form%20dentro%20un%20div%20o%20qualsiasi%20altro%20elemento%20di%20blocco%20-%20HTML%20%2B%20CSS" id="facebook_share_button_212" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_212') || document.getElementById('facebook_share_icon_212') || document.getElementById('facebook_share_both_212') || document.getElementById('facebook_share_button_212');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_212') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://aqquadro.it/blog/2010/09/25/centrare-un-form-dentro-un-div-html-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambiare porta di ascolto Apache2 &#8211; Debian GNU/Linux</title>
		<link>http://aqquadro.it/blog/2010/09/25/cambiare-porta-di-ascolto-apache2-debian-gnulinux/</link>
		<comments>http://aqquadro.it/blog/2010/09/25/cambiare-porta-di-ascolto-apache2-debian-gnulinux/#comments</comments>
		<pubDate>Sat, 25 Sep 2010 10:40:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[How-To Debian GNU/Linux]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[apache2 ports.conf]]></category>
		<category><![CDATA[custom web server port]]></category>

		<guid isPermaLink="false">http://aqquadro.it/blog/?p=208</guid>
		<description><![CDATA[Se volete cambiare la porta di ascolto, di default è la 80, di Apache2 vi basterà modificare questo file: /etc/apache2/ports.conf Ovviamente una volta cambiata dovete anche modificare il file: /etc/apache2/sites-available/default in base alla vostra configurazione. Per esempio, di default, il file inizia con: virtualhost *:80 questo dovrà cambiare con virtualhost *:vostra_porta Fatto questo riavviate il [...]]]></description>
			<content:encoded><![CDATA[<p>Se volete cambiare la porta di ascolto, di default è la 80, di Apache2 vi basterà modificare questo file:</p>
<p><code>/etc/apache2/ports.conf</code></p>
<p>Ovviamente una volta cambiata dovete anche modificare il file:</p>
<p><code>/etc/apache2/sites-available/default</code></p>
<p>in base alla vostra configurazione.</p>
<p>Per esempio, di default, il file inizia con:</p>
<p><code>virtualhost *:80</code></p>
<p>questo dovrà cambiare con</p>
<p><code>virtualhost *:vostra_porta</code></p>
<p>Fatto questo riavviate il servizio:</p>
<p><code>/etc/init.d/apache2 restart</code></p>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Faqquadro.it%2Fblog%2F2010%2F09%2F25%2Fcambiare-porta-di-ascolto-apache2-debian-gnulinux%2F&amp;t=Cambiare%20porta%20di%20ascolto%20Apache2%20-%20Debian%20GNU%2FLinux" id="facebook_share_button_208" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; display: -moz-inline-block; display:inline-block; padding:1px 20px 0 5px; margin: 5px 0; height:15px; border:1px solid #d8dfea; color: #3B5998; background: #fff url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top right;">Share</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_208') || document.getElementById('facebook_share_icon_208') || document.getElementById('facebook_share_both_208') || document.getElementById('facebook_share_button_208');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_208') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://aqquadro.it/blog/2010/09/25/cambiare-porta-di-ascolto-apache2-debian-gnulinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

