<?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>Davide Petrillo</title>
	<atom:link href="http://petr.illodavi.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://petr.illodavi.de</link>
	<description>Tech blog, roba varia &#38; me stesso</description>
	<lastBuildDate>Sun, 07 Mar 2010 19:28:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Intervista sul coworking</title>
		<link>http://petr.illodavi.de/2010/03/intervista-sul-coworking/</link>
		<comments>http://petr.illodavi.de/2010/03/intervista-sul-coworking/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 13:32:43 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[cowo]]></category>
		<category><![CDATA[coworking]]></category>
		<category><![CDATA[intervista]]></category>
		<category><![CDATA[radio24]]></category>

		<guid isPermaLink="false">http://petr.illodavi.de/?p=96</guid>
		<description><![CDATA[Giovedì ho avuto il piacere di raccontare a Radio24 le mia esperienze riguardo al coworking, ed in particolare al periodo passato nel Cowo.
Potete ascoltare qui la registrazione dell&#8217;intervista, in cui parlo nei 30 secondi finali  

    
    
		a2a_linkname="Intervista sul coworking";
		a2a_linkurl="http://petr.illodavi.de/2010/03/intervista-sul-coworking/";
				    
    

	]]></description>
			<content:encoded><![CDATA[<p>Giovedì ho avuto il piacere di raccontare a Radio24 le mia esperienze riguardo al coworking, ed in particolare al periodo passato nel <a href="http://coworkingmilano.com/">Cowo</a>.<br />
Potete ascoltare qui la <a href="http://coworkingproject.com/2010/03/06/intervista-radio24/">registrazione dell&#8217;intervista</a>, in cui parlo nei 30 secondi finali <img src='http://petr.illodavi.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p class="addtoany_share_save">
    <a name="a2a_dd" onmouseover="a2a_show_dropdown(this)" onmouseout="a2a_onMouseOut_delay()" href="http://www.addtoany.com/bookmark?sitename=Davide%20Petrillo&amp;siteurl=http%3A%2F%2Fpetr.illodavi.de%2F&amp;linkname=Intervista%20sul%20coworking&amp;linkurl=http%3A%2F%2Fpetr.illodavi.de%2F2010%2F03%2Fintervista-sul-coworking%2F"><img src="http://petr.illodavi.de/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" border="0" alt="Share/Save/Bookmark"/></a>
    <script type="text/javascript">
		a2a_linkname="Intervista sul coworking";
		a2a_linkurl="http://petr.illodavi.de/2010/03/intervista-sul-coworking/";
				    </script>
    <script type="text/javascript" src="http://www.addtoany.com/menu/page.js"></script>

	</p>]]></content:encoded>
			<wfw:commentRss>http://petr.illodavi.de/2010/03/intervista-sul-coworking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Strumenti per controllare la performance di MySQL</title>
		<link>http://petr.illodavi.de/2010/02/strumenti-per-controllare-la-performance-di-mysql/</link>
		<comments>http://petr.illodavi.de/2010/02/strumenti-per-controllare-la-performance-di-mysql/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 22:29:41 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mytop]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[slow query]]></category>

		<guid isPermaLink="false">http://petr.illodavi.de/?p=81</guid>
		<description><![CDATA[Nessun compendio, solo un paio di appunti a riguardo: 
Mytop: permette di vedere i processi MySQL attualmente in esecuzione, ed eventualmente abbattere quelli pendenti o che stanno occupando troppe risorse di sistema. Esiste anche un package per Ubuntu. 
log_slow_query: permette di tener traccia in un file di tutte le query che impiegano più di n [...]]]></description>
			<content:encoded><![CDATA[<p>Nessun compendio, solo un paio di appunti a riguardo: <a href="http://jeremy.zawodny.com/mysql/mytop/"></a></p>
<p><a href="http://jeremy.zawodny.com/mysql/mytop/">Mytop</a>: permette di vedere i processi MySQL attualmente in esecuzione, ed eventualmente abbattere quelli pendenti o che stanno occupando troppe risorse di sistema. Esiste anche un package per Ubuntu. <a href="http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html"></a></p>
<p><a href="http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html">log_slow_query</a>: permette di tener traccia in un file di tutte le query che impiegano più di n secondi <code>&lt;nsec&gt;</code> ad eseguirsi. Per abilitarlo, oltre al metodo descritto nel link, possiamo modificare il nostro file my.cnf ed aggiungere, nella sezione [mysqld]:</p>
<p><code>long_query_time = &lt;nsec&gt;</code></p>
<p><code>log-slow-queries = /path/to/mysql_slow_query.log</code></p>
<p>Bisogna poi creare il file <code>/path/to/mysql_slow_query.log</code> e rendere l&#8217;utente <code>mysql</code> proprietario con un chown (questo su Linux, naturalmente)</p>
<p>Altro?</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<p>http://jeremy.zawodny.com/mysql/mytop/</p>
</div>
<p class="addtoany_share_save">
    <a name="a2a_dd" onmouseover="a2a_show_dropdown(this)" onmouseout="a2a_onMouseOut_delay()" href="http://www.addtoany.com/bookmark?sitename=Davide%20Petrillo&amp;siteurl=http%3A%2F%2Fpetr.illodavi.de%2F&amp;linkname=Strumenti%20per%20controllare%20la%20performance%20di%20MySQL&amp;linkurl=http%3A%2F%2Fpetr.illodavi.de%2F2010%2F02%2Fstrumenti-per-controllare-la-performance-di-mysql%2F"><img src="http://petr.illodavi.de/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" border="0" alt="Share/Save/Bookmark"/></a>
    <script type="text/javascript">
		a2a_linkname="Strumenti per controllare la performance di MySQL";
		a2a_linkurl="http://petr.illodavi.de/2010/02/strumenti-per-controllare-la-performance-di-mysql/";
				    </script>
    <script type="text/javascript" src="http://www.addtoany.com/menu/page.js"></script>

	</p>]]></content:encoded>
			<wfw:commentRss>http://petr.illodavi.de/2010/02/strumenti-per-controllare-la-performance-di-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Netbeans, IDE per PHP</title>
		<link>http://petr.illodavi.de/2009/12/netbeans-ide-per-php/</link>
		<comments>http://petr.illodavi.de/2009/12/netbeans-ide-per-php/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 17:43:40 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[gedit]]></category>
		<category><![CDATA[homesite]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[phpunit]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[xdebug]]></category>

		<guid isPermaLink="false">http://petr.illodavi.de/?p=78</guid>
		<description><![CDATA[Si dice che l&#8217;IDE sia estensione stessa dello sviluppatore: se ne trova uno che abbia le funzionalità che ci servono e si impara ad usarlo in maniera veloce e produttiva.
Nella notte dei tempi usavo Homesite di Adobe, buono per creare pagine HTML tempestate di codice PHP (e viceversa) ma davvero poco per lo sviluppo serio [...]]]></description>
			<content:encoded><![CDATA[<p>Si dice che l&#8217;IDE sia estensione stessa dello sviluppatore: se ne trova uno che abbia le funzionalità che ci servono e si impara ad usarlo in maniera veloce e produttiva.</p>
<p>Nella notte dei tempi usavo <a href="http://www.adobe.com/products/homesite/">Homesite</a> di Adobe, buono per creare pagine HTML tempestate di codice PHP (e viceversa) ma davvero poco per lo sviluppo serio (infatti l&#8217;hanno dismesso). Poi c&#8217;è stato <a href="http://www.eclipse.org/pdt/">Eclipse PDT</a>, completo ma davvero troppo pesante e dal crash facile su Ubuntu. Mi sono quindi buttato su cose più leggere: Kate e GEdit (con le <a href="http://grigio.org/textmate_gedit_few_steps">modifiche trendy &amp; cool</a> per farlo assomigliare a TextMate).</p>
<p>Infine, eccoci qua: <a href="http://netbeans.org/features/php/">Netbeans</a>. Non l&#8217;avevo mai considerato perché non pensavo avesse un&#8217;estensione per PHP, e invece non solo ce l&#8217;ha ma, con sorpresa, gestisce tutto quello che mi può servire: debugging, unit testing (con PHPUnit), integrazione con Symfony. E quelle funzionalità base, come l&#8217;auto completamento del codice e la navigazione dei sorgenti, sviluppate in maniera intuitiva e che non richiedono troppi smanettamenti nella configurazione.</p>
<p class="addtoany_share_save">
    <a name="a2a_dd" onmouseover="a2a_show_dropdown(this)" onmouseout="a2a_onMouseOut_delay()" href="http://www.addtoany.com/bookmark?sitename=Davide%20Petrillo&amp;siteurl=http%3A%2F%2Fpetr.illodavi.de%2F&amp;linkname=Netbeans%2C%20IDE%20per%20PHP&amp;linkurl=http%3A%2F%2Fpetr.illodavi.de%2F2009%2F12%2Fnetbeans-ide-per-php%2F"><img src="http://petr.illodavi.de/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" border="0" alt="Share/Save/Bookmark"/></a>
    <script type="text/javascript">
		a2a_linkname="Netbeans, IDE per PHP";
		a2a_linkurl="http://petr.illodavi.de/2009/12/netbeans-ide-per-php/";
				    </script>
    <script type="text/javascript" src="http://www.addtoany.com/menu/page.js"></script>

	</p>]]></content:encoded>
			<wfw:commentRss>http://petr.illodavi.de/2009/12/netbeans-ide-per-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Software per creare wireframes</title>
		<link>http://petr.illodavi.de/2009/09/software-per-creare-wireframes/</link>
		<comments>http://petr.illodavi.de/2009/09/software-per-creare-wireframes/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 19:42:58 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[axure]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[mockups]]></category>
		<category><![CDATA[omnigraffle]]></category>
		<category><![CDATA[visio]]></category>
		<category><![CDATA[wireframe]]></category>

		<guid isPermaLink="false">http://petr.illodavi.de/?p=70</guid>
		<description><![CDATA[Non sono un designer, ma lavorando per il web e avendo interesse per la User Experience capita di dover disegnare grafi, layout e interfacce. La soluzione matita + carta è sempre la più pratica, ma quando è necessario condividere i propri schizzi &#8211; e renderli modificabili &#8211; è più funzionale utilizzare un software ad hoc.
Esistono [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://petr.illodavi.de/wp-content/uploads/2010/01/mockup-demo.jpg"><img class="alignleft size-full wp-image-71" style="margin-left: 5px; margin-right: 5px;" title="mockup-demo" src="http://petr.illodavi.de/wp-content/uploads/2010/01/mockup-demo.jpg" alt="" width="240" height="180" /></a>Non sono un designer, ma lavorando per il web e avendo interesse per la User Experience capita di dover disegnare grafi, layout e interfacce. La soluzione matita + carta è sempre la più pratica, ma quando è necessario condividere i propri schizzi &#8211; e renderli modificabili &#8211; è più funzionale utilizzare un software ad hoc.</p>
<p>Esistono diversi software per <a href="http://en.wikipedia.org/wiki/Website_wireframe">wireframing</a>, nell&#8217;ambito del web design. Parlando con Alberto, mi ha detto che nella loro società usano produttivamente<a href="http://www.omnigroup.com/applications/OmniGraffle/"> Omnigraffle</a> per Mac. Per Windows c&#8217;è Microsoft <a href="http://office.microsoft.com/en-us/visio/default.aspx">Visio</a>. Andando più sul professionale c&#8217;è <a href="http://www.axure.com/">Axure</a>, mentre una soluzione multipiattaforma è InDesign di Adobe.</p>
<p>Per le mie esigenze però alla fine ho trovato<a href="http://balsamiq.com/products/mockups"> Mockups</a> di Balsamiq: sketchy, simpatico e semplice da usare. Il software è a pagamento, ma c&#8217;è una bella <a href="http://balsamiq.com/demos/mockups/Mockups.html">demo web</a> e una  installabile, per Adobe Air, perfettamente funzionante anche su Linux.</p>
<p>Per Alessia: dai che non è difficile questo!</p>
<p class="addtoany_share_save">
    <a name="a2a_dd" onmouseover="a2a_show_dropdown(this)" onmouseout="a2a_onMouseOut_delay()" href="http://www.addtoany.com/bookmark?sitename=Davide%20Petrillo&amp;siteurl=http%3A%2F%2Fpetr.illodavi.de%2F&amp;linkname=Software%20per%20creare%20wireframes&amp;linkurl=http%3A%2F%2Fpetr.illodavi.de%2F2009%2F09%2Fsoftware-per-creare-wireframes%2F"><img src="http://petr.illodavi.de/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" border="0" alt="Share/Save/Bookmark"/></a>
    <script type="text/javascript">
		a2a_linkname="Software per creare wireframes";
		a2a_linkurl="http://petr.illodavi.de/2009/09/software-per-creare-wireframes/";
				    </script>
    <script type="text/javascript" src="http://www.addtoany.com/menu/page.js"></script>

	</p>]]></content:encoded>
			<wfw:commentRss>http://petr.illodavi.de/2009/09/software-per-creare-wireframes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installare un progetto Symfony su Aruba</title>
		<link>http://petr.illodavi.de/2009/06/installare-un-progetto-symfony-su-aruba/</link>
		<comments>http://petr.illodavi.de/2009/06/installare-un-progetto-symfony-su-aruba/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 11:17:36 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[aruba]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://petr.illodavi.de/?p=67</guid>
		<description><![CDATA[Ultimamente mi e&#8217; capitato di sviluppare un paio di siti utilizzando Symfony come framework di sviluppo e Aruba come hosting provider.
Come risaputo, a fronte di un costo davvero concorrenziale, Aruba non è certo la soluzione ideale per chi sviluppa, con i suoi pochi margini di configurazione (devo dire comunque molto ampliati, rispetto a qualche anno [...]]]></description>
			<content:encoded><![CDATA[<p>Ultimamente mi e&#8217; capitato di sviluppare un paio di siti utilizzando Symfony come framework di sviluppo e Aruba come hosting provider.</p>
<p>Come risaputo, a fronte di un costo davvero concorrenziale, Aruba non è certo la soluzione ideale per chi sviluppa, con i suoi pochi margini di configurazione (devo dire comunque molto ampliati, rispetto a qualche anno fa).</p>
<p>Installare un progetto Symfony su Aruba non è semplice, ma comunque possibile. Ecco quindi come feci l&#8217;impresa. Molti spunti sono presi dalla guida per <a href="http://trac.symfony-project.org/wiki/InstallingSymfonyOnOVH">installare Symfony su OVH</a>, un hosting provider francese.</p>
<p><strong>Test della configurazione</strong></p>
<p class="url">Scaricate lo <a href="http://trac.symfony-project.org/browser/branches/1.2/data/bin/check_configuration.php?format=raw">script per testare la configurazione</a> del server, uploadatelo su Aruba e puntatelo con browser</p>
<p class="url">Nel mio caso, ritorna</p>
<pre>********************************
*                              *
*  symfony requirements check  *
*                              *
********************************</pre>
<pre>php.ini used by PHP: /etc/apache/phpini/php5/php.ini</pre>
<pre>** Mandatory requirements **</pre>
<pre>OK        PHP version is at least 5.2.4
OK        php.ini has zend.ze1_compatibility_mode set to off</pre>
<pre>** Optional checks **</pre>
<pre>OK        PDO is installed
OK        PDO has some drivers installed: sqlite2, sqlite, mysql
OK        PHP-XML module is installed
OK        XSL module is installed
OK        The token_get_all() function is available
OK        The mb_strlen() function is available
OK        The iconv() function is available
OK        The utf8_decode() is available
[[WARNING]] A PHP accelerator is installed: FAILED
*** Install a PHP accelerator like APC (highly recommended) ***
[[WARNING]] php.ini has short_open_tag set to off: FAILED
*** Set it to off in php.ini ***
[[WARNING]] php.ini has magic_quotes_gpc set to off: FAILED
*** Set it to off in php.ini ***
[[WARNING]] php.ini has register_globals set to off: FAILED
*** Set it to off in php.ini ***
OK        php.ini has session.auto_start set to off</pre>
<p>Tutto più o meno OK, ma dobbiamo gestire i magic_quotes e register_global (vanno settati ad off)</p>
<p>Potete entrare nel pannello di configurazione di Aruba e selezionare un php.ini adeguato, oppure più semplicemente aggiungere un file project/config/php.yml per fixare il problema, scrivendo</p>
<pre>check:
  magic_quotes_gpc:            on 
  register_globals:            on</pre>
<p><strong>Struttura delle directory</strong></p>
<p>L&#8217;aspetto sicuramente più noioso è quello che la struttura delle directory di Symfony non è adatta a quella della document root di Aruba.</p>
<p>Se in Symfony abbiamo, ad esempio</p>
<pre>mySite
  /project
  /web
    /css
    /index.php</pre>
<p>su Aruba dobbiamo avere</p>
<pre>www.mysite.it
  /project
  /css
  index.php</pre>
<p>Quindi: spostiamo la directory project in web.</p>
<p>Modificate poi il file index.php in modo che punti correttamente a web/project/config</p>
<p>Modificate config/ProjectConfiguration, aggiungendo</p>
<pre>$this-&gt;setWebDir($this-&gt;getRootDir().'/..');</pre>
<p><strong>Congeliamo il progetto</strong></p>
<p>Adesso è necessario incorporare le librerie di Symfony all&#8217;interno del nostro progetto.</p>
<p>Rimuovere quindi la directory web/sf e lanciate</p>
<pre>symfony freeze &lt;data_dir&gt;</pre>
<p>(nel mio caso, &lt;data_dir&gt; è /usr/share/php/symfony, su Linux)</p>
<p>Lanciate</p>
<pre>symfony cc</pre>
<p>per eliminare la cache, e uploadate il progetto sul server.</p>
<p><strong>Ultimi accorgimenti</strong></p>
<p>Per ultimo, date i permessi 777 alle directory project/cache, project/log e upload su Aruba. E ricordate che ogni volta che copiate nuovi file sul server, bisogna cancellare il contenuto della directory <strong>project/cache</strong>.</p>
<p>In caso riceviate Internal Server Error 500, provate a rimuovere option follow symlink da .htaccess.</p>
<p>E attenzione ad utilizzare la protezione password da admin: cancella il file .htaccess.</p>
<p class="addtoany_share_save">
    <a name="a2a_dd" onmouseover="a2a_show_dropdown(this)" onmouseout="a2a_onMouseOut_delay()" href="http://www.addtoany.com/bookmark?sitename=Davide%20Petrillo&amp;siteurl=http%3A%2F%2Fpetr.illodavi.de%2F&amp;linkname=Installare%20un%20progetto%20Symfony%20su%20Aruba&amp;linkurl=http%3A%2F%2Fpetr.illodavi.de%2F2009%2F06%2Finstallare-un-progetto-symfony-su-aruba%2F"><img src="http://petr.illodavi.de/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" border="0" alt="Share/Save/Bookmark"/></a>
    <script type="text/javascript">
		a2a_linkname="Installare un progetto Symfony su Aruba";
		a2a_linkurl="http://petr.illodavi.de/2009/06/installare-un-progetto-symfony-su-aruba/";
				    </script>
    <script type="text/javascript" src="http://www.addtoany.com/menu/page.js"></script>

	</p>]]></content:encoded>
			<wfw:commentRss>http://petr.illodavi.de/2009/06/installare-un-progetto-symfony-su-aruba/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>phpDay 2009</title>
		<link>http://petr.illodavi.de/2009/05/phpday-2009/</link>
		<comments>http://petr.illodavi.de/2009/05/phpday-2009/#comments</comments>
		<pubDate>Sun, 17 May 2009 12:34:36 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[conferenze]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[grusp]]></category>
		<category><![CDATA[phpday]]></category>
		<category><![CDATA[phpday2009]]></category>
		<category><![CDATA[programmazion]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[test driven development]]></category>
		<category><![CDATA[wordcamp]]></category>

		<guid isPermaLink="false">http://petr.illodavi.de/?p=69</guid>
		<description><![CDATA[Vi ricordate il post in cui affermavo di andare al Wordcamp? Beh &#8211; scordatelo, non ci andrò più, visto che sarò in Sardegna per una sessione di lavoro! (e no, non è un villaggio turistico)
In compenso, durante il weekend appena trascorso, ho avuto il piacere di partecipare al phpDay 2009, evento organizzato dal GrUSP, la [...]]]></description>
			<content:encoded><![CDATA[<p>Vi ricordate il <a href="http://petr.illodavi.de/2009/03/mi-sono-iscritto-al-wordcamp-2009/">post in cui affermavo di andare al Wordcamp</a>? Beh &#8211; scordatelo, non ci andrò più, visto che sarò in Sardegna per una sessione di lavoro! (e no, non è un villaggio turistico)</p>
<p>In compenso, durante il weekend appena trascorso, ho avuto il piacere di partecipare al <a href="http://www.phpday.it/site/">phpDay 2009</a>, evento organizzato dal <a href="http://www.grusp.it/">GrUSP</a>, la community italiana su PHP appunto.</p>
<p>I talk, tranne qualche &#8211; soporifero &#8211; caso, sono stati interessanti; evito di tediarvi con i verbali, ecco comunque le keyword che maggiormente mi sono rimaste impresse, o perchè ho avuto il riscontro della loro validità, o perchè sicuramente avrò voglia di approfondire:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Cloud_computing">Cloud computing</a></li>
<li><a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a></li>
<li><a href="http://en.wikipedia.org/wiki/Test-driven_development">Test Driven Development</a></li>
<li><a href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)">Design Patterns</a></li>
</ul>
<p>Salta niente all&#8217;occhio? A me sì: nessuna di queste keyword è strettamente legata a PHP <img src='http://petr.illodavi.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p class="addtoany_share_save">
    <a name="a2a_dd" onmouseover="a2a_show_dropdown(this)" onmouseout="a2a_onMouseOut_delay()" href="http://www.addtoany.com/bookmark?sitename=Davide%20Petrillo&amp;siteurl=http%3A%2F%2Fpetr.illodavi.de%2F&amp;linkname=phpDay%202009&amp;linkurl=http%3A%2F%2Fpetr.illodavi.de%2F2009%2F05%2Fphpday-2009%2F"><img src="http://petr.illodavi.de/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" border="0" alt="Share/Save/Bookmark"/></a>
    <script type="text/javascript">
		a2a_linkname="phpDay 2009";
		a2a_linkurl="http://petr.illodavi.de/2009/05/phpday-2009/";
				    </script>
    <script type="text/javascript" src="http://www.addtoany.com/menu/page.js"></script>

	</p>]]></content:encoded>
			<wfw:commentRss>http://petr.illodavi.de/2009/05/phpday-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sincronizzare un sito Wordpress tra locale e remoto</title>
		<link>http://petr.illodavi.de/2009/05/sincronizzare-un-sito-wordpress-tra-locale-e-remoto/</link>
		<comments>http://petr.illodavi.de/2009/05/sincronizzare-un-sito-wordpress-tra-locale-e-remoto/#comments</comments>
		<pubDate>Thu, 14 May 2009 18:32:55 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[locale]]></category>
		<category><![CDATA[remoto]]></category>
		<category><![CDATA[wp-config]]></category>

		<guid isPermaLink="false">http://petr.illodavi.de/?p=68</guid>
		<description><![CDATA[In questi giorni mi e&#8217; capitato di dover applicare delle modifiche e debuggare un sito Wordpress installato su un server remoto. Naturalmente la cosa piu&#8217; semplice da fare e&#8217; lavorare su una copia del sito stesso installato in locale; l&#8217;operazione pero&#8217; non si limita a un dump dei file del db, ma ci sono anche [...]]]></description>
			<content:encoded><![CDATA[<p>In questi giorni mi e&#8217; capitato di dover applicare delle modifiche e debuggare un sito Wordpress installato su un server remoto. Naturalmente la cosa piu&#8217; semplice da fare e&#8217; lavorare su una copia del sito stesso installato in locale; l&#8217;operazione pero&#8217; non si limita a un dump dei file del db, ma ci sono anche alcuni passi da compiere che possono far perdere tempo.</p>
<p>Ecco i passi che ho seguito io:</p>
<ol>
<li>copiare via ftp i file da remoto a locale (in una locazione che chiameremo &#8220;wpDir&#8221;)</li>
<li>copiare/linkare wpDir all&#8217;interno della document root del web server (in modo che il sito sia accessibile via &#8220;http://localhost/wpSite&#8221;</li>
<li>esportare il database ed importarlo in locale (&#8220;wpDatabase&#8221;)</li>
<li>creare nel database locale lo stesso utente del database remoto, dandogli i permessi di accesso a wpDatabase<br />
<code><br />
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'wp_password';<br />
GRANT ALL PRIVILEGES ON wpDatabase.* TO 'wp_user'@'localhost';</p>
<p></code></p>
<p>(controllare le costanti DB_USER e DB_PASSWORD nel file wp-config.php, in caso di dubbi)</li>
<li>modificare i riferimenti all&#8217;indirizzo del sito, tra le opzioni di Wordpress salvate sul database<br />
<code><br />
USE wpDatabase;<br />
UPDATE wp_options SET option_value = "http://localhost/wpSite" WHERE option_name = "siteurl";<br />
UPDATE wp_options SET option_value = "http://localhost/wpSite" WHERE option_name = "home";</code></li>
</ol>
<p>A questo punto, puntando il browser su http://localhost/wpSite, dovreste avere una copia funzionante del vostro sito Wordpress! (sempre che fosse vostro, si intende)</p>
<p>Se, come nel mio caso, avete modificato il file wp-config.php, ricordate di salvarne prima una copia di backup, e di evitare si sovrascriverne la versione sul server remoto.</p>
<p class="addtoany_share_save">
    <a name="a2a_dd" onmouseover="a2a_show_dropdown(this)" onmouseout="a2a_onMouseOut_delay()" href="http://www.addtoany.com/bookmark?sitename=Davide%20Petrillo&amp;siteurl=http%3A%2F%2Fpetr.illodavi.de%2F&amp;linkname=Sincronizzare%20un%20sito%20Wordpress%20tra%20locale%20e%20remoto&amp;linkurl=http%3A%2F%2Fpetr.illodavi.de%2F2009%2F05%2Fsincronizzare-un-sito-wordpress-tra-locale-e-remoto%2F"><img src="http://petr.illodavi.de/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" border="0" alt="Share/Save/Bookmark"/></a>
    <script type="text/javascript">
		a2a_linkname="Sincronizzare un sito Wordpress tra locale e remoto";
		a2a_linkurl="http://petr.illodavi.de/2009/05/sincronizzare-un-sito-wordpress-tra-locale-e-remoto/";
				    </script>
    <script type="text/javascript" src="http://www.addtoany.com/menu/page.js"></script>

	</p>]]></content:encoded>
			<wfw:commentRss>http://petr.illodavi.de/2009/05/sincronizzare-un-sito-wordpress-tra-locale-e-remoto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mi sono iscritto al WordCamp 2009!</title>
		<link>http://petr.illodavi.de/2009/03/mi-sono-iscritto-al-wordcamp-2009/</link>
		<comments>http://petr.illodavi.de/2009/03/mi-sono-iscritto-al-wordcamp-2009/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 12:10:12 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[wordcamp]]></category>
		<category><![CDATA[wordcamp2009]]></category>

		<guid isPermaLink="false">http://petr.illodavi.de/?p=63</guid>
		<description><![CDATA[A Milano, il 22 e 23 maggio, si svolgerà il WordCamp 2009, un barcamp incentrato su Wordpress e quello che gli gira intorno: blog, tecnologie, metodi, usabilità e quant&#8217;altro.
Io ci sarò, in qualità di curioso. Se qualcuno ha intenzione di andarci, come sempre, mi faccia un fischio!

    
    
		a2a_linkname="Mi [...]]]></description>
			<content:encoded><![CDATA[<p>A Milano, il 22 e 23 maggio, si svolgerà il <a href="http://www.wordcamp.it/">WordCamp 2009</a>, un barcamp incentrato su Wordpress e quello che gli gira intorno: blog, tecnologie, metodi, usabilità e quant&#8217;altro.</p>
<p>Io ci sarò, in qualità di curioso. Se qualcuno ha intenzione di andarci, come sempre, mi faccia un fischio!</p>
<p class="addtoany_share_save">
    <a name="a2a_dd" onmouseover="a2a_show_dropdown(this)" onmouseout="a2a_onMouseOut_delay()" href="http://www.addtoany.com/bookmark?sitename=Davide%20Petrillo&amp;siteurl=http%3A%2F%2Fpetr.illodavi.de%2F&amp;linkname=Mi%20sono%20iscritto%20al%20WordCamp%202009%21&amp;linkurl=http%3A%2F%2Fpetr.illodavi.de%2F2009%2F03%2Fmi-sono-iscritto-al-wordcamp-2009%2F"><img src="http://petr.illodavi.de/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" border="0" alt="Share/Save/Bookmark"/></a>
    <script type="text/javascript">
		a2a_linkname="Mi sono iscritto al WordCamp 2009!";
		a2a_linkurl="http://petr.illodavi.de/2009/03/mi-sono-iscritto-al-wordcamp-2009/";
				    </script>
    <script type="text/javascript" src="http://www.addtoany.com/menu/page.js"></script>

	</p>]]></content:encoded>
			<wfw:commentRss>http://petr.illodavi.de/2009/03/mi-sono-iscritto-al-wordcamp-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Funzioni anonime e closures in PHP 5.3</title>
		<link>http://petr.illodavi.de/2009/03/funzioni-anonime-e-closures-in-php-53/</link>
		<comments>http://petr.illodavi.de/2009/03/funzioni-anonime-e-closures-in-php-53/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 09:58:08 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[chiusure]]></category>
		<category><![CDATA[closures]]></category>
		<category><![CDATA[funzioni anonime]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[lambda]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php 5.3]]></category>

		<guid isPermaLink="false">http://petr.illodavi.de/?p=62</guid>
		<description><![CDATA[Fino ad oggi in PHP era possibile creare funzioni anonime (lambda) utilizzando la funzione create_function, ma il suo utilizzo non mi ha mai convinto, sapeva troppo di eval. Essendo abituato a Javascript, e a jQuery, trovo questa sintassi molto più funzionale:

var a = 5;
var myFunc = function &#40;b&#41; &#123;
  return a + b;
&#125;;
a = [...]]]></description>
			<content:encoded><![CDATA[<p>Fino ad oggi in PHP era possibile creare funzioni anonime (lambda) utilizzando la funzione <code>create_function,</code> ma il suo utilizzo non mi ha mai convinto, sapeva troppo di <code>eval</code>. Essendo abituato a Javascript, e a jQuery, trovo questa sintassi molto più funzionale:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> a <span style="color: #339933;">=</span> <span style="color: #CC0000;">5</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> myFunc <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>b<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">return</span> a <span style="color: #339933;">+</span> b<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
a <span style="color: #339933;">=</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> myFunc<span style="color: #009900;">&#40;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//print 7</span></pre></div></div>

<p>L&#8217;utilizzo di <code>a</code> all&#8217;interno di <code>myFunc </code>è chiamata closure: il valore di <code>a </code>viene bindato (legato) nello scope di <code>myFunc</code>, e rimarrà invariato nel tempo.</p>
<p>Dalla prossima versione di PHP, la 5.3, sarà possibile fare qualcosa del tutto simile. Ecco come:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$a</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$myFunc</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$b</span> <span style="color: #009900;">&#41;</span> use <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$a</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #000088;">$a</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$b</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$a</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
<span style="color: #990000;">echo</span> <span style="color: #000088;">$myFunc</span><span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">2</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// print 7</span></pre></div></div>

<p>Notare che in PHP le closures vanno dichiarate esplicitamente con l&#8217;utilizzo del comando <code>use</code>.</p>
<p>Per quanto sia contento di questa nuova feature, rimango perplesso sulla linea con cui viene sviluppato ed aggiornato PHP: si prosegue con la mancanza di convenzioni, e a volte, come in questo caso, funzionalità nuove sanno più di patch che di improvement.</p>
<p>Sul sito di PHP trovate <a href="http://wiki.php.net/rfc/closures">maggiori info</a>, mentre in questo PDF sono elencate <a href="http://conf.phpquebec.com/slides/2009/php5.3-phpquebec_2009.pdf">tutte le nuove features di PHP 5.3</a></p>
<p>Via: <a href="http://zaemis.blogspot.com/2009/03/anonymous-functions-and-closures.html">Zaemis</a></p>
<p class="addtoany_share_save">
    <a name="a2a_dd" onmouseover="a2a_show_dropdown(this)" onmouseout="a2a_onMouseOut_delay()" href="http://www.addtoany.com/bookmark?sitename=Davide%20Petrillo&amp;siteurl=http%3A%2F%2Fpetr.illodavi.de%2F&amp;linkname=Funzioni%20anonime%20e%20closures%20in%20PHP%205.3&amp;linkurl=http%3A%2F%2Fpetr.illodavi.de%2F2009%2F03%2Ffunzioni-anonime-e-closures-in-php-53%2F"><img src="http://petr.illodavi.de/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" border="0" alt="Share/Save/Bookmark"/></a>
    <script type="text/javascript">
		a2a_linkname="Funzioni anonime e closures in PHP 5.3";
		a2a_linkurl="http://petr.illodavi.de/2009/03/funzioni-anonime-e-closures-in-php-53/";
				    </script>
    <script type="text/javascript" src="http://www.addtoany.com/menu/page.js"></script>

	</p>]]></content:encoded>
			<wfw:commentRss>http://petr.illodavi.de/2009/03/funzioni-anonime-e-closures-in-php-53/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lavorare meno, meglio e senza distrazioni</title>
		<link>http://petr.illodavi.de/2009/03/lavorare-meno-meglio-e-senza-distrazioni/</link>
		<comments>http://petr.illodavi.de/2009/03/lavorare-meno-meglio-e-senza-distrazioni/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 15:01:45 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[distrazioni]]></category>
		<category><![CDATA[lavorare meno]]></category>
		<category><![CDATA[lavoro]]></category>
		<category><![CDATA[metodologie]]></category>

		<guid isPermaLink="false">http://petr.illodavi.de/?p=60</guid>
		<description><![CDATA[In passato avevo già parlato di coworking e lavoro da casa, questa volta invece voglio condividere alcune considerazioni sui metodi di lavoro. E non intendo metodologie di sviluppo agili o simili, ma semplicemente modi per affrontare le proprie giornate lavorative.
Il primo spunto viene da questo post intitolato Killing Distractions. Per quanto la mole di distrazioni [...]]]></description>
			<content:encoded><![CDATA[<p>In passato avevo già parlato di <a href="http://petr.illodavi.de/2008/06/il-bello-di-ritornare-al-cowo/" target="_self">coworking</a> e <a href="http://petr.illodavi.de/2008/06/lavorare-da-casa/" target="_self">lavoro da casa</a>, questa volta invece voglio condividere alcune considerazioni sui metodi di lavoro. E non intendo metodologie di sviluppo agili o simili, ma semplicemente modi per affrontare le proprie giornate lavorative.</p>
<p>Il primo spunto viene da questo post intitolato <a href="http://www.contrast.ie/blog/killing-distractions/" target="_self">Killing Distractions</a>. Per quanto la mole di distrazioni che mi assalgono sia molto inferiore a quella di chi ha svariati clienti con i quali trattare durante la giornata, anche io sento che parte della mia produttività si disperde tra una lettura dei feed, risposte agli instant messages e mantenimento della mia presenza sul web perennemente &#8220;live&#8221;. E per fortuna sto evitando Twitter!</p>
<p>Lavorando nel web, sento la pressione di dovermi tenere costantemente aggiornato riguardo a nuove tecnologie, pratiche, linguaggi. Ma è necessario trovare un equilibro, limitando le distrazioni in finestre di tempo ben definite. Un metodo per riuscirci è pensare a tutte le persone che, non lavorando di fronte ad un computer, durante il giorno non possono nemmeno controllare la posta!</p>
<p>Sempre sul tema, recentemente parlavo con i colleghi di un metodo di lavoro per aumentare la produttività (e vivere felici): <a href="http://www.alistapart.com/articles/fourdayweek">lavorare un giorno in meno</a>! Guarda caso, l&#8217;autore dell&#8217;articolo è il buon Ryan Carson, l&#8217;organizzatore di <a href="http://petr.illodavi.de/2008/05/future-of-web-design-londra-17-18-aprile-2008/">FOWD</a>, <a href="http://petr.illodavi.de/2009/03/future-of-web-apps-impressioni-al-ritorno-da-dublino/" target="_self">FOWA</a> ed altri eventi simili.<br />
Quella del non lavorare il venerdì è sicuramente una sfida interessante, ma, paradossalmente, praticabile soltanto quando si ha una grossa mole di lavoro (e quindi, di richiesta); di certo in periodi di crisi non dispiacerebbe a nessuno lavorare anche durante il weekend <img src='http://petr.illodavi.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p class="addtoany_share_save">
    <a name="a2a_dd" onmouseover="a2a_show_dropdown(this)" onmouseout="a2a_onMouseOut_delay()" href="http://www.addtoany.com/bookmark?sitename=Davide%20Petrillo&amp;siteurl=http%3A%2F%2Fpetr.illodavi.de%2F&amp;linkname=Lavorare%20meno%2C%20meglio%20e%20senza%20distrazioni&amp;linkurl=http%3A%2F%2Fpetr.illodavi.de%2F2009%2F03%2Flavorare-meno-meglio-e-senza-distrazioni%2F"><img src="http://petr.illodavi.de/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" border="0" alt="Share/Save/Bookmark"/></a>
    <script type="text/javascript">
		a2a_linkname="Lavorare meno, meglio e senza distrazioni";
		a2a_linkurl="http://petr.illodavi.de/2009/03/lavorare-meno-meglio-e-senza-distrazioni/";
				    </script>
    <script type="text/javascript" src="http://www.addtoany.com/menu/page.js"></script>

	</p>]]></content:encoded>
			<wfw:commentRss>http://petr.illodavi.de/2009/03/lavorare-meno-meglio-e-senza-distrazioni/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
