<?xml 
version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="es">
	<title>NqN/webs ::: Dise&#241;o, Desarrollo y Hosting de sitios web</title>
	<link>http://www.nqnwebs.com/</link>
	
	<language>es</language>
	<generator>SPIP - www.spip.net</generator>




<item xml:lang="es">
		<title>Mantener el scroll vertical de wx.ListCtrl abajo</title>
		<link>http://nqnwebs.com/blog/article/mantener-el-scroll-vertical-de-wx</link>
		<guid isPermaLink="true">http://nqnwebs.com/blog/article/mantener-el-scroll-vertical-de-wx</guid>
		<dc:date>2010-07-13T14:31:58Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>martin</dc:creator>


		<dc:subject>Python</dc:subject>

		<description>Un t&#237;pico uso de un ListCtrl es usarlo para mostrar un Log de la aplicaci&#243;n que muestra mensajes al usuario, similar a lo que puede hacer la barra de estada, pero con la ventaja (complementaria, si se quiere), de mantener un historial de los eventos ocurridos. En tal caso, primero, hay una decisi&#243;n de dise&#241;o que hacer: &#191;los nuevos mensajes se agregan al inicio (como un blog) o al final de la lista (como los comentarios) ? No s&#233; si existe una respuesta can&#243;nica a la cuesti&#243;n, pero (...)

-
&lt;a href="http://nqnwebs.com/blog/" rel="directory"&gt; Blog&lt;/a&gt;

/ 
&lt;a href="http://nqnwebs.com/mot/python" rel="tag"&gt;Python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Un t&#237;pico uso de un &lt;code class='spip_code' dir='ltr'&gt;ListCtrl&lt;/code&gt; es usarlo para mostrar un Log de la aplicaci&#243;n que muestra mensajes al usuario, similar a lo que puede hacer la barra de estada, pero con la ventaja (complementaria, si se quiere), de mantener un historial de los eventos ocurridos.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_100 spip_documents spip_documents_center'&gt;
&lt;img src='http://nqnwebs.com/local/cache-vignettes/L500xH112/log-b3171.jpg' width='500' height='112' alt=&quot;&quot; style='height:112px;width:500px;' /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;En tal caso, primero, hay una decisi&#243;n de dise&#241;o que hacer: &#191;los nuevos mensajes se agregan al inicio (como un blog) o al final de la lista (como los comentarios) ?&lt;/p&gt; &lt;p&gt;No s&#233; si existe una respuesta can&#243;nica a la cuesti&#243;n, pero infiriendo (de los pelos) el sentido de lectura occidental (de izquierda a derecha y de arriba hacia abajo) decid&#237; que &quot;un nuevo contenido&quot; debe estar abajo del anterior.&lt;/p&gt; &lt;p&gt;Eso trae aparejado un nuevo problema: si se agrega un nuevo item a ListCtrl al final y ya hay m&#225;s de los que caben en el espacio visible del control, el &#250;ltimo (el m&#225;s importante) no se ver&#225; en pantalla y el usuario deber&#237;a hacer un scroll hasta el final para verlo. Es decir, para un panel de Log, el scroll vertical siempre deber&#237;a mantenerse abajo.&lt;/p&gt; &lt;p&gt;Por suerte no hay que liarse con generar eventos programaticamente, ni manipular el scroll, ni obtener dimensiones del widget. He aqu&#237; una soluci&#243;n &lt;i&gt;&quot;fits your brain&quot;&lt;/i&gt;: el m&#233;todo &lt;a href='http://www.wxpython.org/docs/api/wx.ListCtrl-class.html' class='spip_out' rel='external'&gt;EnsureVisible(index)&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Por ejemplo:&lt;/p&gt; &lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_python code&quot;&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;def&lt;/span&gt; OnAppendLog&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;self&lt;/span&gt;, msg&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:&lt;br /&gt; ico = &lt;span style=&quot;color: #008000;&quot;&gt;self&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;icon_map&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;msg.&lt;span style=&quot;color: black;&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt; message = msg.&lt;span style=&quot;color: black;&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt; index = &lt;span style=&quot;color: #008000;&quot;&gt;self&lt;/span&gt;.&lt;span style=&quot;color: #008000;&quot;&gt;list&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;InsertImageStringItem&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #dc143c;&quot;&gt;sys&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;maxint&lt;/span&gt;, message, ico&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: #008000;&quot;&gt;self&lt;/span&gt;.&lt;span style=&quot;color: #008000;&quot;&gt;list&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;SetStringItem&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;index, &lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #dc143c;&quot;&gt;time&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;strftime&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;'%H:%M:%S'&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: #008000;&quot;&gt;self&lt;/span&gt;.&lt;span style=&quot;color: #008000;&quot;&gt;list&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;EnsureVisible&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;index&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#keep scroll at bottom&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Al agregar un nuevo mensaje de log, obtenemos el &#237;ndice y wx nos asegura que la fila con ese &#237;ndice estar&#225; visible en pantalla.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="es">
		<title>Preparados, listos... en un rato</title>
		<link>http://nqnwebs.com/blog/article/preparados-listos-en-un-rato</link>
		<guid isPermaLink="true">http://nqnwebs.com/blog/article/preparados-listos-en-un-rato</guid>
		<dc:date>2010-07-13T13:51:43Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>martin</dc:creator>


		<dc:subject>Python</dc:subject>

		<description>Hace aproximadamente dos meses que estoy trabajando en lo que ser&#225; mi proyecto final, para recibir el t&#237;tulo de ingeniero en computaci&#243;n. El proyecto es una aplicaci&#243;n de uso &quot;cient&#237;fico y acad&#233;mico&quot; implementada en Python que sirve para obtener diagramas de equilibro termodin&#225;mico entre fases fluidas de sistemas binarios. Toda la batahola est&#225; en este repo. En concreto, el proyecto se circunscribe a la generaci&#243;n y [an&#225;lisis sint&#225;ctico] de archivos de texto con el que la aplicaci&#243;n se (...)

-
&lt;a href="http://nqnwebs.com/blog/" rel="directory"&gt; Blog&lt;/a&gt;

/ 
&lt;a href="http://nqnwebs.com/mot/python" rel="tag"&gt;Python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Hace aproximadamente dos meses que estoy trabajando en lo que ser&#225; mi proyecto final, para recibir el t&#237;tulo de &lt;a href='http://computacion.efn.uncor.edu/' class='spip_out' rel='external'&gt;ingeniero en computaci&#243;n&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;El proyecto es una aplicaci&#243;n de uso &quot;cient&#237;fico y acad&#233;mico&quot; implementada en Python que sirve para obtener diagramas de equilibro termodin&#225;mico entre fases fluidas de sistemas binarios. Toda la batahola est&#225; en &lt;a href='http://code.google.com/p/gpec2010' class='spip_out' rel='external'&gt;este repo&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;En concreto, el proyecto se circunscribe a la generaci&#243;n y [an&#225;lisis sint&#225;ctico] de archivos de texto con el que la aplicaci&#243;n se comunica con los programas que implementan los algoritmos de c&#225;lculo, que est&#225;n implementados en Fortran, y son, literalmente, unas cajas negras. [&lt;a href='#nb1' class='spip_note' rel='footnote' title='que no es la manera m&#225;s eficiente de interfacear Fortran y Python, lo s&#233;, (...)' id='nh1'&gt;1&lt;/a&gt;]. Se procesan esos archivos para obtener arrays con los que se plotean las distintas curvas.&lt;/p&gt; &lt;p&gt;Utilizo principalmente &lt;a href='http://wxpython.org/' class='spip_out' rel='external'&gt;wxPython&lt;/a&gt;, &lt;a href='http://matplotlib.sourceforge.net/' class='spip_out' rel='external'&gt;Matplotlib&lt;/a&gt; y &lt;a href='http://numpy.sourceforge.net/' class='spip_out' rel='external'&gt;Numpy&lt;/a&gt;. Vale destacar, ya que mucho de un trabajo final es documentaci&#243;n, que escribo en &lt;a href='http://docutils.sourceforge.net/rst.html' class='spip_out' rel='external'&gt;restructuredText&lt;/a&gt;, renderizando con &lt;a href='http://sphinx.pocoo.org/' class='spip_out' rel='external'&gt;Sphinx&lt;/a&gt; y el genial &lt;a href='http://code.google.com/p/rst2pdf/' class='spip_out' rel='external'&gt;rst2pdf&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Esta perorata para contar que ir&#233; apuntando en este abandonado blog (no m&#225;s que &lt;a href='http://www.textosypretextos.com.ar/' class='spip_out' rel='external'&gt;el otro&lt;/a&gt;, y en general, el resto de mi vida) algunos descubrimientos inform&#225;ticos y de otro tipo, si es que ocurren, en el desarrollo de este proyecto.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;p&gt;[&lt;a href='#nh1' id='nb1' class='spip_note' title='Notas 1' rev='footnote'&gt;1&lt;/a&gt;] que no es la manera m&#225;s eficiente de interfacear Fortran y Python, lo s&#233;, pero las cajas negras son impenetrables&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="es">
		<title>Un gran lenguaje, una gran comunidad</title>
		<link>http://nqnwebs.com/blog/article/un-gran-lenguaje-una-gran</link>
		<guid isPermaLink="true">http://nqnwebs.com/blog/article/un-gran-lenguaje-una-gran</guid>
		<dc:date>2010-03-24T03:44:28Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>martin</dc:creator>


		<dc:subject>Python</dc:subject>

		<description>Python es un gran lenguaje de programaci&#243;n, y como tal se merece la comunidad que tiene, donde expertos y novatos se sienten parte.

-
&lt;a href="http://nqnwebs.com/blog/" rel="directory"&gt; Blog&lt;/a&gt;

/ 
&lt;a href="http://nqnwebs.com/mot/python" rel="tag"&gt;Python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Python es un gran lenguaje de programaci&#243;n, y como tal se merece &lt;a href='http://python.org.ar/' class='spip_out' rel='external'&gt;la comunidad que tiene&lt;/a&gt;, donde expertos y novatos se sienten parte.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_96 spip_documents spip_documents_center'&gt;
&lt;img src='http://nqnwebs.com/local/cache-vignettes/L500xH29/pyar-11b12.jpg' width='500' height='29' alt=&quot;&quot; style='height:29px;width:500px;' /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="es">
		<title>Monetizar pagos virtuales en Argentina sin costo </title>
		<link>http://nqnwebs.com/blog/article/monetizar-pagos-virtuales-en</link>
		<guid isPermaLink="true">http://nqnwebs.com/blog/article/monetizar-pagos-virtuales-en</guid>
		<dc:date>2009-12-02T23:34:05Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>martin</dc:creator>


		<dc:subject>Python</dc:subject>
		<dc:subject>Empresa</dc:subject>

		<description>Para los trabajadores online freelance (programadores, dise&#241;adores, traductores, etc) trabajar para el exterior es un objetivo primordial. Aunque en algunos sectores la competencia es leonina y se pauperizan los honorarios, el tipo de cambio del peso respecto a otra monedas fuertes hace que siga siendo muy provechoso. En traducci&#243;n, que tiene un sistema de presupuesto lineal basado en cantidad de palabras del texto del idioma origen, es f&#225;cil cuantificar la diferencia. En Argentina se (...)

-
&lt;a href="http://nqnwebs.com/blog/" rel="directory"&gt; Blog&lt;/a&gt;

/ 
&lt;a href="http://nqnwebs.com/mot/python" rel="tag"&gt;Python&lt;/a&gt;, 
&lt;a href="http://nqnwebs.com/mot/empresa" rel="tag"&gt;Empresa&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Para los trabajadores online freelance (programadores, dise&#241;adores, traductores, etc) trabajar para el exterior es un objetivo primordial. Aunque en algunos sectores la competencia es leonina y se pauperizan los honorarios, el tipo de cambio del peso respecto a otra monedas fuertes hace que siga siendo muy provechoso.&lt;/p&gt; &lt;p&gt;En traducci&#243;n, que tiene un sistema de presupuesto lineal basado en cantidad de palabras del texto del idioma origen, es f&#225;cil cuantificar la diferencia. En Argentina se cobra entre $0,10 y $0,15 (pesos argentinos) por palabra, mientras que en europa se cobra entre 0.05 &#8364; y 0.07&#8364;. O sea, se gana hasta el triple por realizar el mismo trabajo.&lt;/p&gt; &lt;p&gt;El problema, al menos desde Argentina, es cobrar. Aqu&#237; comparto mi experiencia esperando ayudar a otros.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;De Adsense a la billetera&lt;/h3&gt;
&lt;p&gt;&lt;span class='spip_document_92 spip_documents spip_documents_left' style='float:left; width:114px;'&gt;&lt;img src='http://nqnwebs.com/local/cache-vignettes/L114xH42/google-adsenf60e-93be1.jpg' width='114' height='42' alt=&quot;&quot; style='height:42px;width:114px;' /&gt;&lt;/span&gt; Una forma simple y r&#225;pida pero bastante onerosa es &lt;a href='http://www.westernunion.com/' class='spip_out' rel='external'&gt;Western Union&lt;/a&gt;. Es un servicio de transferencias de dinero persona a persona (f&#237;sica o jur&#237;dica), con sedes en casi todo el mundo. Tiene dos tipos de servicio: Quick Cash y 24 horas.&lt;/p&gt; &lt;p&gt;Western Union tiene multiples instancias de lucro, que lo vuelven un ser. Se le cobra entre el 2.5 y 5% al emisor (desde Europa a Argentina el l&#237;mite de transferencia es 500&#8364;) y adem&#225;s, el receptor cobra en moneda local a un tipo de cambio definido por WU que siempre est&#225; entre un 3 y 6% por debajo del tipo de cambio del dia. Sobre todo los d&#237;as que hay corridas en suba, el tipo de cambio queda desfasado (tiene una actualizaci&#243;n muy lenta) y es un mal momento para cobrar.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_91 spip_documents spip_documents_right' style='float:right; width:114px;'&gt;&lt;img src='http://nqnwebs.com/local/cache-vignettes/L114xH77/Western-Unioa5aa-91e5e.jpg' width='114' height='77' alt=&quot;&quot; style='height:77px;width:114px;' /&gt;&lt;/span&gt; Existe una forma de salvar este cargo solapado para el receptor: si el env&#237;o es tipo Quick Cash y en d&#243;lares estadounidenses, se puede retirar en d&#243;lares en los locales Western Union de los supermercados &lt;strong&gt;Walmart&lt;/strong&gt; (que es el representante oficial de WU en Argentina). Este servicio no tiene costo para el receptor.&lt;/p&gt; &lt;p&gt;Esto es muy &#250;til para quienes utilizan &lt;strong&gt;Google Adsense&lt;/strong&gt; en sus sitios web, ya que Google ofrece este servicio de pago. Basta anotar el n&#250;mero de transferencia (MCU) y documento en mano aclarar en Wester Union de Walmart que queremos cobrar en d&#243;lares.&lt;/p&gt; &lt;p&gt;Mucho m&#225;s f&#225;cil, r&#225;pido y sin perder un sope que pedir el cheque y venderlo en una financiera.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Cobrar del extranjero&lt;/h3&gt;
&lt;p&gt;&lt;span class='spip_document_90 spip_documents spip_documents_left' style='float:left; width:200px;'&gt;&lt;img src='http://nqnwebs.com/local/cache-vignettes/L200xH50/paypal_logog8b6f-21423.gif' width='200' height='50' alt=&quot;&quot; style='height:50px;width:200px;' /&gt;&lt;/span&gt; Internacionalmente est&#225; casi estandarizado el uso de &lt;a href='http://www.paypal.com/' class='spip_out' rel='external'&gt;Paypal&lt;/a&gt; como medio de pago de honorarios (y casi cualquier otro tipo de transacci&#243;n en internet) pero este sistema no tiene integraci&#243;n con el sistema bancario argentino lo cual complica la tarea de monetizar los fondos.&lt;/p&gt; &lt;p&gt;Adem&#225;s, un usuario no puede cargar cr&#233;dito a su cuenta paypal con una tarjeta de cr&#233;dito, aunque esta sea v&#225;lida internacionalmente. Un detalle que complica a quienes quieren comprar o donar en el extranjero.&lt;/p&gt; &lt;p&gt;Sin embargo, Paypal sigue siendo interesante para todos los que necesitamos cobrar desde el extranjero. Adem&#225;s de facilitarle la vida al emisor (cliente) que seguramente ya est&#225; acostumbrado a este sistema, &lt;strong&gt;la transferencia entre cuentas paypal personales no tiene costo&lt;/strong&gt;. Esto significa que si el cliente tiene una cuenta paypal con fondos (que en la mayor&#237;a de los paises pudo haber cargado con tarjeta o desde su cuenta bancaria sin costo) la transacci&#243;n total es gratuita. Adem&#225;s, la operaci&#243;n es instant&#225;nea.&lt;/p&gt; &lt;p&gt;Si el cliente envia el dinero a trav&#233;s de paypal pero habiendolo cargado desde una cuenta bancaria o tarjeta de cr&#233;dito espec&#237;ficamente para dicha transacci&#243;n, el costo de la operanci&#243;n es 3,4% + 0,30 USD. El emisor decide quien abona este cargo.&lt;/p&gt; &lt;p&gt;Una observaci&#243;n importante es que predeterminadamente las cuentas PayPal son en una moneda principal (en d&#243;lares estadounidenses para Argentina) y al recibir un pago en otra moneda (euros, por ejemplo) la conversi&#243;n de divisa se realiza al tipo de cambio del d&#237;a con una retenci&#243;n del 2.5%. El tipo de cambio es actualizado 2 veces por d&#237;a.&lt;/p&gt; &lt;p&gt;Una s&#243;luci&#243;n es abrir cuentas en distintas monedas. En vez de convertir el pago a la divisa principal, se mantiene en nuestra cuenta en la moneda en que se recibi&#243;. Cuando necesitamos realizar un pago o transferencia en esta moneda, nos ahorraremos tener que reconvertirla nuevamente (ahorrando un 5% en total). Claro que a la hora de monetizar los fondos se deber&#225;n convertir, pero esto se puede hacer en cualquier momento que creamos conveniente.&lt;/p&gt; &lt;p&gt;Paypal aclara que ofrece este servicio (Multiples divisas) para facilitar el comercio electr&#243;nico internacional y no debe utilizarse con fines especulativos. Pero los timberos decidir&#225;n.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;De Paypal a la billetera&lt;/h3&gt;
&lt;dl class='spip_document_89 spip_documents spip_documents_right' style='float:right;width:150px;'&gt;
&lt;dt&gt;&lt;a href=&quot;http://nqnwebs.com/IMG/gif/logo_xoomgif23e5.gif&quot; title='GIF - 1.2 KB' type=&quot;image/gif&quot;&gt;&lt;img src='http://nqnwebs.com/local/cache-vignettes/L150xH29/logo_xoomgif23e5-fd895-3a10a.png' width='150' height='29' alt='GIF - 1.2 KB' style='height:29px;width:150px;' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;/dl&gt;
&lt;p&gt; Pero, como dec&#237;a un amigo, la plata no es plata hasta que no sirve para comprar fernet en la despensa.&lt;/p&gt; &lt;p&gt;Como dije m&#225;s arriba, no se puede asociar una cuenta bancaria argentina una cuenta Paypal (ni para a&#241;adir ni para retirar fondos). Esto deja como &#250;nica alternativa oficial para retirar fondos el envio de un cheque.&lt;/p&gt; &lt;p&gt;Paypal envia un cheque via correo postal certificado por el monto que solicitemos con un costo de u$s 15 fijo, independientemente del monto retirado. El env&#237;o para Argentina se realiza a trav&#233;s de Ocasa, y tiene una demora aproximada de 10 d&#237;as h&#225;biles.&lt;/p&gt; &lt;p&gt;El problema es que este cheque tampoco se puede cobrar en ning&#250;n banco, por lo que hay que venderlo en una financiera o agencia de viajes, que cobran una comisi&#243;n de entre el 2 y el 5%.&lt;/p&gt; &lt;p&gt;Por suerte existe &lt;a href='http://www.xoom.com/' class='spip_out' rel='external'&gt;xoom.com&lt;/a&gt;. Es un servicio de transferencia de dinero que intenta competir con Western Union, pero a diferencia de este, la operaci&#243;n se realiza &#250;nicamente online, el destino puede ser una cuenta bancaria argentina o efectivo en pesos o d&#243;lares, y, hete aqu&#237; la clave, &lt;strong&gt;el origen de los fondos puede ser una cuenta Paypal. &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Problema solucionado: nos hacemos una transferencia a nosotros mismos, retirando fondos de Paypal y enviandolos a nuestra cuenta bancaria, o mejor, en d&#243;lares que se cobran en cualquier sucursal de Banco Franc&#233;s.&lt;/p&gt; &lt;p&gt;A diferencia de Wester Union, los cargos de servicio no son porcentuales fijos sino que &lt;a href='https://www.xoom.com/sendmoneynow/money-transfer-fees' class='spip_out' rel='external'&gt;est&#225;n tabulados en rangos&lt;/a&gt; del monto enviado lo que significa un ahorro considerable en montos grandes. Para cifras montos menores a u$s500, el costo de servicio ronda le 4.5%&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_93 spip_documents spip_documents_left' style='float:left; width:85px;'&gt;&lt;img src='http://nqnwebs.com/local/cache-vignettes/L85xH85/Banco-Francecef9-62220.jpg' width='85' height='85' alt=&quot;&quot; style='height:85px;width:85px;' /&gt;&lt;/span&gt; Adem&#225;s hay que considerar que al cobrar en pesos, Xoom realiza una conversi&#243;n de divisa a un tipo de cambio que, al igual que Wester Union, est&#225; un par de puntos por debajo de la cotizaci&#243;n de mercado. La opci&#243;n de cobrar en dolares evita esta p&#233;rdida, pero tiene un cargo de servicio un 40% mayor, lo que significa un costo de operaci&#243;n real del m&#225;s de 6%.&lt;/p&gt; &lt;p&gt;&lt;span class='spip_document_94 spip_documents spip_documents_right' style='float:right; width:119px;'&gt;&lt;img src='http://nqnwebs.com/local/cache-vignettes/L119xH30/RMNlogopng-33050-8dd22.jpg' width='119' height='30' alt=&quot;&quot; style='height:30px;width:119px;' /&gt;&lt;/span&gt; Pero hay una forma de salvar esta plata, que convertida a pesos seguramente significar&#225;n varios fern&#233;s: &lt;strong&gt;conseguir un c&#243;digo de descuento&lt;/strong&gt;. &lt;a href='http://www.retailmenot.com/view/xoom.com' class='spip_out' rel='external'&gt;Retailmenot&lt;/a&gt; suele tener cupones v&#225;lidos, &#161;de hasta el 100%!&lt;/p&gt; &lt;p&gt;Conclusi&#243;n: si cobramos desde Paypal (entre cuentas personales) y retiramos los fondos a trav&#233;s de Xoom.com en d&#243;lares consiguiendo un cup&#243;n del 100%, tendremos toda nuestra platita en el bolsillo, en d&#243;lares y sin perder nada en el camino.&lt;/p&gt; &lt;p&gt;&#161;Espero sirva!&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="es">
		<title>Learning Python, 4th Edition</title>
		<link>http://nqnwebs.com/blog/article/learning-python-4th-edition</link>
		<guid isPermaLink="true">http://nqnwebs.com/blog/article/learning-python-4th-edition</guid>
		<dc:date>2009-09-29T17:19:41Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>martin</dc:creator>


		<dc:subject>Python</dc:subject>

		<description>Learning Python de Mark Lutz, ha sido, desde su primera versi&#243;n en 1999, uno de los libros de cabecera para aprender Python. Hace unos d&#237;as sali&#243; la 4ta edici&#243;n, adaptada a las versiones 2.6 y 3.1 de Python y ampliada en varios cap&#237;tulos. Lamentablemente, tardar&#225; mucho en llegar a la librer&#237;as argentinas, pero pod&#233;s ir leyendo la versi&#243;n en PDF. Learning Python 4th Edition by Mark Lutz, OReilly (...)

-
&lt;a href="http://nqnwebs.com/blog/" rel="directory"&gt; Blog&lt;/a&gt;

/ 
&lt;a href="http://nqnwebs.com/mot/python" rel="tag"&gt;Python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;span class='spip_document_87 spip_documents spip_documents_left' style='float:left; width:250px;'&gt;
&lt;img src='http://nqnwebs.com/local/cache-vignettes/L250xH326/Pantallazo-3-7c37a.png' width='250' height='326' alt=&quot;&quot; style='height:326px;width:250px;' /&gt;&lt;/span&gt; &lt;a href='http://oreilly.com/catalog/9780596158071/' class='spip_out' rel='external'&gt;Learning Python&lt;/a&gt; de &lt;a href='http://www.rmi.net/~lutz/' class='spip_out' rel='external'&gt;Mark Lutz&lt;/a&gt;, ha sido, desde su primera versi&#243;n en 1999, uno de los libros de cabecera para aprender Python.&lt;/p&gt; &lt;p&gt;Hace unos d&#237;as sali&#243; la 4ta edici&#243;n, adaptada a las versiones 2.6 y 3.1 de Python y ampliada en varios cap&#237;tulos.&lt;/p&gt; &lt;p&gt;Lamentablemente, tardar&#225; mucho en llegar a la librer&#237;as argentinas, pero pod&#233;s ir leyendo la versi&#243;n en PDF.&lt;/p&gt; &lt;dl class='spip_document_88 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;a href=&quot;http://nqnwebs.com/IMG/pdf/OReilly-Learning-Python-4th-Edition-Oct-2009.pdf&quot; title='PDF - 7.3 MB' type=&quot;application/pdf&quot;&gt;&lt;img src='http://nqnwebs.com/local/cache-vignettes/L52xH52/pdf-eb697.png' width='52' height='52' alt='PDF - 7.3 MB' style='height:52px;width:52px;' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='crayon document-titre-88 spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;Learning Python 4th Edition&lt;/strong&gt;&lt;/dt&gt;
&lt;dd class='crayon document-descriptif-88 spip_doc_descriptif' style='width:120px;'&gt;by Mark Lutz, OReilly Oct-2009
&lt;/dd&gt;
&lt;/dl&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="es">
		<title>Project Euler, Problema #2</title>
		<link>http://nqnwebs.com/blog/article/project-euler-problema-2</link>
		<guid isPermaLink="true">http://nqnwebs.com/blog/article/project-euler-problema-2</guid>
		<dc:date>2009-09-20T23:37:47Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>martin</dc:creator>


		<dc:subject>Python</dc:subject>

		<description>El problema n&#186; 2 pide obtener la suma de todos los n&#250;meros impares pertenencientes a la sucesi&#195;&#179;n de Fibonacci menores a 4 millones. El c&#243;digo con el que lo resolv&#237; es este: def fibo&amp;#40;max&amp;#41;: a, b = 0, 1 n = a + b while n &lt; max: yield n a, b = b, n n = a + b sum&amp;#40;&amp;#91;i

-
&lt;a href="http://nqnwebs.com/blog/" rel="directory"&gt; Blog&lt;/a&gt;

/ 
&lt;a href="http://nqnwebs.com/mot/python" rel="tag"&gt;Python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;El &lt;a href='http://projecteuler.net/index.php?section=problems&amp;id=2' class='spip_out' rel='external'&gt;problema n&#186; 2&lt;/a&gt; pide obtener la suma de todos los n&#250;meros impares pertenencientes a la &lt;a href='http://es.wikipedia.org/wiki/sucesi%C3%B3n_de_Fibonacci' class='spip_glossaire' rel='external'&gt;sucesi&#195;&#179;n de Fibonacci&lt;/a&gt; menores a 4 millones.&lt;/p&gt; &lt;p&gt;El c&#243;digo con el que lo resolv&#237; es este:&lt;/p&gt; &lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_python code&quot;&gt;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;def&lt;/span&gt; fibo&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:&lt;br /&gt; a, b = &lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;&lt;br /&gt; n = a + b&lt;br /&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;while&lt;/span&gt; n &lt;span style=&quot;color: #66cc66;&quot;&gt;&lt;&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;max&lt;/span&gt;:&lt;br /&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;yield&lt;/span&gt; n&lt;br /&gt; a, b = b, n&lt;br /&gt; n = a + b&lt;br /&gt;
&lt;span style=&quot;color: #008000;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;i &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; fibo&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;4000000&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; i&lt;span style=&quot;color: #66cc66;&quot;&gt;%&lt;/span&gt;2 == &lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;div class='code_download' style='text-align: right;'&gt; &lt;a href='http://nqnwebs.com/local/cache-code/e351514923e72bd75ac1b4c9e4d51de2.txt' style='font-family: verdana, arial, sans; font-weight: bold; font-style: normal;'&gt;Subir&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;El resultado es 4613732.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Explicaci&#243;n&lt;/h3&gt;
&lt;p&gt;Fibonacci es el &quot;hola mundo matem&#225;tico&quot; y Python luce su elegancia con este problema.&lt;/p&gt; &lt;p&gt;El aspecto interesante de la funci&#243;n &lt;strong&gt;fibo()&lt;/strong&gt; definida en el c&#243;digo de arriba es que no se trata de una funci&#243;n com&#250;n sino de un generador. Sint&#225;cticamente la diferencia est&#225; en que no utiliza la sentencia &lt;strong&gt;return&lt;/strong&gt; sino &lt;strong&gt;&lt;a href='http://docs.python.org/reference/simple_stmts.html#the-yield-statement' class='spip_out' rel='external'&gt;yield&lt;/a&gt;&lt;/strong&gt; .&lt;/p&gt; &lt;p&gt;La definici&#243;n de &lt;i&gt;&lt;a href='http://www.wordreference.com/definition/yield' class='spip_out' rel='external'&gt;yield&lt;/a&gt;&lt;/i&gt;. en su acepci&#243;n de verbo, dice &#171;end resistance, especially under pressure or force;&#187;. Ceder, no oponer resistencia.&lt;/p&gt; &lt;p&gt;La diferencia sustancial entre un yield y un return es que el yield devuelve el resultado parcial de cada iteraci&#243;n y hace una &quot;marca de entrada&quot; desde donde se comenzar&#225; a ejecutar la pr&#243;xima vez que la funci&#243;n (el generador) sea invocado.&lt;/p&gt; &lt;p&gt;Esto permite una recursividad con &quot;&lt;a href='http://en.wikipedia.org/wiki/Lazy_evaluation' class='spip_out' rel='external'&gt;evaluaci&#243;n perezosa&lt;/a&gt;&quot;, mucho m&#225;s eficiente en t&#233;rminos computacionales.&lt;/p&gt; &lt;p&gt;El Filtrado de los numeros impares de la sucesi&#243;n y la sumatoria es la misma soluci&#243;n que se apliqu&#233; en el &lt;a href='http://nqnwebs.com/blog/article/resolviendo-project-euler-con' class='spip_in'&gt;problema 1&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="es">
		<title>Resolviendo Project Euler con Python</title>
		<link>http://nqnwebs.com/blog/article/resolviendo-project-euler-con</link>
		<guid isPermaLink="true">http://nqnwebs.com/blog/article/resolviendo-project-euler-con</guid>
		<dc:date>2009-09-18T08:48:15Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>martin</dc:creator>


		<dc:subject>Python</dc:subject>

		<description>A trav&#233;s del blog de Juanjo Conti descubr&#237; Project Euler, una serie de desaf&#237;os matem&#225;ticos de enunciaci&#243;n sencilla para resolver con computadoras. Juanjo estuvo resolviendo los primeros problemas, y yo quise hacer mi intento. El primero plantea obtener la suma de todos los multiplos de 3 o de 5 menores a 1000. Lo resolv&#237; con esta pythonica (lo es?) l&#237;nea: sum&amp;#40;&amp;#91;i for i in range&amp;#40;1000&amp;#41; if &amp;#40;i % 3 == 0 or i % 5==0&amp;#41;&amp;#93;&amp;#41; El resultado es 233168. Breve explicaci&#243;n (...)

-
&lt;a href="http://nqnwebs.com/blog/" rel="directory"&gt; Blog&lt;/a&gt;

/ 
&lt;a href="http://nqnwebs.com/mot/python" rel="tag"&gt;Python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;A trav&#233;s del blog de &lt;a href='http://www.juanjoconti.com.ar/' class='spip_out' rel='external'&gt;Juanjo Conti&lt;/a&gt; descubr&#237; &lt;a href='http://projecteuler.net/' class='spip_out' rel='external'&gt;Project Euler&lt;/a&gt;, una serie de desaf&#237;os matem&#225;ticos de enunciaci&#243;n sencilla para resolver con computadoras.&lt;/p&gt; &lt;p&gt;Juanjo estuvo resolviendo los primeros problemas, y yo quise hacer mi intento. &lt;a href='http://projecteuler.net/index.php?section=problems&amp;id=1' class='spip_out' rel='external'&gt;El primero&lt;/a&gt; plantea obtener la suma de todos los multiplos de 3 o de 5 menores a 1000.&lt;/p&gt; &lt;p&gt;Lo resolv&#237; con esta pythonica (lo es?) l&#237;nea:&lt;/p&gt; &lt;div class=&quot;coloration_code&quot;&gt;&lt;div class=&quot;spip_python code&quot;&gt;&lt;span style=&quot;color: #008000;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;i &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;1000&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;i &lt;span style=&quot;color: #66cc66;&quot;&gt;%&lt;/span&gt; &lt;span style=&quot;color: #ff4500;&quot;&gt;3&lt;/span&gt; == &lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;or&lt;/span&gt; i &lt;span style=&quot;color: #66cc66;&quot;&gt;%&lt;/span&gt; &lt;span style=&quot;color: #ff4500;&quot;&gt;5&lt;/span&gt;==&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;El resultado es 233168.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Breve explicaci&#243;n&lt;/h3&gt;
&lt;p&gt;Se basa en el uso de &lt;a href='http://docs.python.org/tutorial/datastructures.html#list-comprehensions' class='spip_out' rel='external'&gt;list comprehensions&lt;/a&gt;, una de las &quot;joyas de la corona&quot; de las caracter&#237;sticas de Python.&lt;/p&gt; &lt;p&gt;Es una manera de generar listas de una manera concisa, compuesta por una expresi&#243;n seguida de uno a m&#225;s &lt;strong&gt;for&lt;/strong&gt; y una condicionalidad al final&lt;/p&gt; &lt;p&gt;La lista &lt;strong&gt;
[i for i in range(1000) if (i % 3 == 0 or i % 5==0)]&lt;/strong&gt; se lee as&#237;: crear una lista con todos los elementos (expresi&#243;n i) en el rango de 0 a 999 (for) cuyo resto de dividirlo por 3 o 5 sea 0 (if).&lt;/p&gt; &lt;p&gt;La funci&#243;n builtin &lt;strong&gt;sum()&lt;/strong&gt; hace la sumatoria de esa lista y... listo. ;-)&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="es">
		<title>El N&#250;mero, mi primer juego</title>
		<link>http://nqnwebs.com/blog/article/el-numero-mi-primer-juego</link>
		<guid isPermaLink="true">http://nqnwebs.com/blog/article/el-numero-mi-primer-juego</guid>
		<dc:date>2009-04-25T01:37:28Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>martin</dc:creator>


		<dc:subject>Python</dc:subject>

		<description>Para suscribirse a la lista de Pyar, una de las tareas (opcional, pero muy bienvenida) es enviar tu &quot;Hola Mundo&quot;. El 17 de enero de 2007 yo me suscrib&#237; y mand&#233; el siguiente mensaje. Estimada gente: Cumpliendo solemnemente con el paso 2 de las indicaciones de suscripci&#243;n a la lista, haciendo alarde de mi nerdismo, les dejo mi &quot;hola mundo&quot; (mi primero programa en python!). Se trata de humilde juego via consola que implemento en cada lenguaje en el que intento incursionar. Hete aqui: (...)

-
&lt;a href="http://nqnwebs.com/blog/" rel="directory"&gt; Blog&lt;/a&gt;

/ 
&lt;a href="http://nqnwebs.com/mot/python" rel="tag"&gt;Python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Para suscribirse a la lista de &lt;a href='http://python.org.ar/pyar/ListaDeCorreo' class='spip_out' rel='external'&gt;Pyar&lt;/a&gt;, una de las tareas (opcional, pero muy bienvenida) es enviar tu &quot;Hola Mundo&quot;.&lt;/p&gt; &lt;p&gt;El 17 de enero de 2007 yo me suscrib&#237; y mand&#233; el siguiente mensaje.&lt;/p&gt; &lt;blockquote class=&quot;spip&quot;&gt;
&lt;p&gt;
Estimada gente:&lt;/p&gt; &lt;p&gt;Cumpliendo solemnemente con el paso 2 de las indicaciones de suscripci&#243;n a la lista, haciendo alarde de mi nerdismo, les dejo mi &quot;hola mundo&quot; (mi primero programa en python!). Se trata de humilde juego via consola que implemento en cada lenguaje en el que intento incursionar. Hete aqui:&lt;/p&gt; &lt;p&gt;Dicha sea la verdad: vengo con muchas ganas de aprender, y por ahora muy poco que aportar (pago solidaridad con sinceridad).&lt;/p&gt; &lt;p&gt;Decidir aprender un nuevo lenguaje es una gran decisi&#243;n y creo que no me he equivocado con mi elecci&#243;n. Es que son mis primeros pinitos en la programaci&#243;n orientada a objetos, y aunque la facu exige Java (pero no ense&#241;a Java), creo que Python es una herramienta mucho mas versatil, accesible y apropiada para el nivel de software que tengo intenci&#243;n/necesidad de desarrollar.&lt;/p&gt; &lt;p&gt;Ahora la parte aburrida. Me llamo Martin, soy de Neuquen y estudio Ingenieria en computacion en Cordoba. Soy programador PHP (uno del mont&#243;n, que bah) y en particular laburo con un CMS/framework llamado &lt;a href='http://www.spip.net/' class='spip_out' rel='external'&gt;SPIP&lt;/a&gt;, que me da de comer y beber. Tengo un weblog, aunque no sobre cuestiones t&#233;cnicas. &lt;a href='http://www.textosypretextos.com.ar/' class='spip_out' rel='external'&gt;www.textosypretextos.com.ar&lt;/a&gt; . Y lo m&#225;s importante: soy hincha de boca.&lt;/p&gt; &lt;p&gt;saludos desde Neuqu&#233;n a 32&#186;C. (quien dijo que en el sur hace frio?)&lt;/p&gt; &lt;p&gt;Mart&#237;n&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mi &quot;Hola Mundo&quot; fue &lt;strong&gt;El N&#250;mero&lt;/strong&gt;.&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Mi primer juego&lt;/h3&gt;
&lt;p&gt;El N&#250;mero es un juego de l&#243;gica y habilidad mental. Consiste en encontrar el n&#250;mero escondido (generado aleatoriamente) a trav&#233;s de la informaci&#243;n&lt;/p&gt; &lt;p&gt;que brinda la m&#225;quina en cada intento. El n&#250;mero escondido tiene 4 cifras no repetidas.&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://nqnwebs.com/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; Un digito &lt;i&gt;'bien'&lt;/i&gt; significa que el hay un acierto en n&#250;mero y posici&#243;n.&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://nqnwebs.com/local/cache-vignettes/L8xH11/puce-32883.gif&quot; width='8' height='11' class='puce' alt=&quot;-&quot; style='height:11px;width:8px;' /&gt; Un digito &lt;i&gt;'regular'&lt;/i&gt; significa que el digito existe en el n&#250;mero inc&#243;gnita, pero no est&#225; en la posici&#243;n correcta.&lt;/p&gt; &lt;p&gt;Por ejemplo si el numero inc&#243;gnita fuese el 1234 y se arriesga el 2031 el resultado ser&#225; de dos d&#237;gitos regulares (el 2 y el 1) y 1 d&#237;gito bien (el 3).&lt;/p&gt; &lt;h3 class=&quot;spip&quot;&gt;Descarga e instrucciones&lt;/h3&gt;
&lt;dl class='spip_document_83 spip_documents spip_documents_center'&gt;
&lt;dt&gt;&lt;a href=&quot;http://nqnwebs.com/IMG/zip/elnumero.py-3.zip&quot; title='Zip - 2 KB' type=&quot;application/zip&quot;&gt;&lt;img src='http://nqnwebs.com/local/cache-vignettes/L52xH52/zip-2bcd4.png' width='52' height='52' alt='Zip - 2 KB' style='height:52px;width:52px;' /&gt;&lt;/a&gt;&lt;/dt&gt;
&lt;dt class='crayon document-titre-83 spip_doc_titre' style='width:120px;'&gt;&lt;strong&gt;El N&#250;mero&lt;/strong&gt;&lt;/dt&gt;
&lt;dd class='crayon document-descriptif-83 spip_doc_descriptif' style='width:120px;'&gt;Mart&#237;n Gait&#225;n - Enero de 2007
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Sobre Linux pod&#233;s copiar y pegar este listado de comandos en la consola:&lt;/p&gt; &lt;form action='' method='get'&gt;&lt;div&gt;
&lt;input type='hidden' name='exec' value='' /&gt;
&lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre' dir='ltr'&gt;wget http://nqnwebs.com/IMG/zip/elnumero.py-3.zip
unzip elnumero.py-3.zip
chmod +x ./elnumero.py
./elnumero.py&lt;/textarea&gt;&lt;/div&gt;&lt;/form&gt; &lt;p&gt;Sobre Windows, asegurate tener instalado Python (cualquier versi&#243;n &lt; 3) y dale hac&#233; doble click sobre &lt;i&gt;elnumero.py&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&#161;Que lo disfrutes!&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="es">
		<title>Una introducci&#243;n a Python</title>
		<link>http://nqnwebs.com/blog/article/una-introduccion-a-python</link>
		<guid isPermaLink="true">http://nqnwebs.com/blog/article/una-introduccion-a-python</guid>
		<dc:date>2009-03-10T04:56:54Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>es</dc:language>
		<dc:creator>martin</dc:creator>


		<dc:subject>Python</dc:subject>

		<description>Python es un lenguaje de programaci&#243;n interpretado, interactivo y multiplataforma, que con su facilidad y potencia hace las delicias de miles de programadores (y sin saberlo, tambi&#233;n de los usuarios de los programas que estos desarrollan) alrededor del mundo. La comunidad de Python Argentina es particularmente activa, solidaria y muy capaz t&#233;cnicamente. Esta charla fue dada por Facundo Batista, uno de los fundadores de PyAr, en las 7mas Jornada Regionales de Software Libre realizadas en (...)

-
&lt;a href="http://nqnwebs.com/blog/" rel="directory"&gt; Blog&lt;/a&gt;

/ 
&lt;a href="http://nqnwebs.com/mot/python" rel="tag"&gt;Python&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;a href='http://python.org/' class='spip_out' rel='external'&gt;Python&lt;/a&gt; es un lenguaje de programaci&#243;n interpretado, interactivo y multiplataforma, que con su facilidad y potencia hace las delicias de miles de programadores (y sin saberlo, tambi&#233;n de los usuarios de los programas que estos desarrollan) alrededor del mundo.&lt;/p&gt; &lt;p&gt;La comunidad de &lt;a href='http://www.python.com.ar/' class='spip_out' rel='external'&gt;Python Argentina&lt;/a&gt; es particularmente activa, solidaria y muy capaz t&#233;cnicamente.&lt;/p&gt; &lt;p&gt;Esta charla fue dada por &lt;a href='http://www.taniquetil.com.ar/plog/' class='spip_out' rel='external'&gt;Facundo Batista&lt;/a&gt;, uno de los fundadores de PyAr, en las &lt;a href='http://jornadas.grulic.org.ar/7/' class='spip_out' rel='external'&gt;7mas Jornada Regionales de Software Libre&lt;/a&gt; realizadas en C&#243;rdoba, Argentina, en 2007.&lt;/p&gt; &lt;p&gt;Aqu&#237; la presentaci&#243;n&lt;/p&gt; &lt;object style=&quot;margin:0px&quot; width=&quot;510&quot; height=&quot;405&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=2007080915-au-090309123408-phpapp01&amp;stripped_title=introduccin-a-python&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed src=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=2007080915-au-090309123408-phpapp01&amp;stripped_title=introduccin-a-python&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;510&quot; height=&quot;405&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;p&gt;Si te interesa saber un poco m&#225;s, &lt;a href='http://www.python.org/download/' class='spip_out' rel='external'&gt;instala Python&lt;/a&gt; en tu computadora (en caso de que no est&#233; ya instalado, claro) y lee el &lt;a href='http://python.org.ar/pyar/Tutorial' class='spip_out' rel='external'&gt;tutorial&lt;/a&gt;. Luego pod&#233;s ver las &lt;a href='http://python.org.ar/pyar/AprendiendoPython' class='spip_out' rel='external'&gt;recomendaciones de la comunidad para saber como seguir&lt;/a&gt;. Y por supuesto, &#161;inscribite en &lt;a href='http://python.com.ar/pyar/ListaDeCorreo' class='spip_out' rel='external'&gt;la lista de correo&lt;/a&gt;!&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="http://nqnwebs.com/IMG/mp3/IntroduccionPython-FacundoBatista.mp3" length="40927272" type="audio/mpeg" />
		

	</item>



</channel>

</rss>
