<?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>Diego La Monica</title>
	<atom:link href="http://diegolamonica.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://diegolamonica.info</link>
	<description>Software, standards, accessibilità, usabilità &#38; Web 2.0</description>
	<lastBuildDate>Thu, 26 Jan 2012 11:45:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Suggerimenti sull&#8217;uso di SVN/TRAC</title>
		<link>http://diegolamonica.info/suggerimenti-sulluso-di-svntrac/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=suggerimenti-sulluso-di-svntrac</link>
		<comments>http://diegolamonica.info/suggerimenti-sulluso-di-svntrac/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 11:45:25 +0000</pubDate>
		<dc:creator>Diego La Monica</dc:creator>
				<category><![CDATA[Corsi e Seminari]]></category>
		<category><![CDATA[buone pratiche]]></category>
		<category><![CDATA[corsi]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://diegolamonica.info/?p=444</guid>
		<description><![CDATA[Qualche mese fa ho tenuto una sessione formativa prettamente pratica sull&#8217;utilizzo di SVN per lo sviluppo in team e TRAC per la gestione delle anomaile. Le slide che seguono sono da ritenersi più un how-to e best practice sull&#8217;utilizzo dei due strumenti. Mi auguro che il materiale sia di vostro gradimento.]]></description>
			<content:encoded><![CDATA[<p>Qualche mese fa ho tenuto una sessione formativa prettamente pratica sull&#8217;utilizzo di SVN per lo sviluppo in team e TRAC per la gestione delle anomaile.</p>
<p><span id="more-444"></span></p>
<p>Le slide che seguono sono da ritenersi più un how-to e best practice sull&#8217;utilizzo dei due strumenti.</p>
<iframe src="http://www.slideshare.net/slideshow/embed_code/11267212" width="400" height="337" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/>
<p>Mi auguro che il materiale sia di vostro gradimento.</p>
]]></content:encoded>
			<wfw:commentRss>http://diegolamonica.info/suggerimenti-sulluso-di-svntrac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come aggiornare un repository Github attraverso il proxy</title>
		<link>http://diegolamonica.info/come-aggiornare-un-repository-github-attraverso-il-proxy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=come-aggiornare-un-repository-github-attraverso-il-proxy</link>
		<comments>http://diegolamonica.info/come-aggiornare-un-repository-github-attraverso-il-proxy/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 09:58:01 +0000</pubDate>
		<dc:creator>Diego La Monica</dc:creator>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[configurazione]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[netcat]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://diegolamonica.info/?p=442</guid>
		<description><![CDATA[Non utilizzando sempre lo stesso computer e la stessa connessione ad internet, mi capita talvolta di dover effettuare gli aggiornamenti del repository di ALPHA attraverso un proxy aziendale. Per riuscire però ad effettuare i commit attraverso il Proxy che non consente l&#8217;acceso ssh al server github.com ho fatto diverse ricerche su internet, provando le più [...]]]></description>
			<content:encoded><![CDATA[<p>Non utilizzando sempre lo stesso computer e la stessa connessione ad internet, mi capita talvolta di dover effettuare gli aggiornamenti del <a href="https://github.com/diegolamonica/ALPHA/">repository di ALPHA</a> attraverso un proxy aziendale.</p>
<p>Per riuscire però ad effettuare i commit attraverso il Proxy che non consente l&#8217;acceso ssh al server github.com ho fatto diverse ricerche su internet, provando le più diverse strade.</p>
<p><span id="more-442"></span></p>
<p>C&#8217;era chi suggeriva di creare un file wrapper per il proxy seguendo un procedimento alquanto semplice:</p>
<ul>
<li>Installare netcat</li>
<li>creare uno script da shell collocandolo nella directory bin/ dell&#8217;utente che riportava in sintesi questo comando &#8220;<strong>nc -x${PROXY_IP}:${PROXY_PORT} -X5 $*</strong>&#8220;</li>
<li>configurare il parametro <strong>core.gitproxy</strong> indicando il nome del file precedentemenet creato.</li>
</ul>
<p>Per me non ha funzionato e comunque questa procedura a mio avviso poteva essere  semplificata ulteriormente utilizzando questi due semplici comandi eseguiti da shell.</p>
<pre class="code shell">EXPORT http_proxy=http://myproxy:8080
EXPORT https_proxy=http://myproxy:8080</pre>
<p>Non li metterei come valori persistenti perchè, usando il notebook su diverse reti rischierei di non raggiungere il proxy specificato con conseguenza dell&#8217;interruzione della navigazione.</p>
<p>Comunque non ha funzionato. Quindi ho cercato una nuova soluzione al problema.</p>
<p>Un altro sito suggeriva di usare l&#8217;url proposto da github nella versione <strong>https</strong> al posto di quello <strong>ssh</strong>.</p>
<p>Ho fatto un tentativo e non riuscivo nemmeno a clonare il repository remoto ricevendo come risposta &#8220;<em><strong>warning: remote HEAD refers to nonexistent ref, unable to checkout.</strong></em>&#8220;. Quindi ho temuto che fosse un problema del mio repository remoto. Per fortuna anche con il <a href="https://github.com/jquery/jquery">repository di JQuery</a> mi segnalava lo stesso errore. E lo faceva con qualsiasi repository provassi a clonare. Quindi il repository non aveva problemi.</p>
<p>Ho provato a fare un mix tra le soluzioni &#8220;installazione netcat&#8221; e &#8220;https al posto di ssh&#8221; ma comunque non ho avuto il risultato sperato quindi ho continuato nella ricerca della soluzione fino ad incappare in <a href="http://bettercodes.org/answers/working-with-git">questa discussione</a>!</p>
<p>Grazie a quanto è scritto nella discussione precedente ho cominciato a fare un po&#8217; di prove giocando sull&#8217;url per la richiesta del repository.</p>
<p>La soluzione in fondo era più semplice di quanto si pensasse.</p>
<p>Partendo dall&#8217;url di aggiornamento del repository fornito da github in formato https (https://user@github.com/user/repository.git), ho inserito anche la password dell&#8217;account github e ho fatto viaggiare la richiesta su protocollo http (<strong>non sicuro</strong>). Quindi l&#8217;url utilizzato in fine è stato:</p>
<pre class="code shell"><strong>http:</strong>//user<strong>:password</strong>@github.com/user/repository.git</pre>
<p>In questo modo ha funzionato tutto correttamente e sono libero di aggiornare il mio framework da, come direbbero gli americani, &#8220;ognidove&#8221;! :)</p>
]]></content:encoded>
			<wfw:commentRss>http://diegolamonica.info/come-aggiornare-un-repository-github-attraverso-il-proxy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Se anche i privati potessero scaricare l&#8217;IVA</title>
		<link>http://diegolamonica.info/se-anche-i-privati-potessero-scaricare-l-iva/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=se-anche-i-privati-potessero-scaricare-l-iva</link>
		<comments>http://diegolamonica.info/se-anche-i-privati-potessero-scaricare-l-iva/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 08:06:16 +0000</pubDate>
		<dc:creator>Diego La Monica</dc:creator>
				<category><![CDATA[Varie]]></category>
		<category><![CDATA[affari]]></category>
		<category><![CDATA[evasione]]></category>
		<category><![CDATA[finanza]]></category>
		<category><![CDATA[lavoro]]></category>
		<category><![CDATA[manovra]]></category>
		<category><![CDATA[pensioni]]></category>
		<category><![CDATA[politica]]></category>

		<guid isPermaLink="false">http://diegolamonica.info/?p=440</guid>
		<description><![CDATA[Di questi tempi, con la crisi che ci attanaglia, siamo diventati tutti esperti di politica socio-economica, economia internazionale e squali della finanza mondiale! Mi domando quindi perchè non potrei partecipare anche io al dibattito nazionale? Non sarò un esperto di economia ma, visto che parlano tutti di economia, penso di non aver minor diritto di [...]]]></description>
			<content:encoded><![CDATA[<p>Di questi tempi, con la crisi che ci attanaglia, siamo diventati tutti esperti di politica socio-economica, economia internazionale e squali della finanza mondiale!</p>
<p>Mi domando quindi perchè non potrei partecipare anche io al dibattito nazionale? Non sarò un esperto di economia ma, visto che parlano tutti di economia, penso di non aver minor diritto di altri a chiacchierare. Non lo farò con la voce ma ci proverò con questo articolo sul mio blog. Almeno non sarete costretti ad ascoltarmi!<span id="more-440"></span></p>
<p>Non mi soffermerò a lamentarmi dei parlamentari che guadagnano 2 volte quello che guadagnano gli altri parlamentari in altri paesi d&#8217;Europa. Una persona che lavora al servizio del paese merita ogni centesimo che prende, se lavora bene.</p>
<p>Non voglio raccontare del sistema Europa che non vuole salvare l&#8217;Italia o del conto alla rovescia che ci separa dal defaul in stile profezia Maya.</p>
<p>Non voglio lamentarmi delle pensioni, perchè, già quando iniziai a lavorare, ero consapevole che quanto versavo nelle casse dell&#8217;ente previdenziale sarebbe andato a favore dei pensionati attuali e che il Paese non avrebbe potuto garantirmi alcuna pensione,  trovandosi l&#8217;Italia in una fase di invecchiamento.</p>
<p>Io ho voglia di chiacchierare in materia di evasione fiscale. Questa trascurata materia per la quale tutti dicono che è complicato. Lo sarà certamente non lo metto in dubbio ma sono un po&#8217; perplesso su come si apporccia al problema.</p>
<p>Dunque, l&#8217;ammontare dell&#8217;evasione fiscale in italia è <a href="http://www.blitzquotidiano.it/photogallery/mappa-evasione-fiscale-italia-950179/">mediamente del 38%</a>, ovvero <a href="http://www.nanopress.it/economia/2011/12/12/italia-in-trent-anni-l-evasione-fiscale-si-e-quintuplicata_P5125819.html">275.000 miliardi di euro</a> (!!!). Magari saranno miliardi di lire? Può darsi, non sono un esperto di finanza, allora vuol dire che l&#8217;evasione fiscale in italia ammonta a <strong>circa 150 Miliardi di Euro</strong>? Ovvero <strong>6 volte la manovra</strong> &#8220;Salva Italia&#8221; varata dal Governo Monti!!!</p>
<p>Beh, io sarò un semplicione, un superficiale e uno che fantastica troppo ma&#8230; se il Governo consentisse anche ai privati di scaricare l&#8217;IVA che scenario si presenterebbe?</p>
<p>Sì la prima cosa che salterebbe all&#8217;occhio è che l&#8217;IVA è uno degli incassi più redditizi che lo stato ha e quindi se si toglie quella è tutto il sistema che va a gambe all&#8217;aria.</p>
<p>Però se la persona potesse scaricare il costo di un bene, un servizio o quanto altro così come fanno le aziende e poi scaricare (o meglio recuperare) una parte dell&#8217;IVA versata alle casse dello stato (anche un misero 20% di quanto viene anticipato in fase d&#8217;acquisto, ovvero il 2.5% di quel 21% attuale), chiunque vorrebbe ricevere fattura, scontrino e ricevuta per qualsiasi servizio ricevuto!</p>
<p>Gli evasori sarebbero costretti ad uscire allo scoperto perchè a quel punto sarebbero denunciati direttamente da chi riceve il servizio! Non credete?</p>
<p>Avrò detto tante cavolate sicuramente e me ne scuso con gli economisti, politici e affaristi di ogni sorta, ma un cittadino onesto che paga le tasse e rispetta la legge ha tutto il diritto di dire la sua! Siamo pur sempre in Democrazia!</p>
]]></content:encoded>
			<wfw:commentRss>http://diegolamonica.info/se-anche-i-privati-potessero-scaricare-l-iva/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Caro Babbo Natale</title>
		<link>http://diegolamonica.info/caro-babbo-natale/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=caro-babbo-natale</link>
		<comments>http://diegolamonica.info/caro-babbo-natale/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 10:17:06 +0000</pubDate>
		<dc:creator>Diego La Monica</dc:creator>
				<category><![CDATA[Varie]]></category>
		<category><![CDATA[ALPHA Framework]]></category>
		<category><![CDATA[Babbo Natale]]></category>
		<category><![CDATA[Banda Larga]]></category>
		<category><![CDATA[Layout]]></category>
		<category><![CDATA[Natale]]></category>

		<guid isPermaLink="false">http://diegolamonica.info/?p=438</guid>
		<description><![CDATA[Tutti i bimbi in questo periodo iniziano a fare una valutazione dei doni che vorrebbero ricevere da Babbo Natale per il Natale che verrà. Ci sono quei bimbi che dopo aver stillato una lista dei possibili doni iniziano a depennare i doni più &#8220;brutti&#8221; fino a raggiungere il risultato del &#8220;dono ambito&#8221;. Altri invece provano [...]]]></description>
			<content:encoded><![CDATA[<p>Tutti i bimbi in questo periodo iniziano a fare una valutazione dei doni che vorrebbero ricevere da Babbo Natale per il Natale che verrà. Ci sono quei bimbi che dopo aver stillato una lista dei possibili doni iniziano a depennare i doni più &#8220;brutti&#8221; fino a raggiungere il risultato del &#8220;dono ambito&#8221;. Altri invece provano a corrompere Babbo Natale con mielose lettere di presentazione &#8220;<em>Caro Babbo Natale, sono un bimbo molto buono, non faccio mai arrabiare mamma e papà, do da mangiare agli uccellini e non ho mai messo il gatto in lavatrice&#8230;</em>&#8221; e poi iniziano con un elenco poco sfoltito di doni desiderati.</p>
<p><span id="more-438"></span>Poichè ho due bimbi in casa che già da qualche settimana hanno iniziato a definire questa lista, ignari della vera identità dell&#8217;uomo barbuto vestito di rosso che arriva sulle renne con tanti campanelli, mi sono domandato se ci fosse un Babbo Natale tecnologico cosa potrei chiedergli io?</p>
<p>Segue la lista dei miei desideri tecnologici:</p>
<ol>
<li><strong>Banda larga</strong>: sono una di quelle persone colpite dal Digital Divide (non è una malattia ma un disagio social-digitale) e quindi sono costretto a utilizzare una connessione a banda larga mobile a 3.6MBit con le relative limitazioni.</li>
<li><strong>Aggiornamento del layout del mio sito web</strong>: è da <a title="Un nuovo layout, una nuova avventura" href="http://diegolamonica.info/un-nuovo-layout-una-nuova-avventura/">agosto del 2010</a> che il layout è rimasto invariato, sì certo ho apportato di tanto in tanto qualche modifica, ma è quello che avevo iniziato ad usare provvisoriamente 15 mesi fa e credo sia ora di cambiare. Qualcuno ha suggerimenti da darmi?</li>
<li><strong>Più risorse per </strong><strong>il framework php ALPHA</strong>: ultimamente ho ripreso in mano <a title="ALPHA Framework" href="https://github.com/diegolamonica/ALPHA/">il progetto</a> valutando una riscrittura completa di alcune delle <a href="https://github.com/diegolamonica/ALPHA/wiki/Classi-del-core">classi del Core</a>. Ho inziato a fare degli esperimenti, ma di questo vi racconterò nei prossimi giorni con maggiori dettagli. Sarebbe comodo però se Babbo Natale mi prestasse un po&#8217; di suoi folletti per migliorare il Framework sarebbero i benvenuti!</li>
</ol>
<p>La mia letterina la concluderei così:</p>
<p><cite>&#8230;Quindi, non avendo grosse pretese, che ne dici di contattare un gestore telefonico e digli di attivare la connettività nella mia zona (sì poi il contratto lo pago io non devi accollartene tu)? Sì poi se conosci un buon webdesigner che vuole farsi pubblicità e propormi un layout innovativo, essenziale e adatto al mio sito certo non disdegnerei il suo operato anzi, caro Babbo Natale, te ne sarei Grato! E perchè non coinvolgere una trentina dei tuoi folletti nelle attività di sviluppo sul framework? Se questi folletti fossero italiani sicuramente si potrebbe sbandierare il come progetto tutto italiano!</cite></p>
<p><cite>Insomma Babbo Natale, sappi che il bicchiere con il latte e i biscottini te li lascerò comunque sul tavolino accanto all&#8217;albero, ma tu puoi vedere di fare qualcosa anche per me?</cite></p>
]]></content:encoded>
			<wfw:commentRss>http://diegolamonica.info/caro-babbo-natale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMAU Milano 2011: Siti web, portali, Rich Internet Applications: tendenze e controtendenze</title>
		<link>http://diegolamonica.info/smau-milano-2011-siti-web-portali-rich-internet-applications-tendenze-e-controtendenze/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=smau-milano-2011-siti-web-portali-rich-internet-applications-tendenze-e-controtendenze</link>
		<comments>http://diegolamonica.info/smau-milano-2011-siti-web-portali-rich-internet-applications-tendenze-e-controtendenze/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 19:14:37 +0000</pubDate>
		<dc:creator>Diego La Monica</dc:creator>
				<category><![CDATA[Corsi e Seminari]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Portali]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[Siti Web]]></category>
		<category><![CDATA[SMAU]]></category>
		<category><![CDATA[SMAU 2011 Milano]]></category>
		<category><![CDATA[Statistiche]]></category>

		<guid isPermaLink="false">http://diegolamonica.info/?p=433</guid>
		<description><![CDATA[Quest&#8217;anno allo SMAU Milano ho tenuto un seminario per conto di IWA Italy dall&#8217;emblematico titolo &#8220;Siti web, portali e Rich Internet Application: tendenze e controtendenze&#8221; nel quale ho esposto una panoramica sugli strumenti Open Source attualmente disponibili e in voga tra gli sviluppatori. Il seminario ha suscitato un particolare interesse prima in fase di iscrizione [...]]]></description>
			<content:encoded><![CDATA[<p>Quest&#8217;anno allo <a href="http://www.smau.it/milano11/">SMAU Milano</a> ho tenuto un seminario per conto di <a href="http://www.iwa.it">IWA Italy</a> dall&#8217;emblematico titolo &#8220;<a href="http://www.slideshare.net/diego.la.monica/siti-web-portali-rich-internet-application-tendenze-e-controtendenze">Siti web, portali e Rich Internet Application: tendenze e controtendenze</a>&#8221; nel quale ho esposto una panoramica sugli <strong>strumenti Open Source</strong> attualmente disponibili e in voga tra gli sviluppatori.</p>
<p><span id="more-433"></span></p>
<p>Il seminario ha suscitato un particolare interesse prima in fase di iscrizione (è stata un&#8217;emozione sapere che c&#8217;era il tutto esaurito dopo appena 24 ore dall&#8217;apertura delle iscrizioni!) e del pubblico in sala poi che rientrato dall&#8217;evento fieristico mi ha tempestato di email chiedendomi le slide e delucidazioni sugli argomenti trattati.</p>
<p>Di seguito quindi rendo disponibili le slides già pubblicate qualche giorno fa sul mio <a href="http://www.slideshare.net/diego.la.monica/">profilo Slideshare</a> provando ad apporfondire anche quanto già raccontato nei 50 minuti del seminario.</p>
<iframe src="http://www.slideshare.net/slideshow/embed_code/9823716" width="400" height="337" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br/><br/>
<p>Dalla consultazione delle <a href="http://w3techs.com/technologies/overview/content_management/all">statistiche sui CMS</a> e dalle <a href="http://w3techs.com/technologies/overview/javascript_library/all">statistiche d&#8217;uso delle librerie Javascript</a> disponibili sul sito <a href="http://w3techs.com/">w3techs</a>, si nota come particolari strumenti abbiano una significativa diffusione su scala mondiale. Cosa può significare e quanto può pesare per le aziende che hanno intenzione di dotarsi di una <strong>soluzione web</strong> tutto ciò?<br />
Un&#8217;azienda che non vuole sentirsi vincolata a un preciso fornitore deve <strong>affidarsi a uno degli strumenti più diffusi</strong>  e/o conosciuti sul mercato mondiale.<br />
Tale scelta è ripagata sia in termini di sicurezza in quanto una soluzione largamente diffusa, per mantenere il suo status, deve garantire gli opportuni aggiornamenti di sicurezza, inoltre i fornitori dovranno necessariamente offrire una <strong>tariffa adeguata ai costi di mercato</strong> in quanto non esclusivisti della competenza specifica.</p>
<p>Ma i fattori di valutazione dello strumento di cui dotarsi per un&#8217;azienda sono vincolati anche dalla<strong> diffusione della piattaforma su scala locale/nazionale</strong>, altrimenti il fornitore della soluzione potrebbe trovarsi nel vantaggio di essere l&#8217;unico player esclusivista della competenza offrendo i propri servizi a costi al di sopra degli standard di mercato.</p>
<p>Per quanto riguarda invece lo <strong>sviluppo di soluzioni ad-hoc</strong> è importante <strong>svolgere un accurato compito di analisi del processo</strong> da informatizzare valutando e <strong>annotando qualsiasi variabile</strong> non dando nulla per scontato.<br />
Una volta che la situazione sarà risultata più chiara da un punto di vista dell&#8217;<strong>analisi dei bisogni</strong>, è importante effettuare una ricerca (on-line) valutando la presenza di <strong>soluzioni già sviluppate per risolvere lo specifico problema</strong>, quindi verificare cosa si dice sul Web del prodotto in termini di qualità e<strong> rivolgersi a uno o (meglio) più consulenti</strong> per assicurarsi contemporaneamente che esistano competenze locali specifiche e che l&#8217;eventuale soluzione scelta possa essere adeguata alle proprie necessità.</p>
<p>O più semplicemente potrebbe essere più efficiente rivolgersi direttamente a un consulente che potrebbe valutare le vostre necessità e proporvi la soluzione più adeguata.</p>
<p>Ma alla base di tutto, come ha ribadito anche il collega <a href="http://www.akebia.it">Fabrizio Caccavello</a> nel <a href="http://www.slideshare.net/cfabry/progettazione-web-e-semplicit-dieci-regole-per-una-creativit-ragionata">suo seminario a SMAU Milano 2011</a>, c&#8217;è bisogno che prima della collaborazione si instauri un rapporto di fiducia tra Cliente e Fornitore!</p>
]]></content:encoded>
			<wfw:commentRss>http://diegolamonica.info/smau-milano-2011-siti-web-portali-rich-internet-applications-tendenze-e-controtendenze/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Facebook e il lavoro</title>
		<link>http://diegolamonica.info/facebook-e-il-lavoro/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=facebook-e-il-lavoro</link>
		<comments>http://diegolamonica.info/facebook-e-il-lavoro/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 13:44:59 +0000</pubDate>
		<dc:creator>Diego La Monica</dc:creator>
				<category><![CDATA[Varie]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Qualità effettiva]]></category>
		<category><![CDATA[Qualità percepita]]></category>
		<category><![CDATA[Social Network]]></category>

		<guid isPermaLink="false">http://diegolamonica.info/?p=431</guid>
		<description><![CDATA[Oggi sembra ce l&#8217;abbia con Facebook, in realtà non è così ma riferendomi ai pensieri già espressi nel precedente post, ho riscontrato un ulteriore bug nella progettazione di Facebook. Dunque, partiamo dall&#8217;inizio, diverso tempo fa ho lavorato prima come impiegato e poi come collaboratore presso il Circondario Empolese Valdelsa, per il quale ho sviluppato e [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi sembra ce l&#8217;abbia con Facebook, in realtà non è così ma riferendomi ai pensieri già espressi <a title="Facebook e il sesso" href="http://diegolamonica.info/facebook-e-il-sesso/">nel precedente post</a>, ho riscontrato un ulteriore bug nella progettazione di Facebook.</p>
<p><span id="more-431"></span></p>
<p>Dunque, partiamo dall&#8217;inizio, diverso tempo fa ho lavorato prima come impiegato e poi come collaboratore presso il Circondario Empolese Valdelsa, per il quale ho sviluppato e manutenuto il sistema per la gestione delle domande e delle offerte di lavoro da parte dei Centri per l&#8217;Impiego semplicemente denominato <acronym title="Mediazione Lavoro" lang="it"><a href="http://www.empolese-valdelsa.it/lavoro/offerte">Me.La.</a> </acronym></p>
<p>Avendo un po&#8217; di tempo a disposizione qualche mese fa, avevo segnato che avevo lavorato al Circondario Empolese Valdelsa, specificando un periodo ben preciso ma Facebook insisteva nel dire (sulla mia scheda di profilo pubblico) &#8220;<em><strong>Lavora</strong> presso Circondario Empolese Valdelsa</em>&#8220;. <em>Lavora</em>, e non <em>lavorava</em>? Dopo un po&#8217; di tentativi ho rinunciato a fargli capire che non lavoravo più lì&#8230; In fondo non c&#8217;è peggior sordo di chi non vuol sentire :)</p>
<p>Oggi ho avuto di nuovo voglia di capire cosa potesse esserci di errato e&#8230; ho trovato l&#8217;inghippo! :)</p>
<p>Appena ho specificato la posizione che ricoprivo nell&#8217;organico magicamente il mio profilo citava testualmente &#8220;<em>Ha lavorato presso Circondario Empolese Valdelsa come Sviluppatore software</em>&#8220;.</p>
<p>Che faccia parte sempre della delega dell&#8217;attività di testing all&#8217;utente finale?</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://diegolamonica.info/facebook-e-il-lavoro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook e il sesso</title>
		<link>http://diegolamonica.info/facebook-e-il-sesso/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=facebook-e-il-sesso</link>
		<comments>http://diegolamonica.info/facebook-e-il-sesso/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 12:58:49 +0000</pubDate>
		<dc:creator>Diego La Monica</dc:creator>
				<category><![CDATA[Varie]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Qualità effettiva]]></category>
		<category><![CDATA[Qualità percepita]]></category>
		<category><![CDATA[Sesso]]></category>
		<category><![CDATA[Social Network]]></category>

		<guid isPermaLink="false">http://diegolamonica.info/?p=429</guid>
		<description><![CDATA[Di solito quando si  progettare un nuovo social network, si tende a pensare al social network per eccellenza: Facebook. Abbiamo esempi non poco significativi quali Google+ giusto per menzionare un diretto concorrente. Ma cosa succede quando riceviamo una notifica da Facebook? Stamattina ho ricevuto diverse notifiche da Facebook e la cosa che ho notato è che [...]]]></description>
			<content:encoded><![CDATA[<p>Di solito quando si  progettare un nuovo social network, si tende a pensare al social network per eccellenza: <a href="http://www.facebook.com">Facebook</a>. Abbiamo esempi non poco significativi quali <a href="http://plus.google.com">Google+</a> giusto per menzionare un diretto concorrente. Ma cosa succede quando riceviamo una notifica da Facebook?</p>
<p><span id="more-429"></span>Stamattina ho ricevuto diverse notifiche da Facebook e la cosa che ho notato è che le notifiche inviate vengono elaborate come se chi la ricevesse fosse dello stesso sesso della persona che l&#8217;ha spedita&#8230; :)</p>
<p>Eccovi gli esempi:</p>
<p><cite>Ciao Diego,<br />
<strong>nome dell&#8217;amico</strong> ha commentato un post <strong>in cui sei taggato</strong>.</cite></p>
<p>Eccovi l&#8217;altro esempio:</p>
<p><cite>Ciao Diego,<br />
<strong>nome dell&#8217;amica</strong> ha commentato un post <strong>in cui sei taggata</strong>.</cite></p>
<p>So di non aver cambiato sesso, almeno non ricordo di averlo fatto&#8230; quindi c&#8217;è qualcosa che non va! :)</p>
<p>Ecco, questa curiosa esperienza mi ha fatto riflettere in genere sulla qualità percepita di un servizio e la qualità effettiva.</p>
<p>La qualità (strutturale)  di Facebook da me percepita è molto alta, un Social Network in costante evoluzione che offre tantissime funzionalità, estetica ben curata, uptime pari quasi al 100%.</p>
<p>Poi però leggo una notifica con questi errori che sono riconducibili a <strong>meri errori di logica di programmazione</strong> e mi sorge il dubbio conto che il <strong>beta testing</strong> viene demandato all&#8217;utente finale, l&#8217;ultimo utilizzatore del software (in questo caso Facebook) e non dal produttore&#8230; o forse quest&#8217;ultimo svolgerà solo una minima parte dei controlli?</p>
]]></content:encoded>
			<wfw:commentRss>http://diegolamonica.info/facebook-e-il-sesso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resettare la password di un utente con una query SQL</title>
		<link>http://diegolamonica.info/resettare-la-password-di-un-utente-con-una-query-sql/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=resettare-la-password-di-un-utente-con-una-query-sql</link>
		<comments>http://diegolamonica.info/resettare-la-password-di-un-utente-con-una-query-sql/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 19:59:17 +0000</pubDate>
		<dc:creator>Diego La Monica</dc:creator>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[autenticazione]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[reset password]]></category>
		<category><![CDATA[utenti]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://diegolamonica.info/?p=428</guid>
		<description><![CDATA[Ultimamente mi è capitato di dover accedere ad un vecchio sito in locale che avevo fatto con WordPress, il problema che avevo era di non ricordare la password dell&#8217;unico utente che avevo configurato e non avevo voglia di riconfigurarmi un nuovo WordPress con gli stessi plugin per poter riprodurre una situazione analoga. Unica soluzione che [...]]]></description>
			<content:encoded><![CDATA[<p>Ultimamente mi è capitato di dover accedere ad un vecchio sito in locale che avevo fatto con WordPress, il problema che avevo era di non ricordare la password dell&#8217;unico utente che avevo configurato e non avevo voglia di riconfigurarmi un nuovo WordPress con gli stessi plugin per poter riprodurre una situazione analoga. Unica soluzione che avevo era di reimpostare la password dell&#8217;utente admin. <span id="more-428"></span>Di solito si può accedere alla pagina di login e utilizzare il link &#8220;ho dimenticato la password&#8221;. Ma come fare se il webserver locale è configurato per non mandare mail?</p>
<p>Spulciando un po&#8217; il codice e la <a href="http://codex.wordpress.org/Resetting_Your_Password">documentazione di WordPress</a>, ci sono tanti modi descritti per risolvere il problema, ma tra quelli che prediligo c&#8217;è la modalità SQL, che richiede tu abbia le credenziali di accesso al tuo DB, che se non ricordassi sono nel file <strong>wp-config.php</strong> nella root del sito, e principlamente non richiede la scrittura di codice PHP (almeno evitiamo di scriverlo quando non è realmente necessario :D )!</p>
<p>Questa modalità SQL è molto semplice in quanto WordPress autentica un utente anche accettando una password codificata in MD5 (guardatevi il codice del metodo <strong>wp_check_password()</strong>, nel file <strong>/wp-includes/pluggable.php</strong>).</p>
<p>Quindi accediamo alla nostra console di MySQL (di solito utilizzo MySQL Workbench del quale non riesco più a farne a meno), e stabiliamo la connessione alla nostra banca dati, infine, presupponendo di avere un&#8217;installazione base di WordPress ci dovremmo ritrovare con delle tabelle con prefisso <strong>wp_</strong>, quindi eseguiamo subito una bella query di selezione:</p>
<pre class="code sql">select * from wp_users</pre>
<p>prendiamo nota dell&#8217;ID dell&#8217;utente con ruoli di amministrazione, nel mio caso l&#8217;ID equivaleva a &#8220;1&#8243;. Poi eseguiamo la seguente query:</p>
<pre class="code sql">update wp_users set user_pass = md5('mia nuova password') where ID= 1;</pre>
<p>Come direbbero i francesi &#8220;Les jeux sont fait!&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://diegolamonica.info/resettare-la-password-di-un-utente-con-una-query-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP, submit di un form e l&#8217;errore del passato</title>
		<link>http://diegolamonica.info/php-submit-di-un-form-e-lerrore-del-passato/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=php-submit-di-un-form-e-lerrore-del-passato</link>
		<comments>http://diegolamonica.info/php-submit-di-un-form-e-lerrore-del-passato/#comments</comments>
		<pubDate>Sun, 02 Oct 2011 09:07:43 +0000</pubDate>
		<dc:creator>Diego La Monica</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[History]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Submit]]></category>
		<category><![CDATA[Sviluppo lato Server]]></category>
		<category><![CDATA[Tricks]]></category>

		<guid isPermaLink="false">http://diegolamonica.info/?p=425</guid>
		<description><![CDATA[Diverse volte mi è capitato di trovare sviluppatori con il solito problema: &#8220;esiste un modulo web che compilato regolarmente e inviata la richiesta al server presenta il classico messaggio di salvataggio, confermando all&#8217;utente che tutto è andato a buon fine. Il problema mi si presenta quando premo il tasto &#8220;indietro&#8221; del browser!&#8220;. Di solito una pagina [...]]]></description>
			<content:encoded><![CDATA[<p>Diverse volte mi è capitato di trovare sviluppatori con il solito problema: &#8220;<em>esiste un modulo web che compilato regolarmente e inviata la richiesta al server presenta il classico messaggio di salvataggio, confermando all&#8217;utente che tutto è andato a buon fine. Il problema mi si presenta quando premo il tasto &#8220;indietro&#8221; del browser!</em>&#8220;.<span id="more-425"></span></p>
<p>Di solito una pagina del genere è costituita dai seguenti spezzoni di codice (esemplificativi):</p>
<pre class="code XML">   &lt;form method="post" action="mypage.php"&gt;
      &lt;fieldset&gt;
         &lt;legend&gt;
            Modulo contatti
         &lt;legend&gt;
         &lt;p&gt;
            &lt;label for="nome"&gt;Nome&lt;/label&gt;
            &lt;input type="text" name="nome" id="nome" value="" /&gt;
         &lt;/p&gt;
         &lt;p&gt;
            &lt;label for="cognome"&gt;Cogome&lt;/label&gt;
            &lt;input type="text" name="cognome" id="cognome" value="" /&gt;
         &lt;/p&gt;
         &lt;p&gt;
            &lt;input type="submit" value="Procedi" /&gt;
         &lt;/p&gt;
      &lt;/fieldset&gt;
   &lt;/form&gt;</pre>
<p>mentre la parte di codice PHP che tratta il contenuto del modulo ha un funzionamento simile a quello che segue:</p>
<pre class="code php">&lt;?php
   if(isset($_POST) &amp;&amp; count($_POST) &gt; 0 ){
      $result = salvaDatiDelModulo($_POST);
      if($result === true){
         echo("Dati salvati correttamente");
      }else{
         echo("Si è presentato un errore durante il salvataggio del modulo: $result");
      }
   }
?&gt;</pre>
<p>Provando a premere il tasto <kbd>F5</kbd> della tastiera dopo aver cliccato il pulsante Procedi sul modulo, vedrete un messaggio molto familiare (visibile su molte pagine web) e che, in dipendenza del browser utilizzato, mostra un messaggio del tipo: &#8220;<em>La pagina sta provando a inoltrare di nuovo le informazioni di un modulo, si vuole procedere?</em>&#8220;.</p>
<p>La conseguenza di un <strong>Submit</strong> eccessivo  può variare in dipendenza della complessità dell&#8217;applicazione e della gestione degli invii di richieste duplicate che talvolta,  a causa di un click spasmodico del tasto di <strong>Submit</strong>, può generare un inserimento duplicato di record in una banca dati, o la rimozione di più file dalla stessa directory o altri problemi che dovrebbero rientrare in un contesto di &#8220;Gestione degli errori&#8221;.</p>
<p>Lo stesso problema si presenta se per esempio dopo il <strong>Submit</strong>, abbiamo fatto click su un link della pagina, rendendoci conto di non essere sulla pagina giusta premiamo il pulsante &#8220;indietro&#8221; del Browser. Succede che il browser ci avverte che &#8220;<em>la pagina è scaduta, è necessario nuovamente inoltrare i dati del modulo al server, bla bla bla&#8230;</em>&#8220;. Le conseguenze di un inoltro sono le medesime descritte nel paragrafo precedente: record duplicati, eliminazioni di troppo, doppio invio email di email ecc.</p>
<p><strong>Come si può evitare questo prolbema? </strong>Non è troppo difficile, eppure spesso si evita di gestire questo problema per inesperienza o perchè si tralascia valutando che le probabilità che un utente faccia click sul pulsante &#8220;indietro&#8221; del browser siano bassissime&#8230; Non è sempre così, le probabilità potrebbero essere altissime e la gestione del problema potrebbe risparmiare tanti grattacapi successivi.</p>
<p>La soluzione consiste nell&#8217;elaborare la richiesta quindi in qualsiasi caso dirottare la pagina verso un&#8217;altra destinazione (o verso se stessa) senza trasferire i dati in post, fornendo alla pagina di destinazione un ulteriore parametro che dovrebbe servire a comunicare il messaggio di errore o di successo all&#8217;utilizzatore del nostro modulo web.</p>
<p>Un&#8217;implementazione grezza ma già abbastanza efficace è la seguente:</p>
<pre class="code php">&lt;?php

   if(isset($_POST) &amp;&amp; count($_POST) &gt; 0 ){
      $result = salvaDatiDelModulo($_POST);
      $uri = $_SERVER['REQUEST_URI'];
      $uri .= (strpos('?',$uri)!==false)?'&amp;','?';
      $uri .= 'msg=' . $result;
      header("Location: $uri", true); // Dirotto verso il nuovo URI ricostruito e rimpiazzo la location attuale nella barra degli indirizzi.
   }
   if(isset($_GET['msg']){
      $result = $_GET['msg'];
      if($result == 0){
         echo("Dati salvati correttamente");
      }else{
         // Prevedere un'array con i vari codici di errore e la relativa decodifica in messaggio testuale
         $msg = $codiciErrore[$result];
         echo("Si è presentato un errore durante il salvataggio del modulo: $msg");
      }
   }
?&gt;</pre>
<p>Quanto sopra consentirà di navigare anche avanti e indietro nella storia del browser o premere infinite volte il tasto <kbd>F5</kbd> della tastiera!</p>
<p>Non era poi così complicato?  ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://diegolamonica.info/php-submit-di-un-form-e-lerrore-del-passato/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dirottare una pagina di WordPress verso un sito esterno</title>
		<link>http://diegolamonica.info/dirottare-una-pagin-di-wordpress-verso-un-sito-esterno/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dirottare-una-pagin-di-wordpress-verso-un-sito-esterno</link>
		<comments>http://diegolamonica.info/dirottare-una-pagin-di-wordpress-verso-un-sito-esterno/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 08:12:44 +0000</pubDate>
		<dc:creator>Diego La Monica</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[redirect]]></category>
		<category><![CDATA[RewriteRule]]></category>

		<guid isPermaLink="false">http://diegolamonica.info/?p=424</guid>
		<description><![CDATA[Spesso mi capita di cimentarmi nella definizione di regole di riscrittura degli URL (Rewrite Rules). Negli ultimi giorni mi è stato chiesto come dirottare una precisa pagina di WordPress verso un particolare sito web. La soluzione è servita! Presupponendo che l&#8217;installazione di wordpress si presenta con la modalità predefinita di permalink (?page_id=0000) si vuole dirottare [...]]]></description>
			<content:encoded><![CDATA[<p>Spesso mi capita di cimentarmi nella definizione di regole di riscrittura degli URL (Rewrite Rules). Negli ultimi giorni mi è stato chiesto come dirottare una precisa pagina di WordPress verso un particolare sito web.</p>
<p>La soluzione è servita!</p>
<p><span id="more-424"></span>Presupponendo che l&#8217;installazione di wordpress si presenta con la modalità predefinita di permalink (?page_id=0000) si vuole dirottare la pagina con ID 1234 verso il sito http://example.com.</p>
<p>Ecco le considerazioni da cui partire:</p>
<ol>
<li>Si presuppone che sul webserver sia installato e ben configurato il modulo <strong>mod_rewrite</strong> di Apache.</li>
<li>La struttura dell&#8217;url costruito da WordPress per arrivare alla pagina <strong>1234</strong> è <strong>http://miosito.it/?page_id=1234</strong></li>
<li>La regola dovrà prevedere che tutte le richieste che arrivano alla suddetta pagina dovranno essere dirottate verso il sito http://example.com</li>
<li>Per una corretta indicizzazione sui motori di ricerca la pagina 1234 dovrà rispondere con un codice di <strong>Redirect 301</strong> (la pagina è stata trasferita altrove)</li>
</ol>
<p>La regola di rewrite da utilizzare per il suddetto scopo è la seguente:</p>
<pre class="code cpp">RewriteEngine on
RewriteCond %{QUERY_STRING} page_id=1234
RewriteRule .* http://example.com [R=301,L]</pre>
<p>Maggiori informazioni sulle <strong>Rewrite Rules e sul mod_rewrite</strong> potete trovarle nella <a title="Documentazione ufficiale per il modulo Rewrite del webserver Apache (in lingua inglese)" href="http://httpd.apache.org/docs/current/mod/mod_rewrite.html">documentazione ufficiale</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://diegolamonica.info/dirottare-una-pagin-di-wordpress-verso-un-sito-esterno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

