<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>e-xtrategy &#187; soluzioniweb</title>
	<atom:link href="http://www.e-xtrategy.net/category/soluzioniweb/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.e-xtrategy.net</link>
	<description>dietro ciò che vedi c&#039;è un mondo che neanche immagini</description>
	<lastBuildDate>Mon, 06 Sep 2010 14:37:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>continuous integration: quando la pratica va oltre gli strumenti</title>
		<link>http://www.e-xtrategy.net/2010/06/15/continuous-integration-quando-la-pratica-va-oltre-gli-strumenti/</link>
		<comments>http://www.e-xtrategy.net/2010/06/15/continuous-integration-quando-la-pratica-va-oltre-gli-strumenti/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 08:00:19 +0000</pubDate>
		<dc:creator>giorgio mandolini</dc:creator>
				<category><![CDATA[soluzioniweb]]></category>
		<category><![CDATA[continuonusintegration]]></category>

		<guid isPermaLink="false">http://www.e-xtrategy.net/?p=2887</guid>
		<description><![CDATA[il problema dell'integrazione non è banale: quando due o più sviluppatori lavorano contemporaneamente sullo stesso progetto non è raro che, al momento di mettere tutto insieme, si presentino problemi come conflitti o incompatibilità. troppo spesso si assiste allo scenario in cui la data di consegna al cliente è vicina  ed il software è più o meno pronto: < < manca solo l'integrazione finale e gli ultimi fix >>, si direbbe, così facendo però solitamente ci si imbuca in un tunnel dentro il quale difficilmente si farà un bel viaggio, ma soprattutto sarà impossibile conoscerne a priori la lunghezza.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.e-xtrategy.net/wp-content/uploads/2010/06/continuous-integration.jpg"><img class="size-full wp-image-2954 alignnone" title="continuous integration" src="http://www.e-xtrategy.net/wp-content/uploads/2010/06/continuous-integration.jpg" alt="" width="559" height="360" /></a></p>
<p>che cos&#8217;è la continuous integration ?</p>
<p>martin fowler nel suo <a title="Continuous Integration" href="http://martinfowler.com/articles/continuousIntegration.html">articolo</a> spiega:</p>
<p><em>continuous integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily &#8211; leading to multiple integrations per day. each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.</em></p>
<p>da queste poche righe si apre la finestra verso un mondo: fowler non parla di strumenti o tecnologie, bensì di <strong>pratica</strong>.</p>
<p>il problema dell&#8217;integrazione non è banale: quando due o più sviluppatori lavorano contemporaneamente sullo stesso progetto non è raro che, al momento di mettere tutto insieme, si presentino problemi come conflitti o incompatibilità. troppo spesso si assiste allo scenario in cui la data di consegna al cliente è vicina  ed il software è più o meno pronto: <em>&lt;&lt; manca solo l&#8217;integrazione finale e gli ultimi fix &gt;&gt;</em>, si direbbe, così facendo però solitamente ci si imbuca in un  tunnel dentro il quale difficilmente si farà un bel viaggio, ma soprattutto sarà impossibile conoscerne a priori la  lunghezza.<span id="more-2887"></span></p>
<p>i bug e gli imprevisti sono per definizione <strong>non stimabili</strong>, né  in numero né in complessità di risoluzione: come pretendere di stimare  un tempo di integrazione, quando non si ha nemmeno una predizione a  livello locale dei problemi emersi ? siamo finiti nel tunnel, nell&#8217;<strong>integration hell</strong>: la scadenza è sempre più vicina e non abbiamo idea di quando il software sarà correttamente funzionante. lo stress nel team aumenta con l&#8217;avvicinarsi della deadline, si rimane in ufficio fino a tardi e la stanchezza ed il malumore accumulati portano inevitabilmente all&#8217;introduzione di nuovi bug per risolvere quelli precedenti.</p>
<p>è proprio nel momento di mettere tutto insieme che la continuous integration interviene: l&#8217;integrazione del software non dovrebbe avvenire alla conclusione del processo di sviluppo, in cui tutti i problemi vengono identificati e risolti in una sola volta, ma dovrebbe <strong>essere parte</strong> di questo processo ed <strong>intervenire continuamente</strong>. la motivazione di ciò è semplice: rendere questo processo continuo limita il numero e la gravità degli errori rilevati, perché effettuare piccoli cambiamenti ed integrarli subito significa dover correggere al più bug recenti e non interi moduli dipendenti da anomalie introdotte molto tempo indietro e mai rilevate.</p>
<p>vediamo ora le pratiche fondamentali che ci permettono di fare continuous integration correttamente e come esse influenzeranno il nostro processo di sviluppo.</p>
<p><strong>utilizzare un version control repository</strong></p>
<p>l&#8217;utilizzo di un sistema di controllo di versione come <a href="http://subversion.tigris.org/">subversion</a>, <a href="http://git-scm.com/">git</a> o <a href="http://ximbiot.com/cvs/">CVS</a> è il primo mattone con il quale costruire il nostro ambiente di continuous integration. tralasciando le differenze che i vari sistemi di controllo di versione hanno tra loro, è di fondamentale importanza avere un &#8220;repository&#8221; che permetta di gestire e monitorare i cambiamenti che avvengono sulla nostra code base. in questo modo si ha inoltre la possibilità di effettuare rollback dei cambiamenti: tramite strumenti di questo tipo infatti viene tenuta traccia della storia di ogni file.</p>
<p><strong>nel repository deve essere presente tutto il necessario<br />
</strong></p>
<p>non meno importante è l&#8217;avere tutto il nostro software, compresi framework, librerie e dipendenze esterne, all&#8217;interno del nostro repository: esso dovrà fungere da <strong>unica fonte</strong> del codice ed il nostro software dovrà essere in grado di funzionare solamente con quello che vi è contenuto, senza interventi esterni o aggiunte manuali.</p>
<p><strong>eseguire una &#8220;commit&#8221; almeno una volta al giorno</strong></p>
<p>come regola empirica, ci si impone di inviare il proprio lavoro al repository almeno una volta al giorno, anche se è vivamente consigliato puntare ad un numero di integrazioni maggiore. questo è necessario per rispettare il principio dei <strong>piccoli cambiamenti</strong> precedentemente introdotto. naturale conseguenza di ciò è la suddivisione del proprio lavoro in piccoli task atomici, che favorisce inoltre la scrittura di un codice più snello, pulito e mediamente privo di inutili complessità. in una sola parola, rispettare il <a href="http://en.wikipedia.org/wiki/KISS_principle">KISS principle</a>.</p>
<p><strong>automatizzare le build</strong></p>
<p>il processo di build non è solo la compilazione del codice (che non sempre avviene, come ad esempio nel linguaggio PHP) ma significa compiere un determinato numero di azioni che permettono al software di essere correttamente &#8220;costruito&#8221; e reso funzionante. rendere questo insieme di passi automatico attraverso un <strong>singolo script di building</strong> (come <a href="http://ant.apache.org/">ant </a>o <a href="http://phing.info/">phing</a>) porta con sé vari vantaggi. primo: limita l&#8217;intervento umano e di conseguenza la probabilità di errori ed omissioni (lo sviluppatore lancia un singolo comando &#8220;build&#8221;). secondo, ma non meno importante: la riproducibilità ottenuta che permetterà a tutti gli sviluppatore di eseguire gli stessi passaggi in maniera identica (a meno di eventuali parametri di configurazione) mitigando la famosa, odiata frase &#8220;but it works on my machine&#8221;.</p>
<p><strong>self testing build</strong></p>
<p>non si fa continuous integration senza scrivere <strong>test automatici</strong>. tali test devono essere inoltre inglobati nei build script. a build completata lo sviluppatore conoscerà il risultato del proprio lavoro e solo tramite test automatici sarà in grado di averne confidenza sulla bontà. non è pensabile eseguire tali test manualmente perchè inevitabilmente qualcosa prima o poi verrà omesso, soprattutto nel modello di sviluppo che stiamo introducendo, in cui il software viene integrato (e quindi necessita di essere ritestato) ad ogni cambiamento.</p>
<p>è facile dire &#8220;il modulo b non necessita di essere testato perché ho modificato solo il modulo a&#8221; ma quante volte, nella realtà, sono emersi problemi derivanti da certe assunzioni? i test automatici sono la nostra rete di salvataggio e sono perfettamente riproducibili: ad ogni build ritesteranno tutte le funzionalità per cui sono stati scritti, più velocemente e più affidabilmente di qualsiasi sviluppatore o team, anche il più volenteroso, veloce e competente. nessuno riuscirà mai ad eseguire un gran numero di volte la stessa batteria di test senza ogni volta introdurre piccole differenze, soprattutto a fine giornata, quando la stanchezza si fa sentire. i build script, invece, non si stancano, usiamoli.</p>
<p><strong>eseguire delle build private nelle workstation locali<br />
</strong></p>
<p>ogni sviluppatore dovrà scaricare dal repository l&#8217;ultima versione del software che sta sviluppando. a questo punto lavorerà nella propria <strong>macchina locale</strong>, effettuando i cambiementi necessari per il proprio lavoro. una volta terminati dovrà effettuare la build del software sulla propria workstation ed osservarne i risultati. se tutto funziona correttamente, prima di inviare il proprio codice al repository, scaricherà da questo gli eventuali cambiamenti effettuati nel frattempo dagli altri sviluppatori e rilancerà di nuovo la build. se tutto va a buon fine, è stato fatto un primo passo verso l&#8217;integrazione: i propri cambiamenti sono stati integrati ed è possibile aggiornare la code-base eseguendo la &#8220;commit&#8221;.</p>
<p><strong>non inviare codice difettoso al repository</strong></p>
<p>in caso di fallimento dei test durante la build locale lo sviluppatore dovrà <strong>correggere i malfunzionamenti</strong> e rieseguire la build fino alla risoluzione dei problemi. non potrà, in nessun caso, inviare il proprio lavoro al repository se i test non certificano che esso è correttamente integrato.</p>
<p>in questo modo si minimizza la probabilità di avere software non funzionante nel repository: la copia &#8220;rotta&#8221; resterà confinata nella macchina dello sviluppatore che si occuperà di sistemarla.</p>
<p><strong>eseguire una build di integrazione ad ogni cambiamento<br />
</strong></p>
<p>ogni volta che il repository viene aggiornato con nuovi cambiamenti, il codice necessita di essere ritestato. successivamente alle build private, si eseguono quindi delle <strong>build di integrazione</strong>, che devono essere effettuate su di una <strong>macchina dedicata</strong>, che riproduca il più fedelmente possibile il vero ambiente di produzione. è importantissimo, inoltre, che questa ultima macchina sia priva di dipendenze e librerie spurie che non provengano direttamente dal repository: in questo modo ci si accerta che il lavoro dello sviluppatore sia ancora riproducibile e non dipenda da una sua particolare configurazione a livello locale.</p>
<p>l&#8217;integration build può essere manuale o effettuata automaticamente tramite un continuous integration server (come <a href="http://hudson-ci.org/">hudson</a> o <a href="http://cruisecontrol.sourceforge.net/">cruisecontrol</a>). sebbene quest&#8217;ultimo componente non sia obbligatorio, è comunque raccomandato usarne uno: sarà lui per noi a rilevare i cambiamenti sul repository ed eseguire le build automaticamente, fornendo inoltre una comoda dashboard con report sui test, code coverage, strumenti di analisi aggiuntivi e documentazione auto-generata.</p>
<p><strong>non scaricare codice difettoso dal repository, riparare immediatamente le build rotte<br />
</strong></p>
<p>nella malaugurata ipotesi in cui la build di integrazione fallisca, nonostante siano state correttamente passate le build private, sorge il problema della &#8220;broken build&#8221;: è entrato un bug nel codice del repository e tutti coloro che andranno a scaricarlo otterrebbero del software non funzionante.  è compito dell&#8217;ultimo sviluppatore che ha eseguito la commit risolvere il problema, ma visto che questo malfunzionamento coinvolge tutto il team è meglio non scaricare affatto il codice difettoso: invece che perdere tempo nello sviluppo di eventuali workaround è preferibile <strong>aiutare gli altri</strong> a far tornare la build nello status di &#8220;green&#8221;.</p>
<p><strong>build veloci e rapid feedback</strong></p>
<p>è importante che il processo di build sia veloce e rapido: non è accettabile attendere più 10 minuti per il risultato dei nostri test (regola del <em>&#8220;10 minute build&#8221;</em>), altrimenti si perderà troppo tempo per via delle molteplici integrazioni o peggio ancora lo sviluppatore tenderà ad accumulare molto codice prima di lanciare i test. per evitare questo <em>anti pattern</em> è consigliabile quindi eseguire delle <strong>staged-build</strong> ossia lanciare le build private accompagnate solamente da test leggeri (unitari) e le build di integrazione divise in due: test unitari prima (per individuare subito problemi grossolani) per le build lanciate ad ogni commit e test più approfonditi (unitari e funzionali, analisi del codice, delle dipendenze, del code-style ecc) per build lanciate in un successivo momento, magari schedulate in notturna (nightly build) o in seguito al successo delle precedenti commit-build.</p>
<p>in questo modo si ottiene un <strong>feedback immediato</strong> che deve essere coadiuvato da meccanismi che lo rendano facilmente individuabile e  interpretabile: una lampada sempre verde che diventa rossa in caso di build rotta è uno degli esempi più tipici. è importante che il feedback sia incentrato sulle informazioni utili ed essenziali, tutto il superfluo tenderà a distrarre lo sviluppatore, che nella confusione rischia di ignorare messaggi importanti.</p>
<p><strong>i pro ed i contro</strong></p>
<p>il rispetto di una pratica richiede un iniziale costo dovuto dalla intrinseca curva di apprendimento che presenta. test automatici e buone pratiche di programmazione hanno un costo in termini di tempo, come pure l&#8217;acquisto e l&#8217;uso di macchine dedicate per simulare l&#8217;ambiente di produzione; tutto questo, nel brevissimo termine, potrebbe essere visto come un overhead. tali costi verranno però <strong>ampiamente ripagati</strong> durante il ciclo di sviluppo del nostro software. ne <strong>beneficerà la qualità </strong>del codice sviluppato: grazie al testing continuo infatti si ha sempre la certezza che niente è andato storto. <strong>ansia e stress caleranno</strong>: se tutto quel che viene scritto è sempre attestato come funzionante da opportuni test, automaticamente cala anche la paura di andare incontro a imprevisti ed inconvenienti. la <strong>comunicazione </strong>all&#8217;interno del team aumenterà: grazie al feedback rapido e condiviso, tutti sanno a che punto è lo sviluppo del software, quali sono i problemi emersi e le funzionalità ancora da implementare. anche il <strong>rapporto con il cliente</strong> trarrà dei benefici: la maggior tranquillità e sicurezza sul progetto verranno percepite come sintomo di puntualità e professionalità. ultima ma non  meno importante è infine la possibilità di poter effettuare <strong>continui rilasci</strong> di nuove versioni del nostro software: nel repository infatti è presente in ogni momento software perfettamente funzionante e quindi <em>&#8220;deployable&#8221;</em>.</p>
<p><strong>questione di pratica</strong></p>
<p>in questa introduzione abbiamo parlato di buone pratiche (tante) e  citato alcuni strumenti (pochi) per mettere in piedi un ambiente di  continuous integration. è infatti sulle pratiche di sviluppo il vero <strong>investimento </strong>che un team di lavoro dovrebbe sostenere, perchè dietro a tutte le tecnologie, anche le più valide e promettenti, ci sono sempre <strong>le persone</strong>. la continuous integration ne prende atto, facendosi carico di tutti quei compiti che rendono dura la vita dello sviluppatore, che potrà dedicarsi finalmente a compiti di più alto livello e alla vera business logic di progetto.</p>
<p>una miglior comunicazione tra stakeholders ed un ambiente mitigato da ansia e stress sono i primi ingredienti per vivere ogni progetto come una nuova sfida, vissuta con <strong>proattività </strong>e voglia di fare: non dimentichiamo mai che il software, benché eseguito da macchine, è sempre scritto da persone <img src='http://www.e-xtrategy.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>per chi volesse approfondire consiglio la lettura dell&#8217;<a href="http://martinfowler.com/articles/continuousIntegration.html">articolo  originale</a> dal sito di martin fowler ma soprattutto dell&#8217;ottimo libro <em>&#8220;Continuous Integration: Improving Software Quality and Reducing Risk&#8221;</em> (<a href="http://www.integratebutton.com/">http://www.integratebutton.com/</a>).</p>
<p>giorgio</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-xtrategy.net/2010/06/15/continuous-integration-quando-la-pratica-va-oltre-gli-strumenti/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>individuare intrusioni con tripwire</title>
		<link>http://www.e-xtrategy.net/2010/05/25/individuare-intrusioni-con-tripwire/</link>
		<comments>http://www.e-xtrategy.net/2010/05/25/individuare-intrusioni-con-tripwire/#comments</comments>
		<pubDate>Tue, 25 May 2010 07:00:27 +0000</pubDate>
		<dc:creator>daniele luconi</dc:creator>
				<category><![CDATA[soluzioniweb]]></category>
		<category><![CDATA[IDS]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tripware]]></category>

		<guid isPermaLink="false">http://www.e-xtrategy.net/?p=2868</guid>
		<description><![CDATA[molti sysadmin avranno sicuramente avuto modo nella loro vita professionale di imbattersi nell'arduo (se non a volte impossibile) compito di rimettere in sesto dei sistemi danneggiati da intrusioni di utenti malintenzionati. in casi come questo, ci sono dei software chiamati host based IDS, che ci possono venire in aiuto, se non altro facilitandoci il lavoro, tenendo traccia di tutti i file modificati in un certo arco di tempo.]]></description>
			<content:encoded><![CDATA[<p><a href="http://m.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/087/8758/8758f1.png"><img class="alignleft size-full wp-image-2875" title="tripwire" src="http://www.e-xtrategy.net/wp-content/uploads/2010/05/tripwire.png" alt="" width="341" height="324" /></a>molti sysadmin avranno sicuramente avuto modo nella loro vita professionale di imbattersi nell&#8217;arduo (se non a volte impossibile) compito di rimettere in sesto dei sistemi danneggiati da intrusioni di utenti malintenzionati. in casi come questo, ci sono dei software chiamati <a href="http://it.wikipedia.org/wiki/Host-based_intrusion_detection_system" target="_blank">host based IDS</a>, che ci possono venire in aiuto, se non altro facilitandoci il lavoro, tenendo traccia di tutti i file modificati in un certo arco di tempo.</p>
<p>in questo articolo andremo ad illustrare i passi necessari per la configurazione di <a href="http://www.tripwire.org/" target="_blank">tripwire</a>, uno dei più diffusi host based IDS. disponibile sia in versione open source che in versione commerciale, è un software che una volta installato e configurato ci informerà di tutte le modifiche che avvengono nel file system, rispetto ad uno stato iniziale considerato &#8220;sicuro&#8221; che verrà salvato in un database.</p>
<p>su un sistema operativo come ubuntu, possiamo installare il software con un semplice <em>apt-get install tripwire</em></p>
<p>al termine dell&#8217;installazione verrà avviata automaticamente la configurazione iniziale del programma, durante la quale ci verrà chiesto di inserire la &#8220;site key&#8221; e la &#8220;local key&#8221;, con cui tripwire provvederà a creare in <em>/etc/tripwire</em> i file di configurazione con le policy di default, in particolare i file <em>tw.cfg</em> e <em>tw.pol</em>. è consigliato rendere questi file leggibili solo dall&#8217;utente root con il comando <em>chmod 0600 /etc/tripwire/tw.cfg /etc/tripwire/tw.pol<span id="more-2868"></span></em></p>
<p>da notare che questi 2 file sono binari, creati partendo dai due file plain text <em>twcfg.txt</em> e <em>twpol.txt</em>, saranno quindi questi due file che dobbiamo modificare per apportare modifiche alla configurazione. per un primo utilizzo possiamo lasciare le versioni di default; consiglio solo, nel caso in cui si voglia che i report vengano inviati per email, di aggiungere al file <em>twcfg.txt</em> la riga</p>
<p><em>GLOBALEMAIL   = email@miodominio.it</em></p>
<p>una volta modificato il file <em>twcfg.txt</em> occorre ricreare il corrispettivo file binario, per farlo possiamo utilizzare il comando <em>twadmin &#8211;create-cfgfile -S site.key /etc/tripwire/twcfg.txt</em></p>
<p>nel caso in cui venga invece modificato il file <em>twpol.txt</em> per ricreare il binario <em>tw.pol</em> dobbiamo utilizzare il comando <em>twadmin &#8211;create-polfile -S site.key /etc/tripwire/twpol.txt</em></p>
<p>a questo punto, possiamo creare tramite il comando <em>tripwire &#8211;init</em> il database iniziale che tripwire utilizzerà per confrontare lo stato del sistema ad ogni check, il file verrà creato nella cartella <em>/var/lib/tripwire/</em></p>
<p>ora non ci resta che testare il funzionamento di tripwire utilizzando il comando <em>tripwire &#8211;check &#8211;email-report</em> che ci invierà per email il report con tutti i file di sistema modificati, aggiunti o cancellati dalla creazione del database iniziale. il consiglio è naturalmente quello di inserire il comando in crontab per far generare automaticamente i report quando volete.</p>
<p>nel caso in cui si voglia modificare il file <em>/etc/tripwire/twpol.txt</em>, ecco un semplice esempio di regola che possiamo aggiungere:</p>
<p><em>(<br />
rulename = &#8220;Sito web www.miosito.it&#8221;,<br />
severity = N, (dove N è un numero compreso tra 0 e 100, più alto è il numero più alta è la &#8216;criticità&#8217; di questa sezione)<br />
emailto = webmaster@miosito.it<br />
)<br />
{<br />
/var/www/www.miosito.it                  -&gt; $(SEC_CRIT) ;<br />
}</em></p>
<p>nel dettaglio, questa regola provvederà ad ogni check di inviare una mail a webmaster@miosito.it con tutti i file modificati di uno specifico sito.</p>
<p>un ultimo consiglio: vista la comprensibile sensibilità dei file di configurazione, è buona norma non tenere i file di configurazione plain text, ma di cancellarli ogni volta che si è conclusa la configurazione. per future modifiche possiamo sempre rigenerarli utilizzando i comandi:</p>
<p><em>twadmin &#8211;print-polfile<br />
twadmin &#8211;print-cfgfile</em></p>
<p>daniele<em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-xtrategy.net/2010/05/25/individuare-intrusioni-con-tripwire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>il mac: ambiente di lavoro anche per lo sviluppatore</title>
		<link>http://www.e-xtrategy.net/2010/03/22/il-mac-ambiente-di-lavoro-anche-per-lo-sviluppatore/</link>
		<comments>http://www.e-xtrategy.net/2010/03/22/il-mac-ambiente-di-lavoro-anche-per-lo-sviluppatore/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 09:00:33 +0000</pubDate>
		<dc:creator>alessandro violini</dc:creator>
				<category><![CDATA[soluzioniweb]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[frontenddeveloper]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mamp]]></category>
		<category><![CDATA[suite]]></category>

		<guid isPermaLink="false">http://www.e-xtrategy.net/?p=2645</guid>
		<description><![CDATA[quasi un anno fa parlammo degli editor e degli ambienti di sviluppo ripercorrendo la storia delle nostre scelte e le migliorie degli strumenti fino a specificare le nostre preferenze. dodici mesi non sono pochi, specialmente nel web e rieccoci a parlare di ambiente di lavoro, questa volta con una certa sicurezza e soprattutto soddisfazione.

non solo una questione di editor, o di sistemi integrati per lo sviluppo ma un discorso di piattaforma, di sistema operativo e di applicazioni. già nel titolo del post spicca una parola mac,  inutile discutere le scelte ma di certo va ancora di moda associare questo sistema operativo solo ai lavori di “grafica”... parola che oltretutto da sola significa tutto e niente.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/puntodevista/118666362/"><img class="size-full wp-image-2654 alignleft" title="mac" src="http://www.e-xtrategy.net/wp-content/uploads/2010/03/mac.jpg" alt="" width="324" height="324" /></a>quasi un anno fa parlammo degli <strong>editor</strong> e degli <strong>ambienti di sviluppo</strong> ripercorrendo la storia delle nostre scelte e le migliorie degli strumenti fino a specificare le nostre <a title="preferenze" href="http://www.e-xtrategy.net/2009/03/24/dagli-editor-visuali-agli-ambienti-integrati-di-sviluppo/" target="_blank">preferenze</a>. dodici mesi non sono pochi, specialmente nel web e rieccoci a parlare di ambiente di lavoro, questa volta con una certa sicurezza e soprattutto soddisfazione.</p>
<p>non solo una questione di editor, o di sistemi integrati per lo sviluppo ma un discorso di piattaforma, di sistema operativo e di applicazioni. già nel titolo del post spicca una parola<strong> mac</strong>,  inutile discutere le scelte ma di certo va ancora di moda associare questo sistema operativo solo ai lavori di “grafica”&#8230; parola che oltretutto da sola significa tutto e niente.</p>
<p>in questo articolo vorrei spiegare come ho creato il mio ambiente di lavoro ideale su questa piattaforma utilizzandone le potenzialità che apprezzo senza rinunciare alla personalizzazione e senza compromessi rispetto alle esigenze dell&#8217;infrastruttura aziendale. da <a title="front-end web developer" href="http://www.e-xtrategy.net/chi-siamo/" target="_blank">front-end web developer</a> necessito innanzi tutto di <strong>una suite di lavoro dalle caratteristiche web-creative</strong> che sia potente, efficace e soprattutto compatibile col gli standard utilizzati dai grafici e creativi. inutile dire che tra le migliori troviamo la <strong>adobe</strong> con la sua <a title="creative suite" href="http://www.adobe.com/it/products/creativesuite/web/" target="_blank">creative suite</a> web premium: massima compatibilità con la piattaforma mac e possibilità di operare con la totalità dei file che provengono dagli studi grafico-creativi.<span id="more-2645"></span></p>
<p>ho poi bisogno di un <strong>editor</strong>, visto che nell&#8217;ultimo periodo abbiamo cambiato modalità di lavoro optando per un <strong>sistema con controllo della versione</strong>, la scelta è stata già scremata dalle applicazioni che non rispettano queste caratteristiche. inizialmente, reduce dalla vecchia modalità di lavoro, mi sarei accontentato di un editor e da un sistema di versioning separato. ho provato <a title="coda" href="http://www.panic.com/coda/" target="_blank">coda</a> e <a title="taco" href="http://tacosw.com/" target="_blank">taco</a> come editor testando parallelamente <strong>subversion, version e syncro SVN</strong> per il controllo della versione. risultati abbastanza soddisfacenti ma il software sopra citato non è tutto freeware.</p>
<p>successivamente, in base anche alle esperienze dei colleghi, ho preferito un software unico più potente (anche se più pesante), in grado di elaborare tutti i formati, con un alto livello di personalizzazione (anche per la parte di colorazione del codice), con un alto livello di utenza (e quindi una community affidabile), con una estendibilità in grado di soddisfare ogni esigenza e freeware. la scelta si è spostata su <a title="eclipse" href="http://www.eclipse.org" target="_blank">eclipse</a>, software disponibile sia per windows, per linux e per mac che tramite il plugin <a title="subvertise" href="http://www.eclipse.org/subversive/" target="_blank">subversive</a> installa anche il sistema per il controllo della versione.</p>
<p>ora manca solo un <strong>web server</strong> da installare sulla macchina per lavorare in locale che in base alle caratteristiche aziendali dovrà essere <strong>LAMP</strong> (linux, apache, mysql, php), mi sono subito orientato alla scelta verso l&#8217;ambiente <a title="MAMP" href="http://www.mamp.info/en/index.html" target="_blank">MAMP</a> molto “apple formed”, gratuito ed immediato tanto che è segnalato anche tra le migliori applicazioni per mac. <strong>MAMP</strong> ha una start-up page immediata che ingloba le preferenze scelte, link alla pagina info.php e link alla gestione dei database con il pannello di phpmysql e un widget appositamente creato per la dashboard di machintosh che permette di avviare e stoppare il server in qualsiasi momento in maniera molto rapida.</p>
<p>potremmo essere pronti per lavorare ma vorrei soffermarmi su un aspetto più tecnico e macchinoso. lavorare in locale esige la modifica del file di <strong>hosts</strong>. questa modifica da mac non è immediata. di seguito spiego minuziosamente i passaggi da fare in modo da permettere anche ai non tecnici di poterlo effettuare autonomamente.</p>
<p>il file di hosts, come su linux, si trova dentro la cartella <em>/etc</em>. per andarci dal nostro finder scegliere il menu <em>&#8220;vai&#8221;</em> quindi <em>&#8220;vai alla cartella&#8221;</em> e scrivere <em>/etc</em> ci si apre la finestra dove possiamo trovare il file hosts che se apriamo con un editor o con l&#8217;applicazione di default text edit ci mostra il contenuto del database di hosts della macchina. in teoria dovremmo aggiungere una riga inserendo la regola che fa rispondere al nostro indirizzo locale la cartella di lavoro ma il problema è che il nostro utente, seppur amministratore della macchina, non ha i privilegi per modificare questi settaggi sensibili.</p>
<p>occorre infatti diventare <strong>utente root</strong> del nostro mac. come fare? in <a title="questo post" href="http://www.spider-mac.com/blog/spider-mac/Voci/2009/9/4_Snow_Leopard__come_abilitare_lutente_root.html" target="_blank">questo post</a> vengono spiegati molto bene i passaggi da fare anche nel più recente sistema operativo snow leopard che ha rivisto l&#8217;organizzazione di certi menu. seguita la procedura avremo abilitato l&#8217;utente root (associando ad esso una password) ed ora dobbiamo abilitarlo utilizzando la<strong> shell</strong>. nelle <em>&#8220;applicazioni&#8221;</em> c&#8217;è la carella <em>&#8220;utility&#8221;</em> quindi l&#8217;applicazione <em>&#8220;terminale&#8221;</em>. digitiamo la parola <em>&#8220;su&#8221;</em> (per diventare super utente, appunto root) e alla pressione di invio ci verrà chiesta la password (quella che abbiamo scelta quando abbiamo abilitato l&#8217;utente root). a questo punto ci verrà restituito il prompt da utente root per quella sessione di terminale. digitiamo il comando <em>&#8220;vim/etc/hosts&#8221;</em> (che equivale a dire modifico il file hosts sito dentro la cartella /etc) e alla pressione di invio ci verrà aperto dentro il terminale il file hosts. premere la lettera <em>&#8220;I&#8221;</em> per effettuare l&#8217;editing e una volta aggiunta la riga necessaria premere il tasto ESC seguito dai due punti. ora digitare <em>&#8220;wq&#8221;</em> (write and quit) per uscire dall&#8217;editing.</p>
<p>alessandro</p>
<p>photo credits: <a title="apple command" href="http://www.flickr.com/photos/puntodevista/118666362/" target="_blank">apple command</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-xtrategy.net/2010/03/22/il-mac-ambiente-di-lavoro-anche-per-lo-sviluppatore/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>la realtà aumentata è davanti ai nostri occhi</title>
		<link>http://www.e-xtrategy.net/2009/12/15/la-realta-aumentata-e-davanti-ai-nostri-occhi/</link>
		<comments>http://www.e-xtrategy.net/2009/12/15/la-realta-aumentata-e-davanti-ai-nostri-occhi/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 09:00:35 +0000</pubDate>
		<dc:creator>alfredo morresi</dc:creator>
				<category><![CDATA[soluzioniweb]]></category>
		<category><![CDATA[alfredomorresi]]></category>
		<category><![CDATA[mobilesocialgaming]]></category>
		<category><![CDATA[realtàaumentata]]></category>

		<guid isPermaLink="false">http://www.e-xtrategy.net/?p=2404</guid>
		<description><![CDATA[sovrapporre uno o piu' strati informativi alla realta' davanti ai nostri occhi, mostrare dati provenienti dalla rete agganciati a cio' che stiamo vedendo: a piu' di 20 anni di distanza, la visione dei grandi autori del cyberpunk, come gibson in "luce virtuale", incontra una tecnologia in grado di farla diventare concreta e alla portata di tutti. nascono cosi' interessanti scenari di realta' aumentata: un nuovo mondo da scoprire, sempre piu' mobile, sempre piu' con noi anche fuori da casa e dal lavoro.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.uwplatt.edu/web/presentations/ar/heweb09/pix/augmented-reality-hud.jpg"><img class="alignnone" src="http://www.uwplatt.edu/web/presentations/ar/heweb09/pix/augmented-reality-hud.jpg" alt="" width="400" height="300" /></a></p>
<p><strong><img class="alignleft" src="http://www.e-xtrategy.net/wp-content/uploads/2009/12/rainbowbreeze.png" alt="" width="63" height="63" />guest post</strong> di <a title="alfredo morresi" href="http://www.rainbowbreeze.it/" target="_blank">alfredo morresi</a> – <a title="software engineer" href="http://it.linkedin.com/in/alfredomorresi" target="_blank">software engineer</a></p>
<p style="text-align: left;"><em>pubblichiamo con piacere un articolo nato da una riflessione di alfredo che tratta di un argomento innovativo su cui ci stiamo confrontando in questo periodo.</em></p>
<p>sovrapporre uno o piu&#8217; strati informativi alla realta&#8217; davanti ai nostri occhi, mostrare dati provenienti dalla rete agganciati a cio&#8217; che stiamo vedendo: a piu&#8217; di 20 anni di distanza, la visione dei grandi autori del cyberpunk, come gibson in &#8220;luce virtuale&#8221;, incontra una tecnologia in grado di farla diventare concreta e alla portata di tutti. nascono cosi&#8217; interessanti scenari di realta&#8217; aumentata: <strong>un nuovo mondo da scoprire, sempre piu&#8217; mobile</strong>, sempre piu&#8217; con noi anche fuori da casa e dal lavoro.</p>
<p>i cyborg della serie terminator poteva vedere informazioni aggiuntive in sovraimpressione a quanto i loro occhi inquadravano: nome della persona, dati sui veicoli, strada da percorrere. seppur vecchio di 25 anni, questo e&#8217; un primo esempio di cosa si puo&#8217; fare con la realta&#8217; aumentata. da una fiction holliwoodiana del 1984, passiamo ai giorni nostri, dove i telefonini piu&#8217; avanzati hanno portato questa stessa possibilita&#8217; alle masse. basta mettere a fuoco un <a title="monumento" href="http://www.youtube.com/watch?v=8EA8xlicmT8" target="_blank">monumento</a> per conoscere il suo nome e una dettagliata descrizione, presa dalle pagine di wikipedia; trovarsi davanti ad un negozio ed accedere alle recensioni scritte dagli <a title="utenti" href="http://www.youtube.com/watch?v=KgTwSXK_5dg" target="_blank">utenti</a>, puntare una strada e sapere che, in fondo a destra, c&#8217;e&#8217; una pizzeria, potendo anche navigare sul suo sito internet.<span id="more-2404"></span></p>
<p><strong>ma come&#8217; possibile questa magia?</strong> parte del merito e&#8217; dei device mobili di ultima generazione, che da telefonini si sono evoluti fino a diventati smartphone e, oltre ad offrirci un collegamento in mobilita&#8217; alla rete internet, sono in grado di capire esattamente dove si trovano nello spazio. il gps fornisce le coordinate, gli accelerometri l&#8217;inclinazione, la bussola la direzione. combinando questi tre fattori, e&#8217; possibile determinare quali oggetti, con una posizione nota, ricadono nel raggio visuale della fotocamera del device. proprio questo e&#8217; il compito di programmi come <a title="layar" href="http://layar.com/" target="_blank">layar</a>, <a title="wikitude" href="http://www.wikitude.org/" target="_blank">wikitude</a>, <a title="theodolite" href="http://hunter.pairsite.com/theodolite/" target="_blank">theodolite</a> ed altri, che rielaborano il flusso di immagini riprese e lo combinano con le informazioni georeferenziate presenti nei loro database: indicazioni stradali, monumenti, dati sugli esercizi commerciali, modelli tridimensionali.</p>
<p>eh si, perche&#8217; da poco queste applicazioni sanno anche ricostruire complesse forme geometriche e collocarle davanti ai nostri occhi. e&#8217; possibile cosi&#8217; rivedere le <a title="torri gemelle" href="http://www.mobilizy.com/dewikitude-lsst-world-trade-center-3d-mobiltelefon-auferstehen" target="_blank">torri gemelle</a> puntando un iphone su groud zero, oppure scoprire, prima della sua costruzione, come sara&#8217; il cantiere del nuovo market hall, a <a title="rotterdam" href="http://www.youtube.com/watch?v=9tM8L8fMb98" target="_blank">rotterdam</a> : esplorarlo, girandoci attorno ed entrandoci dentro. ancora, scovare piccoli <a title="invizimals" href="http://news.cnet.com/8301-17938_105-10258272-1.html" target="_blank">invizimals</a> a passeggio per la casa e scatenare poi duelli tra di loro, vedere come sara&#8217; l&#8217;aspetto di una costruzione <a title="lego" href="http://www.youtube.com/watch?v=PGu0N3eL2D0" target="_blank">lego</a> mettendo la scatola davanti ad un apposito specchio. interessante anche il concept proposto da <a title="ikea" href="http://www.robinwestergren.com/ikea/" target="_blank">ikea</a>, grazie al quale si stampa un apposito codice a barre bidimensionale di un prodotto preso dal loro catalogo, ad esempio un letto, si posiziona il foglio dove questo prodotto dovrebbe andare, si inquadra con la webcam la stanza e il computer ci svela, in anteprima, come apparira&#8217; con il letto montato e posizionato. <strong>non ci piace? </strong>nessun problema, stampiamo un nuovo codice, lo mettiamo al posto di quello vecchio e controlliamo il risultato. quando siamo finalmente soddisfatti, il computer sa gia&#8217; con quali prodotti stiamo arredando la camera e li ordinera&#8217; per noi.</p>
<p>scordiamoci anche i navigatori cosi&#8217; come li conosciamo oggi: non piu&#8217; una mappa con il percorso da effettuare, ma precise indicazioni sovrapposte direttamente sulla strada davanti ai nostri occhi. oggi, grazie a <a title="wikidrive" href="http://www.youtube.com/watch?v=PdmSVCDmJGA" target="_blank">wikidrive</a> su uno smartphone, domani proiettati sul parabrezza della nostra auto. dopotutto, gli aerei militari utlizzavano l&#8217;hud fin dagli anni &#8216;80, si vedono gia&#8217; le prime macchine con collegamento ad internet incluso negli optional, e&#8217; solo una questione di tempo prima che qualche casa costruttrice trovi un accordo con un fornitore di servizi e includa nella gamma top delle sue vetture un &#8220;visio-navigatore&#8221;.</p>
<p>un altro comparto dove la realta&#8217; aumentata ha grandi potenzialità di sviluppo, e&#8217; quello del <strong>mobile social gaming</strong>: pensiamo ad una caccia al tesoro collaborativa, dove gli indizi virtuali sono disseminati all&#8217;interno di un percorso urbano, dove precisi eventi innescati da un team possono cambiare il corso dell&#8217;avventura a cui anche altri team partecipano: una spia si nasconde all&#8217;angolo del parco: il primo team che la trova, inquadrandola con un telefonino, ricevera&#8217; preziose informazioni. a questo punto la spia va via, oppure si muove e non sara&#8217; piu&#8217; rintracciabile nello stesso luogo, ma in un posto diverso, che i successivi team dovranno scoprire. magari potremmo anche incontrare i beatles per <a title="strada" href="http://gizmodo.com/5417946/dear-new-layar-30-you-got-me-at-beatles" target="_blank">strada</a>.</p>
<p>ovviamente anche il turismo potrebbe beneficiare di queste innovazioni. se gia&#8217; prima si parlava della possibilita&#8217; di sapere nome e informazioni aggiuntive su un monumento, un&#8217;opera d&#8217;arte, un luogo, pensiamo a quanto potrebbe diventare divertente, e formativa, la visita ad un sito storico se arricchita dalla possibilita&#8217; di vedere scene di vita provenienti dall&#8217;antichita&#8217;: i fori romani ricostruiti in tutto il loro sfarzo, gli affreschi di una facciata nella loro brillantezza originaria. basta inquadrare e muoversi, per conoscere cosa c&#8217;era prima. la nuova frontiera delle guide interattive.</p>
<p>dobbiamo comunque precisare che questa &#8220;prima generazione&#8221; di software per la realta&#8217; aumentata non riconosce gli oggetti che vengono messi a fuoco dalla fotocamera del dispositivo, ma, come dicevamo prima, presumono che in quello scorcio di realta&#8217; ci sia qualcosa solamente basandosi sulla sua posizione. un limite che, un po&#8217; alla volta, verra&#8217; superato, come gia&#8217; ci sta mostrando google <a title="goggles" href="http://www.google.com/mobile/goggles/" target="_blank">goggles</a>, annunciato pochi giorni fa.</p>
<p>in ultimo, una buona notizia per gli sviluppatori. non occorre avere decine di migliaia di euro alle spalle per realizzare uno di questi software: layar e wikitude, ognuno con le sue peculiarita&#8217;, mettono a disposizione client o api per android e per iphone che fanno quando abbiamo descritto fin qui, con la possibilita&#8217; di integrare propri dati. anche gratuitamente.</p>
<p>insomma, l&#8217;<strong>hype</strong> intorno a questo settore e&#8217; davvero alto, e non tarderanno ad arrivare applicazioni che saranno in grado di <span style="text-decoration: underline;">lasciarci con il fiato sospeso</span>, ancora di piu&#8217; rispetto a quanto visto fino ad ora. sono convinto che ci troviamo di fronte ad uno stagno appena scoperto: qualche buona idea, iniziativa e un minimo di voglia di rischiare saranno l&#8217;esca giusta per tirare su i grossi pescioni che lo popolano. <strong>cosa state aspettando?</strong></p>
<p>alfredo morresi</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-xtrategy.net/2009/12/15/la-realta-aumentata-e-davanti-ai-nostri-occhi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>clubtimarche: nuovo web site, al centro la community</title>
		<link>http://www.e-xtrategy.net/2009/11/03/clubtimarche-il-progetto-ti-siamo-community/</link>
		<comments>http://www.e-xtrategy.net/2009/11/03/clubtimarche-il-progetto-ti-siamo-community/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 08:00:11 +0000</pubDate>
		<dc:creator>adriano gasparri</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[soluzioniweb]]></category>
		<category><![CDATA[webmarketing]]></category>
		<category><![CDATA[clubtimarche]]></category>
		<category><![CDATA[community]]></category>

		<guid isPermaLink="false">http://www.e-xtrategy.net/?p=2195</guid>
		<description><![CDATA[l'esperienza positiva dell'evento "creare conversazione fuori e dentro l'azienda" ha portato il club ti marche a percorrere l'"innovativa" strada delle community e a rinnovare il web site dell'associazione nell'ottica dei social networks.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://www.flickr.com/photos/e-xtrategy/4053194096/"><img class="alignnone" src="http://farm3.static.flickr.com/2712/4053194096_48dcf1c2c3_o.jpg" alt="" width="559" height="324" /></a></p>
<p style="text-align: left;"><strong>progetto:</strong> <a title="clubtimarche.it" href="http://www.clubtimarche.it/">clubtimarche.it</a> <strong>cliente: </strong><a title="club ti marche" href="http://www.clubtimarche.it/">club ti marche</a></p>
<p>l&#8217;esperienza positiva dell&#8217;evento &#8220;<a title="creare conversazione dentro e fuori l'azienda" href="http://www.e-xtrategy.net/tag/evento20/ " target="_blank">creare conversazione fuori e dentro l&#8217;azienda</a>&#8221; ha portato il club ti marche a percorrere l&#8217;&#8221;innovativa&#8221; strada delle <strong>community</strong> e a rinnovare il web site dell&#8217;associazione nell&#8217;ottica dei <strong>social network</strong>.<span id="more-2195"></span></p>
<p>seguendo la prospettiva dell’interazione e della <strong>condivisione</strong>, il club ha abbracciato le logiche del web sociale e si è aperto al <strong>confronto</strong> con la &#8220;parte abitata della rete&#8221; accogliendo suggerimenti, proposte, iniziative e partnership; da queste premesse è nato il progetto strategico &#8220;<strong>ti-siamo marche</strong>&#8221; che ha portato allo sviluppo di un blog per favorire la <strong>conversazione</strong> e incentivare i feedback da parte delle persone che parteciperanno alla vita quotidiana della comunità.</p>
<p>il nuovo sito garantisce una <strong>fruizione dei contenuti</strong> molto fluida e da ampio spazio alle sezioni che costituiscono il &#8220;cuore pulsante&#8221; della community: un&#8217;area che racchiude tutti gli articoli informativi pubblicati nel blog, un&#8217;area che ospiterà meeting, workshop, eventi in diretta streaming e sessioni di microblogging, dando la possibilità a chi ci segue di esprimersi con domande, commenti e curiosità ed un area riservata ai soci che potranno pubblicare sul sito case study, articoli e interviste.</p>
<p>la parte tecnica ha previsto un&#8217;installazione di <strong>wordpress</strong> personalizzata secondo le esigenze del progetto, la caratteristica distintiva predominante è senza ombra di dubbio l&#8217;integrazione del web site con i social network dell&#8217;associazione (il club è presente su <a title="twitter" href="http://twitter.com/clubtimarche" target="_blank">twitter</a> e su <a title="flickr" href="http://www.flickr.com/photos/clubtimarche" target="_blank">flickr</a>): è stato sviluppato un mash-up per la gestione degli eventi live ed integrato all&#8217;interno del sito, anche questo comodamente fruibile attraverso l’utilizzo di feed rss personalizzati che permettono di rimanere sempre aggiornati sulle iniziative e le novità dell&#8217;associazione.</p>
<p>sono stati utilizzati alcuni plugin per arricchire di funzionalità la piattaforma:</p>
<p>-<a title="sendit" href="http://www.giuseppesurace.com/sendit-wp-newsletter-mailing-list/" target="_blank"> sendit</a> gestisce dinamicamente l’invio di una newsletter periodica.<br />
- <a title="cimy" href="http://www.marcocimmino.net/cimy-wordpress-plugins/cimy-user-extra-fields/" target="_blank">cimy</a> estendere i campi del form di registrazione al sito, personalizzando con la richiesta delle informazioni selezionate.<br />
- <a title="user access manager" href="http://www.gm-alex.de/projects/wordpress/plugins/user-access-manager/" target="_blank">user access manager</a> permette di attribuire al post in pubblicazione la visibilità pubblica o la visibilità solo ad un particolare gruppo di utenti.<br />
- <a title="capability manager" href="http://alkivia.org/wordpress/capsman/" target="_blank">capability manager</a> gestisce in modo avanzato il profilo degli utenti registrati.<br />
- <a title="sociable" href="http://blogplay.com/sociable-for-wordpress/" target="_blank">sociable</a> da la possibilità di condividere il post nei maggiori social network.<br />
-  <a title="wp-cumulus" href="http://www.roytanck.com/2008/03/15/wp-cumulus-released/" target="_blank">wp-cumulus</a> permette di aggiungere una tag cloud in flash.<br />
- exmashup permettere di leggere via php un mashup rss.<br />
- clubti admin theme permette la personalizzazione del tema grafico del pannello di amministrazione di wordpress</p>
<p>adriano</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;"><strong>http://farm3.static.flickr.com/2712/4053194096_48dcf1c2c3_o.jpg</strong></div>
]]></content:encoded>
			<wfw:commentRss>http://www.e-xtrategy.net/2009/11/03/clubtimarche-il-progetto-ti-siamo-community/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>le chiacchiere di italia.it</title>
		<link>http://www.e-xtrategy.net/2009/09/16/le-chiacchiere-di-italia-it/</link>
		<comments>http://www.e-xtrategy.net/2009/09/16/le-chiacchiere-di-italia-it/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 08:00:43 +0000</pubDate>
		<dc:creator>alessandro violini</dc:creator>
				<category><![CDATA[soluzioniweb]]></category>
		<category><![CDATA[accessibilità]]></category>
		<category><![CDATA[italia.it]]></category>

		<guid isPermaLink="false">http://www.e-xtrategy.net/?p=1914</guid>
		<description><![CDATA[da poco è stato pubblicato (o meglio ri-pubblicato) il web site italia.it.

un sito che ci rappresenta? no, perché non è il suo scopo quello di rappresentarci. il web site nasce per promuovere il turismo, per attirare il visitatore nel nostro paese.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="alignnone size-full wp-image-1932" title="italia.it" src="http://www.e-xtrategy.net/wp-content/uploads/2009/09/italiait.jpg" alt="italia.it" width="559" height="307" /></p>
<p style="text-align: left;">da poco è stato pubblicato (o meglio ri-pubblicato) il web site <a title="italia.it" href="http://www.italia.it/" target="_blank">italia.it</a>.</p>
<p style="text-align: left;">un sito che <strong>ci rappresenta</strong>? no, perché non è il suo scopo quello di rappresentarci. il web site nasce per promuovere il turismo, per attirare il <a title="visitatore" href="http://www.haisentito.it/articolo/italia-it-il-nuovo-sito-di-promozione-del-turismo/16559/" target="_blank">visitatore</a> nel nostro paese.</p>
<p style="text-align: left;">un sito <strong>costato troppo</strong>? forse, da come si legge il budget era elevatissimo e in molti avrebbero potuto fare di più con quei <a title="parametri" href="http://www.mytag.it/viaggi/706-nuovo-sito-italiait-per-promuovere-limmagine-dellitalia-nel-mondo.html" target="_blank">parametri</a>.</p>
<p style="text-align: left;">un sito <strong>brutto</strong>? dipende, la bellezza è soggettiva… è stato scelto un layout bianco dove foto e anteprime di video fanno da protagonisti tra elementi spaziati ed essenzialistici. alcuni creativi lo criticano. io mi soffermerei più a capire se funziona, criticare è sempre facile.</p>
<p style="text-align: left;">un sito con <strong>carenze tecniche</strong>? sembra. i pareri di esperti mettono alla luce quanto, oltre a non presentare innovazione, non utilizzi nemmeno buone <a title="procedure" href="http://webreflection.blogspot.com/2009/07/it-ri-italiait-parere-veloce-veloce.html" target="_blank">procedure</a> già consolidate negli ultimi anni di web, quello professionale ovviamente.<span id="more-1914"></span></p>
<p style="text-align: left;">un sito<strong> accessibile</strong>? non pare, dai commenti di molti esperti le attenzioni alla legge 04, vanto di noi italiani, sono poche, a volte sembra che il <a title="problema" href="http://robertoscano.info/random-bits/italia-it-laccessibilita-non-abita-in-italia/" target="_blank">problema</a> non sia stato posto affatto.</p>
<p style="text-align: left;">un sito <strong>politico</strong>? nemmeno mi ci soffermo. fa chiacchierare il sito italia.it. il mio giudizio è semplicemente <strong>“si poteva fare di più”</strong>. con questa discussione, a differenza di una chiacchierata, vorrei esprimere come mi sarei mosso in un progetto come italia.it valutando le buone cose che abbiamo nel nostro paese riguardo il mondo del web. vantiamo in italia uno dei primi provvedimenti legislativi in tema di accessibilità nonché esperti qualificati che rappresentano il nostro paese in una associazione mondiale con etica di rispetto degli standard <a title="W3C" href="http://www.w3.org/">W3C</a> e dell’accessibilità ovvero <a title="IWA" href="http://www.iwa.it/" target="_blank">IWA</a> italia.</p>
<p style="text-align: left;">se l’azienda incaricata avesse <strong>lacune</strong> (come dimostrato) in materia sarebbe stato interessante quanto proficua una collaborazione;  sempre da come si legge il budget sembrava esserci. vantiamo anche un evento ormai annuale sullo studio dell’usabilità e l’architettura dell’informazione come l&#8217;italian <a title="IA" href="http://www.iasummit.it/" target="_blank">IA</a> summit.</p>
<p style="text-align: left;">se l’azienda incaricata avesse lacune in materia avrebbe potuto interfacciarsi e collaborare con i promotori di questa iniziativa. sarebbe stato bello poter vedere <strong>soluzioni moderne</strong>, efficacia e attenzioni in un web site che porta quel dominio e che deve funzionare per attirare turismo nel nostro paese. avrei voluto vedere un buon esempio di sito web.</p>
<p style="text-align: left;">vince la beta version. l’idea di &#8220;non ancora completo&#8221; salva ogni giudizio, ma mi chiedo: ha senso una versione beta? qualcuno visiterebbe qualcosa che non è ancora completo? <a title="si poteva fare di più" href="http://friendfeed.com/italia-it" target="_blank">si poteva fare di più</a>.</p>
<p style="text-align: left;">alessandro</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-xtrategy.net/2009/09/16/le-chiacchiere-di-italia-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>cucine 2000: elementi per arredare</title>
		<link>http://www.e-xtrategy.net/2009/07/31/cucine-2000-elementi-per-arredare/</link>
		<comments>http://www.e-xtrategy.net/2009/07/31/cucine-2000-elementi-per-arredare/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 08:00:14 +0000</pubDate>
		<dc:creator>adriano gasparri</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[soluzioniweb]]></category>
		<category><![CDATA[cucine]]></category>
		<category><![CDATA[cucine2000]]></category>

		<guid isPermaLink="false">http://www.e-xtrategy.net/?p=1841</guid>
		<description><![CDATA[
progetto: cucine2000.it cliente: cucine 2000
cucine 2000 aveva bisogno di rinnovare radicalmente il sito sotto il profilo grafico, funzionale e di gestione dei contenuti, la nuova soluzione web è stata progettata per valorizzare le numerose immagini, in modo da poter apprezzare sia le due principali collezioni, che per vedere nel dettaglio la vasta gamma di dettagli [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://www.flickr.com/photos/e-xtrategy/4075230794/"><img class="alignnone" src="http://farm3.static.flickr.com/2624/4075230794_d9d83c0187_o.jpg" alt="" width="559" height="324" /></a></p>
<p style="text-align: left;"><strong>progetto:</strong> <a title="cucine2000.it" href="http://www.cucine2000.it/">cucine2000.it</a> <strong>cliente: </strong><a title="cucine 2000" href="http://www.cucine2000.it/">cucine 2000</a></p>
<p style="text-align: left;">cucine 2000 aveva bisogno di rinnovare radicalmente il sito sotto il profilo grafico, funzionale e di gestione dei contenuti, la <strong>nuova soluzione web</strong> è stata progettata per valorizzare le numerose immagini, in modo da poter apprezzare sia le due principali collezioni, che per vedere nel dettaglio la vasta gamma di dettagli tecnici delle cucine: un <strong>restyling </strong>che migliora notevolmente l’usabilità della ricerca delle informazioni.<span id="more-1657"> </span></p>
<p style="text-align: left;">i nuovi <strong>percorsi di navigazione</strong> del sito consentono un’efficace gestione dei contenuti, così da poter individuare fin da subito tutti i prodotti. la piattaforma realizzata fornisce un’<strong>area riservata</strong> attraverso la quale l’azienda ha il completo controllo  delle principali sezioni del sito con la possibilità di inserire autonomamente le informazioni, le gallerie di immagini.</p>
<p style="text-align: left;">l&#8217;interfaccia è stata studiata per focalizzare l&#8217;utente navigatore negli scatti delle cucine e dei loro dettagli, il layout dell&#8217;home page infatti lascia uno spazio importante alle foto pari al 85% circa dello spazio disponibile. questo è stato possibile grazie all&#8217;utilizzo della tecnologia flash che <span style="text-decoration: underline;">ridimensiona automaticamente</span> lo scatto adeguandolo alle dimensioni della finestra di navigazione. la stessa soluzione è stata utilizzata sull&#8217;altro apposito layout della sezione collezioni unita ad una galleria immagini che consente all&#8217;utente di scorrere rapidamente tutti gli scatti.</p>
<p style="text-align: left;">il <a title="content management system" href="http://it.wikipedia.org/wiki/Content_management_system" target="_blank">content management system</a> è stato sviluppato in PHP basato su <a title="zend framework" href="http://it.wikipedia.org/wiki/Zend_Framework">zend framework</a>: il sistema di amministrazione gestisce un database utenti, i quali si possono iscrivere nella parte pubblica del sito. l&#8217;utente, una volta ricevuta l&#8217;approvazione dall&#8217;amministratore avrà accesso al download dei listini ed a una sezione contenente informazioni riservate.</p>
<p style="text-align: left;">adriano</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-xtrategy.net/2009/07/31/cucine-2000-elementi-per-arredare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>layout ordinati: questione di griglie e ritmo</title>
		<link>http://www.e-xtrategy.net/2009/07/14/layout-ordinati-questione-di-griglie-e-ritmo/</link>
		<comments>http://www.e-xtrategy.net/2009/07/14/layout-ordinati-questione-di-griglie-e-ritmo/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 08:00:11 +0000</pubDate>
		<dc:creator>alessandro violini</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[soluzioniweb]]></category>
		<category><![CDATA[claet]]></category>
		<category><![CDATA[gridsystem]]></category>
		<category><![CDATA[verticalrytm]]></category>

		<guid isPermaLink="false">http://www.e-xtrategy.net/?p=1781</guid>
		<description><![CDATA[da tempo si sente parlare sempre più dell'adozione della griglia come ripartizione degli spazi in un layout e del ritmo verticale per mantenere i testi allineati come su un quaderno a righe della scuola. l'esigenza di esprimersi al meglio, mantenere i canoni di qualità più alti, aggiornarsi alle ultime tecnologie e soprattutto avere una creativa che ha già intrapreso questa filosofia di progettazione mi ha fatto approfondire questi argomenti.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://www.flickr.com/photos/e-xtrategy/3706834870/"><img class="alignnone" title="teatro claet" src="http://farm3.static.flickr.com/2529/3706834870_52363e7f18_o.jpg" alt="" width="559" height="324" /></a></p>
<p style="text-align: left;"><strong>progetto:</strong> <a title="www.teatroclaet.it" href="http://www.teatroclaet.it/">www.teatroclaet.it</a> <strong>cliente: </strong>teatro claet</p>
<p style="text-align: left;">da tempo si sente parlare sempre più dell&#8217;adozione della <strong>griglia</strong> come ripartizione degli spazi in un layout e del <strong>ritmo verticale</strong> per mantenere i testi allineati come su un quaderno a righe della scuola. l&#8217;esigenza di esprimersi al meglio, mantenere i canoni di qualità più alti, aggiornarsi alle ultime tecnologie e soprattutto lavorare con una creativa che ha già intrapreso questa filosofia di progettazione mi ha fatto approfondire questi argomenti.</p>
<p style="text-align: left;"><strong>primo passo: chiarire le idee.</strong></p>
<p style="text-align: left;">Il &#8220;<strong>grid system</strong>&#8221; (di seguito griglia) è la suddivisione del layout in colonne verticali uguali tra loro dove, una volta stabilito lo spazio che le separa, l&#8217;unione di esse dà origine agli spazi dei macro blocchi (i nostri DIV), e sotto blocchi fino alla scomposizione minima della colonna stessa che rappresenta lo spazio minimo consentito.<br />
il &#8220;<strong>vertical rytm</strong>&#8221; (di seguito ritmo) è il flusso del testo che segue una griglia di linee orizzontali stabilite in fase di progettazione grafica. queste linee sono come le guide di un quaderno. i testi quindi la rispettano e mantengono gli stessi allineamenti verticali tra blocco e blocco del nostro layout. seguono una giusta spaziatura proporzionale alle dimensioni del font che rispetta sempre questo ritmo e non lo sfalza.<span id="more-1781"></span>
</p>
<p style="text-align: left;">la griglia ed il ritmo sono due concetti diversi e separabilmente implementabili anche se l&#8217;accoppiata è complementare ad un risultato più preciso ed efficace. la <strong>modularità delle due soluzioni</strong> comunque offre una versatilità di implementazione che ci lascia liberi di scegliere anche in base ai soliti problemi di tempo e budget. il ritmo può essere applicato anche ad una sola parte del layout e questo lavoro può essere fatto anche in un secondo momento: potremmo portare a ritmo anche un lavoro già realizzato dove non era previsto. la griglia invece fa parte della struttura scheletrica del layout e pertanto è una scelta da porsi ad inizio lavorazione o ne comporterà in futuro una grande rielaborazione del codice HTML e CSS.</p>
<p style="text-align: left;"><strong>secondo passo: capire i vantaggi.</strong></p>
<p style="text-align: left;">la griglia offre a primo impatto una versatilità nei blocchi del layout rendendo molto semplice la suddivisione dei spazi e delle colonne sia per testi che per elementi decorativi. non si rischia mai di utilizzare una porzione di spazio sproporzionata o disordinata. il tutto crea un ordine nella struttura che è <strong>delizia per i creativi e semplicità per i web designer</strong>. lato codice si eliminano alcuni DIV ridondanti semanticamente poco corretti introducendone altri (da un lato sempre ridondanti) ma semanticamente corretti.<br />
il ritmo invece, come si legge dalle teorie di pensiero, offre estremo ordine e riduce l&#8217;entropia della pagina che si traduce in <strong>leggibilità e leggerezza</strong>. altra delizia per i grafici, magari meno tangibile per i tecnici, che influisce sulla percezione cognitiva dell&#8217;utente, anche questo tema sempre più blasonato dagli studi di usabilità e architettura dell&#8217;informazione.
</p>
<p style="text-align: left;"><strong>terzo passo: l&#8217;implementazione.</strong></p>
<p style="text-align: left;">di materiale ce n&#8217;è molto online ma la maggior parte applicato ad esempi di pagine bianche con solo testo. capiterà mai a noi una pagina così? no. dunque <strong>ho voluto studiare questa tecnica su di un progetto reale</strong> che ha visto la pubblicazione qualche giorno fa: &#8220;<a title="teatro claet" href="http://www.teatroclaet.it/" target="_blank">teatro claet</a>&#8221; un blog (basato su wordpress) di una compagnia teatrale.</p>
<p style="text-align: left;">in questo caso di layout fisso è stato scelto un ingombro massimo di 960px come solitamente accade e per la griglia sono state scelte colonne da 60px separate da uno spazio di 20px. Il risultato è quindi un DIV contenitore di 12 colonne (più relativi spazi) quindi 12 (colonne) * 60px (ingombro) = 720, e 12 (colonne) * 20px (spazio tra una e l&#8217;altra) = 240px, da cui 720px + 240px = 960px appunto il nostro ingombro scelto. il layout è stato poi suddiviso in due macro blocchi (contenuto e colonna 1) da 6 colonne ciascuno. a sua volta la colonna 1 è composta da due sotto blocchi da 3 colonne ciascuno.</p>
<p style="text-align: left;">una volta impostato il lavoro lato creativo non resta che montarlo con HTML e CSS. nulla toglie che questa spaziatura di colonne data dalla griglia sia rispettabile con una stesura del codice HTML e CSS a piacimento e personale ma la vera innovazione del grid system e i suoi vantaggi tecnici stanno proprio nel rispettare questa tecnica utilizzata anche guarda caso da due dei principali framework CSS come <a title="yui" href="http://developer.yahoo.com/yui/" target="_blank">yui</a> e <a title="blueprint" href="http://www.blueprintcss.org/" target="_blank">blueprint</a>.<br />
il sistema a griglia prevede il DIV come elemento di blocco/struttura e fin qui non cambia niente. avremo sempre i DIV contenitore, testata e fondo come fin&#8217;ora siamo abituati a vedere ma per ogni DIV che non sarà largo quanto il contenitore (come contenuto o le colonne e tutti i sotto blocchi) subentra il sistema griglia.</p>
<p style="text-align: left;">infatti i DIV &#8220;addetti&#8221; a rispettare la griglia hanno una classe che li identificano in base a che tipo di ingombro sto adoperando rispetto alla griglia. lato CSS vado ad indicare l&#8217;ingombro di tali classi delle colonne e tramite un margine negativo al div contenitore della griglia e alla tecnica dei float contrari rendo l&#8217;affiancamento delle colonne con una compatibilità che parte da IE 5.5 fino alle moderne release di browser. inoltre si elimina dal codice il famoso e semanticamente scorretto DIV cleaner o pulitore (insomma il comune resettatore di float che eseguiva il clear dei blocchi flottanti) ed il DIV corpo (ovvero il contenitore dei sotto blocchi principali come contenuto e colonne).<br />
tale sotto scomposizione dei DIV griglia è infinita fino al valore minimo della colonna stessa ovvero l&#8217;ingombro della colonna scelta che nel nostro caso è 60px, il tutto affiancato e senza problemi usando le classi nei DIV della griglia. ogni DIV non addetto alla griglia ha una classe che gli toglie le proprietà lasciandocelo quindi libero per le nostre formattazioni e utilizzi.<br />
per quanto riguarda il ritmo verticale si è scelto un intervallo riga di 18px e un font base di 12px. con questi due dati è possibile calcolare la proporzione che deve avere ogni interlinea per ogni grandezza di font scalare ed i relativi margini. questo calcolo è macchinoso e impiega diverso tempo ma per fortuna ci sono molti tools on-line che ce lo calcolano automaticamente restituendoci quindi le proprietà CSS che ci servono espresse per il body, per le p e per tutti gli h. dando per scontato che usiamo un master CSS per il reset delle proprietà non resta che far ereditare il line-height a tutti gli elementi.
</p>
<p style="text-align: left;">durante il montaggio incontreremo elementi blocco o speciali che non ereditano il line-height o necessità di spaziarne maggiormente altri. per effettuare questo occorre utilizzare sempre spazi multipli dell&#8217;interlinea scelta, nel nostro caso di 18px. se ci troviamo di fronte ad un&#8217;immagine, video, flash o altro elemento multimediale che non può essere ridimensionato in misura multipla all&#8217;interlinea ci aiuteremo con dei margini per portarlo ad un ingombro che segue il ritmo.</p>
<p style="text-align: left;"><strong>quarto passo: le considerazioni.</strong></p>
<p style="text-align: left;">l&#8217;utilizzo della griglia è una buona procedura da effettuare sin dall&#8217;atto creativo. è segno di ordine, funzionalità e attenzione agli spazi. anche se non utilizzata tecnicamente ma solo presa in considerazione lato creativo porta i suoi vantaggi in quanto si riversa inevitabilmente sull&#8217;impaginazione dei contenuti. <strong>implementare la griglia con i HTML e CSS è altrettanto valido, funzionale e compatibile. </strong>cambia un po&#8217; il modo di scrivere codice ma è questione di pratica.</p>
<p style="text-align: left;">da migliorare la questione nei layout fluidi in em dove ogni calcolo deve essere convertito da px ad em e la griglia varia al variare della dimensione dei font. ancora più complesso sarà per i layout fluidi in percentuale dove lo spazio è relativo alla finestra del browser e non ad una unità di misura stabilita. in casi di grafiche molto complesse dove texture o sfondi sono utilizzati come background dei macro blocchi è possibile che torni necessario il DIV cleaner per far esistere l&#8217;altezza del blocco contenitore degli elementi flottanti.<strong> </strong></p>
<p style="text-align: left;"><strong>il ritmo verticale è una finezza meno percepibile all&#8217;occhio del navigatore ma che inevitabilmente comporta più leggibilità</strong> e meno sforzo nella lettura dei contenuti come ogni situazione migliore che il nostro cervello percepisce da un&#8217;esperienza cognitiva.</p>
<p style="text-align: left;">è positivo prevedere anche il ritmo già dal lato creativo e aiuterà anche la realizzazione lato tecnico, l&#8217;unico lato negativo è il tempo che necessariamente impiegheremo per assicurarci che il ritmo sia mantenuto in tutta la pagina che è maggiore rispetto un lavoro in cui questo sistema non è usato. nessuno vieta di utilizzare il ritmo solo nel contenuto o nel contenuto più colonne in modo da fornire maggior leggibilità ed ordine solo nelle parti più sottoposte a lettura anzi potrebbe essere un modo per implementarlo piano piano nel tempo. da valutare quando in un lavoro viene fornito un back end per l&#8217;inserimento dei contenuti. <span style="text-decoration: underline;">o chi popola la pagina è al corrente delle dimensioni usufruibili o il sistema deve prevedere il ridimensionamento in base al ritmo</span>.</p>
<p style="text-align: left;">da migliorare le unità di misura e utilizzare sempre gli em sia come font-size che come margine di spaziatura in modo che anche al resize del font il ritmo venga mantenuto non solo dai testi ma anche da tutti gli altri elementi.</p>
<p style="text-align: left;"><a title="qui" href="http://www.teatroclaet.it/claet-grid.jpg" target="_blank">qui</a> un&#8217;immagine del blog <strong>teatro claet</strong> ottenuta sostituendo lo sfondo grafico con la griglia che si ripete all&#8217;infinito. è possibile notare come i testi rispettino il ritmo verticale (<strong>le linee rosse</strong>) e si vedono anche le colonne della griglia <strong>(rosso scuro)</strong> intervallate dallo spazio stabilito (<strong>intervalli neri</strong>).</p>
<p style="text-align: left;">alessandro</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-xtrategy.net/2009/07/14/layout-ordinati-questione-di-griglie-e-ritmo/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>la qualità dell&#8217;open source</title>
		<link>http://www.e-xtrategy.net/2009/06/25/la-qualita-dellopen-source/</link>
		<comments>http://www.e-xtrategy.net/2009/06/25/la-qualita-dellopen-source/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 08:00:37 +0000</pubDate>
		<dc:creator>lorenzo massacci</dc:creator>
				<category><![CDATA[soluzioniweb]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[qualità]]></category>
		<category><![CDATA[xquality]]></category>

		<guid isPermaLink="false">http://www.e-xtrategy.net/?p=1702</guid>
		<description><![CDATA[dalla prima comparsa alla fine degli anni '80 i software open source ne hanno fatta di strada, ora non sono più riservati a pochi addetti ai lavori, anzi, al giorno d'oggi è difficile accendere un computer e non trovare all'interno qualche applicazione open source.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/2jkDsQUrXJM&amp;hl=it&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/2jkDsQUrXJM&amp;hl=it&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object>
</p>
<p style="text-align: left;"><em>da wikipedia:</em></p>
<blockquote style="text-align: left;"><p>in informatica, <strong>open source</strong> (termine inglese che significa <em>sorgente aperto</em>) indica un software i cui autori (più precisamente i detentori dei diritti) ne permettono, anzi ne favoriscono il libero studio e l&#8217;apporto di modifiche da parte di altri programmatori indipendenti. questo è realizzato mediante l&#8217;applicazione di apposite licenze d&#8217;uso.</p></blockquote>
<blockquote style="text-align: left;"><p>il <strong>software libero</strong> è software pubblicato con una licenza che permette a chiunque di utilizzarlo e che ne incoraggia lo studio, le modifiche e la redistribuzione; per le sue caratteristiche, si contrappone al software proprietario ed è differente dalla concezione open source, incentrandosi sulla libertà dell&#8217;utente e non solo sull&#8217;apertura del codice sorgente.</p></blockquote>
<p style="text-align: left;">dalla prima comparsa alla fine degli anni &#8216;80<strong> i software open source ne hanno fatta di strada</strong>, ora non sono più riservati a pochi addetti ai lavori, anzi, al giorno d&#8217;oggi è difficile accendere un computer e non trovare all&#8217;interno qualche applicazione open source.</p>
<p style="text-align: left;">l&#8217;enorme diffusione degli ultimi anni non è da imputarsi solamente alla semplicità di condivisione (grazie ad internet) ed al costo spesso nullo dei programmi open source, ma anche alla qualità che negli ultimi anni questi software sono riusciti a raggiungere. non c&#8217;è niente di strano nel vedere questi software utilizzati in applicazioni <a href="http://it.wikipedia.org/wiki/Mission_Critical_System">mission critical</a>.<span id="more-1702"></span></p>
<p style="text-align: left;">nel 2008 <strong>coverity</strong> ha <a title="analizzato" href="http://www.programmazione.it/index.php?entity=eitem&amp;idItem=39421" target="_blank">analizzato</a> circa 55 milioni di righe di codice relativo a progetti &#8220;liberi&#8221; in cerca di problemi di sicurezza e vulnerabilità la conclusione è stata che:  <strong>open source significa sempre più qualità e ottimi prodotti software, nonché maggiore affidabilità e sicurezza per gli utenti</strong>. la vera potenza del software open source sta nella <strong>possibilità di modificare/personalizzare il codice sorgente</strong>. questo infatti permette agli sviluppatori di basare il loro lavoro su parti di codice open source già esistente riducendo i tempi di realizzazione.</p>
<p style="text-align: left;"><strong>nel nostro lavoro adottiamo la filosofia open source</strong> come uno dei cardini del processo <a href="http://www.e-xtrategy.net/xquality/">xquality</a>, infatti <strong>tutto il software che realizziamo viene rilasciato ai nostri clienti con</strong> <a href="http://www.gnu.org/licenses/gpl-2.0.html">licenza open source</a>. il motivo di questa nostra scelta è che non vogliamo consegnare ai nostri clienti dei prodotti ma <span style="text-decoration: underline;">delle soluzioni che risolvano i problemi o migliorino il loro business</span>:  quindi il software diventa uno strumento e non il fine.</p>
<p style="text-align: left;">realizzare software che rispetti gli standard e rilasciarlo con licenza open source ci permette di fornire uno strumento migliore ai nostri clienti, perché avranno a disposizione <strong>uno strumento più flessibile in grado di adattarsi più facilmente alle sue necessità </strong>che probabilmente con il passare del tempo cambieranno.</p>
<p style="text-align: left;">contestualmente a questo post pubblichiamo su <a href="http://code.google.com/">google code</a> tre plugin per <a href="http://jquery.com/">jquery</a> che abbiamo realizzato per lo sviluppo del sito web <a href="http://www.e-xtrategy.net/2009/06/09/bigelli-marmi-marmo-per-bagni-dautore/">bigelli marmi</a>:</p>
<p style="text-align: left;">- <a href="http://code.google.com/p/e-xloading/">e-xloading</a> (crea dei layer di loading in attesa dei contenuti caricati via ajax)<br />
- <a href="http://code.google.com/p/e-xgooglemaps/">e-xgooglemaps</a> (crea una mappa utilizzando il servizio di google con la possibilità di calcolare  itinerari di viaggio)<br />
- <a href="http://code.google.com/p/e-xmaprollover/">e-xmaprollover</a> (permette un effetto rollover su immagini mappate senza dover utilizzare flash)
</p>
<p style="text-align: left;">ogni suggerimento è ben accetto.</p>
<p style="text-align: left;">lorenzo</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-xtrategy.net/2009/06/25/la-qualita-dellopen-source/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>css naked day 2009</title>
		<link>http://www.e-xtrategy.net/2009/04/09/css-naked-day-2009/</link>
		<comments>http://www.e-xtrategy.net/2009/04/09/css-naked-day-2009/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 07:45:28 +0000</pubDate>
		<dc:creator>alessandro violini</dc:creator>
				<category><![CDATA[soluzioniweb]]></category>
		<category><![CDATA[accessibilità]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.e-xtrategy.net/?p=1332</guid>
		<description><![CDATA[non vi spaventate se nella giornata di oggi vedrete questo blog site senza la consueta grafica.

oggi è il quarto css naked day, il giorno in cui il proprio sito web viene spogliato dagli stili per promuovere l'uso degli standard web. questo significa mostrare un uso corretto dell'xhtml, della struttura gerarchica delle informazioni e del linguaggio utilizzato per descriverle: dietro a una semplice interfaccia ci dovrebbe sempre essere del codice solido e scritto in modo che possa essere accessibile anche rimanendo solo testo e link.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://www.flickr.com/photos/e-xtrategy/3424287654/"><img class="alignleft" title="css naked day 2009" src="http://farm4.static.flickr.com/3638/3424287654_f4deaf1852_o.jpg" alt="" width="281" height="86" /></a></p>
<p style="text-align: left;">non vi spaventate se nella giornata di oggi vedrete questo blog site senza la consueta grafica.</p>
<p style="text-align: left;">oggi è il quarto <a title="css naked day" href="http://naked.dustindiaz.com/" target="_blank">css naked day</a>, i<strong>l giorno in cui il proprio sito web viene spogliato dagli stili per promuovere l&#8217;uso degli standard web</strong>. questo significa mostrare un uso corretto dell&#8217;xhtml, della struttura gerarchica delle informazioni e del linguaggio utilizzato per descriverle: dietro a una semplice interfaccia ci dovrebbe sempre essere del codice solido e scritto in modo che possa essere <a title="accessibile" href="http://www.e-xtrategy.net/2009/01/21/accessibilita-questa-sconosciuta/" target="_blank">accessibile</a> anche rimanendo solo testo e link.<span id="more-1332"></span></p>
<p style="text-align: left;"><strong>aderiamo con piacere a questa giornata di sensibilizzare riguardo l&#8217;usabilità dei siti web </strong>e vi invitiamo tutti a partecipare. basta compilare il <a title="semplice form" href="http://naked.dustindiaz.com/#signup " target="_blank">semplice form</a> dedicato ed il vostro sito sarà incluso nella lista degli siti aderenti. a questo punto potrete rimuovere tutto il suo design.</p>
<p style="text-align: left;">alessandro</p>
]]></content:encoded>
			<wfw:commentRss>http://www.e-xtrategy.net/2009/04/09/css-naked-day-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
