<?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>mactutorials &#187; webdev</title>
	<atom:link href="http://www.mactutorials.it/site/category/webdev/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mactutorials.it/site</link>
	<description>Apple users, Bycicle lover &#38; viceversa!</description>
	<lastBuildDate>Sun, 29 Jan 2012 21:20:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Firefox – codice della pagina su editor esterno</title>
		<link>http://www.mactutorials.it/site/2011/01/firefox-codice-della-pagina-su-editor-esterno/</link>
		<comments>http://www.mactutorials.it/site/2011/01/firefox-codice-della-pagina-su-editor-esterno/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 06:30:19 +0000</pubDate>
		<dc:creator>Olivs</dc:creator>
				<category><![CDATA[tips]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[editor esterno]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://www.mactutorials.it/site/?p=1738</guid>
		<description><![CDATA[Sviluppando siti, o applicazioni web spesso ci si trova a leggere il codice sorgente generato dal server. Chi utilizza Firefox come browser di default si trova spesso ad eseguire questa operazione facendo Command+U. Se è necessario analizzarlo a fondo, copia e incolla sul proprio code editor preferito, il mio è BBedit. Velocizzare questa operazione è molto semplice, Firefox nei suoi settings avanzati permette questo ed altro. Per accedervi è necessario: digitare nella barra degli indirizzi about:config Nel campo Filter, scrivere [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:0px 0px 0px 10px;"></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2011%2F01%2Ffirefox-codice-della-pagina-su-editor-esterno%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2011%2F01%2Ffirefox-codice-della-pagina-su-editor-esterno%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="aligncenter size-full wp-image-288" title="firefox_logo.jpg" src="http://www.mactutorials.it/site/wp-content/uploads/2006/10/firefox_logo.jpg" alt="" width="230" height="221" /></p>
<p>Sviluppando siti, o applicazioni web spesso ci si trova a leggere il codice sorgente generato dal server. Chi utilizza <a href="http://firefox.com/" target="_blank">Firefox </a>come browser di default si trova spesso ad eseguire questa operazione facendo <strong>Command+U</strong>. Se è necessario analizzarlo a fondo, copia e incolla sul proprio code editor preferito, il mio è BBedit. Velocizzare questa operazione è molto semplice, Firefox nei suoi settings avanzati permette questo ed altro. Per accedervi è necessario:<span id="more-1738"></span></p>
<ol>
<li> digitare nella barra degli indirizzi
<pre>about:config</pre>
</li>
<li> Nel campo Filter, scrivere <em>source.editor</em></li>
<li>Fare doppio click su <tt>view_source.editor.external</tt> e cambiare il valore in <strong>True</strong></li>
<li>Fare doppio click su <tt>view_source.editor.path</tt> e inserire l&#8217;indirizzo completo del vostro editor preferito; nel mio caso usando BBEdit con installati anche i <em>Command line tools</em>:<br />
<tt>/usr/local/bin/bbedit</tt><br />
Alttrimenti il classico:</p>
<pre>/Applicazioni/BBedit.app/Contents/MacOS/BBedit</pre>
</li>
<li>Se usate un altro editor basta aprire il pacchetto dell&#8217;applicativo per trovare il nome del file binario da indicare</li>
<li>Cliccare OK e la configurazione è terminata.</li>
</ol>
<p>D&#8217;ora in avanti ogni qualvolta si eseguirà il comand+U l&#8217;applicazione inserita mostrerà il codice della pagina. Per tornare alla configurazione originale, è sufficiente tornare al <strong>punto 3</strong> e rimettere il valore in <strong>false</strong>.</p>
<p>Articoli correlati:<ol>
<li><a href='http://www.mactutorials.it/site/2008/06/firefox-3-il-profilo-colore/' rel='bookmark' title='Firefox 3: il profilo colore'>Firefox 3: il profilo colore</a></li>
<li><a href='http://www.mactutorials.it/site/2006/12/firefox-20-come-personalizzare-i-segnalibripreferiti/' rel='bookmark' title='Firefox 2.0: come personalizzare i segnalibri/preferiti'>Firefox 2.0: come personalizzare i segnalibri/preferiti</a></li>
<li><a href='http://www.mactutorials.it/site/2010/03/firefox-spellchecker/' rel='bookmark' title='Firefox: spellchecker'>Firefox: spellchecker</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mactutorials.it/site/2011/01/firefox-codice-della-pagina-su-editor-esterno/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Leopard – Virtualhost (Apache2)</title>
		<link>http://www.mactutorials.it/site/2010/03/leopard-virtualhost-apache2/</link>
		<comments>http://www.mactutorials.it/site/2010/03/leopard-virtualhost-apache2/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 11:45:15 +0000</pubDate>
		<dc:creator>Olivs</dc:creator>
				<category><![CDATA[osX]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[10.5]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Mattia Olivi]]></category>
		<category><![CDATA[Olivs]]></category>
		<category><![CDATA[virtualhost]]></category>

		<guid isPermaLink="false">http://www.mactutorials.it/site/?p=1271</guid>
		<description><![CDATA[Prima dell&#8217;arrivo di Apache2 per creare i virtualhost era sufficiente seguire questo tutorial. Con Mac OS X 10.5 o superiore, o semplicemente utilizzando Apache2 sul proprio computer, la configurazione dei virtualhost va fatta editando non solo httpd.conf. La procedura passo per passo che nella prima parte è identica all&#8217;articolo citato in precedenza, per eseguirla al meglio dotarsi un ottimo editor di codice, BBedit o TextWrangler reperibili qui Aprire il documento: /private/etc/hosts Appare il documento Il pezzo dopo: fe80::1%lo0 localhost l&#8217;ho [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:0px 0px 0px 10px;"></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2010%2F03%2Fleopard-virtualhost-apache2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2010%2F03%2Fleopard-virtualhost-apache2%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img src="http://www.mactutorials.it/site/wp-content/uploads/2010/03/leopardlogo.jpg" alt="" title="leopardlogo" width="400" height="283" class="aligncenter size-full wp-image-1289" /><br />
Prima dell&#8217;arrivo di <strong>Apache2</strong> per creare i virtualhost era sufficiente seguire <a href="http://www.mactutorials.it/site/2006/04/virtualhost-sul-proprio-mac-osx/" target="_blank">questo tutorial</a>. Con Mac OS X 10.5 o superiore, o semplicemente utilizzando Apache2 sul proprio computer, la configurazione dei <strong>virtualhost</strong> va fatta editando non solo httpd.conf.<br />
La procedura passo per passo che nella prima parte è identica all&#8217;articolo citato in precedenza, per eseguirla al meglio dotarsi un ottimo editor di codice, BBedit o TextWrangler reperibili <a href="http://www.barebones.com/products/textwrangler/index.shtml" target="_blank">qui</a><br />
<span id="more-1271"></span></p>
<ol>
<li>Aprire il documento:<br />
<blockquote><p> /private/etc/hosts</p></blockquote>
</li>
<li>Appare il documento<img src="http://www.mactutorials.it/site/wp-content/uploads/2010/03/hosts.png" alt="" title="hosts" width="502" height="319" class="aligncenter size-full wp-image-1281" /></li>
<li>Il pezzo dopo:<br />
<blockquote><p>fe80::1%lo0     localhost</p></blockquote>
<p>l&#8217;ho aggiunto io.</li>
<li>Portare il cursore dopo la linea sopra citata e andare a capo;<br />
il cancelletto<br />
<blockquote>#</p></blockquote>
<p> indica commento, quindi dopo di quello sulla stessa riga, si può inserire un commento di richiamo alla modifica</li>
<li>Inserire l&#8217;indirizzo IP almeno uno spazio e il nome del virtualhost da creare:<br />
<blockquote><p>127.0.0.1 nomeVirtualhost</p></blockquote>
</li>
<li>Salvare il documento è richiesto l&#8217;inserimento della password di amministratore essendo un documento di <strong>root</strong>.</li>
<li>Aprire ora il file  /private/etc/apache2/httpd.conf</li>
<li>Cercare la seguente linea di codice intorno alla 460<br />
<blockquote><p># Virtual hosts<br />
#Include /private/etc/apache2/extra/httpd-vhosts.conf</p></blockquote>
</li>
<li>Scommentare ovvero rimuovere il cancelletto della seconda riga prima della scritta include:<br />
<blockquote><p>Include /private/etc/apache2/extra/httpd-vhosts.conf</p></blockquote>
</li>
<li>Salvare e chiudere httpd.conf</li>
<li>Aprire ora il file /private/etc/apache2/extra/httpd-vhosts.conf</li>
<li><img src="http://www.mactutorials.it/site/wp-content/uploads/2010/03/virtualhost.png" alt="" title="virtualhost" width="531" height="433" class="aligncenter size-full wp-image-1285" /><br />
rimuovere il cancelletto qualora ci fosse prima di </p>
<blockquote><p>NameVirtualHost *:80</p></blockquote>
</li>
<li>Per ogni virtualhost da creare è necessario inserire il seguente codice:<br />
<blockquote><p>&lt;VirtualHost *:80&gt;<br />
    ServerAdmin email<br />
    DocumentRoot /Users/userName/Sites<br />
    ServerName nomeVirtualHost<br />
    ServerAlias www.nomeVirtualHost<br />
    ErrorLog /private/var/log/apache2/nomeVirtualHost-error_log<br />
    CustomLog /private/var/log/apache2/nomeVirtualHost-access_log common<br />
&lt;/VirtualHost&gt;</p></blockquote>
<p>dove al posto del campo <strong>email</strong>, si può inserire la propria;<br />
al posto di <strong>/Users/userName/Sites</strong> il percorso corretto della cartella dove risiede il sito<br />
<strong>nomeVirtualHost</strong> va sostituito con il nome inserito nel file hosts</li>
<li>salvare il file</li>
<li>Riavviare apache2, utilizzando preferenze di sistema o il terminale</li>
<li>Digitare in un browser http://nomeVirtualHost per verificare che tutto funzioni perfettamente</li>
</ol>
<p>Articoli correlati:<ol>
<li><a href='http://www.mactutorials.it/site/2010/03/leopard-proteggere-una-cartella-con-htaccess/' rel='bookmark' title='Leopard &#8211; proteggere una cartella con htaccess'>Leopard &#8211; proteggere una cartella con htaccess</a></li>
<li><a href='http://www.mactutorials.it/site/2006/04/virtualhost-sul-proprio-mac-osx/' rel='bookmark' title='Virtualhost sul proprio Mac OSX'>Virtualhost sul proprio Mac OSX</a></li>
<li><a href='http://www.mactutorials.it/site/2007/11/leopard-abilitare-php5/' rel='bookmark' title='Leopard: abilitare php5'>Leopard: abilitare php5</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mactutorials.it/site/2010/03/leopard-virtualhost-apache2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Leopard &#8211; proteggere una cartella con htaccess</title>
		<link>http://www.mactutorials.it/site/2010/03/leopard-proteggere-una-cartella-con-htaccess/</link>
		<comments>http://www.mactutorials.it/site/2010/03/leopard-proteggere-una-cartella-con-htaccess/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 17:14:25 +0000</pubDate>
		<dc:creator>Olivs</dc:creator>
				<category><![CDATA[osX]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[Mattia Olivi]]></category>
		<category><![CDATA[Olivs]]></category>

		<guid isPermaLink="false">http://www.mactutorials.it/site/?p=1250</guid>
		<description><![CDATA[Le ultime versione di Mac Os X montano di default il webserver Apache2. A differenza del suo predecessore la configurazione per proteggere le cartelle con htaccess non avviene più nelle stesso file, httpd.conf, ma su files diversi. La procedura è sempre abbastanza semplice e veloce, seguite passo per passo i punti che seguono: Se non si dispone di un buon programma per editare codice, scaricarne uno Aprire l&#8217;applicazione Terminale eseguire l&#8217;autenticazione da amministratore scrivendo il comando su Scrivere la password [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:0px 0px 0px 10px;"></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2010%2F03%2Fleopard-proteggere-una-cartella-con-htaccess%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2010%2F03%2Fleopard-proteggere-una-cartella-con-htaccess%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.mactutorials.it/site/wp-content/uploads/2010/03/apache_pb.gif"><img class="aligncenter size-full wp-image-1262" title="apache_pb" src="http://www.mactutorials.it/site/wp-content/uploads/2010/03/apache_pb.gif" alt="" width="259" height="32" /></a></p>
<p>Le ultime versione di Mac Os X montano di default il webserver Apache2. A differenza del suo predecessore la configurazione per proteggere le cartelle con htaccess non avviene più nelle stesso file, httpd.conf, ma su files diversi.<br />
La procedura è sempre abbastanza semplice e veloce, seguite passo per passo i punti che seguono:<br />
<span id="more-1250"></span></p>
<ol>
<li>Se non si dispone di un buon programma per editare codice, scaricarne uno</li>
<li>Aprire l&#8217;applicazione Terminale</li>
<li>eseguire l&#8217;autenticazione da amministratore scrivendo il comando<br />
<blockquote><p>su</p></blockquote>
</li>
<li>Scrivere la password di amministrazione del computer</li>
<li>Scrivere ora il seguente comando<br />
<blockquote><p>htpasswd -c /private/etc/httpd/passwords vostrouser -c /private/etc/apache2/passwords <strong>vostroUser</strong></p></blockquote>
</li>
<li>al posto di <strong><span style="color: #ff0000;">vostroUser</span></strong> ovviamente scrivere il vostro</li>
<li>ora apparirà:<br />
<blockquote><p>New password</p></blockquote>
<p>scrivere la password scelta per quella cartella.</li>
<li><span style="color: #ff0000;">Attenzione</span> a non dimenticarla, usare una password diversa dal login aumenta la sicurezza del computer.</li>
<li>Il comando appena eseguito ha creato nella cartella<br />
<code>/private/etc/apache2/</code><br />
il file password nel quale c&#8217;è scritto</p>
<blockquote><p>vostroUser:password criptata</p></blockquote>
</li>
<li>Con il vostro editor di codice preferito aprire ora il file:
<pre><em>/private/etc/apache2/users/<strong>vostroUser</strong>.conf
</em></pre>
</li>
<li>In fondo al documento, aggiungere una linea di questo genere per ricordare che è stato editato da voi:
<pre><em>#### Prrotezione cartella sites aggiunta vostroUser#### </em></pre>
</li>
<li>sotto mettere questo codice facendo le opportune modifiche<br />
<blockquote><p>&lt;Directory /Users/vostroUser/Sites&gt;<br />
Authtype Basic<br />
AuthName &#8220;Ciao, questa e&#8217; un&#8217;area riservata!&#8221;<br />
AuthUserFile /private/etc/apache2/passwords<br />
Require user vostroUser<br />
&lt;/Directory&gt;</p></blockquote>
</li>
<li>Io ho il sistema in lingua originale quindi la cartella si chiama Sites.<br />
Salvare e chiudere</li>
<li>Riavviare apache2, o dal terminale con il comando<br />
<blockquote><p>sudo apachectl restart</p></blockquote>
<p>oppure dal pannello di condivisione in preferenze di sistema</li>
<li>Da un browser inserire la URL locale protetta&#8230;</li>
<li>Per accedere ora vanno inserite la username appena inserita e la sua relativa password</li>
<li>Per chiudere la sessione del terminale digitare<br />
<blockquote><p>exit</p></blockquote>
</li>
</ol>
<p>Articoli correlati:<ol>
<li><a href='http://www.mactutorials.it/site/2010/03/leopard-virtualhost-apache2/' rel='bookmark' title='Leopard – Virtualhost (Apache2)'>Leopard – Virtualhost (Apache2)</a></li>
<li><a href='http://www.mactutorials.it/site/2005/11/protezione-di-sites/' rel='bookmark' title='Protezione di Sites'>Protezione di Sites</a></li>
<li><a href='http://www.mactutorials.it/site/2006/06/ripristino-di-apache-php-e-mysql/' rel='bookmark' title='Ripristino di Apache, php e MySQL da PPC a PPC'>Ripristino di Apache, php e MySQL da PPC a PPC</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mactutorials.it/site/2010/03/leopard-proteggere-una-cartella-con-htaccess/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Arriva Google Wave!</title>
		<link>http://www.mactutorials.it/site/2009/09/arriva-google-wave/</link>
		<comments>http://www.mactutorials.it/site/2009/09/arriva-google-wave/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 23:17:50 +0000</pubDate>
		<dc:creator>cifero</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[recensioni]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.mactutorials.it/site/?p=848</guid>
		<description><![CDATA[Oggi apre agli utenti Google Wave, l'ultima e attesissima (almeno nella Rete) idea di Google. Oltre 100.000 utenti hanno lasciato la loro gmail nel form di prenotazione presente nella homepage in questi mesi e domani finalmente si scoprirà che cos'è e come funziona. O almeno lo scoprirò io, che ho lasciato la mail come tutti e nonostante sia interessatissimo, confesso di non aver capito bene cosa attendermi.

E così ho cercato qualche info in più che condivido.]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:0px 0px 0px 10px;"></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2009%2F09%2Farriva-google-wave%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2009%2F09%2Farriva-google-wave%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignnone" title="wave" src="http://wave.google.com/help/wave/images/ss2.gif" alt="" width="195" height="272" /></p>
<p>Oggi apre agli utenti Google Wave, l&#8217;ultima e attesissima (almeno nella Rete) idea di Google. Oltre 100.000 utenti hanno lasciato la loro gmail nel form di prenotazione presente  nella homepage in questi mesi e domani finalmente si scoprirà che cos&#8217;è e come funziona. O almeno lo scoprirò io,  che ho lasciato la mail come tutti e nonostante sia interessatissimo, confesso di non aver capito bene cosa attendermi.</p>
<p><a href="http://wave.google.com/" target="_blank">http://wave.google.com/</a></p>
<p>E così ho cercato qualche info in più che voglio condividere qui.</p>
<p><span id="more-848"></span></p>
<p><img class="alignnone" title="client" src="http://www.thenorba.com/wp-content/uploads/2009/05/google-wave-thumb.jpg" alt="" width="554" height="362" /></p>
<p>Innanzitutto cos&#8217;è Google wave? Dal sito ufficiale leggo che <em>&#8220;Google Wave is an online tool for real-time communication and collaboration. A wave can be both a conversation<br />
and a document where people can discuss and work together using richly formatted text, photos, videos, maps, and more.&#8221;</em></p>
<p>È quindi un tool online per comunicare e collaborare (lavorare aggiungo io) in tempo reale e in tutti i modi. Sembrerebbe ottimo davvero, che dire? Di fatto un tool del genere valido non esiste.</p>
<p>E lo fa tramite delle onde (<em>wave</em>). Geniacci della rete e del marketing: ma in che senso un&#8217;onda?</p>
<p><strong> A wave is equal parts conversation and document.</strong> <em>People can communicate and work together with richly formatted text, photos, videos, maps, and more.</em></p>
<p>È, in linguaggio un pò anni 90, un sistema multimediale di comunicare: immagino debba essere davvero immediato e semplice per avere successo. Sfida enorme.</p>
<p><strong>A wave is shared.</strong> <em>Any participant can reply anywhere in the message, edit the content and add participants at any point in the process. Then playback lets anyone rewind the wave to see who said what and when.</em></p>
<p>Questa è molto più difficile! L&#8217;onda è condivisa e &#8220;liquda&#8221;, scomponibile a piacimento da ognuno e cmq leggibile da tutti. Qualcosa che sembrerebbe andare ben oltre la programmazione e sfiorare la filosofia del linguaggio, la sociologia&#8230;</p>
<p><img class="alignnone" title="wave collaboration" src="http://wave.google.com/help/wave/images/ss3.gif" alt="" width="180" height="177" /></p>
<p><strong>A wave is live. </strong><em>With live transmission as you type, participants on a wave can have faster conversations, see edits and interact with extensions in real-time.</em></p>
<p>L&#8217;onda è vero realtime. Questa è facile. Quel che è difficile è capire come faranno con potenziali milioni di utenti che in tempo reale scambiano info e dati in modo personalizzato e libero.</p>
<p>Sul come faranno la faccenda si fa ancora più interessante:<br />
alla base c&#8217;è l&#8217; <strong>Operational Transformation</strong>, un concetto di programmazione ( di matematica? Di fisica? Non l&#8217; ho capito molto bene, confesso! :D ) per il quale i bit, le informazioni, possono essere manipolate, scomposte e ricostruite e questo ne facilita in modo enorme la trasmissione.<br />
Capito? No?<br />
Bene.</p>
<p>Allora leggetevi questa <a href="http://www.infoq.com/news/2009/09/google-wave-backstage" target="_blank">intervista di InfoQ al Core Engineer del progetto Dhanji Prasanna</a>: è una delle cose più interessanti che abbia letto ultimamente. Molto approfondita!</p>
<p>With the consumer release of <a style="text-decoration: underline; color: #0b59b2;" href="http://www.infoq.com/news/2009/08/wave-preview-opens;jsessionid=E70139F5519A8A472695E56854626806">Google Wave scheduled for the 30th of September</a>, InfoQ had a Q&amp;A with Core Engineer Dhanji Prasanna about some of its less known internals, details about how it’s being developed by the Google engineers and the best practices involved.</p>
<p><strong>InfoQ: With Operational Transformation (OT) being a corner stone of Google Wave, would you like to tell us a little bit about the technologies that implement it?</strong></p>
<blockquote style="margin-right: 0px; margin-left: 20px; color: #333333; background-image: url(http://cdn3.infoq.com/styles/i/bg-blockquote.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #fafafa; background-position: 5px 5px; padding: 5px; border: 2px solid #efefef;"><p><strong>Dhanji: </strong>OT as a concept has been around for some time, mostly in academic form. We have a complete clean-room implementation of OT, customized to the particular needs of Google Wave. It has enabled our editor to be a truly real-time, character-for-character, concurrent editing system. By decomposing edits to a document into streams of mutation operations, we are able to maintain the semantic consistency and integrity of a single line or paragraph while it is being edited simultaneously by several participants. This is at the heart of the real-time collaboration story.</p>
<p>OT in Wave draws in large part from the aforementioned academic papers, and the <a style="text-decoration: underline; color: #0b59b2;" href="http://portal.acm.org/citation.cfm?id=215585.215706">Jupiter system</a>. One advantage to us using the Google Web Toolkit is that the same OT Java code that runs on the server also runs on the client. This is a particularly important saving for us. You can read more about this technology at<a style="text-decoration: underline; color: #0b59b2;" href="http://waveprotocol.org/">http://waveprotocol.org</a> and play with the actual source code at<a style="text-decoration: underline; color: #0b59b2;" href="http://code.google.com/p/wave-protocol">http://code.google.com/p/wave-protocol</a></p></blockquote>
<p><strong>InfoQ: It seems that you have used GWT and Gears for building the web client? Would you like to tell us why you choose this set of technologies and what were the challenges you had to overcome. Also how are you planning to cope with older browsers?</strong></p>
<blockquote style="margin-right: 0px; margin-left: 20px; color: #333333; background-image: url(http://cdn3.infoq.com/styles/i/bg-blockquote.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #fafafa; background-position: 5px 5px; padding: 5px; border: 2px solid #efefef;"><p><strong>Dhanji: </strong>The Google Web Toolkit has been a great success story for Google Wave. We are able to leverage Java testing, debugging and code development tools, which are very useful and familiar, and delivering this to a browser in a compact, performant and scalable form has been a real eye-opener for us. GWT is able to pluralise a common codebase among a variety of browser and OS permutations, including with minimal effort, mobile browsers. It also optimizes away a lot of code, so we are able to use idiomatic Java but still have it run fast and delivered compactly to the client. We currently use Gears only for one feature, and that is to enable drag-and-drop into the browser (from the desktop). This is a feature we are trying to get added to HTML5 so even browsers that are not Gears-enabled will be able to take advantage of drag-and-drop.</p>
<p>We currently support modern browsers (browsers with similar capabilities as Chrome) and will, in the future support any HTML5 compliant browser fully.</p></blockquote>
<p><strong>InfoQ: With the growing variety of browser+OS combinations, how do you manage testing, integration and frequent releases for the web client?</strong></p>
<blockquote style="margin-right: 0px; margin-left: 20px; color: #333333; background-image: url(http://cdn3.infoq.com/styles/i/bg-blockquote.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #fafafa; background-position: 5px 5px; padding: 5px; border: 2px solid #efefef;"><p><strong>Dhanji: </strong>We are fortunate that we can draw on a lot of experience in this area that other projects and engineers at Google have. In addition to having a terrific team that focus on testing technology, we use a wonderful open source web-testing library called <a style="text-decoration: underline; color: #0b59b2;" href="http://code.google.com/p/webdriver">Webdriver</a> that allows us to mimic user interaction in quite sophisticated ways with the Wave client. Webdriver makes it easy to parallelize such tests among various browsers with simple pluggable options. It has also evolved quite a lot to support our unique Ajax-heavy testing requirements. Apart from this we have an aggressive release schedule that lets us propagate bug fixes and feature updates quickly. But perhaps the most significant safeguard is that we use Wave internally ourselves for nearly everything; eating our own dogfood, so to speak. This really helps us keep on top of high priority bugs and much-needed features as we feel their pain first.</p></blockquote>
<p><strong>InfoQ: Would you like to give us an overview of the kind of software that someone would find on the typical workstation of A Google Wave Engineer?</strong></p>
<blockquote style="margin-right: 0px; margin-left: 20px; color: #333333; background-image: url(http://cdn3.infoq.com/styles/i/bg-blockquote.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #fafafa; background-position: 5px 5px; padding: 5px; border: 2px solid #efefef;"><p><strong>Dhanji: </strong>Each engineer has their own specific preferences for tools, but apart from the regular version-control, management and build tools that are common between all Google engineers, you will find anything from Eclipse, IntelliJ Idea to vim and emacs as code editors of choice. Command-line unix tools and custom shell and python scripts to manage various repetitive actions are also quite popular: grep being the favorite, perhaps. =)</p></blockquote>
<p><strong>InfoQ: Would you like to give us a short technical outline of what happens to a message (blip) from the moment a user types it in the web client, until becomes available to every one else that is participating in that wave – humans or robots? What systems need to be bootstrapped, what technologies are utilized and what is the flow of information?</strong></p>
<blockquote style="margin-right: 0px; margin-left: 20px; color: #333333; background-image: url(http://cdn3.infoq.com/styles/i/bg-blockquote.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #fafafa; background-position: 5px 5px; padding: 5px; border: 2px solid #efefef;"><p><strong>Dhanji: </strong>Sure, a message written in the client is transformed into a series of operations that are sent to the server in real time. After authenticating and finding the appropriate user session, the ops are routed to the hosted conversation. Here these ops are transformed and applied against other incoming op streams from other users. The hosted conversation then broadcasts the valid set of changes back to other users, and to any listening robots. This includes special robots like the ones that handle spell checking, and one that handles livesearch (seen in the centre search-panel), as well as explicit robotic participants that people have developed. Robotic participants write their changes in response to a user&#8217;s and these are similarly converted into ops, applied and re-broadcast.</p>
<p>The Web client interprets these as appropriate; in the case of spelly, it highlights the misspelled word for correction, for example.</p>
<p>Like other Google applications, the various systems run on a cluster and scale horizontally (<a style="text-decoration: underline; color: #0b59b2;" href="http://labs.google.com/papers/googlecluster-ieee.pdf">Web search for a planet: the google cluster architecture &#8211; Micro, IEEE</a>).</p></blockquote>
<p><strong>InfoQ: How about the licensing of the software that was built for Google Wave? What parts are open source now, what parts are you going to open source in the future and what do you think might be the overall licensing strategy that Google will follow?</strong></p>
<blockquote style="margin-right: 0px; margin-left: 20px; color: #333333; background-image: url(http://cdn3.infoq.com/styles/i/bg-blockquote.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #fafafa; background-position: 5px 5px; padding: 5px; border: 2px solid #efefef;"><p><strong>Dhanji: </strong>We currently provide (as open source) most of the core data model for document transformation and manipulation. This is the same code that runs on our internal systems. We also provide a reference implementation of a server and client that use similar approaches to our internal systems. We intend to open source a lot more of our code base, however it is a big job as we must disentangle the code from proprietary infrastructure, provide appropriate build tools, and ensure that it is properly documented and supported before releasing.</p>
<p>We use the Apache Software License (ASL 2.0). I cannot comment on licensing for products other than Google Wave, as I am not familiar with them.</p></blockquote>
<p><strong>InfoQ: How appropriate do you think current “best practices”, frameworks and technologies are for building a platform like Google Wave? Do you think that the choices you make in high-end projects like that are a glimpse of what will become mainstream in the future?</strong></p>
<blockquote style="margin-right: 0px; margin-left: 20px; color: #333333; background-image: url(http://cdn3.infoq.com/styles/i/bg-blockquote.gif); background-repeat: no-repeat; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: #fafafa; background-position: 5px 5px; padding: 5px; border: 2px solid #efefef;"><p><strong>Dhanji: </strong>There have been many challenges we&#8217;ve faced in building Google Wave. We&#8217;ve had to learn a lot about the nature of scaling a real-time, character-by-character application that supports both human and robotic participants natively. There is also a large challenge to maintaining a code base with 50+ engineers, to onboarding them and keeping the health of the build constant at the same time.</p>
<p>The core libraries and tools used at Google have proven invaluable, in this effort; some of these are available as open source and we highly encourage their use: <a style="text-decoration: underline; color: #0b59b2;" href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> (which reduces our client footprint by an order of magnitude), <a style="text-decoration: underline; color: #0b59b2;" href="http://code.google.com/p/google-guice">Google Guice</a> (particularly the Servlet extension), <a style="text-decoration: underline; color: #0b59b2;" href="http://code.google.com/p/guava-libraries/">Guava Libraries</a>,<a style="text-decoration: underline; color: #0b59b2;" href="http://code.google.com/p/webdriver">Webdriver</a> and several others. Many of these are bleeding edge technologies that are continuing to evolve at a fast pace. We&#8217;ve been particularly lucky to have the authors of these toolkits work closely with us and accommodate often oblique requirements. Anyone attempting a large project like Wave will find these open source libraries extremely useful.</p></blockquote>
<p>Per vederlo in azione e chiarirsi le idee manca poco e spero che un pò del mio stupore per questa novità sia arrivato a chi legge.Di recensioni ne leggeremo molte, ma di anticipazioni non ce ne sono state tantissime ;)</p>
<p>Articoli correlati:<ol>
<li><a href='http://www.mactutorials.it/site/2006/12/google-yahoo-0-1-google-ritira-il-servizio-google-answers/' rel='bookmark' title='Google &#8211; Yahoo!: 0-1, Google ritira il servizio Google Answers'>Google &#8211; Yahoo!: 0-1, Google ritira il servizio Google Answers</a></li>
<li><a href='http://www.mactutorials.it/site/2007/04/google-desktop-per-mac/' rel='bookmark' title='Google Desktop per mac'>Google Desktop per mac</a></li>
<li><a href='http://www.mactutorials.it/site/2009/12/google-chrome-for-mac/' rel='bookmark' title='Google Chrome for Mac'>Google Chrome for Mac</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mactutorials.it/site/2009/09/arriva-google-wave/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Importare RSS feed in Mail</title>
		<link>http://www.mactutorials.it/site/2008/04/importare-rss-feed-in-mail/</link>
		<comments>http://www.mactutorials.it/site/2008/04/importare-rss-feed-in-mail/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 08:48:51 +0000</pubDate>
		<dc:creator>Olivs</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[grafica]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://www.mactutorials.it/site/?p=602</guid>
		<description><![CDATA[Se vi interessa spostare la vostra raccolta di RSS direttamente in Mail di Leopard, ecco un modo molto veloce: Esportare direttamente in un file OPML dal vostro lettore di RSS feed, in uqesto caso (Google Reader) Lanciare dal terminale il seguente comando: perl -lne 'print $1 if /"(http.*?)"/' google-reader-subscriptions.xml &#124; pbcopy Aprire Mail Andare su Aggiungi RSS Feed Sciegliere Specify a custom feed URL radio button Cliccare nel box e incollare gli indirizzi dei FEED Cliccare Aggiungi Segnalo anche che [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:0px 0px 0px 10px;"></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2008%2F04%2Fimportare-rss-feed-in-mail%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2008%2F04%2Fimportare-rss-feed-in-mail%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-603" title="rss" src="http://www.mactutorials.it/site/wp-content/uploads/2008/04/rss.png" alt="" width="128" height="128" /></p>
<p style="text-align: left;">Se vi interessa spostare la vostra raccolta di RSS direttamente in Mail di Leopard, ecco un modo molto veloce:</p>
<p style="text-align: left;"><span id="more-602"></span></p>
<ol>
<li>Esportare direttamente in un file OPML dal vostro lettore di RSS feed, in uqesto caso (Google Reader)</li>
<li>Lanciare dal terminale il seguente comando:<br />
<blockquote><p><code>perl -lne 'print $1 if /"(http.*?)"/' google-reader-subscriptions.xml | pbcopy</code></p></blockquote>
</li>
<li>Aprire Mail</li>
<li>Andare su Aggiungi RSS Feed</li>
<li>Sciegliere <em>Specify a custom feed URL </em>radio button</li>
<li>Cliccare nel box e incollare gli indirizzi dei FEED</li>
<li>Cliccare Aggiungi</li>
</ol>
<p>Segnalo anche che spesso il Drag&amp;Drop funziona con altri lettori di news (NetNewsWire) :mrgreen:</p>
<p>Articoli correlati:<ol>
<li><a href='http://www.mactutorials.it/site/2005/11/mail-creare-regole/' rel='bookmark' title='Mail: creare regole'>Mail: creare regole</a></li>
<li><a href='http://www.mactutorials.it/site/2005/12/mail-riconfigure-lapplicazione-dopo-una-formattazione/' rel='bookmark' title='Mail: riconfigurarlo dopo una formattazione'>Mail: riconfigurarlo dopo una formattazione</a></li>
<li><a href='http://www.mactutorials.it/site/2006/01/e-mail-e-contatti-da-windows-a-os-x/' rel='bookmark' title='E-mail e contatti da Windows a OS X'>E-mail e contatti da Windows a OS X</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mactutorials.it/site/2008/04/importare-rss-feed-in-mail/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NaioSPy</title>
		<link>http://www.mactutorials.it/site/2008/01/naiospy/</link>
		<comments>http://www.mactutorials.it/site/2008/01/naiospy/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 16:28:50 +0000</pubDate>
		<dc:creator>Olivs</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.mactutorials.it/site/2008/01/02/naiospy/</guid>
		<description><![CDATA[Riporto volentieri il nuovo prodotto di Giangaetano Vituzzi (THEARTOFWEB.NET) theartofweb@hotmail.comNaiospy è un software &#8220;spia&#8221; per Mac OS X scritto in perl che permette di vedere e monitorare il proprio desktop via web. Naiospy gira in background ed è una utility unix (darwin) che può essere lanciata usando il terminale o utilizzando cron all&#8217;avvio. È possibile vedere cosa sta accadendo al proprio Mac quando non ci si è davanti. Inoltre Naiospy è adatto a quei genitori che vogliono sapere cosa fanno [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:0px 0px 0px 10px;"></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2008%2F01%2Fnaiospy%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2008%2F01%2Fnaiospy%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Riporto volentieri il nuovo prodotto di Giangaetano Vituzzi (THEARTOFWEB.NET) theartofweb@hotmail.comNaiospy è un software &#8220;spia&#8221; per Mac OS X scritto in perl che permette di vedere e monitorare il proprio desktop via web. Naiospy gira in background ed è una utility unix (darwin) che può essere lanciata usando il terminale o utilizzando cron all&#8217;avvio. È possibile vedere cosa sta accadendo al proprio Mac quando non ci si è davanti. Inoltre Naiospy è adatto a quei genitori che vogliono sapere cosa fanno i propri figli online, o preoccupati di proteggere i propri figli dai pericoli della rete. L&#8217;idea che sta dietro Naiospy è quella di una videocamera puntata direttamente sul vostro monitor che filma tutto quello che viene fatto sul vostro Mac. Naiospy lavora fotografando degli snapshot del vostro desktop e lo salva sul vostro host in rete. Pochi secondi dopo Naiospy esegue un&#8217;altra fotografia, fino ad un massimo di una foto ogni 20 secondi.</p>
<p><span id="more-597"></span>
</p>
<p><div align="center"><img id="image598" src="http://www.mactutorials.it/site/wp-content/uploads/2008/01/63naiospyweb.jpg" alt="nayospy screenshot" /></div>
</p>
<p>Naiospy lavora anche dietro router e proxies perché carica le foto sul vostro spazio utilizzando il metodo HTTP POST. Loggandosi on line al pannello di controllo della &#8220;spia&#8221; si riesce a capire cosa sta accadendo LIVE o a vedere l&#8217;ultima foto caricata.  Per poter essere installato lo spazio web necessita di <strong>Perl</strong>, con la sua cartella cgi-bin, e unix ed apache. Per la sua installazione:</p>
<ol>
<li>Scaricare naiospy.zip e scompattarlo direttamente sulla scrivania</li>
<li>Caricare la cartella &#8220;_naiospy&#8221;  nella cartella &#8220;cgi-bin&#8221; in ascii nello spazio web</li>
<li>Settare i privilegi dei documenti .cgi a 755</li>
<li>lanciare da Terminale:<code>./naiospyd --host http://www.tuoHost.web</code></li>
</ol>
<p>Fatto!  ** CRON: è possibile lanciare al boot il demone nayospyd scrivendo un crontab così:</p>
<ul>
<li><code>PATH=/bin:/sbin:/usr/bin:/usr/sbin</code></li>
<li>@reboot $HOME/desktop/naiospy/naiospyd &#8211;host http://www.tuoHost.web >/dev/null 2>&#038;1</li>
</ul>
<p>** SERVER: Dal punto di vista server ecco cosa dovreste vedere:</p>
<ul>
<li>/cgi-bin/_naiospy/nph-resp.cgi (chmod 755 &#8211; ascii mode)</li>
<li>/cgi-bin/_naiospy/cpanel/naiospy.cgi (chmod 755 &#8211; ascii mode)</li>
<li>/cgi-bin/_naiospy/cpanel/passwd.cgi (chmod 755 &#8211; ascii mode)</li>
<li>/cgi-bin/_naiospy/cpanel/viewer.cgi (chmod 755 &#8211; ascii mode)</li>
</ul>
<p>Per accedere al pannello di controllo basta digitare:</p>
<ul>
<li><code>http://www.tuoHost.web/cgi-bin/_naiospy/cpanel/naiospy.cgi</code></li>
</ul>
<p>** CLIENT: i flag di Naiospy:</p>
<ul>
<li><code>$HOME/desktop/naiospy/naiospyd --host http://www.tuoHost.web</code></li>
<li><code>$HOME/desktop/naiospy/naiospyd --stop</code></li>
<li><code>$HOME/desktop/naiospy/naiospyd --version</code></li>
</ul>
<p> Il software lo potete scaricare direttamente da <a href="http://www.versiontracker.com/dyn/moreinfo/macosx/33663" target="_blank">versiontracker</a>, oppure usando direttamente il terminale con il comando:</p>
<ul>
<li>
<code>curl -s http://www.theartofweb.net/download/naiospy.zip >$HOME/desktop/naiospy.zip</code></li>
</ul>
<p>Buon Divertimento</p>
<p>Articoli correlati:<ol>
<li><a href='http://www.mactutorials.it/site/2005/11/creazione-di-virtualhost/' rel='bookmark' title='Creazione di VirtualHost'>Creazione di VirtualHost</a></li>
<li><a href='http://www.mactutorials.it/site/2006/04/virtualhost-sul-proprio-mac-osx/' rel='bookmark' title='Virtualhost sul proprio Mac OSX'>Virtualhost sul proprio Mac OSX</a></li>
<li><a href='http://www.mactutorials.it/site/2007/04/condividere-la-connessione-di-windows-xp-con-os-x-usando-parallels/' rel='bookmark' title='Condividere la connessione di Windows Xp con OS X usando Parallels'>Condividere la connessione di Windows Xp con OS X usando Parallels</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mactutorials.it/site/2008/01/naiospy/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MySql e Leopard</title>
		<link>http://www.mactutorials.it/site/2007/12/mysql-e-leopard/</link>
		<comments>http://www.mactutorials.it/site/2007/12/mysql-e-leopard/#comments</comments>
		<pubDate>Sun, 23 Dec 2007 16:17:09 +0000</pubDate>
		<dc:creator>Olivs</dc:creator>
				<category><![CDATA[tips]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[Leopard]]></category>

		<guid isPermaLink="false">http://www.mactutorials.it/site/2007/12/23/mysql-e-leopard/</guid>
		<description><![CDATA[Con l&#8217;aggiornamento a Leopard alcune funzionalità e utilities di mySql non funzionano più. Per l&#8217;installazione completa del paccheto mySQL la procedura da seguire rimane sempre la stessa utilizzata con Tiger. Però sarebbe comodo che all&#8217;avvio mySql partisse lo stesso senza dover ricorrere a comandi via terminale. Niente di più facile insomma. Al momento sto utilizzando un widget che mi tiene monitorata l&#8217;attività di mysql, e altre due applicazioni che trovo estremamente comode: Passiamo ora al modo più veloce per avere [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:0px 0px 0px 10px;"></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2007%2F12%2Fmysql-e-leopard%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2007%2F12%2Fmysql-e-leopard%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<div style="text-align: center"><img id="image596" src="http://www.mactutorials.it/site/wp-content/uploads/2007/12/tools.jpg" alt="finder mysql tools" /></div>
<p>Con l&#8217;aggiornamento a Leopard alcune funzionalità e utilities di mySql non funzionano più.<br />
Per l&#8217;installazione completa del paccheto mySQL l<a href="http://www.mactutorials.it/site/2006/04/19/installare-mysql-5-su-104-tiger/" target="_blank">a procedura da seguire rimane sempre la stessa utilizzata con Tiger.</a><br />
Però sarebbe comodo che all&#8217;avvio mySql partisse lo stesso senza dover ricorrere a comandi via terminale.<br />
Niente di più facile insomma. Al momento sto utilizzando un widget che mi tiene monitorata l&#8217;attività di mysql, e altre due applicazioni che trovo estremamente comode:<span id="more-592"></span></p>
<div style="text-align: center"><img id="image595" src="http://www.mactutorials.it/site/wp-content/uploads/2007/12/mysqlgui.jpg" alt="mysql GUI" /></div>
<p>Passiamo ora al modo più veloce per avere sempre avviato il server MySQL all&#8217;avvio.<br />
A fine installazione di MySQL server, installate anche mySQl start-up item, in modo da rendere sempre funzionante all&#8217;avvio il server. Potete per il momento evitare di installare il prefPane, tanto non va.<br />
Dunque finita tutta la procedura e avviato mySQL, se avete riavviato ovviamente va fatto da terminale:</p>
<p>sudo /usr/local/mysql/bin/safe_mysqld</p>
<p>Aprendo una nuova finestra del terminale inserite questo codice:</p>
<p>sudo mkdir /var/mysql/</p>
<p>Quindi si andrà a creare  un collegamento (symbolic link) alla porta di default:</p>
<p>sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock</p>
<p>Finito tutto come prima ;-)</p>
<p>Articoli correlati:<ol>
<li><a href='http://www.mactutorials.it/site/2006/04/installare-mysql-5-su-104-tiger/' rel='bookmark' title='Installare MySQL 5 su 10.4 (Tiger)'>Installare MySQL 5 su 10.4 (Tiger)</a></li>
<li><a href='http://www.mactutorials.it/site/2006/01/macosx-1044-e-mysql-che-non-funziona/' rel='bookmark' title='MacOSX 10.4.4 e mySql che non funziona'>MacOSX 10.4.4 e mySql che non funziona</a></li>
<li><a href='http://www.mactutorials.it/site/2006/06/ripristino-di-apache-php-e-mysql/' rel='bookmark' title='Ripristino di Apache, php e MySQL da PPC a PPC'>Ripristino di Apache, php e MySQL da PPC a PPC</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mactutorials.it/site/2007/12/mysql-e-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leopard: abilitare php5</title>
		<link>http://www.mactutorials.it/site/2007/11/leopard-abilitare-php5/</link>
		<comments>http://www.mactutorials.it/site/2007/11/leopard-abilitare-php5/#comments</comments>
		<pubDate>Sat, 03 Nov 2007 11:33:21 +0000</pubDate>
		<dc:creator>Olivs</dc:creator>
				<category><![CDATA[webdev]]></category>
		<category><![CDATA[Leopard]]></category>

		<guid isPermaLink="false">http://www.mactutorials.it/site/2007/11/03/leopard-abilitare-php5/</guid>
		<description><![CDATA[Eh sì avete letto bene! Finalmente Leopard è dotato di php5 di sistema e non solo! Ora anche Apache 2 fa parte di OS X, questo porta parecchi vantaggi e soprattutto aggiorna notevolmente il client di Apple. Comunque tornando al tema dell&#8217;articolo ecco come si fa: Aprire con un buon editor di testo /private/etc/apache2/httpd.conf Scommentare la riga 114, ovvero togliere il # all&#8217;inizio delle riga LoadModule php5_module libexec/apache2/libphp5.so Non resta che riavviare Apache, usando o Preferenze di Sistema o direttamente [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:0px 0px 0px 10px;"></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2007%2F11%2Fleopard-abilitare-php5%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2007%2F11%2Fleopard-abilitare-php5%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Eh sì avete letto bene! Finalmente Leopard è dotato di php5 di sistema e non solo!<br />
Ora anche Apache 2 fa parte di OS X, questo porta parecchi vantaggi e soprattutto aggiorna notevolmente il client di Apple.<br />
Comunque tornando al tema dell&#8217;articolo ecco come si fa:</p>
<ol>
<li>Aprire con un buon editor di testo <strong>/private/etc/apache2/httpd.conf</strong></li>
<li>Scommentare la riga 114, ovvero togliere il <strong>#</strong> all&#8217;inizio delle riga<br />
LoadModule php5_module     libexec/apache2/libphp5.so</li>
<li>Non resta che riavviare Apache, usando o Preferenze di Sistema o direttamente da terminale scrivendo: sudo apachectl restart</li>
<li>Ora potete  tornare a programmare tranquillamente in php</li>
</ol>
<p>Enjoy</p>
<p>Articoli correlati:<ol>
<li><a href='http://www.mactutorials.it/site/2006/06/attivare-due-php-su-os-x/' rel='bookmark' title='Attivare due Php su OS X'>Attivare due Php su OS X</a></li>
<li><a href='http://www.mactutorials.it/site/2010/03/leopard-virtualhost-apache2/' rel='bookmark' title='Leopard – Virtualhost (Apache2)'>Leopard – Virtualhost (Apache2)</a></li>
<li><a href='http://www.mactutorials.it/site/2010/03/leopard-proteggere-una-cartella-con-htaccess/' rel='bookmark' title='Leopard &#8211; proteggere una cartella con htaccess'>Leopard &#8211; proteggere una cartella con htaccess</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mactutorials.it/site/2007/11/leopard-abilitare-php5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Desktop per mac</title>
		<link>http://www.mactutorials.it/site/2007/04/google-desktop-per-mac/</link>
		<comments>http://www.mactutorials.it/site/2007/04/google-desktop-per-mac/#comments</comments>
		<pubDate>Thu, 05 Apr 2007 09:47:36 +0000</pubDate>
		<dc:creator>cifero</dc:creator>
				<category><![CDATA[recensioni]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.mactutorials.it/site/2007/04/05/google-desktop-per-mac/</guid>
		<description><![CDATA[e&#8217; uscito, e si scarica da qui: http://desktop.google.com/mac/index.html gudizio sintetico: ottimo strumento e bella interfaccia ma perfettamente inutile per chi ha un sistema Mac con Spotlight. nota: Trovo poco accorto collegare un indice l&#8217;HD con il web. voto: 7 qui il thread di discussione nel forum Articoli correlati: Mactutorials evolution! Arriva Parallels Desktop 1.0 per Mac OSX Arriva Google Wave!]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:0px 0px 0px 10px;"></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2007%2F04%2Fgoogle-desktop-per-mac%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2007%2F04%2Fgoogle-desktop-per-mac%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>e&#8217; uscito, e si scarica da qui:</p>
<p>http://desktop.google.com/mac/index.html</p>
<p><img src="http://desktop.google.com/mac/images/desktop_scrshot.jpg" alt="gdesktop" /></p>
<p><em>gudizio sintetico:</em><br />
ottimo strumento e bella interfaccia<br />
ma perfettamente inutile per chi ha un sistema Mac con Spotlight.</p>
<p><em>nota:</em><br />
Trovo poco accorto collegare un indice l&#8217;HD con il web.</p>
<p><em>voto:</em> <strong>7</strong></p>
<p><a href="http://www.mactutorials.it/forum/viewtopic.php?p=2756#2756">qui il thread di discussione nel forum</a></p>
<p>Articoli correlati:<ol>
<li><a href='http://www.mactutorials.it/site/2009/09/mactutorials-evolution/' rel='bookmark' title='Mactutorials evolution!'>Mactutorials evolution!</a></li>
<li><a href='http://www.mactutorials.it/site/2006/10/arriva-parallels-desktop-10-per-mac-osx/' rel='bookmark' title='Arriva Parallels Desktop 1.0 per Mac OSX'>Arriva Parallels Desktop 1.0 per Mac OSX</a></li>
<li><a href='http://www.mactutorials.it/site/2009/09/arriva-google-wave/' rel='bookmark' title='Arriva Google Wave!'>Arriva Google Wave!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mactutorials.it/site/2007/04/google-desktop-per-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SafariSpeed 2.0: aumentare la velocità a Safari</title>
		<link>http://www.mactutorials.it/site/2006/11/safarispeed-20-aumentare-la-velocita-a-safari/</link>
		<comments>http://www.mactutorials.it/site/2006/11/safarispeed-20-aumentare-la-velocita-a-safari/#comments</comments>
		<pubDate>Mon, 20 Nov 2006 08:37:52 +0000</pubDate>
		<dc:creator>Syscho</dc:creator>
				<category><![CDATA[apps]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.mactutorials.it/site/2006/11/20/safarispeed-20-aumentare-la-velocita-a-safari/</guid>
		<description><![CDATA[Gli utilizzatori di Safari ed i Web Designers che non sono molto contenti della velocità del browser made in Apple, ora hanno un&#8217; altro strumento per ottimizzare le sue prestazioni. Grazie al plug-in SafariSpeed 2.0, si potrà eliminare il tempo di attesa di 1 secondo, tempo che è stato settato di default prima di far vedere la pagina che avete scelto di caricare (chiaramente dipende dalla connessione ad internet di cui disponete), disabilitare le &#8220;Favicons&#8221; (ovvero tutte quelle icone che [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:0px 0px 0px 10px;"></div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2006%2F11%2Fsafarispeed-20-aumentare-la-velocita-a-safari%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.mactutorials.it%2Fsite%2F2006%2F11%2Fsafarispeed-20-aumentare-la-velocita-a-safari%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><img alt="safari speed.jpg" src="http://www.mactutorials.it/site/wp-content/uploads/2006/11/safari%20speed.jpg" align="left" /></p>
<p>Gli utilizzatori di Safari ed i Web Designers che non sono molto contenti della velocità del browser made in Apple, ora hanno un&#8217; altro strumento per ottimizzare le sue prestazioni.</p>
<p>Grazie al plug-in <a href="http://www.scifience.net/safarispeed/">SafariSpeed 2.0</a>, si potrà eliminare il tempo di attesa di 1 secondo, tempo che è stato settato di default prima di far vedere la pagina che avete scelto di caricare (chiaramente dipende dalla connessione ad internet di cui disponete), disabilitare le &#8220;Favicons&#8221; (ovvero tutte quelle icone che il sistema carica nella barra degli indirizzi, inviate dai siti che state visitando), disabilitare la cache (ideale ai web designers per testare i siti) e il supporto alla visualizzazione dei pdf, e cambiare l&#8217;interfaccia Brushed Metal in quella Aqua.</p>
<p>SafariSpeed 2.0 è shareware e può essere usato fino ad 11 volte prima della necessaria registazione, il cui costo è di $ 8.</p>
<p>Articoli correlati:<ol>
<li><a href='http://www.mactutorials.it/site/2006/10/safari-3/' rel='bookmark' title='Le nuove funzioni di Safari 3'>Le nuove funzioni di Safari 3</a></li>
<li><a href='http://www.mactutorials.it/site/2006/10/mac-osx-104-dashboard-e-troppo-lenta/' rel='bookmark' title='Mac OSX 10.4: Dashboard è troppo lenta?'>Mac OSX 10.4: Dashboard è troppo lenta?</a></li>
<li><a href='http://www.mactutorials.it/site/2008/04/safari-upload-di-un-file-con-dragdrop/' rel='bookmark' title='Safari upload di un file con Drag&amp;Drop'>Safari upload di un file con Drag&#038;Drop</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mactutorials.it/site/2006/11/safarispeed-20-aumentare-la-velocita-a-safari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

