<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>David Funaro</title>
	<atom:link href="http://davidfunaro.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://davidfunaro.com</link>
	<description></description>
	<lastBuildDate>Tue, 02 Apr 2013 08:01:48 +0000</lastBuildDate>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='davidfunaro.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/4b1aeeefca026f7abd9288ebd66d0413?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>David Funaro</title>
		<link>http://davidfunaro.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://davidfunaro.com/osd.xml" title="David Funaro" />
	<atom:link rel='hub' href='http://davidfunaro.com/?pushpress=hub'/>
		<item>
		<title>Il nostro talk al codemotion 2013: Let&#8217;s test</title>
		<link>http://davidfunaro.com/2013/04/02/il-nostro-talk-al-codemotion-2013-lets-test/</link>
		<comments>http://davidfunaro.com/2013/04/02/il-nostro-talk-al-codemotion-2013-lets-test/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 08:00:55 +0000</pubDate>
		<dc:creator>davidino</dc:creator>
				<category><![CDATA[eventi]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[test first]]></category>

		<guid isPermaLink="false">http://davidfunaro.com/?p=433</guid>
		<description><![CDATA[Anche quest&#8217;anno ho avuto il piacere di partecipare come speaker al codemotion insieme al mio collega Andrea. A dirla tutta è lui che ha spinto per proporre un talk. Era talmente tanto entusiasta di quello che ha appreso in un anno ( da quando si è trasferito in dnsee) sulla pratica del &#8220;testing automatico&#8221; che aveva [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=433&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Anche quest&#8217;anno ho avuto il piacere di partecipare come <a title="Let's test" href="http://rome.codemotionworld.com/talk-page/?talk_name=lets-test" target="_blank">speaker</a> al <a title="Codemotion" href="http://rome.codemotionworld.com/" target="_blank">codemotion</a> insieme al mio collega <a title="Andrea Giuliano" href="http://www.andreagiuliano.it/" target="_blank">Andrea</a>. A dirla tutta è lui che ha spinto per proporre un talk. Era talmente tanto entusiasta di quello che ha appreso in un anno ( da quando si è trasferito in dnsee) sulla pratica del &#8220;testing automatico&#8221; che aveva voglia di condividere con quante più persone possibile&#8230; e c&#8217;è riuscito.<span id="more-433"></span></p>
<p><a href="http://davidfunaro.files.wordpress.com/2013/04/img_1698.jpg"><img class="aligncenter size-large wp-image-435" alt="let's test" src="http://davidfunaro.files.wordpress.com/2013/04/img_1698.jpg?w=595&#038;h=396" width="595" height="396" /></a></p>
<p>Abbiamo parlato di test: una panoramica su come le pratiche di testing automatizzato possano aiutare gli sviluppatori a mantenere sotto controllo il proprio progetto. La sala era piena e lo è rimasta fino alla fine ( buon segno ). Andrea al suo esordio ha tentennato solo per qualche secondo poi ha preso coraggio ed è stata una passeggiata.</p>
<p>Ecco le slide del talk</p>
<iframe src='http://www.slideshare.net/slideshow/embed_code/17711695' width='595' height='488'></iframe>
<br />Archiviato in:<a href='http://davidfunaro.com/category/eventi/'>eventi</a> Tagged: <a href='http://davidfunaro.com/tag/agile/'>agile</a>, <a href='http://davidfunaro.com/tag/tdd/'>TDD</a>, <a href='http://davidfunaro.com/tag/test/'>test</a>, <a href='http://davidfunaro.com/tag/test-first/'>test first</a>, <a href='http://davidfunaro.com/tag/testing/'>testing</a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=433&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidfunaro.com/2013/04/02/il-nostro-talk-al-codemotion-2013-lets-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14327ba6a017db91465d34f5910df5ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidfunaro</media:title>
		</media:content>

		<media:content url="http://davidfunaro.files.wordpress.com/2013/04/img_1698.jpg?w=595" medium="image">
			<media:title type="html">let&#039;s test</media:title>
		</media:content>
	</item>
		<item>
		<title>Orient inglobato in Doctrine</title>
		<link>http://davidfunaro.com/2013/01/21/orient-inglobato-in-doctrine/</link>
		<comments>http://davidfunaro.com/2013/01/21/orient-inglobato-in-doctrine/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 23:22:57 +0000</pubDate>
		<dc:creator>davidino</dc:creator>
				<category><![CDATA[GraphDB]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[odm]]></category>
		<category><![CDATA[ogm]]></category>
		<category><![CDATA[orient]]></category>
		<category><![CDATA[orientdb]]></category>

		<guid isPermaLink="false">http://davidfunaro.com/?p=425</guid>
		<description><![CDATA[Pochi giorni prima del 2013 il progetto orient, iniziato senza alcuna pretesa, è entrato a far parte di doctrine-project. Per chi si fosse collegato solo ora: The Doctrine Project is the home of a selected set of PHP libraries primarily focused on providing persistence services and related functionality. Its prize projects are a Object Relational [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=425&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Pochi giorni prima del 2013 il progetto orient, iniziato senza alcuna pretesa, è entrato a far parte di <a title="Doctrine Project" href="http://www.doctrine-project.org/" target="_blank">doctrine-project</a>.</p>
<p><img class="aligncenter" alt="doctrine-project" src="http://upload.wikimedia.org/wikipedia/en/7/79/Doctrine_logo_white.png" width="191" height="53" /></p>
<p>Per chi si fosse collegato solo ora:</p>
<blockquote><p>The Doctrine Project is the home of a selected set of PHP libraries primarily focused on providing persistence services and related functionality. Its prize projects are a Object Relational Mapper and the Database Abstraction Layer it is built on top of&#8230;.</p></blockquote>
<p>Doctrine è l&#8217;organizzazione sotto la quale sono raccolte tutte le migliori librerie (in PHP) che riguardano la persistenza dei dati. Esempi sono ORM per i database relazionali, così come gli ODM per i database documentali.</p>
<p>Il progetto di cui sto parlando si chiamava Orient, ora rinominato <a title="OrientDB-ODM" href="http://github.com/doctrine/orientdb-odm" target="_blank">orientdb-odm</a>. Una libreria scritta in PHP per interfacciarsi con <a title="orientdb" href="http://www.orientdb.org/" target="_blank">OrientDB</a>. Il primo commit risale ormai a circa due anni fa, quando <a title="Alessandro Nadalin" href="http://www.odino.org" target="_blank">Alessandro</a>, ancora ignaro del grande risultato che avremmo raggiunto, cominciava a buttare giù qualche riga di codice. Non ci è voluto poi molto prima che mi tirasse dentro al progetto.</p>
<p>Già ancora prima di essere inglobati, avevamo avuto l&#8217;opportunità di presentare la nostra libreria in diverse conferenze come il codemotion, la poland phpconf e altre minori. Avevamo avuto più volte la sensazione che la qualità del codice scritto fosse molto alta e attendibile, ma quest&#8217;ultimo evento ce ne dà la conferma.</p>
<p>Ringraziamento dovuto anche al nostro terzo compagno d&#8217;avventura Daniele, portato a noi grazie a github. Non siamo riusciti ancora a vederci in faccia &#8230; ma è uno dei prossimi obiettivi <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
<p>Il 2012 è finito alla grande. Di cose da fare ce ne sono ancora molte. Vedremo cosa ci porterà il 2013</p>
<br />Archiviato in:<a href='http://davidfunaro.com/category/nosql/graphdb/'>GraphDB</a>, <a href='http://davidfunaro.com/category/nosql/'>NoSQL</a>, <a href='http://davidfunaro.com/category/php/'>php</a> Tagged: <a href='http://davidfunaro.com/tag/doctrine/'>doctrine</a>, <a href='http://davidfunaro.com/tag/odm/'>odm</a>, <a href='http://davidfunaro.com/tag/ogm/'>ogm</a>, <a href='http://davidfunaro.com/tag/orient/'>orient</a>, <a href='http://davidfunaro.com/tag/orientdb/'>orientdb</a>, <a href='http://davidfunaro.com/tag/php/'>php</a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=425&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidfunaro.com/2013/01/21/orient-inglobato-in-doctrine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14327ba6a017db91465d34f5910df5ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidfunaro</media:title>
		</media:content>

		<media:content url="http://upload.wikimedia.org/wikipedia/en/7/79/Doctrine_logo_white.png" medium="image">
			<media:title type="html">doctrine-project</media:title>
		</media:content>
	</item>
		<item>
		<title>Passare da php 5.3 a php 5.4 e viceversa facilmente con brew</title>
		<link>http://davidfunaro.com/2012/08/19/passare-da-php-5-3-a-php-5-4-e-viceversa-facilmente-con-brew/</link>
		<comments>http://davidfunaro.com/2012/08/19/passare-da-php-5-3-a-php-5-4-e-viceversa-facilmente-con-brew/#comments</comments>
		<pubDate>Sun, 19 Aug 2012 22:58:12 +0000</pubDate>
		<dc:creator>davidino</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[brew]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://davidfunaro.com/?p=411</guid>
		<description><![CDATA[Un modo semplice (con brew) per passare da una versione ad un altra di un determinato programma.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=411&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Per qualcuno questo articolo potrebbe sembrare un pochino acerbo. Che bisogno c&#8217;è di passare <strong>ora</strong> al php54? &#8220;C&#8217;è tempo&#8230;&#8221; potrebbe rispondere qualcuno. Ma prima o poi quel momento (come ogni volta) arriva prima del previsto e ci piacerebbe tanto passare alla versione successiva del linguaggio, perché quella sua caratteristica proprio ci sarebbe comoda, ma chissa cosa potrebbe succedere passando alla versione nuova. Meglio non rischiare, qualcuno dice tipicamente, rimaniamo dove siamo.<br />
Ora, questo è lo scenario che abitualmente ci circonda, non ditemi che non vi è capitato di vedere php4 ancora su qualche applicativo un po&#8217; datato.</p>
<p>L&#8217;alternativa è che se fosse &#8220;molto facile&#8221; cambiare la versione del PHP sulla propria macchina di sviluppo, allora far girare di tanto in tanto i test dell&#8217;applicativo anche su questa istanza non sarebbe così complicato, nulla di impegnativo, ma almeno si potrebbe sapere fin dall&#8217;inizio in caso di incompatibilità, di cosa si tratta e scegliere come comportarsi.</p>
<p>Bhe questo modo &#8220;molto facile&#8221; esiste. Io l&#8217;ho trovato sul Mac attraverso un comando di <a title="Homebrew" href="http://mxcl.github.com/homebrew/" target="_blank">brew</a>. Sicuramente questo comportamento esisterà anche su Linux.</p>
<p>Comunque tornando a noi. E necessario aver installato php53 e php54, come si farebbe con i normali pacchetti (ormai uso brew praticamente per tutto) :</p>
<blockquote><p>brew install php53</p></blockquote>
<p>poi</p>
<blockquote><p>brew install php54</p></blockquote>
<p>Ed è a questo punto che scatta la magia. Utilizzando il comando <em>switch</em>, brew è in grado di scambiare la versione del pacchetto scelto. È quindi sufficiente eseguire:<span id="more-411"></span></p>
<blockquote><p>brew switch php53 5.3.15</p></blockquote>
<p>per passare alla versione 5.3.x. Se controlliamo infatti il puntamento degli eseguibili, questo è quello che scopriamo:</p>
<blockquote><p>/usr/local/bin/pear -&gt; ../Cellar/php53/5.3.15/bin/pear<br />
/usr/local/bin/peardev -&gt; ../Cellar/php53/5.3.15/bin/peardev<br />
/usr/local/bin/pecl -&gt; ../Cellar/php53/5.3.15/bin/pecl<br />
/usr/local/bin/phar -&gt; ../Cellar/php53/5.3.15/bin/phar<br />
/usr/local/bin/phar.phar -&gt; ../Cellar/php53/5.3.15/bin/phar.phar<br />
/usr/local/bin/php -&gt; ../Cellar/php53/5.3.15/bin/php<br />
/usr/local/bin/php-config -&gt; ../Cellar/php53/5.3.15/bin/php-config<br />
/usr/local/bin/phpize -&gt; ../Cellar/php53/5.3.15/bin/phpize</p></blockquote>
<p>A questo punto se volessimo passare alla 5.4 sarebbe sufficiente eseguire:</p>
<blockquote><p>brew switch php54 5.4.5</p></blockquote>
<p>Il risultato sarebbe il seguente:</p>
<blockquote><p>/usr/local/bin/pear -&gt; ../Cellar/php54/5.4.5/bin/pear<br />
/usr/local/bin/peardev -&gt; ../Cellar/php54/5.4.5/bin/peardev<br />
/usr/local/bin/pecl -&gt; ../Cellar/php54/5.4.5/bin/pecl<br />
/usr/local/bin/phar -&gt; ../Cellar/php54/5.4.5/bin/phar<br />
/usr/local/bin/phar.phar -&gt; ../Cellar/php54/5.4.5/bin/phar.phar<br />
/usr/local/bin/php -&gt; ../Cellar/php54/5.4.5/bin/php<br />
/usr/local/bin/php-cgi -&gt; ../Cellar/php54/5.4.5/bin/php-cgi<br />
/usr/local/bin/php-config -&gt; ../Cellar/php54/5.4.5/bin/php-config<br />
/usr/local/bin/phpize -&gt; ../Cellar/php54/5.4.5/bin/phpize</p></blockquote>
<p>Praticamente brew utilizza dei link simbolici per mantenere tutto completamente trasparente. Ovviamente questo comando può essere eseguito per qualsiasi programma. A me per esempio è stato molto utile nel caso di Node.</p>
<p>ps: purtroppo il loadModule di apache non si aggiorna da solo, ma è l&#8217;unica pecca. Bisognerà switchare a mano tra queste due linee nel file httpd.conf</p>
<blockquote><p>LoadModule php5_module /usr/local/Cellar/php53/5.3.15/libexec/apache2/libphp5.so<br />
#LoadModule php5_module /usr/local/Cellar/php54/5.4.5/libexec/apache2/libphp5.so</p></blockquote>
<br />Archiviato in:<a href='http://davidfunaro.com/category/php/'>php</a> Tagged: <a href='http://davidfunaro.com/tag/apache/'>apache</a>, <a href='http://davidfunaro.com/tag/brew/'>brew</a>, <a href='http://davidfunaro.com/tag/lamp/'>lamp</a>, <a href='http://davidfunaro.com/tag/mac/'>mac</a>, <a href='http://davidfunaro.com/tag/osx/'>osx</a>, <a href='http://davidfunaro.com/tag/php/'>php</a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=411&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidfunaro.com/2012/08/19/passare-da-php-5-3-a-php-5-4-e-viceversa-facilmente-con-brew/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14327ba6a017db91465d34f5910df5ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidfunaro</media:title>
		</media:content>
	</item>
		<item>
		<title>Uno schermo che fa la differenza: quello di Jenkins</title>
		<link>http://davidfunaro.com/2012/07/12/uno-schermo-che-fa-la-differenza-quello-di-jenkins/</link>
		<comments>http://davidfunaro.com/2012/07/12/uno-schermo-che-fa-la-differenza-quello-di-jenkins/#comments</comments>
		<pubDate>Thu, 12 Jul 2012 23:24:08 +0000</pubDate>
		<dc:creator>davidino</dc:creator>
				<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[jenkins]]></category>

		<guid isPermaLink="false">http://davidfunaro.com/?p=393</guid>
		<description><![CDATA[Uno schermo in più che ci informa sullo stato della build del progetto.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=393&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Capita di portare avanti un progetto con molte persone, parliamo di 6/7 persone, che magari sono distribuite in differenti team di lavoro (frontend/backend) e che per rendere le cose più semplici ( si fa per dire ) sono anche dislocate in diversi settori dell&#8217;ufficio. In questo contesto, quando i  tempi stringono ed è necessario tenere tutto sotto controllo, è molto produttivo mettere in piedi un sistema di continuous integration (da qui in poi <a title="Continuous integration" href="http://en.wikipedia.org/wiki/Continuous_integration" target="_blank">CI</a>) che sia in grado di stabilire quando c&#8217;è qualcosa che non va nell&#8217;eseguire la suite di test.</p>
<p>Bene, non è la prima volta che parlo di CI e soprattutto non è la prima volta che la metto in pratica per un progetto delicato. Ma questa volta c&#8217;è qualcosa di diverso, qualcosa di semplice, una mossa in più (anzi, due) che cambia tutto.</p>
<p><span id="more-393"></span>I risultati migliori si hanno sempre per caso e così anche questa volta. È un caso che abbia una macchina inutilizzata, ma sempre pronta, sempre connessa. E allora l&#8217;idea: la macchina è accesa, tanto vale farne un&#8217;utilizzo.</p>
<blockquote><p>Colleghiamoci uno schermo per mostrare una sola ed unica cosa: il monitor di jenkins.</p></blockquote>
<p>Il monitor di jenkins non è nient&#8217;altro che una schermata full screen che mostra il risultato dell&#8217;esecuzione della suite di test. Di monitor vecchi ce ne sono tanti basta trovarne uno funzionante in magazzino ed il gioco è fatto. In poco tempo sulla mia scrivania c&#8217;e un monitor in più, verde o rosso a seconda dello stato del progetto. Basta un colpo d&#8217;occhio ed è facile capire se le varie persone del team hanno introdotto bug o errori di regressione.</p>
<div id="attachment_404" class="wp-caption aligncenter" style="width: 460px"><a href="http://davidfunaro.files.wordpress.com/2012/06/jenkins.jpg"><img class="size-full wp-image-404" title="jenkins" src="http://davidfunaro.files.wordpress.com/2012/06/jenkins.jpg?w=595" alt="Monitor dedicato a Jenkins"   /></a><p class="wp-caption-text">Monitor dedicato a Jenkins</p></div>
<p>Ora, prima di questa volta, Jenkins eseguiva le sue verifiche in modalità temporizzata. Il che significava 2/3 volte al giorno pianificate da un cron Job. Da qui l&#8217;altro passo:</p>
<blockquote><p>invece di renderlo temporizzato, facciamolo partire subito dopo che il sistema di versionamento (svn, git) ha ricevuto un commit.</p></blockquote>
<p>Ecco che un sistema, che nasce così senza molte pretese, cambia completamente l&#8217;approccio. Ora, ogni volta che qualcuno esegue un commit, Jenkins non solo si mette al lavoro, ma il risultato è li a portata di mano. Quando lo schermo diventa rosso il riscontro è inevitabile.</p>
<p>Prima di posizionare un monitor, veniva semplicemente inviata una mail con la consapevolezza di non avere un riscontro live, soprattutto quando si è immersi nel lavoro. Il rischio è che i componenti del team, ignari (ma non assolvibili) dei failed-test, potrebbero procedere nel lavoro, o peggio passare ad altro, senza essersi resi conto che le modifiche appena apportate hanno scaturito degli errori. Il vantaggio sta proprio nell&#8217;avere un&#8217;<strong>informazione invasiva </strong>(come dice <a title="Jacopo Romei" href="http://www.sviluppoagile.it/" target="_blank">Jacopo</a>).<strong> </strong>Il monitor è diventato rosso, è inevitabile ignorarlo. Cercando i dettagli della build, è possibile individuare l&#8217;autore del commit in fail e i test che sono falliti. Di conseguenza diventa più facile risolvere i problemi generati senza ulteriori propagazioni. L&#8217;utilità aggiuntiva dello schermo, è diventata un must senza la quale ora mi sembra impossibile pensare al work flow del passato.</p>
<p>Perché se come è vero che l&#8217;obiettivo della CI è scoprire i problemi il prima possibile, in pieno stile Agile, l&#8217;utilizzo di questi due accorgimenti ci permetterà di farlo ancora prima.</p>
<br />Archiviato in:<a href='http://davidfunaro.com/category/continuous-integration/'>continuous integration</a> Tagged: <a href='http://davidfunaro.com/tag/agile/'>agile</a>, <a href='http://davidfunaro.com/tag/continuous-integration/'>continuous integration</a>, <a href='http://davidfunaro.com/tag/hudson/'>hudson</a>, <a href='http://davidfunaro.com/tag/jenkins/'>jenkins</a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=393&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidfunaro.com/2012/07/12/uno-schermo-che-fa-la-differenza-quello-di-jenkins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14327ba6a017db91465d34f5910df5ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidfunaro</media:title>
		</media:content>

		<media:content url="http://davidfunaro.files.wordpress.com/2012/06/jenkins.jpg" medium="image">
			<media:title type="html">jenkins</media:title>
		</media:content>
	</item>
		<item>
		<title>Il nostro talk al codemotion 2012: GraphDB, time for serious staff</title>
		<link>http://davidfunaro.com/2012/04/12/il-nostro-talk-al-codemotion-2012-graphdb-time-for-serious-staff/</link>
		<comments>http://davidfunaro.com/2012/04/12/il-nostro-talk-al-codemotion-2012-graphdb-time-for-serious-staff/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 15:20:43 +0000</pubDate>
		<dc:creator>davidino</dc:creator>
				<category><![CDATA[eventi]]></category>
		<category><![CDATA[GraphDB]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[codemotion]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[orient]]></category>
		<category><![CDATA[orientdb]]></category>
		<category><![CDATA[talks]]></category>

		<guid isPermaLink="false">http://davidfunaro.com/?p=388</guid>
		<description><![CDATA[Seppur con estremo ritardo metto a disposizione le slide dell&#8217;interveto che abbiamo fatto il mio collega Alessandro ed io al Codemotion 2012 che si è tenuto come al solito a Roma alla facoltà di ingegneria di Roma Tre. L&#8217;evento è stato molto ben organizzato ed i talk sono stati tutti di grande livello. Un evento [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=388&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Seppur con estremo ritardo metto a disposizione le slide dell&#8217;interveto che abbiamo fatto il mio collega Alessandro ed io al Codemotion 2012 che si è tenuto come al solito a Roma alla facoltà di ingegneria di Roma Tre.</p>
<iframe src='http://www.slideshare.net/slideshow/embed_code/12162110' width='595' height='488'></iframe>
<p><span id="more-388"></span></p>
<p>L&#8217;evento è stato molto ben organizzato ed i talk sono stati tutti di grande livello. Un evento veramente ben riuscito. Spero di poter partecipare attivamente anche l&#8217;hanno prossimo, magari con la libreria Orient conclusa.</p>
<p><a href="http://davidfunaro.files.wordpress.com/2012/04/549213_367926139896367_149953948360255_1239193_654356971_n.jpeg"><img class="aligncenter size-full wp-image-390" title="549213_367926139896367_149953948360255_1239193_654356971_n" src="http://davidfunaro.files.wordpress.com/2012/04/549213_367926139896367_149953948360255_1239193_654356971_n.jpeg?w=595" alt=""   /></a></p>
<p>ps: non ne ho parlato bene solo perchè poi ho vinto il premio dell&#8217;estrazione &#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>[update]: ora abbiamo anche il video.</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='595' height='365' src='http://www.youtube.com/embed/za8RNDuctNI?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br />Archiviato in:<a href='http://davidfunaro.com/category/eventi/'>eventi</a>, <a href='http://davidfunaro.com/category/nosql/graphdb/'>GraphDB</a>, <a href='http://davidfunaro.com/category/nosql/'>NoSQL</a>, <a href='http://davidfunaro.com/category/php/'>php</a> Tagged: <a href='http://davidfunaro.com/tag/codemotion/'>codemotion</a>, <a href='http://davidfunaro.com/tag/nosql-2/'>nosql</a>, <a href='http://davidfunaro.com/tag/orient/'>orient</a>, <a href='http://davidfunaro.com/tag/orientdb/'>orientdb</a>, <a href='http://davidfunaro.com/tag/php/'>php</a>, <a href='http://davidfunaro.com/tag/talks/'>talks</a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=388&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidfunaro.com/2012/04/12/il-nostro-talk-al-codemotion-2012-graphdb-time-for-serious-staff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14327ba6a017db91465d34f5910df5ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidfunaro</media:title>
		</media:content>

		<media:content url="http://davidfunaro.files.wordpress.com/2012/04/549213_367926139896367_149953948360255_1239193_654356971_n.jpeg" medium="image">
			<media:title type="html">549213_367926139896367_149953948360255_1239193_654356971_n</media:title>
		</media:content>
	</item>
		<item>
		<title>EuHackaton 2011</title>
		<link>http://davidfunaro.com/2011/11/12/euhackaton-2011/</link>
		<comments>http://davidfunaro.com/2011/11/12/euhackaton-2011/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 16:29:12 +0000</pubDate>
		<dc:creator>davidino</dc:creator>
				<category><![CDATA[dnsee]]></category>
		<category><![CDATA[eventi]]></category>
		<category><![CDATA[Indigeni Digitali]]></category>
		<category><![CDATA[euhackaton]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[Indigeni]]></category>

		<guid isPermaLink="false">http://davidfunaro.com/?p=361</guid>
		<description><![CDATA[Sensazioni pure ripercorse a posteriori dopo l'evento dell'euhackton. Una maratona di 24h a scrivere codice per sviluppare un'applicazione richiesta dal parlamento europeo.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=361&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-362" style="border-color:initial;border-style:initial;" title="eu hackaton" src="http://davidfunaro.files.wordpress.com/2011/11/logo20onecolor.png?w=595" alt="eu hackaton"   /></p>
<p>Sono le 6 di mattina, già 12h di fila che stai davanti a quello schermo. La stanchezza si fa sentire &#8230; e ormai già da più di qualche ora. I caffè non fanno praticamente più effetto e quando sei li li per chiederti chi te l&#8217;ha fatto fare, le carte in tavola cambiano: I componenti che i vari reparti del team stanno progettando cominciano a dialogare tra di loro. Ci siamo, &#8220;funziona&#8221;, beh ci vuole ancora qualche ritocco ma &#8220;funziona&#8221;.</p>
<p>Ecco, quello è stato il momento in cui le cose sono cambiate: la stanchezza è passata, l&#8217;adrenalina è entrata in circolo e tutto quello che prima sembrava opaco adesso non lo è più. Anzi è tutto molto chiaro come se aveste aggiustato la messa a fuoco del vostro obiettivo.<span id="more-361"></span></p>
<p><a title="www.euhackathon.eu" href="http://www.euhackathon.eu/" target="_blank">L&#8217;Euhackaton</a> non comincia di certo in questo modo, anzi. A dire il vero comincia con una stretta di mano. La presentazione con il team. Non ci conosciamo, qualcuno a parte, siamo tutti nuovi l&#8217;un l&#8217;altro. Ci siamo sentiti molto spesso durante le ultime settimane per discutere del da farsi, ma parlare tramite skype e postarsi messaggi per mail non è proprio come lavorare insieme per 24h di fila.</p>
<p>Una cosa è certa: nessuno di noi si è messo in viaggio per vincere il premio. Abbiamo tutti partecipato solo ed esclusivamente per sfamare la nostra voglia di tecnologia e dare sfogo alla nostra passione, alla nostra necessità di metterci continuamente in gioco. Perché siamo tutti alla continua ricerca di quella sensazione che ti sà appagare più di qualsiasi altra cosa: il momento in cui quel qualcosa che tanto ti ha fatto penare per essere messo in piedi comincia a prendere forma e quindi a funzionare!</p>
<p>In quel momento ti senti appagato, soddisfatto, hai quel qualcosa in più che ti permette di andare avanti in quello che stai facendo e soprattutto, ti ricordi della prima volta che hai provato quella sensazione, quando hai capito che sarebbe stata la tua droga.</p>
<p>E man mano che vai avanti scopri i tuoi colleghi che prima erano solo dei nomi, poi dei volti, subito dopo diventare qualcuno di cui ti fidi e che stimi. Perché sono lì, lavorano (nonostante il sonno) e ci mettono la stessa passione che ci metti tu. E la conferma ce l&#8217;hai quando alla premiazione tutti insieme scopriamo che in realtà il premio era in denaro ed era anche una somma considerevole&#8230; Ma noi di certo non eravamo li per quello.</p>
<p>Ci siamo classificati <a title="http://www.euhackathon.eu/gtttools/" href="http://www.euhackathon.eu/gtttools/" target="_blank">terzi</a> &#8230; ed io in realtà non dovevo neanche partecipare, ma questa è un&#8217;altra storia.</p>
<br />Archiviato in:<a href='http://davidfunaro.com/category/dnsee/'>dnsee</a>, <a href='http://davidfunaro.com/category/eventi/'>eventi</a>, <a href='http://davidfunaro.com/category/indigeni-digitali/'>Indigeni Digitali</a> Tagged: <a href='http://davidfunaro.com/tag/euhackaton/'>euhackaton</a>, <a href='http://davidfunaro.com/tag/hack/'>hack</a>, <a href='http://davidfunaro.com/tag/indigeni/'>Indigeni</a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=361&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidfunaro.com/2011/11/12/euhackaton-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14327ba6a017db91465d34f5910df5ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidfunaro</media:title>
		</media:content>

		<media:content url="http://davidfunaro.files.wordpress.com/2011/11/logo20onecolor.png" medium="image">
			<media:title type="html">eu hackaton</media:title>
		</media:content>
	</item>
		<item>
		<title>Graph DBs in PHP: il nostro talk alla PHP conf in Polonia</title>
		<link>http://davidfunaro.com/2011/10/25/graph-dbs-in-php-il-nostro-talk-alla-php-conf-in-polonia/</link>
		<comments>http://davidfunaro.com/2011/10/25/graph-dbs-in-php-il-nostro-talk-alla-php-conf-in-polonia/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 08:32:20 +0000</pubDate>
		<dc:creator>davidino</dc:creator>
				<category><![CDATA[GraphDB]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[Graphdb]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[orient]]></category>
		<category><![CDATA[orientdb]]></category>
		<category><![CDATA[relational database]]></category>

		<guid isPermaLink="false">http://davidfunaro.com/?p=355</guid>
		<description><![CDATA[la nostra presentazione alla phpcon.pl dei graphdb in php<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=355&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Appena tornati dalla Polonia. Siamo stati li per la conferenza nazionale sul php, la <a title="PHP conf poland" href="http://www.phpcon.pl" target="_blank">phpcon.pl</a>. Alessandro, il mio collega, ed io abbiamo avuto modo, per la prima volta, di mostrare ad un vasto pubblico la<a title="Orient su github" href="https://github.com/congow/Orient" target="_blank"> libreria in PHP</a> per <a title="orientDB" href="http://www.orientechnologies.com/orient-db.htm" target="_blank">OrientDB</a>.</p>
<p>Il mese prossimo, molto probabilmente, sarà in onda anche sul canale del pug Roma. Intanto metto le slide in questo articolo.</p>
<iframe src='http://www.slideshare.net/slideshow/embed_code/9841715' width='595' height='488'></iframe>
<br />Archiviato in:<a href='http://davidfunaro.com/category/nosql/graphdb/'>GraphDB</a>, <a href='http://davidfunaro.com/category/nosql/'>NoSQL</a>, <a href='http://davidfunaro.com/category/php/'>php</a> Tagged: <a href='http://davidfunaro.com/tag/graph/'>graph</a>, <a href='http://davidfunaro.com/tag/graphdb-2/'>Graphdb</a>, <a href='http://davidfunaro.com/tag/nosql-2/'>nosql</a>, <a href='http://davidfunaro.com/tag/orient/'>orient</a>, <a href='http://davidfunaro.com/tag/orientdb/'>orientdb</a>, <a href='http://davidfunaro.com/tag/php/'>php</a>, <a href='http://davidfunaro.com/tag/relational-database/'>relational database</a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=355&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidfunaro.com/2011/10/25/graph-dbs-in-php-il-nostro-talk-alla-php-conf-in-polonia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14327ba6a017db91465d34f5910df5ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidfunaro</media:title>
		</media:content>
	</item>
		<item>
		<title>GraphDB &#8230; presto anche per PHP</title>
		<link>http://davidfunaro.com/2011/08/30/graphdb-presto-anche-per-php/</link>
		<comments>http://davidfunaro.com/2011/08/30/graphdb-presto-anche-per-php/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 08:00:50 +0000</pubDate>
		<dc:creator>davidino</dc:creator>
				<category><![CDATA[GraphDB]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[Graphdb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[orientdb]]></category>
		<category><![CDATA[symfony2]]></category>

		<guid isPermaLink="false">http://davidfunaro.com/?p=310</guid>
		<description><![CDATA[I db relazionali non sono sempre la scelta migliore. In tutti quei casi in cui bisogna gestire una rete di collegamente/relazione è meglio orientarsi su un dbms diverso come per esempio un graph db. Abbiamo scelto il nostro: OrientDB e ci stiamo costruendo una libreria in PHP al di sopra.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=310&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:left;"><a href="http://www.allthingsdistributed.com/images/graph-atd-full.png"><img class="aligncenter" title="Graph" src="http://www.allthingsdistributed.com/images/graph-atd-full.png" alt="Graph" width="359" height="256" /></a></p>
<p style="text-align:left;">Come ci dobbiamo comportare se dall&#8217;analisi di fattibilità del nostro progetto scopriamo che i dati da persistere sul db vanno oltre le features messe a disposizione da un db relazionale, anzi si comportano proprio come una rete di contatti &#8230; un grafo. Possiamo prendere in considerazione due tipologie di comportamenti.<span id="more-310"></span></p>
<p style="text-align:left;">Il primo insiste sul db relazionale. Nonostante non sia stato pensato per risolvere questa tipologia di problematiche troviamo dei workAround per fargli fare quello che non sarebbe in grado di fare. Un esempio pratico è la rottura dell&#8217;integrità referenziale. Quando abbiamo la necessità di aggregare dati eterogenei, le &#8220;foreign Key&#8221; non possono più aiutarci, si introduce all&#8217;interno dei campi di una tabella il campo che indica il nome della tabella correlata al quale fa riferimento l&#8217;id del campo a fianco.</p>
<table border="1" cellspacing="0">
<thead>
<tr>
<td>entity</td>
<td>entity_id</td>
</tr>
</thead>
<tbody>
<tr>
<td>user</td>
<td>110</td>
</tr>
</tbody>
</table>
<p>A questo punto il db non sà più fare il suo lavoro  poiché non è più in grado di conoscere la tipologià di informazione estratta. Il che significa che, per far funzionare le cose,  dobbiamo integrare la logica( che normalmente sarebbe gestita dal db) della nostra applicazione di queste informazioni aggiuntive.</p>
<p>La seconda scelta consiste nel prendere in considerazione un prodotto studiato appositamente per risolvere questa tipologia di problematiche. Ed è proprio la soluzione che vogliamo valutare.</p>
<p>A questo punto ci siamo spostati nel dominio NoSql, quel ambito nel quale i database non sono solo relazionali. Si può spaziare da database <strong>key-value</strong> come <a title="Redis" href="http://redis.io" target="_blank">Redis</a>, a <strong>Documentali</strong> come <a title="couch db" href="http://couchdb.apache.org/" target="_blank">Couch DB</a> e <a title="MongoDB" href="http://www.mongodb.org/" target="_blank">Mongo DB</a>. Tra questi ce ne sono anche alcuni che si occupano di prendere in considerazione <strong>strutture dati a grafi</strong>. <a title="Wikipedia Graph database" href="http://en.wikipedia.org/wiki/Graph_database" target="_blank">Wikipedia</a> ne mette in mostra molti, ma quello che  ci interessa è <a title="OrientDB" href="http://www.orientechnologies.com/orient-db.htm" target="_blank">OrientDB</a>.</p>
<p>OrientDB è in grado di garantire altissime prestazioni, è orientato al Documento (Document Oriented) è schema full/less/mixed, è affidabile (<a title="Acid" href="http://en.wikipedia.org/wiki/ACID" target="_blank">ACID</a>), ha una sintassi di quering molto simile a quella SQL ed è molto semplice fare le traversal (attraversamento dei nodi)</p>
<p><a title="OrientDb al NOSql" href="http://www.slideshare.net/lvca/orientdb-nosqlday" target="_blank">Ecco</a> una presentazione di Orient DB direttamente dal suo Lead developer</p>
<p>Da qualche mese a questa parte <a title="Odino" href="http://www.odino.org" target="_blank">Alessandro</a> (il mio collega) ed io, abbiamo cominciato a scrivere una libreria in PHP per interagire con <a title="OrientDB" href="http://www.orientechnologies.com/orient-db.htm" target="_blank">OrientDB</a>. L&#8217;esigenza è stata percepita principalmente quando ci siamo scontrati con la progettazione di un <a title="La mia presentazione al PHP-day" href="http://davidfunaro.com/2011/06/03/la-mia-presentazione-al-php-day/" target="_blank">CMF</a>, nella necessità di un grafo per persistere le nostre strutture dati.</p>
<p>La libreria si trova su <a title="https://github.com/congow/Orient" href="https://github.com/congow/Orient" target="_blank">github</a> è un componente del CMF che stiamo progettando ma è assolutamente indipendente e puo essere utilizzata anche esternamente.</p>
<p>Si compone di tre componenti software:</p>
<ol>
<li><em>binding</em>: di piu basso livello è la libreria di base che permette di collegarsi a Orient attraverso uno dei due protocolli disponibili HTTP (sempre fatto da noi) e <a title="Protocollo binario" href="https://github.com/AntonTerekhov/OrientDB-PHP" target="_blank">binario</a></li>
<li><em>query-builder</em>: una libraria ad oggetti che mette a disposizione dei metodi per la creazione di query, un po come avviene con quelle di Doctrine/Propel</li>
<li><em>mapper</em>: la libreria di piu alto livello, prende spunto sia in architettura che in funzionalità  dall&#8217;ODM di docrine per mongo che ha le seguenti caratteristiche</li>
<ul>
<li>mappa i campi da persistere nel db attraverso l&#8217;utilizzo di annotation</li>
<li>Idrata gli oggetti con i risultati ottenuti dal db</li>
<li>Persiste i dati sul db</li>
</ul>
</ol>
<p>I primi due componenti sono già funzionanti (test di integrazione compresi) e ci stiamo accingendo a concludere anche il terzo che è quello con complessità un po&#8217; più elevata. Il passo conclusivo consisterà nell&#8217;incapsulare questa libreria all&#8217;interno di un bundle per il nuovo Symfony2.</p>
<p>Quindi ben presto anche gli sviluppatori PHP, e soprattutto quelli che hanno cercato in tutti i modi di far cambiare natura ai database relazionali (mySql per esempio), potranno lavorare con database a grafo e riuscire a trarre vantaggi da questo tipo di tecnologia.</p>
<p>Nei prossimi articoli verrà mostrato come interagire con questa libreria. Dimenticavo, se volete dare il vostro contribuito&#8230;benvenuti.</p>
<br />Archiviato in:<a href='http://davidfunaro.com/category/nosql/graphdb/'>GraphDB</a>, <a href='http://davidfunaro.com/category/nosql/'>NoSQL</a>, <a href='http://davidfunaro.com/category/php/'>php</a>, <a href='http://davidfunaro.com/category/php/symfony/'>symfony</a> Tagged: <a href='http://davidfunaro.com/tag/graphdb-2/'>Graphdb</a>, <a href='http://davidfunaro.com/tag/mysql/'>mysql</a>, <a href='http://davidfunaro.com/tag/nosql-2/'>nosql</a>, <a href='http://davidfunaro.com/tag/orientdb/'>orientdb</a>, <a href='http://davidfunaro.com/tag/php/'>php</a>, <a href='http://davidfunaro.com/tag/symfony2/'>symfony2</a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=310&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidfunaro.com/2011/08/30/graphdb-presto-anche-per-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14327ba6a017db91465d34f5910df5ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidfunaro</media:title>
		</media:content>

		<media:content url="http://www.allthingsdistributed.com/images/graph-atd-full.png" medium="image">
			<media:title type="html">Graph</media:title>
		</media:content>
	</item>
		<item>
		<title>La mia presentazione al PHP.to.start di torino</title>
		<link>http://davidfunaro.com/2011/07/15/la-mia-presentazione-al-php-to-start-di-torino/</link>
		<comments>http://davidfunaro.com/2011/07/15/la-mia-presentazione-al-php-to-start-di-torino/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 08:23:19 +0000</pubDate>
		<dc:creator>davidino</dc:creator>
				<category><![CDATA[Indigeni Digitali]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[bigtable]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[dynamo]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[orientdb]]></category>
		<category><![CDATA[redis]]></category>
		<category><![CDATA[riak]]></category>

		<guid isPermaLink="false">http://davidfunaro.com/?p=336</guid>
		<description><![CDATA[La mia presentazione al php.to.start<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=336&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Gli <a title="Indigeni Digitali" href="http://blog.indigenidigitali.com" target="_blank">indigeni</a> si espandono e questa volta arrivano anche a torino per incontrare business e univiersità. L&#8217;evento è focalizzato sull&#8217;utilizzo del linguaggio Open source PHP in realtà lavorative come l&#8217;I3P (politecnico di torino).</p>
<p>Sono stato molto felice di poter partecipare come speaker ed anche se non ho parlato esplicitamente di PHP spero che la mia presentazione abbia aiutato i presenti a capire qualcosa di piu su questo &#8220;nuovo&#8221; trend.</p>
<p>Ecco le slide della mia presentazione.</p>
<iframe src='http://www.slideshare.net/slideshow/embed_code/8594648' width='595' height='488'></iframe>
<br />Archiviato in:<a href='http://davidfunaro.com/category/indigeni-digitali/'>Indigeni Digitali</a>, <a href='http://davidfunaro.com/category/nosql/'>NoSQL</a>, <a href='http://davidfunaro.com/category/php/'>php</a> Tagged: <a href='http://davidfunaro.com/tag/bigtable/'>bigtable</a>, <a href='http://davidfunaro.com/tag/couchdb/'>couchdb</a>, <a href='http://davidfunaro.com/tag/dynamo/'>dynamo</a>, <a href='http://davidfunaro.com/tag/mongodb/'>mongodb</a>, <a href='http://davidfunaro.com/tag/nosql-2/'>nosql</a>, <a href='http://davidfunaro.com/tag/orientdb/'>orientdb</a>, <a href='http://davidfunaro.com/tag/php/'>php</a>, <a href='http://davidfunaro.com/tag/redis/'>redis</a>, <a href='http://davidfunaro.com/tag/riak/'>riak</a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=336&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidfunaro.com/2011/07/15/la-mia-presentazione-al-php-to-start-di-torino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14327ba6a017db91465d34f5910df5ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidfunaro</media:title>
		</media:content>
	</item>
		<item>
		<title>H3G una promozione &#8230; per loro</title>
		<link>http://davidfunaro.com/2011/06/16/h3g-una-promozione-per-loro/</link>
		<comments>http://davidfunaro.com/2011/06/16/h3g-una-promozione-per-loro/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 08:13:49 +0000</pubDate>
		<dc:creator>davidino</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[h3g]]></category>
		<category><![CDATA[iphone4]]></category>
		<category><![CDATA[telefonia]]></category>

		<guid isPermaLink="false">http://davidfunaro.com/?p=316</guid>
		<description><![CDATA[Sono ormai da qualche anno un soddisfatto cliente H3G. Ho sottoscritto il piano Power 800 almeno 3 anni fa quando era così composto: 800 minuti di telefonate al mese 400 sms/mms al mese 10Gb di traffico internet al mese Tutto a €29 + €5 (tassa di concessione governativa) Ieri, per la prima volta, mi contatta [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=316&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><img class="aligncenter" title="3 Italia" src="http://www.il-cuneo.it/wordpress/wp-content/uploads/2010/05/img_3italia_hp.jpg" alt="3 Italia" width="403" height="182" /></p>
<p style="text-align:left;">Sono ormai da qualche anno un soddisfatto cliente H3G. Ho sottoscritto il piano Power 800 almeno 3 anni fa quando era così composto:</p>
<ol>
<li>800 minuti di telefonate al mese</li>
<li>400 sms/mms al mese</li>
<li>10Gb di traffico internet al mese<br />
<strong>Tutto a €29 + €5 (tassa di concessione governativa)<span id="more-316"></span></strong></li>
</ol>
<p>Ieri, per la prima volta, mi contatta il customer care con una fantastica promozione per me, mi vogliono far passare ad un altro piano tariffario. Innanzi tutto ci tiene a precisare che c&#8217;e la possibilità di prendere un iPhone4 (che già ho) a costo zero e poi mi elenca il nuovo piano</p>
<ol>
<li>800 minuti al mese</li>
<li>200 sms/mms al mese</li>
<li>2Gb di traffico internet al mese</li>
<li>iphone 4 a costo zero<br />
<strong>Tutto a  €44 con un vincolo di 30 mesi</strong></li>
</ol>
<p>Dice: &#8220;Signor Funaro, che ne pensa?&#8221;<br />
C&#8217;è poco da pensare, pago €10 in piu, ho 200 sms in meno, 8Gb di traffico in meno, ed in piu sono vicolato con voi per 30 mesi. A me sembra proprio che la promozione sia per loro non per me.</p>
<p>Anche perche a conti fatti, faccio prima a comprarmelo direttamente un iPhone4:</p>
<p>10€ in piu al mese X 30 mesi = €300<br />
200 sms X 0,10 (costo sms) X 30 mesi  = €600<br />
senza calcolare gli 8Gb siamo molto fuori&#8230;</p>
<p>Mah, sono sicuro che richiameranno, prima o poi, chissà quale altra promozione vorranno chiedermi <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>AGGIORNAMENTO</strong>: qualcuno mi fa notare che forse ho tralasciato un dettaglio. La chiamata non era casuale, il tizio con cui ho parlato sapeva benissimo che tipo di piano avessi e che tipo di consumi facessi. Quindi l&#8217;obiettivo della telefonata era proprio quello di tentare di farmi abbandonare una tariffa ormai non più offerta dal gestore.</p>
<br />Archiviato in:<a href='http://davidfunaro.com/category/uncategorized/'>Uncategorized</a> Tagged: <a href='http://davidfunaro.com/tag/h3g/'>h3g</a>, <a href='http://davidfunaro.com/tag/iphone4/'>iphone4</a>, <a href='http://davidfunaro.com/tag/telefonia/'>telefonia</a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidfunaro.com&#038;blog=11656478&#038;post=316&#038;subd=davidfunaro&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidfunaro.com/2011/06/16/h3g-una-promozione-per-loro/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/14327ba6a017db91465d34f5910df5ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">davidfunaro</media:title>
		</media:content>

		<media:content url="http://www.il-cuneo.it/wordpress/wp-content/uploads/2010/05/img_3italia_hp.jpg" medium="image">
			<media:title type="html">3 Italia</media:title>
		</media:content>
	</item>
	</channel>
</rss>
