<?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>Grimmo.it</title>
	<atom:link href="http://www.grimmo.it/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.grimmo.it</link>
	<description>Io non mi sento Italiano ma perfortuna o purtroppo lo sono</description>
	<lastBuildDate>Fri, 27 Jan 2012 15:17:04 +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>L&#8217;italia approva ACTA</title>
		<link>http://www.grimmo.it/2012/01/27/litalia-approva-acta/</link>
		<comments>http://www.grimmo.it/2012/01/27/litalia-approva-acta/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 15:13:14 +0000</pubDate>
		<dc:creator>grimmo</dc:creator>
				<category><![CDATA[e intanto il paese va in merda]]></category>
		<category><![CDATA[pubblica utilità]]></category>
		<category><![CDATA[acta]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[politica]]></category>

		<guid isPermaLink="false">http://www.grimmo.it/?p=508</guid>
		<description><![CDATA[Forse il peggior trattato mondiale nella storia della libertà di espressione. A rischio non solamente la libertà su internet ma anche la libertà di ricerca, la possibilità di avere medicinali generici a basso costo e molto altro. Tutto in nome del copyright e della protezione della proprietà intellettuale.]]></description>
			<content:encoded><![CDATA[<p>Forse il peggior trattato mondiale nella storia della libertà di espressione. A rischio non solamente la libertà su internet ma anche la libertà di ricerca, la possibilità di avere medicinali generici a basso costo e molto altro. Tutto in nome del copyright e della protezione della proprietà intellettuale.</p>
	<video id="wp_mep_1"   width="480" height="270"  controls="controls" preload="none"  >
		<source src="/media/716_big_subbed.mp4" type="video/mp4" />
		
		
		
		
		
		
		<object width="480" height="270" type="application/x-shockwave-flash" data="http://www.grimmo.it/wp-content/plugins/media-element-html5-video-and-audio-player/mediaelement/flashmediaelement.swf">
			<param name="movie" value="http://www.grimmo.it/wp-content/plugins/media-element-html5-video-and-audio-player/mediaelement/flashmediaelement.swf" />
			<param name="flashvars" value="controls=true&amp;file=/media/716_big_subbed.mp4" />			
		</object>		
	</video>
<script type="text/javascript">
jQuery(document).ready(function($) {
	$('#wp_mep_1').mediaelementplayer({
		m:1
		
		,features: ['playpause','current','progress','duration','volume','tracks','fullscreen']
		
	});
});
</script>

]]></content:encoded>
			<wfw:commentRss>http://www.grimmo.it/2012/01/27/litalia-approva-acta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Piccoli incantesimi in Javascript</title>
		<link>http://www.grimmo.it/2011/12/23/piccoli-incantesimi-in-javascript/</link>
		<comments>http://www.grimmo.it/2011/12/23/piccoli-incantesimi-in-javascript/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 15:05:35 +0000</pubDate>
		<dc:creator>grimmo</dc:creator>
				<category><![CDATA[cose da geek]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.grimmo.it/?p=365</guid>
		<description><![CDATA[Avete la necessità di selezionare una certa opzione da un menu a discesa di una pagina web in base a quello che viene digitato in un campo della stessa form? Ecco come fare: Supponiamo di avere questa semplice form in html [html gutter="false" toolbar="false" ruler="false"] Nome utente Gusto di gelato preferito Scegli un gelato Cioccolato [...]]]></description>
			<content:encoded><![CDATA[<p>Avete la necessità di selezionare una certa opzione da un menu a discesa di una pagina web in base a quello che viene digitato in un campo della stessa form?</p>
<p>Ecco come fare:</p>
<p><span id="more-365"></span><br />
Supponiamo di avere questa semplice form in html<br />
[html gutter="false" toolbar="false" ruler="false"]</p>
<form name="form1">Nome utente</p>
<input type="text" name="nomeutente" value="" />
Gusto di gelato preferito </p>
<select name="opzioni">
<option>Scegli un gelato</option>
<option value="Cioccolato">Cioccolato</option>
<option value="Vaniglia">Vaniglia</option>
</select>
<input type="submit" value="OK" />
</form>
<p>[/html]<br />
<img src="http://www.grimmo.it/wp-content/uploads/2011/12/form-300x135.png" alt="" title="La nostra form vista dal browser" width="300" height="135" class="alignright size-medium wp-image-402" /><br />
Vogliamo fare in modo che</p>
<ul>
<li>Se il nome utente inizia con la lettera <strong>C</strong> venga selezionato automaticamente il gusto <strong>Cioccolato</strong></li>
<li>mentre se inizia per la lettera <strong>V</strong> venga selezionato il gusto <strong>Vaniglia</strong>.</li>
<li>In tutti gli altri casi, vogliamo che non venga selezionato alcun gusto.</li>
</ul>
<p>è sufficiente inserire questa piccola funzione javascript all&#8217;interno della pagina web, meglio se prima della form in questione</p>
<p>[javascript gutter="false" ruler="false" toolbar="false"]<br />
<script type="text/javascript" language="JavaScript">
function PreSeleziona(valore) {
 if (valore.match(/^C/i))
    document.form1.opzioni[1].selected = true;
 else if (valore.match(/^V/i))
    document.form1.opzioni[2].selected = true;
 else
    // Non fare nulla
    var donothing = "";
}
</script><br />
[/javascript]</p>
<p>infine, modificare il tag di input del campo testuale in html come segue</p>
<p>Da</p>
<p>[html ruler="false" font_size="30%" toolbar="false" gutter="false"]</p>
<input type="text" name="nomeutente" value="" />
[/html]</p>
<p>A</p>
<p>[html ruler="false" font_size="30%" toolbar="false" gutter="false"]</p>
<input type="text" name="nomeutente" value=""<br />
onChange="PreSeleziona(this.value)" /><br />
[/html]</p>
<p>In questo modo, appena la modifica del campo &#8220;Nome utente&#8221; verrà completata, scatterà l&#8217;evento <em>onChange</em> che richiamerà<br />
la funzione <em>PreSeleziona</em> passando come parametro il contenuto del nome utente.<br />
Con due semplici espressione regolare, il codice javascript controllerà che il contenuto del nome utente inizi o meno per le lettere<br />
che abbiamo scelto.</p>
<p>Le espressioni regolari in questione sono</p>
<pre>/^C/i</pre>
<p>e</p>
<pre>/^V/i</pre>
<p>Il carattere <strong>^</strong> dice all&#8217;espressione di controllare solamente la prima lettera del nome utente, mentre il parametro <em>/i</em> alla fine dell&#8217;espressione, serve a non tener conto della differenza tra minuscole e maiuscole, <em>i</em> sta infatti per <em>insensitive</em> o più precisamente <em>case insensitive</em>.</p>
<p>Nel caso una delle due espressioni sia valida, il codice javascript procederà con il selezionare il gusto di gelato nel menu a discesa. Tramite l&#8217;istruzione<br />
[javascript ruler="false" font_size="30%" toolbar="false" gutter="false"]<br />
document.form1.opzioni[1].selected = true;<br />
[/javascript]</p>
<p>Questa istruzione contiene tutto il percorso del menu a discesa all&#8217;interno della pagina, cioè documento, nome della form ovvero <strong>form1</strong> e nome del campo che contiene il menu a discesa, cioè <strong>opzioni</strong>. Infine, per l&#8217;istruzione relativa<br />
all&#8217;opzione Cioccolato c&#8217;è <strong>[1]</strong> che significa prima opzione, mentre per la Vaniglia c&#8217;è <strong>[2]</strong> ovvero seconda opzione. E così via..</p>
<p>Ma il vero cambiamento avviene grazie a <strong>selected = true</strong> è qui che avviene tutta la magia, in quanto stiamo dicendo al programma che il selezionamento dell&#8217;opzione che abbiamo scelto è vero, cioè l&#8217;opzione è attiva.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grimmo.it/2011/12/23/piccoli-incantesimi-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pirata a chi?</title>
		<link>http://www.grimmo.it/2011/12/02/pirata-a-chi/</link>
		<comments>http://www.grimmo.it/2011/12/02/pirata-a-chi/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 13:36:24 +0000</pubDate>
		<dc:creator>grimmo</dc:creator>
				<category><![CDATA[cose da geek]]></category>
		<category><![CDATA[e intanto il paese va in merda]]></category>
		<category><![CDATA[pirateria]]></category>
		<category><![CDATA[siae sux]]></category>

		<guid isPermaLink="false">http://www.grimmo.it/?p=357</guid>
		<description><![CDATA[Per la serie c&#8217;è sempre qualcuno più pirata di te: La sigla del famoso spot antipirateria è stata usata senza l&#8217;autorizzazione dell&#8217;autore del pezzo!! Clamoroso. Rete Tre &#8211; La sigla degli spot antipirateria è piratata. &#160; &#160;]]></description>
			<content:encoded><![CDATA[<p>Per la serie c&#8217;è sempre qualcuno più pirata di te: La sigla del famoso spot antipirateria è stata usata senza l&#8217;autorizzazione dell&#8217;autore del pezzo!! Clamoroso.<br />
<a href="http://retetre.rtsi.ch/index.php?option=com_content&amp;task=view&amp;id=4000&amp;Itemid=62">Rete Tre &#8211; La sigla degli spot antipirateria è piratata</a>.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grimmo.it/2011/12/02/pirata-a-chi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Face substitution</title>
		<link>http://www.grimmo.it/2011/11/08/face-substitution/</link>
		<comments>http://www.grimmo.it/2011/11/08/face-substitution/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 16:27:18 +0000</pubDate>
		<dc:creator>grimmo</dc:creator>
				<category><![CDATA[cose da geek]]></category>

		<guid isPermaLink="false">http://www.grimmo.it/?p=349</guid>
		<description><![CDATA[Questo video è la dimostrazione di un programma che è stato fatto partendo da un software di riconoscimento facciale e inventando qualcosa di nuovo. E&#8217; una delle cose più inquietanti e allo stesso tempo interessanti che ho visto, penso che sicuramente ci saranno sviluppi futuri di questa tecnologia che solo fino a pochi anni fa [...]]]></description>
			<content:encoded><![CDATA[<p>Questo video è la dimostrazione di un programma che è stato fatto partendo da un software di riconoscimento facciale e inventando qualcosa di nuovo. E&#8217; una delle cose più inquietanti e allo stesso tempo interessanti che ho visto, penso che sicuramente ci saranno sviluppi futuri di questa tecnologia che solo fino a pochi anni fa poteva sembrare fantascienza</p>
<p><iframe src="http://player.vimeo.com/video/29348533" width="500" height="281" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grimmo.it/2011/11/08/face-substitution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Giao SIAE</title>
		<link>http://www.grimmo.it/2011/10/28/giao-siae/</link>
		<comments>http://www.grimmo.it/2011/10/28/giao-siae/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 07:44:31 +0000</pubDate>
		<dc:creator>grimmo</dc:creator>
				<category><![CDATA[e intanto il paese va in merda]]></category>
		<category><![CDATA[pubblica utilità]]></category>
		<category><![CDATA[1080p]]></category>
		<category><![CDATA[brave]]></category>
		<category><![CDATA[siae succhiamelo]]></category>
		<category><![CDATA[trailer]]></category>

		<guid isPermaLink="false">http://www.grimmo.it/?p=329</guid>
		<description><![CDATA[Questo è il trailer in Full HD del prossimo film della Pixar: Brave Potete anche scaricare comodamente il filmato in formato Quicktime! Se volete un mirror veloce lo trovate qui. Vorrei dedicare questo post ai miei amiconi della SIAE, con infinito ammore! &#60;3]]></description>
			<content:encoded><![CDATA[<p>Questo è il trailer in <em>Full HD</em> del prossimo film della Pixar: <a href="http://www.mymovies.it/film/2012/brave/">Brave</a><br />
Potete anche <a href="http://www.grimmo.it/media/brave_trlr_01_1080p_dl.mov">scaricare comodamente il filmato in formato Quicktime</a>! Se volete un mirror veloce lo trovate <a href="http://pdl.stream.aol.com/pdlext/aol/brightcove/us/moviefone/trailers/2011/brave_033554/brave_trlr_01_1080p_dl.mov">qui</a>.</p>
<p>Vorrei dedicare questo post ai miei <a href="http://punto-informatico.it/3317727/PI/News/siae-diritti-sui-trailer-online.aspx">amiconi della SIAE</a>, con infinito ammore! &lt;3</p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grimmo.it/2011/10/28/giao-siae/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://www.grimmo.it/media/brave_trlr_01_1080p_dl.mov" length="52569382" type="video/quicktime" />
<enclosure url="http://pdl.stream.aol.com/pdlext/aol/brightcove/us/moviefone/trailers/2011/brave_033554/brave_trlr_01_1080p_dl.mov" length="52569382" type="video/quicktime" />
		</item>
		<item>
		<title>La scomparsa di Dennis Ritchie</title>
		<link>http://www.grimmo.it/2011/10/20/la-scomparsa-di-dennis-ritchie/</link>
		<comments>http://www.grimmo.it/2011/10/20/la-scomparsa-di-dennis-ritchie/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 15:51:28 +0000</pubDate>
		<dc:creator>grimmo</dc:creator>
				<category><![CDATA[cose da geek]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[c language]]></category>
		<category><![CDATA[dmr]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.grimmo.it/?p=318</guid>
		<description><![CDATA[Mi sono reso conto che non ho scritto nulla a proposito della scomparsa di Dennis Ritchie. Ed è abbastanza imperdonabile, dal momento che pur non avendo mai avuto l&#8217;onore di conoscerlo, devo indirettamente molto a quest&#8217;uomo. Intanto, il prim^H^H^Hsecondo libro di informatica che mi ha regalato mio nonno, è proprio &#8220;The C Programming Language&#8221; o [...]]]></description>
			<content:encoded><![CDATA[<p>Mi sono reso conto che non ho scritto nulla a proposito della scomparsa di <a href="http://it.wikipedia.org/wiki/Dennis_Ritchie">Dennis Ritchie</a>. Ed è abbastanza imperdonabile, dal momento che pur non avendo mai avuto l&#8217;onore di conoscerlo, devo indirettamente molto a quest&#8217;uomo.<br />
Intanto, il prim^H^H^Hsecondo libro di informatica che mi ha regalato mio nonno, è proprio <a href="http://it.wikipedia.org/wiki/Il_linguaggio_C">&#8220;The C Programming Language&#8221;</a> o <em>&#8220;Il Kernighan e Ritchie&#8221;</em> come lo chiama lui.<br />
Sfortunatamente per lui, che riponeva forse molte speranze nella m<a href="http://www.grimmo.it/wp-content/uploads/2011/10/Dennis-Ritchie.jpg"><img class="alignleft size-full wp-image-321" src="http://www.grimmo.it/wp-content/uploads/2011/10/Dennis-Ritchie.jpg" alt="" width="500" height="355" /></a>ia lettura di tale libro, mi sono fermato alla pagina in cui c&#8217;era l&#8217;<a href="http://it.wikipedia.org/wiki/Hello_world">hello world</a> e non sono mai diventato il facoltoso programmatore che forse lui sperava diventassi.<br />
Tuttavia, quest&#8217;uomo ha anche creato <a href="http://it.wikipedia.org/wiki/Unix">UNIX</a>, che è scritto in <a href="http://it.wikipedia.org/wiki/Linguaggio_C">C</a> e senza il quale non sarebbero mai esistiti <a href="http://it.wikipedia.org/wiki/Berkeley_Software_Distribution">BSD</a> e successivamente <a href="http://it.wikipedia.org/wiki/Linux">Linux</a>. Senza quest&#8217;ultimo oggi sarei disoccupato. Non c&#8217;è dubbio.<br />
Oggi non riesco nemmeno a immaginare un mondo senza Unix, senza tutto il corollario di utility come <a href="http://it.wikipedia.org/wiki/Grep">grep</a>, <a href="http://it.wikipedia.org/wiki/Cat_%28Unix%29">cat</a>, <a href="http://it.wikipedia.org/wiki/Sed_%28Unix%29">sed</a> e via dicendo. Senza linguaggio C non esisterebbe nemmeno <a href="http://it.wikipedia.org/wiki/Python">Python</a> e molto di quello che è il mio lavoro attuale non avrebbe potuto esistere! Forse non ce ne rendiamo conto, ma il mondo moderno come lo conosciamo oggi sarebbe molto diverso senza l&#8217;impronta di quest&#8217;uomo schivo, che nell&#8217;ombra, senza mai balzare ai particolari onori delle cronache, ha cambiato radicalmente l&#8217;informatica e di conseguenza la vita di tutti noi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grimmo.it/2011/10/20/la-scomparsa-di-dennis-ritchie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steve Jobs, 1955 – 2011</title>
		<link>http://www.grimmo.it/2011/10/06/steve-jobs-1955-%e2%80%93-2011/</link>
		<comments>http://www.grimmo.it/2011/10/06/steve-jobs-1955-%e2%80%93-2011/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 12:15:44 +0000</pubDate>
		<dc:creator>grimmo</dc:creator>
				<category><![CDATA[cose da geek]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[steve jobs]]></category>

		<guid isPermaLink="false">http://www.grimmo.it/?p=310</guid>
		<description><![CDATA[I am honored to be with you today at your commencement from one of the finest universities in the world. I never graduated from college. Truth be told, this is the closest I&#8217;ve ever gotten to a college graduation. Today I want to tell you three stories from my life. That&#8217;s it. No big deal. [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_311" class="wp-caption alignnone" style="width: 510px"><a href="http://www.youtube.com/watch?v=8ogACjJcNzc"><img class="size-full wp-image-311" src="http://www.grimmo.it/wp-content/uploads/2011/10/rip_steve_jobs.png" alt="" width="500" height="500" /></a><p class="wp-caption-text">Stay Hungry, Stay foolish</p></div>
<div>
<div>
<p>I am honored to be with you today at your commencement from one of the finest universities in the world. I never graduated from college. Truth be told, this is the closest I&#8217;ve ever gotten to a college graduation. Today I want to tell you three stories from my life. That&#8217;s it. No big deal. Just three stories.</p>
<p>The first story is about connecting the dots.</p>
<p>I dropped out of Reed College after the first 6 months, but then stayed around as a drop-in for another 18 months or so before I really quit. So why did I drop out?</p>
<p>It started before I was born. My biological mother was a young, unwed college graduate student, and she decided to put me up for adoption. She felt very strongly that I should be adopted by college graduates, so everything was all set for me to be adopted at birth by a lawyer and his wife. Except that when I popped out they decided at the last minute that they really wanted a girl. So my parents, who were on a waiting list, got a call in the middle of the night asking: &#8220;We have an unexpected baby boy; do you want him?&#8221; They said: &#8220;Of course.&#8221; My biological mother later found out that my mother had never graduated from college and that my father had never graduated from high school. She refused to sign the final adoption papers. She only relented a few months later when my parents promised that I would someday go to college.</p>
<p>And 17 years later I did go to college. But I naively chose a college that was almost as expensive as Stanford, and all of my working-class parents&#8217; savings were being spent on my college tuition. After six months, I couldn&#8217;t see the value in it. I had no idea what I wanted to do with my life and no idea how college was going to help me figure it out. And here I was spending all of the money my parents had saved their entire life. So I decided to drop out and trust that it would all work out OK. It was pretty scary at the time, but looking back it was one of the best decisions I ever made. The minute I dropped out I could stop taking the required classes that didn&#8217;t interest me, and begin dropping in on the ones that looked interesting.</p>
<p>It wasn&#8217;t all romantic. I didn&#8217;t have a dorm room, so I slept on the floor in friends&#8217; rooms, I returned coke bottles for the 5¢ deposits to buy food with, and I would walk the 7 miles across town every Sunday night to get one good meal a week at the Hare Krishna temple. I loved it. And much of what I stumbled into by following my curiosity and intuition turned out to be priceless later on. Let me give you one example:</p>
<p>Reed College at that time offered perhaps the best calligraphy instruction in the country. Throughout the campus every poster, every label on every drawer, was beautifully hand calligraphed. Because I had dropped out and didn&#8217;t have to take the normal classes, I decided to take a calligraphy class to learn how to do this. I learned about serif and san serif typefaces, about varying the amount of space between different letter combinations, about what makes great typography great. It was beautiful, historical, artistically subtle in a way that science can&#8217;t capture, and I found it fascinating.</p>
<p>None of this had even a hope of any practical application in my life. But ten years later, when we were designing the first Macintosh computer, it all came back to me. And we designed it all into the Mac. It was the first computer with beautiful typography. If I had never dropped in on that single course in college, the Mac would have never had multiple typefaces or proportionally spaced fonts. And since Windows just copied the Mac, it&#8217;s likely that no personal computer would have them. If I had never dropped out, I would have never dropped in on this calligraphy class, and personal computers might not have the wonderful typography that they do. Of course it was impossible to connect the dots looking forward when I was in college. But it was very, very clear looking backwards ten years later.</p>
<p>Again, you can&#8217;t connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.</p>
<p>My second story is about love and loss.</p>
<p>I was lucky — I found what I loved to do early in life. Woz and I started Apple in my parents garage when I was 20. We worked hard, and in 10 years Apple had grown from just the two of us in a garage into a $2 billion company with over 4000 employees. We had just released our finest creation — the Macintosh — a year earlier, and I had just turned 30. And then I got fired. How can you get fired from a company you started? Well, as Apple grew we hired someone who I thought was very talented to run the company with me, and for the first year or so things went well. But then our visions of the future began to diverge and eventually we had a falling out. When we did, our Board of Directors sided with him. So at 30 I was out. And very publicly out. What had been the focus of my entire adult life was gone, and it was devastating.</p>
<p>I really didn&#8217;t know what to do for a few months. I felt that I had let the previous generation of entrepreneurs down &#8211; that I had dropped the baton as it was being passed to me. I met with David Packard and Bob Noyce and tried to apologize for screwing up so badly. I was a very public failure, and I even thought about running away from the valley. But something slowly began to dawn on me — I still loved what I did. The turn of events at Apple had not changed that one bit. I had been rejected, but I was still in love. And so I decided to start over.</p>
<p>I didn&#8217;t see it then, but it turned out that getting fired from Apple was the best thing that could have ever happened to me. The heaviness of being successful was replaced by the lightness of being a beginner again, less sure about everything. It freed me to enter one of the most creative periods of my life.</p>
<p>During the next five years, I started a company named NeXT, another company named Pixar, and fell in love with an amazing woman who would become my wife. Pixar went on to create the worlds first computer animated feature film, <em>Toy Story</em>, and is now the most successful animation studio in the world. In a remarkable turn of events, Apple bought NeXT, I returned to Apple, and the technology we developed at NeXT is at the heart of Apple&#8217;s current renaissance. And Laurene and I have a wonderful family together.</p>
<p>I&#8217;m pretty sure none of this would have happened if I hadn&#8217;t been fired from Apple. It was awful tasting medicine, but I guess the patient needed it. Sometimes life hits you in the head with a brick. Don&#8217;t lose faith. I&#8217;m convinced that the only thing that kept me going was that I loved what I did. You&#8217;ve got to find what you love. And that is as true for your work as it is for your lovers. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven&#8217;t found it yet, keep looking. Don&#8217;t settle. As with all matters of the heart, you&#8217;ll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don&#8217;t settle.</p>
<p>My third story is about death.</p>
<p>When I was 17, I read a quote that went something like: &#8220;If you live each day as if it was your last, someday you&#8217;ll most certainly be right.&#8221; It made an impression on me, and since then, for the past 33 years, I have looked in the mirror every morning and asked myself: &#8220;If today were the last day of my life, would I want to do what I am about to do today?&#8221; And whenever the answer has been &#8220;No&#8221; for too many days in a row, I know I need to change something.</p>
<p>Remembering that I&#8217;ll be dead soon is the most important tool I&#8217;ve ever encountered to help me make the big choices in life. Because almost everything — all external expectations, all pride, all fear of embarrassment or failure &#8211; these things just fall away in the face of death, leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart.</p>
<p>About a year ago I was diagnosed with cancer. I had a scan at 7:30 in the morning, and it clearly showed a tumor on my pancreas. I didn&#8217;t even know what a pancreas was. The doctors told me this was almost certainly a type of cancer that is incurable, and that I should expect to live no longer than three to six months. My doctor advised me to go home and get my affairs in order, which is doctor&#8217;s code for prepare to die. It means to try to tell your kids everything you thought you&#8217;d have the next 10 years to tell them in just a few months. It means to make sure everything is buttoned up so that it will be as easy as possible for your family. It means to say your goodbyes.</p>
<p>I lived with that diagnosis all day. Later that evening I had a biopsy, where they stuck an endoscope down my throat, through my stomach and into my intestines, put a needle into my pancreas and got a few cells from the tumor. I was sedated, but my wife, who was there, told me that when they viewed the cells under a microscope the doctors started crying because it turned out to be a very rare form of pancreatic cancer that is curable with surgery. I had the surgery and I&#8217;m fine now.</p>
<p>This was the closest I&#8217;ve been to facing death, and I hope it&#8217;s the closest I get for a few more decades. Having lived through it, I can now say this to you with a bit more certainty than when death was a useful but purely intellectual concept:</p>
<p>No one wants to die. Even people who want to go to heaven don&#8217;t want to die to get there. And yet death is the destination we all share. No one has ever escaped it. And that is as it should be, because Death is very likely the single best invention of Life. It is Life&#8217;s change agent. It clears out the old to make way for the new. Right now the new is you, but someday not too long from now, you will gradually become the old and be cleared away. Sorry to be so dramatic, but it is quite true.</p>
<p>Your time is limited, so don&#8217;t waste it living someone else&#8217;s life. Don&#8217;t be trapped by dogma — which is living with the results of other people&#8217;s thinking. Don&#8217;t let the noise of others&#8217; opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.</p>
<p>When I was young, there was an amazing publication called <em>The Whole Earth Catalog</em>, which was one of the bibles of my generation. It was created by a fellow named Stewart Brand not far from here in Menlo Park, and he brought it to life with his poetic touch. This was in the late 1960&#8242;s, before personal computers and desktop publishing, so it was all made with typewriters, scissors, and polaroid cameras. It was sort of like Google in paperback form, 35 years before Google came along: it was idealistic, and overflowing with neat tools and great notions.</p>
<p>Stewart and his team put out several issues of <em>The Whole Earth Catalog</em>, and then when it had run its course, they put out a final issue. It was the mid-1970s, and I was your age. On the back cover of their final issue was a photograph of an early morning country road, the kind you might find yourself hitchhiking on if you were so adventurous. Beneath it were the words: &#8220;Stay Hungry. Stay Foolish.&#8221; It was their farewell message as they signed off. Stay Hungry. Stay Foolish. And I have always wished that for myself. And now, as you graduate to begin anew, I wish that for you.</p>
<p>Stay Hungry. Stay Foolish.</p>
<p>Thank you all very much.</p>
<p><em>Steve Jobs</em></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.grimmo.it/2011/10/06/steve-jobs-1955-%e2%80%93-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Streaming dell&#8217;audio da un pc Ubuntu al cellulare Android</title>
		<link>http://www.grimmo.it/2011/09/02/streaming-dellaudio-da-un-pc-ubuntu-al-cellulare-android/</link>
		<comments>http://www.grimmo.it/2011/09/02/streaming-dellaudio-da-un-pc-ubuntu-al-cellulare-android/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 06:05:11 +0000</pubDate>
		<dc:creator>grimmo</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[cose da geek]]></category>
		<category><![CDATA[icecast]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.grimmo.it/?p=281</guid>
		<description><![CDATA[Questo post nasce dalla mia esigenza di riuscire a sentire la musica da last.fm sullo stereo in soggiorno. Non so se sapete che l&#8217;applicazione di last.fm per Android, in Italia non permette di ascoltare una beneamata fava. Fino ad ora avevo utilizzato il plugin pulseaudio-raop per mandare l&#8217;audio in streaming dal pc ad una AirPort [...]]]></description>
			<content:encoded><![CDATA[<p>Questo post nasce dalla mia esigenza di riuscire a sentire la musica da <a href="http://www.last.fm">last.fm</a> sullo stereo in soggiorno. Non so se sapete che l&#8217;applicazione di last.fm per Android, in Italia non permette di ascoltare una beneamata fava. Fino ad ora avevo utilizzato il plugin <em>pulseaudio-raop</em> per mandare l&#8217;audio in streaming dal pc ad una AirPort Express collegata allo stereo , tramite <em>AirTunes</em>. Sfortunatamente il modulo pulseaudio-raop funziona da schifo e dopo circa mezz&#8217;ora/un&#8217;ora va in crash, costringendomi a tornare davanti al pc, disabilitare airtunes dal pannello di pulseaudio, aspettare qualche secondo e riattivarlo. Tornare sul divano in soggiorno e ripetere l&#8217;operazione fino ad esaurimento (dei nervi).</p>
<p>Ma da quando ho messo le mani su un telefono android, mi è venuto in mente che molto prima che esistesse airtunes esisteva già un modo per inviare l&#8217;audio in streaming da un pc in giro per la rete e si chiamava ShoutCast! In particolare, nella sua variante libera, IceCast. (Si, lo so.. con AirTunes lo streaming è di qualità nettamente superiore..)</p>
<p>Allora ecco come fare per inviare l&#8217;audio, non importa quale applicazione.. qualsiasi cosa esca dagli speaker sarà &#8220;streammata&#8221; dal computer ad android.</p>
<p><strong>Ingredienti:</strong></p>
<blockquote><p>Un pc con <a href="http://www.ubuntu.com">Ubuntu</a>, connesso ad una rete WiFi casalinga</p>
<p>Un server <a href="http://www.icecast.org/">IceCast</a>, quello che ho usato io è <strong>icecast 2.3.2-6ubuntu1</strong></p>
<p>Uno <em>smartphone</em> con sistema operativo <a href="http://www.android.com">Android</a>, io ho usato l&#8217;<strong>Ideos U8150</strong> con <em>Froyo</em> 2.2, kernel ufficiale.</p>
<p>Un client IceCast per Android, io ho usato<a href="https://market.android.com/details?id=com.streamfurious.android.free"> StreamFurious</a></p></blockquote>
<p>Nota: Non è obbligatorio usare linux o ubuntu, tecnicamente il tutto dovrebbe funzionare su qualsiasi computer su cui giri un server shoutcast/icecast.</p>
<p>Per prima cosa installate il server icecast sul pc:</p>
<pre>sudo apt-get install icecast2</pre>
<p>E&#8217; necessaria una minimale configurazione, tramite il file /etc/icecast2/icecast2.xml:</p>
<pre>&lt;hostname&gt;Qui ci va l'IP o l'hostname che avete assegnato al vostro PC sulla rete wireless di casta vostra&lt;/hostname&gt;

&lt;!-- You may have multiple &lt;listener&gt; elements --&gt;
&lt;listen-socket&gt;
&lt;port&gt;8000&lt;/port&gt;
&lt;!-- &lt;bind-address&gt;127.0.0.1&lt;/bind-address&gt; --&gt;
&lt;!-- &lt;shoutcast-mount&gt;/stream&lt;/shoutcast-mount&gt; --&gt;
&lt;/listen-socket&gt;
&lt;authentication&gt;</pre>
<p>Poi bisogna stabilire una password per le <em>source</em> che si collegheranno al server, cioè le applicazioni e i software che pomperanno materialmente l&#8217;audio dentro al server icecast2. Nel nostro caso l&#8217;applicazione sarà il comando <em>gst-launch</em><br />
del pacchetto GStreamer. Inoltre serve una password per l&#8217;accesso via web dell&#8217;utente amministratore del server icecast. Io ho usato una password uguale al nome dell&#8217;utente, admin, ma è una pessima idea, voi a casa non seguite il mio cattivo esempio.</p>
<pre>&lt;!-- Sources log in with username 'source' --&gt;
&lt;source-password&gt;musica&lt;/source-password&gt;
&lt;!-- Relays log in username 'relay' --&gt;
&lt;relay-password&gt;hackme&lt;/relay-password&gt;

&lt;!-- Admin logs in with the username given below --&gt;
&lt;admin-user&gt;admin&lt;/admin-user&gt;
&lt;admin-password&gt;admin&lt;/admin-password&gt;
&lt;/authentication&gt;</pre>
<p>Salvate il file e uscite.Poi modificate anche il file /etc/default/icecast2 cambiando la riga enable a true:</p>
<p><code>ENABLE=true</code></p>
<p>In questo modo ubuntu si occuperà dell&#8217;avvio e arresto del server al successivo avvio del pc, ma se volete lanciare subito il server icecast, vi basta dare il comando:</p>
<pre>/etc/init.d/icecast2 start</pre>
<p>Adesso viene la parte un pochino più complicata, bisogna capire qual&#8217;è il device della scheda audio che va dato in pasto al comando <em>gst-launch</em>.</p>
<p>Per avere l&#8217;elenco dei device pulseaudio presenti sul pc, potete usare questo pratico comando, che ho scoperto nelle istruzioni in inglese che ho seguito io e che vi invito a leggere:<a href="http://mikebeach.org/2011/06/broadcasting-a-multimedia-stream-using-icecast2-and-gst-launch-in-ubuntu-linux/">http://mikebeach.org/2011/06/broadcasting-a-multimedia-stream-using-icecast2-and-gst-launch-in-ubuntu-linux/</a></p>
<pre>pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f2</pre>
<p>dovreste ottenere un elenco molto simile a questo:</p>
<pre>alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
alsa_input.pci-0000_00_1b.0.analog-stereo
alsa_output.pci-0000_01_01.0.analog-stereo.monitor
alsa_input.pci-0000_01_01.0.analog-stereo</pre>
<p>nel mio caso io ho due schede audio, per cui ho due dispositivi monitor, ma voi ne dovreste avere uno solo. La riga che contiene la parola <strong>monitor</strong> è quella che ci interessa.</p>
<p>A questo punto il comando da dare per iniziare lo streaming dell&#8217;audio sarà questo:</p>
<pre>gst-launch pulsesrc device=alsa_output.pci-0000_01_01.0.analog-stereo.monitor ! audioconvert ! lame bitrate=128 ! shout2send ip=10.0.0.2 port=8001 password=musica mount=stream</pre>
<p>ricordatevi di sostituire il parametro <strong>device</strong> con il vostro device e i parametri <strong>ip</strong>, <strong>port</strong> e <strong>password</strong> con quelli che avete<br />
inserito prima nel file di configurazione icecast2.xml.Gli altri parametri servono a creare uno stream in formato mp3 a 128kb/s, il che vi darà una qualità del sonoro più che rispettabile e un traffico dati pienamente sopportabile per una connessione wifi.</p>
<p>Questo comando dovrete lanciarlo tutte le volte che volete attivare lo streaming dell&#8217;audio del pc via shoutcast, per cui conviene salvarlo in uno script. Come farlo lo lascio come esercizio per il lettore <img src='http://www.grimmo.it/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Se il comando ha funzionato, l&#8217;output sarà simile a questo</p>
<pre>Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstAudioSrcClock</pre>
<p>Una ulteriore verifica che tutto funzioni a dovere potete farla semplicemente aprendo l&#8217;URl del vostro server Icecast con un normale browser web. Nel mio caso l&#8217;ip è 10.0.0.2 su porta 8001 quindi l&#8217;URL corrispondente sarà http://10.0.0.2:8001/</p>
<p>Dovreste ritrovarvi una schermata simile a questa<br />
<a href="http://www.grimmo.it/wp-content/uploads/2011/09/icecast-web.png"><img class="alignleft size-medium wp-image-289" src="http://www.grimmo.it/wp-content/uploads/2011/09/icecast-web-300x153.png" alt="" width="300" height="153" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>A questo punto installate sul cellulare StreamFurious dal market. Ora, la cosa antipatica dei client icecast che ho provato è che non potete aggiungere manualmente l&#8217;URL dello stream che volete ascoltare direttamente nel programma, ma dovete aprire lo stream attraverso il browser del cellulare, che a sua volta aprirà l&#8217;applicazione giusta riconoscendo lo stream come di tipo icecast.</p>
<p>Quindi aprite il browser e dopo aver attivato la connessione wireless andate all&#8217;URl del vostro server:</p>
<p>&nbsp;</p>
<p><a href="http://www.grimmo.it/wp-content/uploads/2011/09/snap20110901_225448.png"><img src="http://www.grimmo.it/wp-content/uploads/2011/09/snap20110901_225448.png" alt="" width="240" height="320" /></a></p>
<p>Cliccate sul link M3U che compare in alto a destra e il browser dovrebbe scaricare e aprire automaticamente lo stream all&#8217;interno di streamfurious, così:</p>
<p><a href="http://www.grimmo.it/wp-content/uploads/2011/09/snap20110901_225406.png"><img class="alignleft size-full wp-image-295" src="http://www.grimmo.it/wp-content/uploads/2011/09/snap20110901_225406.png" alt="" width="240" height="320" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Buon ascolto!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grimmo.it/2011/09/02/streaming-dellaudio-da-un-pc-ubuntu-al-cellulare-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spettacolare</title>
		<link>http://www.grimmo.it/2011/08/01/spettacolare/</link>
		<comments>http://www.grimmo.it/2011/08/01/spettacolare/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 15:51:43 +0000</pubDate>
		<dc:creator>grimmo</dc:creator>
				<category><![CDATA[cose da geek]]></category>
		<category><![CDATA[time lapse]]></category>

		<guid isPermaLink="false">http://www.grimmo.it/?p=278</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/23237102" width="500" height="281" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grimmo.it/2011/08/01/spettacolare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il mio prossimo libro</title>
		<link>http://www.grimmo.it/2011/08/01/il-mio-prossimo-libro/</link>
		<comments>http://www.grimmo.it/2011/08/01/il-mio-prossimo-libro/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 06:03:36 +0000</pubDate>
		<dc:creator>grimmo</dc:creator>
				<category><![CDATA[libri]]></category>
		<category><![CDATA[games of thrones]]></category>
		<category><![CDATA[serie tv]]></category>

		<guid isPermaLink="false">http://www.grimmo.it/?p=273</guid>
		<description><![CDATA[&#160; Ho deciso di iniziare a leggere la saga di Games of Thrones, sto vedendo la serie ed è davvero notevole]]></description>
			<content:encoded><![CDATA[<p><a title="More about Il trono di spade" href="http://www.anobii.com/books/Il_trono_di_spade/9788804494065/01b365ead705e66798/"><img style="padding: 5px" src="http://image.anobii.com/anobi/image_book.php?type=5&amp;item_id=01b365ead705e66798&amp;time=0" alt="More about Il trono di spade" /></a></p>
<p>&nbsp;</p>
<p>Ho deciso di iniziare a leggere la saga di <a href="http://it.wikipedia.org/wiki/Game_of_Thrones">Games of Thrones</a>, sto vedendo la serie ed è davvero notevole</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grimmo.it/2011/08/01/il-mio-prossimo-libro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

