<?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>Will Code for Food &#187; Python</title>
	<atom:link href="http://nibblesmx.dimono.com/archives/category/programacion/python/feed" rel="self" type="application/rss+xml" />
	<link>http://nibblesmx.dimono.com</link>
	<description>blah, blah, blah...</description>
	<lastBuildDate>Mon, 28 Dec 2009 15:57:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Google App Engine</title>
		<link>http://nibblesmx.dimono.com/archives/306</link>
		<comments>http://nibblesmx.dimono.com/archives/306#comments</comments>
		<pubDate>Sun, 13 Apr 2008 23:34:19 +0000</pubDate>
		<dc:creator>nibblesmx</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[app engine]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://nibblesmx.dimono.com/?p=306</guid>
		<description><![CDATA[Google App Engine, es un proyecto que se habia estado cocinando en Google desde el pasado junio.
Es una plataforma de desarrollo que ofrece todo lo necesario para la creacion de una aplicacion web. Aqui lo interesante no es tanto el servicio de hosting (500MB de espacio, y ~ 5 Millones de hits por mes), sino [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/appengine/">Google App Engine</a>, es un proyecto que se habia estado cocinando en Google desde el pasado junio.</p>
<p>Es una plataforma de desarrollo que ofrece todo lo necesario para la creacion de una aplicacion web. Aqui lo interesante no es tanto el servicio de hosting (500MB de espacio, y ~ 5 Millones de hits por mes), sino las herramientas que ofrecen para el desarrollo. </p>
<p>Google ofrece sus propias herramientas (las de uso interno) para que la creacion de aplicaciones sobre su plataforma sea rapida, escalable, y de facil administracion. Entre las herramientas para el desarrollo (y que son parte del stack de la plataforma) son <a href="http://labs.google.com/papers/bigtable.html">BigTable</a>, <a href="http://labs.google.com/papers/gfs.html">GFS</a> y <a href="http://www.djangoproject.com/">Django</a>.</p>
<p>Este servicio viene a competir directamente con los servicios de <a href="http://www.amazon.com/">Amazon</a> para desarrolladores, que ya tiene mucho tiempo en la escena (<a href="http://www.amazon.com/gp/browse.html?node=201590011">EC2</a>, <a href="http://www.amazon.com/SimpleDB-AWS-Service-Pricing/b/ref=sc_fe_l_2?ie=UTF8&#038;node=342335011&#038;no=3440661&#038;me=A36L942TSJ2AJA">SimpleDB</a> y <a href="http://www.amazon.com/gp/browse.html?node=16427261">S3</a>).</p>
<p>Aqui lo interesante, y lo que mucha gente esta pensando es que google no te ofrece mucha versatilidad en las opciones de desarrollo sobre su plataforma. A mi muy humilde punto de vista:</p>
<p><strong>Lo Bueno</strong></p>
<ul>
<li>Python como lenguaje de desarrollo (existen peticiones para incluir otros lenguajes)</li>
<li>Django como framework de desarrollo</li>
<li>Herramientas de desarrollo de Google, que han probado ser muy *MUY* robustas</li>
<li>Facil integracion de los otros servicios de Google como autenticacion de usuarios, o email mediante APIs</li>
<li>Hosting gratuito, con un espacio considerablemente bueno</li>
</ul>
<p><strong>Lo Malo</strong></p>
<ul>
<li>Solamente 10,000 invitaciones, las cuales se extinguieron a los 5 minutos</li>
</ul>
<p>Ya para rematar, Guido van Rossum en el lanzamiento de Google App Engine:</p>
<p><object width="320" height="280"><param name="movie" value="http://qik.com/player.swf?streamname=1cc92dcc32eb451e90f30cd02295de7c&#038;vid=51365&#038;playback=false&#038;polling=false&#038;user=scobleizer&#038;userlock=true&#038;islive=&#038;username=anonymous" ></param><param name="wmode" value="transparent" ></param><param name="allowScriptAccess" value="always" ><embed src="http://qik.com/player.swf?streamname=1cc92dcc32eb451e90f30cd02295de7c&#038;vid=51365&#038;playback=false&#038;polling=false&#038;user=scobleizer&#038;userlock=true&#038;islive=&#038;username=anonymous" type="application/x-shockwave-flash" wmode="transparent" width="320" height="280" allowScriptAccess="always"></embed></param></object></p>
]]></content:encoded>
			<wfw:commentRss>http://nibblesmx.dimono.com/archives/306/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyPasswd</title>
		<link>http://nibblesmx.dimono.com/archives/210</link>
		<comments>http://nibblesmx.dimono.com/archives/210#comments</comments>
		<pubDate>Sun, 25 Feb 2007 22:38:27 +0000</pubDate>
		<dc:creator>nibblesmx</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://nibblesmx.dimono.com/archives/210</guid>
		<description><![CDATA[Cuando entre al primer anio de prepa, nos dieron un password a cada alumno para poder utilizar los servicios del centro de computo de la preparatoria. El password era bueno, tenia una longitud mayor a los 10 caracteres y mezclaba numeros y letras mayusculas y minusculas. Rapidamente me aprendi el password de memoria, y lo [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando entre al primer anio de prepa, nos dieron un password a cada alumno para poder utilizar los servicios del centro de computo de la preparatoria. El password era bueno, tenia una longitud mayor a los 10 caracteres y mezclaba numeros y letras mayusculas y minusculas. Rapidamente me aprendi el password de memoria, y lo empeze a utilizar en varios lugares de internet.</p>
<p>Ultimamente, por varios motivos, le he tenido que &#8220;prestar&#8221; mi password a unas cuantas personas, para que usen algunos de los servicios con los que cuento. Esas personas tienen toda mi confianza, pero de todas maneras, como cualquier persona que se ha criado en la internet, tengo cierto nivel de paranoia. Se que el tener el mismo password para muchos lugares es malo, pero siempre tuve flojera de tener que manejar muchos passwords diferentes.</p>
<p>Hoy he decidido acabar con 2 problemas que he tenido desde hace tiempo:</p>
<ol>
<li>Terminar con el problema del mismo password para muchas paginas</li>
<li>Aprender de una vez por todas PyGTK con todas las de la ley haciendo un proyecto de mas de 100 lineas</li>
</ol>
<p>Este proyecto se llamara PyPasswd. Ya tengo varios &#8220;drafts&#8221; mentales del que y del como del programa. Probablemente ustedes ya se imaginaran que tipo de programa sera este, y tal vez ya existan soluciones en linux que me resuelvan mis problemas, pero es algo que quiero hacer, y creo que tengo la capacidad de hacerlo. Por el momento, por fin pude hacer algo que siempre habia querido: <strong>Un TrayIcon!!!</strong></p>
<pre><code>
import gtk
from egg.trayicon import TrayIcon

#Creamos el widget del TrayIcon
ti = TrayIcon("Programa")
#Nuestro icono sera una linda estrellita
img = gtk.Image()
img.set_from_stock(gtk.STOCK_ABOUT, gtk.ICON_SIZE_SMALL_TOOLBAR)
#Se la agregamos al widget del TrayIcon y mostramos todo
ti.add(img)
ti.show_all()
gtk.main()
</code></pre>
<p>Bueno, pues tengo mucho por hacer, y mucho por leer. Seguire reportando <img src='http://nibblesmx.dimono.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://nibblesmx.dimono.com/archives/210/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>bug en rola.py corregido</title>
		<link>http://nibblesmx.dimono.com/archives/75</link>
		<comments>http://nibblesmx.dimono.com/archives/75#comments</comments>
		<pubDate>Wed, 15 Feb 2006 18:38:45 +0000</pubDate>
		<dc:creator>nibblesmx</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://nibblesmx.dimono.com/?p=75</guid>
		<description><![CDATA[Como algunas personas saben, uno de mis hackergotchis es rola.py, un plugin para xchat que te permite controlar tu reproductor de audio (XMMS o BMP) y mostrar la rola que estas escuchando, la cual es una idea original de Gnuget. Bueno, hace como un mes, le habia agregado una funcion extra, que muestra la duracion [...]]]></description>
			<content:encoded><![CDATA[<p>Como algunas personas saben, uno de mis hackergotchis es rola.py, un plugin para xchat que te permite controlar tu reproductor de audio (XMMS o BMP) y mostrar la rola que estas escuchando, la cual es una idea original de Gnuget. Bueno, hace como un mes, le habia agregado una funcion extra, que muestra la duracion de la rola que estas escuchando, pero hoy me di cuenta que tenia un bugcillo.</p>
<p>Cuando tienes una cancion en donde los segundos son menores a 10 (p.ej. una rola que dure 3:09) el plugin mostraba algo como 3:91, lo cual no es una medida de tiempo valida (XD). HardBit me ayudo a rastrear el bug, y ya quedo corregido.</p>
<p>Click <a href="http://nibblesmx.dimono.com/archivos/rola.tar.gz">aqui</a> para bajar una version de rola.py con el problema corregido. </p>
]]></content:encoded>
			<wfw:commentRss>http://nibblesmx.dimono.com/archives/75/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Inaugurando seccion</title>
		<link>http://nibblesmx.dimono.com/archives/74</link>
		<comments>http://nibblesmx.dimono.com/archives/74#comments</comments>
		<pubDate>Tue, 14 Feb 2006 03:44:34 +0000</pubDate>
		<dc:creator>nibblesmx</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://nibblesmx.dimono.com/?p=74</guid>
		<description><![CDATA[Lo prometido es deuda, y en Will Code for Food inauguramos la seccion de Documentos, con el tutorial Escribiendo aplicaciones para GTK+ con Python y Glade
La nueva seccion puede ser accedida desde abajo del header. Modifique un poco el tema de wordpress para mostrar las paginas sin el sidebar y ademas que el espacio a [...]]]></description>
			<content:encoded><![CDATA[<p>Lo prometido es deuda, y en Will Code for Food inauguramos la seccion de Documentos, con el tutorial <a href="http://nibblesmx.dimono.com/index.php?page_id=69">Escribiendo aplicaciones para GTK+ con Python y Glade</a></p>
<p>La nueva seccion puede ser accedida desde abajo del header. Modifique un poco el tema de wordpress para mostrar las paginas sin el sidebar y ademas que el espacio a lo ancho fuera de 550 px en lugar de 450. Tons ya se puede leer mejor. Espero sus sugerencias sobre el articulo, y si tienen articulos o tutoriales que les gustaria publicar, comuniquense conmigo y con mucho gusto los pongo en la seccion.</p>
<p>Ah! se me olvidaba&#8230; Para colorear el codigo de HTML del documento, baje un programa de un foro brasileÃ±o. No se quien es el autor, pero lo modifique un poco para que aceptara mas palabras clave y le cambie unos colores por defecto. Tambien lo modifique para que generara codigo XHTML (en vez de usar etiquetas font usa span) y utilize la etiqueta code en vez de un font face. Esta hecho en TKinter, por lo que debe funcionar en windows y en linux sin necesidad de nada extra. Como tampoco tenia nombre, aqui les dejo:</p>
<ul>
<li><a href="http://nibblesmx.dimono.com/archivos/py2html.py.tar.gz">py2html</a> (autor desconocido, licencia desconocida, modificaciones por nibblesmx)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://nibblesmx.dimono.com/archives/74/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>otra mas de SARAPE</title>
		<link>http://nibblesmx.dimono.com/archives/28</link>
		<comments>http://nibblesmx.dimono.com/archives/28#comments</comments>
		<pubDate>Thu, 29 Dec 2005 03:15:08 +0000</pubDate>
		<dc:creator>nibblesmx</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SARAPE]]></category>

		<guid isPermaLink="false">http://nibblesmx.dimono.com/blog/?p=28</guid>
		<description><![CDATA[El desarrollo de esta aplicacion se esta volviendo adictiva&#8230; Llevo 3 dias de desvelos y de estar pegado a la computadora casi todo el dia, leyendo el tutorial de PyGTK, asi como la documentacion y el PyGTK FAQ, asi como las referencias del devhelp y muchas cosas mas.
Es adictivo porque empiezo a comprender como funcionan [...]]]></description>
			<content:encoded><![CDATA[<p>El desarrollo de esta aplicacion se esta volviendo adictiva&#8230; Llevo 3 dias de desvelos y de estar pegado a la computadora casi todo el dia, leyendo el <a href="http://pygtk.org/pygtk2tutorial/index.html">tutorial de PyGTK</a>, asi como la <a href="http://pygtk.org/pygtk2reference/index.html">documentacion</a> y el <a href="http://www.async.com.br/faq/pygtk/index.py?req=index">PyGTK FAQ</a>, asi como las referencias del devhelp y muchas cosas mas.</p>
<p>Es adictivo porque empiezo a comprender como funcionan muchas cosas de GNOME (mejor dicho, GTK) que veo en muchos programas que utilizo todos los dias, y me dan ganas de experimentar y hacer cosas bien locas, pero el proyecto va primero.</p>
<p>Tengo que admitir que la estructura de la interfaz del uploader esta basadas en gran parte de <a href="http://glimmr.sourceforge.net/">Glimmr</a>, pero realmente SARAPE esta creado from scratch.</p>
<p><u>Cosas que ya tiene/hace:</u></p>
<ul>
<li>Importar Imagenes</li>
<li>Importar Carpetas</li>
<li>Filtro de imagenes*</li>
<li>Edicion de titulo y descripcion inline (tipo excel)</li>
<li>Borrar imagenes de la lista</li>
<li>Autentificacion (web-based flickr compliant)</li>
<li>Upload</li>
</ul>
<p>*Cuando seleccionas varios archivos o importas una carpeta, SARAPE automaticamente descarta todos los que no son imagenes, eso es el filtro de imagenes</p>
<p><u>Cosas que aun no hace/necesitan mejorar:</u></p>
<ul>
<li>Llamadas asincronas, o por threads</li>
<li>Mejorar interfaz de autentificacion</li>
<li>Mostrar status de cada transaccion en la barra de status</li>
<li>Funcionalidad en el progressbar del upload</li>
<li>Chequeo de tokens, y asignar de permisos</li>
</ul>
<p>Me dio mucho gusto ver que el FlickrAPI y SARAPE se integran a la perfeccion (al menos, no me dio ninguna sorpresa). Si quieren ver las pocas imagenes del proceso de desarrollo de este programilla, <a href="http://flickr.com/photos/nibblesmx/sets/1682747/">aqui les dejo un link</a> a mi set de SARAPE en Flickr (las fotos de SARAPE fueron subidas con SARAPE, jejeje)</p>
]]></content:encoded>
			<wfw:commentRss>http://nibblesmx.dimono.com/archives/28/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Christmas release</title>
		<link>http://nibblesmx.dimono.com/archives/31</link>
		<comments>http://nibblesmx.dimono.com/archives/31#comments</comments>
		<pubDate>Tue, 27 Dec 2005 03:41:49 +0000</pubDate>
		<dc:creator>nibblesmx</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SARAPE]]></category>

		<guid isPermaLink="false">http://nibblesmx.dimono.com/blog/?p=31</guid>
		<description><![CDATA[Post editado el 25 de diciembre de 2005:
Estoy en San Buenaventura, Coahuila con la familia de mi esposa. Ayer fue nochebuena, y hubo muchos regalos (no para mi&#8230;) pero a mi hijo le dieron muchas cosas muy bonitas,
Estoy leyendo mucho sobre PyGTK y Glade, y ya estoy empezando el diseÃ±o de la interfaz para SARAPE. [...]]]></description>
			<content:encoded><![CDATA[<p>Post editado el 25 de diciembre de 2005:</p>
<p>Estoy en San Buenaventura, Coahuila con la familia de mi esposa. Ayer fue nochebuena, y hubo muchos regalos (no para mi&#8230;) pero a mi hijo le dieron muchas cosas muy bonitas,</p>
<p>Estoy leyendo mucho sobre PyGTK y Glade, y ya estoy empezando el diseÃ±o de la interfaz para SARAPE. Es mucho mas sencillo diseÃ±ar la interfaz en Glade y luego agregarle funcionalidad en PyGTK, aunque de todas maneras tengo que leer la documentacion completa de PyGTK para saber que metodos tiene cada widget, pero definitivamente es mas sencillo de esta manera.</p>
<p>Encontre un uploader para flickr escrito en C# para linux, que se llama glimmr, no he podido hacerlo funcionar, pero tiene algunas cosas que se me hicieron interesantes de la interfaz grafica que tal vez incorpore a SARAPE (la creacion de thumbnails para las fotografias seleccionadas, ademas de mostrarlas en un treeview, que te da la opcion de editar sus datos (titulo, descripcion, etc) desde la misma fila.</p>
<p>Voy a mandarle un mail a micampe, un italiano que hizo un API para Flickr, y un uploader. Su API esta muy bien diseÃ±ada, pero le falta soporte para muchos metodos y su uploader tiene algunas cosas interesantes (arrastras la imagen a la ventana, y la muestra con un fade in). El motivo principal del mail es para preguntarle sobre la autentificacion desde la misma aplicacion, porque ahorita SARAPE hace autentificacion via Web como lo marca la documentacion, pero pienso que seria mas util para el usuario iniciar sesion desde la aplicacion. Asi puede tener perfiles diferentes, sin la necesidad de iniciar un navegador cada vez que quiera usar el programa.</p>
<p><b>NOTA</b><br />
Por favor, si son usuarios de Flickr y usan linux, les pido de favor que hagan un wishlist de lo que les gustaria que hiciera SARAPE, y lo escriban en los comentarios. Cualquier cosa, desde consejos de interfaz, hasta funcionalidad de edicion de fotos esta sumamente agradecida.</p>
<p>Voy a seguir la filosofia de Eric Raymond &#8220;Release early, release often&#8221; asi que si la funcionalidad que ustedes escribieron no esta incluida todavia, tal vez va a ser incluida en la proxima version, asi que por favor&#8230; Escriban su wishlist!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://nibblesmx.dimono.com/archives/31/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dia productivo</title>
		<link>http://nibblesmx.dimono.com/archives/34</link>
		<comments>http://nibblesmx.dimono.com/archives/34#comments</comments>
		<pubDate>Mon, 19 Dec 2005 01:10:19 +0000</pubDate>
		<dc:creator>nibblesmx</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SARAPE]]></category>

		<guid isPermaLink="false">http://nibblesmx.dimono.com/blog/?p=34</guid>
		<description><![CDATA[Ayer no tenia nada que hacer y convoque una reunion de desarrollo de SARAPE.
Total, el hacking session duro toda la tarde en donde hicimos muchisimas optimizaciones al codigo que ya teniamos. Leyendo la documentacion nos dimos cuenta que habia varios metodos que necesitaban hacer el request de tipo POST sobre REST, y nosotros no lo [...]]]></description>
			<content:encoded><![CDATA[<p>Ayer no tenia nada que hacer y convoque una reunion de desarrollo de SARAPE.</p>
<p>Total, el hacking session duro toda la tarde en donde hicimos muchisimas optimizaciones al codigo que ya teniamos. Leyendo la documentacion nos dimos cuenta que habia varios metodos que necesitaban hacer el request de tipo POST sobre REST, y nosotros no lo habiamos tomado en cuenta. Gracias a $DEITY que tenemos una clase que quedo con madre, para hacer POSTs (la hicimos porque la aplicacion necesita subir los archivos por POST) pero hicimos la clase muy general, y tambien nos sirvio para postear solamente datos <img src='http://www.lauadec.com/nibbles/blog/wp-includes/images/smilies/icon_biggrin.gif' alt='D' />  tons problema resuelto.</p>
<p>Reescribimos varios metodos, y los hicimos mas eficientes (creo&#8230;) y corregimos varios detallitos. Solo nos falta agregarle los docstrings a cada cosa y esta listo para liberarse en la version 0.1</p>
<p>Terminando el hacking session (y personalmente, sintiendome bien inflado de orgullo) nos fuimos a la primera posada linuxera de SLW (Saltillo Linux Workgroup). Estuvo POCAMADRE, algo desorganizada al principio&#8230; pero al final se puso con madre. Fuimos muy pocos, pero lo importante no era la cantidad; la calidad de las platicas fue de 10 <img src='http://www.lauadec.com/nibbles/blog/wp-includes/images/smilies/icon_biggrin.gif' alt='D' /> , las cheves nunca faltaron, la carne sabia bien chida, y los brindis&#8230; Bueno, hubo brindis <img src='http://www.lauadec.com/nibbles/blog/wp-includes/images/smilies/icon_neutral.gif' alt='|' /> </p>
<p>Me gusto mi dia de ayer, espero que en las vacaciones haya muchos dias como este</p>
<p><strong>NOTA:</strong><br />
Si te interesa el proyecto, y sabes PyGTK o Glade mandame un email a nibblesmx__arroba__gmail__punto__com</p>
]]></content:encoded>
			<wfw:commentRss>http://nibblesmx.dimono.com/archives/34/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

