<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Levysoft &#187; Python</title>
	<atom:link href="http://www.levysoft.it/archivio/category/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.levysoft.it</link>
	<description>Rev0lut1on 2.0 of my mind engine</description>
	<lastBuildDate>Fri, 03 Sep 2010 10:27:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Retargeting: tecnica rivoluzionaria per il ridimensionamento intelligente delle immagini</title>
		<link>http://www.levysoft.it/archivio/2007/09/10/retargeting-tecnica-rivoluzionaria-per-il-ridimensionamento-intelligente-delle-immagini/</link>
		<comments>http://www.levysoft.it/archivio/2007/09/10/retargeting-tecnica-rivoluzionaria-per-il-ridimensionamento-intelligente-delle-immagini/#comments</comments>
		<pubDate>Mon, 10 Sep 2007 07:31:32 +0000</pubDate>
		<dc:creator>Antonio Troise</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[gimp]]></category>
		<category><![CDATA[image-resizing]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[retargeting]]></category>

		<guid isPermaLink="false">http://www.levysoft.it/archivio/2007/09/10/retargeting-tecnica-rivoluzionaria-per-il-ridimensionamento-intelligente-delle-immagini/</guid>
		<description><![CDATA[Due ricercatori israeliani, Shai Avidan e Ariel Shamir, hanno messo a punto una tecnica rivoluzionaria per il ridimensionamento intelligente delle immagini, la cui denominazione esatta è Seam Carving for Content-Aware Image Resizing, ma più semplicemente viene definita Retargeting. In pratica, questa tecnica sarebbe in grado di rilevare quali parti di un’immagine sono meno significative, escludendole, [...]]]></description>
			<content:encoded><![CDATA[<p>Due ricercatori israeliani, Shai Avidan e Ariel Shamir, hanno messo a punto una tecnica rivoluzionaria per il ridimensionamento intelligente delle immagini, la cui denominazione esatta è <strong>Seam Carving for Content-Aware Image Resizing</strong>, ma più semplicemente viene definita <strong>Retargeting</strong>. <a href="http://blog.html.it/archivi/2007/09/03/un-nuovo-metodo-per-il-ridimensionamento-delle-immagini.php">In pratica</a>, questa tecnica sarebbe in grado di rilevare quali parti di un’immagine sono meno significative, escludendole, per esempio, dopo averne ridotte le dimensioni.<br />
Ovvero quando si ridimensiona un’immagine in senso orizzontale o verticale, il software che effettua la trasformazione cerca gruppi di pixel adiacenti che possono essere rimossi senza “rovinare” l’immagine. Il contrario invece succede quando si cerca di ingrandirla, vengono cioè aggiunti pixel cercando di non alterare il tutto. L’algoritmo utilizzato è opera di <a href="http://www.faculty.idc.ac.il/arik/">Ariel Shamir</a> ed è stato presentato per la prima volta al <a href="http://www.siggraph.org/s2007/">SIGGRAPH 2007</a> di San Diego.</p>
<p>L&#8217;idea è eccezionale ma lo è stato di più la <a href="http://www.youtube.com/watch?v=vIFCV2spKtg">realizzazione di un video</a> (<a href="http://www.faculty.idc.ac.il/arik/IMRet-All.mov">disponibile anche in mpeg</a> ad alta qualità) che spiegasse il funzionamento del Retargeting, visto che uno dei due ricercatori, <a href="http://www.faculty.idc.ac.il/avidan/">Shai Avidan</a>, è stato assunto dalla Adobe un giorno dopo l’uscita del video! Probabilmente, nei menu di una delle prossime release di Photoshop, potremmo trovare traccia, subito dopo Resize e Crop, anche della voce Retarget!</p>
<div align="center">
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/qadw0BRKeMk"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/qadw0BRKeMk" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
</div>
<p>Intanto, qualcuno ha anche pensato di farne una <a href="http://blog.eikke.com/index.php/ikke/2007/09/02/seam_carving_content_aware_image_resizin">implementazione in Python</a>: basterà poco che magari potremmo ritrovarcelo anche su Gimp.</p>
<p>Se volete approfondire l&#8217;argomento, oltre che visionare il video sopra esposto, potete, oltre che a leggere l&#8217;articolo di <a href="http://blogs.adobe.com/jnack/2007/08/holy_crapworthy.html">John Nack</a> visionare <a href="http://www.faculty.idc.ac.il/arik/imret.pdf">paper PDF ufficiale</a> (da cui è stata tratta la versione in Python), potete  provare l&#8217;effetto grazie a <a href="http://swieskowski.net/carve/">questa demo</a> in Flash.</p>
<p>Inoltre su <a href="http://www.thegedanken.com/retarget/">Liquid Resize</a> trovate qualche altro esempio di retargeting e la possibilità di scaricare un prototype per Windows e Linux per provare la tecnica di retargeting.</p>
<p>Quel che è certo è che, se tali algoritmi prenderanno piedi, il fotoritocco delle immagini diverrà sempre più semplice e alla portata davvero di tutti!
<p class="akst_link"><a href="http://www.levysoft.it/?p=1593&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_1593" class="akst_share_link" rel="nofollow">Condividi</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.levysoft.it/archivio/2007/09/10/retargeting-tecnica-rivoluzionaria-per-il-ridimensionamento-intelligente-delle-immagini/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
<enclosure url="http://www.faculty.idc.ac.il/arik/IMRet-All.mov" length="17942449" type="video/quicktime" />
		</item>
		<item>
		<title>Webnote</title>
		<link>http://www.levysoft.it/archivio/2004/12/30/webnote/</link>
		<comments>http://www.levysoft.it/archivio/2004/12/30/webnote/#comments</comments>
		<pubDate>Thu, 30 Dec 2004 08:43:05 +0000</pubDate>
		<dc:creator>Antonio Troise</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.levysoft.it/archivio/2004/12/30/webnote/</guid>
		<description><![CDATA[Webnote è una interessante applicazione web gratuita che utilizza Python lato server e Javascript nel browser per creare note virtuali liberamente editabili, che vengono salvate su una base dati relazionale sul server e possono essere esportate via XML. Come tutte le applicazioni Javascript di ultima generazione (come Gmail), anche Webnote usa l&#8217;oggetto XMLHttpRequest per le [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.levysoft.it/images/p177_webnote.jpg" alt="WebNote" /><a href="http://www.aypwip.org/webnote/">Webnote</a> è una interessante applicazione web gratuita che utilizza Python lato server e Javascript nel browser per creare note virtuali liberamente editabili, che vengono salvate su una base dati relazionale sul server e possono essere esportate via XML. Come tutte le applicazioni Javascript di ultima generazione (come Gmail), anche Webnote usa l&#8217;oggetto XMLHttpRequest per le comunicazioni tra browser e server.<br />
Ecco l&#8217;esempio per un <a href="http://www.aypwip.org/webnote/load.py?name=LevySoft&#038;time=%3Cbr+%2F%3E2004-12-30+03%3A37%3A59">workspace</a>.<br />
<span id="more-177"></span></p>
<p>Come vedete potete è possibile creare delle note del colore e delle dimensioni volute. Inoltre è possibile sovrapporle e filtrarle per colore o per testo contenuto e condividere le webnote attraverso un link xml.<br />
Una versione estesa di webnote è disponibile sul sito di <a href="http://www.hermanitosverdes.com/webnote2/hv_board">hermanitosverdes.com</a> in cui è possibile inserire anche le immagini.</p>
<p class="akst_link"><a href="http://www.levysoft.it/?p=177&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_177" class="akst_share_link" rel="nofollow">Condividi</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.levysoft.it/archivio/2004/12/30/webnote/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Python</title>
		<link>http://www.levysoft.it/archivio/2004/12/16/python/</link>
		<comments>http://www.levysoft.it/archivio/2004/12/16/python/#comments</comments>
		<pubDate>Wed, 15 Dec 2004 22:09:46 +0000</pubDate>
		<dc:creator>Antonio Troise</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.levysoft.it/archivio/2004/12/16/python/</guid>
		<description><![CDATA[Tra i miei linguaggi preferiti (Perl, Php e Visual Basic) si sta insinuando piano piano anche un piccolo serpente verde: Python.
Ero alla ricerca di informazioni sulla programmazione ad oggetti e cercavo qualche linguaggio che potesse illuminarmi in materia ma neanche tediarmi con la compilazione e con una sintassi complicata. Inutile dire che la mia scelta [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.levysoft.it/images/p169_python.jpg" alt="Python" />Tra i miei linguaggi preferiti (Perl, Php e Visual Basic) si sta insinuando piano piano anche un piccolo serpente verde: <a href="http://www.python.it/">Python</a>.<br />
Ero alla ricerca di informazioni sulla programmazione ad oggetti e cercavo qualche linguaggio che potesse illuminarmi in materia ma neanche tediarmi con la compilazione e con una sintassi complicata. Inutile dire che la mia scelta è caduta su Python piuttosto che su Java.<br />
<span id="more-169"></span></p>
<p><strong>Storia</strong><br />
Python è stato creato da Guido Van Rossum, ricercatore di Amsterdam che avendo lavorato ad un progetto di un linguaggio di programmazione con fini didattici di nome ABC, è riuscito a trasferire questa conoscenza in python.<br />
Il nome del linguaggio non ha niente a che spartire con il rettile. Guido Van Rossum oltre ad essere un informatico, è anche un fan del &#8220;Monty Python&#8217;s Flying Circus&#8221;, una serie televisiva apparsa sulla BBC negli anni &#8216;70. Un giorno, mentre pensava ad un nome che fosse breve, unico ed un po&#8217; misterioso, gli capitò di leggere dei copioni della serie&#8230; e così decise di chiamare Python il linguaggio da lui creato.</p>
<p><strong>Cosa è</strong><br />
Python viene definito un linguaggio di scripting interpretato, interattivo e  orientato agli oggetti. In realtà esso permette sia la programmazione tradizionale (procedurale) che il nuovo paradigma ad oggetti. Quindi python si inquadra nei linguaggi ibridi, come il C++.</p>
<p>Siccome Python è free, in ambiente Windows Python potrebbe anche sostituire Visual Basic, liberandosi da tutti i problemi di licenza.<br />
Inoltre, siccome è stato scritto in ANSI C, è estremamente portabile. Questo ha permesso di scrivere presto un interprete python per le principali piattaforme. Esiste un interprete python per Unix, Linux, MS-DOS, MS-Windows (95,98, NT e 2000), Macintosh, Amiga, BeOS, OS/2, VMS, QNX.<br />
Recentemente è stato scritto un interprete anche in java e anche per sistemi Palmari.</p>
<p>Pensando al fatto che Python è un linguaggio interpretato non è detto che sia lento: infatti python &#8220;compila&#8221; il proprio codice in un bytecode molto efficiente. Questo permette di raggiungere prestazioni vicine ai linguaggi in codice nativo. Inoltre python implementa molte strutture dati e funzioni come componente intrinseca del linguaggio. Queste strutture sono dette &#8220;built-in types and tools&#8221; e sono state sviluppate con accurata efficienza.<br />
Python è anche ricco di librerie. Solo la dotazione standard offre numerose librerie alle quali si aggiungono moduli di terze parti che crescono continuamente.<br />
In internet si trova materiale relativo a HTML, PDF, XML, formati grafici, CGI e perfino interi web servers.</p>
<p>Inoltre, analogamente a cio&#8217; che avviene in Java, in python esiste il meccanismo di &#8220;garbage collection&#8221;, ovvero gestisce la memoria automaticamente.<br />
I vantaggi di questa gestione sono molteplici: p.es. non ci sono limiti ad un numero intero (oltre 32 bit con crescita in base alle esigenze), purchè sia seguito da un carattere &#8220;L&#8221; o &#8220;l&#8221; e in base al valore python alloca la memoria necessaria (ricordo ancora il mio primo script python che calcolava all&#8217;infinito la Serie di Fibonacci: con mia grande meraviglia non terminava mai!).</p>
<p>In python non è necessario definire le variabili prima di utilizzarle, non è necessario nemmeno assegnare ad esse un tipo. Il tutto avviene implicitamente mediante l&#8217;istruzione di assegnamento (=), esattamente come avveniva nel vecchio BASIC e in PHP.</p>
<p>Infine, Python presenta una sintassi pulita e sintetica. <code>L'idea migliore è rappresentata dalla indentazione, che non serve più al programmatore per ordinare meglio il codice, ma diventa l'unico strumento per strutturare il codice</code>.<br />
E&#8217; solo l&#8217;indentazione che permette di strutturare le istruzioni di condizionamento (if else) e quelle dei cicli iterativi (for in, while): non esistono parole che delimitano l&#8217;inizio e la fine di un blocco (le parentesi graffe del C o begin e end del Pascal).<br />
Questo permette, ovviamente, un apprendimento più veloce e una maggiore facilità a leggere il codice scritto da altri.</p>
<p>Per completare devo anche ricordare che sono assenti i delimitatori di istruzione (p.es, per il php, il punto e virgola alla fine di ogni istruzione): questo permette una scrittura più veloce del codice e una minore possibilità di errore (quante volte mi dimenticavo di inserirli e passavo molti minuti in un frustrante debugging!).</p>
<p>Tutte queste caratteristiche stanno convincendo molti grandi attori del mercato informatico ad utilizzare python.<br />
Per citarne alcuni:<br />
- Red Hat ha implementato in python il proprio tool di installazione.<br />
- Infoseek usa python nei propri prodotti per la ricerca sul web.<br />
- Yahoo! ha sviluppato in python alcuni servizi di internet.<br />
- La NASA usa python per implementare i sistemi di controllo delle proprie missioni. </p>
<p class="akst_link"><a href="http://www.levysoft.it/?p=169&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_169" class="akst_share_link" rel="nofollow">Condividi</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.levysoft.it/archivio/2004/12/16/python/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
