<?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>M1K Blog &#187; Programmazione</title>
	<atom:link href="http://blog.m1k.info/category/programmazione/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.m1k.info</link>
	<description>M1K Personal Blog</description>
	<lastBuildDate>Fri, 16 Dec 2011 09:02:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Come installare Symfony su MAMP</title>
		<link>http://blog.m1k.info/2011/05/19/come-installare-symfony-su-mamp/</link>
		<comments>http://blog.m1k.info/2011/05/19/come-installare-symfony-su-mamp/#comments</comments>
		<pubDate>Thu, 19 May 2011 12:29:28 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Sviluppo Web]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=899</guid>
		<description><![CDATA[Questa breve guida illustra come installare Sympony su MAMP in Snow Leopard (1.6.7). La guida suppone che MAMP sia già installato sul sistema. Nel caso in cui si abbia la necessità di installare anche MAMP, basterà effettuare il download del DMG dal sito ufficiale. Snow Leopard, di default, fornisce già un interprete PHP. Per usare [...]]]></description>
			<content:encoded><![CDATA[<p>Questa breve guida illustra come installare Sympony su MAMP in Snow Leopard (1.6.7). La guida suppone che MAMP sia già installato sul sistema. Nel caso in cui si abbia la necessità di installare anche MAMP, basterà effettuare il download del DMG dal <a href="http://www.mamp.info/en/index.html" target="_blank" title="MAMP: sito ufficiale">sito ufficiale</a>. </p>
<p>Snow Leopard, di default, fornisce già un interprete PHP. Per usare agevolmente PHP e PEAR forniti da MAMP è consigliabile sostituire (senza cancellarlo) l&#8217;interprete PHP di default con quello presente in MAMP. Per fare questo, basta aprire la shell dei comandi e digitare:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php-original
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>Applications<span style="color: #000000; font-weight: bold;">/</span>MAMP<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php5.3<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mv</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>pear <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>pear-original
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>Applications<span style="color: #000000; font-weight: bold;">/</span>MAMP<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php5.3<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>pear <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>pear</pre></td></tr></table></div>

<p>Il primo comando, rinomina l&#8217;interprete PHP di default di Snow Leopard in <em>php-original</em> mentre il secondo comando, crea un link simbolico all&#8217;interprete PHP fornito da MAMP collocandolo all&#8217;interno della stessa directory in cui si trovava l&#8217;interprete PHP di default di Snow Leopard. Se successivamente si volesse ripristinare l&#8217;interprete PHP fornito di default da Snow Leopard, basterà cancellare il link simbolico creato secondo comando e rinominare il file <em>php-original</em> in <em>php</em>.<br />
Il terzo ed il quarto comando vanno eseguiti solamente se nel sistema è già installata una versione di PEAR. Questi comandi fanno esattamente la stessa cosa dei comandi mostrati nelle righe 1 e 2, ma con PEAR.</p>
<p>A questo punto il sistema dovrebbe essere pronto per installare Symfony. Per installare Symfony, eseguire i seguenti comandi dalla shell dei comandi:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">pear channel-discover pear.symfony-project.com
pear <span style="color: #c20cb9; font-weight: bold;">install</span> symfony<span style="color: #000000; font-weight: bold;">/</span>symfony</pre></td></tr></table></div>

<p>Per poter utilizzare Symfony da riga di comando in maniera semplice e veloce, senza dover specificare ogni volta l&#8217;intero path, è possibile seguire due strade: creare un link simbolico a Symfony all&#8217;interno di <em>/usr/bin/symfony</em> (esempio 1); creare un alias in <em>/etc/profile</em> (esempio 2).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>Applications<span style="color: #000000; font-weight: bold;">/</span>MAMP<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php5<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>symfony <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>symfony</pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">symphony</span>=<span style="color: #ff0000;">&quot;/Applications/MAMP/bin/php5/bin/symfony&quot;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2011/05/19/come-installare-symfony-su-mamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rilasciato Ruby On Rails 3.0</title>
		<link>http://blog.m1k.info/2010/09/09/ruby-on-rails-3-0/</link>
		<comments>http://blog.m1k.info/2010/09/09/ruby-on-rails-3-0/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 12:11:07 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=549</guid>
		<description><![CDATA[Dopo circa due anni di duro lavoro è stata finalmente rilasciata la terza versione di Ruby On Rails. Sul blog ufficiale di Ruby on Rails potete trovare la comunicazione ufficiale del rilascio e la lista delle maggiori novità introdotte in questa nuova versione.]]></description>
			<content:encoded><![CDATA[<p>Dopo circa due anni di duro lavoro è stata finalmente rilasciata la terza versione di Ruby On Rails. Sul <a href="http://weblog.rubyonrails.org/2010/8/29/rails-3-0-it-s-done" title="Ruby On Rails" target="_blank">blog ufficiale</a> di Ruby on Rails potete trovare la comunicazione ufficiale del rilascio e la lista delle maggiori novità introdotte in questa nuova versione.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2010/09/09/ruby-on-rails-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rilasciato iOS 4.1 e iOS SDK 4.1</title>
		<link>http://blog.m1k.info/2010/09/09/ios-4-1-sdk-ios-4-1/</link>
		<comments>http://blog.m1k.info/2010/09/09/ios-4-1-sdk-ios-4-1/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 08:11:49 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[iPhone, iPad e iPod]]></category>
		<category><![CDATA[Mondo Apple]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Apple SDK]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ipod]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=538</guid>
		<description><![CDATA[Apple ha da poco rilasciato la versione 4.1 di iOS, sistema operativo su cui si basano iPod ed iPhone. Contemporaneamente al rilascio di iOS 4.1, la Apple ha rilasciato anche un aggiornamento per l&#8217;SDK necessario per lo sviluppo di applicazioni per iPod, iPhone ed iPad.iOS 4.1, come sempre, potrà essere scaricato tramite iTunes, mente tutti [...]]]></description>
			<content:encoded><![CDATA[<p>Apple ha da poco rilasciato la versione 4.1 di iOS, sistema operativo su cui si basano iPod ed iPhone. Contemporaneamente al rilascio di iOS 4.1, la Apple ha rilasciato anche un aggiornamento per l&#8217;SDK necessario per lo sviluppo di applicazioni per iPod, iPhone ed iPad.<br/>iOS 4.1, come sempre, potrà essere scaricato tramite iTunes, mente tutti gli sviluppatori registrati potranno scaricare l&#8217;SDK per iOS 4.1 da <a href="http://developer.apple.com/" title="iOS 4.1 SDK" target="_blank">questo link</a>.
<div style="margin-top:20px"  align="center"><a href="http://developer.apple.com/" title="iOS 4.1 SDK" target="_blank"><img style="border:1px solid #000000"  src="http://blog.m1k.info/wp-content/uploads/2010/09/iOS-4.1-screen.png" alt="iOS 4.1 SDK" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2010/09/09/ios-4-1-sdk-ios-4-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snow Leopard: come cambiare versione di Python</title>
		<link>http://blog.m1k.info/2010/07/09/snow-leopard-come-cambiare-versione-di-python/</link>
		<comments>http://blog.m1k.info/2010/07/09/snow-leopard-come-cambiare-versione-di-python/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 12:07:16 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Sistemi Operativi]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Snow Leopard]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=524</guid>
		<description><![CDATA[Snow Leopard, di default, supporta Python in versione 2.6. Tuttavia, in alcuni casi, potrebbe essere utile utilizzare Python 2.5. Dunque, come cambiare la versione di Python utilizzata di default da Snow Leopard? Aprite la shell e digitate il seguente comando: defaults write com.apple.versioner.python Version 2.5 Per impostare nuovamente Python 2.6 come versione di default, digitate [...]]]></description>
			<content:encoded><![CDATA[<p>Snow Leopard, di default, supporta Python in versione 2.6. Tuttavia, in alcuni casi, potrebbe essere utile utilizzare Python 2.5. Dunque, come cambiare la versione di Python utilizzata di default da Snow Leopard? Aprite la shell e digitate il seguente comando:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">defaults <span style="color: #c20cb9; font-weight: bold;">write</span> com.apple.versioner.python Version <span style="color: #000000;">2.5</span></pre></div></div>

<p>Per impostare nuovamente Python 2.6 come versione di default, digitate il seguente comando:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">defaults <span style="color: #c20cb9; font-weight: bold;">write</span> com.apple.versioner.python Version <span style="color: #000000;">2.6</span></pre></div></div>

<p>Per maggiori informazioni informazioni digitate: <code>man python</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2010/07/09/snow-leopard-come-cambiare-versione-di-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WWDC 2010: video delle sessioni</title>
		<link>http://blog.m1k.info/2010/06/18/wwdc-2010-video-delle-sessioni/</link>
		<comments>http://blog.m1k.info/2010/06/18/wwdc-2010-video-delle-sessioni/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 12:11:01 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[iPhone, iPad e iPod]]></category>
		<category><![CDATA[Mondo Apple]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[wwdc 2010]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=519</guid>
		<description><![CDATA[La Apple ha rilasciato i video (anche in versione HD) e le relative slides di tutte le sessioni tenute alla WWDC 2010. I video possono essere scaricati gratuitamente da tutti gli sviluppatori usando il proprio Apple ID. Per accedere ai video, seguite questo link.]]></description>
			<content:encoded><![CDATA[<p>La Apple ha rilasciato i video (anche in versione HD) e le relative slides di tutte le sessioni tenute alla WWDC 2010. I video possono essere scaricati gratuitamente da tutti gli sviluppatori usando il proprio Apple ID. Per accedere ai video, seguite <a href="http://developer.apple.com/videos/wwdc/2010/" target="_blank" title="WWDC 2010: video delle sessioni">questo link</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2010/06/18/wwdc-2010-video-delle-sessioni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP e Semantic Web</title>
		<link>http://blog.m1k.info/2010/05/18/php-semantic-web/</link>
		<comments>http://blog.m1k.info/2010/05/18/php-semantic-web/#comments</comments>
		<pubDate>Tue, 18 May 2010 09:13:58 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Sviluppo Web]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=493</guid>
		<description><![CDATA[Dovendo estendere o sviluppare un&#8217;applicazione web in PHP con supporto alle tecnologie Semantic Web, ci si chiede quali siano attualmente i principali frameworks che permettano di gestire agevolmente dati strutturati in RDF. Per quanto riguarda PHP, i principali framework attualmente disponibili sono: ARC2: semplice da utilizzare, offre uno storage RDF con supporto allo SPARQL query [...]]]></description>
			<content:encoded><![CDATA[<p>Dovendo estendere o sviluppare un&#8217;applicazione web in PHP con supporto alle tecnologie Semantic Web, ci si chiede quali siano attualmente i principali frameworks che permettano di gestire agevolmente dati strutturati in RDF. Per quanto riguarda PHP, i principali framework attualmente disponibili sono:<br/><br/></p>
<ul style="margin-left:25px;line-height:18px">
<li style="line-height:18px"><a href="https://github.com/semsol/arc2/" target="_blank" title="ARC2 Semantic Web Framework"><strong>ARC2</strong></a>: semplice da utilizzare, offre uno storage RDF con supporto allo SPARQL query language, un parser RDF in grado di supportare molteplici formati (RDF/XML, Turtle, RSS, microformats, eRDF, RDFa, etc), la possibilità di serializzare i grafi RDF (N-Triples, RDF/JSON, RDF/XML, Turtle), un sistema di templating e molto altro ancora. ARC2 è facilmente estendibile attraverso lo sviluppo di plugins dedicati.<br/><br/></li>
<li style="line-height:18px"><a href="http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/index.html" target="_blank" title="RAP Semantic Web Framework"><strong>RAP</strong></a>: offre uno storage RDF con supporto allo SPARQL ed RDQL query language, un inference engine con supporto completo ad RDF Schema più qualche elemento di OWL, un parser RDF in grado di supportare molteplici formati (RDF/XML, N3, N-TRIPLE, TriX, GRDDL, RSS), la possibilità di serializzare i grafi RDF (RDF/XML, N3, N-TRIPLE, TriX), la possibilità di visualizzare graficamente i dati RDF, un&#8217;interfaccia grafica per la gestione dei back-end RDF</li>
</ul>
<p><br/></p>
<p>Qual&#8217;è il miglior framework PHP? Dipende dalle esigenze. Tuttavia, al momento, lo sviluppo del framework ARC2 sembra più attivo rispetto a RAP. Dalle prove effettuate, ARC2 sembra più stabile di RAP.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2010/05/18/php-semantic-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentazione HTML5 e CSS3</title>
		<link>http://blog.m1k.info/2010/04/26/presentazione-html5-e-css3/</link>
		<comments>http://blog.m1k.info/2010/04/26/presentazione-html5-e-css3/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 09:00:16 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Sviluppo Web]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=488</guid>
		<description><![CDATA[Marcin Wichary e Ernest Delgado hanno rilasciato un&#8217;ottima presentazione, raggiungibile tramite questo link, realizzata in HTML5 e CSS3 in cui mostrano le maggiori caratteristiche del nuovo standard. La presentazione è un ottimo punto di partenza per capire le novità introdotte con HTML5+CSS3. La presentazione è stata realizzata per Google Chrome ma può essere anche visualizzata [...]]]></description>
			<content:encoded><![CDATA[<p>Marcin Wichary e Ernest Delgado hanno rilasciato un&#8217;ottima presentazione, raggiungibile tramite <a href="http://apirocks.com/html5/html5.html" target="_blank" title="HTML5 e CSS3">questo link</a>, realizzata in HTML5 e CSS3 in cui mostrano le maggiori caratteristiche del nuovo standard. La presentazione è un ottimo punto di partenza per capire le novità introdotte con HTML5+CSS3. La presentazione è stata realizzata per Google Chrome ma può essere anche visualizzata con qualsiasi browser recente con supporto per HTML5 e CSS3 (alcune funzionalità mostrate nella presentazione potrebbero non funzionare correttamente in browser differenti da Google Chrome).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2010/04/26/presentazione-html5-e-css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programmazione iPhone: nuovi podcast</title>
		<link>http://blog.m1k.info/2010/01/18/programmazione-iphone-nuovi-podcast/</link>
		<comments>http://blog.m1k.info/2010/01/18/programmazione-iphone-nuovi-podcast/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 09:45:11 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[iPhone, iPad e iPod]]></category>
		<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=463</guid>
		<description><![CDATA[Pochi giorni fa l&#8217;università di Stanford ha rilasciato nuovi ed interessanti podcast riguardanti la programmazione per iPhone/iPod. Per il momento i nuovi podcast sono dedicati all&#8217;Objective-C ed all&#8217;ambiente di sviluppo XCode. Oltre ai podcast sono disponibili anche le slides complete delle video-lezioni. Video-lezioni e slides sono gratuite e possono essere scaricate seguendo questo link.]]></description>
			<content:encoded><![CDATA[<p>Pochi giorni fa l&#8217;università di Stanford ha rilasciato nuovi ed interessanti podcast riguardanti la programmazione per iPhone/iPod. Per il momento i nuovi podcast sono dedicati all&#8217;Objective-C ed all&#8217;ambiente di sviluppo XCode. Oltre ai podcast sono disponibili anche le slides complete delle video-lezioni. Video-lezioni e slides sono gratuite e possono essere scaricate seguendo <a href="http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.stanford.edu.3124430053.03124430055" target="_blank">questo link</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2010/01/18/programmazione-iphone-nuovi-podcast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial: iPhone ed NSThread</title>
		<link>http://blog.m1k.info/2009/10/20/iphone-nsthread/</link>
		<comments>http://blog.m1k.info/2009/10/20/iphone-nsthread/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 09:42:58 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[NSThread]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=459</guid>
		<description><![CDATA[Durante lo sviluppo della mia ultima applicazione per iPhone/iPod Touch mi è capitato di lavorare parecchio con i thread. Cercando su Internet più informazioni possibili in merito all&#8217;uso della classe NSThread mi sono imbattuto in un tutorial abbastanza interessante (per principianti) che illustra come usare la classe NSThread in una mini-applicazione per iPhone. Il tutorial [...]]]></description>
			<content:encoded><![CDATA[<p>Durante lo sviluppo della mia ultima applicazione per iPhone/iPod Touch mi è capitato di lavorare parecchio con i thread. Cercando su Internet più informazioni possibili in merito all&#8217;uso della classe NSThread mi sono imbattuto in un tutorial abbastanza interessante (per principianti) che illustra come usare la classe NSThread in una mini-applicazione per iPhone. Il tutorial è raggiungibile a <a href="http://www.xprogress.com/post-36-threading-tutorial-using-nsthread-in-iphone-sdk-objective-c/" target="_blank" title="Applicazioni iPhone ed NSThread">questo link</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2009/10/20/iphone-nsthread/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Convertire un repository SVN a Git</title>
		<link>http://blog.m1k.info/2009/05/18/guida-convertire-un-repository-svn-a-git/</link>
		<comments>http://blog.m1k.info/2009/05/18/guida-convertire-un-repository-svn-a-git/#comments</comments>
		<pubDate>Mon, 18 May 2009 09:55:25 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Annunci]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=298</guid>
		<description><![CDATA[Fino ad ora per la gestione dei miei progetti software ho sempre usato Subversion (SVN) come sistema di controllo versione. Tuttavia, negli ultimi mesi, a causa di specifiche necessità, è stato scelto di adottare Git come sistema di controllo versione per uno dei progetti su cui sto lavorando. Git è un nuovo sistema di controllo [...]]]></description>
			<content:encoded><![CDATA[<p>Fino ad ora per la gestione dei miei progetti software ho sempre usato Subversion (SVN) come sistema di controllo versione. Tuttavia, negli ultimi mesi, a causa di specifiche necessità, è stato scelto di adottare Git come sistema di controllo versione per uno dei progetti su cui sto lavorando. Git è un nuovo sistema di controllo versione, distribuito, libero ed open-source, ideato da Linus Torvalds, adatto a progetti sia di piccole che grandi dimensioni. Dopo alcune settimane di prova, ho deciso di utilizzare Git anche per un altro progetto software che fino ad ora gestivo usando SVN. Di conseguenza, ho avuto la necessità di capire come convertire un repository SVN già esistente ad un repository Git, senza perdere le informazioni sulle operazioni che sono già state effettuate sul progetto.<br/><br />
Convertire un repository SVN ad un repository Git non è un&#8217;operazione particolarmente complessa. Di seguito indico i passi che ho seguito per effettuare la conversione del repository.<span id="more-298"></span><br/><br/></p>
<p><span style="font-weight:bold">File degli utenti</span><br />
Come prima cosa ho creato una directory temporanea chiamata: &#8220;temp_prg&#8221;. Successivamente ho creato un file di testo chiamato &#8220;authors&#8221; all&#8217;interno del quale è stato definito il mapping tra gli utenti del repository SVN già esistente ed il nuovo repository Git. Ho eseguito tali operazioni su una macchina Mac direttamente da riga di comando, ma nessuno vieta di eseguirle, tutte o parte di esse, usando un ambiente grafico.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">mkdir temp_prg
cd temp_prg
touch authors
nano authors</pre></div></div>

<p>Il primo comando (mkdir temp_prg) viene utilizzato per creare una directory temporanea chiamata &#8220;temp_prg&#8221;. Il secondo comando (cd temp_prg) viene usato per entrare all&#8217;interno della directory appena creata. Il comando (touch authors), crea un nuovo file vuoto chiamato &#8220;authors&#8221;. Per editare il file di testo ho utilizzato l&#8217;editor &#8220;nano&#8221; (vedi ultimo comando). Chiaramente è possibile editare tale file utilizzando qualsiasi editor testuale grafico o non grafico (eg. emacs, TextMate, etc.).<br/><br/></p>
<p>Il file &#8220;authors&#8221; dovrebbe avere un contenuto molto simile al seguente dove: nella parte sinista vengono specificati gli username degli utenti del repository SVN già esistente, mentre nella parte destra il corrispettivo identificatico che gli stessi utenti avranno nel repository Git.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">michele = Michele &lt;michele_mail@testMail.org&gt;
christian = Christian &lt;christian_mail@testMail.org&gt;
andrea = Andrea &lt;andrea_mail@testMail.org&gt;</pre></div></div>

<p><span style="font-weight:bold">Repository Git Temporaneo</span><br />
A questo punto, per creare il nuovo repository Git a partire dal repository SVN già esistente, digitare il seguente comando:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">git svn clone --authors-file=/path_to/authors http://my_server/svn_repository/project</pre></div></div>

<p>Il parametro <code>"--authors-file"</code> viene utilizzato per indicare il file contenente il mapping tra gli utenti del repository SVN e quelli del nuovo repository Git, in pratica, il file &#8220;authors&#8221; precedentemente creato. L&#8217;ultimo parametro (http://my_server/svn_repository/project) rapressenta l&#8217;URL del repository SVN già esistente. Se il repository SVN ha una struttura standard e comprende le directory &#8220;trunk&#8221;, &#8220;branches&#8221; e &#8220;tags&#8221;, al precendete comando può essere aggiunto il parametro <code>"--stdlayout"</code>. Invece, se si vuole convertire il repository SVN omettento anche i metadati relativi alle revisioni basta aggiungere il parametro <code>"--no-metadata"</code>.<br/><br/></p>
<p><span style="font-weight:bold">Repository Git Finale</span><br />
Terminata l&#8217;esecuzione del comando precedentemente illustrato, si otterrà un repository Git sulla propria macchia locale. Se necessario, in base alle proprie necessità impostare i permessi del repository ed alla fine, digitare il seguente comando:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">git clone --bare myproject myproject.git</pre></div></div>

<p>dove &#8220;myproject&#8221; indica il nome del repository Git temporaneo mentre &#8220;myproject.git&#8221; indica il nome del repository Git definitivo. A questo punto è necessario controllare che il repository Git finale comprenda tutte le informazioni presenti nel vecchio repository SVN. In caso affermativo, è possibile cancellare il repository Git temporaneo. Il repository Git finale (myproject.git) può anche essere uploadato in un server in modo da poterlo utilizzare come repository centrale (shared repository). In questo caso, anche sulla base delle configurazioni del proprio server, prima di eseguire l&#8217;upload del repository Git, potrebbe essere necessario digitare i seguenti comandi:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">cd myproject.git
git config core.sharedrepository 1
git config receive.denyNonFastforwards true
find objects -type d -exec chmod 02770 {} \;</pre></div></div>

<p><span style="font-weight:bold">Links Utili</span><br />
Sito ufficiale Git: <a href="http://git-scm.com/" target="_blank" title="Sito Ufficiale Git">http://git-scm.com/</a><br />
Documentazione Git: <a href="http://git-scm.com/documentation" title="Documentazione Git" target="_blank">http://git-scm.com/documentation</a><br />
GitX, una GUI per Mac OSX: <a href="http://gitx.frim.nl/" title="GitX una GUI per Mac OSX" target="_blank">http://gitx.frim.nl/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2009/05/18/guida-convertire-un-repository-svn-a-git/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Chipmunk: introduzione alla fisica per i giochi</title>
		<link>http://blog.m1k.info/2009/05/09/chipmunk-introduzione-alla-fisica-per-i-giochi/</link>
		<comments>http://blog.m1k.info/2009/05/09/chipmunk-introduzione-alla-fisica-per-i-giochi/#comments</comments>
		<pubDate>Sat, 09 May 2009 13:44:14 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Chipmunk]]></category>
		<category><![CDATA[[lang_it]Fisica[/lang_it][lang_en]Phisycs[/lang_en]]]></category>
		<category><![CDATA[[lang_it]Programmazione Giochi[/lang_it][lang_en]Game Programming[/lang_en]]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=289</guid>
		<description><![CDATA[Per chi si interessa di programmazione di giochi per iPhone o per altre piattaforme, segnalo che in questi giorni Alexandre Gomes ha pubblicato sul suo sito un interessante articolo, dedicato essenzialmente ai principianti, che illustra come usare il framework Chipmunk 2D per lavorare con elementi di fisica 2D e corpi rigidi all&#8217;interno dei giochi. Per [...]]]></description>
			<content:encoded><![CDATA[<p>Per chi si interessa di programmazione di giochi per iPhone o per altre piattaforme, segnalo che in questi giorni <a href="http://www.alexandre-gomes.com/" title="Alexandre Gomes" target="_blank">Alexandre Gomes</a> ha pubblicato sul suo sito un interessante articolo, dedicato essenzialmente ai principianti, che illustra come usare il framework Chipmunk 2D per lavorare con elementi di fisica 2D e corpi rigidi all&#8217;interno dei giochi. Per leggere l&#8217;articolo completo, basta seguire <a href="http://www.alexandre-gomes.com/articles/chipmunk/" title="An introduction to game physics with Chipmunk" target="_blank">questo link</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2009/05/09/chipmunk-introduzione-alla-fisica-per-i-giochi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come cancellare cartelle “.svn”</title>
		<link>http://blog.m1k.info/2009/04/15/come-cancellare-cartelle-svn/</link>
		<comments>http://blog.m1k.info/2009/04/15/come-cancellare-cartelle-svn/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 22:05:54 +0000</pubDate>
		<dc:creator>Michele</dc:creator>
				<category><![CDATA[Annunci]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Directories]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://blog.m1k.info/?p=243</guid>
		<description><![CDATA[Subverion (SVN) memorizza le informazioni di stato riguardo la &#8220;working copy&#8221; di un progetto all&#8217;interno di directories nascoste chiamate &#8220;.svn&#8221;. Queste directories vengono utilizzate per contenere metadati SVN. Considerando una directory contenente un progetto prelevato da un repository SVN (ad esempio, una directory chiamata &#8220;MyProject&#8221;), avremo una cartella nascosta &#8220;.svn&#8221; per ogni directory e sotto-directory [...]]]></description>
			<content:encoded><![CDATA[<p>Subverion (SVN) memorizza le informazioni di stato riguardo la &#8220;working copy&#8221; di un progetto all&#8217;interno di directories nascoste chiamate &#8220;.svn&#8221;. Queste directories vengono utilizzate per contenere metadati SVN. Considerando una directory contenente un progetto prelevato da un repository SVN (ad esempio, una directory chiamata &#8220;MyProject&#8221;), avremo una cartella nascosta &#8220;.svn&#8221; per ogni directory e sotto-directory collocate all&#8217;interno di &#8220;MyProject&#8221;. A volte si ha la necessità di cancellare queste directory nascoste, ad esempio, per distribuire o condividire il progetto con persone che non usano Subversion, o semplicemente, per archiviare una copia del progetto senza i metadati SVN.<span id="more-243"></span><br/><br/></p>
<p>Cancellare manualmente tutte le cartelle nascoste &#8220;.svn&#8221; da ogni singola directory e sotto-directories non è la cosa più eccitante del mondo, specialmente se il progetto su cui si vuole operare è piuttosto grande e comprende una moltitutide di sotto-directories annidate. Per svolgere questa operazione automaticamente su macchine Mac o comunque su macchine basate su sistemi operativi Unix/Linux, basterà aprire il terminale e lanciare il seguente comando all&#8217;interno della directory del progetto in cui si vuole elminare le directories &#8220;.svn&#8221; (ad esempio, &#8220;MyProject&#8221;):</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">find . -type d -name .svn -depth -exec rm -rf {} \;</pre></div></div>

<p>Il significato del comando è:<br />
&#8220;trova in questa cartella (find .) tutte le sotto-cartelle (type -d) chiamate &#8216;.svn&#8217; (-name .svn) con ordine padre->figlio (-depth) ed esegui il comando &#8216;rm -rf&#8217; su ogni directory trovata ({})&#8221;.<br/><br/></p>
<p>Gli utenti Windows, invece, possono aggiungere una nuova voce di menù (ad esempio, &#8220;Delete SVN Folders&#8221;) all&#8217;interno del menù contestuale di Windows. Selezionando la cartella del progetto da cui eliminare le sotto-cartelle &#8220;.svn&#8221; e successivamente lanciando l&#8217;opzione &#8220;Delete SVN Folders&#8221; dal menù contestuale di Windows (tasto destro del mouse), verrà lanciato uno script che si occuperà di cancellare tutte le sotto-cartelle &#8220;.svn&#8221; (fonte: <a href="http://weblogs.asp.net/jgalloway/archive/2007/02/24/shell-command-remove-svn-folders.aspx" target="_blank">Jon Galloway&#8217;s Blog</a>). Per fare questo, basterà copiare le seguenti righe di codice all&#8217;interno di un file di testo con estensione &#8220;.reg&#8221; (da creare) e poi fare doppio click su di esso per installarlo.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@=&quot;Delete SVN Folders&quot;
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@=&quot;cmd.exe /c \&quot;TITLE Removing SVN Folders in %1 &amp;&amp; COLOR 9A &amp;&amp; FOR /r \&quot;%1\&quot; %%f IN (.svn) DO RD /s /q \&quot;%%f\&quot; \&quot;&quot;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.m1k.info/2009/04/15/come-cancellare-cartelle-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk

Served from: blog.m1k.info @ 2012-02-06 02:40:02 -->
