<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://www.ideato.it/rss/feed/planet" rel="self" type="application/rss+xml"/>
    <title>Planet</title>
    <link>http://www.ideato.it</link>
    <description></description>
    <language>en-US</language>
    <item>
      <title>Il problema del refactoring</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Il-problema-del-refactoring</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Il-problema-del-refactoring</guid>
      <description>&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Dare una stima dei costi per il refactoring di un progetto, senza prima averlo analizzato sarebbe come cercare di curare una malattia senza investire tempo &lt;strong&gt;e denaro&lt;/strong&gt; in analisi mediche. &lt;/em&gt;&lt;/p&gt;
&lt;div style="text-align:right"&gt;&lt;em&gt;Fullo, mail a cliente anonimo&lt;/em&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sempre più spesso in &lt;a href="http://www.ideato.it"&gt;Ideato&lt;/a&gt; ci arrivano richieste per riprogettare, rifattorizzare ed ottimizzare software già in produzione. Ovviamente chi chiede informazioni sui costi si ferma ad un misero &lt;em&gt;«ma quanto mi costa?»&lt;/em&gt; senza però ascoltare le due/tre cose che sappiamo sull&amp;#8217;argomento (mica ci abbiamo scritto un &lt;a href="http://astore.amazon.com/fullo-20/detail/1430227273"&gt;libro sul refactoring&lt;/a&gt; per hobby, no?).&lt;/p&gt;
&lt;p&gt;Uno degli ultimi casi che mi è capitato riguarda la riprogettazione (a tutti i livelli, dall&amp;#8217;UX alla sistemistica) di un portale da fare in partnership con altre aziende con cui stiamo lavorando già da tempo. Solo la fase di preventivazione di massima è costata a tutti parecchio tempo perchè, come al solito, non c&amp;#8217;erano idee chiare da parte del cliente che è stato accompagnato mano nella mano in tutta l&amp;#8217;attività.&lt;/p&gt;
&lt;p&gt;Il quale, però, è ovviamente caduto dal pero vedendo che nel preventivo di analisi mancava la stima dei costi per il refactoring.&lt;/p&gt;
&lt;p&gt;Ecco quindi spiegata la metafora che introduce questo post.&lt;/p&gt;
</description>
      <pubDate>Thu, 15 Jul 2010 10:17:22 GMT</pubDate>
    </item>
    <item>
      <title>Esperimenti di un’applicazione nativa per iphone con PhoneGap e Titanium.</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Esperimenti-di-un-applicazione-nativa-per-iphone-con-PhoneGap-e-Titanium</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Esperimenti-di-un-applicazione-nativa-per-iphone-con-PhoneGap-e-Titanium</guid>
      <description>&lt;p&gt;Dopo &lt;a href="http://twitter.com/cphp/status/11437704639"&gt;il bellissimo regalo&lt;/a&gt; che ideato mi ha fatto il giorno del suo compleanno, ho iniziato ha studiare come poter scrivere applicazione su iphone senza conoscere &lt;a href="Dopo il bellissimo regalo che ideato mi ha fatto il giorno del suo compleanno, ho iniziato ha studiare come poter scrivere applicazioni su iphone senza conoscere objective-c.  Cercando un po' su internet ho trovato due progetti molto interessanti:  Phonegap Titanium Entrambi si presentano come tool di sviluppo rapidi per creare applicazioni native per dispositivi mobile (iphone, android, blackberry) in html + javascript + css. Conoscendo molto bene questi tre linguaggi, ho pensato di iniziare a studiare questi tool per vederne le capacità.  Con la regola dell'80-20 che applichiamo in ideato (in pratica ogni sviluppatore può utilizzare il 20% dei suo tempo per studiare, fare prototipi, ecc), insieme con Michele e Fullo, abbiamo deciso di sperimentare entrambe le librerie per creare la nostra prima applicazione per iphone e android.  L'idea è quella di creare un'applicazione che, interfacciandosi con il servizio web Joind.in, faccia vedere i talk &amp;quot;on air&amp;quot; durante un evento. L'obiettivo è quello di lanciare l'applicazione durante il phpday 2010 che si terrà il 13, 14 e 15 maggio a Corropoli (TE).  Vi terremo aggiornati sull'applicazione su questo blog.  Se volete seguirci da più vicino abbiamo creato un repository GitHub, dove metteremo tutto il codice.  "&gt;objective-c&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cercando un po&amp;#8217; su internet ho trovato due progetti molto interessanti:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://phonegap.com"&gt;Phonegap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.appcelerator.com"&gt;Titanium&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Entrambi si presentano come tool di sviluppo rapidi per creare applicazioni native per dispositivi mobile (iphone, android, blackberry) in html + javascript + css. Conoscendo molto bene questi tre linguaggi, ho pensato di iniziare a studiare questi tool per vederne le capacità.&lt;/p&gt;
&lt;p&gt;Con la regola dell&amp;#8217;80-20 che applichiamo in &lt;a href="http://www.ideato.it"&gt;ideato&lt;/a&gt; (in pratica ogni sviluppatore può utilizzare il 20% dei suo tempo per studiare, fare prototipi, ecc), insieme con &lt;a href="http://www.ildipendente.com"&gt;Michele&lt;/a&gt; e &lt;a href="http://www.fullo.net"&gt;Fullo&lt;/a&gt;, abbiamo deciso di sperimentare entrambe le librerie per creare la nostra prima applicazione per iphone e android.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;idea è quella di creare un&amp;#8217;applicazione che, interfacciandosi con il servizio web &lt;a href="http://joind.in/api"&gt;Joind.in&lt;/a&gt;, faccia vedere i talk &amp;#8220;on air&amp;#8221; durante un evento. L&amp;#8217;obiettivo è quello di lanciare l&amp;#8217;applicazione durante il &lt;a href="http://www.phpday.it"&gt;phpday 2010&lt;/a&gt; che si terrà il 13, 14 e 15 maggio a &lt;a href="http://maps.google.it/maps?f=q&amp;amp;source=s_q&amp;amp;hl=it&amp;amp;geocode=&amp;amp;q=corropoli&amp;amp;sll=41.442726,12.392578&amp;amp;sspn=18.588764,38.276367&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=Corropoli+Teramo,+Abruzzo&amp;amp;ll=42.83343,13.83316&amp;amp;spn=0.071125,0.149517&amp;amp;t=h&amp;amp;z=13"&gt;Corropoli (TE)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Vi terremo aggiornati sull&amp;#8217;applicazione su questo blog.&lt;/p&gt;
&lt;p&gt;Se volete seguirci da più vicino abbiamo creato un &lt;a href="http://github.com/ideato/Join.On.Air"&gt;repository GitHub&lt;/a&gt;, dove metteremo tutto il codice.&lt;/p&gt;
</description>
      <pubDate>Sun, 11 Apr 2010 11:48:04 GMT</pubDate>
    </item>
    <item>
      <title>L’azienda che vorrei</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/L-azienda-che-vorrei</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/L-azienda-che-vorrei</guid>
      <description>&lt;ul&gt;
&lt;li&gt;L&amp;#8217;azienda che vorrei dovrebbe mettere le persone davanti a tutto, renderle partecipi di come l&amp;#8217;azienda sta andando e perchè.&lt;/li&gt;
&lt;li&gt;L&amp;#8217;azienda che vorrei dovrebbe perseguire il profitto, non solo quello economico, ma anche sociale ed intellettuale. &lt;/li&gt;
&lt;li&gt;L&amp;#8217;azienda che vorrei dovrebbe permettere ed invogliare la crescita personale, dando a chi lo vuole la possibilità di fare nuove esperienze, anche collaterali al lavoro svolto in ufficio. &lt;/li&gt;
&lt;li&gt;L&amp;#8217;azienda che vorrei dovrebbe far si che i dipendenti abbiano assistenza e rimborsi per le spese mediche, perchè la loro salute è anche salute dell&amp;#8217;azienda.&lt;/li&gt;
&lt;li&gt;L&amp;#8217;azienda che vorrei dovrebbe dare spazio alle persone di dire la propria, proporre idee ed avere un piccolo budget per portarle avanti.&lt;/li&gt;
&lt;li&gt;L&amp;#8217;azienda che vorrei dovrebbe fare della propria forza la traparenza e la consapevolezza che il cliente fa parte del team di sviluppo.&lt;/li&gt;
&lt;li&gt;L&amp;#8217;azienda che vorrei dovrebbe rendere gli straordinari un evento straordinario, e non una consuetudine.&lt;/li&gt;
&lt;li&gt;L&amp;#8217;azienda che vorrei dovrebbe avere &lt;a href="http://www.theideatos.com/"&gt;dipendenti&lt;/a&gt; che affermano che farsi oltre 40km per andare in ufficio tutte le mattine non pesano affatto.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Fortunatamente &lt;a href="http://ideato.it/Blog/In-primo-piano/Chi-comincia-bene-e-a-meta-dell-opera"&gt;questa azienda&lt;/a&gt; la ho.&lt;/p&gt;
</description>
      <pubDate>Tue, 02 Feb 2010 09:02:59 GMT</pubDate>
    </item>
    <item>
      <title>Alcune regole del Pair Programming</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Alcune-regole-del-Pair-Programming</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Alcune-regole-del-Pair-Programming</guid>
      <description>&lt;p&gt;Qualche settimana fa, una coppia di sviluppatori del &lt;a href="http://www.theideatos.com"&gt;team nel quale lavoro&lt;/a&gt;, mi ha chiesto:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;#8220;Ciccio, ma quali sono le regole del &lt;a href="http://en.wikipedia.org/wiki/Pair_programming"&gt;Pair Programming&lt;/a&gt;? Facciamo Pair Programming da alcuni mesi, ma a volte non ci sentiamo molto efficaci, perchè discutiamo troppo nel prendere decisioni condivise e perchè il nostro livello di conoscenza non è lo stesso.&amp;#8221;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Quando dal team emergono queste domande, i miei occhi si illuminano, perchè solo di fronte alla consapevolezza si possono dare piccole regole per migliorare se stessi.&lt;/p&gt;
&lt;p&gt;Di fronte alle loro domande non ho risposto subito, ho rinviato la discussione ad un &lt;a href="http://www.ideato.it/Blog/In-primo-piano/I-dojo-di-Ideato"&gt;dojo&lt;/a&gt; interno, che organizzeremo in &lt;a href="http://www.ideato.it"&gt;ideato&lt;/a&gt; a breve tempo.&lt;/p&gt;
&lt;p&gt;Tuttavia, oggi, vorrei raccontarvi quando secondo me il Pair Programming è efficace.&lt;/p&gt;
&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em;"&gt;La metafora che uso spesso per far capire il Pair Programming è quella dei guidatori di rally, chi scrive codide è il guidatore, chi sta a fianco e osserva è il navigatore. Se il guidatore non si fida del navigatore, dove va a finire l&amp;#8217;auto?&lt;/p&gt;
&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em;"&gt;Come in ogni coppia anche nel Pair Programming si è efficaci se si rispettano i ruoli.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Il guidatore si deve fidare del navigatore&lt;/strong&gt;.&lt;br /&gt;
Nella coppia ci deve essere fiducia. Il punto di vista predominante deve essere quello del navigatore. La coppia non può discutere ogni piccola decisione. Il guidatore si deve occupare di fare bene quello che gli viene detto dal navigatore. L&amp;#8217;obiettivo è la risoluzione del problema. Se il guidatore non è d&amp;#8217;accordo con il design emerso potrà fare refactoring quando sarà lui il navigatore, se necessario.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt; Il guidatore deve stare attento alla tattica&lt;/strong&gt;.&lt;br /&gt;
Il compito del guidatore è quello di porre attenzione a quello che gli viene detto dal navigatore e al coding style.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt; Il navigatore deve stare attento alla strategia.&lt;/strong&gt;&lt;br /&gt;
Il compito del navigatore è quello di indicare la strada al guidatore. Il navigatore deve guardare più avanti e scegliere quale strategie attuare. E&amp;#8217; il navigatore che fa emergere il design del codice.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Per discutere si chiama un Time-Out&lt;/strong&gt;.&lt;br /&gt;
Durante la sessione di Pair Programming, se la coppia è in disaccordo, si possono chiamare dei Time-Out. I time out servono a discutere insieme quale strada percorrere e come risolvere un certo problema, o per chiedere aiuto a qualcuno se si è bloccati. Il numero massimo di time out che si possono chiamare durante una giornata non dovrebbero essere più di quattro. La durata di un Time-Out non deve essere superiore al pomodoro.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt; Cambiarsi i ruoli&lt;/strong&gt;.&lt;br /&gt;
E&amp;#8217; molto importante che nella coppia i ruoli vengano scambiati frequentemente. Un tempo ideale potrebbe essere ogni uno o due pomodori.&lt;/li&gt;
&lt;/ol&gt;
&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em;"&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;Nel dojo che organizzeremo in ideato, vedremo come rendere ancora più efficace il Pair Programming attravero il &lt;a href="http://www.c2.com/cgi/wiki?PairProgrammingPingPongPattern"&gt;Ping Pong Pair Programming&lt;/a&gt;. &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em;"&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;E tu ti fidi del tuo navigatore?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em;"&gt;
</description>
      <pubDate>Tue, 12 Jan 2010 07:51:18 GMT</pubDate>
    </item>
    <item>
      <title>Il mio 2009</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Il-mio-2009</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Il-mio-2009</guid>
      <description>&lt;p&gt;Anche un &lt;a href="http://it.wikipedia.org/wiki/2009"&gt;altro anno&lt;/a&gt; sta finendo e si lascia alle porte molte belle eperienze vissute e passate.&lt;/p&gt;
&lt;p&gt;Ho partecipate alle seguenti conferenze:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ez.no/company/events/ez_international_winter_conferences_2009"&gt;eZ International Winter Conference&lt;/a&gt; &amp;#8211; 29, 30 Gennaio 2009, Barcelona&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.phpcon.it/"&gt;PHPCon Italia 2009&lt;/a&gt; &amp;#8211; 18 &amp;#8211; 20 Marzo 2009&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.phpday.it/site/phpday-2009/"&gt;PHPDay 2009&lt;/a&gt; &amp;#8211; 15, 16 Maggio 2009, Verona&lt;/li&gt;
&lt;li&gt;&lt;a href="http://wiki.grusp.it/eventi:phptestfest:riviera2009"&gt;PHP Test Fest&lt;/a&gt; &amp;#8211; 19, 20, 21 Giugno 2009, Cesena&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ez.no/company/ez_conference_awards"&gt;eZ Conference &amp;amp; Awards 2009&lt;/a&gt; &amp;#8211; 24, 25, 26 Giugno 2009, Parigi&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.javascriptcamp.com/"&gt;Javascript Camp&lt;/a&gt; &amp;#8211; 25 Settembre 2009, Cesena&lt;/li&gt;
&lt;li&gt;&lt;a href="http://html5dojo.eventbrite.com/"&gt;HTML 5 Dojo&lt;/a&gt; &amp;#8211; 18 Dicembre 2009, Cesena&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ho tenuto i seguenti talk:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PHPCon Italia &amp;#8211; &lt;a href="http://entwickler.com/konferenzen/planer/show_details.php?konferenzid=94&amp;amp;sessionid=9482"&gt;Extreme Programming and PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PHPDay &amp;#8211; &lt;a href="http://www.phpday.it/site/phpday-2009/calendario-conferenze/workshop/spaghetti-code-refactoring-dry-kiss-tdd/"&gt;Spaghetti Code Refactoring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Javscript Camp &amp;#8211; Unit test con javascript&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A fine ottobre inoltre è uscito il mio primo libro &amp;#8220;&lt;a href="http://www.packtpub.com/ez-publish-4-enterprise-web-sites-step-by-step"&gt;eZ Publish 4: Enterprise Web Sites Step By Step&lt;/a&gt;&amp;#8221; ed ho iniziato a scrivere il mio secondo libro &amp;#8220;&lt;a href="http://www.apress.com/book/view/9781430227274"&gt;Pro PHP Refactoring with Test-Driven Design&lt;/a&gt;&amp;#8220;.&lt;/p&gt;
&lt;p&gt;Inoltre con la mia azienda ho lavorato ai seguenti progetti:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tripshake.com"&gt;Tripshake.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.eharmony.it/"&gt;eHarmony.it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.topgirl.it"&gt;TopGirl.it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Casa Vinicola Zonin e tenute&lt;/li&gt;
&lt;li&gt;Planetek Italia&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;e alle seguenti estensioni open source:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://projects.ez.no/ezsync"&gt;eZ Deploy&lt;/a&gt; &amp;#8211; Deploy automatico con eZ Publish&lt;/li&gt;
&lt;li&gt;&lt;a href="http://projects.ez.no/eztestbrowser"&gt;eZ Test Browser &lt;/a&gt;- Test funzionali con eZ Publish&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ho cercato di migliorare ogni giorno il processo produttivo all&amp;#8217;interno di ideato, studiando e mettendo in pratica le metodologie agili.&lt;/p&gt;
&lt;p&gt;Dire in conclusione un anno molto produttivo, ora vediamo che cosa il 2010 si riserverà.&lt;/p&gt;
&lt;p&gt;Auguri a tutti e felice anno nuovo.&lt;/p&gt;
</description>
      <pubDate>Sat, 26 Dec 2009 16:44:33 GMT</pubDate>
    </item>
    <item>
      <title>Corsi di formazione @ ideato: PHP Refactoring</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Corsi-di-formazione-ideato-PHP-Refactoring</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Corsi-di-formazione-ideato-PHP-Refactoring</guid>
      <description>&lt;p&gt;Partono in ideato i corsi di formazione. Il primo corso di formazione si intitola &amp;#8220;PHP Refactoring&amp;#8221; e mi vedrà coinvolto come insegnante.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;PHP Refactoring&lt;/strong&gt;&lt;br /&gt;
Molte aziende ed organizzazioni hanno applicazioni business critical che dipendono da codice obsoleto e di difficile manutenzione.&lt;/p&gt;
&lt;p&gt;Le ragioni dietro a questo genere di problema possono essere molte, dalla perdita di know-how relativo a chi ha sviluppato il prodotto, alla mancanza vera e propria di progettazione fino alla totale assenza pratiche di sviluppo che non hanno seguito pattern riconosciuti&lt;br /&gt;
e consolidati.&lt;/p&gt;
&lt;p&gt;Con questo corso si imparerà ad identificare questi problemi ed aggiornare, o creare, applicazioni più efficienti utilizzando pratiche di Test Driven Design.&lt;/p&gt;
&lt;p&gt;Il corso di Refactoring di codice PHP obsoleto sarà basato sul libro, di prossima pubblicazione, scritto da &lt;a href="http://www.cphp.it"&gt;Francesco Trucchia&lt;/a&gt; e &lt;a href="http://www.sviluppoagile.it"&gt;Jacopo Romei&lt;/a&gt; intitolato &amp;#8221;&lt;a href="http://www.apress.com/book/view/9781430227274"&gt;Pro PHP Refactoring with Test-Driven Design&lt;/a&gt;&amp;#8220; e tenuto dagli stessi autori.&lt;/p&gt;
&lt;p&gt;durata: 2 giorni&lt;br /&gt;
maggiori informazioni: &lt;a style="color: #1d1ece;" href="http://www.refactoring.it/" target="_blank"&gt;http://www.refactoring.it&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Se siete interessati a partecipare o volete avere maggiori informazioni contattateci all&amp;#8217;indirizzo &lt;a href="mailto:formazione@ideato.it"&gt;formazione@ideato.it&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Thu, 08 Oct 2009 20:38:54 GMT</pubDate>
    </item>
    <item>
      <title>Kaizen, Kata, Bunkai e BarCamp?</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Kaizen-Kata-Bunkai-e-BarCamp</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Kaizen-Kata-Bunkai-e-BarCamp</guid>
      <description>&lt;p&gt;Non sono mai stato un esperto di arti marziali, quello che però mi ha sempre affascinato di queste discipline è la &lt;em&gt;necessità&lt;/em&gt; di viverle come uno strumento necessario al continuo miglioramento. &lt;/p&gt;
&lt;p&gt;Un miglioramento necessario, negli anime a combattere il nemico più forte (la cosiddetta &lt;em&gt;sindrome da DragonBall&lt;/em&gt;), ad affrontare i nuovi ostacoli che ci si pongono davanti con rinnovato vigore, non solo fisico ma soprattutto, psicologico. &lt;/p&gt;
&lt;p&gt;&lt;span id="more-2665"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Alcune pratiche di &lt;a href="http://en.wikipedia.org/wiki/Extreme_Programming"&gt;Extreme Programming&lt;/a&gt; riprendono questi concetti stravolgendoli, rimasticandoli e facendoli propri, ed ecco quindi che possiamo affermare che:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;i &lt;a href="http://it.wikipedia.org/wiki/Kata"&gt;Kata&lt;/a&gt;, o meglio i &lt;a href="http://en.wikipedia.org/wiki/Code_Kata"&gt;Code Kata&lt;/a&gt;, sono espressione di miglioramento attraverso il perfezionamento di quello che si conosce,&lt;/li&gt;
&lt;li&gt;il &lt;a href="http://en.wikipedia.org/wiki/Kaizen"&gt;Kaizen&lt;/a&gt; è la pratica di continuo accrescimento attraverso nuova conoscenza e &lt;em&gt;riduzione degli sprechi&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;ed infine il &lt;a href="http://it.wikipedia.org/wiki/Bunkai"&gt;Bunkai&lt;/a&gt; è lo strumento di comprensione del problema suddividendolo ed affrontandolo in ogni suo più piccolo aspetto (= TDD?).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;#8217;esperienza del Code Kata su Javascript di &lt;a href="http://www.gabrielelana.it/"&gt;Gabriele&lt;/a&gt;, durante il &lt;a href="http://javascriptcamp.com"&gt;JavascriptCamp&lt;/a&gt;, ha fatto rinascere in me la voglia di combattere il &lt;em&gt;cattivo più grosso&lt;/em&gt;. Ma non da solo, bensì insieme ad un piccolo &lt;strong&gt;Dojo di Geek&lt;/strong&gt;, in quella che potrebbe essere una nuova forma di BarCamp più vicina al mio desiderio di accrescimento.&lt;/p&gt;
&lt;p&gt;Ho deciso quindi che i prossimi &lt;del datetime="2009-09-28T21:10:57+00:00"&gt;BarCamp&lt;/del&gt; &lt;em&gt;Kaizen Dojo&lt;/em&gt; (letteramente &amp;#8220;&lt;em&gt;luogo del miglioramento&lt;/em&gt;&amp;#8220;) che organizzerò (o a cui parteciperò), dovranno essere sullo stile del JavascriptCamp. Eventi con pochi iscritti, ma molto attivi e propositivi al miglioramento che offriranno sia presentazioni che Code Kata. &lt;/p&gt;
&lt;p&gt;Cibo per la mente e palestra per il cervello.&lt;/p&gt;
&lt;p&gt;ciuaz&lt;/p&gt;
</description>
      <pubDate>Mon, 28 Sep 2009 22:17:14 GMT</pubDate>
    </item>
    <item>
      <title>Inizia una nuova avventura…</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Inizia-una-nuova-avventura</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Inizia-una-nuova-avventura</guid>
      <description>&lt;p&gt;&lt;img class="alignleft" style="float: left;" src="http://www.apress.com/resource/bookcover/9781430227274?size=medium" alt="" width="125" height="165" /&gt;Inizia oggi per me e per &lt;a href="http://www.sviluppoagile.it/la-prima-volta"&gt;Jacopo&lt;/a&gt; una nuova avventura. Saremo gli autori del nuovo libro dell&amp;#8217;&lt;a href="http://www.apress.com"&gt;Apress&lt;/a&gt; &amp;#8220;&lt;a href="http://www.phprefactoringwithtdd.com"&gt;Pro PHP Refactoring with Test-Driven Design&lt;/a&gt;&amp;#8220;.&lt;/p&gt;&#13;
&lt;p&gt;Dopo il mio debutto con &amp;#8220;&lt;a href="http://www.packtpub.com/ez-publish-4-enterprise-web-sites-step-by-step"&gt;eZ Publish 4: Enterprise Web Sites Step-by-Step&lt;/a&gt;&amp;#8220;, del quale siamo nella fase di revisione tecnica, molto presto verrà pubblicato, ecco che ho deciso di buttarmi in una nuova sfida.&lt;/p&gt;&#13;
&lt;p&gt;Credo che oggi come non mai ci sia interesse verso il valore del software. Io e Jacopo con questo libro cercheremo di spiegarvi come è possibile far crescere il vostro software php senza fallire e perderne valore.&lt;/p&gt;&#13;
&lt;blockquote&gt;&#13;
&lt;h2&gt;Pro PHP Refactoring with Test-Driven Design&lt;/h2&gt;&#13;
&lt;p&gt;Many businesses and organizations depend on older high-value PHP software that risks abandonment because it is impossible to maintain. The reasons for this may be that the software is not well designed; there is only one developer (the one who created the system) who can develop it because he didn’t use common design patterns and documentation; or the code is procedural, not object oriented. With this book, you’ll learn to identify problem code and refactor it to create more effective applications using test-driven design.&lt;/p&gt;&#13;
&lt;h3&gt;What you’ll learn&lt;/h3&gt;&#13;
&lt;ul&gt;&#13;
&lt;li&gt;What refactoring is and why you need to refactor code&lt;/li&gt;&#13;
&lt;li&gt;What test-driven design is and why you need to test your code&lt;/li&gt;&#13;
&lt;li&gt;How to write unit and functional tests with PHPUnit and Selenium Remote Control (RC)&lt;/li&gt;&#13;
&lt;li&gt;How to detect “bad smells” in PHP code, and refactor them using test-driven design&lt;/li&gt;&#13;
&lt;li&gt;How to refactor a large procedural application affected by many bad smells&lt;/li&gt;&#13;
&lt;/ul&gt;&#13;
&lt;h3&gt;Who is this book for?&lt;/h3&gt;&#13;
&lt;p&gt;This book is for PHP developers, businesses, and developers relying on legacy PHP apps.&lt;/p&gt;&lt;/blockquote&gt;&#13;
</description>
      <pubDate>Sat, 12 Sep 2009 16:03:59 GMT</pubDate>
    </item>
    <item>
      <title>Test funzionale con eZ Publish - eZ Test Browser 0.1 stable</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Test-funzionale-con-eZ-Publish-eZ-Test-Browser-0.1-stable</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Test-funzionale-con-eZ-Publish-eZ-Test-Browser-0.1-stable</guid>
      <description>&lt;p&gt;Ho rilasciato la &lt;a href="http://projects.ez.no/eztestbrowser"&gt;versione 0.1 stabile&lt;/a&gt; della libreria eZ Test Browser che permette di eseguire &lt;a href="http://www.cphp.it/2009/07/18/test-funzionali-su-ez-publish-con-phpunit-e-sfwebbrowser/"&gt;test funzionali con eZ Publish&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Insieme alla versione stabile è stata rilasciata anche la documentazione che insegna come &lt;a href="http://svn.projects.ez.no/eztestbrowser/tags/0.1/INSTALL"&gt;installare&lt;/a&gt; ed &lt;a href="http://svn.projects.ez.no/eztestbrowser/tags/0.1/HOWTO"&gt;usare&lt;/a&gt; l&amp;#8217;estensione.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;estensione è rilasciata con &lt;a href="http://svn.projects.ez.no/eztestbrowser/tags/0.1/LICENCE"&gt;licenza GNU GPL 2&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ringrazio i miei due compagni di viaggio &lt;a href="http://www.sviluppoagile.it"&gt;Jacopo&lt;/a&gt; e &lt;a href="http://www.ildipendente.com"&gt;Michele&lt;/a&gt; che hanno sviluppato con me l&amp;#8217;estensione, ed &lt;a href="http://www.ideato.it"&gt;ideato&lt;/a&gt; per aver finanziato questo progetto che sarù utile a tutta la comunità.&lt;/p&gt;
</description>
      <pubDate>Sun, 16 Aug 2009 00:44:17 GMT</pubDate>
    </item>
    <item>
      <title>I test automatici come unità di misura del cambiamento</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/I-test-automatici-come-unita-di-misura-del-cambiamento</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/I-test-automatici-come-unita-di-misura-del-cambiamento</guid>
      <description>&lt;p&gt;In natura il cambiamento viene dimostrato dal confronto di due misure.&lt;/p&gt;
&lt;p&gt;Ad esempio, se voglio dimostrare che il peso di un palloncino è diverso se riempito con acqua o con aria, eseguirò i seguenti passi:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;peso in una bilancia il palloncino pieno di acqua&lt;/li&gt;
&lt;li&gt;peso nella stessa bilancia il palloncino quello pieno d&amp;#8217;aria&lt;/li&gt;
&lt;li&gt; confronto i due pesi&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;se la differenza è diversa da zero, significa che il palloncino pieno d&amp;#8217;acqua pesa di più del palloncino pieno d&amp;#8217;aria:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Cambiamento = PesoPalloncinoAcqua - PesoPalloncinoAria&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Questa dimostrazione è possibile grazie alla bilancia che è il nostro strumento di misurazione tarato sull&amp;#8217;unita di misura del peso, il grammo.&lt;/p&gt;
&lt;p&gt;Quindi se il palloncino è la nostra applicazione, l&amp;#8217;acqua la nostra vecchia feature che deve essere sostiutita con l&amp;#8217;aria, come faccio a dimostrare che il codice è cambiato se non riesco a misurarlo?&lt;/p&gt;
&lt;p&gt;Con i &lt;a href="http://it.wikipedia.org/wiki/Unit_test"&gt;&lt;strong&gt;test automatici&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Il test automatico è in grado di misurare il nostro codice e dimostrarne in maniera oggettiva il cambiamento&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;E voi misurate il vostro codice? con quale unità di misura?&lt;/p&gt;
</description>
      <pubDate>Fri, 07 Aug 2009 11:45:07 GMT</pubDate>
    </item>
    <item>
      <title>Ottimizzare symfony su DreamHost</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Ottimizzare-symfony-su-DreamHost</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Ottimizzare-symfony-su-DreamHost</guid>
      <description>&lt;p&gt;&lt;a href="http://www.twitornot.com"&gt;&lt;img src="http://www.fullo.net/blog/wp-content/uploads/2009/08/twitornot-symfony-on-dreamhost1.png" alt="twitornot: symfony on dreamhost optimization" title="twitornot: symfony on dreamhost optimization" width="500" height="191" class="alignleft size-full wp-image-2644" /&gt;&lt;/a&gt; Qualche giorno fa, come esperimento personale, ho aggiornato (grazie all'aiuto di &lt;a href="http://federicomoretti.name/"&gt;Federico&lt;/a&gt; per il layout), &lt;a href="http://twitornot.com"&gt;TwitOrNot&lt;/a&gt;. Di per sè l'applicazione è abbastanza banale, ma l'esercizio è stato fatto per testare alcune idee che da qualche tempo mi giravano per il cervello.&lt;/p&gt;
&lt;p&gt;Innanzitutto, &lt;a href="http://twitornot.com"&gt;TwitOrNot&lt;/a&gt; migra dalla versione 1.1 alla 1.2.x di &lt;a href="http://symfony.it"&gt;symfony&lt;/a&gt;, nel suo piccolo implementa l'autenticazione &lt;a href="http://apiwiki.twitter.com/OAuth-FAQ"&gt;oAuth&lt;/a&gt; di &lt;a href="http://fullo.net/blog/search/twitter"&gt;Twitter&lt;/a&gt; non salvando in locale le password ma gestendo tutto tramite le API di quest'ultimo. Altra miglioria è stata la sostituzione, indolore visto l'esiguo numero di tabelle, di Propel con &lt;a href="http://www.doctrine-project.org/"&gt;Doctrine&lt;/a&gt;, usando per quest'ultimo &lt;a href="http://www.symfony-project.org/doctrine/1_2/en/07-Migrations"&gt;gli script di migrazione&lt;/a&gt; per gestire future implementazioni.&lt;/p&gt;
&lt;p&gt;La cosa su cui però mi sono divertito di più è stata l'ottimizzazione dell'applicazione per l'utilizzo su un hosting come &lt;a href="http://www.dreamhost.com/r.cgi?98914"&gt;DreamHost&lt;/a&gt; utilizzando &lt;a href="http://developer.yahoo.com/yslow/"&gt;ySlow&lt;/a&gt; come calibro del mio lavoro.&lt;/p&gt;
&lt;p&gt;Utilizzando lo script di analisi di Yahoo!, l'applicazione, nuda e cruda, presentava un bel D (a volte E) come risultato. Successivamente portato, tramite tweak del file di default &lt;code&gt;.htaccess&lt;/code&gt; di symfony ad un onestissimo B (a volte C).&lt;/p&gt;
&lt;p&gt;Vediamo in dettaglio i passaggi fatti.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-2640"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Settiamo come prima cosa nel file &lt;code&gt;settings.yml&lt;/code&gt; della nostra applicazione il parametro &lt;code&gt;etags&lt;/code&gt; a true proseguiamo l'opera di ottimizzazione modificando il file &lt;code&gt;.htaccess&lt;/code&gt; presente nella directory web della nostra applicazione symfony così come segue.&lt;/p&gt;
&lt;p&gt;Fortunatamente DreamHost mette a nostra disposizione i moduli  &lt;code&gt;mod_expires&lt;/code&gt;, &lt;code&gt;mod_headers&lt;/code&gt; e &lt;code&gt;mod_deflate&lt;/code&gt; per Apache già abilitati, altrimenti se state usando un vostro server darò per scontato che siano stati abilitati. Inoltre &lt;a href="http://www.dreamhost.com/r.cgi?98914"&gt;DreamHost&lt;/a&gt; utilizza FastCGI, purtroppo però con APC disabilitato (anche se è possibile, &lt;a href="http://www.ercoppa.org/blog-PHP-53--Xdebug--APC-install-script-per-Dreamhost.htm"&gt;con qualche trick&lt;/a&gt;, abilitarlo).&lt;/p&gt;
&lt;div class="igBar"&gt;&lt;span id="lcode-6"&gt;&lt;a href="#" onclick="javascript:showCodeTxt('code-6'); return false;"&gt;PLAIN TEXT&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="syntax_hilite"&gt;&lt;span class="langName"&gt;CODE:&lt;/span&gt;
&lt;div id="code-6"&gt;
&lt;div class="code"&gt;
&lt;ol&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;Options +FollowSymLinks +ExecCGI&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;lt;IfModule mod_expires.&lt;span style=""&gt;c&lt;/span&gt;&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; FileETag None&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresActive On&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresDefault &lt;span style="color:#CC0000;"&gt;"access plus 300 seconds"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType text/html &lt;span style="color:#CC0000;"&gt;"access plus 1 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType text/css &lt;span style="color:#CC0000;"&gt;"access plus 10 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType text/javascript &lt;span style="color:#CC0000;"&gt;"access plus 10 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType image/gif &lt;span style="color:#CC0000;"&gt;"access plus 10 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType image/jpg &lt;span style="color:#CC0000;"&gt;"access plus 10 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType image/png &lt;span style="color:#CC0000;"&gt;"access plus 10 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType image/x-icon &lt;span style="color:#CC0000;"&gt;"access plus 90 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;lt;/IfModule&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;lt;IfModule mod_deflate.&lt;span style=""&gt;c&lt;/span&gt;&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css application/javascript&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;lt;/IfModule&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;#il restante .&lt;span style=""&gt;htaccess&lt;/span&gt; ufficiale &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Vediamo punto per punto quello che è stato fatto.&lt;/p&gt;
&lt;div class="igBar"&gt;&lt;span id="lcode-7"&gt;&lt;a href="#" onclick="javascript:showCodeTxt('code-7'); return false;"&gt;PLAIN TEXT&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="syntax_hilite"&gt;&lt;span class="langName"&gt;CODE:&lt;/span&gt;
&lt;div id="code-7"&gt;
&lt;div class="code"&gt;
&lt;ol&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;lt;IfModule mod_expires.&lt;span style=""&gt;c&lt;/span&gt;&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; FileETag None &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Innanzitutto, dopo aver controllato che il modulo &lt;a href="http://httpd.apache.org/docs/2.0/mod/mod_expires.html"&gt;mod_expires&lt;/a&gt; sia stato attivato, disabilito la generazione degli &lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#fileetag"&gt;ETAG di Apache&lt;/a&gt; in modo da forzare il browser a credere agli header che saranno passati dal server senza controllare nella sua cache. Altra conseguenza del disabilitare gli ETAG è che, se la nostra applicazione prevede l'accesso a molti file contemporaneamente (non è il caso di TwitOrNot) &lt;strong&gt;viene ridotto il carico di lavoro di I/O&lt;/strong&gt; in quanto non vengono controllate, ad ogni richiesta, le informazioni sulle risorse richieste.&lt;/p&gt;
&lt;div class="igBar"&gt;&lt;span id="lcode-8"&gt;&lt;a href="#" onclick="javascript:showCodeTxt('code-8'); return false;"&gt;PLAIN TEXT&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="syntax_hilite"&gt;&lt;span class="langName"&gt;CODE:&lt;/span&gt;
&lt;div id="code-8"&gt;
&lt;div class="code"&gt;
&lt;ol&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;ExpiresActive On&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresDefault &lt;span style="color:#CC0000;"&gt;"access plus 300 seconds"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType text/html &lt;span style="color:#CC0000;"&gt;"access plus 1 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType text/css &lt;span style="color:#CC0000;"&gt;"access plus 10 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType text/javascript &lt;span style="color:#CC0000;"&gt;"access plus 10 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType image/gif &lt;span style="color:#CC0000;"&gt;"access plus 10 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType image/jpg &lt;span style="color:#CC0000;"&gt;"access plus 10 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType image/png &lt;span style="color:#CC0000;"&gt;"access plus 10 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; ExpiresByType image/x-icon &lt;span style="color:#CC0000;"&gt;"access plus 90 day"&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Ecco quindi che inviamo gli header modificati in modo che il browser sappia cosa, e come, mettere in cache. E' molto importante fare un attento tuning degli expire header da configurare. Infatti se è abbastanza sensato far si che la favicon sia salvata in cache per lunghi periodi di tempo ( &lt;code&gt;ExpiresByType image/x-icon "access plus 90 day"&lt;/code&gt; ) lo è un pò di meno per i file html che potrebbero essere modificati anche più volte al giorno. Nel caso specifico di TwitOrNot ho preferito configurare l'expire ad 1 giorno, ma avrei potuto benissimo abbassare la soglia a qualche ora, così come avrei potuto alzare la soglia di javascript e css a valori più alti.&lt;/p&gt;
&lt;p&gt;Sconsiglio di usare &lt;code&gt;Modified&lt;/code&gt; come metodo di default di expire, in quanto se non modificate le immagini per lunghi periodi di tempo i browser cercheranno di riscaricarle ogni volta.&lt;/p&gt;
&lt;div class="igBar"&gt;&lt;span id="lcode-9"&gt;&lt;a href="#" onclick="javascript:showCodeTxt('code-9'); return false;"&gt;PLAIN TEXT&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="syntax_hilite"&gt;&lt;span class="langName"&gt;CODE:&lt;/span&gt;
&lt;div id="code-9"&gt;
&lt;div class="code"&gt;
&lt;ol&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;lt;IfModule mod_deflate.&lt;span style=""&gt;c&lt;/span&gt;&amp;gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-weight: bold;color:#26536A;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;nbsp; AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript text/css application/javascript&lt;/div&gt;
&lt;/li&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;&amp;lt;/IfModule&amp;gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Dopo aver modificato gli header e gli expire, in modo da ottimizzare la cache del browser, è tempo di concentrarsi sulla riduzione della banda utilizzata. Per farlo ho usato &lt;a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html"&gt;mod_deflate&lt;/a&gt;, ottima alternativa al vecchio &lt;a href="http://sourceforge.net/projects/mod-gzip/"&gt;mod_gzip&lt;/a&gt; e (cosa importante) supportato pienamente anche su sistemi non LAMP. La configurazione proposta per il metodo è abbastanza banale, forzo che tutti i file di testo serviti dal server siano compressi. Se pensate che da 140kb di prototype (puro) si può passare a meno di 30k la soluzione è più che soddisfacente. &lt;/p&gt;
&lt;p&gt;Usare &lt;code&gt;mod_deflate&lt;/code&gt; è sicuramente un'ottima soluzione se la vostra applicazione offre delle API JSON, o genera un gran numero di pagine HTML di cui volete ridurre il bandwidth footprint. Se però avete solo qualche file javascript potreste limitarvi al solo &lt;a href="http://developer.yahoo.com/yui/compressor/"&gt;YUI compressor&lt;/a&gt; per ridurre voi stessi le dimensioni degli stessi, piuttosto che andare ad incidere sulla CPU della vostra macchina.&lt;/p&gt;
&lt;p&gt;Un altro trucchetto, da usare con symfony, consiste nell'inserire all'interno di una action particolarmente pesante, e che non deve essere aggiornata troppo di frequente il seguente comando:&lt;/p&gt;
&lt;div class="igBar"&gt;&lt;span id="lcode-10"&gt;&lt;a href="#" onclick="javascript:showCodeTxt('code-10'); return false;"&gt;PLAIN TEXT&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="syntax_hilite"&gt;&lt;span class="langName"&gt;CODE:&lt;/span&gt;
&lt;div id="code-10"&gt;
&lt;div class="code"&gt;
&lt;ol&gt;
&lt;li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;"&gt;
&lt;div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"&gt;$this-&amp;gt;&lt;span style=""&gt;getResponse&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=""&gt;setHttpHeader&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color:#CC0000;"&gt;'Last-Modified'&lt;/span&gt;, $this-&amp;gt;&lt;span style=""&gt;getResponse&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style=""&gt;getDate&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#40;&lt;/span&gt;$timestamp&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color:#006600; font-weight:bold;"&gt;&amp;#41;&lt;/span&gt;; &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;questo forzerà all'interno dell'output di symfony l'inserimento di un header con valore &lt;code&gt;Last-Modified&lt;/code&gt; uguale al &lt;code&gt;$timestamp&lt;/code&gt; dichiarato. Se ad esempio la vostra action invoca un oggetto che ha l'attributo &lt;em&gt;automagico&lt;/em&gt; &lt;code&gt;updated_at&lt;/code&gt;, potreste usare quest'ultimo come valore del timestamp da applicare all'header.&lt;/p&gt;
&lt;p&gt;Come ultimi approfondimenti, lato &lt;a href="http://www.symfony.it"&gt;symfony&lt;/a&gt;, vi suggerisco di leggere il &lt;a href="http://www.symfony-project.org/book/1_2/18-Performance"&gt;capitolo 18 della guida definitiva a symfony&lt;/a&gt; ed a dare un occhio alla documentazione di &lt;a href="http://pecl.php.net/package/memcached"&gt;memcached&lt;/a&gt; (a cui, forse, dedicherò un post in futuro).&lt;/p&gt;
&lt;p&gt;ciuaz&lt;/p&gt;
</description>
      <pubDate>Tue, 04 Aug 2009 10:08:21 GMT</pubDate>
    </item>
    <item>
      <title>Pubblicato il video della eZ Conference 2009</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Pubblicato-il-video-della-eZ-Conference-2009</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Pubblicato-il-video-della-eZ-Conference-2009</guid>
      <description>&lt;p&gt;Ecco il video riassunto della &lt;a href="http://ez.no/company/ez_conference_awards"&gt;eZ Conference 2009&lt;/a&gt;. Al minuto 6:00 ci sono le immagini della mia premiazione!!&lt;/p&gt;
&lt;p&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/je6CqRWjwfo&amp;#038;hl=it&amp;#038;fs=1&amp;#038;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/je6CqRWjwfo&amp;#038;hl=it&amp;#038;fs=1&amp;#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
</description>
      <pubDate>Sat, 18 Jul 2009 11:51:30 GMT</pubDate>
    </item>
    <item>
      <title>Test funzionali su eZ Publish con phpunit e sfWebBrowser</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Test-funzionali-su-eZ-Publish-con-phpunit-e-sfWebBrowser</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Test-funzionali-su-eZ-Publish-con-phpunit-e-sfWebBrowser</guid>
      <description>&lt;p&gt;&lt;img class="alignnone" src="http://www.phpunit.de/manual/phpunit-logo.gif" /&gt;Da molto tempo aspettavo questo momento, la possibilità di effettuare test funzionali su &lt;a href="http://ez.no/ezpublish"&gt;eZ Publish&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Non vi voglio annoiare spiegandovi &lt;a href="http://en.wikipedia.org/wiki/Functional_Testing"&gt;l&amp;#8217;importanza dei test automatici unitari e funzionali&lt;/a&gt;, ma lavorando con &lt;a href="http://www.symfony-project.org"&gt;symfony&lt;/a&gt; e scoprendone le gioie ormai da più di due anni, la mancanza di questa feature su eZ Publish mi rendeva veramente nervoso.&lt;/p&gt;
&lt;p&gt;Questa settimana ho lavorato con &lt;a href="http://www.sviluppoagile.it"&gt;Jacopo&lt;/a&gt; su una nuova estensione che ora offre la possibilità di eseguire test funzionali con &lt;a href="http://www.phpunit.de/"&gt;phpunit&lt;/a&gt; e &lt;a href="http://www.symfony-project.org/plugins/sfWebBrowserPlugin"&gt;sfWebBrowser&lt;/a&gt; sul famoso cms eZ Publish, dandoci il controllo completo sullo sviluppo.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;implementazione è stata possibile grazie all&amp;#8217;&lt;a href="http://pubsvn.ez.no/nextgen/stable/4.1/tests/"&gt;integrazione di phpunit in eZ Publish&lt;/a&gt;. Si finalmente anche loro hanno capito che devono testare le loro classi per poter far evolvere il CMS e fare refactoring. Però lo script integrato dà solo la possibilità di eseguire test unitari e non test funzionali.&lt;/p&gt;
&lt;p&gt;Per questo motivo abbiamo realizzato una classe phpunit eZBrowserTestCase che è in grado di caricare classi, oggetti e nodi eZ Publish da un file &lt;a href="http://components.symfony-project.org/yaml/"&gt;YAML&lt;/a&gt; su database ed offre metodi proxy verso la classe sfWebBrowser per poter navigare un sito web da console proprio come se fosse un browser. Inoltre implementa metodi per testare la presenza di elementi sul dom attraverso i selettori CSS.&lt;br /&gt;
&lt;span id="more-257"&gt;&lt;/span&gt;&lt;br /&gt;
Per farvi capire meglio di seguito un esempio di test funzionale per eZ Publish:&lt;/p&gt;
&lt;div class="codesnip-container" &gt;
&lt;div class="codesnip"&gt;
&lt;ol&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="kw2"&gt;&amp;lt;?php&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="kw2"&gt;class&lt;/span&gt; NewsTest extends eZBrowserTestCase&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &lt;span class="coMULTI"&gt;/**&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="coMULTI"&gt;&amp;nbsp; &amp;nbsp;* User Story &amp;quot;As user I want to see latest news in home page&amp;quot;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="coMULTI"&gt;&amp;nbsp; &amp;nbsp;* Task &amp;quot;Define news class&amp;quot;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="coMULTI"&gt;&amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &lt;span class="kw2"&gt;function&lt;/span&gt; testClassNews&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &lt;span class="br0"&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;get&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;#8216;http://panel.myproject.it&amp;#8217;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;setField&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;#8216;Login&amp;#8217;&lt;/span&gt;, &lt;span class="st0"&gt;&amp;#8216;admin&amp;#8217;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;setField&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;#8216;Password&amp;#8217;&lt;/span&gt;, &lt;span class="st0"&gt;&amp;#8216;publish&amp;#8217;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;click&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;#8216;Login&amp;#8217;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;click&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;#8216;Impostazioni&amp;#8217;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;click&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;#8216;Classi&amp;#8217;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;click&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;#8216;Notizia&amp;#8217;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;responseContains&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;#8216;news&amp;#8217;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="re0"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span class="me1"&gt;responseContains&lt;/span&gt;&lt;span class="br0"&gt;&amp;#40;&lt;/span&gt;&lt;span class="st0"&gt;&amp;#8216;Notizia&amp;#8217;&lt;/span&gt;&lt;span class="br0"&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&amp;nbsp; &lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="br0"&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class="li1"&gt;
&lt;div class="de1"&gt;&lt;span class="kw2"&gt;?&amp;gt;&lt;/span&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Lanciando il test automatico, viene simulata la navigazione del pannello di controllo di eZ Publish e viene testata la presenza della classe news tra le classi di eZ Publish.&lt;/p&gt;
&lt;p&gt;Il lavoro non è ancora completo, ma i primi risultati sono già molto interessanti.&lt;/p&gt;
&lt;p&gt;E tu sviluppi test funzionali e unitati per le tue applicazioni o siti web?&lt;/p&gt;
</description>
      <pubDate>Sat, 18 Jul 2009 11:37:38 GMT</pubDate>
    </item>
    <item>
      <title>eZ Awards 2009! …and the winner is…</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/eZ-Awards-2009%21-and-the-winner-is</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/eZ-Awards-2009%21-and-the-winner-is</guid>
      <description>&lt;p&gt;&lt;img class="alignnone" src="http://ez.no/var/ezno/storage/images/images/uploaded/awards_winner_publication__1/2506182-1-eng-GB/awards_winner_publication.jpg" /&gt;Fantastico!! Torno da una settimana parigina veramente piena di emozioni.&lt;br /&gt;
Ho partecipato la settimana scorsa alla &lt;a href="http://ez.no/company/ez_conference_awards"&gt;eZ Conference 2009&lt;/a&gt;, conferenza annua della &lt;a href="http://ez.no"&gt;eZ System&lt;/a&gt;. In occasione della conferenza si sono tenuti anche gli &lt;a href="http://ez.no/company/ez_conference_awards/ez_awards"&gt;eZ Awards&lt;/a&gt;, riconoscimenti che vengono datai tutti gli anni a personaggi di spicco della comunità per il lavoro fatto.&lt;/p&gt;
&lt;p&gt;Quest&amp;#8217;anno sono stato nominato per &amp;#8220;la pubblicazione dell&amp;#8217;anno&amp;#8221; con il libro che io e Fullo abbiamo scritto &amp;#8220;&lt;a href="http://www.packtpub.com/ez-publish-4-enterprise-web-sites-step-by-step"&gt;eZ Publish 4: Enterprise web sites step by step&lt;/a&gt;&amp;#8220;.&lt;/p&gt;
&lt;p&gt;Giovedì sera il nostro lavoro ha ricevuto l&amp;#8217;&lt;a href="http://ez.no/company/ez_conference_awards/ez_awards"&gt;eZ Award&lt;/a&gt; come migliore pubblicazione dell&amp;#8217;anno!!! E&amp;#8217; stato veramente emozionante.&lt;/p&gt;
&lt;p&gt;Per questo premio voglio pubblicamente ringraziare &lt;a href="http://ideato.it"&gt;ideato&lt;/a&gt;, &lt;a href="http://www.fullo.net"&gt;Fullo&lt;/a&gt;, &lt;a href="http://www.packtpub.com"&gt;Packt Publishing&lt;/a&gt; ed &lt;a href="http://ez.no"&gt;eZ Systems&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Tue, 30 Jun 2009 11:23:33 GMT</pubDate>
    </item>
    <item>
      <title>Sviluppo Agile - Chi paga il bug-fixing?</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Sviluppo-Agile-Chi-paga-il-bug-fixing</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Sviluppo-Agile-Chi-paga-il-bug-fixing</guid>
      <description>&lt;p&gt;Proprio oggi stavo facendo una riflessione sui metodo agili e sul famoso dilemma della responsabilità del bug-fixing.&lt;/p&gt;
&lt;p&gt;In un processo waterfall la responsabilità del bug fixing è (quasi) sempre a carico del fornitore (azienda che sviluppa software), spesso causando gravi disagi nei tempi di consegna e nel pagamento delle risorse.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In un processo agile, dove l&amp;#8217;azienda fornitrice mette a disposizione un team full-time (o con effort concordato) sul singolo progetto di un cliente, chi paga il bug fixing?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Dal mio punto di vista ritengo che se un team adotta tutte le buone pratiche agili dovrebbe essere in grado di creare software esente da bug.&lt;strong&gt; &lt;/strong&gt;Ovviamente questo non è sempre possibile.&lt;/p&gt;
&lt;p&gt;I punti deboli della catena possono essere:&lt;/p&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;scrittura di un test non completo;&lt;/li&gt;
&lt;li&gt;storie troppo poco granulari;&lt;/li&gt;
&lt;li&gt;poco feedback tra team e cliente;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;Ok, ammettiamo che il bug è stato creato, quindi siamo caduti in uno dei tre punti precedenti. &lt;strong&gt;Tutti e tre i punti indicano che è stato tolto tempo all&amp;#8217;implementazione di una storia&lt;/strong&gt;, poichè:&lt;/p&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;scrivere test completi richiede tempo;&lt;/li&gt;
&lt;li&gt;splittare storie significa più tempo di sviluppo;&lt;/li&gt;
&lt;li&gt;più feedback significa più tempo con il cliente&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;La mia domanda a questo punto è: &lt;strong&gt;&amp;#8220;Che cosa ha fatto il team di questo tempo non utilizzato?&amp;#8221;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Se c&amp;#8217;è un rapporto di &lt;strong&gt;fiducia e trasparenza&lt;/strong&gt; tra cliente e fornitore direi che il team se non ha speso il tempo per le attività viste sopra &lt;strong&gt;lo ha speso per continuare lo sviluppo dell&amp;#8217;iterazione&lt;/strong&gt;, quindi ha sempre venduto valore al cliente.&lt;/p&gt;
&lt;p&gt;Con ciò direi che il bug-fixing rientra nella normale vendita di valore che il team fa nei confronti del cliente e che ogni bug, come ben spiegato in tutti i manuali agili, va trasformato in storia, stimato e pianificato nelle iterazioni successive.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Il team agile vende il maggiore valore al cliente nel minor tempo possibile, il cliente deve pagare tutto il valore che il team crea.&lt;/strong&gt;&lt;/p&gt;
</description>
      <pubDate>Wed, 27 May 2009 17:37:20 GMT</pubDate>
    </item>
    <item>
      <title>WorkingCapital a Catania</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/WorkingCapital-a-Catania</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/WorkingCapital-a-Catania</guid>
      <description>&lt;p&gt;La scorsa settimana ho partecipato, con &lt;a href="http://www.lucasartoni.com/news/workingcampitalcamp-catania-bilancio-e-consigli/"&gt;Luca&lt;/a&gt;, al &lt;a href="http://www.workingcapitalcamp.com/catania"&gt;WorkingCapitalCamp&lt;/a&gt; organizzato da &lt;a href="http://www.elastic.it/"&gt;Elastic&lt;/a&gt; per Telecom a Catania. Il vero e proprio barcamp, se così possiamo definirlo, si è svolto nel primo pomeriggio a seguito di una conferenza plenaria dove i vari rappresentanti delle istituzioni locali e di Telecom hanno spiegato cos&amp;#8217;è WorkingCampital ed ascoltato alcune perplessità  del pubblico. &lt;/p&gt;
&lt;p&gt;La scusa del barcamp era quella di portare alla luce alcuni progetti, più o meno innovativi, e di discuterne con i rappresentanti di Telecom che &lt;em&gt;avrebbero dovuto presidiare&lt;/em&gt; le due aulee dove si svolgevano gli interventi. Peccato che questi ultimi, forse scoraggiati dall&amp;#8217;eccessivo entusiasmo del pubblico, non abbiano partecipato attivamente al barcamp, ma si siano limitati a rilasciare interviste in giardino, lasciando alcuni relatori delusi di questa &lt;em&gt;indifferenza&lt;/em&gt; per il loro lavoro. &lt;/p&gt;
&lt;p&gt;Resta da dire che alcuni interventi sono stati molto interessanti, tant&amp;#8217;è che seguendoli non ho sofferto particolarmente la mancanza del wifi, ed è un piacere vedere come la Sicilia sia attiva nello sviluppo di progetti innovativi.&lt;/p&gt;
&lt;p&gt;Nel seguito le slide del mio intervento.&lt;/p&gt;
&lt;p&gt;&lt;span id="more-2631"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="width:425px;text-align:left" id="__ss_1320762"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/fullo/web-20-with-as400?type=presentation" title="Web 2.0 with AS/400"&gt;Web 2.0 with AS/400&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ideatobolognain-090421072447-phpapp01&amp;#038;rel=0&amp;#038;stripped_title=web-20-with-as400" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ideatobolognain-090421072447-phpapp01&amp;#038;rel=0&amp;#038;stripped_title=web-20-with-as400" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/fullo"&gt;Francesco Fullone&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
</description>
      <pubDate>Tue, 05 May 2009 01:45:35 GMT</pubDate>
    </item>
    <item>
      <title>Ideato, phpTest Fest e phpDay</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Ideato-phpTest-Fest-e-phpDay</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Ideato-phpTest-Fest-e-phpDay</guid>
      <description>&lt;p&gt;&lt;a href="http://qa.php.net/testfest.php"&gt;&lt;img src="http://www.fullo.net/blog/wp-content/uploads/2009/04/testfest_big-276x300.png" alt="testfest_big" title="testfest_big" width="276" height="300" class="alignleft size-medium wp-image-2621 immagine" border="0" /&gt;&lt;/a&gt; Ideato ha ufficialmente annunciato, prima per bocca di &lt;a href="http://www.cphp.it"&gt;Francesco&lt;/a&gt; nella mailing list del &lt;a href="http://www.grusp.it"&gt;GrUSP&lt;/a&gt;, e poi tramite un post del sottoscritto sul sito blog dell&amp;#8217;azienda che &lt;a href="http://www.ideato.it/Blog/In-primo-piano/PHP-TestFest-2009"&gt;parteciperà ufficialmente al phpTestFest&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cos&amp;#8217;è il &lt;a href="http://qa.php.net/testfest.php"&gt;phpTestFest&lt;/a&gt;? E&amp;#8217; essenzialmente una iniziativa che punta a migliorare la qualità del linguaggio introducendo dei test unitari sul funzionamento dello stesso. Questo porterà ad avere una test suite automatica che aiuterà gli sviluppatori durante lo sviluppo delle nuove versioni. Cosa veramente interessante è che per realizzare test non sarà necessario conoscere C, ma basterà avere nozioni di PHP per poter testare il linguaggio con se stesso.&lt;/p&gt;
&lt;p&gt;Inoltre come azienda, nello spirito di comunità che &lt;a href="http://www.fullo.net/blog/archives/2009/03/27/the-italian-php-community-sucks/"&gt;pare mancare altrove&lt;/a&gt;, abbiamo deciso di &lt;a href="http://www.phpday.it/site/phpday-2009/sponsor/"&gt;accollarci parte delle spese del phpDay&lt;/a&gt; (oltre quelle di organizzazione) per venire incontro alla mancanza di sponsor di un certo calibro per l&amp;#8217;evento.&lt;/p&gt;
&lt;p&gt;Il &lt;a href="http://www.phpday.it/site/call-for-sponsor/"&gt;phpDay necessita ad oggi di almeno altri due sponsor&lt;/a&gt; Gold, o di un Platinum, per riuscire a rientrare di tutte le spese ed offrire un rimborso decente ai relatori. Se avete dato un occhio alla &lt;a href="http://www.phpday.it/site/phpday-2009/calendario-conferenze/"&gt;scaletta della conferenza&lt;/a&gt; dovreste riuscire a capire come il &lt;a href="http://www.grusp.it"&gt;GrUSP&lt;/a&gt; ha investito lo scarso budget proveniente dagli sponsor e dai biglietti e come ci piacerebbe nei prossimi anni continuare ad investirlo. Abbiamo però bisogno di un piccolo aiuto, vi chiedo quindi di spargere la voce a riguardo.&lt;/p&gt;
&lt;p&gt;Giusto per curiosità.. vi siete &lt;a href="http://phpday2009.eventbrite.com/?discount=rbcideato"&gt;iscritti al phpDay&lt;/a&gt;?!&lt;/p&gt;
&lt;p&gt;ciuaz&lt;/p&gt;
</description>
      <pubDate>Sun, 12 Apr 2009 23:19:35 GMT</pubDate>
    </item>
    <item>
      <title>Jacopo “Hello World” Baldassarri è nato!</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Jacopo-Hello-World-Baldassarri-e-nato%21</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Jacopo-Hello-World-Baldassarri-e-nato%21</guid>
      <description>&lt;p&gt;E&amp;#8217; stato &lt;em&gt;deployato&lt;/em&gt; oggi da &lt;a href="http://www.danilablog.it/blog/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.danilablog.it/blog/');"&gt;Danila&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Congraturazioni alla alla neo-mamma ed &lt;a href="http://www.keasoft.it/blog/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.keasoft.it/blog/');"&gt;neo-papà&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;ciuaz&lt;/p&gt;
</description>
      <pubDate>Thu, 02 Apr 2009 14:31:54 GMT</pubDate>
    </item>
    <item>
      <title>Cesena XP User Group</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Cesena-XP-User-Group</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Cesena-XP-User-Group</guid>
      <description>&lt;p&gt;E&amp;#8217; un po&amp;#8217; che sento il desiderio di organizzare un XP User Group romagnolo. Per chi non lo conosce, un XP User Group (XPUG) è un gruppo di utenti che si incontrano informalmente in orario extra lavorativo per parlare delle &lt;a href="http://www.manifestoagile.it/"&gt;metodie agili&lt;/a&gt; e delle pratiche &lt;a href="http://www.extremeprogramming.org"&gt;XP&lt;/a&gt;, nonchè per fare human network e bere birra &lt;img src='http://www.cphp.it/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /&gt; !!&lt;/p&gt;
&lt;p&gt;Solitamente gli incontri possono essere sotto forma di:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mini &lt;a href="http://it.wikipedia.org/wiki/Barcamp"&gt;BarCamp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://codingdojo.org/"&gt;Coding Dojo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Workshop&lt;/li&gt;
&lt;li&gt;Talk&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il gruppo è aperto a sviluppatori che non conoscono ma sono interessati a conoscere l&amp;#8217;XP, e a chi già lo conosce ma ha voglia di confrontarsi.&lt;/p&gt;
&lt;p&gt;Vorrei sondare se c&amp;#8217;è interesse nella realizzazione di questo progetto. Dal mio punto di vista, il gruppo può raccogliere sviluppatori di Cesena e zone limitrofi.&lt;/p&gt;
&lt;p&gt;Lasciate un commento se siete interessati a partecipare, così organizziamo il primo incontro dove ci conosceremo e definiremo che cosa fare.&lt;/p&gt;
</description>
      <pubDate>Tue, 31 Mar 2009 21:00:24 GMT</pubDate>
    </item>
    <item>
      <title>PHPCon Italia 2009 - Il resoconto</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/PHPCon-Italia-2009-Il-resoconto</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/PHPCon-Italia-2009-Il-resoconto</guid>
      <description>&lt;p&gt;Sono tornato ormai da una settimana dalla &lt;a href="http://www.phpcon.it/"&gt;PHPCon Italia 2009&lt;/a&gt; tenutasi a Roma il 18, 19 e 20 Marzo a Roma.&lt;/p&gt;
&lt;p&gt;A mente lucida, sono molto soddisfatto dell&amp;#8217;esperienza vissuta. Il workshop che ho tenuto con &lt;a href="http://www.sviluppoagile.it/"&gt;Jacopo&lt;/a&gt; è andato molto bene, i partecipanti sono stati molto attivi e attenti, e per un workshop di sei ore, dove l&amp;#8217;attenzione si perde facilmente, è stato sicuramente un grande successo.&lt;/p&gt;
&lt;p&gt;La conferenza è sempre un gran momento di socializzazione. Ho conosicuto grandi professionisti come Enrico Zimuel, &lt;a href="http://sebastian-bergmann.de/"&gt;Sebastian Bergmann&lt;/a&gt;,  Memi Beltrame, Federico Galassi, Lars Jankowfsky e incontrato la già conosciuta crew di phpisti, come &lt;a href="http://www.sviluppoagile.it/"&gt;Jacopo&lt;/a&gt;, Massimiliano, &lt;a href="http://www.fullo.net"&gt;Fullo&lt;/a&gt;, &lt;a href="http://www.gabrielelana.it/"&gt;Gabriele&lt;/a&gt;, &lt;a href="http://www.simonecarletti.com/blog/"&gt;Simone&lt;/a&gt; e molti altri.&lt;/p&gt;
&lt;p&gt;Dal mio punto di vista, nonostante il numero di partecipazioni all&amp;#8217;evento sia stata sotto le aspettative dell&amp;#8217;organizzazione, credo che questa conferenza abbia delineato un profilo del mondo php in italia:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;C&amp;#8217;è interesse verso il mondo Open Source Enterprise;&lt;/li&gt;
&lt;li&gt;Il mondo php è ormai pronto per essere usato anche dalle grandi aziende;&lt;/li&gt;
&lt;li&gt;I professionisti ci sono&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ora non ci resta che metterci a lavoro per creare una comunità professionale più presente nel territorio, supportando le attività del &lt;a href="http://www.grusp.it"&gt;Grusp&lt;/a&gt; e cercando di creare momenti d&amp;#8217;incontro (anche virtuale) più frequenti.&lt;/p&gt;
&lt;p&gt;Ci si vede al &lt;a href="http://www.phpday.it"&gt;phpDay 2009&lt;/a&gt;!!&lt;/p&gt;
</description>
      <pubDate>Mon, 30 Mar 2009 08:47:22 GMT</pubDate>
    </item>
    <item>
      <title>ERP / Accounting software open source web per la gestione d’azienda</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/ERP-Accounting-software-open-source-web-per-la-gestione-d-azienda</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/ERP-Accounting-software-open-source-web-per-la-gestione-d-azienda</guid>
      <description>&lt;p&gt;Ultimamente mi sto interessando di nuovo alle tematiche legate ai software gestionali in particolare a quelli legati all&amp;#8217;ERP e all&amp;#8217;accounting, utilizzabili ovviamente via web e magari integrati con iphone.&lt;/p&gt;
&lt;p&gt;In giro per la rete ci sono ottimi esempio di servizi per la gestione d&amp;#8217;azienda dati in modalità SaaS, come:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.google.it/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fwww.basecamphq.com%2F&amp;amp;ei=rk-sSbWKIYuW1QWmlqy8Ag&amp;amp;usg=AFQjCNF8ZKWzMnHBHv-YsTi3BF-1bsnHBw&amp;amp;sig2=j6ma7aJsRezI0QR70lQ3CA"&gt;BaseCamp&lt;/a&gt; e &lt;a href="http://www.google.it/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fwww.highrisehq.com%2F&amp;amp;ei=xk-sScmuOtKT_gb_tLz3Dw&amp;amp;usg=AFQjCNHmLIK5umOiu1TewSbd4WL-l-7a3w&amp;amp;sig2=F1jwCQb8ZZL-cs1xMAEe8Q"&gt;Highrise&lt;/a&gt; della &lt;a href="http://www.google.it/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fwww.37signals.com%2F&amp;amp;ei=20-sScKUD6SW1QW09fXYAg&amp;amp;usg=AFQjCNGDHJrBmT3ocS4d9sk2-sqNHSeB-w&amp;amp;sig2=MdPi-iFE3aRNM5pFQZwtIg"&gt;37 signals&lt;/a&gt; per la gestione dei progetti e il CRM;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.google.it/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Flessaccounting.com%2F&amp;amp;ei=-k-sSei5I5WM1QWFtuC-Ag&amp;amp;usg=AFQjCNGr8IoTn9GAWfd9U0ZJS3pnkXG_pg&amp;amp;sig2=Hi0JCFiOoEM-c77mpVRZWw"&gt;Lessaccounting&lt;/a&gt; di &lt;a href="http://www.google.it/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Flesseverything.com%2F&amp;amp;ei=F1CsSaSOB6eY1QWH1sG1Ag&amp;amp;usg=AFQjCNFkEfJ_TsIWAh2vjPTH89g4WhNEPQ&amp;amp;sig2=nBdRtJh_P1aWZZukDXqmmA"&gt;lesseverything.com&lt;/a&gt;, &lt;a href="http://www.google.it/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fwww.freshbooks.com%2F&amp;amp;ei=KlCsSY24CI6k0QXv6ZGwAg&amp;amp;usg=AFQjCNGtPbbFgpwXKoGtB47x1Jof4HkVAA&amp;amp;sig2=pkG4J0YvX7aBtdXEnDKOIQ"&gt;FreshBooks&lt;/a&gt; per la parte di accounting aziendale (documenti di acquisto, documenti di vendita, statistiche, invio del documenti via mail, ecc.);&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.google.it/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=1&amp;amp;url=http%3A%2F%2Fwww.rememberthemilk.com%2F&amp;amp;ei=b1CsSdjUHsOg_gbf_7XsDw&amp;amp;usg=AFQjCNHKYSMADgpSSt-YNelXa5xp03qvuw&amp;amp;sig2=-veqjtAsLRTES6z7XH85DA"&gt;Rememberthemilk&lt;/a&gt; per la lista delle cose da fare;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;e molti altri servizi web 2.0.&lt;/p&gt;
&lt;p&gt;Però la domanda nasce spuntanea: &lt;em&gt;&amp;#8220;Tu imprenditore lasceresti i tuoi dati così importanti su server di aziende estere che offrono servizi &amp;#8216;as is&amp;#8217; ?&amp;#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Io sinceramente da questo punto di vista sono piuttosto geloso e cercando un po&amp;#8217; nella rete non ho ancora trovato un software Open Source con un pizzico di web 2.0 che installato sulla mia infrastruttura possa soddisfare le esigenze di:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gestione contatti&lt;/li&gt;
&lt;li&gt;Gestione documenti fiscali&lt;/li&gt;
&lt;li&gt;Cash Flow&lt;/li&gt;
&lt;li&gt;Statistiche&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Secondo me nella community Open Source non c&amp;#8217;è una grande attenzione verso i software gestionali ormai in mano alle grandi aziende, ma il monopolio c&amp;#8217;è per una difficoltà effettiva del dominio applicativo o perchè non c&amp;#8217;è un effettivo interesse?&lt;/p&gt;
&lt;p&gt;Voi avete trovato qualcosa di interessante in giro per la rete?&lt;/p&gt;
</description>
      <pubDate>Mon, 02 Mar 2009 21:35:15 GMT</pubDate>
    </item>
    <item>
      <title>É arrivato lo Zend Server</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/E-arrivato-lo-Zend-Server</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/E-arrivato-lo-Zend-Server</guid>
      <description>&lt;p&gt;&lt;a href="http://www.zend.com/it/products/server/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zend.com/it/products/server/');"&gt;&lt;img src="http://www.fullo.net/blog/wp-content/uploads/2009/02/zend-server-beta-rel-lp-main-it-300x110.jpg" alt="arriva lo zend server" title="arriva lo zend server" width="300" height="110" class="alignnone size-medium wp-image-2582 immagine" align="left" /&gt;&lt;/a&gt; Zend ha rilasciato oggi la &lt;a href="http://www.zend.com/en/products/server/downloads" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zend.com/en/products/server/downloads');"&gt;prima versione beta&lt;/a&gt; dello &lt;a href="http://www.zend.com/it/products/server" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zend.com/it/products/server');"&gt;Zend Server&lt;/a&gt;, metapacchetto che racchiude al suo interno gli ormai famosi Zend Core ed alcuni degli strumenti di analisi presenti nello &lt;a href="http://www.zend.com/en/products/platform/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zend.com/en/products/platform/');"&gt;Platform&lt;/a&gt; affiancati ad un installer semplice da usare e multipiattaforma. &lt;/p&gt;
&lt;p&gt;Il software è un vero e proprio server web, basato su Apache 2.2 o su IIS (per le macchine Windows) con l&amp;#8217;aggiunta di strumenti di analisi, caching e monitoraggio di tutto quello che succede.&lt;/p&gt;
&lt;p&gt;Inoltre è stata creata una &lt;a href="http://www.zend.com/it/products/server/editions" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.zend.com/it/products/server/editions');"&gt;versione gratuita dedicata&lt;/a&gt; agli sviluppatori deficitaria dei pacchetti di diagnosi avanzata e caching ma più che sufficiente per testare sul proprio server di sviluppo le potenzialità del prodotto. &lt;/p&gt;
&lt;p&gt;Cosa molto interessante è che è stata resa disponibile una &lt;a href="http://files.zend.com/help/Zend-Server/zend-server.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://files.zend.com/help/Zend-Server/zend-server.htm');"&gt;documentazione online completa&lt;/a&gt; sul prodotto che permette di sviscerarne da subito le funzionalità senza doverlo installare.&lt;/p&gt;
&lt;p&gt;more to come&amp;#8230;.&lt;/p&gt;
&lt;p&gt;ciauz&lt;/p&gt;
</description>
      <pubDate>Thu, 19 Feb 2009 15:02:09 GMT</pubDate>
    </item>
    <item>
      <title>Conferenza italiana su PHP: PHPCon Italia 2009</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Conferenza-italiana-su-PHP-PHPCon-Italia-2009</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Conferenza-italiana-su-PHP-PHPCon-Italia-2009</guid>
      <description>&lt;p&gt;&lt;a href="http://www.cphp.it/wp-content/uploads/2009/02/phpcon-a-roma-tra-il-18-ed-il-20-marzo.gif"&gt;&lt;img class="alignnone size-medium wp-image-238" title="phpcon-a-roma-tra-il-18-ed-il-20-marzo" src="http://www.cphp.it/wp-content/uploads/2009/02/phpcon-a-roma-tra-il-18-ed-il-20-marzo.gif" alt="" width="150" height="100" /&gt;&lt;/a&gt;La &lt;a href="http://www.phpcon.it/"&gt;PHPCon&lt;/a&gt; si avvicina, ed è stata pubblicata &lt;a href="http://entwickler.com/konferenzen/planer/phpconitalia09_agenda.html"&gt;l&amp;#8217;agenda ufficiale&lt;/a&gt;. Quest&amp;#8217;anno parteciperò all&amp;#8217;evento come speaker e terrò con Jacopo Romei il workshop &lt;a href="javascript:NF('http://entwickler.com/konferenzen/planer/show_details.php?konferenzid=94&amp;amp;sessionid=9482')"&gt;Extreme programming and PHP&lt;/a&gt; il mercoledì dalle ore 9.30 alle ore 17.&lt;/p&gt;
&lt;p&gt;Nella scia del workshop fatto l&amp;#8217;hanno scorso al PhpDay, parleremo di &lt;a href="http://www.manifestoagile.it/"&gt;Valori&lt;/a&gt;, &lt;a href="http://www.extremeprogramming.org"&gt;Extreme Programming&lt;/a&gt;, Metodologie Agili, Planning, Test automatici e il tutto attraverso un&amp;#8217;esperienza pratica ed interattiva, attraverso la quale vi illustreremo come è possibile creare prodotti enterprise con php senza sbagliare l&amp;#8217;obiettivo e consegnando sempre in tempo.&lt;/p&gt;
&lt;p&gt;Spero che verrete numerosi a questa conferenza, che dà all&amp;#8217;Italia uno spiraglio di luce enterprise e professionale in uno stato non proprio all&amp;#8217;avanguardia nel mondo IT e del software Open Source.&lt;/p&gt;
&lt;p&gt;Ormai il PHP è un linguaggio Enterprise e in grado di soddisfare le esigenze anche di medie e grandi aziende, abbattendo però costi di licenze e il problema del codice prioprietario.&lt;/p&gt;
&lt;p&gt;Alla conferenza potrete incontrare professionisti nazionali ed internazionali sul mondo del PHP, e sarà un&amp;#8217;occasione per professionisti ed Aziende di conoscere un mondo nuovo e affascinante, che può aprire nuovi business oggi magari sconosciuti.&lt;/p&gt;
</description>
      <pubDate>Fri, 06 Feb 2009 10:45:28 GMT</pubDate>
    </item>
    <item>
      <title>Rilasciata eZ Publish 4.0.2</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Rilasciata-eZ-Publish-4.0.2</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Rilasciata-eZ-Publish-4.0.2</guid>
      <description>&lt;p&gt;E&amp;#8217; stata rilasciata la &lt;a href="http://ez.no/developer/news/ez_publish_4_0_2_released"&gt;versione 4.0.2&lt;/a&gt; di eZ Publish.&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="attribute-short"&gt;
&lt;p&gt;We are happy to announce the release of eZ Publish 4.0.2. This release contains about 150 new bug fixes and enhancements since the previous maintenance release.&lt;/p&gt;
&lt;p&gt;eZ Publish 4.0.2 resolves also three security issues of medium severity. Please see the          &lt;a href="http://ez.no/developer/security/security_advisories/ez_publish_4_0"&gt;security advisories&lt;/a&gt; for more information.&lt;/p&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
</description>
      <pubDate>Fri, 06 Feb 2009 10:30:33 GMT</pubDate>
    </item>
    <item>
      <title>Twit Or Not, ovvero scrivere applicazioni durante un barcamp</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Twit-Or-Not-ovvero-scrivere-applicazioni-durante-un-barcamp</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Twit-Or-Not-ovvero-scrivere-applicazioni-durante-un-barcamp</guid>
      <description>&lt;p&gt;Sabato scorso ho partecipato all&amp;#8217;&lt;a href="http://barcamp.org/AgileCamp2009" onclick="javascript:urchinTracker ('/outbound/article/barcamp.org');"&gt;AgileCamp&lt;/a&gt; organizzato dai ragazzi di &lt;a href="http://www.sketchin.ch" onclick="javascript:urchinTracker ('/outbound/article/www.sketchin.ch');"&gt;Sketchin&lt;/a&gt;. L&amp;#8217;evento è stato molto piacevole e mi ha permesso, oltre che a sentire talk molto interessanti, di rivedere un po&amp;#8217; di quei contatti con cui si dice sempre &amp;#8220;&lt;em&gt;un giorno faremo qualcosa insieme&lt;/em&gt;&amp;#8220;.&lt;/p&gt;
&lt;p&gt;Con &lt;a href="http://garakkio.altervista.org/" onclick="javascript:urchinTracker ('/outbound/article/garakkio.altervista.org');"&gt;Massimiliano&lt;/a&gt; c&amp;#8217;è già qualcosa in ballo (e che presto vedrete online) ma li per li è venuta l&amp;#8217;idea di non sprecare l&amp;#8217;occasione &amp;#8220;agile&amp;#8221; per fare un po&amp;#8217; di &lt;a href="http://en.wikipedia.org/wiki/Pair_programming" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');"&gt;pair programming&lt;/a&gt; e tirar fuori un&amp;#8217;applicazioncina stupida in meno di un&amp;#8217;oretta a cui pensavo da qualche settimana.&lt;/p&gt;
&lt;p&gt;Ovvero &lt;a href="http://www.twitornot.com" onclick="javascript:urchinTracker ('/outbound/article/www.twitornot.com');"&gt;Twit Or Not&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;span id="more-2568"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Questa applicazione, scritta in &lt;a href="http://www.symfony.it" onclick="javascript:urchinTracker ('/outbound/article/www.symfony.it');"&gt;Symfony&lt;/a&gt;, non fa altro che mimare i classici &amp;#8220;&lt;em&gt;hot or not&lt;/em&gt;&amp;#8221; per valutare &amp;#8220;&lt;em&gt;l&amp;#8217;indice di noiosità&lt;/em&gt;&amp;#8221; di alcuni utenti di &lt;a href="http://twitter.com" onclick="javascript:urchinTracker ('/outbound/article/twitter.com');"&gt;Twitter&lt;/a&gt; e relativi twit. In tutta onestà non avrei scommesso un soldo bucato ad un possibile utilizzo (non parlo neanche di successo) della stessa, la realtà è che in meno di 3 giorni l&amp;#8217;applicazione ha macinato quasi mille &lt;em&gt;utenti noiosi&lt;/em&gt; ed un discreto numero di voti e che mi ha portato ad aggiungere qualche nuova feature, indispensabile, come la visualizzazione degli avatar.&lt;/p&gt;
&lt;p&gt;La cosa interessante è che ora, galvanizzato ed in piena fase creativa, sto già pensando a dare discreto ritocco all&amp;#8217;interfaccia in un&amp;#8217;ottica più 2.0 (ammettiamolo, sembra quasi che abbia tirato fuori il layout da un frontpage 2000) ed a come risolvere alcuni dei problemi più gravi riscontrati.&lt;/p&gt;
&lt;p&gt;Per ora il problema principale è la &lt;a href="http://mashable.com/2009/01/21/twitter-api-gets-limited" onclick="javascript:urchinTracker ('/outbound/article/mashable.com');"&gt;limitazione degli accessi alle API di Twitter&lt;/a&gt; da un unico server, non ho ancora raggiunto tali volumi ma vorrei evitare di trovarmi il sito bloccato per problemi esterni. Inoltre ho riscontrato in più occasioni una inconsistenza delle API stesse dovendo implementare rudimentali sistemi di degradazione del codice (non avevo tanta voglia di impazzirci sopra).&lt;/p&gt;
&lt;p&gt;Insomma mi si è aperto un piccolo mondo di possibilità per divertirmi, come non facevo da tempo, per risolvere problemi autoindotti e per migliorare le attuali soluzioni già implementate (come la classe per Symfony per &lt;a href="http://www.symfony-project.org/plugins/idTwitterClientPlugin" onclick="javascript:urchinTracker ('/outbound/article/www.symfony-project.org');"&gt;accedere alle API di Twitter&lt;/a&gt; che sarà probabilmente interamente rifattorizzata per supportare caching delle chiamate ). &lt;/p&gt;
&lt;p&gt;Ah già.. se vi chiedete se gli adsense sul &lt;a href="http://www.twitornot.com" onclick="javascript:urchinTracker ('/outbound/article/www.twitornot.com');"&gt;sito&lt;/a&gt; fruttino&amp;#8230; beh&amp;#8230; finora hanno totalizzato 10.000 visite ed un incasso di 0,01 cent&amp;#8230; direi di no! :)&lt;/p&gt;
&lt;p&gt;Ah, già&amp;#8230; ringrazio tutti i miei fans che mi stanno votando come l&amp;#8217;utente più noioso di Twitter! :D&lt;/p&gt;
&lt;p&gt;ciauz&lt;/p&gt;
</description>
      <pubDate>Thu, 22 Jan 2009 21:36:10 GMT</pubDate>
    </item>
    <item>
      <title>Una guida completa ai Design Pattern, agli AntiPattern e al Refactoring</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Una-guida-completa-ai-Design-Pattern-agli-AntiPattern-e-al-Refactoring</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Una-guida-completa-ai-Design-Pattern-agli-AntiPattern-e-al-Refactoring</guid>
      <description>&lt;p&gt;Leggendo per la mia prima volta il blog di &lt;a href="http://minnenratta.wordpress.com/"&gt;Carlo&lt;/a&gt;, ho scoperto un sacco di interessanti post sulle buone pratiche di sviluppo e le sue esperienze personali con il mondo Java.&lt;/p&gt;
&lt;p&gt;Leggendo tra i suoi post ho trovato un link al sito &lt;a href="http://sourcemaking.com"&gt;sourcemaking.com&lt;/a&gt; che non conoscevo. Il sito presenta una guifa completa ai &lt;a href="http://sourcemaking.com/design_patterns"&gt;Design Pattern&lt;/a&gt;, agli &lt;a href="http://sourcemaking.com/antipatterns"&gt;AntiPattern&lt;/a&gt; e al &lt;a href="http://sourcemaking.com/refactoring"&gt;Refactoring&lt;/a&gt;, insomma un punto di riferimento da avere sempre sotto mano.&lt;/p&gt;
</description>
      <pubDate>Thu, 15 Jan 2009 18:31:30 GMT</pubDate>
    </item>
    <item>
      <title>Metodologie agili in azienda e Agile Camp 2009</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Metodologie-agili-in-azienda-e-Agile-Camp-2009</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Metodologie-agili-in-azienda-e-Agile-Camp-2009</guid>
      <description>&lt;p&gt;Con grande felicità, sono stato invitato a partecipare sabato prossimo all&amp;#8217;&lt;a href="http://barcamp.org/AgileCamp2009"&gt;Agile Camp 2009&lt;/a&gt;: il primo barcamp italiano dedicato alla progettazione e allo sviluppo Agile.&lt;/p&gt;
&lt;p&gt;Dal momento che con &lt;a href="http://www.ideato.it"&gt;ideato&lt;/a&gt; cerchiamo di adottare metodi agili nel nostro progetto produttivo di sviluppo di applicazioni per il web, la conferenza mi interessa molto.&lt;/p&gt;
&lt;p&gt;Spero che ci siano momenti di confronto e di condivisione delle esperienze personali.&lt;/p&gt;
&lt;p&gt;Il mondo dei metodi agili in Italia è un mondo relativamente giovane e ancora da sperimentare sotto molti punti di vista, ma il fatto che se ne inizi a parlare sempre di più e che aziende come &lt;a href="http://www.sketchin.ch"&gt;sketchin&lt;/a&gt; organizzino questi eventi, fa comprendere che c&amp;#8217;è interesse e movimento ed è questa la cosa fondamentale.&lt;/p&gt;
&lt;p&gt;In ideato stiamo adottando l&amp;#8217;&lt;a href="http://www.extremeprogramming.org"&gt;XP&lt;/a&gt; (&lt;a href="http://www.extremeprogramming.org"&gt;Extreme Programming&lt;/a&gt;) come metodo fin dalla nostra apertura, e sinceramente stiamo già dopo poco mesi traendo tutti i benefici che i metodi agili portano, come:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;coraggio e fiducia nel team;&lt;/li&gt;
&lt;li&gt;fiducia tra cliente e team;&lt;/li&gt;
&lt;li&gt;consegna del software in tempo;&lt;/li&gt;
&lt;li&gt;massimizzazione dei guadagni e minimizzazione dei costi per il cliente e per l&amp;#8217;azienda stessa;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ma, haimè non è tutto oro quello che luccica, infatti i metodi agili si adattano bene in situazioni nelle quali hai a disposizione, oltre che alle pratiche, anche gli strumenti per mettere in pratica tutte le metodologie.&lt;/p&gt;
&lt;p&gt;Nella nostra linea di sviluppo di applicazioni per il web basate su framework di nuova generazione che rispettano tutte le regole dell&amp;#8217;agile, come &lt;a href="http://www.symfony-project.org"&gt;symfony&lt;/a&gt; e &lt;a href="http://framework.zend.com"&gt;Zend Framework&lt;/a&gt;, il risultato è veramente ottimale.&lt;/p&gt;
&lt;p&gt;Nella linea produttiva, invece di personalizzazione di software Open Source, ed in particola software CMS come &lt;a href="http://www.wordpress.org"&gt;WordPress&lt;/a&gt;, &lt;a href="http://www.ez.no"&gt;eZ Publish&lt;/a&gt; o &lt;a href="http://www.drupal.org"&gt;Drupal&lt;/a&gt;, le cose un po&amp;#8217; si complicano, poichè ad esempio i software:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;sono difficilmenti testabili, sia a livello funzionale che unitario;&lt;/li&gt;
&lt;li&gt;sono difficilmente mantenibili una volta estesi poichè non realizzati su pattern conosciuti e su framework solidi;&lt;/li&gt;
&lt;li&gt;non si prestano ad essere estesi su sistemi di versioning, poichè il codice non è sempre ben separato;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Per un&amp;#8217;azienda come la mia, customizzare software Open Source occupa una buona fetta dei ricavi, ma se non si riescono ad applicare le buone pratiche agili, alla fine più che un guadagno diventa un costo.&lt;/p&gt;
&lt;p&gt;E tu, riesci ad applicare le metodologie agili nella customizzazione di software Open Source un po&amp;#8217; datato?&lt;/p&gt;
</description>
      <pubDate>Wed, 14 Jan 2009 18:39:29 GMT</pubDate>
    </item>
    <item>
      <title>2008 Highlights</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/2008-Highlights</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/2008-Highlights</guid>
      <description>&lt;p&gt;Per il primo anno, scrivo un post che riassume tutti gli avvenimenti che mi hanno coinvolto nel 2008.&lt;/p&gt;
&lt;p&gt;Ecco un breve riassunto di questo anno:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ad Aprile, ho aperto, insiema ai miei soci &lt;a href="http://www.falluccox.net"&gt;Antonio&lt;/a&gt; e &lt;a href="http://www.fullo.net"&gt;Fullo&lt;/a&gt;, &lt;a href="http://www.ideato.it"&gt;Ideato&lt;/a&gt;. Grazie a tutti quelli che ci hanno aiutato in questo bel progetto!&lt;/li&gt;
&lt;li&gt;Sempre ad Aprile sono stato eletto &lt;a href="http://en.wikipedia.org/wiki/Chief_technology_officer"&gt;CTO&lt;/a&gt; dell&amp;#8217;azienda &lt;img src='http://www.cphp.it/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /&gt; !!&lt;/li&gt;
&lt;li&gt;A maggio ho parlato al &lt;a href="http://www.phpday.it/site/phpday-2008/"&gt;PhpDay&lt;/a&gt; per la seconda volta, facendo con &lt;a href="http://www.sviluppoagile.it"&gt;Jacopo&lt;/a&gt; un talk sui &lt;a href="http://www.phpday.it/site/phpday-2008/calendario-conferenze/workshop/1430-1730-sviluppo-agile-ed-extreme-programming/"&gt;metodi agili di sviluppo&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A giugno ho partecipato con ideato al &lt;a href="http://www.techgarage.eu/"&gt;TechGarage&lt;/a&gt; come partner teconologico di 2 start-up (&lt;a href="http://www.bookerang.it"&gt;Bookerang&lt;/a&gt; e &lt;a href="http://www.tripshake.com"&gt;Tripshake&lt;/a&gt;);&lt;/li&gt;
&lt;li&gt;A settembre ho partecipato al &lt;a href="http://www.symfonycamp.com/"&gt;Symfony Camp&lt;/a&gt; per la prima volta, incontrando un sacco di gente interessante che gravita intorno al framework &lt;a href="http://www.symfony-project.org"&gt;symfony&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Ad ottobre ho partecipato a &lt;a href="http://www.smau.it/"&gt;Smau 2008&lt;/a&gt; come partner tecnologico di una start-up.&lt;/li&gt;
&lt;li&gt;A novembre ho iniziato a scrivere il mio primo libro. Parlerà di eZ Publish&amp;#8230;. non posso dirvi di più!!&lt;/li&gt;
&lt;li&gt;A dicembre ho chiuso la partita iva della mia attività individuale. Ora si lavora solo per &lt;a href="http://www.ideato.it"&gt;ideato&lt;/a&gt;!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Che dire, un anno intenso, ma molto entusiasmante!! E il 2009 si prospetta altrattanto interessante.&lt;/p&gt;
</description>
      <pubDate>Tue, 13 Jan 2009 11:57:25 GMT</pubDate>
    </item>
    <item>
      <title>I miei Social Network</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/I-miei-Social-Network</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/I-miei-Social-Network</guid>
      <description>&lt;p&gt;Ultimamente più che mai, mi accorgo di iniziare ad usare sempre di più le piattaforme di Social Networking. Le uso per vari motivi, tra cui, farmi conoscere lavorativamente, dare visibilità alle cose che faccio, ritrovare vecchi amici, condividere bei momenti con tutti.&lt;/p&gt;
&lt;p&gt;I social software che ultimamente uso sono:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Flickr:&lt;/strong&gt; &lt;a href="http://www.flickr.com/photos/cphp"&gt;http://www.flickr.com/photos/cphp&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Dopplr&lt;/strong&gt;: &lt;a href="http://www.dopplr.com/traveller/cphp"&gt;http://www.dopplr.com/traveller/cphp&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Delicious&lt;/strong&gt;: &lt;a href="http://delicious.com/cphp"&gt;http://delicious.com/cphp&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;LinekdIn&lt;/strong&gt;: &lt;a href="http://www.linkedin.com/in/trucchia"&gt;http://www.linkedin.com/in/trucchia&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Xing&lt;/strong&gt;: &lt;a href="https://www.xing.com/profile/Francesco_Trucchia"&gt;https://www.xing.com/profile/Francesco_Trucchia&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;FaceBook&lt;/strong&gt;: &lt;a href="http://www.facebook.com/people/Francesco-Trucchia/1038222188"&gt;http://www.facebook.com/people/Francesco-Trucchia/1038222188&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;TripShake&lt;/strong&gt;: &lt;a href="http://www.tripshake.com/account/show/username/cphp"&gt;http://www.tripshake.com/account/show/username/cphp&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Bookerang&lt;/strong&gt;: &lt;a href="http://www.bookerang.it/people/ciccio"&gt;http://www.bookerang.it&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Con grande onore posso anche dire che un paio di questi social software sono stati sviluppati dalla mia &lt;a title="ideato srl" href="http://www.ideato.it" target="_blank"&gt;azienda&lt;/a&gt; (Tripshake e Bookerang).&lt;/p&gt;
</description>
      <pubDate>Sat, 10 Jan 2009 14:12:43 GMT</pubDate>
    </item>
    <item>
      <title>SymfonyCamp sto arrivando!</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/SymfonyCamp-sto-arrivando%21</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/SymfonyCamp-sto-arrivando%21</guid>
      <description>&lt;p&gt;&lt;a href="http://www.symfonycamp.com/" onclick="javascript:urchinTracker ('/outbound/article/www.symfonycamp.com');"&gt;&lt;img src="http://www.fullo.net/blog/wp-content/uploads/2008/09/symfonycamp_logo.png" alt="symfony camp" title="symfonycamp_logo" width="450" height="66" class="size-full wp-image-2479" /&gt;&lt;/a&gt;&lt;br /&gt;
Il 2008 si può annoverare come uno dei più geek mai passati, ho potuto partecipare a molti eventi per webduepuntoisti, smanettoni e nerd e parteciperò ad altrettanti nei prossimi 3 mesi.&lt;/p&gt;
&lt;p&gt;Questo weekend, &lt;em&gt;snobbando&lt;/em&gt; la &lt;a href="http://www.blogfest.it/" onclick="javascript:urchinTracker ('/outbound/article/www.blogfest.it');"&gt;blogsfera italiana&lt;/a&gt; (anche se la cosa mi dispiace un bel po&amp;#8217;, ma ormai sono avvezzo ad &lt;a href="http://www.fullo.net/blog/search/onnipresenza" &gt;eventi tutti nello stesso giorno&lt;/a&gt;), andrò al &lt;a href="http://www.symfonycamp.com/" onclick="javascript:urchinTracker ('/outbound/article/www.symfonycamp.com');"&gt;SymfonyCamp&lt;/a&gt; in Olanda. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.symfony.it" onclick="javascript:urchinTracker ('/outbound/article/www.symfony.it');"&gt;Symfony&lt;/a&gt; è ormai uno dei framework da me più usati per lavoro grazie alla sua versatilità e predisposizione a progetti non banali. Conoscere tutti i principali sviluppatori,  magari per iniziarne a far parte, non potrà che far bene a me ed ai ragazzi di &lt;a href="http://www.ideato.it" onclick="javascript:urchinTracker ('/outbound/article/www.ideato.it');"&gt;Ideato&lt;/a&gt;. ;)&lt;/p&gt;
&lt;p&gt;ciuaz&lt;/p&gt;
</description>
      <pubDate>Thu, 11 Sep 2008 07:30:41 GMT</pubDate>
    </item>
    <item>
      <title>La dura legge del mercato.</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/La-dura-legge-del-mercato</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/La-dura-legge-del-mercato</guid>
      <description>&lt;p&gt;Dopo 3/4 preventivi (persi o illegibili a causa del misconosciuto formato PDF), innumerevoli discussioni telefoniche con soggetti differenti da idee diametralmente opposte ed offerte dell&amp;#8217;ultimo minuto per venire incontro alle richieste di questo o quel personaggio che hanno trasformato un sito vetrina in una sofisticata extranet con possibilità di vendere prodotti, arriva una telefonata di venerdì pomeriggio (19.30) mentre mi appresto con &lt;a href="http://www.stradaioli.com" onclick="javascript:urchinTracker ('/outbound/article/www.stradaioli.com');"&gt;Strada&lt;/a&gt; ad andare alla &lt;a href="http://www.fullo.net/blog/archives/2008/07/17/blogdinner-romagna-summer-season/" &gt;blogDinner&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Anonimo cliente:&lt;/strong&gt; salve, sono il presidente.&lt;br /&gt;
&lt;strong&gt;Fullo:&lt;/strong&gt; ehm&amp;#8230; salve&amp;#8230; (&lt;em&gt;chiunque tu sia&lt;/em&gt;)&lt;br /&gt;
&lt;strong&gt;A:&lt;/strong&gt; Sa, il preventivo del sito non ci va bene, l&amp;#8217;ha aumentato troppo!&lt;br /&gt;
&lt;strong&gt;F:&lt;/strong&gt; (&lt;em&gt;capendo in corner chi fosse il tipo&lt;/em&gt;) aumentato rispetto a cosa? rispecchia esattamente il primo preventivo inviato. Aggiungendo solo il costo della grafica, che all&amp;#8217;inizio volevate far fare in casa.&lt;br /&gt;
&lt;strong&gt;A:&lt;/strong&gt; perchè io ho un preventivo da 1750 euro.&lt;br /&gt;
&lt;strong&gt;F:&lt;/strong&gt; non ho mandato nessun preventivo per una cifra del genere. Ma è sicuro che è mio? A chi è intestato.&lt;br /&gt;
&lt;strong&gt;A:&lt;/strong&gt; è suo si! c&amp;#8217;è scritto &amp;#8220;XXXXXX&amp;#8221;! E dice 1750 euro! (&lt;em&gt;eppure mi ha chiamato per nome&amp;#8230;dovrebbe sapere come mi chiamo&amp;#8230;mah&lt;/em&gt;)&lt;br /&gt;
&lt;strong&gt;F:&lt;/strong&gt; mi scusi, ma tutti i preventivi dell&amp;#8217;azienda sono fatti su carta intestata, questo come l&amp;#8217;ha ricevuto?&lt;br /&gt;
&lt;strong&gt;A:&lt;/strong&gt; boh, non so.. via fax forse. (&lt;em&gt;che come tutti sanno cancella le intestazioni dei preventivi&lt;/em&gt;)&lt;br /&gt;
&lt;strong&gt;F:&lt;/strong&gt; ed è su carta intestata di &lt;a href="http://www.ideato.it" onclick="javascript:urchinTracker ('/outbound/article/www.ideato.it');"&gt;ideato&lt;/a&gt;?&lt;br /&gt;
&lt;strong&gt;A:&lt;/strong&gt; ma non saprei.. ma è di &amp;#8220;XXXXXX&amp;#8221;!&lt;br /&gt;
&lt;strong&gt;F:&lt;/strong&gt; ok, ma lui non è un nostro dipendente e collabora con noi saltuariamente come commerciale, al massimo vi avrà fatto una valutazione di massima prima delle vostre ultime specifiche. Che data porta il documento? (&lt;em&gt;che ormai so molto, ma molto, antecedente al nostro ultimo preventivo&lt;/em&gt;)&lt;br /&gt;
&lt;strong&gt;A:&lt;/strong&gt; non so il fax non si legge bene.&lt;br /&gt;
&lt;strong&gt;F:&lt;/strong&gt; &amp;#8230;. In sostanza, per essere chiari, a YYYYYYY (a 350Km dalla sede dell&amp;#8217;ufficio e raggiungibile solo via auto) ci devo venire lunedì mattina alle 9.00 (&lt;em&gt;ma si potrà dare un appuntamento di lunedì alle 9.00?&lt;/em&gt;)? Come azienda non ci muoviamo per progetti sono i XXXX euro. Inoltre come le ho comunicato le farò avere una fattura di rimborso spese di trasferta (&lt;em&gt;che tanto ho capito che il lavoro non ce lo volete far fare ed a YYYYYYY non ci voglio venire&amp;#8230;&lt;/em&gt;).&lt;br /&gt;
&lt;strong&gt;A:&lt;/strong&gt; eh, no.. non saprei.. non possiamo spendere più di quella cifra&amp;#8230;.pensavamo al massimo 1500 euro&amp;#8230; ma non è che conosce qualcun altro&amp;#8230; che ci costi di meno?&lt;br /&gt;
&lt;strong&gt;F:&lt;/strong&gt; vedo di farle avere alcuni nomi.. buon weekend.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;sigh&amp;#8230; tutto questo per riprende l&amp;#8217;&lt;a href="http://www.fullo.net/blog/archives/2008/07/12/di-techtalk-web20-ed-altro/" &gt;ultimo discorso fatto&lt;/a&gt; sulla &lt;em&gt;nuova imprenditoria&lt;/em&gt;&amp;#8230;&lt;/p&gt;
&lt;p&gt;ciuaz&lt;/p&gt;
</description>
      <pubDate>Mon, 21 Jul 2008 14:07:56 GMT</pubDate>
    </item>
    <item>
      <title>blogDinner roMagna summer season #2</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/blogDinner-roMagna-summer-season-2</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/blogDinner-roMagna-summer-season-2</guid>
      <description>&lt;p&gt;Ecco quindi le ultime informazioni per il blogDinner roMagna:&lt;/p&gt;
&lt;div class="avviso"&gt;
Ostaria del Mare&lt;br /&gt;
&lt;a href="http://maps.google.com/maps/ms?msa=0&amp;#038;msid=107425804591839909868.000435101f27249efbd6b&amp;#038;ll=44.195251,12.323914&amp;#038;spn=0.094768,0.346069&amp;#038;t=h&amp;#038;z=12&amp;#038;om=1" onclick="javascript:urchinTracker ('/outbound/article/maps.google.com');"&gt;Via Casette, 5 - Montaletto di Cervia (RA)&lt;/a&gt;&lt;br /&gt;
tel. 0544 965617 - chiuso lunedì&lt;/p&gt;
&lt;p&gt;Per chi viene da Nord (faenza/bologna) o da Sud (cattolina/rimini) il luogo di appuntamento è davanti casello di Cesena Sud (mi fanno presente che i caselli di Cesena sono Cesena Nord e Cesena, senza Sud) alle ore 19.45 nel parcheggio del metano per partire alle 19.50. Per arrivare al parcheggio del metano uscite dal casello alla rotonda prendete la 3a uscita (quella tutta a sinistra), a 100m vedrete il cartello a sinistra della strada.&lt;/p&gt;
&lt;p&gt;Lorario della cena è ore 20.30 eventualmente per chi arriva da Nord alle 19.30 ci si incontra in &lt;a href="http://www.ideato.it" onclick="javascript:urchinTracker ('/outbound/article/www.ideato.it');"&gt;Ideato&lt;/a&gt; (in &lt;a href="http://maps.google.it/maps?f=q&amp;#038;hl=it&amp;#038;geocode=&amp;#038;q=ideato&amp;#038;sll=44.158137,12.243429&amp;#038;sspn=0.010068,0.027359&amp;#038;ie=UTF8&amp;#038;z=16&amp;#038;iwloc=A" onclick="javascript:urchinTracker ('/outbound/article/maps.google.it');"&gt;via Quinto Bucci, 205&lt;/a&gt; presso il Centro Coming).
&lt;/div&gt;
&lt;p&gt;A domani!&lt;/p&gt;
</description>
      <pubDate>Thu, 17 Jul 2008 15:54:07 GMT</pubDate>
    </item>
    <item>
      <title>Di TechTalk, web2.0 ed imprenditoria.</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Di-TechTalk-web2.0-ed-imprenditoria</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Di-TechTalk-web2.0-ed-imprenditoria</guid>
      <description>&lt;p&gt;Da quando sono tornato a fare l&amp;#8217; &amp;#8220;&lt;em&gt;imprenditore&lt;/em&gt;&amp;#8221; sto vivendo una fase della mia vita alquanto interessante e movimentata.&lt;/p&gt;
&lt;p&gt;Il &lt;a href="http://netwo.it/2008/06/19/techtalk-italia/" onclick="javascript:urchinTracker ('/outbound/article/netwo.it');"&gt;TechTalk&lt;/a&gt; ne è stato appunto un esempio lampante. &lt;/p&gt;
&lt;p&gt;Tralasciando il &amp;#8220;&lt;a href="http://flickr.com/photos/frandrakesphoto/2645806856/" onclick="javascript:urchinTracker ('/outbound/article/flickr.com');"&gt;&lt;em&gt;calcio fiorentino da piscina&lt;/em&gt;&lt;/a&gt;&amp;#8221; di cui mi porto ancora dietro i lividi, l&amp;#8217;evento/weekend mi ha permesso di discutere di progetti (concreti) che nella precedente vita da (quasi-)libero professionista avrei potuto vedere solo marginalmente o peggio dall&amp;#8217;esterno e non come attore partecipante.&lt;/p&gt;
&lt;p&gt;E&amp;#8217; anche interessante notare come molti dei blogger, fancazzari e/o geek con cui ho passato piacevoli giornate durante i vari barcamp degli scorsi anni, stiano sempre più diventando i punti di riferimento per l&amp;#8217;internet 2.0 che sta (lentamente) evolvendosi in Italia. Questo non perchè siano bravi ad essere blogger-fancazzari [che è sempre importante ;)] ma perchè effettivamente il know-how acquisito in questi anni di scambi di &amp;#8220;&lt;em&gt;informazioni dal basso&lt;/em&gt;&amp;#8220;, la voglia di crescere professionalmente e soprattuto la capacità farlo li/ci ha resi più attenti alle novità e vicini al modo di pensare e progettare il web come oltre confine.&lt;/p&gt;
&lt;p&gt;Non a caso proprio questi individui hanno iniziato percorsi simili al mio, facendo partecipare al TechTalk un numero di aziende triplo rispetto alla scorsa edizione con un paio di progetti/startup attive procapite.&lt;/p&gt;
&lt;p&gt;Altra cosa interessante è che il modello di business di quasi tutti sia basato sul principio della &lt;a href="http://it.wikipedia.org/wiki/Coda_lunga" onclick="javascript:urchinTracker ('/outbound/article/it.wikipedia.org');"&gt;coda lunga&lt;/a&gt;. Siamo tutti specializzati in qualcosa, chi in comunicazione, chi in sviluppo (agile e non), chi in UX e chi in IA. E tutti progettiamo con una unica preoccupazione, dare il meglio nel nostro campo ed creare partnership per offrire al cliente la migliore soluzione.&lt;/p&gt;
&lt;p&gt;Niente più &lt;em&gt;web agency spaghetti-code&lt;/em&gt; che offrono di tutto e di più ma tante micro imprese flessibili e settorializzate che collaborano tra di loro (come in un social network) per portare avanti progetti web di qualsiasi dimensioni.&lt;/p&gt;
&lt;p&gt;Ormai la rivoluzione è alle porte, adesso dobbiamo solo &lt;em&gt;formare i clienti&lt;/em&gt;&amp;#8230;. ;)&lt;/p&gt;
&lt;p&gt;ciuaz&lt;/p&gt;
</description>
      <pubDate>Sat, 12 Jul 2008 15:56:54 GMT</pubDate>
    </item>
    <item>
      <title>TechGarage, arrivo!</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/TechGarage-arrivo%21</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/TechGarage-arrivo%21</guid>
      <description>&lt;p&gt;Domani parto per un paio di giorni per recarmi a Roma, in capitale (oltre che rivedere con immenso piacere &lt;a href="http://mucignat.com" onclick="javascript:urchinTracker ('/outbound/article/mucignat.com');"&gt;amici&lt;/a&gt; e &lt;a href="http://www.sviluppoagile.it" onclick="javascript:urchinTracker ('/outbound/article/www.sviluppoagile.it');"&gt;colleghi&lt;/a&gt;) parteciperò al &lt;a href="http://www.techgarage.eu" onclick="javascript:urchinTracker ('/outbound/article/www.techgarage.eu');"&gt;TechGarage&lt;/a&gt; come partner tecnico di un paio di Startup.&lt;/p&gt;
&lt;p&gt;Sono veramente curioso di vedere come agiscono, in &lt;em&gt;reallife&lt;/em&gt;, investitori e venture capitalist con cui finora ho interagito solo di striscio e senza &lt;em&gt;interesse&lt;/em&gt; diretto (vabbè, diretto-diretto non lo è neanche questa volta ma sempre un piccolo interesse c&amp;#8217;è&amp;#8230;).&lt;/p&gt;
&lt;p&gt;Piccola nota a margine.&lt;/p&gt;
&lt;p&gt;Lo so, sono pigro&amp;#8230; e devo riprendere a scrivere qualcosa.. è che non trovo veramente nessuno spunto decente, quindi per ora accontentatevi delle &lt;em&gt;delizie&lt;/em&gt; geek che sparo nei &lt;a href="http://fullo.net/blog/feed" &gt;feed&lt;/a&gt; ;)&lt;/p&gt;
&lt;p&gt;ciuaz&lt;/p&gt;
</description>
      <pubDate>Wed, 18 Jun 2008 22:28:23 GMT</pubDate>
    </item>
    <item>
      <title>Inaugura Ideato!</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Inaugura-Ideato%21</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Inaugura-Ideato%21</guid>
      <description>&lt;p&gt;&lt;a href="http://www.ideato.it/" title="ideato, web ideas for sale" onclick="javascript:urchinTracker ('/outbound/article/www.ideato.it');"&gt;&lt;img src="http://farm3.static.flickr.com/2330/2535227001_e76845935c.jpg" width="500" height="240" alt="ideato, web ideas for sale" border="0" class="immagine" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ciauz&lt;/p&gt;
</description>
      <pubDate>Fri, 30 May 2008 07:34:14 GMT</pubDate>
    </item>
    <item>
      <title>I nuovi uffici</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/I-nuovi-uffici</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/I-nuovi-uffici</guid>
      <description>&lt;p&gt;Già da 3 settimane la mia attività lavorativa si è trasferita dalla mia amata casa, al mio ora amato ufficio. Avere un ufficio è veramente entusiasmante, finalmente posso dire &amp;#8220;&lt;strong&gt;Vado a lavoro&lt;/strong&gt;&amp;#8221; e &amp;#8220;&lt;strong&gt;Torno a casa&lt;/strong&gt;&amp;#8220;!!!&lt;/p&gt;
&lt;p&gt;Il mio socio ha postato su flickr &lt;a href="http://www.flickr.com/photos/fullo/sets/72157604642359734/"&gt;alcune foto&lt;/a&gt; dei nuovi uffici.&lt;/p&gt;
&lt;p&gt;&lt;a title="Ideato" href="http://www.flickr.com/photos/fullo/sets/72157604642359734/"&gt;&lt;img src="http://farm4.static.flickr.com/3135/2399974510_ae056972c5_m.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Se passate di qua, veniteci pure a trovare.&lt;/p&gt;
&lt;div class="ttag" style="display: none"&gt;Tag(s): &lt;a href="/tag/ideato" rel="tag"&gt;ideato&lt;/a&gt;, &lt;a href="/tag/ufficio" rel="tag"&gt;ufficio&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Mon, 19 May 2008 22:00:16 GMT</pubDate>
    </item>
    <item>
      <title>Stiamo lavorando per voi…</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Stiamo-lavorando-per-voi</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Stiamo-lavorando-per-voi</guid>
      <description>&lt;p&gt;non è che sono scomparso&amp;#8230; è che sto lavorando per voi&amp;#8230;&lt;/p&gt;
&lt;p&gt;ciuaz&lt;/p&gt;
</description>
      <pubDate>Wed, 05 Mar 2008 20:46:45 GMT</pubDate>
    </item>
    <item>
      <title>SviluppoAgile.it - Principi XP: il principio di umanità</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/SviluppoAgile.it-Principi-XP-il-principio-di-umanita</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/SviluppoAgile.it-Principi-XP-il-principio-di-umanita</guid>
      <description>&lt;p&gt;Secondo articolo per il sito &lt;a href="http://www.sviluppoagile.it"&gt;sviluppoagile.it&lt;/a&gt; che fa da entry per una serie di articoli sui principi dell&amp;#8217;XP. In questo &lt;a href="http://www.sviluppoagile.it/principi-xp-umanita"&gt;primo articolo&lt;/a&gt; della serie si parla del principio di umanità, principio che molto spesso nelle nostre aziende viene &amp;#8220;dimenticato&amp;#8221; e veniamo considerati solo come risorse al pari di un macchinario industriale, ma fortunatamente non è così, noi siamo UOMINI.&lt;/p&gt;
&lt;p&gt;Un pezzo che mi ha colpito molto direttamente dall&amp;#8217;articolo di Jacopo:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Le persone, per essere buoni sviluppatori, hanno bisogno di:&lt;/p&gt;
&lt;p&gt;Sicurezza basilare&lt;br /&gt;
La salute, la prosperità e la sicurezza dei propri cari sono minacciate dalla paura di perdere il lavoro&lt;br /&gt;
Soddisfazione&lt;br /&gt;
L&amp;#8217;abilità e l&amp;#8217;opportunità di contribuire al loro contesto&lt;br /&gt;
Appartenenza&lt;br /&gt;
La possibilità di identificarsi in un gruppo dal quale ricevere riconoscimento e verso il quale contribuire&lt;br /&gt;
Crescita&lt;br /&gt;
L&amp;#8217;opportunità di vedere accresciute le proprie capacità e le proprie prospettive&lt;br /&gt;
Confidenza&lt;br /&gt;
La possibilità di capire e di essere capiti&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;A leggerle sembrano scontate, ma, purtroppo, non sono ancora diritti che abbiamo conquistato&lt;/p&gt;
&lt;div class="ttag" style="display: none"&gt;Tag(s): &lt;a href="/tag/sviluppo+agile+principi+xp+umanità" rel="tag"&gt;sviluppo agile principi xp umanità&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Sat, 24 Nov 2007 11:58:04 GMT</pubDate>
    </item>
    <item>
      <title>Italian Agile Day 2007!</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Italian-Agile-Day-2007%21</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Italian-Agile-Day-2007%21</guid>
      <description>&lt;p&gt;Venerdi 23 Novembre 2007 si terrà a Bologna il quarto Italian Agile Day. Si tratta di una conferenza gratuita di un giorno dedicata alle metodologie Agili per lo sviluppo e la gestione dei progetti software rivolta agli sviluppatori, project leaders, IT managers, tester, architetti e coach che hanno esperienze da condividere o che iniziano solo ora ad interessarsi a queste tematiche. La giornata ha come obiettivo la conoscenza pratica, le esperienze sul campo e un attivo coinvolgimento di tutti i partecipanti. Dopo il successo della scorsa edizione anche quest&amp;#8217;anno il formato sarà OpenSpace ma grazie alla presenza di 2 sale vi affiancheremo anche il formato classico! L&amp;#8217;accesso è libero previa registrazione, i posti sono limitati. L&amp;#8217;evento, per la seconda volta consecutiva, si auto-finanzier&amp;amp;agrave.&lt;/p&gt;
&lt;div class="ttag" style="display: none"&gt;Tag(s): &lt;a href="/tag/agile" rel="tag"&gt;agile&lt;/a&gt;, &lt;a href="/tag/bologna" rel="tag"&gt;bologna&lt;/a&gt;, &lt;a href="/tag/sviluppo" rel="tag"&gt;sviluppo&lt;/a&gt;, &lt;a href="/tag/conferenza" rel="tag"&gt;conferenza&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Wed, 31 Oct 2007 17:47:36 GMT</pubDate>
    </item>
    <item>
      <title>Report sul business web 2.0 in Italia</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Report-sul-business-web-2.0-in-Italia</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Report-sul-business-web-2.0-in-Italia</guid>
      <description>&lt;p&gt;All&amp;#8217;ultimo BarCamp che ho partecipato a Ravenna sono venuto a conoscenza di due bellissimi iniziative, una inglese &lt;a href="http://it.blognation.com/"&gt;blognation italia&lt;/a&gt;, e una italiana &lt;a href="http://it.intruders.tv"&gt;intruders.tv&lt;/a&gt; che sotto forma di blog e video blog vogliono diventare un punto di riferimento per imprenditori e start-up italiane.&lt;/p&gt;
&lt;p&gt;Blog nei quali vengono raccolti report ed informazioni sul business web 2.0 in italia, sulle nuove idee e sull&amp;#8217;imprenditoria web.&lt;/p&gt;
&lt;p&gt;Credo che la nascita di questi due siti abbia un valore importante nel settore di nicchia che molte volte non riesce a emergere e resta soffocato dalle &amp;#8220;grandi&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Quindi contattate pure Amanda di blognation italia o Livia di intruders TV se siete nel settore del web 2.0 e avete realizzato qualche bel sevizio web 2.0 da lanciare.&lt;/p&gt;
&lt;div class="ttag" style="display: none"&gt;Tag(s): &lt;a href="/tag/blognation" rel="tag"&gt;blognation&lt;/a&gt;, &lt;a href="/tag/italia" rel="tag"&gt;italia&lt;/a&gt;, &lt;a href="/tag/web+2.0" rel="tag"&gt;web 2.0&lt;/a&gt;, &lt;a href="/tag/intruders.tv" rel="tag"&gt;intruders.tv&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Sat, 15 Sep 2007 09:48:49 GMT</pubDate>
    </item>
    <item>
      <title>Lucene, il potente motore di ricerca java installato su eZ publish.</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Lucene-il-potente-motore-di-ricerca-java-installato-su-eZ-publish</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Lucene-il-potente-motore-di-ricerca-java-installato-su-eZ-publish</guid>
      <description>&lt;p&gt;&lt;a href="http://www.ez.no"&gt;eZ publish&lt;/a&gt;, è un gran CMS, ma come tutte i software ha anche i suoi punti di debolezza, &lt;a href="http://ez.no/community/forum/developer/advanced_search_or"&gt;il motore di ricerca&lt;/a&gt;. Allo stato dell&amp;#8217;arte il motore di default installato su eZ publish supporta solo query full text in AND, cioè è in grado di cercare solo oggetti dove sono presenti tutte le parole che l&amp;#8217;utente vuole cercare. Questa è una grande limitazione, per tanto, ho deciso di provare l&amp;#8217;estensione &lt;a href="http://ez.no/community/contribs/applications/lucene_java_search_plugin"&gt;&lt;strong&gt;Lucene&lt;/strong&gt;&lt;/a&gt; che sostituisce  il motore standard di eZ cone &lt;a href="http://lucene.apache.org/java/docs/"&gt;Apache Lucene&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;L&amp;#8217;installazione è stata piuttosto semplice, anche se è richiesto il controllo completo sul server, in quanto bisogna ricompilare il pacchetto php-java-bridge. Tutte le informazioni per l&amp;#8217;installazione si trovano all&amp;#8217;interno dell&amp;#8217;estensione leggendo il file README.&lt;/p&gt;
&lt;p&gt;Una volta configurato il tutto (installato jvm sul server ed installato il php-java-bridge) basta attivare l&amp;#8217;estensione, svuotare la cache e il tutto è operativo.&lt;/p&gt;
&lt;p&gt;Ora si possono effettuare ricerche in AND, OR, con wildcard e con caratteri speciali.&lt;/p&gt;
&lt;p&gt;Veramente un gran bel lavoro e molto bello anche la percentuale di score presente nei risultati che rappresenta la vicinanza all&amp;#8217;obiettivo cercato.&lt;/p&gt;
&lt;p&gt;Il motore è in grado di indicizzare tutti documenti collegati al CMS, pagine web, pdf, multimediali, doc e molti altri&lt;/p&gt;
&lt;div class="ttag" style="display: none"&gt;Tag(s): &lt;a href="/tag/ez+publish" rel="tag"&gt;ez publish&lt;/a&gt;, &lt;a href="/tag/lucene" rel="tag"&gt;lucene&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Mon, 23 Jul 2007 11:43:49 GMT</pubDate>
    </item>
    <item>
      <title>Monitorare un Server Web</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Monitorare-un-Server-Web</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Monitorare-un-Server-Web</guid>
      <description>&lt;p&gt;Poichè a breve andrò in vacanza ed ho da poco preso un server dopo ospitare i siti dei miei clienti, è cresciuta in me l&amp;#8217;esigenza di avere qualcuno che si occupasse di monitorare lo stato dei servizi. Navigando per la rete ho trovato due software, uno &lt;a href="http://www.tildeslash.com/monit/"&gt;monit&lt;/a&gt; si occupa proprio di monitorare lo stato dei servizi e di rilanciarli nel caso si verifichi un comportamento inatteso, come l&amp;#8217;arresto, il superamente di una certa percentuale di utilizzo di CPU o di RAM, o altre eccezioni.&lt;br /&gt;
L&amp;#8217;altro invece, &lt;a href="http://munin.projects.linpro.no/"&gt;munin&lt;/a&gt;, è un software per monitorare tramite interfaccia web e grafici le performance del server, della cpu, del network, del disco e molto altro.&lt;br /&gt;
Questa accoppiata è proprio la soluzione che cercavo.&lt;br /&gt;
L&amp;#8217;installazione è stata molto semplice, avendo a disposizione già i pacchetti precompilati.&lt;/p&gt;
&lt;div class="ttag" style="display: none"&gt;Tag(s): &lt;a href="/tag/munin" rel="tag"&gt;munin&lt;/a&gt;, &lt;a href="/tag/server" rel="tag"&gt;server&lt;/a&gt;, &lt;a href="/tag/monit" rel="tag"&gt;monit&lt;/a&gt;&lt;/div&gt;</description>
      <pubDate>Fri, 29 Jun 2007 14:17:35 GMT</pubDate>
    </item>
    <item>
      <title>Siamo online!</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Siamo-online%21</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Siamo-online%21</guid>
      <description></description>
      <pubDate>Fri, 29 Jun 2007 13:52:40 GMT</pubDate>
    </item>
    <item>
      <title>Slide e registrazione del mio talk al phpDay</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Slide-e-registrazione-del-mio-talk-al-phpDay</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Slide-e-registrazione-del-mio-talk-al-phpDay</guid>
      <description></description>
      <pubDate>Sat, 19 May 2007 21:58:48 GMT</pubDate>
    </item>
    <item>
      <title>PhpDay 2007, il giorno dopo!!</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/PhpDay-2007-il-giorno-dopo%21%21</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/PhpDay-2007-il-giorno-dopo%21%21</guid>
      <description></description>
      <pubDate>Sat, 19 May 2007 19:35:30 GMT</pubDate>
    </item>
    <item>
      <title>Nonimation come blogger dell'anno per gli eZ Awards 2007</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Nonimation-come-blogger-dell-anno-per-gli-eZ-Awards-2007</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Nonimation-come-blogger-dell-anno-per-gli-eZ-Awards-2007</guid>
      <description></description>
      <pubDate>Tue, 15 May 2007 11:22:25 GMT</pubDate>
    </item>
    <item>
      <title>IDEATO - web ideas for sale</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/IDEATO-web-ideas-for-sale</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/IDEATO-web-ideas-for-sale</guid>
      <description></description>
      <pubDate>Thu, 05 Apr 2007 12:34:37 GMT</pubDate>
    </item>
    <item>
      <title>Arriva il MarCamp</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/Arriva-il-MarCamp</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/Arriva-il-MarCamp</guid>
      <description></description>
      <pubDate>Sun, 04 Feb 2007 16:45:05 GMT</pubDate>
    </item>
    <item>
      <title>18 Maggio 2007: 4° phpDay a Verona</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/18-Maggio-2007-4-phpDay-a-Verona</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/18-Maggio-2007-4-phpDay-a-Verona</guid>
      <description></description>
      <pubDate>Sun, 21 Jan 2007 14:48:56 GMT</pubDate>
    </item>
    <item>
      <title>PIM su Google Code</title>
      <link>http://www.ideato.it/Blog/Planet-ideato/PIM-su-Google-Code</link>
      <guid>http://www.ideato.it/Blog/Planet-ideato/PIM-su-Google-Code</guid>
      <description></description>
      <pubDate>Thu, 11 Jan 2007 08:21:09 GMT</pubDate>
    </item>
  </channel>
</rss>
