<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ok, panico</title>
	<atom:link href="http://okpanico.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://okpanico.wordpress.com</link>
	<description>Insalate di cibernetica</description>
	<lastBuildDate>Thu, 23 Feb 2012 19:31:42 +0000</lastBuildDate>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='okpanico.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ok, panico</title>
		<link>http://okpanico.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://okpanico.wordpress.com/osd.xml" title="Ok, panico" />
	<atom:link rel='hub' href='http://okpanico.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Ancora su j &#8211; Autojump e source</title>
		<link>http://okpanico.wordpress.com/2012/02/22/ancora-su-j-autojump-e-source/</link>
		<comments>http://okpanico.wordpress.com/2012/02/22/ancora-su-j-autojump-e-source/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 14:11:04 +0000</pubDate>
		<dc:creator>juhan</dc:creator>
				<category><![CDATA[shell]]></category>
		<category><![CDATA[Storielle]]></category>

		<guid isPermaLink="false">http://okpanico.wordpress.com/?p=3699</guid>
		<description><![CDATA[Il post su Autojump  è piaciuto. E pensare che l&#8217;idea ce l&#8217;avevo da parecchio tempo, non so quante volte ho cominciato a scriverci e poi lo abbandonavo perché non mi piaceva OK, postandolo ci sono stati i commenti con suggerimenti e precisazioni. E adesso è tutto molto più chiaro. Vorrei allora chiudere l&#8217;argomento con questa [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3699&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Il post su <a href="http://okpanico.wordpress.com/2012/02/19/autojump/" target="_blank"><strong>Autojump</strong></a>  è piaciuto. E pensare che l&#8217;idea ce l&#8217;avevo da parecchio tempo, non so quante volte ho cominciato a scriverci e poi lo abbandonavo perché non mi piaceva <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://okpanico.files.wordpress.com/2012/02/nerd-13819.jpg"><img class="aligncenter size-medium wp-image-3700" title="" src="http://okpanico.files.wordpress.com/2012/02/nerd-13819.jpg?w=300&#038;h=203" alt="" width="300" height="203" /></a><br />
<strong>OK</strong>, postandolo ci sono stati i commenti con suggerimenti e precisazioni. E adesso è tutto molto più chiaro. Vorrei allora chiudere l&#8217;argomento con questa breve nota, approfittando della vostra pazienza <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Il suggerimento di <em><strong>Marco Delmastro</strong></em> (il suo blog, <a href="http://www.borborigmi.org/" target="_blank">Borborigmi</a>  è über-yotta-mitico) di usare <strong>source</strong> funziona, da approfondire.</p>
<p>Il <strong>prof Lipari, glipari</strong> ha indicato il metodo usato da <strong>Autojump</strong>, un post di <a href="http://stackoverflow.com/questions/3786678/change-working-directory-in-shell-with-a-python-script" target="_blank">StackOverflow</a>. Era stato <em>glipari</em> che mi aveva fatto conoscere <em>Autojump</em> e sospendere i miei tentativi di ricreare <strong>j</strong> con Linux.</p>
<p>Il commento di <strong>bit3lux / Luigi</strong> dà una soluzione che funziona ma &#8220;<em>non è elegante</em>&#8220;, come illustrato nel commento di <em>glipari</em>. Si vede che Luigi è troppo giovane: quando non c&#8217;era l&#8217;ambiente grafico ormai pervasivo il terminale era tutto per la shell. E potevi (OK, anche adesso) avviare una sub-shell digitando sh (non bash o csh, non usare mai quei nomi). Non so se il termine è corretto ma da noi si diceva che attivavi una sessione ospite. Con <strong>ctrl-D</strong> o <strong>exit</strong> uscivi da questa sub-shell e tornavi a quella precedente. Nulla vietava di annidare sub-shell per più livelli anche se 1) non so bene a cosa potesse servire; e 2) consumava memoria. Con tanti ctrl-D quanti erano i processi attivati tornavi alla shell originale; se ne battevi uno in più ti <em>slogavi</em> (c&#8217;era una variabile da settare per evitare che ciò avvenisse, la usavano solo i <em>niubbi</em> che allora si chiamavano <em>pivelli</em>).</p>
<p><strong>Autojump</strong> di <strong>Joël Schaerer</strong> è perfetto, auto impara quali sono le directory che vengono usate e dimentica quelle vecchie; usa un algoritmo per indovinare quello che vuoi impiegando una regular expression (RegEx, RE) da paura. E poi Python è un linguaggio di script trendy e simpa (i francesi come Joël dicono così). Certo, seguendo l&#8217;indicazione di Marco si potrebbe fare a meno di Python, magari coinvolgendo Perl per la RE <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Non credo che mi avventurerò per questa strada ma per <big><strong>source</strong></big> ho provato a googlare un pochino. Ecco cosa ho scovato.</p>
<p><span style="color:#ff0000;"><strong>source</strong></span><br />
Avendo a disposizione il <em><strong>SysV Command Reference</strong></em> di <strong>Apollo</strong>, novembre 1989 ho voluto indagare se source c&#8217;era già in Unix-SysV. Pare di no. Il manuale ha la Section 1 &#8211;quella che m&#8217;interessa&#8211; e la Section 6 &#8211;games. I comandi sono in ordine alfabetico. A p.1-511 (si apre automaticamente lì) inizia <strong>SH(1)</strong>, la <em><strong>Bourne shell</strong></em>, occupa le pagine fino a 1-523 compresa. Rimanda a pagine di <em>SysV Programmer&#8217;s Reference che non ho</em>. Non cita source.</p>
<p><strong>CSH(1)</strong>, la <em><strong>c-shell</strong></em> inizia a p. 1-91 e arriva fino a p. 1-115 compresa.<br />
E c&#8217;è <strong>source</strong>, a p. 1-108, copio:</p>
<blockquote><p>source <em>name</em><br />
Read commands from <em>name</em>. You may nest <strong>source</strong> commands, but if you nest too many deeply, the shell may run out of file descriptors. An error in a <strong>source</strong> at any level terminates all nested source commands.</p>
<p>source -h <em>name</em><br />
Place commands in the history list without executing them. Normally, input during <strong>source</strong> commands is not placed on the history list.</p></blockquote>
<p><strong>KSH(1)</strong>, la <em><strong>Korn shell</strong></em> è descritta nelle pagine da 1-295 a 1-323. Ebbene sì Apollo permetteva di usare la shell che volevi, bash non c&#8217;era ancora. Nessun riferimento a source.</p>
<p><strong>Idea per il futuro</strong>: se a qualcuno interessa potrei mettere le scansioni di queste pagine e magari incorrere nelle ire di HP.</p>
<p>A p. 1-528 c&#8217;è <strong>SORT(1)</strong> e a p. 1-529 <strong>SPELL(1)</strong> che continua anche sulla successiva, niente source quindi.</p>
<p>OK! <strong>source</strong> è nato in <strong>BSD</strong> e SysV non ce l&#8217;aveva. Mistero il motivo per cui tutti (a quanto pare) usassero la Bourne shell quando c&#8217;era la Korn, più nuova, almeno a giudicare da com&#8217;è ridotto il manuale.</p>
<p>E per <strong>Linux</strong>? Tanti, credo, sanno che si può usare source quando si modifica <em><strong>~/.bashrc</strong></em> ma solo quello. Tranne Marco <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  e pochi altri.<br />
La googlata per source è stata fruttuosa, ecco</p>
<p><a href="http://www.cyberciti.biz/faq/linux-bsd-unix-source-command/" target="_blank">http://www.cyberciti.biz/faq/linux-bsd-unix-source-command/<br />
</a><strong>nixCraft</strong> è un sito da bookmarkare, imho. Toh! lo dice anche qui che è BSD.</p>
<p><a href="http://bash.cyberciti.biz/guide/Source_command" target="_blank">http://bash.cyberciti.biz/guide/Source_command</a><br />
stesso sito, altra pagina, Linux (credo).</p>
<p><a href="http://webtools.live2support.com/linux/period.php" target="_blank">http://webtools.live2support.com/linux/period.php</a><br />
<strong>Web Tools</strong>, lo sapete che source può essere scritta come <strong>.</strong> (punto, dot)? Da bookmarkare anche questo, sempre imho.</p>
<p><a href="http://ss64.com/bash/" target="_blank">http://ss64.com/bash/<br />
</a>An <strong>A-Z Index</strong> of the Bash command line for Linux. Già che ci siete  bookmarkate anche questo.</p>
<p>Ah questa non la sapevo:</p>
<p><img class="aligncenter size-full wp-image-3701" title="" src="http://okpanico.files.wordpress.com/2012/02/help-source.png?w=530&#038;h=322" alt="" width="530" height="322" /><br />
Visto: <strong>source &#8211; Esegue comandi da un file nella shell corrente.</strong><br />
<strong>Nella shell corrente.</strong></p>
<p>Quante cose ci sono da imparare! E quante cose so di non sapere (cit.).<br />
Riuscirò mai a diventare quasi-geek o rimarrò per sempre un aspirante-geek? <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><img class="aligncenter size-full wp-image-3702" title="" src="http://okpanico.files.wordpress.com/2012/02/geek.jpeg?w=530" alt=""   /></p>
<br />Filed under: <a href='http://okpanico.wordpress.com/category/shell/'>shell</a>, <a href='http://okpanico.wordpress.com/category/storielle/'>Storielle</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/okpanico.wordpress.com/3699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/okpanico.wordpress.com/3699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/okpanico.wordpress.com/3699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/okpanico.wordpress.com/3699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/okpanico.wordpress.com/3699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/okpanico.wordpress.com/3699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/okpanico.wordpress.com/3699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/okpanico.wordpress.com/3699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/okpanico.wordpress.com/3699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/okpanico.wordpress.com/3699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/okpanico.wordpress.com/3699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/okpanico.wordpress.com/3699/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/okpanico.wordpress.com/3699/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/okpanico.wordpress.com/3699/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3699&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://okpanico.wordpress.com/2012/02/22/ancora-su-j-autojump-e-source/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bb3480ee056dba90b6322dbc9b364f6f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">j00han</media:title>
		</media:content>

		<media:content url="http://okpanico.files.wordpress.com/2012/02/nerd-13819.jpg?w=300" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/help-source.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/geek.jpeg" medium="image" />
	</item>
		<item>
		<title>Visto nel Web &#8211; 14</title>
		<link>http://okpanico.wordpress.com/2012/02/21/visto-nel-web-14/</link>
		<comments>http://okpanico.wordpress.com/2012/02/21/visto-nel-web-14/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 09:08:37 +0000</pubDate>
		<dc:creator>juhan</dc:creator>
				<category><![CDATA[Visto nel Web]]></category>

		<guid isPermaLink="false">http://okpanico.wordpress.com/?p=3680</guid>
		<description><![CDATA[Presto che è tardi e ho un sacco di cose da fare, il post precedente ha generato tante cose, poi mi ci metto a esaminarle ma per intanto ecco cosa ho visto nel Web In BASH, when to alias, when to script, and when to write a function? discorso lungo e complesso; prima o poi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3680&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Presto che è tardi e ho un sacco di cose da fare, il post precedente ha generato tante cose, poi mi ci metto a esaminarle ma per intanto ecco cosa ho <em><strong>visto nel Web</strong></em></p>
<div id="attachment_3682" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.giuliocavalli.net/" target="_blank"><img class="size-full wp-image-3682" title="" src="http://okpanico.files.wordpress.com/2012/02/giulio-cavalli.jpeg?w=530" alt=""   /></a><p class="wp-caption-text">Giulio Cavalli, click</p></div>
<p><strong>In BASH, when to alias, when to script, and when to write a function?</strong><br />
discorso lungo e complesso; prima o poi vorrei farci un post tutto mio, immaginando fin d&#8217;ora il <del>casino</del> putiferio che scatenerei <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
::: <a href="http://unix.stackexchange.com/questions/30925/in-bash-when-to-alias-when-to-script-and-when-to-write-a-function" target="_blank">StackExchange</a></p>
<p><strong>Back on Linux</strong><br />
Mac o Linux? un confronto<br />
::: <a href="http://dywypi.org/2012/02/back-on-linux.html" target="_blank">dywypi</a></p>
<p><strong>Europe&#8217;s &#8216;Right To Be Forgotten&#8217; Threatens Online Free Speech</strong><br />
::: <a href="http://yro.slashdot.org/story/12/02/13/2156214/europes-right-to-be-forgotten-threatens-online-free-speech" target="_blank">Slashdot</a></p>
<p><img class="aligncenter size-full wp-image-3683" title="" src="http://okpanico.files.wordpress.com/2012/02/378821_2457314755855_1341697758_32261949_1902321724_n.jpg?w=530" alt=""   /></p>
<p><strong>Code in next Debian release valued at $A17 billion</strong><br />
::: <a href="http://www.itwire.com/business-it-news/open-source/52740-code-in-next-debian-release-valued-at-a17-billion" target="_blank">ITWire</a></p>
<p><strong>Ubuntu 11.10 Review: Benchmarked Against Windows 7</strong><br />
Three months have passed since the latest version of Ubuntu launched. With its classic desktop gone, Oneiric Ocelot is all Unity. The training wheels are off; no turning back now. Is Ubuntu ready for touchscreens? And how does it compare to Windows 7?<br />
::: <a href="http://www.tomshardware.com/reviews/ubuntu-oneiric-ocelot-benchmark-review,3121.html" target="_blank">tom&#8217;s</a></p>
<p><img class="aligncenter size-full wp-image-3684" title="" src="http://okpanico.files.wordpress.com/2012/02/388897_2676904674167_1002730802_32385740_1505508400_n.jpg?w=530" alt=""   /></p>
<p><strong>L&#8217;erba del vicino: la neutralità violata in Korea.</strong><br />
Stefano, in italiano si dice <strong>C</strong>orea, poi, certo è preoccupante<br />
::: <a href="http://blog.quintarelli.it/blog/2012/02/lerba-del-vicino-la-neutralit%C3%A0-violata-in-korea.html" target="_blank">Quinta&#8217;s</a></p>
<p><strong>Move to mobile will bring big changes for Linux</strong><br />
::: <a href="http://www.itworld.com/mobile-wireless/249482/evanescence-linux" target="_blank">ITworld</a></p>
<p><strong>L’ACTA è carta straccia:neanche la Germania sottoscrive</strong><br />
::: <a href="http://maclinuxlovers.wordpress.com/2012/02/13/lacta-e-carta-straccianeanche-la-germania-sottoscrive/" target="_blank">MacLinuxLovers</a></p>
<p><img class="aligncenter size-full wp-image-3685" title="" src="http://okpanico.files.wordpress.com/2012/02/406445_273821006011428_138763606183836_790297_2070679395_n.jpg?w=530" alt=""   /></p>
<p><strong>Best E-book Readers For Android</strong><br />
::: <a href="http://www.junauza.com/2012/02/best-e-book-readers-for-android.html" target="_blank">TechSource</a></p>
<p><strong>Ubuntu 12.04: primi benchmark stupefacenti</strong><br />
forse non lo abbandono neanche questa volta<br />
::: <a href="http://www.oneopensource.it/14/02/2012/ubuntu-12-04-primi-benchmark/" target="_blank">oneOpenSource</a></p>
<p><strong>G&#8217;MIC : utilisez de nombreux filtres prédéfinis sous The Gimp</strong><br />
::: <a href="http://www.tux-planet.fr/gmic-utilisez-de-nombreux-filtres-predefinis-sous-the-gimp/" target="_blank">Tux-planet</a></p>
<p><img class="aligncenter size-full wp-image-3687" title="" src="http://okpanico.files.wordpress.com/2012/02/1529948.jpg?w=530" alt=""   /></p>
<p><strong>wxPython: All about Menus</strong><br />
bello, semplice, completo. Bravo Mike!<br />
::: <a href="http://www.blog.pythonlibrary.org/2012/02/14/wxpython-all-about-menus/" target="_blank">Mouse vs Python</a></p>
<p><strong>Biculturalism</strong><br />
Unix vs Windows: fondamentale! dovrebbe essere una recensione di <em><strong>The Art of UNIX Programming di Eric S. Raymond</strong></em> ma è ottimo anche come post. Per dire io ho capito perché non mi piace Windoze e detesto i &#8216;puter con la iMela Morsicata.<br />
::: <a href="http://www.joelonsoftware.com/articles/Biculturalism.html" target="_blank">Joel on Software</a></p>
<p><img class="aligncenter size-full wp-image-3688" title="" src="http://okpanico.files.wordpress.com/2012/02/204833919-70a8e1ec-c3eb-42c0-a0eb-89053ae9d2ce.jpg?w=530" alt=""   /></p>
<p><strong>Zuck hai vinto: Facebook sarà il mio profilo pubblico</strong><br />
Se lo dice Silvio, non quello, il Gulizia. Io comunque resisto, FB lo uso pochissimo<br />
::: <a href="http://comunitadigitali.blogosfere.it/2012/02/facebook-obbligatorio-google-plus.html" target="_blank">Comunità Digitali</a></p>
<p><strong>Thoughts on the new Windows logo</strong><br />
lo dice John D. nèh <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
e tanti altri <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /><br />
::: <a href="http://www.johndcook.com/blog/2012/02/17/windows-8-logo/" target="_blank">The Endeavour</a></p>
<p><strong>Da zero a Pinterest in dieci mosse</strong><br />
Pinterest è un social network ispirazionale, che ti consente di archiviare e catalogare tutti i tuoi interessi. Scopri come usarlo (e come avere un invito).<br />
::: <a href="http://comunitadigitali.blogosfere.it/2012/01/da-zero-a-pinterest-in-dieci-mosse.html" target="_blank">Comunità Digitali</a></p>
<p><img class="aligncenter size-full wp-image-3689" title="" src="http://okpanico.files.wordpress.com/2012/02/ai9gqrpcqaauahc.jpg?w=530" alt=""   /></p>
<p><strong>Avoiding Red Lights By Booking Ahead</strong><br />
chissà se funzionerebbe con i nostri numerosi (troppi) furbetti?<br />
::: <a href="http://science.slashdot.org/story/12/02/18/2134208/avoiding-red-lights-by-booking-ahead" target="_blank">Slashdot</a></p>
<p><strong>Julia, a language for technical computing</strong><br />
un altro? sì, something that is dirt simple to learn, yet keeps the most serious hackers happy, we want it interactive and we want it compiled<br />
::: <a href="http://lambda-the-ultimate.org/node/4452" target="_blank">Lambda the Ultimate</a></p>
<div id="attachment_3690" class="wp-caption aligncenter" style="width: 411px"><img class="size-full wp-image-3690" title="" src="http://okpanico.files.wordpress.com/2012/02/aracarota.jpg?w=530" alt=""   /><p class="wp-caption-text">aracarota</p></div>
<p><strong>Open source, università italiane, e PMI</strong><br />
::: <a href="http://www.techeconomy.it/2012/02/17/open-source-universita-italiane-e-pmi/" target="_blank">Tech Economy</a></p>
<p><strong>Tetris In 140 Bytes</strong><br />
::: <a href="http://developers.slashdot.org/story/12/02/19/1351213/tetris-in-140-bytes" target="_blank">Slashdot</a></p>
<p><strong>Google Chrome: the New Web Platform?</strong><br />
::: <a href="http://developers.slashdot.org/story/12/02/19/1917220/google-chrome-the-new-web-platform" target="_blank">Slashdot</a></p>
<p><img class="aligncenter size-full wp-image-3691" title="" src="http://okpanico.files.wordpress.com/2012/02/iphone.png?w=530" alt=""   /></p>
<p><strong>Linux si, Linux no.</strong><br />
si può riprodurre per il PC quanto è avvenuto per Android?<br />
::: <a href="http://www.vencizon.co.vu/2012/01/linux-si-linux-no.html" target="_blank">vencizOn</a></p>
<p><strong>Transistor con un solo atomo, nuova frontiera dei computer</strong><br />
::: <a href="http://www.tomshw.it/cont/news/transistor-con-un-solo-atomo-nuova-frontiera-dei-computer/35993/1.html" target="_blank">tom&#8217;s</a></p>
<p><strong>What does Ubuntu want to be when it grows up?</strong><br />
You can use Ubuntu in the cloud, on servers, on the desktop, on tablets and smartphones, but can the popular Linux distribution play in all these spaces?<br />
::: <a href="http://www.zdnet.com/blog/open-source/what-does-ubuntu-want-to-be-when-it-grows-up/10386" target="_blank">ZDNet</a></p>
<div id="attachment_3692" class="wp-caption aligncenter" style="width: 239px"><a href="http://okpanico.files.wordpress.com/2012/02/pietro.jpg" target="_blank"><img class="size-medium wp-image-3692" title="" src="http://okpanico.files.wordpress.com/2012/02/pietro.jpg?w=229&#038;h=300" alt="" width="229" height="300" /></a><p class="wp-caption-text">click per ingrandire</p></div>
<p><strong>OK</strong>, andata, per adesso. Prossimamente ancora su <strong>j</strong> (<em><strong>Autocomp</strong></em> e dintorni) e <strong>source</strong> e altro, forse <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<br />Filed under: <a href='http://okpanico.wordpress.com/category/visto-nel-web/'>Visto nel Web</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/okpanico.wordpress.com/3680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/okpanico.wordpress.com/3680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/okpanico.wordpress.com/3680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/okpanico.wordpress.com/3680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/okpanico.wordpress.com/3680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/okpanico.wordpress.com/3680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/okpanico.wordpress.com/3680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/okpanico.wordpress.com/3680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/okpanico.wordpress.com/3680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/okpanico.wordpress.com/3680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/okpanico.wordpress.com/3680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/okpanico.wordpress.com/3680/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/okpanico.wordpress.com/3680/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/okpanico.wordpress.com/3680/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3680&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://okpanico.wordpress.com/2012/02/21/visto-nel-web-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bb3480ee056dba90b6322dbc9b364f6f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">j00han</media:title>
		</media:content>

		<media:content url="http://okpanico.files.wordpress.com/2012/02/giulio-cavalli.jpeg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/378821_2457314755855_1341697758_32261949_1902321724_n.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/388897_2676904674167_1002730802_32385740_1505508400_n.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/406445_273821006011428_138763606183836_790297_2070679395_n.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/1529948.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/204833919-70a8e1ec-c3eb-42c0-a0eb-89053ae9d2ce.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/ai9gqrpcqaauahc.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/aracarota.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/iphone.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/pietro.jpg?w=229" medium="image" />
	</item>
		<item>
		<title>Autojump</title>
		<link>http://okpanico.wordpress.com/2012/02/19/autojump/</link>
		<comments>http://okpanico.wordpress.com/2012/02/19/autojump/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 10:02:13 +0000</pubDate>
		<dc:creator>juhan</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://okpanico.wordpress.com/?p=3656</guid>
		<description><![CDATA[Posso raccontarvi un po&#8217; di storia personale? Sì? OK, allora quando ho iniziato a lavorare mi sono trovato un minicopmuter (mini è fuorviante, pensate a un armadio grosso) tutto mio. Cioè no ma da gestire. Era, l&#8217;ho già detto altre volte, un Prime, anzi PR1ME. E era arrivato un Prime perché degli amici e colleghi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3656&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-3657" title="" src="http://okpanico.files.wordpress.com/2012/02/icon.png?w=530" alt=""   /><br />
<em><strong>Posso raccontarvi un po&#8217; di storia personale?</strong></em> Sì?<br />
OK, allora quando ho iniziato a lavorare mi sono trovato un minicopmuter (mini è fuorviante, pensate a un armadio grosso) tutto mio. Cioè no ma da gestire.<br />
Era, l&#8217;ho già detto altre volte, un <strong>Prime</strong>, anzi <a href="http://okpanico.files.wordpress.com/2010/08/550.jpg" target="_blank"><strong>PR1ME</strong></a>.<br />
E era arrivato un Prime perché degli amici e colleghi avevano il Prime (il loro capo era appena tornato da MIT, vicino a Natick, dove c&#8217;era la fabbrica dei Prime &#8211;bei tempi, sigh!<br />
Uno dei miei amici (anche se non ricordo chi) aveva deciso di semplificare il comando <strong>cd</strong> (sì, sul Prime non si chiamava <em><strong>cd</strong></em> ma <strong>attach</strong>, abbrevviabile in <strong>a</strong>; come per il <em>VMS</em> del <em>Vax</em> i comandi potevano essere abbreviati, basta che non ci fossero conflitti, ancora meglio del <em>tab</em> di Unix/Linux).<br />
Per cui <strong><code>A LAVORI 1 2</code></strong> poteva essere scritto <strong><code>J L</code></strong>. Bella comodità, l&#8217;avevo adottata al volo. E poi questo comando l&#8217;ho rifatto per <em>MS-DOS</em>, prima come batch command e poi con <em><strong>Turbo Pascal</strong></em>, antenato di <em>Delphi</em>.</p>
<p><em><strong>Poi ho provato a farlo anche su Linux, e non ci sono riuscito</strong></em>. Adesso vi faccio vedere il perché.</p>
<p>Con Windows si può creare questo semplice script (loro non li chiamano script ma è uno script), <em>j-t-w.bat</em></p>
<p><pre class="brush: plain;">@echo off
c:
cd C:\DOCUME~1\Alice\IMPOST~1\Temp
echo sei in
cd
echo fatto.</pre></p>
<p>eseguendolo nel Prompt dei comandi otteniamo</p>
<p><img class="aligncenter size-full wp-image-3658" title="" src="http://okpanico.files.wordpress.com/2012/02/jtw.png?w=530" alt=""   /></p>
<p>Come si vede al termine dello script la directory corrente è diventata <em><strong>Temp</strong></em> sul disco <em><strong>C:</strong></em>.<br />
Proviamo a fare la stessa cosa con Linux, ecco lo script <em>t.sh</em></p>
<p><pre class="brush: plain;">#!/bin/sh
cd /tmp
echo sei in $(pwd)
echo fatto.</pre></p>
<p>provo a eseguirlo</p>
<p><img class="aligncenter size-full wp-image-3659" title="" src="http://okpanico.files.wordpress.com/2012/02/j-t.png?w=530" alt=""   /></p>
<p><em><strong>OPS!</strong></em> non funziona. Durante l&#8217;esecuzione dello script è effettivamente in <em><strong>/tmp</strong></em> ma quando lo script termina mi ritrovo nella directory di partenza. OK, la cosa è logica e naturale, Linux (e Unix prima) sono fatti meglio ma non fa quello che volevo. E non è facile farglielo fare.</p>
<p>La cosa all&#8217;inizio mi dava parecchio fastidio e ogni tanto riesumavo il progetto, senza concludere nulla. Cioè c&#8217;ero riuscito in un paio di modi ma non eleganti. Poi qualcuno (credo sia stato il prof Lipari ma non riesco a rintracciare il link) mi ha segnalato <strong>Autojump</strong> di <strong>joelthelion</strong> &#8211; <strong>Joël Schaerer</strong>.</p>
<p>Dai, non era facile: <em><strong>bravo Noël, le lion!</strong></em> C&#8217;è riuscito con due script, uno tranquillo in <em><strong>Python</strong></em> e uno terribile in <em><strong>bash</strong></em> (e zsh, per chi usa questa shell). Noël è davvero un leone.</p>
<p><em><strong>Autojump</strong></em> &#8211;in realtà si usa il comando <strong>j</strong>, proprio come facevamo su Prime, anche se allora j derivava da join&#8211; lo trovate nel Software Center di Ubuntu ma conviene installare l&#8217;ultima versione da <a href="https://github.com/joelthelion/autojump" target="_blank">github</a>.</p>
<p>Per chi usa spesso il terminale è comodo, anche se ogni tanto mi fa ricadere nella tentazione di capire come funziona.</p>
<p><img class="aligncenter size-full wp-image-3660" title="" src="http://okpanico.files.wordpress.com/2012/02/toro.jpeg?w=530" alt=""   /></p>
<p>Era da un po&#8217; che non mi capitava poi qualcuno ne ha parlato recentemente e mi sono deciso a <strong>prendere il toro per le corna</strong>: vediamo se questo post mi libera da questa ossessione.</p>
<p>Ah! visto che i miei amici <a href="http://parliamodi-ubuntu.blogspot.com/" target="_blank">Bit3Lux</a> e <a href="http://toshidex.org/" target="_blank">Lightuono</a> stanno portando avanti un <em><strong>corso di bash</strong></em>, questo post è dedicato a loro <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<br />Filed under: <a href='http://okpanico.wordpress.com/category/python/'>Python</a>, <a href='http://okpanico.wordpress.com/category/shell/'>shell</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/okpanico.wordpress.com/3656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/okpanico.wordpress.com/3656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/okpanico.wordpress.com/3656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/okpanico.wordpress.com/3656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/okpanico.wordpress.com/3656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/okpanico.wordpress.com/3656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/okpanico.wordpress.com/3656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/okpanico.wordpress.com/3656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/okpanico.wordpress.com/3656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/okpanico.wordpress.com/3656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/okpanico.wordpress.com/3656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/okpanico.wordpress.com/3656/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/okpanico.wordpress.com/3656/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/okpanico.wordpress.com/3656/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3656&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://okpanico.wordpress.com/2012/02/19/autojump/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bb3480ee056dba90b6322dbc9b364f6f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">j00han</media:title>
		</media:content>

		<media:content url="http://okpanico.files.wordpress.com/2012/02/icon.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/jtw.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/j-t.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/toro.jpeg" medium="image" />
	</item>
		<item>
		<title>Numeri primi in Haskell</title>
		<link>http://okpanico.wordpress.com/2012/02/15/numeri-primi-in-haskell/</link>
		<comments>http://okpanico.wordpress.com/2012/02/15/numeri-primi-in-haskell/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 19:05:07 +0000</pubDate>
		<dc:creator>glipari</dc:creator>
				<category><![CDATA[Funzionali]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[Linguaggi]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://okpanico.wordpress.com/?p=3640</guid>
		<description><![CDATA[Rieccoci con la serie di post sulla programmazione funzionale, finalmente (o purtroppo, dipende dal vostro gradimento). Oggi cercheremo di realizzare un semplice test per i numeri primi in Haskell. Lo scopo è di essere didattici, non di essere efficienti, quindi i matematici e i super esperti portino pazienza, per favore! Vediamo prima di fare un [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3640&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Rieccoci con la serie di post sulla programmazione funzionale, finalmente (o purtroppo, dipende dal vostro gradimento). Oggi cercheremo di realizzare un semplice test per i numeri primi in Haskell. Lo scopo è di essere didattici, non di essere efficienti, quindi i matematici e i super esperti portino pazienza, per favore!</p>
<p>Vediamo prima di fare un po di sommario. </p>
<p><strong>Puntate precedenti</strong>:</p>
<ul>
<li><a href="http://okpanico.wordpress.com/2011/10/24/linguaggi-imperativi-e-linguaggi-funzionali/">Introduzione, linguaggi imperativi e funzionali</a></li>
<li><a href="http://okpanico.wordpress.com/2011/10/31/funzioni-e-liste/">Funzioni e list in Python, NewLISP e Haskell</a></li>
<li><a href="http://okpanico.wordpress.com/2011/11/14/funzioni-al-cubo/">Ancora sulle funzioni, e funzioni di ordine superiore in Haskell</a></li>
<li><a href="http://okpanico.wordpress.com/2011/12/04/liste-infinite/">Liste infinite in Haskell</a></li>
<li><a href="http://okpanico.wordpress.com/2011/12/10/liste-infinite-in-python/">Liste infinite in Python</a></li>
</ul>
<p><strong>Ripasso di Haskell</strong></p>
<p>Sì, perché l&#8217;ultima volta è stata un sacco di tempo fa, e allora facciamo un po&#8217; di ripassino.</p>
<p>I linguaggi funzionali prediligono le funzioni. Tutto è funzione, l&#8217;utente definisce funzioni, che possono prendere in ingresso altre funzioni, e ne può fare delle applicazioni parziali per ottenere delle funzioni più semplici. In particolare in Haskell per definire una funzione basta scrivere un&#8217;equazione. Ad esempio, ecco la funzione che data una lista ci restituisce un&#8217;altra lista contenente solo i numeri pari:</p>
<p><pre class="brush: plain;">
pari :: [Integer] -&gt; [Integer]
pari l = [ x | x &lt;- l, even x ]
</pre></p>
<p>Vi ricordo che la prima linea è la <i>type signature</i>, cioè la dichiarazione del tipo di dato che passiamo come argomento in input e del tipo di dato che diamo come output;  la seconda linea è invece la definizione vera e propria della funzione. In questo caso abbiamo usato la list comprehension, <a href="http://okpanico.wordpress.com/2011/10/31/funzioni-e-liste/">ricordate</a>? Leggiamolo come se fosse notazione matematica: &#8220;tutti gli x tali che x appartiene a l, e x è pari&#8221;. </p>
<p><strong>Numeri primi</strong>  </p>
<p><img alt="" src="http://lidimatematici.files.wordpress.com/2010/11/infinitinumeri-primi1.jpg?w=250&#038;h=250" class="aligncenter" width="250" height="250" /></p>
<p>Per continuare il ripasso, proviamo timidamente a scrivere una funzione che ci dica se un dato intero è primo o no. Per cominciare, ci serve sapere se un numero divide un altro. Si dice che un numero divide esattamente un altro, se il resto della divisione è zero. Quindi, dato n il numero da dividere e x il divisore, deve essere vero che:</p>
<pre>
n `mod` x == 0
</pre>
<p>Dove mod è la funzione che calcola il resto. A onor del vero bisognerebbe scrivere </p>
<pre>
(mod n x) == 0
</pre>
<p>perché Haskell usa la notazione prefissa. Però chi ha inventato Haskell sa bene che a volte la notazione infissa (quella degli operatori) è più comoda. Per cui ha dato la possibilità di usare entrambe. Se avete una funzione di due argomenti, potete usare la notazione infissa se mettete la funzione tra &#8220;backtick&#8221;. Quindi, scrivere <code>mod n x</code> è equivalente a scrivere <code>n `mod` x</code>. Chiaro? (se la risposta è no, non vi preoccupate, ci saranno altri esempi nel seguito). </p>
<p>Per fare le cose un po&#8217; più leggibili, definiamoci una funzione chiamata <i>divides</i>:</p>
<p><pre class="brush: plain;">
divides :: Integer -&gt; Integer -&gt; Bool
x `divides` n = n `mod` x == 0
</pre></p>
<p>Ok, adesso vogliamo sapere se un numero è primo. La definizione dice che un numero n è primo se è divisibile solo per se stesso e per l&#8217;unità. Quindi, dobbiamo provare a dividere n per tutti i numeri da 2 a n-1, e vedere se viene fuori che qualcuno è divisibile. </p>
<p>La lista di numeri da 2 a n-1 si scrive semplicemente <code>[2..n-1]</code>. La funzione divides ci restituisce dei valori booleani, ovvero True oppure False.  Se io applico la funzione <code>divides</code> a tutti i membri della lista <code>[2..n-1]</code> ottengo una lista di True e False. Se tutti i valori della lista risultante sono False, allora il numero è primo, mentre se almeno uno è True, allora il numero è composto. Ci siamo fino a qui? Bene, guardiamo il codice che esprime questo mio ragionamento:</p>
<p><pre class="brush: plain;">
isprime :: Integer -&gt; Bool
isprime n = not $ or [ x `divides` n | x &lt;- [2..n-1] ] 
</pre></p>
<p>Spiegazione, cominciando dal fondo: qui vedete una bella <i>list comprehension</i> per costruire la lista di booleani (tutti i risultati della funzione <code>x `divides` n </code> tali che x appartiene alla lista <code>[2..n-1]</code>). La funzione or, come ci si aspetterebbe, prende una lista di booleani e ne fa l&#8217;or logico. La funzione not restituisce la negazione logica del suo input e ci da il risultato. Direi che ci siamo&#8230; no aspetta, e quel dollaro? Il dollaro serve per evitare di mettere troppe parentesi. Infatti, Haskell legge da sinistra verso destra, e se non mettete le parentesi potrebbe incasinarsi: il dollaro serve a dirgli &#8220;aspetta che arrivi il risultato di quello che sta a destra del dollaro prima di valutare la funzione che sta a sinistra del dollaro&#8221;. Tecnicamente: cambia l&#8217;ordine di precedenza delle funzioni, o meglio associa a destra invece che a sinistra.</p>
<p>Ed ecco il programmino risultante:<br />
<pre class="brush: plain;">
module Main where
import System.Environment

main :: IO()
main = do args &lt;- getArgs
          putStrLn ( show $ isprime (read $ args!!0) )

divides :: Integer -&gt; Integer -&gt; Bool
x `divides` n = n `mod` x == 0

isprime :: Integer -&gt; Bool
isprime n = not $ or [ x `divides` n | x &lt;- [2..n-1] ] 
</pre><br />
Per provare il codice: salvate il testo qui sopra in un file chiamato &#8216;primo.hs&#8217; (oppure come meglio credete). Quindi, compilate il file da linea di comando con :</p>
<pre>
ghc primo.hs
</pre>
<p>e otterrete il file eseguibile <code>primo</code>, che potete eseguire così:</p>
<pre>
./primo 1237
</pre>
<p>e dovrebbe restituirvi True.</p>
<p>(Esercizio: che cosa succede se togliete il dollaro senza mettere alcuna parentesi? provare per capire&#8230;)</p>
<p><strong>Let e where</strong></p>
<p>Un matematico storcerà il naso a vedere il mio algoritmo. Inefficiente! Infatti, per provare che un numero è primo, è sufficiente testare i numeri da 2 fino alla radice quadrata di n. E allora facciamolo, che aspettiamo?</p>
<p>Per fare la radice quadrata di n si usa la funzione <code>sqtr</code> che però prende un double e restituisce un double (insomma, quasi). Mentre il nostro n è intero: e quindi se scrivo <code>sqrt n</code> il compilatore protesta: come vi ho già detto, Haskell è fortemente, maledettamente tipato, e se non gli dai i tipi giusti non ti compila. E quindi, bisogna trasformare n in un double, e poi il risultato di sqrt di nuovo in intero. Ecco come si fa:</p>
<pre>
floor $sqrt $fromIntegral n
</pre>
<p>Al solito, i dollari evitano le parentesi. </p>
<p>Potremmo mettere l&#8217;espressione con la radice quadrata direttamente in linea al posto di <code>n-1</code>, ma sarebbe orribile a leggersi. Potremmo definire una nuova funzione:<br />
<pre class="brush: plain;">
sqn n = floor $sqrt $fromIntegral n
isprime n = not $ or [ x `divides` n | x &lt;- [2..sqn n] ] 
</pre><br />
ma definire una nuova funzione sembra eccessivo, specialmente se questa funzione viene usata solo dalla funzione isprime. E allora usiamo il <i>let</i>:</p>
<p><pre class="brush: plain;">
isprime :: Integer -&gt; Bool
isprime n = let sqn = floor $sqrt $fromIntegral n  
            in not $ or [ x `divides` n | x &lt;- [2..sqn] ] 
</pre><br />
Let serve a definire delle funzioni &#8220;locali&#8221; alla funzione isprime. Si usa come  nella notazione matematica, e quindi si legge così: &#8220;sia (let) sqn la radice quadrata di n, nell&#8217;espressione not &#8230;&#8221;. Quindi, dopo il let si mettono le definizioni locali (anche più di una, su righe diverse), quindi la parola chiave <code>in</code>, e infine si mette l&#8217;espressione che usa le definizioni precedenti. Altro esempio:<br />
<pre class="brush: plain;">
mytan x = let s = sin x
              c = cos x
          in s / c
</pre><br />
definisce la tangente di un angolo. Invece di let si può usare un costrutto alternativo che si chiama  <code>where</code>:<br />
<pre class="brush: plain;">
mytan x = s / c
          where s = sin x
                c = cos x
</pre><br />
che si legge: &#8220;la funzione mytan x è definita come <code>s / c</code>, dove (where) s è definito come il seno di x, e c è definito come il coseno di x&#8221;. Si legge bene, vero? </p>
<p>C&#8217;è una differenza importante fra usare let e where. Let può essere messo dovunque ci sia un&#8217;espressione, e quindi anche dentro un&#8217;espressione più grande. Per esempio, riscriviamo la nostra sqn<br />
<pre class="brush: plain;">
sqn n = floor (let i = fromIntegral n in sqrt i)
</pre><br />
Come potete vedere, abbiamo inserito una let/in in un&#8217;espressione più grande. La where invece può solo essere legata a una funzione, e quindi la seguente cosa dà un errore di sintassi:<br />
<pre class="brush: plain;">
sqn n = floor (sqrt i where i = fromIntegral n)
</pre><br />
Se proprio volete usare il where, dovete scrivere:<br />
<pre class="brush: plain;">
sqn n = floor s 
        where s = sqrt (fromIntegral n)
</pre><br />
Lo so, non è chiarissimo, ma nel seguito spero di inserire qualche altro esempio. </p>
<p>Il secondo programmino:<br />
<pre class="brush: plain;">
module Main where
import System.Environment

main :: IO()
main = do args &lt;- getArgs
          putStrLn ( show $ isprime (read $ args!!0) )

x `divides` n = n `mod` x == 0

isprime :: Integer -&gt; Bool
isprime n = let sqn = floor $sqrt $fromIntegral n
            in not $ or [ x `divides` n | x &lt;- [2..sqn] ] 
</pre><br />
Al solito, fermatevi e prendetevi 30 secondi di tempo per compilare, eseguire, etc. E magari, provate a usare il where invece del let. </p>
<p><strong>Ricorsione!</strong></p>
<p>Adesso siamo un po&#8217; più efficienti, ma ancora lontani da una buona soluzione. Per esempio, possiamo controllare la divisibilità solo per i primi contenuti tra 2 e la radice quadrata di n. Infatti, non ha senso controllare la divibilità per 4 una volta che il numero non è più divisibile per 2. Ed è inutile controllare la divisibilità per 9 se il numero non è divisibile per 3, ecc. </p>
<p>Ma la lista di primi fino alla radice quadrata di n non ce l&#8217;abbiamo! Idea: non potremmo utilizzare la stessa definizione di <code>isprime</code> per calcolarci questa lista?</p>
<p>Allora, adesso proviamo a ragionare top/down. Abbiamo già una funzione isprime decente (anche se non ottimizzata), proviamo ad utilizzarla per calcolare la lista (infinita) di tutti i primi. Come vi ho spiegato qualche tempo fa Haskell permette di definire <a href="http://okpanico.wordpress.com/2011/12/04/liste-infinite/">liste infinite</a>, ovvero liste che potenzialmente contengono un numero infinito di elementi. Haskell è <i>lazy</i>, e quindi non è che effettua un calcolo infinito: semplicemente, calcola gli elementi man mano che servono. Ecco la lista infinita di primi a partire dal 2:</p>
<p><pre class="brush: plain;">
primes :: [Integer]
primes = (filter isprime [2..])
</pre><br />
Abbiamo usato la funzione filter che prende come argomenti una funzione (in questo caso isprime), e una lista (in questo caso la lista infinita degli interi maggiori o uguali a 2), e applica la funzione a tutti gli elementi della lista. Il risultato è una lista che contiene tutti e solo gli elementi per i quali isprime ha restituito True, ovvero la lista dei primi. </p>
<p>Ci siamo quasi. Adesso, per testare la primalità, ci basta controllare tutti la divisibilità per tutti i numeri primi fino alla readice quadrata di n. Ecco il codice:<br />
<pre class="brush: plain;">
isprime n = let sqn = floor $sqrt $fromIntegral n
            in not $ or [ x `divides` n | x &lt;- takeWhile (&lt;=sqn) primes ]
</pre><br />
Spiegazione: la funzione takeWhile prende due paramteri, una funzione e una lista. La prima funzione è una <i>sezione</i> dell&#8217;operatore &lt;= e ci restituisce True quando un numero è minore o uguale di <code>sqn</code>. Il secondo argomento è una lista, nel nostro caso la lista infinita <code>primes</code>. La funzione takeWhile applica la funzione a tutti gli elementi della lista finché la funzione restituisce True, poi si ferma. Il risultato è quindi tutta la prima parte della lista fino a che troviamo un numero pari a sqn. </p>
<p>Vi si sta attorcigliando il cervello? No problem, accade sempre con casi di ricorsione doppia incrociata con scappellamento a destra! Qui abbiamo che la funzione isprime ha bisogno della lista primes per essere calcolata, e quest&#8217;ultima si calcola a partire dalla funzione isprime. Proviamo a vedere se funziona:<br />
<pre class="brush: plain;">
module Main where
import System.Environment

main :: IO()
main = do args &lt;- getArgs
          putStrLn ( show $ isprime (read $ args!!0) )

x `divides` n = n `mod` x == 0

isprime :: Integer -&gt; Bool
isprime n = let sqn = floor $sqrt $fromIntegral n
            in not $ or [ x `divides` n | x &lt;- takeWhile (&lt;sqn) primes ] 

primes :: [Integer]
primes = (filter isprime [2..])
</pre><br />
Salvate in un file chiamiato primi2.hs, compilate e eseguite. Ed ecco quello salta fuori:</p>
<pre>
lipari@lipari$ ./primi 11
primi: &lt;&lt;Loop&gt;&gt;
</pre>
<p>Ahi ahi. Che è successo? E&#8217; successo che Haskell si è incasinato e non riesce a venire fuori da questa ricorsione doppia con lista infinita. In particolare, quando ha cercato di calcolare il primo elemento della lista primes, è andato in loop. Non avremmo esagerato? Beh, sì un po. Vediamo perché e magari salterà fuori che abbiamo capito qualcosa in più di come funziona il tutto. </p>
<ol>
<li>Per prima cosa, Haskell cerca di calcolare la fuzione isprime sul numero che gli abbiamo passato sulla linea di comando, che è 11. Per fare questo cerca di risolvere la list comprehension, e in particolare cerca di estrarre il primo elemento della lista primes per darlo in pasto alla takeWhile.</li>
<li>Bisogna quindi calcolare il primo elemento (solo il primo!) della lista primes, che corrisponde al primo elemento della lista risultante dalla funzione filter</li>
<li>Per fare questo, deve prima calcolare isprime 2.</li>
<li>Torniamo su: per calcolare isprime 2  ha bisogno del primo elemento della primes&#8230;</li>
<li>Haskell a questo punto si accorge di essere finito in un ciclo infinito, e alza le braccia, stampando l&#8217;errore sul terminale e uscendo dal programma. </li>
</ol>
<p>L&#8217;errore qui è che lui non riesce a partire, non ha un punto di inizio. In matematica, si direbbe che abbiamo un&#8217;induzione senza una base; in informatica, abbiamo una ricorsione senza una condizione di terminazione. Notate che Haskell non vi pianta il calcolatore fino al fatidico out of memory. Si accorge del loop infinito, e esce subito. </p>
<p>La soluzione è più semplice di quanto possiate immaginare. Se Haskell non riesce a calcolarsi il primo elemento della lista primes, possiamo suggerirlo noi! La definizione di primes diventa:<br />
<pre class="brush: plain;">
primes = 2:(filter isprime [3..])
</pre><br />
Il primo della lista lo mettiamo noi, gli altri glieli lasciamo calcolare. Adesso abbiamo la base induttiva. </p>
<p>Proviamo a rifare il ragionamento di prima. Dopo il punto 2, il punto 3 ci dice che il primo elemento di primes è 2, che è minore di sqn. Quindi, x prende il valore 2. 11 non è divisibile per 2, quindi il primo elemento della lista da dare in pasto alla funzione or è un bel False. A questo punto dobbiamo calcolare il secondo elemento di primes. Per far questo dobbiamo calcolare isprime 3. La radice di 3 è sqn=1.73&#8230;, quindi l&#8217;espressione <code>takeWhile (&lt;sqn) primes</code> è una lista vuota. L&#8217;or di una lista vuota da come risultato False, e quindi isprime 3 è True. Quindi il secondo elemento di primes è 3, e possiamo tornare a calcolare isprimes di 11. 3 non divide 11, quindi adesso la lista di booleani contiene due False, e ci tocca andare a calcolare il terzo elemento di primes&#8230; che penso ci possiamo fermare qui. </p>
<p>A questo punto, dopo tutto questo sforzo mentale, provate a compilare e lanciare il programma!  </p>
<p>Ultima piccola modifica. Nel calcolare la lista dei primi, noi sappiamo già che i pari non sono primi, e quindi potremmo applicare una piccola ottimizzazione:<br />
<pre class="brush: plain;">
primes = 2:(filter isprime [3,5..])
</pre><br />
La lista <code>[3,5,..]</code> è un modo elegante e molto haskelliano di rappresentare i numeri dispari da 3 in su. </p>
<p><strong>Conclusioni</strong></p>
<p>Naturalmente, se proprio vogliamo calcolare la lista dei numeri primi, ci sono metodi parecchio più efficienti, come il crivello di Eratostene, ma questo magari lo vediamo la prossima volta che oggi penso di avervi incriccato la cervice abbastanza. E chissà, magari, forse, prima o poi diamo uno sguardo anche al crivello di Atkin (ah, <a href="http://proooof.blogspot.com/2011/12/crivelli-4-atkin.html" title="I crivelli di Atkin" target="_blank">gli studenti di oggi</a>!) </p>
<p><strong>Note</strong></p>
<p>L&#8217;immagine è presa <a href="http://lidimatematici.wordpress.com/2011/05/23/il-mistero-dei-numeri-primi/">da questo blog</a>. </p>
<br />Filed under: <a href='http://okpanico.wordpress.com/category/linguaggi/funzionali/'>Funzionali</a>, <a href='http://okpanico.wordpress.com/category/linguaggi/haskell/'>Haskell</a>, <a href='http://okpanico.wordpress.com/category/linguaggi/'>Linguaggi</a>, <a href='http://okpanico.wordpress.com/category/uncategorized/'>Uncategorized</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/okpanico.wordpress.com/3640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/okpanico.wordpress.com/3640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/okpanico.wordpress.com/3640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/okpanico.wordpress.com/3640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/okpanico.wordpress.com/3640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/okpanico.wordpress.com/3640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/okpanico.wordpress.com/3640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/okpanico.wordpress.com/3640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/okpanico.wordpress.com/3640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/okpanico.wordpress.com/3640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/okpanico.wordpress.com/3640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/okpanico.wordpress.com/3640/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/okpanico.wordpress.com/3640/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/okpanico.wordpress.com/3640/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3640&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://okpanico.wordpress.com/2012/02/15/numeri-primi-in-haskell/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bb23264414f977e845f1c53e5315d590?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">glipari</media:title>
		</media:content>

		<media:content url="http://lidimatematici.files.wordpress.com/2010/11/infinitinumeri-primi1.jpg" medium="image" />
	</item>
		<item>
		<title>Vicissitudini con newLISP 10.4</title>
		<link>http://okpanico.wordpress.com/2012/02/15/vicissitudini-con-newlisp-10-4/</link>
		<comments>http://okpanico.wordpress.com/2012/02/15/vicissitudini-con-newlisp-10-4/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 14:56:06 +0000</pubDate>
		<dc:creator>juhan</dc:creator>
				<category><![CDATA[newLISP]]></category>

		<guid isPermaLink="false">http://okpanico.wordpress.com/?p=3631</guid>
		<description><![CDATA[Tutto è bene quel che finisce bene anche se ci sono stati momenti di panico! O almeno di scazzsconforto e perplimosità. Ma forse è meglio se vi racconto tutto dall&#8217;inizio, vero? Tutto è cominciato ieri sera, con un tweet, questo che, come si vede, ho anche ritwittato &#8211;non avrei mai pensato che si scrivesse così [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3631&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong>Tutto è bene quel che finisce bene</strong></em> anche se ci sono stati momenti di panico! O almeno di <del>scazz</del>sconforto e perplimosità.<br />
Ma forse è meglio se vi racconto tutto dall&#8217;inizio, vero?</p>
<p><img class="aligncenter size-full wp-image-3632" title="" src="http://okpanico.files.wordpress.com/2012/02/newlisp-icon.png?w=530" alt=""   /><br />
Tutto è cominciato ieri sera, con un tweet, questo</p>
<p><img class="aligncenter size-full wp-image-3633" title="" src="http://okpanico.files.wordpress.com/2012/02/tweet.png?w=530" alt=""   /><br />
che, come si vede, ho anche ritwittato &#8211;non avrei mai pensato che si scrivesse così <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Poi avevo altro da finire, la stanchezza, la procastinazione e altro, insomma a farla breve ho rimandato tutto a oggi pomeriggio.</p>
<p>Dovrebbe essere una cosa banale, scarichi il file <em><strong>.deb</strong></em>, lo doppioclicki e fatto. <strong>Ehm no!</strong><br />
Il <em><strong>Software Center</strong></em> comincia a frullare, continua a frullare, mi faccio un caffè intanto che frulla, continua ancora a frullare e frullare.<br />
Poi smette ma niente.</p>
<p>Panico? No dai <strong>niente panico</strong>, com&#8217;è scritto sulla copertina della <em><strong>Guida Galattica</strong></em>. Sono o non sono un aspirante geek in attesa di essere autopromosso a apprendista geek-quasigeek?</p>
<p><img class="aligncenter size-full wp-image-3634" title="" src="http://okpanico.files.wordpress.com/2012/02/gz.jpeg?w=530" alt=""   /><br />
<strong>Si può fare a mano!</strong> Sì dai ci provo, questa è la situazione attuale</p>
<p><img class="aligncenter size-full wp-image-3635" title="" src="http://okpanico.files.wordpress.com/2012/02/prima.png?w=530" alt=""   /><br />
Dopo un back-up e alcune contrattazioni con la shell (per via dei permessi, sono tutto sudato) ecco</p>
<p><img class="aligncenter size-full wp-image-3636" title="" src="http://okpanico.files.wordpress.com/2012/02/dopo.png?w=530" alt=""   /><br />
Da un paio di verifiche volanti sembra tutto OK <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /><br />
E la nuova versione sembra alquanto uguale alla precedente.<br />
Ma sono salito di un gradino nella scala della geekosità, e questo è bene (cit.) <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<br />Filed under: <a href='http://okpanico.wordpress.com/category/newlisp/'>newLISP</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/okpanico.wordpress.com/3631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/okpanico.wordpress.com/3631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/okpanico.wordpress.com/3631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/okpanico.wordpress.com/3631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/okpanico.wordpress.com/3631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/okpanico.wordpress.com/3631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/okpanico.wordpress.com/3631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/okpanico.wordpress.com/3631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/okpanico.wordpress.com/3631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/okpanico.wordpress.com/3631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/okpanico.wordpress.com/3631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/okpanico.wordpress.com/3631/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/okpanico.wordpress.com/3631/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/okpanico.wordpress.com/3631/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3631&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://okpanico.wordpress.com/2012/02/15/vicissitudini-con-newlisp-10-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bb3480ee056dba90b6322dbc9b364f6f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">j00han</media:title>
		</media:content>

		<media:content url="http://okpanico.files.wordpress.com/2012/02/newlisp-icon.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/tweet.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/gz.jpeg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/prima.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/dopo.png" medium="image" />
	</item>
		<item>
		<title>Visto nel Web &#8211; 13</title>
		<link>http://okpanico.wordpress.com/2012/02/13/visto-nel-web-13/</link>
		<comments>http://okpanico.wordpress.com/2012/02/13/visto-nel-web-13/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 10:03:37 +0000</pubDate>
		<dc:creator>juhan</dc:creator>
				<category><![CDATA[Visto nel Web]]></category>

		<guid isPermaLink="false">http://okpanico.wordpress.com/?p=3614</guid>
		<description><![CDATA[Neve &#38; freddo in abbondanza; niente di meglio per riscaldarsi che una rassegna di cose interessanti viste nel web, ecco&#8230; Google In Battle With Its Own Lawyers questa sarebbe comica se il prezzo non lo pagassimo tutti noi; come Totò e Peppino ::: Slashdot Hail the penguin ::: stuff.co Filenames.WTF file extensions are ridiculous ::: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3614&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Neve &amp; freddo in abbondanza; niente di meglio per riscaldarsi che una rassegna di cose interessanti viste nel web, ecco&#8230;</p>
<p><img class="aligncenter size-full wp-image-3615" title="" src="http://okpanico.files.wordpress.com/2012/02/aitilnecaaekeqk.gif?w=530" alt=""   /></p>
<p><strong>Google In Battle With Its Own Lawyers</strong><br />
questa sarebbe comica se il prezzo non lo pagassimo tutti noi; come Totò e Peppino<br />
::: <a href="http://yro.slashdot.org/story/12/02/05/1948231/google-in-battle-with-its-own-lawyers" target="_blank">Slashdot</a></p>
<p><strong>Hail the penguin</strong><br />
::: <a href="http://www.stuff.co.nz/technology/digital-living/6371507/Hail-the-penguin" target="_blank">stuff.co</a></p>
<p><strong>Filenames.WTF</strong><br />
file extensions are ridiculous<br />
::: <a href="http://www.dansdata.com/gz125.htm" target="_blank">Dan&#8217;s Data</a> ::: <a href="http://utcc.utoronto.ca/~cks/space/blog/links/OnFileExtentsions" target="_blank">Chris Siebenmann</a></p>
<p><img class="aligncenter size-full wp-image-3616" title="" src="http://okpanico.files.wordpress.com/2012/02/398553_182635945165768_162079897221373_327824_1032107500_p.jpg?w=530" alt=""   /></p>
<p><strong>Four Levels of Idea Theft</strong><br />
::: <a href="http://prog21.dadgum.com/126.html" target="_blank">Programming in the 21st Century</a></p>
<p><strong>What is RTOS? – Real Time Operating Systems Basics</strong><br />
quasi; OK, non è facile riassumere in un post tutto quanto, diciamo che è un&#8217;intro introduttiva <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
::: <a href="http://www.thegeekstuff.com/2012/02/rtos-basics/" target="_blank">The Geek Stuff</a></p>
<p><strong>Five Reasons why Windows 8 will be dead on arrival</strong><br />
Some of my die-hard Windows friends are very excited by Windows 8 arrival later this year. Others fear that Windows 8 will be a repeat of Microsoft’s Vista disaster. Me? I know Windows 8 will be a Vista-sized fiasco.<br />
::: <a href="http://www.zdnet.com/blog/open-source/five-reasons-why-windows-8-will-be-dead-on-arrival/10275" target="_blank">ZDNet</a></p>
<p><img class="aligncenter size-full wp-image-3617" title="" src="http://okpanico.files.wordpress.com/2012/02/2977607d8eeb4a65318d3ab49d1158a4.jpg?w=530" alt=""   /></p>
<p><strong>Is Linux Spark Tablet An iPad Killer?</strong><br />
::: <a href="http://www.datamation.com/feature/is-linux-spark-tablet-an-ipad-killer-1.html" target="_blank">Datamation</a></p>
<p><strong>Canonical Pulls Kubuntu Personnel Funding</strong><br />
::: <a href="http://news.slashdot.org/story/12/02/07/0143224/canonical-pulls-kubuntu-personnel-funding" target="_blank">Slashdot</a> ::: <a href="http://www.muktware.com/news/3287/kubuntu-dead-time-switch-linux-mint-kde-opensuse" target="_blank">Muktware</a> ::: <a href="http://www.oneopensource.it/07/02/2012/kubuntu-non-sara-piu-supportata-da-canonical/" target="_blank">oneOpenSource</a> ::: <a href="http://maclinuxlovers.wordpress.com/2012/02/07/canonical-abbandona-kubuntu/" target="_blank">MacLinuxLovers</a></p>
<p><strong>Le difficoltà di Compiz e il futuro di Unity</strong><br />
::: <a href="http://www.oneopensource.it/07/02/2012/le-difficolta-di-compiz-e-il-futuro-di-unity/" target="_blank">oneOpenSource</a></p>
<p><img class="aligncenter size-full wp-image-3618" title="" src="http://okpanico.files.wordpress.com/2012/02/389107863fb713bba0aa612d014129f4.jpeg?w=530" alt=""   /></p>
<p><strong>The Designer’s Guide to Avoiding Terminal</strong><br />
questo blog dovete proprio RSSarlo; io non lo citerò più, avvisati, nèh<br />
::: <a href="http://bradcolbow.com/archive/view/the_brads_avoiding_terminal/" target="_blank">Brad Colbow</a></p>
<p><strong>Apple’s great GPL purge</strong><br />
::: <a href="http://meta.ath0.com/2012/02/05/apples-great-gpl-purge/" target="_blank">mathew</a></p>
<p><strong>LibreOffice Math/Formula Editor Examples</strong><br />
::: <a href="http://jeffhoogland.blogspot.com/2012/02/libreoffice-mathformula-editor-examples.html" target="_blank">Thoughts on Technology</a></p>
<p><img class="aligncenter size-full wp-image-3619" title="" src="http://okpanico.files.wordpress.com/2012/02/funny-argument-woman-chart.jpg?w=530" alt=""   /></p>
<p><strong>Category:Programming languages</strong><br />
da un cinguettio di [perso il nome], da perdersi <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /><br />
::: <a href="http://en.literateprograms.org/Category:Programming_languages" target="_blank">LiteratePrograms</a></p>
<p><strong>Former Google Exec: Traditional Search Market Shrinking</strong><br />
ah! Volunia, forse<br />
::: <a href="http://search.slashdot.org/story/12/02/08/1430233/former-google-exec-traditional-search-market-shrinking" target="_blank">Slashdot</a></p>
<p><img class="aligncenter size-full wp-image-3620" title="" src="http://okpanico.files.wordpress.com/2012/02/never-say-no-to-panda.gif?w=530" alt=""   /></p>
<p><strong>The Zuckerberg Tax</strong><br />
Robin Hood dove sei?<br />
::: <a href="http://news.slashdot.org/story/12/02/08/2310218/the-zuckerberg-tax" target="_blank">Slashdot</a></p>
<p><strong>The RedMonk Programming Language Rankings: February 2012</strong><br />
::: <a href="http://redmonk.com/sogrady/2012/02/08/language-rankings-2-2012/" target="_blank">RedMonk</a> ::: <a href="http://www.johndcook.com/blog/2012/02/09/programming-langauge-popularity/" target="_blank">The Endeavour</a></p>
<p><strong>RIAA contro Google e Wikipedia</strong><br />
::: <a href="http://blog.quintarelli.it/blog/2012/02/riaa-contro-google-e-wikipedia.html" target="_blank">Quinta&#8217;s</a></p>
<p><img class="aligncenter size-full wp-image-3621" title="" src="http://okpanico.files.wordpress.com/2012/02/sept_16_2011.jpg?w=530" alt=""   /></p>
<p><strong>GNOME 3, un nuovo approccio nel definire le applicazioni sul desktop</strong><br />
non concordo, e anche il primo commento è con me<br />
::: <a href="http://www.ossblog.it/post/9453/gnome-3-un-nuovo-approccio-nel-definire-le-applicazioni-sul-desktop" target="_blank">Ossblog</a></p>
<p><strong>Pycoder&#8217;s Weekly</strong><br />
One e-mail each Friday(starting Feb. 17th), easy to unsubscribe, only god knows why you would want to do that. Segnalato da al3hex<br />
::: <a href="http://pycoders.com/" target="_blank">Pycoder&#8217;s</a></p>
<p><strong>Status Code</strong><br />
is a language agnostic roundup of the latest ideas, releases, trends, events and must-read articles from the field of software development. Segnalato da al3hex<br />
::: <a href="http://statuscode.org/" target="_blank">Status Code</a></p>
<p><img class="aligncenter size-full wp-image-3622" title="" src="http://okpanico.files.wordpress.com/2012/02/tablet_sumero.png?w=530" alt=""   /></p>
<p><strong>Dodici comandamenti per l’accesso aperto</strong><br />
forse un po&#8217; OT, ma è il Web<br />
::: <a href="http://minimacademica.wordpress.com/2012/02/11/dodici-comandamenti-per-laccesso-aperto/" target="_blank">Minima academica</a></p>
<p><strong>High performance libraries in Java</strong><br />
::: <a href="http://vanillajava.blogspot.com/2012/02/high-performance-libraries-in-java.html" target="_blank">Vanilla #Java</a></p>
<p><strong>I have a dream!</strong><br />
il compleanno del Picchio diventa l&#8217;occasione per un meeting interessantissimissimo<br />
::: <a href="http://picchiopc.wordpress.com/2012/02/12/i-have-a-dream/" target="_blank">il nido del Picchio</a></p>
<p><img class="aligncenter size-full wp-image-3624" title="" src="http://okpanico.files.wordpress.com/2012/02/plan-a.jpg?w=530" alt=""   /></p>
<p><strong>Ma i computer li fanno ancora?</strong><br />
xfce, perché i nuovi DE per chi ha un po&#8217; di finestre aperte sono <del>disastrosi</del>scomodi<br />
::: <a href="http://www.luca-ferrari.it/blog/ma-i-computer-li-fanno-ancora/" target="_blank">Luca Ferrari</a></p>
<p><strong>NASA Unplugs Its Last Mainframe</strong><br />
come i dinosauri: a un certo punto si è andati avanti senza di loro<br />
::: <a href="http://science.slashdot.org/story/12/02/12/1739256/nasa-unplugs-its-last-mainframe" target="_blank">Slashdot</a></p>
<p><img class="aligncenter size-full wp-image-3623" title="" src="http://okpanico.files.wordpress.com/2012/02/rain.jpg?w=530" alt=""   /></p>
<p><strong>OK</strong>, a lavorare adesso, anche se con <em>i diti</em> tutti intirizziti <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<br />Filed under: <a href='http://okpanico.wordpress.com/category/visto-nel-web/'>Visto nel Web</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/okpanico.wordpress.com/3614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/okpanico.wordpress.com/3614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/okpanico.wordpress.com/3614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/okpanico.wordpress.com/3614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/okpanico.wordpress.com/3614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/okpanico.wordpress.com/3614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/okpanico.wordpress.com/3614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/okpanico.wordpress.com/3614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/okpanico.wordpress.com/3614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/okpanico.wordpress.com/3614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/okpanico.wordpress.com/3614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/okpanico.wordpress.com/3614/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/okpanico.wordpress.com/3614/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/okpanico.wordpress.com/3614/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3614&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://okpanico.wordpress.com/2012/02/13/visto-nel-web-13/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bb3480ee056dba90b6322dbc9b364f6f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">j00han</media:title>
		</media:content>

		<media:content url="http://okpanico.files.wordpress.com/2012/02/aitilnecaaekeqk.gif" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/398553_182635945165768_162079897221373_327824_1032107500_p.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/2977607d8eeb4a65318d3ab49d1158a4.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/389107863fb713bba0aa612d014129f4.jpeg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/funny-argument-woman-chart.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/never-say-no-to-panda.gif" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/sept_16_2011.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/tablet_sumero.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/plan-a.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/rain.jpg" medium="image" />
	</item>
		<item>
		<title>Il sesso del(la) dock</title>
		<link>http://okpanico.wordpress.com/2012/02/12/il-sesso-della-dock/</link>
		<comments>http://okpanico.wordpress.com/2012/02/12/il-sesso-della-dock/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 15:53:23 +0000</pubDate>
		<dc:creator>juhan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://okpanico.wordpress.com/?p=3606</guid>
		<description><![CDATA[Perché su OS X si chiama “il dock” e ovunque si chiama “la dock”? Dilemma. Ma non è l’unico caso, anzi! Il guaio è che l’italiano, come parecchie lingue neolatine (almeno quelle che conosco) ha abbandonato il neutro. Male! Notare che di questo sussistano reliquie, dove meno te lo aspetti: lui, lei, esso. Esso? sì, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3606&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-3607" title="" src="http://okpanico.files.wordpress.com/2012/02/8-dock-2-300x225.jpg?w=530" alt=""   /></p>
<p>Perché su <strong>OS X</strong> si chiama “<strong>il dock</strong>” e ovunque si chiama “<strong>la dock</strong>”? Dilemma.<br />
Ma non è l’unico caso, anzi! Il guaio è che l’italiano, come parecchie lingue neolatine (almeno quelle che conosco) ha abbandonato il neutro. Male! Notare che di questo sussistano reliquie, dove meno te lo aspetti: lui, lei, esso. Esso? sì, meno male che non si usa più. In diversi dialetti italiani ne trovi tracce (a parte il fatto che non so citarne neanche un esempio al volo; e non so nemmeno quale sia il plurale giusto di “traccia” e “faccia” e “ciliegia” e “curriculum”).</p>
<p><strong>OK</strong>, tornando a noi nelle lingue germaniche (no, solo un pizzico d’inglese) invece abbonda e qui saltano fuori le occasioni di <em>perplimosità</em>. Tante. Su alcune parole si è arrivati a una conclusione più o meno condivisa, altre restano aperte all’inventiva e al sentimento del momento. Una mia amica dice “la <strong>web</strong>” perche sia “rete” che “ragnatela” sono femminili ma io ho sempre sentito dire l’opposto &#8211;non per i francesi.<br />
Anticamente si diceva “il <strong>batch</strong>” ma un grafico che frequento dice “la batch” forse perché si riferisce alla batch list di Photoshop.<br />
E <strong>quasar</strong>? qualcuno dice “la quasar” per lo stesso motivo di web. OK, chi usa questa parola di solito parla inglese, ma <em><strong>Piero Angela</strong></em>… E <em><strong>Giacobbo</strong></em> e <em><strong>Zichichi</strong></em>? Non sempre ma (soprattutto una volta) la nave –<strong>ship</strong>– veniva usata al femminile in inglese, come “<strong>site</strong>” e –orrore– “<strong>computer</strong>” (come in spagnolo del resto).</p>
<p><strong>OK</strong>, tutto ciò premesso, <em><strong>di nascosto dalla Crusca e dal prof di tagliano</strong></em> –sapete com’è– che ne dite di un sondaggio/referendum per attribuire un sesso a queste parole, frequentissime che non hanno ancora acquisito una forma in italiano –e chissà se ce l’avranno mai. Perdere del tempo nel stilare una lista di nomi più o meno neutri è tempo perso, tutti noi, uomini donne e <strong>geek</strong> (maschile o femminile? Vedi!), ne conosciamo a sufficienza per comprendere in linea generale il senso di questo post.</p>
<p>Ma il dilemma si espande, assume un’altra forma quando andiamo a ricordare il tono in cui gli utenti OS X chiamano il loro aggeggio posto in basso “<em>il mio dock</em>” (con una voce alla Gianni Morandi)  e quelli GNU/Linux chiamano la propria dock “<em>leva quella merda di una dockbar</em>” (quasi sempre riferito a cairo dock). Siamo troppo avanti per utilizzare un neutro, o anche questo viene utilizzato in secondo piano nella guerra di “chi lo ha più lungo”?</p>
<p><a href="http://www.arresojas.it/cazzate-del-giorno/il-dock-o-la-dock-dilemmi-esistenziali-parte-1" target="_blank"><img class="aligncenter size-full wp-image-3608" title="" src="http://okpanico.files.wordpress.com/2012/02/gb.png?w=530&#038;h=67" alt="" width="530" height="67" /></a></p>
<p><strong>OK</strong>, potete <strong>andare da Gusions</strong> (fate click sul banner qui sopra) e <strong>votare</strong>. Tra tutti i partecipanti verranno estratti a sorte 3 fortunati che riceveranno assolutamente niente.</p>
<p>Ma vorrei allargare la discussione: diamo un genere a tutte queste parole, proponetene altre, le vostre preferite o detestate.</p>
<p><strong>Bonus #1</strong>: tempo fa HP Italia usava &#8220;direttorio&#8221; per &#8220;directory&#8221;. Ahemm, la Rivoluzione Francese è acqua passata e da noi &#8220;directory&#8221; si dice &#8220;elenco&#8221; o &#8220;lista&#8221; come in Unix/Linux e O.S. seri.</p>
<p><strong>Bonus #2</strong>: mi risulta, da informazioni riservate, che se ne occupa dell&#8217;argomento anche il <a href="http://tamburoriparato.blogspot.com/2012/02/post-reti-unificate.html" target="_blank">Tamburo Riparato, qui</a></p>
<br />Filed under: <a href='http://okpanico.wordpress.com/category/uncategorized/'>Uncategorized</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/okpanico.wordpress.com/3606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/okpanico.wordpress.com/3606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/okpanico.wordpress.com/3606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/okpanico.wordpress.com/3606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/okpanico.wordpress.com/3606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/okpanico.wordpress.com/3606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/okpanico.wordpress.com/3606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/okpanico.wordpress.com/3606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/okpanico.wordpress.com/3606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/okpanico.wordpress.com/3606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/okpanico.wordpress.com/3606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/okpanico.wordpress.com/3606/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/okpanico.wordpress.com/3606/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/okpanico.wordpress.com/3606/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3606&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://okpanico.wordpress.com/2012/02/12/il-sesso-della-dock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bb3480ee056dba90b6322dbc9b364f6f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">j00han</media:title>
		</media:content>

		<media:content url="http://okpanico.files.wordpress.com/2012/02/8-dock-2-300x225.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/gb.png" medium="image" />
	</item>
		<item>
		<title>nag &#8211; task manager minimale in Python</title>
		<link>http://okpanico.wordpress.com/2012/02/11/nag-task-manager-minimale-in-python/</link>
		<comments>http://okpanico.wordpress.com/2012/02/11/nag-task-manager-minimale-in-python/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 10:23:26 +0000</pubDate>
		<dc:creator>juhan</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://okpanico.wordpress.com/?p=3595</guid>
		<description><![CDATA[Jack Mottram&#8216;s nag is probably the simplest command-line task manager out there. But while this tiny Python script won&#8217;t replace a full-blown task manager, nag can come in handy for maintaining a short list of tasks with a minimum of fuss. Si trova tutto sul suo sito GitHub. Basta scaricare nag.py, rinominarlo nag, metterlo in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3595&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-3596" title="" src="http://okpanico.files.wordpress.com/2012/02/mottram.jpeg?w=530" alt=""   /></p>
<blockquote><p><strong>Jack Mottram</strong>&#8216;s <big><strong>nag</strong></big> is probably the simplest command-line task manager out there. But while this tiny Python script won&#8217;t replace a full-blown task manager, nag can come in handy for maintaining a short list of tasks with a minimum of fuss.</p></blockquote>
<p>Si trova tutto sul <a href="https://github.com/mottram/nag" target="_blank">suo sito GitHub</a>.</p>
<p><img class="aligncenter size-full wp-image-3597" title="" src="http://okpanico.files.wordpress.com/2012/02/github.png?w=530" alt=""   /><br />
Basta scaricare <strong>nag.py</strong>, rinominarlo <strong><code>nag</code></strong>, metterlo in <strong><code>~/bin</code></strong> e renderlo eseguibile con <strong><code>chmod +x nag</code></strong> e avrete un todo list manager minimale ma funzionale.</p>
<p>Restano alcuni dubbi:<br />
1) cosa vuol dire nag?<br />
tra le varie possibilità suggerite da Google Traduttore scelgo <em><strong>brontolare</strong></em>;<br />
2) perché nag?<br />
qui risponde direttamente mottram: &#8220;<em>I know the world doesn&#8217;t need yet another CLI todo list thingy, but I just finished Learning &#8216;Python the Hard Way&#8217; and wanted to try to make something</em>&#8220;.</p>
<p>Ecco, io lo uso, da oggi in poi.<br />
Sono in tutto 90 righe, praticamente perfette, non credo serva commentarle, dai sono chiarissime. Proprio a voler essere pistini a livello cosmico si potrebbe inserire dopo la prima riga questa:<br />
<strong><code># -*- coding: utf-8 -*-</code></strong><br />
così accetta anche i caratteri accentati.</p>
<p>Un&#8217;ultima osservazione, la dritta me l&#8217;ha data <a href="http://www.linux-magazine.com/Online/Blogs/Productivity-Sauce/Manage-Tasks-with-nag" target="_blank">Linux Magazine, qui</a></p>
<p>Tornando a <strong>Jack</strong> lo sapete che ha <a href="http://mottr.am/" target="_blank">un blog</a> dove trovi di tutto, tutto quello che non ti aspetteresti di trovare, per esempio questo bisonte</p>
<p><img class="aligncenter size-full wp-image-3598" title="" src="http://okpanico.files.wordpress.com/2012/02/bison.jpg?w=530" alt=""   /><br />
o il link a un&#8217;implementazione di <a href="http://demos.sftrabbit.co.uk/game-of-life/" target="_blank">life di Conway in HTML 5</a>, e questo sarebbe un altro blog da surfare <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<br />Filed under: <a href='http://okpanico.wordpress.com/category/python/'>Python</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/okpanico.wordpress.com/3595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/okpanico.wordpress.com/3595/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/okpanico.wordpress.com/3595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/okpanico.wordpress.com/3595/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/okpanico.wordpress.com/3595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/okpanico.wordpress.com/3595/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/okpanico.wordpress.com/3595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/okpanico.wordpress.com/3595/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/okpanico.wordpress.com/3595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/okpanico.wordpress.com/3595/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/okpanico.wordpress.com/3595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/okpanico.wordpress.com/3595/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/okpanico.wordpress.com/3595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/okpanico.wordpress.com/3595/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3595&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://okpanico.wordpress.com/2012/02/11/nag-task-manager-minimale-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bb3480ee056dba90b6322dbc9b364f6f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">j00han</media:title>
		</media:content>

		<media:content url="http://okpanico.files.wordpress.com/2012/02/mottram.jpeg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/github.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/bison.jpg" medium="image" />
	</item>
		<item>
		<title>SmallBASIC</title>
		<link>http://okpanico.wordpress.com/2012/02/08/smallbasic/</link>
		<comments>http://okpanico.wordpress.com/2012/02/08/smallbasic/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 10:12:09 +0000</pubDate>
		<dc:creator>juhan</dc:creator>
				<category><![CDATA[Basic]]></category>

		<guid isPermaLink="false">http://okpanico.wordpress.com/?p=3585</guid>
		<description><![CDATA[Quelli che hanno avuto la fortuna di trovarsi con l&#8217;età giusta al momento dello sboccio dei personal computer hanno un grande rimpianto: non c&#8217;è più il BASIC di una volta! Anche per quelli che non lo dicono, o a domanda negano, in realtà la pensano così. Io, purtroppo, a quella stagione non ho partecipato: ero [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3585&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-3586" title="" src="http://okpanico.files.wordpress.com/2012/02/basic.jpeg?w=530" alt=""   />Quelli che hanno avuto la fortuna di trovarsi con l&#8217;età giusta al momento dello sboccio dei personal computer hanno un grande rimpianto: <em><strong>non c&#8217;è più il </strong></em><strong>BASIC</strong><em><strong> di una volta!</strong></em><br />
<em><strong></strong></em>Anche per quelli che non lo dicono, o a domanda negano, in realtà la pensano così.</p>
<p>Io, purtroppo, a quella stagione non ho partecipato: ero troppo vecchio e avevo un &#8216;puter (allora si chiamava calcolatore, termine che ogni tanto mi scappa ancora) ben più grosso, diciamo che pesava diversi quintali e aveva ben 1/2 MegaByte di RAM. E si usava solo il FORTRAN, anche se c&#8217;erano ben due interpreti BASIC (ma se vi racconto storie su di loro rischio di far arrabbiare qualcuno, anzi diversi che sanno dove trovarmi).</p>
<p><img class="aligncenter size-full wp-image-3587" title="" src="http://okpanico.files.wordpress.com/2012/02/gw.jpeg?w=530" alt=""   /><br />
Il BASIC allora. Intanto ce n&#8217;erano diversi, molto diversi tra di loro, alcuni raffinati altri molto meno. Mi ricordo un giovane che scriveva codice a una velocità incredibile senza lasciare spazi fra le parole e mettendo le istruzioni sulla stessa riga, separate da due-punti, <strong>GOTO</strong> e <strong>GOSUB</strong> come se piovesse, poi ha lavorato anche in Microsoft. A proposito, fare un interprete BASIC dev&#8217;essere relativamente semplice, ne ha fatto uno anche Bill Gates (si dice).</p>
<p><img class="aligncenter size-full wp-image-3588" title="" src="http://okpanico.files.wordpress.com/2012/02/tb.jpeg?w=530" alt=""   /></p>
<p>Quando poi il PC IBM si è imposto il BASIC era doppio: <strong>Basica</strong> sull&#8217;IBM e <strong>GW-BASIC</strong> (quello di Bill) sui compatibili. Ma forse qualcuno si ricorda anche il <a href="http://en.wikipedia.org/wiki/Turbo_Basic" target="_blank"><strong>Turbo Basic</strong></a>, poi <strong>PowerBASIC</strong>.</p>
<p>Poi da Microsoft sono usciti <strong>QuickBasic</strong> (e <strong>QBasic</strong>) e <strong>VisualBasic</strong> prima per DOS e poi per Windows, non male quest&#8217;ultimo, la sua interfaccia grafica ha fatto scuola.</p>
<p>Poi a Redmond si sono poi convertiti al C/C++ e varianti, anche se gli adepti del Basic hanno resistito a lungo e se ne trovano ancora.</p>
<p>Tutta questa premessa per introdurre un post faticoso: l&#8217;ho riscritto più volte e è nato per via di un incontro tra vecchi, di quelli che si fanno attorno tra Natale e Capodanno.</p>
<p><img class="aligncenter size-full wp-image-3589" title="" src="http://okpanico.files.wordpress.com/2012/02/logo.png?w=530" alt=""   /><br />
Allora il mio amico, chiamiamolo Alberto, che ormai non scrive più codice ma dirige e raccomanda Java mi ha parlato di <strong>SmallBASIC</strong>, per lamentarsi che non sia portato avanti come si dovrebbe.</p>
<blockquote><p>SmallBASIC is a fast and easy to learn BASIC language interpreter ideal for everyday calculations, scripts and prototypes. SmallBASIC includes trigonometric, matrices and algebra functions, a built in IDE, a powerful string library, system, sound, and graphic commands along with structured programming syntax.</p></blockquote>
<p>Sì ha ragione, <a href="http://smallbasic.sourceforge.net/" target="_blank">SmallBASIC</a> è come il BASIC di una volta, fatto bene, c&#8217;è una comunità e un forum attivo, si possono trovare cose sorprendenti, come quest&#8217;implementazione di <a href="http://smallbasic.sourceforge.net/?q=node/1054" target="_blank">life di JH Conway</a>, scritto con la sintassi antica, probabilmente si tratta di un porting da chissà dove.</p>
<p>SmallBASIC è stato creato da <strong>Nicholas Christopoulos</strong> di cui si hanno scarse notizie: ha un suo <a href="http://wired_gr.users.sourceforge.net/" target="_blank">sito, in greco</a>.</p>
<p>Il progetto è adesso gestito da <strong>Chris Warren-Smith </strong>di Brisbane nel cui profilo Twitter si presenta come &#8220;<em>Parent, Programmer, Musician, Cyclist&#8230;</em>&#8220;.</p>
<p><img class="aligncenter size-full wp-image-3590" title="" src="http://okpanico.files.wordpress.com/2012/02/bas.jpeg?w=530" alt=""   /></p>
<p><strong>OK</strong>, adesso dovrei fare la conclusione: SmallBASIC è carino, buono ma il mondo è andato avanti. Oggi l&#8217;equivalente del BASIC è <strong>Python</strong> (secondo me) o <strong>Java</strong> (per Alberto).</p>
<p><strong>Avvertenza</strong>: Microsoft ha un basic che si chiama, indovinate come, sì, SmallBasic, non c&#8217;entra niente con SmallBASIC &#8212; vedete che tra maiuscolo e minuscolo c&#8217;è differenza anche al di fuori di Unix/Linux? <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<br />Filed under: <a href='http://okpanico.wordpress.com/category/basic/'>Basic</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/okpanico.wordpress.com/3585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/okpanico.wordpress.com/3585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/okpanico.wordpress.com/3585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/okpanico.wordpress.com/3585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/okpanico.wordpress.com/3585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/okpanico.wordpress.com/3585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/okpanico.wordpress.com/3585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/okpanico.wordpress.com/3585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/okpanico.wordpress.com/3585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/okpanico.wordpress.com/3585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/okpanico.wordpress.com/3585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/okpanico.wordpress.com/3585/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/okpanico.wordpress.com/3585/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/okpanico.wordpress.com/3585/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3585&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://okpanico.wordpress.com/2012/02/08/smallbasic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bb3480ee056dba90b6322dbc9b364f6f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">j00han</media:title>
		</media:content>

		<media:content url="http://okpanico.files.wordpress.com/2012/02/basic.jpeg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/gw.jpeg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/tb.jpeg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/logo.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/bas.jpeg" medium="image" />
	</item>
		<item>
		<title>Visto nel Web &#8211; 12</title>
		<link>http://okpanico.wordpress.com/2012/02/06/visto-nel-web-12/</link>
		<comments>http://okpanico.wordpress.com/2012/02/06/visto-nel-web-12/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 09:23:07 +0000</pubDate>
		<dc:creator>juhan</dc:creator>
				<category><![CDATA[Visto nel Web]]></category>

		<guid isPermaLink="false">http://okpanico.wordpress.com/?p=3570</guid>
		<description><![CDATA[Dopo abbondanti nevicate &#8211;comunque non i #settantacentimetri di Roma&#8211; freddo, tanto! Si sono gelati i tubi dell&#8217;acqua e sono senza riscaldamento e senz&#8217;acqua calda. Mi si stanno congelando anche i diti, chissà se riesco a finire questo post&#8230; OK, basta lamentarsi, niente panico, ecco la solita rassegna Saltare dal top al footer e viceversa in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3570&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Dopo abbondanti nevicate &#8211;comunque non i <a href="https://twitter.com/#!/search?q=%23settantacentimetri" target="_blank">#settantacentimetri</a> di Roma&#8211; freddo, tanto! Si sono gelati i tubi dell&#8217;acqua e sono senza riscaldamento e senz&#8217;acqua calda. Mi si stanno congelando anche <em>i diti</em>, chissà se riesco a finire questo post&#8230; <strong>OK</strong>, basta lamentarsi, niente panico, ecco la solita rassegna</p>
<div id="attachment_3571" class="wp-caption aligncenter" style="width: 300px"><img class="size-full wp-image-3571" title="" src="http://okpanico.files.wordpress.com/2012/02/giorni-padani.jpg?w=530" alt=""   /><p class="wp-caption-text">un po&#039; in ritardo, i ritardati mentali</p></div>
<p><strong>Saltare dal top al footer e viceversa in un click</strong><br />
Mattux rockz, lo sapete vero? altrimenti guardate qua<br />
::: <a href="http://mattuxblog.blogspot.com/2012/01/saltare-dal-top-al-footer-e-viceversa.html" target="_blank">Mattux&#8217;s</a></p>
<p><strong>Ubuntu HUD: Solving A Problem That Doesn&#8217;t Exist</strong><br />
controcorrente<br />
::: <a href="http://www.muktware.com/articles/3249/ubuntu-hud-solving-problem-doesnt-exist" target="_blank">Muktware</a></p>
<p><img class="aligncenter size-full wp-image-3572" title="" src="http://okpanico.files.wordpress.com/2012/02/awesome.gif?w=530" alt=""   /></p>
<p><strong>Why The Movie Industry Can’t Innovate and the Result is SOPA</strong><br />
::: <a href="http://steveblank.com/2012/01/04/why-the-movie-industry-cant-innovate-and-the-result-is-sopa/" target="_blank">Steve Blank</a></p>
<p><strong>I migliori IDE per Python</strong><br />
::: <a href="http://blog.html.it/30/01/2012/i-migliori-ide-per-python/" target="_blank">&lt;edit&gt;</a></p>
<p><strong>Il Mercato colpisce ancora</strong><br />
::: <a href="http://anonimoconiglio.blogspot.com/2012/01/il-mercato-colpisce-ancora.html" target="_blank">anonimoconiglio</a></p>
<p><img class="aligncenter size-full wp-image-3573" title="" src="http://okpanico.files.wordpress.com/2012/02/dsc_0359.jpg?w=530" alt=""   /></p>
<p><strong>Vuoi farti l&#8217;app per Android? Non sai programmare? Ecco come fare</strong><br />
non l&#8217;ho provato ma Silvio Gulizia è affidabile; anche se il primo commento&#8230;<br />
::: <a href="http://comunitadigitali.blogosfere.it/2011/09/programmare-per-android-senza-conoscere-codice-app-inventor-diventa-open-source.html" target="_blank">Comunità Digitali</a></p>
<p><strong>Retail Chains To Strike Back Against Online Vendors</strong><br />
::: <a href="http://news.slashdot.org/story/12/01/30/2230205/retail-chains-to-strike-back-against-online-vendors" target="_blank">Slashdot</a></p>
<p><strong>Buying a Computer</strong><br />
::: <a href="http://bradcolbow.com/archive/view/the_brads_buying_a_computer/" target="_blank">Brad Colbow</a></p>
<p><img class="aligncenter size-full wp-image-3574" title="" src="http://okpanico.files.wordpress.com/2012/02/hopeless-bull.gif?w=530" alt=""   /></p>
<p><strong>Wikipedia Chooses Lua As Its New Template Language</strong><br />
::: <a href="http://developers.slashdot.org/story/12/02/01/1429229/wikipedia-chooses-lua-as-its-new-template-language" target="_blank">Slashdot</a></p>
<p><strong>Unicode for dummies — Encoding</strong><br />
::: <a href="http://pythonconquerstheuniverse.wordpress.com/2012/02/01/unicode-for-dummies-encoding/" target="_blank">Python Conquers The Universe</a></p>
<p><img class="aligncenter size-full wp-image-3576" title="" src="http://okpanico.files.wordpress.com/2012/02/t-ifidiots-p.png?w=530" alt=""   /></p>
<p><strong>Mucche digitali</strong><br />
scampati alla vaccata fava-leghista, pare, per ora<br />
::: <a href="http://www.mantellini.it/?p=17805" target="_blank">manteblog</a></p>
<p><strong>Google Begins Country-Specific Blog Censorship</strong><br />
sempre meno liberi<br />
::: <a href="http://yro.slashdot.org/story/12/02/01/2012211/google-begins-country-specific-blog-censorship" target="_blank">Slashdot</a></p>
<p><img class="aligncenter size-full wp-image-3577" title="" src="http://okpanico.files.wordpress.com/2012/02/01.jpg?w=530" alt=""   /></p>
<p><strong>L&#8217;erba del vicino: Andiamo a dissepellire Moana Pozzi</strong><br />
non fate gli spacconi; citate solo Disney e Padre Pio<br />
::: <a href="http://blog.quintarelli.it/blog/2012/02/erba-del-vicino-andiamo-a-dissepellire-moana-pozzi.html" target="_blank">Quinta&#8217;s</a></p>
<p><strong>How to compute jinc(x)</strong><br />
programmare è difficile, quasi impossibile; se mi capitasse una cosa così penserei OK, panico!<br />
::: <a href="http://www.johndcook.com/blog/2012/02/02/how-to-compute-jincx/" target="_blank">The Endeavour</a></p>
<p><strong>Flying Robots Flip, Swarm and Move In Formation At UPenn</strong><br />
vorrei giocarci anch&#8217;io<br />
::: <a href="http://science.slashdot.org/story/12/02/02/2332222/flying-robots-flip-swarm-and-move-in-formation-at-upenn" target="_blank">Slashdot</a></p>
<p><img class="aligncenter size-full wp-image-3575" title="" src="http://okpanico.files.wordpress.com/2012/02/peeking.png?w=530" alt=""   /></p>
<p><strong>Device Production</strong><br />
Manu lavora per la concorrenza ma ha ragione da vendere<br />
::: <a href="http://www.bonkersworld.net/device-production/" target="_blank">Bonkers World</a></p>
<p><strong>Top Educational Android Apps For Kids</strong><br />
spesso capita di vedere ragazzini che mandano messaggi o giocano con il telefonino, allora ecco&#8230;<br />
::: <a href="http://www.junauza.com/2012/02/educational-android-apps-for-kids.html" target="_blank">TechSource</a></p>
<p><img class="aligncenter size-full wp-image-3578" title="" src="http://okpanico.files.wordpress.com/2012/02/07.jpg?w=530" alt=""   /></p>
<p><strong>How can I write to the second line of a file from the command line?</strong><br />
Queste cose qua mi sconvolgono. Funziona ma&#8230; Forse meriterebbero un post. O è materia di Bit3lux &amp; Lightuono?<br />
::: <a href="http://unix.stackexchange.com/questions/29790/how-can-i-write-to-the-second-line-of-a-file-from-the-command-line" target="_blank">StackExchange</a></p>
<p><strong>What five years of PC technology changed for me</strong><br />
ordinariamente impressionante; però oggi tutti girano con portatili ultra-super-mega o aggeggi che dovrebbero servire a telefonare<br />
::: <a href="http://utcc.utoronto.ca/~cks/space/blog/tech/FiveYearsPCChanges" target="_blank">Chris Siebenmann</a></p>
<p><img class="aligncenter size-full wp-image-3581" title="" src="http://okpanico.files.wordpress.com/2012/02/375407_244.jpg?w=530" alt=""   /></p>
<p><strong>OK</strong>, non sono ancora completamente congelato, quasi-quasi preparo un altro post; ma prima faccio un salto in cucina dove c&#8217;è la stufa, grande invenzione <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<br />Filed under: <a href='http://okpanico.wordpress.com/category/visto-nel-web/'>Visto nel Web</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/okpanico.wordpress.com/3570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/okpanico.wordpress.com/3570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/okpanico.wordpress.com/3570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/okpanico.wordpress.com/3570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/okpanico.wordpress.com/3570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/okpanico.wordpress.com/3570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/okpanico.wordpress.com/3570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/okpanico.wordpress.com/3570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/okpanico.wordpress.com/3570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/okpanico.wordpress.com/3570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/okpanico.wordpress.com/3570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/okpanico.wordpress.com/3570/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/okpanico.wordpress.com/3570/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/okpanico.wordpress.com/3570/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=okpanico.wordpress.com&amp;blog=13487266&amp;post=3570&amp;subd=okpanico&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://okpanico.wordpress.com/2012/02/06/visto-nel-web-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bb3480ee056dba90b6322dbc9b364f6f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">j00han</media:title>
		</media:content>

		<media:content url="http://okpanico.files.wordpress.com/2012/02/giorni-padani.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/awesome.gif" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/dsc_0359.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/hopeless-bull.gif" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/t-ifidiots-p.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/01.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/peeking.png" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/07.jpg" medium="image" />

		<media:content url="http://okpanico.files.wordpress.com/2012/02/375407_244.jpg" medium="image" />
	</item>
	</channel>
</rss>
