<?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>viklog &#187; Programmazione</title>
	<atom:link href="http://viklog.net/categoria/programmazione/feed/" rel="self" type="application/rss+xml" />
	<link>http://viklog.net</link>
	<description>il (b)log da bere tutto in un sorso</description>
	<lastBuildDate>Thu, 10 Jun 2010 21:36:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>@font-face e le licenze dei font</title>
		<link>http://viklog.net/2009/07/01/font-face-e-le-licenze-dei-font/</link>
		<comments>http://viklog.net/2009/07/01/font-face-e-le-licenze-dei-font/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 09:12:31 +0000</pubDate>
		<dc:creator>vik</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[@font-face]]></category>

		<guid isPermaLink="false">http://viklog.net/?p=984</guid>
		<description><![CDATA[Dalla versione 3.5, anche Firefox supporta la regola CSS @font-face, attraverso la quale possiamo usare i più svariati font nel nostro sito/blog.


Usare @font-face è semplicissimo: carichiamo un font a nostra scelta nel tema di WordPress, ad esempio il bellissimo Bleeding Cowboys (lo vedete in azione nel logo di &#8220;viklog&#8221;).  Dopo di che modifichiamo il foglio [...]


Nessun articolo correlato.]]></description>
			<content:encoded><![CDATA[<p>Dalla versione 3.5, anche Firefox supporta la regola CSS <strong>@font-face</strong>, attraverso la quale possiamo usare i più svariati font nel nostro sito/blog.</p>
<p><span id="more-984"></span></p>
<p><img class="size-full wp-image-987 aligncenter" title="@font-face" src="http://viklog.net/wp-content/uploads/2009/07/at-font-face.jpg" alt="Codice CSS: @font-face" width="500" height="170" /></p>
<p>Usare @font-face è semplicissimo: carichiamo un font a nostra scelta nel tema di WordPress, ad esempio il bellissimo <a href="http://www.dafont.com/bleeding-cowboys.font" target="_blank">Bleeding Cowboys</a> (lo vedete in azione nel logo di &#8220;viklog&#8221;).  Dopo di che modifichiamo il foglio di stile nel seguente modo:</p>
<pre>@font-face {
	font-family: Bleeding Cowboys;
	src: url('Bleeding_Cowboys.ttf');
}</pre>
<p>A questo punto possiamo utilizzare il font come tutti gli altri, per esempio:</p>
<pre>h1 {
	font-family: "Bleeding Cowboys", Georgia, serif;
}</pre>
<p>L&#8217;utente che accederà al nostro blog vedrà senza problemi il font perché questo verrà automaticamente scaricato e installato nel sistema.</p>
<p>Bene, qual&#8217;è il problema? Molto semplice: <strong>noi stiamo ridistribuendo il font, abbiamo il diritto di farlo?</strong> Nel caso di Bleending Cowboys c&#8217;è una generica licenza &#8220;Free for personal use&#8221;, un po&#8217; vaga; ma credo che <em>l&#8217;uso personale</em> escluda la ridistribuzione del file. Prendiamo un altro font, gratuito anche per uso commerciale: <a href="http://www.josbuivenga.demon.nl/delicious.html" target="_blank">Delicious</a>. Nella licenza si legge chiaramente:</p>
<blockquote>
<ul>
<li>This font is free for personal and commercial use</li>
<li>The font file/software may be modified to suit design of system requirements,<br />
but <strong>strictly</strong> for your own (personal or commercial) use. You may <strong>not</strong> sell or distribute it</li>
<li> Embedding (in PDF&#8217;s, Flash files and programs) is allowed</li>
</ul>
<p>[...]</p></blockquote>
<p>Quindi: è <strong>vietato vendere o distribuire</strong> il font, ma può essere incluso in file Flash, programmi o PDF. La soluzione a questo problema è usare <a href="http://www.mikeindustries.com/blog/sifr/" target="_blank">sIFR</a>. In ogni caso vi consiglio caldamente di leggere sempre le condizioni d&#8217;uso di un font prima di utilizzarlo in un progetto &#8211; sia esso online o su carta &#8211; soprattutto se tale progetto è destinato ad un vostro cliente.</p>


<p>Nessun articolo correlato.</p><div style="border: 1px solid #FFA600; margin: 10px 0; padding: 10px; background: #FFF8CB none repeat scroll 0 0; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: rgb(0, 0, 0);">
<strong><a href="https://www.getdropbox.com/referrals/NTExNDk0NzM5">Dropbox</a></strong>: fino a <strong>10Gb</strong> di storage on-line completamente gratuito! Con <a href="https://www.getdropbox.com/referrals/NTExNDk0NzM5">questo invito</a> riceverai 250Mb di spazio bonus.
</div>]]></content:encoded>
			<wfw:commentRss>http://viklog.net/2009/07/01/font-face-e-le-licenze-dei-font/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web consulting, a volte puo&#8217; essere divertente (a volte)</title>
		<link>http://viklog.net/2008/05/09/web-consulting-a-volte-puo-essere-divertente-a-volte/</link>
		<comments>http://viklog.net/2008/05/09/web-consulting-a-volte-puo-essere-divertente-a-volte/#comments</comments>
		<pubDate>Fri, 09 May 2008 09:18:42 +0000</pubDate>
		<dc:creator>vik</dc:creator>
				<category><![CDATA[Myself]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[html css]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web consulting]]></category>

		<guid isPermaLink="false">http://viklog.net/?p=152</guid>
		<description><![CDATA[Per la mia esperienza Web consulting vuol dire:
Un amico di un amico di un amico mi ha detto che tu aggiusti siti [si, aggiusto siti]. Vedi, il nostro sito ha una sezione di back office [e che cazzo sarebbe?] che fino a ieri funzionava, ora non funziona più&#8230;
Ieri funzionava, oggi no. Ovvero errore 500. Quello [...]


Nessun articolo correlato.]]></description>
			<content:encoded><![CDATA[<p>Per la mia esperienza <strong>Web consulting</strong> vuol dire:</p>
<blockquote><p>Un amico di un amico di un amico mi ha detto che tu <em>aggiusti siti</em> [si, <em>aggiusto</em> siti]. Vedi, il nostro sito ha una sezione di<em> back office </em>[e che cazzo sarebbe?] che fino a ieri funzionava, ora non funziona più&#8230;</p></blockquote>
<p>Ieri funzionava, oggi no. Ovvero errore <a href="http://www.pc-facile.com/glossario/500_internal_error/" target="_blank">500</a>. Quello simpatico simpatico. Poi si è scoperto che una query restituiva una quantità  di contenuti da elencare nella pagina così abominevole che la suddetta pagina superava i 14 MB, indi per cui Aruba ne bloccava la generazione. Fra le altre cose, non capisco perché la gente si ostini ad usare Aruba&#8230;</p>
<p>Come dicevo nel titolo a volte può essere divertente. Quando mi trovo di fronte a codice HTML/CSS/PHP/Js/etc etc ben strutturato e, magari, ben commentato. Spesso mi è successo di imparare da questo qualcosa di nuovo.</p>
<p>A volte può essere divertente&#8230;</p>
<div id="attachment_153" class="wp-caption aligncenter" style="width: 445px"><img class="size-full wp-image-153 " title="Un commento molto eloquace" src="http://viklog.net/wp-content/uploads/2008/05/il-commento.png" alt="Un commento molto eloquace" width="435" height="39" /><p class="wp-caption-text">Un commento molto eloquace</p></div>
<p>&#8230;altre no.</p>
<ul>
<li>Pagine con stile a tabelle. Unica soluzione: CTRL+A, DEL, CTRL+S (metodo che mi piace chiamare <em>brute code refactoring</em>)</li>
<li>Stile e contenuti all&#8217;interno dello stesso file. Magari ogni pagina diversa dall&#8217;altra.</li>
<li><strong>Pagine scritte con Word&#8230;</strong></li>
<li>Sezioni di amministrazione senza login.</li>
<li>Login fatti con javascript che includono all&#8217;interno del codice della pagina la lista dei nomi utenti e password possibili <strong>in chiaro.</strong></li>
<li>Sessioni https con certificati scaduti da un anno.</li>
<li>&#8230;</li>
</ul>
<p>C&#8217;è qualcuno che ne ha viste di peggiori? Chissà  perché immagino di si.</p>


<p>Nessun articolo correlato.</p><div style="border: 1px solid #FFA600; margin: 10px 0; padding: 10px; background: #FFF8CB none repeat scroll 0 0; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: rgb(0, 0, 0);">
<strong><a href="https://www.getdropbox.com/referrals/NTExNDk0NzM5">Dropbox</a></strong>: fino a <strong>10Gb</strong> di storage on-line completamente gratuito! Con <a href="https://www.getdropbox.com/referrals/NTExNDk0NzM5">questo invito</a> riceverai 250Mb di spazio bonus.
</div>]]></content:encoded>
			<wfw:commentRss>http://viklog.net/2008/05/09/web-consulting-a-volte-puo-essere-divertente-a-volte/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>eXtreme Programming: un modello agile di sviluppo software</title>
		<link>http://viklog.net/2008/03/12/extreme-programming-un-modello-agile-di-sviluppo-software/</link>
		<comments>http://viklog.net/2008/03/12/extreme-programming-un-modello-agile-di-sviluppo-software/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 18:01:07 +0000</pubDate>
		<dc:creator>vik</dc:creator>
				<category><![CDATA[Ingegneria del Software]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[eXtreme Programming]]></category>
		<category><![CDATA[modelli di sviluppo]]></category>
		<category><![CDATA[programmazione agile]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[sviluppo]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://dividebyzero.wordpress.com/?p=345</guid>
		<description><![CDATA[Nell&#8217;ambito dello sviluppo di sistemi software mi è sembrato molto interessante il modello denominato eXtreme Programming (XP), un modello di sviluppo agile molto meno rigido rispetto ad altri metodi si sviluppo. Le parole chiave di questo questo approccio sono: semplicità , comunicazione e semplicità . In realtà , la prima volta che ho sentito parlare [...]

<h3>Articoli correlati:</h3><ol><li><a href='http://viklog.net/2008/10/07/appunti-di-ingegneria-del-software-modelli-di-processo-software/' rel='bookmark' title='Permanent Link: Appunti di Ingegneria del Software &#8211; Modelli di processo software'>Appunti di Ingegneria del Software &#8211; Modelli di processo software</a></li>
<li><a href='http://viklog.net/2009/06/08/da-pc-a-mac-le-alternative-software-e-i-freeware-utili/' rel='bookmark' title='Permanent Link: Da PC a Mac: le alternative software e i freeware utili'>Da PC a Mac: le alternative software e i freeware utili</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Nell&#8217;ambito dello sviluppo di sistemi software mi è sembrato molto interessante il modello denominato <strong>eXtreme Programming</strong> (XP), un modello di sviluppo <em>agile</em> molto meno rigido rispetto ad altri metodi si sviluppo. Le parole chiave di questo questo approccio sono: semplicità , comunicazione e semplicità . In realtà , la prima volta che ho sentito parlare di eXtreme Programming mi sono immaginato a programmare con il portatile legato alla cintura mentre scalavo una parete&#8230;</p>
<div style="text-align: center;"><img src="http://farm1.static.flickr.com/193/482722754_2544fe09fe.jpg?v=0" alt="eXtreme Programming 5 on Flickr" width="500" height="375" /><br />
<a href="http://flickr.com/photos/exacq/482722754/" target="_blank">extreme programming 5</a> by <a title="Foto di exacq" href="http://flickr.com/photos/exacq/" target="_blank">exacq</a></div>
<p>Per capire di cosa stiamo parlando, vi elenco in breve alcune delle pratiche che caratterizzano XP.</p>
<h3>XP pratices</h3>
<ul>
<li> <strong>Planning game</strong>: è la pratica che trasforma la classica analisi dei requisiti in un &#8220;gioco&#8221;. Si basa sulle <em>user stories</em>, descrizioni in linguaggio naturale di ciò che l&#8217;utente vuole che il software faccia.
<ul>
<li>Ad ogni user story  gli utenti stessi assegnano una priorità , mentre gli sviluppatori un costo.</li>
<li>Ovviamente si tratta di una pianificazione informale</li>
</ul>
</li>
<li><strong>Small release</strong>: si sviluppa i vari moduli del sistema software in modo incrementale, ad ogni ciclo si fanno piccole release.</li>
<li><strong>Whole team</strong>: tutto il team partecipa a ciascun aspetto dello sviluppo software in qualche modo.</li>
<li><strong>Collettive ownership</strong>: deriva dalla pratica precedente; la proprietà  intellettuale del codice appartiene a tutto il gruppo.</li>
<li><strong>Metaphore: </strong>per descrivere una funzionalità  del sistema software nel gruppo si usa una metafora. Ad esempio, per descrivere un gruppo di agenti software in azione si usa &#8220;lo sciame di piccole api volano sui fiori e rientrano all&#8217;alveare solo una volta terminato il loro compito&#8221;. Aiuta a far sì che il team usi un sistema comune di nomi di entità , tale che sia immediato trovare, per uno sviluppatore, una certo modulo in base al nome, o sia chiaro dove inserire le nuove funzionalità  appena sviluppate.</li>
<li><strong>Test-Driven Development</strong>: si scrive il codice sulla base dei test stessi. In poche parole si scrivono prima i test, poi si sviluppa l&#8217;applicazione finché non supera positivamente il test.
<ul>
<li>Questo processo è sempre accompagnato da xUnit (<a title="JUnit.org" href="http://www.junit.org/" target="_blank">jUnit</a>, <a title="cUnit project" href="http://cunit.sourceforge.net/" target="_blank">cUnit</a>, &#8230;)</li>
</ul>
</li>
<li><strong>Refactoring </strong>del codice senza pietà! Uno dei motti del XP è &#8220;se un metodo necessita di un commento, riscrivilo!&#8221; (codice <em>auto-esplicativo</em>).</li>
<li><strong>Pair programming:</strong> si programma in coppia, il <em>driver</em> scrive il codice mentre il <em>navigatore</em> controlla il lavoro del suo compagno in maniera attiva.
<ul>
<li>Statisticamente è risultato un ottimo approccio nello sviluppo software, nonostante possa sembrare uno spreco di risorse umane</li>
</ul>
</li>
<li><strong>Coding standard</strong>: a causa del Pair programming e Whole team si è reso necessario il raggiungimento di convenzioni di codifica fra gli sviluppatori.</li>
<li>Idealmente il <strong>cliente è sempre disponinibile</strong>, in ogni fase del processo di sviluppo. Se gli sviluppatori hanno un dubbio, si rivolgono direttamente a lui.</li>
</ul>
<h3>Follia o realtà?</h3>
<p>Posso dire, per esperienza diretta, che alcune di queste pratiche (come Test-Driven Development e Coding standard) sono delle ottime linee guida per scrivere codice di qualità. Altre, invece, mi sembrano delle vere e proprie follie. Basti pensare al <strong>13<sup>o</sup> principio</strong>: a inizio di ogni giornata si svolge una riunione di 15 minuti fra tutti i componenti del team di sviluppo, in cui ognuno espone cosa ha fatto il giorno prima, cosa pensa di fare quel giorno e le problematiche affrontate. Questa riunione si svolge rigorosamente in piedi, in modo tale che nessuno di dilunghi in inutili chiacchiere. Evidentemente questo sembra più una sorta di terapia di gruppo.</p>
<p>Negli USA questo modello di sviluppo software sta riscontrando grande successo, sopratutto nelle software house che dispongono di &#8220;carne fresca&#8221;. In Italia, invece, non credo esista un azienda che utilizzi questo modello, come sono pochissime le aziende che lo fanno in tutta Europa.</p>
<div style="text-align: center;"><img src="http://farm1.static.flickr.com/9/14518809_471ae06f73.jpg?v=0" alt="Pair programming with duck" width="500" height="375" /><br />
<a href="http://flickr.com/photos/ysano/14518809/" target="_blank">pair programming with duck</a> by <a title="Foto di ysano" href="http://flickr.com/photos/ysano/" target="_blank">ysano</a></div>
<p>Vi lascio un paio di link sull&#8217;argomento:</p>
<ul>
<li><a href="http://www.xprogramming.com/" target="_blank">XProgramming.com &#8211; an Agile Software Development Resource</a></li>
<li><a href="http://extremeprogramming.org/" target="_blank">Extreme Programming: A Gentle Introduction</a></li>
</ul>
<p>- Warning: Divide by zero.</p>


<h3>Articoli correlati:</h3><ol><li><a href='http://viklog.net/2008/10/07/appunti-di-ingegneria-del-software-modelli-di-processo-software/' rel='bookmark' title='Permanent Link: Appunti di Ingegneria del Software &#8211; Modelli di processo software'>Appunti di Ingegneria del Software &#8211; Modelli di processo software</a></li>
<li><a href='http://viklog.net/2009/06/08/da-pc-a-mac-le-alternative-software-e-i-freeware-utili/' rel='bookmark' title='Permanent Link: Da PC a Mac: le alternative software e i freeware utili'>Da PC a Mac: le alternative software e i freeware utili</a></li>
</ol></p><div style="border: 1px solid #FFA600; margin: 10px 0; padding: 10px; background: #FFF8CB none repeat scroll 0 0; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: rgb(0, 0, 0);">
<strong><a href="https://www.getdropbox.com/referrals/NTExNDk0NzM5">Dropbox</a></strong>: fino a <strong>10Gb</strong> di storage on-line completamente gratuito! Con <a href="https://www.getdropbox.com/referrals/NTExNDk0NzM5">questo invito</a> riceverai 250Mb di spazio bonus.
</div>]]></content:encoded>
			<wfw:commentRss>http://viklog.net/2008/03/12/extreme-programming-un-modello-agile-di-sviluppo-software/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
