<?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>Matteo Canato</title>
	<atom:link href="http://www.canato.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.canato.org</link>
	<description>Web developer - Software engineer - Technology consultant</description>
	<lastBuildDate>Wed, 22 Feb 2012 21:13:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Il valore dell&#8217;Ingegneria dell&#8217;Informazione</title>
		<link>http://www.canato.org/2012/02/il-valore-dellingegneria-dellinformazione/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=il-valore-dellingegneria-dellinformazione</link>
		<comments>http://www.canato.org/2012/02/il-valore-dellingegneria-dellinformazione/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 21:13:13 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[quote]]></category>
		<category><![CDATA[uni]]></category>

		<guid isPermaLink="false">http://www.canato.org/?p=402</guid>
		<description><![CDATA[I dati sono ovunque, ma la capacità di strutturarli in informazioni intelligenti e architetture finalizzate, no. In questo differenziale risiede il valore dell&#8217;Ingegneria dell&#8217;Informazione. A quasi un anno dalla mia laurea ne ho finalmente trovato una definizione concreta!]]></description>
			<content:encoded><![CDATA[<blockquote><p>I dati sono ovunque, ma la <strong>capacità</strong> di strutturarli in informazioni intelligenti e architetture finalizzate, no.</p>
<p>In questo differenziale risiede il valore dell&#8217;Ingegneria dell&#8217;Informazione.</p></blockquote>
<p>A quasi un anno dalla mia laurea ne ho finalmente trovato una definizione concreta!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.canato.org/2012/02/il-valore-dellingegneria-dellinformazione/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install Android Ice Cream Sandwich (4.0) Official on Nexus S</title>
		<link>http://www.canato.org/2011/12/how-to-install-android-ice-cream-sandwich-4-0-official-on-nexus-s/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-install-android-ice-cream-sandwich-4-0-official-on-nexus-s</link>
		<comments>http://www.canato.org/2011/12/how-to-install-android-ice-cream-sandwich-4-0-official-on-nexus-s/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 23:10:45 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[ice cream sandwich]]></category>
		<category><![CDATA[nexus s]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.canato.org/?p=386</guid>
		<description><![CDATA[Few minutes ago, Google has finally rolled out Android 4.0 Ice Cream Sandwich for the Nexus S. The update will be available via OTA, but if you can&#8217;t wait, follow this guide! Download the OTA Package from here: http://t.co/i8NjJoLo Rename it to update.zip Copy it to the root of the internal storage Power off the device, hold ...]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.facebook.com/googlenexus/posts/261934070530557">Few minutes ago</a>, Google has finally rolled out Android 4.0 Ice Cream Sandwich for the Nexus S.</p>
<p>The update will be available via OTA, but if you can&#8217;t wait, follow this guide! <img src='http://www.canato.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<ol>
<li>Download the OTA Package from here: <a href="http://www.facebook.com/l.php?u=http%3A%2F%2Ft.co%2Fi8NjJoLo&amp;h=BAQGbs6QYAQHgFt-f205CEdIAplwUOlyGw4piBA8GcQEETA" rel="nofollow nofollow" target="_blank">http://t.co/i8NjJoLo</a></li>
<li>Rename it to update.zip</li>
<li>Copy it to the root of the internal storage</li>
<li>Power off the device, hold Volume Up and Power to reboot into the bootloader</li>
<li>Select &#8220;recovery,&#8221; then hit the power button</li>
<li>Once the warning triangle appears, hold the power button and hit volume up</li>
<li>Select &#8220;apply update from /sdcard&#8221; and choose the update.zip</li>
<li>Once the process is finished, simply choose &#8220;reboot system now&#8221;</li>
<li>Once it reboots, BAM! You&#8217;ve got ICS. Congratulations!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.canato.org/2011/12/how-to-install-android-ice-cream-sandwich-4-0-official-on-nexus-s/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modifying the SSH login banner</title>
		<link>http://www.canato.org/2011/12/modifying-the-ssh-login-banner/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=modifying-the-ssh-login-banner</link>
		<comments>http://www.canato.org/2011/12/modifying-the-ssh-login-banner/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 18:44:44 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu 11.10]]></category>

		<guid isPermaLink="false">http://www.canato.org/?p=382</guid>
		<description><![CDATA[The login banner is what comes up after you&#8217;ve entered your username (unless the client sends it automatically, then it’s the first thing you see), it can contain warnings, welcoming messages or ASCII art. Okay, how can I change mine? To edit/change/enable the login banner you need root access to the system. open up /etc/ssh/sshd_config ...]]></description>
			<content:encoded><![CDATA[<p>The login banner is what comes up after you&#8217;ve entered your username (unless the client sends it automatically, then it’s the first thing you see), it can contain warnings, welcoming messages or ASCII art.</p>
<p>Okay, how can I change mine? To edit/change/enable the login banner you need root access to the system. open up /etc/ssh/sshd_config in your favorite text editor and find the line that says &#8220;Banner &#8230;&#8221; in some cases this line is commented out, make sure to uncomment it.</p>
<p>I recommend changing the file it points to, I usually put mine in /etc/ssh/banner(Banner /etc/ssh/banner) this is a plain text file, so you can pretty much enter anything you want, but be aware that not everyone runs their ssh client in full-screen. after you’ve changed the banner file, you will need to restart your SSH server, in debian-based systems this can be done with /etc/init.d/ssh restart don’t worry, users will not be kicked out.</p>
<p><a href="https://raw.github.com/gist/1473244/77dd53e6627319aa2a76bd1d9aee21dac1d84456/gistfile1.txt" target="_blank">Click here to download he Ascii of my Hypno Toad in the above image.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.canato.org/2011/12/modifying-the-ssh-login-banner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 10 commandaments for a (Ruby) developer</title>
		<link>http://www.canato.org/2011/12/the-10-commandaments-for-a-ruby-developer/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-10-commandaments-for-a-ruby-developer</link>
		<comments>http://www.canato.org/2011/12/the-10-commandaments-for-a-ruby-developer/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 21:02:35 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[10 commandaments]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.canato.org/?p=375</guid>
		<description><![CDATA[1. DRY: Don’t repeat yourself. DRY is usually the easiest principle to understand, but it is quite harder to apply. It means that when finding similar code in two or more places, we should abstract them into a new method and change the previous code fragments so they will now call the new method with ...]]></description>
			<content:encoded><![CDATA[<h2>1. DRY: Don’t repeat yourself.</h2>
<p>DRY is usually the easiest principle to understand, but it is quite harder to apply. It means that when finding similar code in two or more places, we should abstract them into a new method and change the previous code fragments so they will now call the new method with the appropriate parameters.</p>
<p><span style="text-decoration: underline;">DRY is maybe the most universal coding principle,</span> I have never found a developer who would argue that repeating code is good, but, I have found developers that forget about this principle when coding.</p>
<h2>2. Write short methods.</h2>
<p>There are three very good reasons for writing short methods. In this way, Your code will be:</p>
<ul>
<li>easier to read.</li>
<li>easier to reuse (short methods are likely to produce loose coupling).</li>
<li>easier to test.</li>
</ul>
<div>
<h2>3. Code to an interface, not to an implementation.</h2>
<p>This is a classic one, coding to an interface will free us from the implementation details, we just define a contract and rely on calling the defined operations on the contract, expecting that the actual implementation will be passed to our code or decided at runtime.</p>
</div>
<h2>4. Use good names for your classes, methods, variables and everything else.</h2>
<p>There is nothing nicer than using some other developer code and not having to read its documentation because the names of the classes and the methods are telling us everything, so, make everyone’s life easier and take this approach, expend always a few seconds before naming any element in your code. Please, do it.</p>
<h2>5. Assign the right responsibility to each class.</h2>
<p>One class, one responsibility. But not any responsibility, the right responsibility: so if we have the class &#8216;Customer&#8217;, we won’t assign to it the responsibility to create a new sales action, we will just assign it the responsibility to handle all the data related with a customer.</p>
<h2>6. (Too many) Comments are evil.</h2>
<p>Most of developers taught that comments are good, and actually it’s better to have a comment in an obscure piece of code than just having the code by itself. Even better than having a comment for an obscure piece of code is to not to have that code at all, just refactor it until is a nice and readable piece of code.</p>
<h2>7. Respect the best practices of the design pattern you choose.</h2>
<p>Be sure to respect the common best practices. In example, if you choose the MVC design pattern:</p>
<ul>
<li><span style="text-decoration: underline;">never</span> write SQL queries in the views.</li>
<li>write skinny controllers and &#8216;fat&#8217; models.</li>
<li>the entire application logic must be in the controllers.</li>
</ul>
<h2>8. Test, test, test.</h2>
<p>The most tests you have, the better, they are our safety net for all the changes we will have to perform in the code in the future.</p>
<h2>9. Refactor often and sooner.</h2>
<p>Software development is a continuous discovery process, in order to keep up to date with good code that matches the new/changing requirements is essential to refactor the code as we go. As this is a risky task there are 2 main preconditions to avoid entering new bugs into the system.</p>
<h2>10. Have code reviews.</h2>
<p>We all make mistakes, and there’s nothing better than asking some other person to have a quick and informal review in our code to find them. In order to make the reviews, it’s better not to wait until the code is completed, ask for reviews whenever some important part of the code has been completed (or when a few days have passed from the previous review).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.canato.org/2011/12/the-10-commandaments-for-a-ruby-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog e sito su WordPress</title>
		<link>http://www.canato.org/2011/11/blog-e-sito-su-wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=blog-e-sito-su-wordpress</link>
		<comments>http://www.canato.org/2011/11/blog-e-sito-su-wordpress/#comments</comments>
		<pubDate>Sat, 05 Nov 2011 16:20:48 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogger]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.canato.org/?p=309</guid>
		<description><![CDATA[Spinto da una voglia di dare una rinfrescata al mio sito/blog (e anche visti i problemi avuti con la nuova interfaccia di Blogger), ho deciso di muovere tutto su WordPress e per il momento sono moooolto soddisfatto del risultato! La migrazione è avvenuta senza troppi problemi: articoli, tag e persino i commenti sono stati preservati! ...]]></description>
			<content:encoded><![CDATA[<p>Spinto da una voglia di dare una rinfrescata al mio sito/blog (e anche visti i <a title="Google Blogger Dynamic Views" href="http://www.canato.org/2011/10/google-blogger-dynamic-views/">problemi avuti con la nuova interfaccia di Blogger</a>), ho deciso di muovere tutto su WordPress e per il momento sono moooolto soddisfatto del risultato! <img src='http://www.canato.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <span id="more-309"></span></p>
<p>La migrazione è avvenuta senza troppi problemi: articoli, tag e persino i commenti sono stati preservati!</p>
<p>Il tema che ho scelto poi è veramente figo e personalizzabile! <img src='http://www.canato.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  La parte del Curriculum vitae è ancora da sistemare e pulire, ma la cosa bella è che il contenuto viene preso direttamente dal mio profilo LinkedIn!! <img src='http://www.canato.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ora la ToDo list prevede di:</p>
<ul>
<li>Inserire le immagini in evidenza nei post vecchi</li>
<li>Sistemare le Gist di GitHub</li>
<li>Inserire un sistema anti-spam nei commenti</li>
</ul>
<div>Poi prevedo che inizierò a sperimentare qualche plugin dato che c&#8217;è di che sbizzarrirsi!</div>
]]></content:encoded>
			<wfw:commentRss>http://www.canato.org/2011/11/blog-e-sito-su-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guida al censimento della popolazione e delle abitazioni 2011</title>
		<link>http://www.canato.org/2011/11/guida-al-censimento-della-popolazione-e-delle-abitazioni-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=guida-al-censimento-della-popolazione-e-delle-abitazioni-2011</link>
		<comments>http://www.canato.org/2011/11/guida-al-censimento-della-popolazione-e-delle-abitazioni-2011/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 20:16:00 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[censimento 2011]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://mcanato.wordpress.com/2011/11/01/guida-al-censimento-della-popolazione-e-delle-abitazioni-2011</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe width="100%" height="65%" src="http://www.youtube-nocookie.com/embed/pmjMpmGNVy0" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.canato.org/2011/11/guida-al-censimento-della-popolazione-e-delle-abitazioni-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 11.10 + nginx error</title>
		<link>http://www.canato.org/2011/10/ubuntu-11-10-nginx-error/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ubuntu-11-10-nginx-error</link>
		<comments>http://www.canato.org/2011/10/ubuntu-11-10-nginx-error/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 13:54:00 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu 11.10]]></category>

		<guid isPermaLink="false">http://mcanato.wordpress.com/2011/10/25/ubuntu-11-10-nginx-error</guid>
		<description><![CDATA[Recently I&#8217;m having trouble installing nginx with passenger on ubuntu 11.10 32/64bit. Having to search around, the problem lies on the gcc 4.6 when compiling the nginx. Here is the error that I found: /usr/bin/ld: note: 'round@@GLIBC_2.2.5' is defined in DSO /usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/libm.so so try adding it to the linker command line /usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/libm.so: could not read ...]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;m having trouble installing nginx with passenger on ubuntu 11.10 32/64bit. Having to search around, the problem lies on the gcc 4.6 when compiling the nginx.<span id="more-186"></span></p>
<p>Here is the error that I found:</p>
<div><code>/usr/bin/ld: note: 'round@@GLIBC_2.2.5' is defined in DSO /usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/libm.so so try adding it to the linker command line</code></div>
<div><code>/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/libm.so: could not read symbols: Invalid operation</code></div>
<div><code>collect2: ld returned 1 exit status</code></div>
<div><code>make[1]: *** [objs/nginx] Error 1</code></div>
<div><code>make[1]: Leaving directory `/tmp/root-passenger-3038/nginx-1.0.6'</code></div>
<div><code>make: *** [build] Error 2</code></div>
<p>The solution for me is to install gcc-4.4 that can happily co exist with the gcc-4.6 one.</p>
<p><code>sudo apt-get install gcc-4.4 g++-4.4 libstdc++6-4.4-dev</code></p>
<p>after installing the passenger gem, run:</p>
<p><code>rvmsudo CC=gcc-4.4 passenger-install-nginx-module</code></p>
<p>And this is the command for the Passenger standalone:</p>
<p><code>CC=gcc-4.4 passenger start</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.canato.org/2011/10/ubuntu-11-10-nginx-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Blogger Dynamic Views</title>
		<link>http://www.canato.org/2011/10/google-blogger-dynamic-views/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-blogger-dynamic-views</link>
		<comments>http://www.canato.org/2011/10/google-blogger-dynamic-views/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 12:27:00 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogger]]></category>
		<category><![CDATA[gist]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://mcanato.wordpress.com/2011/10/25/google-blogger-dynamic-views</guid>
		<description><![CDATA[Today I&#8217;ve switched my blogger template with dynamic views but I found an incompatibility with embedded javascript (for example with my GitHub Gist&#8230;)!]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;ve switched my blogger template with dynamic views but I found an incompatibility with embedded javascript (for example with my GitHub Gist&#8230;)!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.canato.org/2011/10/google-blogger-dynamic-views/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing ruby-oci8 on Ubuntu 11.10 problems</title>
		<link>http://www.canato.org/2011/10/installing-ruby-oci8-on-ubuntu-11-10-problems/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-ruby-oci8-on-ubuntu-11-10-problems</link>
		<comments>http://www.canato.org/2011/10/installing-ruby-oci8-on-ubuntu-11-10-problems/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 12:03:00 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[oci8]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rvm]]></category>
		<category><![CDATA[ubuntu 11.10]]></category>

		<guid isPermaLink="false">http://mcanato.wordpress.com/2011/10/25/installing-ruby-oci8-on-ubuntu-11-10-problems</guid>
		<description><![CDATA[&#160;]]></description>
			<content:encoded><![CDATA[<div id="gist-1312271" class="gist">
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="highlight">
<pre>
<div class='line' id='LC1'><span class="c"># Natty (Ubuntu 11.04)</span></div>
<div class='line' id='LC2'><br/></div>
<div class='line' id='LC3'><span class="nv">$ </span>dpkg -L libc6-dev | grep /types.h</div>
<div class='line' id='LC4'>/usr/include/bits/types.h</div>
<div class='line' id='LC5'>/usr/include/rpc/types.h</div>
<div class='line' id='LC6'>/usr/include/sys/types.h</div>
<div class='line' id='LC7'><br/></div>
<div class='line' id='LC8'><span class="c"># Oneiric (Ubuntu 11.10)</span></div>
<div class='line' id='LC9'><br/></div>
<div class='line' id='LC10'><span class="nv">$ </span>dpkg -L libc6-dev | grep /types.h</div>
<div class='line' id='LC11'>/usr/include/rpc/types.h</div>
<div class='line' id='LC12'>/usr/include/x86_64-linux-gnu/bits/types.h</div>
<div class='line' id='LC13'>/usr/include/x86_64-linux-gnu/sys/types.h</div>
</pre>
</div></div>
<div class="gist-meta">
            <a href="https://gist.github.com/raw/1312271/a9b32d28441df9b3f031de796e212f871cff891e/changes.sh" style="float:right;">view raw</a><br />
            <a href="https://gist.github.com/1312271#file_changes.sh" style="float:right;margin-right:10px;color:#666">changes.sh</a><br />
            <a href="https://gist.github.com/1312271">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
</p></div>
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="highlight">
<pre>
<div class='line' id='LC1'><span class="nv">$ </span>gem install <span class="s1">&#39;ruby-oci8&#39;</span></div>
<div class='line' id='LC2'>Installing ruby-oci8 <span class="o">(</span>2.0.6<span class="o">)</span> with native extensions </div>
<div class='line' id='LC3'>Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.</div>
<div class='line' id='LC4'><br/></div>
<div class='line' id='LC5'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/home/user/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb </div>
<div class='line' id='LC6'>checking <span class="k">for </span>load library path... </div>
<div class='line' id='LC7'>&nbsp;&nbsp;LD_LIBRARY_PATH... </div>
<div class='line' id='LC8'>&nbsp;&nbsp;&nbsp;&nbsp;checking /opt/oracle/instantclient_11_2... yes</div>
<div class='line' id='LC9'>&nbsp;&nbsp;/opt/oracle/instantclient_11_2/libclntsh.so.11.1 looks like an instant client.</div>
<div class='line' id='LC10'>checking <span class="k">for </span>cc... ok</div>
<div class='line' id='LC11'>checking <span class="k">for </span>gcc... yes</div>
<div class='line' id='LC12'>checking <span class="k">for </span>LP64... no</div>
<div class='line' id='LC13'>checking <span class="k">for </span>ruby header... *** extconf.rb failed ***</div>
<div class='line' id='LC14'>Could not create Makefile due to some reason, probably lack of</div>
<div class='line' id='LC15'>necessary libraries and/or headers.  Check the mkmf.log file <span class="k">for </span>more</div>
<div class='line' id='LC16'>details.  You may need configuration options.</div>
<div class='line' id='LC17'><br/></div>
<div class='line' id='LC18'>Provided configuration options:</div>
<div class='line' id='LC19'>	--with-opt-dir</div>
<div class='line' id='LC20'>	--without-opt-dir</div>
<div class='line' id='LC21'>	--with-opt-include</div>
<div class='line' id='LC22'>	--without-opt-include<span class="o">=</span><span class="k">${</span><span class="nv">opt</span><span class="p">-dir</span><span class="k">}</span>/include</div>
<div class='line' id='LC23'>	--with-opt-lib</div>
<div class='line' id='LC24'>	--without-opt-lib<span class="o">=</span><span class="k">${</span><span class="nv">opt</span><span class="p">-dir</span><span class="k">}</span>/lib</div>
<div class='line' id='LC25'>	--with-make-prog</div>
<div class='line' id='LC26'>	--without-make-prog</div>
<div class='line' id='LC27'>	--srcdir<span class="o">=</span>.</div>
<div class='line' id='LC28'>	--curdir</div>
<div class='line' id='LC29'>	--ruby<span class="o">=</span>/home/matteo/.rvm/rubies/ruby-1.9.2-p290/bin/ruby</div>
<div class='line' id='LC30'>	--with-instant-client</div>
<div class='line' id='LC31'>	--without-instant-client</div>
<div class='line' id='LC32'>/home/user/.rvm/gems/ruby-1.9.2-p290@moduli/gems/ruby-oci8-2.0.6/ext/oci8/oraconf.rb:647:in <span class="sb">`</span>check_ruby_header<span class="s1">&#39;: RuntimeError (RuntimeError)</span></div>
<div class='line' id='LC33'><span class="s1">	from /home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6/ext/oci8/oraconf.rb:581:in `init&#39;</span></div>
<div class='line' id='LC34'>	from /home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6/ext/oci8/oraconf.rb:1030:in <span class="sb">`</span>initialize<span class="s1">&#39;</span></div>
<div class='line' id='LC35'><span class="s1">	from /home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6/ext/oci8/oraconf.rb:343:in `new&#39;</span></div>
<div class='line' id='LC36'>	from /home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6/ext/oci8/oraconf.rb:343:in <span class="sb">`</span>get<span class="s1">&#39;</span></div>
<div class='line' id='LC37'><span class="s1">	from extconf.rb:18:in `&lt;main&gt;&#39;</span></div>
<div class='line' id='LC38'>---------------------------------------------------</div>
<div class='line' id='LC39'>Error Message:</div>
<div class='line' id='LC40'>&nbsp;&nbsp;Do you install glibc-devel<span class="o">(</span>redhat<span class="o">)</span> or libc6-dev<span class="o">(</span>debian<span class="o">)</span>?</div>
<div class='line' id='LC41'>&nbsp;&nbsp;You need /usr/include/sys/types.h to compile ruby-oci8.</div>
<div class='line' id='LC42'>&nbsp;&nbsp;</div>
<div class='line' id='LC43'>Backtrace:</div>
<div class='line' id='LC44'>&nbsp;&nbsp;/home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6/ext/oci8/oraconf.rb:647:in <span class="sb">`</span>check_ruby_header<span class="s1">&#39;</span></div>
<div class='line' id='LC45'><span class="s1">  /home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6/ext/oci8/oraconf.rb:581:in `init&#39;</span></div>
<div class='line' id='LC46'>&nbsp;&nbsp;/home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6/ext/oci8/oraconf.rb:1030:in <span class="sb">`</span>initialize<span class="s1">&#39;</span></div>
<div class='line' id='LC47'><span class="s1">  /home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6/ext/oci8/oraconf.rb:343:in `new&#39;</span></div>
<div class='line' id='LC48'>&nbsp;&nbsp;/home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6/ext/oci8/oraconf.rb:343:in <span class="sb">`</span>get<span class="s1">&#39;</span></div>
<div class='line' id='LC49'><span class="s1">  extconf.rb:18:in `&lt;main&gt;&#39;</span></div>
<div class='line' id='LC50'>---------------------------------------------------</div>
<div class='line' id='LC51'>See:</div>
<div class='line' id='LC52'>&nbsp;* http://ruby-oci8.rubyforge.org/en/HowToInstall.html</div>
<div class='line' id='LC53'>&nbsp;* http://ruby-oci8.rubyforge.org/en/ReportInstallProblem.html</div>
<div class='line' id='LC54'><br/></div>
<div class='line' id='LC55'><br/></div>
<div class='line' id='LC56'><br/></div>
<div class='line' id='LC57'>Gem files will remain installed in /home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6 <span class="k">for </span>inspection.</div>
<div class='line' id='LC58'>Results logged to /home/user/.rvm/gems/ruby-1.9.2-p290/gems/ruby-oci8-2.0.6/ext/oci8/gem_make.out</div>
<div class='line' id='LC59'><br/></div>
<div class='line' id='LC60'>An error occured <span class="k">while </span>installing ruby-oci8 <span class="o">(</span>2.0.6<span class="o">)</span>, and Bundler cannot <span class="k">continue</span>.</div>
<div class='line' id='LC61'>Make sure that <span class="sb">`</span>gem install ruby-oci8 -v <span class="s1">&#39;2.0.6&#39;</span><span class="sb">`</span> succeeds before bundling.</div>
</pre>
</div></div>
<div class="gist-meta">
            <a href="https://gist.github.com/raw/1312271/1238faf2680486526fbaee97769d73ba4f2f7c37/error.sh" style="float:right;">view raw</a><br />
            <a href="https://gist.github.com/1312271#file_error.sh" style="float:right;margin-right:10px;color:#666">error.sh</a><br />
            <a href="https://gist.github.com/1312271">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
</p></div>
<div class="gist-file">
<div class="gist-data gist-syntax">
<div class="highlight">
<pre>
<div class='line' id='LC1'><span class="nv">$ </span>sudo ln -s /usr/include/i386-linux-gnu/sys /usr/include/sys</div>
<div class='line' id='LC2'><br/></div>
</pre>
</div></div>
<div class="gist-meta">
            <a href="https://gist.github.com/raw/1312271/11865e74211a85286f0ece6a932ab68dd233ce13/solution.sh" style="float:right;">view raw</a><br />
            <a href="https://gist.github.com/1312271#file_solution.sh" style="float:right;margin-right:10px;color:#666">solution.sh</a><br />
            <a href="https://gist.github.com/1312271">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
</p></div>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.canato.org/2011/10/installing-ruby-oci8-on-ubuntu-11-10-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Devise Italian I18n</title>
		<link>http://www.canato.org/2011/08/devise-italian-i18n/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=devise-italian-i18n</link>
		<comments>http://www.canato.org/2011/08/devise-italian-i18n/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 13:42:00 +0000</pubDate>
		<dc:creator>Matteo</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[devise]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://mcanato.wordpress.com/2011/08/25/devise-italian-i18n</guid>
		<description><![CDATA[Oggi mi sono accorto che le ultime versioni di Devise, al momento la miglior gemma per Rails per l&#8217;autenticazione, hanno aggiunto nuove funzionalità e conseguenti nuovi messaggi all&#8217;utente. Il file di traduzione in italiano disponibile sulla pagina ufficiale era datato, così mi sono preso la briga di aggiungere le parti mancanti e caricare la nuova versione ...]]></description>
			<content:encoded><![CDATA[<div>Oggi mi sono accorto che le ultime versioni di <a href="https://github.com/plataformatec/devise">Devise</a>, al momento la miglior gemma per Rails per l&#8217;autenticazione, hanno aggiunto nuove funzionalità e conseguenti nuovi messaggi all&#8217;utente. Il <a href="https://gist.github.com/443837">file di traduzione in italiano</a> disponibile sulla pagina ufficiale era datato, così mi sono preso la briga di aggiungere le parti mancanti e caricare la nuova versione online e sulla wiki ufficiale.</div>
<div><img src="https://blogger.googleusercontent.com/tracker/743607446517279372-305555805283503466?l=mcanato.blogspot.com" alt="" width="1" height="1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.canato.org/2011/08/devise-italian-i18n/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

