<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2italianfull.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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" version="2.0">

<channel>
	<title>MaiNick Web</title>
	
	<link>http://www.mainickweb.com</link>
	<description>Web 2.0, Ajax, JavaScript, PHP,  xHTML e Css</description>
	<pubDate>Thu, 25 Dec 2008 11:43:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/MainickWeb" type="application/rss+xml" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMainickWeb" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/MainickWeb" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FMainickWeb" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FMainickWeb" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMainickWeb" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FMainickWeb" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/content?lg=it&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FMainickWeb" src="http://eur.i1.yimg.com/eur.yimg.com/i/it/my/mioya1.gif">Subscribe with Mio Yahoo!</feedburner:feedFlare><item>
		<title>Felice Natale a tutti</title>
		<link>http://www.mainickweb.com/felice-natale-a-tutti/</link>
		<comments>http://www.mainickweb.com/felice-natale-a-tutti/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 07:00:38 +0000</pubDate>
		<dc:creator>MaiNickWeb</dc:creator>
		
		<category><![CDATA[Eventi]]></category>

		<category><![CDATA[auguri]]></category>

		<category><![CDATA[natale]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=237</guid>
		<description><![CDATA[MaiNick augura la gioia, la serenità, il sorriso e soprattutto l&#8217;amore che il Natale trasmette nei nostri cuori.
]]></description>
			<content:encoded><![CDATA[<p>MaiNick augura la gioia, la serenità, il sorriso e soprattutto l&#8217;amore che il Natale trasmette nei nostri cuori.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/felice-natale-a-tutti/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Come ottenere sempre la compatibilità Cross Browser</title>
		<link>http://www.mainickweb.com/come-ottenere-sempre-la-compatibilit-cross-browser/</link>
		<comments>http://www.mainickweb.com/come-ottenere-sempre-la-compatibilit-cross-browser/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 06:30:38 +0000</pubDate>
		<dc:creator>MaiNickWeb</dc:creator>
		
		<category><![CDATA[css]]></category>

		<category><![CDATA[browser]]></category>

		<category><![CDATA[cross browser]]></category>

		<category><![CDATA[font]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[IE6]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/come-ottenere-sempre-la-compatibilit-cross-browser/</guid>
		<description><![CDATA[Tuttavia bisogna informarsi e verificare questi problemi di rappresentazione: ad esempio, un font che probabilmente non dovreste usare &#232; Lucida Grande/Sans, il quale rende bruttissimo in Internet Explorer.


...&#200; necessario specificare la dimensione in percentuale nell'elemento body, e quindi la dimensione in em, attraverso il resto del foglio. line-height &#232; necessario definirla in em, piuttosto che in pixel, per una rappresentazione costante.]]></description>
			<content:encoded><![CDATA[<p>Questo è un elenco di problemi principali che si hanno lavorando con Internet Explorer.</p>
<h2>Contraddizioni dell&#8217;elemento</h2>
<p><span id="more-232"></span></p>
<hr />Ogni browser rende diversi particolari elementi - importi differenti per padding, margini e bordi etc. - se lasciamo utilizzare lo stile predefinito dei browser.</p>
<h3>Soluzione</h3>
<p>La prima cosa da fare è ripristinare i vostri stili. Disporre all&#8217;inizio del vostro css una soluzione di <em>reset</em> che rimuove il padding, margin e border e altre incongruenze dagli elementi.<br />
Un buon esempio è il codice <a title="Stile reset.css di Eric Meyer" href="http://meyerweb.com/eric/thoughts/2008/01/15/resetting-again/" target="_blank">reset.css di Eric Meyer</a>.</p>
<h2>Image Rendering</h2>
<hr />IE6 e IE7 rendono estremamente male le immagini ridimensionate, quando le loro dimensioni sono cambiate con CSS o nel HTML.</p>
<h3>Soluzione</h3>
<p>Ridimensionare le immagini alla dimensione desiderata prima di utilizzarla nel sito.</p>
<h2>Font Rendering</h2>
<hr />Safari 3+ ha un problema con il modo in cui rende testo chiaro su sfondo scuro. Esiste un modo per farlo sembrare più chiaro.</p>
<h3>Soluzione</h3>
<p>E&#8217; necessario aggiungere questa regola al selettore:</p>
<pre class="css:nogutter">p {
    text-shadow: #000 0 0 0;
}</pre>
<h2>Selezione font</h2>
<hr />Ci sono font web sicuri che usiamo - Arial, Georgia, Verdana etc. Ma ci sono alcuni font che sono comuni sia al PC che al Mac - - Century Gothic, Arial Narrow etc. - tuttavia, browser e OS differenti li rendono di tipo differente.</p>
<h3>Soluzione</h3>
<p>Finché è un font sicuro va tutto bene nella visualizzazione. Tuttavia bisogna informarsi e verificare questi problemi di rappresentazione: ad esempio, un font che probabilmente non dovreste usare è Lucida Grande/Sans, il quale rende bruttissimo in Internet Explorer.</p>
<h2>Dimensione testo</h2>
<hr />La capacità di ridimensionare il testo differisce fra i browser e gli OS. Se vogliamo impostare tutto il testo in em, IE esagererà i formati del testo una volta ridimensionato.</p>
<h3>Soluzione</h3>
<p>È necessario specificare la dimensione in percentuale nell&#8217;elemento body, e quindi la dimensione in em, attraverso il resto del foglio. line-height è necessario definirla in em, piuttosto che in pixel, per una rappresentazione costante.<br />
Una cosa da ricordare è che la dimensione del font di default è 16px. Quindi, per ridimensionarlo a 12px usiamo:</p>
<pre class="css:nogutter">body {
    font-size: 75%;
    line-height: 1.5em;
}
h1 {
     font-size: 3em; /* 36px */
}</pre>
<h2>Doppi margini su elementi flottanti</h2>
<hr />Creiamo un CSS layout con elementi flottanti a destra:</p>
<pre class="css:nogutter">#content {
    float: right;
    width: 300px;
    margin-right: 10px;
}
#sidebar {
    float: right;
    width: 100px;
}</pre>
<p>In IE qualsiasi margine che si trova sullo stesso lato del float sarà raddoppiato. Questo significa che l&#8217;elemento content a sinistra avrà tale margine esteso a 20px.</p>
<h3>Soluzione</h3>
<p>Per risolvere il problema, tutto quello che dovete fare è applicare la proprietà display:inline sui box del layout:</p>
<pre class="css:nogutter">#content {
    float: right;
    width: 300px;
    margin-right: 10px;
    display: inline;
}
#sidebar {
    float: right;
    width: 100px;
    display: inline;
}</pre>
<h2>Compensazione elementi flottanti</h2>
<hr />Si verifica quando un div contenitore non avvolge correttamente intorno ai div contenuti.<br />
Probabilmente non noterete questo fino a che non si prova a mettere uno sfondo sul vostro contenitore.</p>
<h3>Soluzione</h3>
<p>La soluzione migliore è un semplice overflow:auto o overflow:hidden nel div contenitore:</p>
<pre class="css:nogutter">#container {
    width: 966px;
    margin: 0 auto;
    overflow: auto;
}</pre>
<p>È necessario tenere a mente che overflow: auto potrebbe causare alcuni problemi con Firefox: se si verificano problemi usare overlflow:hidden.</p>
<h2>CSS selettori</h2>
<hr />Se vorremmo utilizzare tutti i nuovi CSS3 selettori, IE6 non supporta tutti quelli importanti.<br />
Molti di questi selettori non sono supportati neppure da Firefox 3. Per un elenco completo dei selettori supportati, consultare questo post sul <a title="Browser CSS Selector Support" href="http://www.evotech.net/blog/2008/05/browser-css-selector-support/" target="_blank">supporto dei CSS selettori nei browser</a>.</p>
<h3>Soluzione</h3>
<p>Usare soltanto E + F, E &gt; F, E ~ F. Se realmente dovete utilizzare questi selettori, dovreste esaminare IE8.js che dà a IE6 il migliore supporto dei selettori. Tuttavia questo rallenterà il vostro sito.</p>
<h2>PNG Trasparenza</h2>
<hr />IE6 non supporta la trasparenza alfa del PNG. Il più fastidioso bug/problema di IE.</p>
<h3>Soluzione</h3>
<p>Esistono tre soluzioni per questo problema.<br />
E&#8217; possibile utilizzare <strong>AlphaImageLoader</strong> in un foglio di stile specifico per IE: aggiungi queste proprietà a qualsiasi immagine PNG che si desidera avere la trasparenza.</p>
<pre class="css:nogutter">.trans {
    background-image: none;
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/transparent.png', sizingMethod='image/scale/crop');
}</pre>
<p>È necessario creare una PNG trasparente 1&#215;1 e collegarla ad essa nell&#8217;attributo src.<br />
Un modo migliore per farlo è <a title="IE PNG Fix v1.0 / 2.0 Alpha 3" href="http://www.twinhelix.com/css/iepngfix/" target="_blank"><strong>IE5.5+ PNG Alpha Fix</strong></a> simile al AlphaImageLoader, tranne per il fatto che si collega ad uno script JavaScript che innesca la trasparenza.<br />
Il terzo metodo è quello di utilizzare IE8.js citato sopra. E&#8217; anche più sicuro rispetto al metodo precedente. Realizzerà la trasparenza a qualsiasi png che finisce -trans; ad es. myimage-trans.png.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/come-ottenere-sempre-la-compatibilit-cross-browser/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Angoli arrotondati con jQuery</title>
		<link>http://www.mainickweb.com/angoli-arrotondati-con-jquery/</link>
		<comments>http://www.mainickweb.com/angoli-arrotondati-con-jquery/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 06:30:09 +0000</pubDate>
		<dc:creator>MaiNickWeb</dc:creator>
		
		<category><![CDATA[jquery]]></category>

		<category><![CDATA[angoli arrotondati]]></category>

		<category><![CDATA[corners]]></category>

		<category><![CDATA[plugin jquery]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=226</guid>
		<description><![CDATA[Dopo l&#8217;uso di tanti script per creare l&#8217;effetto arrotondato ad angoli, ho trovato questo plugin di jQuery che mi ricrea lo stesso effetto senza l&#8217;utilizzo di immagini o margini.

Compatibile con i maggiori browser, anche i più datati, il plugin jQuery Corners è cartterizzato dalle seguenti features:

pesa meno di 8000 bytes dopo la compressione effettuata con [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo l&#8217;uso di tanti script per creare l&#8217;<strong>effetto arrotondato ad angoli</strong>, ho trovato questo plugin di jQuery che mi ricrea lo stesso effetto senza l&#8217;utilizzo di immagini o margini.</p>
<p><span id="more-226"></span></p>
<p>Compatibile con i maggiori browser, anche i più datati, il plugin <a title="jQuery Corners" href="http://www.atblabs.com/jquery.corners.html" target="_blank"><strong>jQuery Corners</strong></a> è cartterizzato dalle seguenti features:</p>
<ul>
<li>pesa meno di 8000 bytes dopo la compressione effettuata con <a title="Yahoo UI Compressor" href="http://developer.yahoo.com/yui/compressor/" target="_blank">YUI Compressor</a></li>
<li>anti-aliasing veloce per i browser più anziani</li>
<li><strong>angoli nativi</strong> per browser utilizzati su Safari, iPhone e Firefox 3</li>
<li>tasti dei moduli e ancore facilmente designati e arrotondati</li>
</ul>
<p>Una volta che jQuery e lo script <strong>jQuery.corners</strong> vengono caricati, è semplice creare gli <strong>angoli arrotondati</strong>:</p>
<pre name="code" class="html:nogutter">
&lt;div style="background-color:#c00; padding:5px;" class="rounded"&gt;
    Esempio div
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
    $(document).ready( function(){
        $('.rounded').corners();
    });
&lt;/script&gt;
</pre>
<p>l&#8217;unica raccomandazione è dare abbastanza riempimento al box, poi è possibile anche impostare il raggio d&#8217;angolo:</p>
<pre name="code" class="html:nogutter">
&lt;div style="background-color:#acc; padding:10px" class="rounded"&gt;
    Esempio con raggio X e Y con dimensioni diverse.
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
    $(document).ready( function(){
        $('.rounded').corners("30px 10px");
    });
&lt;/script&gt;
</pre>
<p>Per quanto riguarda i bottoni nei moduli e le ancore possono essere trasformati in pulsanti con angoli arrotondati:</p>
<pre name="code" class="html:nogutter">
&lt;a href="javascript:" onclick="alert('Hello, World!')" class="rounded {transparent} button"&gt;
    Premere
&lt;/a&gt;
</pre>
<pre name="code" class="html:nogutter">
&lt;form action="#"&gt;
&lt;input type="submit" value="Submit" class="rounded {transparent} button"&gt; 
&lt;input type="button" value="Javascript" class="rounded {transparent} button" onclick="alert('OK!'); return false;"&gt;
&lt;/form&gt;
</pre>
<p>richiedono regole CSS</p>
<pre name="code" class="css:nogutter">
a.rounded, .button {
    outline: none;
    border: none;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    vertical-align: middle; /* or top */
    display: -moz-inline-box;
    display: inline-block;
    overflow: visible; /* IE6 form button fix */
}
.button {
    color: #000;
    background-color: #c00;
    padding: 5px 7px;
}
.button:hover {
    background-color: #c00;
}
</pre>
<p>E&#8217; possibile personalizzare lo script con opzioni passate come stringhe:</p>
<ul>
<li><span style="color: #000000;"><strong>5px</strong> - imposta raggio dell&#8217;angolo (di default è 5)</span></li>
<li><span style="color: #000000;"><strong>10px 6px</strong></span><span style="color: #000000;"> - imposta raggio X e Y con valori diversi</span></li>
<li><span style="color: #000000;"><strong>anti-alias</strong> - angoli anti-alias (di defaut)</span></li>
<li><span style="color: #000000;"><strong>transparent</strong> - per immagini di sfondo utilizzare qusta opzione</span></li>
<li><span style="color: #000000;"><strong>no-native</strong> - disabilita tutte le estensioni border-radius specifiche per i diversi browser</span></li>
<li><span style="color: #000000;"><strong>webkit</strong> - consente l&#8217;uso di -webkit-border-radius compatibile con i browser Safari e iPhone</span></li>
<li><span style="color: #000000;"><strong>mozilla</strong> - consente l&#8217;uso di -moz-border-radius su Firefox 3+ e altri browser basati su Mozilla</span></li>
<li><span style="color: #888888;"><span style="color: #000000;"><strong>top, right, bottom, left, top-left, top-right, bottom-left, bottom-right</strong></span><span style="color: #000000;"> - applica effetto solo su specifici angoli </span><br />
</span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/angoli-arrotondati-con-jquery/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google lancia voce e video chat per Gmail</title>
		<link>http://www.mainickweb.com/google-lancia-voce-e-video-chat-per-gmail/</link>
		<comments>http://www.mainickweb.com/google-lancia-voce-e-video-chat-per-gmail/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 06:30:38 +0000</pubDate>
		<dc:creator>MaiNickWeb</dc:creator>
		
		<category><![CDATA[Applicazioni Online]]></category>

		<category><![CDATA[chat]]></category>

		<category><![CDATA[gmail]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=221</guid>
		<description><![CDATA[

Google ha realizzato un importante aggiornamento per Gmail: voce e video chat in un sol colpo.
Per utilizzare queste nuove funzionalità, bisogna semplicemente installare un plugin per browser, basta poi fare click su &#8220;video &#38; more&#8221; dal menu nella finestra di chat di Gmail e selezionare &#8220;Start Video chat&#8221; o &#8220;Start Voice chat&#8220;. E&#8217; possibile passare [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-223" style="border: 0pt none;" title="gmail-video-chat" src="http://www.mainickweb.com/wp-content/2008/11/gmail-video-chat.jpg" alt="" width="480" height="310" /></p>
<p><span id="more-221"></span></p>
<p>Google ha realizzato un importante aggiornamento per Gmail: <strong>voce e video chat</strong> in un sol colpo.</p>
<p>Per utilizzare queste nuove funzionalità, bisogna semplicemente installare un <a title="Chat video e vocale di Gmail" href="http://mail.google.com/videochat" target="_blank"><strong>plugin per browser</strong></a>, basta poi fare click su &#8220;<em>video &amp; more</em>&#8221; dal menu nella finestra di chat di Gmail e selezionare &#8220;<em>Start Video chat</em>&#8221; o &#8220;<em>Start Voice chat</em>&#8220;. E&#8217; possibile passare ad una visualizzazione a schermo intero o finesta pop-up.</p>
<p>Introducendo la video chat, Google si avvicina sempre di più all&#8217;unione di tutti i relativi servizi: dopo Google Calendar, Google Documenti.</p>
<p>La nuova caratteristica è stata sviluppata dal gruppo di ingegneria del Google in Svezia, dove è nel lontano 2007 fu acquistato la <a title="Video collaborazione e-meeting" href="http://www.marratech.com/" target="_blank">Marratech</a>, applicazione in grado di far <strong>comunicare gli utenti via chat</strong>, VoIP e video e condividere applicazioni &#8230; forse nei prossimi mesi vedremo tali funzionalità comprese in Gmail?!  :wow:</p>
<p style="text-align: center;"><a href="http://www.youtube.com/watch?v=JFGJRfoK9xQ"><img src="http://img.youtube.com/vi/JFGJRfoK9xQ/default.jpg" width="130" height="97" border=0></a></p>
<p>Fonte: <a href="http://www.techcrunch.com/2008/11/11/google-adds-voice-and-video-chat-to-gmail/trackback/" target="_blank">TechCrunch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/google-lancia-voce-e-video-chat-per-gmail/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Conversioni tra tipi di dati</title>
		<link>http://www.mainickweb.com/conversioni-tra-tipi-di-dati/</link>
		<comments>http://www.mainickweb.com/conversioni-tra-tipi-di-dati/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 12:30:58 +0000</pubDate>
		<dc:creator>MaiNickWeb</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[conversioni tipi]]></category>

		<category><![CDATA[dati]]></category>

		<category><![CDATA[funzioni php]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=218</guid>
		<description><![CDATA[In php le variabili non sono dichiarate di un certo tipo e il motore del linguaggio converte liberamente tra i diversi tipi durante l&#8217;esecuzione. Esistono due sistemi principali per convertire le variabili di un tipo in un altro.
Conversioni di tipo implicite
I casi più frequenti in cui avvengono conversioni implicite (automatiche) di tipo sono i seguenti:

Operatori [...]]]></description>
			<content:encoded><![CDATA[<p>In php le variabili non sono dichiarate di un certo tipo e il motore del linguaggio converte liberamente tra i diversi tipi durante l&#8217;esecuzione. Esistono due sistemi principali per <strong>convertire le variabili</strong> di un tipo in un altro.<span id="more-218"></span></p>
<h2>Conversioni di tipo implicite</h2>
<p>I casi più frequenti in cui avvengono conversioni implicite (automatiche) di tipo sono i seguenti:</p>
<ul>
<li><strong><em>Operatori aritmetici binari</em></strong>. Se un operando è un intero e l&#8217;altro è un numero a virgola mobile, il valore intero viene convertito in float. Se uno è una stringa e l&#8217;altro è un intero, PHP converte la stringa in un intero prima di valutare entrambi gli operandi come interi.</li>
<li><em><strong>Espressioni booleane e operatori di espressione</strong></em>. Nel caso in cui un&#8217;espressione deve essere valutata come un booleano, PHP converte il risultato dell&#8217;espressione in un booleano.</li>
<li><em><strong>Alcuni metodi che richiedono le stringhe</strong></em>. Alcuni metodi e operatori, echo, print o l&#8217;operatore di concatenazione della stringa (.), richiedono che i loro operandi siano stringhe.</li>
</ul>
<h2>Conversioni di tipo esplicite</h2>
<p>Si tenta la conversione di tipo utilizzando il cosiddetto <em>type casting</em>: si fa precedere una variabile (o una qualsiasi espressione) da un tipo di dato racchiuso tra parentesi e php prova a convertirla.</p>
<ul>
<li><strong>(float), (double), (real)</strong> Converte in un numero a virgola mobile.</li>
<li><strong>(int), (integer)</strong> Converte in un intero.</li>
<li><strong>(string)</strong> Converte in una stringa di testo.</li>
<li><strong>(bool), (boolean)</strong> Converte in un valore booleano.</li>
<li><strong>(array)</strong> Converte in un array.</li>
<li><strong>(object)</strong> Converte in un oggetto.</li>
</ul>
<pre name="code" class="php:nogutter">
&lt;?php
    $strQta = $_POST['qtaDesiderata'];
    $strQta = (int)$strQta;
?&gt;
</pre>
<h2>Conversioni di tipo specifiche</h2>
<h3>Conversione in interi</h3>
<p>E&#8217; possibile convertire esplicitamente i valori in interi utilizzando anche la funzione <span style="text-decoration: underline;">intval</span>. Quando si convertono i valori a virgola mobile in interi, php tronca la parte decimale. Quando si converte una stringa in un intero, php analizza la stringa un carattere alla volta finché trova un carattere che non è una cifra; il mancato parsing di un numero decimale valido restituisce il valore 0.</p>
<pre name="code" class="php:nogutter">
&lt;?php
    echo (int)"123";  //visualizza 123
    echo (int)"+456";  // 456
    echo (int)"55e2";  // 55 - il parsing si ferma alla e
    echo (int)"3 cani"; // 3 - il parsing si ferma allo spazio
    echo (int)"tre cani"; // 0 - non interpretati num scritti in lettere
    echo (int)"-4321"; // -4321
?&gt;
</pre>
<p>Quando si convertirà da un booleano in un intero, FALSE restituirà 0 mentre TRUE restituirà 1. La conversione da array, oggetti o risorse in interi è indefinita e non dovrebbe essere eseguita. Il valore NULL è convertito sempre nel valore intero 0.</p>
<h3>Conversione in numeri in virgola mobile</h3>
<p>Le varibili e le espressioni possono essere convertite nel tipo a virgola mobile anche chiamando la funzione <span style="text-decoration: underline;">floatval</span>.</p>
<p>Un intero convertito in numero a virgola mobile potrebbe non essere identico al valore intero originale ( 10000 generi un valore a virgola mobile 9999.9999999 o anche 10000.000001). Non si dovrebbe mai fare affidamento su confronti con valori a virgola mobile. Quando si convertono le stringhe, qualsiasi stringa numerica contenente un decimale (.) o la lettera e può essere convertita in un valore a virgola mobile.</p>
<pre name="code" class="php:nogutter">
&lt;?php
    $f1 = (float)"+123";  // 123.0
    $f2 = (float)"-123";  // -123.0
    $f3 = (float)"123.456";  // 123.456
    $f4 = (float)"1.23456e2";  // 123.456
    $f5 = (float)"1.234e-2";  // 0.01234
    $f6 = (float)"1000000000000";  //1e12 (mille miliardi)
?&gt;
</pre>
<p>Per il resto avviene come nella conversione in interi, in più specificata la parte decimale.</p>
<h3>Conversione in stringhe</h3>
<p>E&#8217; possibie convertire le variabili in stringhe chiamando la funzione <span style="text-decoration: underline;">strval</span> o racchiudendole tra virgolette doppie.</p>
<p>Gli interi e i valori a virgola mobile sono convertiti in stringhe che rappresentano valori numerici. I valori booleani sono convertiti trasformando il valore TRUE nella stringa &#8220;1&#8243;, mentre FALSE nella stringa vuota (&#8221;"). Gli array sono sempre convertiti nel valore della stringa &#8220;Array&#8221; e gli oggetti nel valore &#8220;Object&#8221;. Le risorse sono convertite in una stringa come &#8220;Resource id #X&#8221; in cui X è un identificatore numerico univoco, utilizzato da php per identificare la risorsa. NULL viene convertito nella stringa vuota (&#8221;").</p>
<h3>Conversione in array</h3>
<p>E&#8217; possibile convertire una variabile o un&#8217;espressione in un array tramite anche la funzione <span style="text-decoration: underline;">array</span>, la stessa utilizzata per creare un nuovo array.</p>
<p>Gli interi, i numeri a virgola mobile, le stringhe, i valori booleani e le risorse sono convertite creando un array con un unico elemento (con indice pari a 0), ossia il valore della variabile o dell&#8217;espressione. Gli oggetti vengono convertiti creando un array con le chiavi rappresentate dai nomi delle variabili membro dell&#8217;oggetto e con i valori costituiti dal valore delle variabili.</p>
<h2>Funzioni utili per la conversione di tipo</h2>
<h3>is_type</h3>
<p>Tutte queste funzioni restituiscono un valore booleano che indica se il valore specificato è o non è del tipo richiesto:</p>
<pre>is_integer, is_float, is_numeric (restituisce TRUE se l'argomento è un numero a virgola mobile, un intero o una stringa numerica), is_string, is_bool, is_array, is_object, is_null</pre>
<h3>gettype</h3>
<p>Segnala di quale tipo php considera attualmente una variabile o un&#8217;espressione; restituisce:</p>
<p>&#8220;boolean&#8221;, &#8220;integer&#8221;, &#8220;double&#8221;, &#8220;string&#8221;, &#8220;array&#8221;, &#8220;object&#8221;, &#8220;resource&#8221;, &#8220;NULL&#8221;, &#8220;unknown type&#8221;.</p>
<h3>settype</h3>
<p>Questa funzione richiede di specificare due argomenti: la variabile da convertire e il tipo nel quale deve essere convertita, espresso come una stringa. Restituisce un valore booleano che indica se la conversione è avvenuta con successo o meno.</p>
<pre name="code" class="php:nogutter">
&lt;?php
    $var = 234.234;
    settype($var, "string");
    //ora $var hai il valore "234.234", del tipo stringa
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/conversioni-tra-tipi-di-dati/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Il meglio della settimana 6</title>
		<link>http://www.mainickweb.com/il-meglio-della-settimana-6/</link>
		<comments>http://www.mainickweb.com/il-meglio-della-settimana-6/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 16:03:39 +0000</pubDate>
		<dc:creator>MaiNickWeb</dc:creator>
		
		<category><![CDATA[Il meglio della settimana]]></category>

		<category><![CDATA[hosting]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[layout]]></category>

		<category><![CDATA[scrivere web]]></category>

		<category><![CDATA[validazione]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=212</guid>
		<description><![CDATA[Ecco l&#8217;appuntamento con il meglio della settimana dedicato allo sviluppo in ambito web.


Spazio gratis in rete per lo sviluppo web

Angelo ci presenta una lista di hosting gratuiti con traffico web illimitato, supporto a php 4 e 5, con tanto di database MySql.

Ottimizzare i nostri layout per iPhone 

Quarto capitolo della serie &#8220;Progressive Enhancement: migliorare l&#8217;esperienza [...]]]></description>
			<content:encoded><![CDATA[<p>Ecco l&#8217;appuntamento con <strong>il meglio della settimana</strong> dedicato allo sviluppo in ambito web.</p>
<p><span id="more-212"></span></p>
<p><img class="size-full wp-image-93 alignleft" style="border: medium none; margin-right: 10px;" title="hosting" src="http://www.mainickweb.com/wp-content/2008/11/hosting.jpg" alt="hosting gratuito" width="100" height="70" /></p>
<p><strong><a title="Spazio wev gratis con supporto PHP e MySQL" href="http://noizexperience.com/spazio-web-gratis-con-supporto-php-mysql/trackback" target="_blank">Spazio gratis in rete per lo sviluppo web</a><br />
</strong></p>
<p><strong>Angelo</strong> ci presenta una lista di <strong>hosting gratuiti</strong> con traffico web illimitato, supporto a <strong>php 4 e 5</strong>, con tanto di <strong>database MySql</strong>.</p>
<p><img class="size-full wp-image-94 alignleft" style="border: medium none; margin-right: 10px;" title="iphone" src="http://www.mainickweb.com/wp-content/2008/11/iphone.jpg" alt="realizzare pagine web per iphone" width="100" height="70" /></p>
<p><strong><a title="Rendere migliori i nostri layout agii utenti iPhone" href="http://francescogavello.it/progressive-enhancement-4-ottimizzare-per-iphone/trackback" target="_blank">Ottimizzare i nostri layout per iPhone </a><br />
</strong></p>
<p>Quarto capitolo della serie &#8220;<em>Progressive Enhancement: migliorare l&#8217;esperienza utente per i browser moderni</em>&#8220;. I miei complimenti per <strong>Francesco</strong>, articoli veramente molto utili.</p>
<p><img class="size-full wp-image-95 alignleft" style="border: medium none; margin-right: 10px;" title="come_iniziare_efficacemente_un_articolo" src="http://www.mainickweb.com/wp-content/2008/11/come_iniziare_efficacemente_un_articolo.jpg" alt="come iniziare efficacemente un articolo" width="100" height="70" /></p>
<p><a title="Come iniziare a scrivere efficamente articoli per il Web" href="http://robingood-italia.disqus.com/scrivere_per_il_web_come_iniziare_efficacemente_un_articolo_lapproccio_tramezzino_a_piramide_rovesci/trackback/" target="_blank"><strong>Come iniziare efficacemente un articolo per il Web<br />
</strong></a></p>
<p>Il consiglio di <strong>Robin Good</strong> è di utilizzare l&#8217;<em>approccio tramezzino a piramide rovesciata</em>, comunicando immediatamente cosa c&#8217;è di così speciale nell&#8217;articolo.</p>
<p><a href="http://freesitevalidator.com/"><img class="size-full wp-image-97 alignleft" style="border: medium none; margin-right: 10px;" title="free-site-validator" src="http://www.mainickweb.com/wp-content/2008/11/free-site-validator.jpg" alt="Validare codice HTML di un intero sito " width="100" height="70" /></a></p>
<p><a title="Validare codice HTML di un intero sito" href="http://www.tomstardust.com/archives/free-site-validator-html-valido-su-un-intero-sito/trackback" target="_blank"><strong>Free Site Validator: HTML valido su un intero sito<br />
</strong></a></p>
<p><strong>Tommaso</strong> ci svela un nuovo servizio permette di controllare la <strong>validità del codice HTML</strong> di un intero sito e di ricevere il resoconto via email.</p>
<p>Buona domenica!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/il-meglio-della-settimana-6/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Debug primitivo di applicazioni PHP</title>
		<link>http://www.mainickweb.com/debug-primitivo-di-applicazioni-php/</link>
		<comments>http://www.mainickweb.com/debug-primitivo-di-applicazioni-php/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 12:30:15 +0000</pubDate>
		<dc:creator>MaiNickWeb</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[debug]]></category>

		<category><![CDATA[output]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=204</guid>
		<description><![CDATA[Se vi trovate alla ricerca di errori in una pagina PHP, è possibile senza alcun IDE utilizzare queste semplici funzioni di PHP.
echo
Mostrare il testo all&#8217;utente; quindi anche variabili.

&#60;?php echo "HELLO WORLD"; ?&#62;

N.B. echo non è una funzione PHP, ma è un costrutto, per questo non richede l&#8217;uso di parentesi tonde.
var_dump
La funzione var_dump mostra il tipo [...]]]></description>
			<content:encoded><![CDATA[<p>Se vi trovate alla ricerca di <strong>errori in una pagina PHP</strong>, è possibile senza alcun IDE utilizzare queste semplici funzioni di PHP.<span id="more-204"></span></p>
<h2>echo</h2>
<p>Mostrare il testo all&#8217;utente; quindi anche variabili.</p>
<pre name="code" class="php:nogutter">
&lt;?php echo "HELLO WORLD"; ?&gt;
</pre>
<p>N.B. echo non è una funzione PHP, ma è un costrutto, per questo non richede l&#8217;uso di parentesi tonde.</p>
<h2>var_dump</h2>
<p>La funzione <strong>var_dump</strong> mostra il tipo e il valore di una variabile nello stream dell&#8217;output (in realtà è possibile assegnarvi più di una variabile: la funzione elabora il risultato di qualsiasi espressione PHP valida). Nel caso delle stringhe, var_dump restituisce anche il numero di caratteri che compongono la stringa:</p>
<pre name="code" class="php:nogutter">
&lt;?php
    $randomNum = array(5, 3, 6, 4, 2, 1);
    var_dump($randomNum);
?&gt;
</pre>
<p>Il codice precedente genera in un browser web il seguente output:</p>
<pre name="code">
array(6) { [0]=&gt; int(5) [1]=&gt; int(3) [2]=&gt; int(6)
               [3]=&gt; int(4) [4]=&gt; int(2) [5]=&gt; int(1) }
</pre>
<h2>print_r</h2>
<p>La funzione <strong>print_r</strong> è simile a var_dump, ma cerca di rendere leggibile l&#8217;output agli utenti. print_r permette anche di specificare un valore facoltativo (chiamato parametro di una funzione) che indica alla funzione di restituire i risultati in una stringa e non di mostrarli nello stream di output.</p>
<p>L&#8217;output particolarmente leggibile generato da questa funzione è utile soprattutto per oggetti e array.</p>
<pre name="code" class="php:nogutter">
&lt;?php
    $drinks = array("Coffee", "Caf&eacute; au Lait", "Mocha", "Espresso", "Americano", "Latte");
    print_r($drinks);
?&gt;
</pre>
<p>Lo script precedente mostra il seguente output in un browser web:</p>
<pre name="code">
Array ([0] =&gt; Coffee [1] =&gt; Caf&eacute; [2] =&gt; Mocha
         [3] =&gt; Espresso [4] =&gt; Americano [5] =&gt; Latte )
</pre>
<h2>var_export</h2>
<p>L&#8217;ultimo di questo gruppo di funzioni utili per la visualizzazione delle variabili e del loro contenuto è la funzione <strong>var_export</strong>, anch&#8217;essa molto simile a var_dump, tranne per il fatto che l&#8217;output è costituito da una rappresentazione valida di codice PHP dei valori contenuti nelle variabili fornite come parametro.</p>
<p>Per esempio, il seguente script:</p>
<pre name="code" class="php:nogutter">
&lt;?php
    $arr = array(1, 2, 3, 4);
    var_export($arr);
?&gt;
</pre>
<p>produce il seguente output (formattato per una lettura più semplice):</p>
<pre name="code">
array (
    0 =&gt; 1,
    1 =&gt; 2,
    2 =&gt; 3,
    3 =&gt; 4
)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/debug-primitivo-di-applicazioni-php/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Applicare CSS ad un semplice elenco</title>
		<link>http://www.mainickweb.com/applicare-css-ad-un-semplice-elenco/</link>
		<comments>http://www.mainickweb.com/applicare-css-ad-un-semplice-elenco/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 06:30:25 +0000</pubDate>
		<dc:creator>MaiNickWeb</dc:creator>
		
		<category><![CDATA[css]]></category>

		<category><![CDATA[liste]]></category>

		<category><![CDATA[liste orizzontali]]></category>

		<category><![CDATA[liste verticali]]></category>

		<category><![CDATA[menu]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=202</guid>
		<description><![CDATA[Lista verticale
HTML

&#60;div id="navcontainer"&#62;
    &#60;ul id="navlist"&#62;
        &#60;li id="active"&#62;&#60;a href="#" id="current"&#62;Item one&#60;/a&#62;&#60;/li&#62;
        &#60;li&#62;&#60;a href="#"&#62;Item two&#60;/a&#62;&#60;/li&#62;
        &#60;li&#62;&#60;a href="#"&#62;Item three&#60;/a&#62;&#60;/li&#62;
        &#60;li&#62;&#60;a href="#"&#62;Item four&#60;/a&#62;&#60;/li&#62;
      [...]]]></description>
			<content:encoded><![CDATA[<h2>Lista verticale</h2>
<p><strong>HTML</strong></p>
<pre name="code" class="html">
&lt;div id="navcontainer"&gt;
    &lt;ul id="navlist"&gt;
        &lt;li id="active"&gt;&lt;a href="#" id="current"&gt;Item one&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Item two&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Item three&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Item four&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Item five&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p><span id="more-202"></span></p>
<p><strong>CSS</strong></p>
<pre name="code" class="css">
#navcontainer {
    width: 12em;
    border-right: 1px solid #000;
    padding: 0 0 1em 0;
    margin-bottom: 1em;
    font-family: Verdana, Lucida, Geneva, Helvetica, Arial, sans-serif;
    background-color: #90bade;
    color: #333;
}
#navcontainer ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: none;
}
#navcontainer li {
    border-bottom: 1px solid #90bade;
    margin: 0;
}
#navcontainer li a {
    display: block;
    padding: 5px 5px 5px 0.5em;
    border-left: 10px solid #1958b7;
    border-right: 10px solid #508fc4;
    background-color: #2175bc;
    color: #fff;
    text-decoration: none;
    width: 100%;
}
html&gt;body #navcontainer li a { width: auto; }
#navcontainer li a:hover {
    border-left: 10px solid #1c64d1;
    border-right: 10px solid #5ba3e0;
    background-color: #2586d7;
    color: #fff;
}
</pre>
<p>;</p>
<h2>Lista orizzontale</h2>
<p><strong>HTML</strong></p>
<pre name="code" class="html">
&lt;div id="navcontainer"&gt;
    &lt;ul id="navlist"&gt;
        &lt;li id="active"&gt;&lt;a href="#" id="current"&gt;Item one&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Item two&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Item three&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Item four&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Item five&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p><strong>CSS</strong></p>
<pre name="code" class="css">
#navcontainer {
    margin: 0;
    padding: 0;
    height: 22px;
    font: 11px Verdana, sans-serif;
    width: 100%;
    border-bottom: 1px solid #bbb;
    list-style-type: none;
    background: #fff;
}
#navlist li {
    float: left;
    margin: 0;
    padding: 0;
    width: auto;
    display: block;
}
#navlist li a, #navlist li a:link {
    background: #fff;
    color: #555;
    text-decoration: none;
    padding: 3px 5px 3px 5px;
    display: block;
}
#navlist li a:hover {
    color: #039;
    border-bottom: 3px solid #bbb;
    cursor: pointer;
    background: #eee;
}
#navlist li a#current, #navlist li a#current:link {
    color: #000;
    cursor: default;
    font-weight: bold;
    border-bottom: 3px solid #999;
}
#navlist li a#current:hover {
    border-bottom: 3px solid #f90;
    background: #eee;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/applicare-css-ad-un-semplice-elenco/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Notazione heredoc: sistema per specificare stringhe in php</title>
		<link>http://www.mainickweb.com/notazione-heredoc-sistema-per-specificare-stringhe-in-php/</link>
		<comments>http://www.mainickweb.com/notazione-heredoc-sistema-per-specificare-stringhe-in-php/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 06:30:27 +0000</pubDate>
		<dc:creator>MaiNickWeb</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[echo]]></category>

		<category><![CDATA[heredoc]]></category>

		<category><![CDATA[stringhe]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=195</guid>
		<description><![CDATA[Sono disponibili tre sistemi per specificare un valore di stringa

virgolette singole
virgolette doppie
notazione heredoc


Nel primo sistema non sono supportati né l&#8217;escaping né l&#8217;estensione; quindi &#8216;\A&#8217; visualizza solo i due caratteri. Le stringhe con virgolette doppie sono simili a quelle con virgolette singole, a parte il fatto che l&#8217;interprete del linguaggio PHP le analizza per trovare e [...]]]></description>
			<content:encoded><![CDATA[<p>Sono disponibili tre sistemi per specificare un valore di stringa</p>
<ol>
<li><em>virgolette singole</em></li>
<li><em>virgolette doppie</em></li>
<li><em>notazione heredoc</em></li>
</ol>
<p><span id="more-195"></span></p>
<p>Nel primo sistema non sono supportati né l&#8217;escaping né l&#8217;estensione; quindi &#8216;\A&#8217; visualizza solo i due caratteri. Le stringhe con virgolette doppie sono simili a quelle con virgolette singole, a parte il fatto che l&#8217;interprete del linguaggio PHP le analizza per trovare e sostituire le sequenze di escape e le variabili.</p>
<p>Il terzo sistema per includere le <strong>stringhe in uno script PHP</strong> è un&#8217;innovazione riscontrabile in linguaggi come Perl. Esclude gli apici come delimitatori, e questo è sicuramente un vantaggio perchè ci permette di sfruttarli per ulteriori annidamenti. Le <strong>stringhe heredoc</strong> si comportano come le stringhe delimitate da vingolette doppie anche se non è necessario applicare l&#8217;<strong>escaping ad altrettanti caratteri</strong>: è sufficiente effettuare l&#8217;escaping dei caratteri $.</p>
<p>In questo caso una stringa inizia con &lt;&lt;&lt; e un identificatore e continua finché PHP non incontra una riga di testo di input che consiste solo nello stesso identificatore allineato a sinistra e in un punto e virgola, senza spazi prima o dopo il (;). L&#8217;identificatore ha un unico vincolo: deve contenere solo lettere, numeri e underscore e il primo carattere deve essere una lettera o un underscore.</p>
<p>Nel caso di stringhe di un certo &#8216;<em>peso</em>&#8216;, la notazione heredoc è sicuramente il migliore <strong>delimitatore di stringhe</strong>: è l&#8217;ideale per la stesura di grossi blocchi di codice html o javascript (da inviare poi con un unico comando &#8216;echo&#8217;) pur mantenendo un certo ordine di codifica. </p>
<pre name="code" class="php">
&lt;?php
echo &lt;&lt;&lt;HTML
    &lt;p&gt;
        Lorem Ipsum is simply dummy text of the printing and
        typesetting industry. Lorem Ipsum has been the industry's
        standard dummy text ever since the 1500s, when an unknown
        printer took a galley of type and scrambled it to make a
        type specimen book.
    &lt;/p&gt;
HTML;
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/notazione-heredoc-sistema-per-specificare-stringhe-in-php/feed/</wfw:commentRss>
		</item>
		<item>
		<title>count(capelli) - software per contare i capelli</title>
		<link>http://www.mainickweb.com/countcapelli-software-per-contare-i-capelli/</link>
		<comments>http://www.mainickweb.com/countcapelli-software-per-contare-i-capelli/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 07:40:33 +0000</pubDate>
		<dc:creator>MaiNickWeb</dc:creator>
		
		<category><![CDATA[Creatività]]></category>

		<category><![CDATA[Curiosità]]></category>

		<category><![CDATA[scienza]]></category>

		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.mainickweb.com/?p=192</guid>
		<description><![CDATA[

In Australia è stato sviluppato un software in grado di contare con massima accuratezza il numero di capelli, o di peli su zone delimitate. E&#8217; opera dei ricercatori di scienze matematiche e dell&#8217;informazione del Csiro (Ente Nazionale di Ricerca).
Il software si affida a immagini catturate da uno scanner pressato sulla pelle. Usando un algoritmo matematico [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.mainickweb.com/wp-content/2008/11/pelato.jpg"><img class="size-full wp-image-193 aligncenter" style="border: 0pt none;" title="pelato" src="http://www.mainickweb.com/wp-content/2008/11/pelato.jpg" alt="" width="480" height="250" /></a></p>
<p><span id="more-192"></span></p>
<p>In Australia è stato sviluppato un <strong>software in grado di contare con massima accuratezza il numero di capelli</strong>, o di peli su zone delimitate. E&#8217; opera dei ricercatori di scienze matematiche e dell&#8217;informazione del <strong>Csiro</strong> (Ente Nazionale di Ricerca).</p>
<p>Il software si affida a immagini catturate da uno <strong>scanner pressato sulla pelle</strong>. Usando un <strong>algoritmo matematico</strong> rintraccia e identifica ogni singolo capello, rilevandolo comprendendo sue caratteristiche, distinguendolo da rughe, cicatrice o nei.</p>
<p>Il software renderà più facile il compito di chi prepara creme depilatorie, che potrà valutare così con precisione la loro efficacia.</p>
<p> <img src='http://www.mainickweb.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> Ora <a title="Il blog di Francesco Napoletano" href="http://www.napolux.com/" target="_blank">Napolux</a> potrai contarti i capelli in tempo reale.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mainickweb.com/countcapelli-software-per-contare-i-capelli/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
