<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>django &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/django/</link>
	<description>Feed of posts on WordPress.com tagged "django"</description>
	<pubDate>Mon, 30 Nov 2009 09:52:37 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Amico buleano]]></title>
<link>http://masci.wordpress.com/2009/11/29/amico-buleano/</link>
<pubDate>Sun, 29 Nov 2009 10:49:14 +0000</pubDate>
<dc:creator>masci</dc:creator>
<guid>http://masci.wordpress.com/2009/11/29/amico-buleano/</guid>
<description><![CDATA[# condition è un qualche valore booleano if str(condition) == &quot;True&quot;: # fai qualcosa Un po]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><pre class="brush: python;">
# condition è un qualche valore booleano
if str(condition) == &#34;True&#34;:
    # fai qualcosa
</pre>
<p><a href="http://djangopony.com/">Un pony</a> <del datetime="2009-11-29T10:50:39+00:00">è rimasto gravemente ferito</del> è morto durante la scrittura del codice&#8230;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[]]></title>
<link>http://django1.wordpress.com/2009/11/27/96/</link>
<pubDate>Fri, 27 Nov 2009 14:00:21 +0000</pubDate>
<dc:creator>doc</dc:creator>
<guid>http://django1.wordpress.com/2009/11/27/96/</guid>
<description><![CDATA[J&#8217;Attendrai &#8211; (French for &#8220;I Will Wait&#8221;) The original version was recorded b]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;"><a href="http://django1.wordpress.com/files/2009/11/quintet-hotclub-grappelliinterview1.jpg"><img class="size-full wp-image-107 aligncenter" title="Quintet-HotClub-grappelliinterview" src="http://django1.wordpress.com/files/2009/11/quintet-hotclub-grappelliinterview1.jpg" alt="" width="376" height="292" /></a></p>
<p style="text-align:center;"><a href="http://django1.wordpress.com/files/2009/11/django-unid-band-1-cl1.jpg"><img class="alignnone size-full wp-image-98" title="Django-unid-band-1-cl" src="http://django1.wordpress.com/files/2009/11/django-unid-band-1-cl1.jpg" alt="" width="371" height="283" /></a></p>
<p style="text-align:center;"><a href="http://django1.wordpress.com/files/2009/11/django-1-cln.jpg"><img class="alignnone size-full wp-image-104" title="django-1-cln" src="http://django1.wordpress.com/files/2009/11/django-1-cln.jpg" alt="" width="262" height="268" /></a></p>
<p style="text-align:left;"><strong>J&#8217;Attendrai</strong> &#8211; (French for &#8220;I Will Wait&#8221;) The original version was recorded by <a title="J'attendrai - Rina Ketty" href="http://www.youtube.com/watch?v=IQtHZeyIfrM" target="_blank">Rina Ketty</a> in 1939, a French translation of the Italian song <em>Tornerai</em> (Italian for &#8220;You Will Return&#8221;) by Dino Olivieri,1933.<strong> </strong></p>
<p style="text-align:left;">The QHCF recorded the song twice, the second one being filmed. It is the best film footage of Django performing according to djangopedia.</p>
<p style="text-align:left;">April/May 1938, Soundtrack &#8211; Paris &#8211; Stephane Grappelli (v), Django Reinhardt (g), Joseph Reinhardt, Pierre Ferret (g), Roger Grasset (b). &#8211; &#8220;Jazz Hot&#8221;(film)</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/-iJ7bs4mTUY&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/-iJ7bs4mTUY&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
<p style="text-align:center;"><object width="425" height="254"><param name="movie" value="http://www.dailymotion.com/swf/x296ph"></param><param name="allowfullscreen" value="true"></param><embed src="http://www.dailymotion.com/swf/x296ph" type="application/x-shockwave-flash" width="425" height="334" allowfullscreen="true"></embed></object></p>
<p style="text-align:center;">
<p style="text-align:left;"><strong>Tears</strong> (Jean Reinhardt, Stephane Grapelli) &#8211; <strong>21/4/37</strong>, Paris – QHCF – Stephane Grappelly (v), Django Reinhardt, Pierre Ferret, Marcel Bianchi (g), Louis Vola (b)</p>
<p style="text-align:center;"><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/UhlZCzzoTVY&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/UhlZCzzoTVY&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[conexion rapida en pgadmin]]></title>
<link>http://cumbredigital.wordpress.com/2009/11/26/conexion-rapida-en-pgadmin/</link>
<pubDate>Thu, 26 Nov 2009 19:58:01 +0000</pubDate>
<dc:creator>jonathanorlando</dc:creator>
<guid>http://cumbredigital.wordpress.com/2009/11/26/conexion-rapida-en-pgadmin/</guid>
<description><![CDATA[Conectemos nuestro pgadmin con postgresql localmente, hey hey en 4 paso: Paso Uno Así se ve pgadmin ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Conectemos nuestro pgadmin con postgresql localmente, hey hey en 4 paso:</p>
<p><strong>Paso Uno</strong></p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/pantallazo3.png"><img class="aligncenter size-full wp-image-178" title="Pantallazo" src="http://cumbredigital.wordpress.com/files/2009/11/pantallazo3.png" alt="" width="480" height="300" /></a></p>
<p><!--more--></p>
<p>Así se ve pgadmin apenas lo instalemos, nos dirigimos donde se ecuentra como un símbolo de cable de plancha jajaja y damos clic <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> , nos aparece una ventana de configuración:</p>
<p><strong>Paso Dos</strong></p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/newconection.png"><img class="aligncenter size-full wp-image-179" title="newconection" src="http://cumbredigital.wordpress.com/files/2009/11/newconection.png" alt="" width="480" height="300" /></a></p>
<p>en la ventana anterior digitados los datos correspondiente a una conexión local como sigue acontinuación:</p>
<p><strong>Paso Tres</strong></p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/dataconection.png"><img class="aligncenter size-full wp-image-180" title="dataconection" src="http://cumbredigital.wordpress.com/files/2009/11/dataconection.png" alt="" width="480" height="300" /></a></p>
<p>le quitamos donde dice guardar el password !!! por proteccion de nuestros datos.</p>
<p><strong>Paso Cuarto</strong></p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/queryconection.png"><img class="aligncenter size-full wp-image-181" title="queryconection" src="http://cumbredigital.wordpress.com/files/2009/11/queryconection.png" alt="" width="480" height="300" /></a></p>
<p>Listo ya tenemos nuestras base de datos a la vista <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Configurar Postgresql con Django]]></title>
<link>http://cumbredigital.wordpress.com/2009/11/26/configurar-postgresql-con-django/</link>
<pubDate>Thu, 26 Nov 2009 19:25:38 +0000</pubDate>
<dc:creator>jonathanorlando</dc:creator>
<guid>http://cumbredigital.wordpress.com/2009/11/26/configurar-postgresql-con-django/</guid>
<description><![CDATA[En esta entrada tratare de tocar como activar el administrador de contenido de django, esto requiere]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>En esta entrada tratare de tocar como activar el administrador de contenido de django, esto requiere activar la aplicación en el archivo de configuración del proyecto de django y crear la base de datos para esta. Después de seguir los pasos de <a href="http://cumbredigital.wordpress.com/2009/11/02/entrando-en-onda-con-django-desde-mi-ubuntu/" target="_self">entrando en onda con django</a> y <a href="http://cumbredigital.wordpress.com/2009/11/04/como-llevar-un-proyecto-creado-en-django-ha-eclipse/" target="_self">llevando un proyecto de django a  eclipse</a>, vamos a activar la aplicacion de administrador de nuestro proyecto y a configurar algunas variables de nuestro proyecto pero sin antes mirar como <a href="http://cumbredigital.wordpress.com/2009/11/26/instalar-django-en-ubuntu/" target="_self">instalar django</a>.</p>
<p>Dentro de la estructura de archivos creados con el comando:</p>
<p>django-admin startproject proyecto</p>
<p>se editan los modulos, urls y settings, dentro de urls este modulo representa una tabla de contenido de todas la paginas que generamos con python:</p>
<p>http://midominio.com/blog/</p>
<p>en nuestro urla se declara que /blog/ representa una aplicación dentro de nuestro proyecto o puede ser una vista que muestre algo de información, por ahora activamos la función de administración :</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/urls.png"><img class="aligncenter size-full wp-image-165" title="urls" src="http://cumbredigital.wordpress.com/files/2009/11/urls.png" alt="" width="480" height="300" /></a><!--more--></p>
<p>en la linea 4 y 5 descomentamos y en la  linea 16 descomentamos la url para nuestro adminstrador. Listo ahora vamos a nuestro settings en donde configuramos algunas variables.</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/settings.png"><img class="aligncenter size-full wp-image-167" title="settings" src="http://cumbredigital.wordpress.com/files/2009/11/settings.png" alt="" width="480" height="300" /></a></p>
<p>en la linea 7 de settings descomentamos y colocamos el administrador del proyecto o administradores, de la linea 12 a la 17 se habla del gestor de base de datos, que en esta oportunidad colocamos postgresql_psycopg2, luego el nombre de la base de datos que en mi ejemplo se llama blog, el usuario de la bd que es postgres, el password que en mi caso por prueba he colocado desarrollo, el host sera local es por eso que se coloca localhost y el puerto que es 5432 para postgresql.</p>
<p>En la linea 24 colocamos donde esta ubicada la aplicación que en nuestro caso es America/Bogota, en la linea 28 se coloca el idioma que es espaniol, es-CO, si se quiere ver mas opciones puedes seguir los enlaces que hay en la linea 20 que es la zona horaria y en la linea el unicode.</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/pantallazo1.png"><img class="aligncenter size-full wp-image-168" title="Pantallazo" src="http://cumbredigital.wordpress.com/files/2009/11/pantallazo1.png" alt="" width="480" height="300" /></a></p>
<p>de la linea 74 a la 80 se habla de las aplicaciones que se crean para nuestro proyecto, si creamos una blog hay debe estar incluido, se dice instalado, bueno bueno instalamos es decir escribimos la aplicación de administrador al final de la lista, que en este caso es la linea 79.</p>
<p>Luego queda cuadrar la base de datos, nos dirigimos a nuestra terminal y entramos lo siguiente:</p>
<p>jonathanorlando@jonathanorlando-laptop:~/produccion$ sudo su<br />
[sudo] password for jonathanorlando:<br />
root@jonathanorlando-laptop:/home/jonathanorlando/produccion# nano /etc/postgresql/8.4/main/pg_hba.conf</p>
<p>en la lineas anteriores nos volvemos superusuario para administrar el sistema en este caso editar el archivo de postgresql.</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/postgresql.png"><img class="aligncenter size-full wp-image-171" title="postgresql" src="http://cumbredigital.wordpress.com/files/2009/11/postgresql.png" alt="" width="480" height="300" /></a></p>
<p>al final del archivo encontramos para decirle a postgresql si debe pedir o no password, bueno en donde dice md5 le colocamos <strong>trust , </strong>menos en la ultima linea<strong>, </strong>guardamos el archivo con control + x, y reiniciamos postgresql con el comando:</p>
<p>root@jonathanorlando-laptop:/home/jonathanorlando/produccion# /etc/init.d/postgresql-8.4 restart</p>
<p>ahora en modo usuario normal le damos en terminal:</p>
<p>jonathanorlando@jonathanorlando-laptop:~/produccion$ psql -U postgres<br />
psql (8.4.1)<br />
Digite «help» para obtener ayuda.</p>
<p>postgres=#</p>
<p>en donde queda el #, escribimos</p>
<p>postgres=# ALTER USER postgres with password &#8216;nuevo&#8217;;</p>
<p>en donde nuevo es el nuevo passwdor del usuario postgres. luego de cambiar el password creamos una base de datos llamada blog de la siguiente manera:</p>
<p>postgres=# CREATE DATABASE blog;</p>
<p>si ya terminamos damos con el teclado control + d, para salir de psql y volvemos al archivo de configuración y cambiamos a como esta la imagen de arriba y reiniciamos a postgresql.</p>
<p>root@jonathanorlando-laptop:/home/jonathanorlando/produccion# /etc/init.d/postgresql-8.4 restart</p>
<p>ahora con el comando jonathanorlando@jonathanorlando-laptop:~/produccion$ psql -U postgres -W</p>
<p>podremos adminstrar postgresql en terminal, esta parte de postgresql la he tomado de <a href="http://manuelinux.info/blog/view/147/instalar-y-configurar-postgresql" target="_self">url</a>.</p>
<p>Bueno es hora de probar que funciona postgresql con django, entramos por terminal a donde se encuentra nuestro proyecto de django, estando hay le damos el comando siguiente para sincronizar nuestro proyecto con postgresql:</p>
<p><strong>jonathanorlando@jonathanorlando-laptop:~/produccion/blog$ python manage.py syncdb</strong><br />
Creating table auth_permission<br />
Creating table auth_group<br />
Creating table auth_user<br />
Creating table auth_message<br />
Creating table django_content_type<br />
Creating table django_session<br />
Creating table django_site<br />
Creating table django_admin_log</p>
<p>You just installed Django&#8217;s auth system, which means you don&#8217;t have any superusers defined.<br />
<span style="color:#ff0000;">Would you like to create one now? (yes/no): yes</span><br />
Username (Leave blank to use &#8216;jonathanorlando&#8217;): admin<br />
E-mail address: solosekenadase@gmail.com<br />
Password:<br />
Password (again):<br />
Superuser created successfully.<br />
Installing index for auth.Permission model<br />
Installing index for auth.Message model<br />
Installing index for admin.LogEntry model</p>
<p>listo las anteriores lineas deben aparecer la linea que aparece en rojo debes contestar que si para crear el usuario administrador, después de crear esto digitamos lo siguiente para correr la aplicación:</p>
<p><strong><span style="color:#ff0000;">jonathanorlando@jonathanorlando-laptop:~/produccion/blog$ python manage.py runserver 8080</span></strong><br />
Validating models&#8230;<br />
0 errors found</p>
<p>Django version 1.1.1, using settings &#8216;blog.settings&#8217;<br />
Development server is running at http://127.0.0.1:8080/<br />
Quit the server with CONTROL-C.</p>
<p>hay veces que cuando arrancamos la aplicacion nos dice el servidor de desarrollo de django que el puerto por defecto que es el 8000 se esta utilizando pues le pasamos el 8080 y tolis. Entramos a la url <strong><span style="color:#ff0000;">http://127.0.0.1:8080/ </span></strong><span style="color:#ff0000;"><span style="color:#000000;">nos aparece lo siguiente:</span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><a href="http://cumbredigital.wordpress.com/files/2009/11/pantallazo2.png"><img class="aligncenter size-full wp-image-173" title="Pantallazo" src="http://cumbredigital.wordpress.com/files/2009/11/pantallazo2.png" alt="" width="480" height="300" /></a></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;">nos marca un erro de url, en cual se muestra que hay disponible la url ^admin/ en la cual esta corriendo el administrador de nuestra aplicacion.</span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><a href="http://cumbredigital.wordpress.com/files/2009/11/admin.png"><img class="aligncenter size-full wp-image-174" title="admin" src="http://cumbredigital.wordpress.com/files/2009/11/admin.png" alt="" width="480" height="300" /></a></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;">que bonita esta el login <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Bueno entramos el usuario admin en mi caso y el password correspondiente, despues del login aparece lo siguiente:</span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><a href="http://cumbredigital.wordpress.com/files/2009/11/admi-django.png"><img class="aligncenter size-full wp-image-175" title="admi-django" src="http://cumbredigital.wordpress.com/files/2009/11/admi-django.png" alt="" width="480" height="300" /></a></span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;">esta herramienta es muy poderosa ya que podremos mesclar nuestras aplicaciones a esta herramienta con tan solo poco codigo, y lo mejor es que solo en python cool <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</span></span></p>
<p><span style="color:#ff0000;"><span style="color:#000000;"><br />
</span></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Instalar django en Ubuntu ]]></title>
<link>http://cumbredigital.wordpress.com/2009/11/26/instalar-django-en-ubuntu/</link>
<pubDate>Thu, 26 Nov 2009 17:08:17 +0000</pubDate>
<dc:creator>jonathanorlando</dc:creator>
<guid>http://cumbredigital.wordpress.com/2009/11/26/instalar-django-en-ubuntu/</guid>
<description><![CDATA[El proyecto django se propone crear una herramienta para elaborar aplicaciones web de una manera rap]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>El proyecto django se propone crear una herramienta para elaborar aplicaciones web de una manera rapida codificando en python, esta herramienta se encuentra en nuestro repositorio de software dentro de Ubuntu. Procedo a instalar el software:</p>
<p>Entrar en nuestro gestor de paquetes synaptic y colocar en la búsqueda de paquetes django,  el paquete que nos interesa por ahora es python-django:</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/django-synaptic.png"><img class="aligncenter size-full wp-image-150" title="django-synaptic" src="http://cumbredigital.wordpress.com/files/2009/11/django-synaptic.png" alt="" width="479" height="223" /></a></p>
<p><!--more--></p>
<p>seleccionamos el paquete con doble clic, luego lo otro es el gestor de base de datos postgresql lo buscamos también en nuestro synaptic:</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/postgresql-synaptic.png"><img class="aligncenter size-full wp-image-152" title="postgresql-synaptic" src="http://cumbredigital.wordpress.com/files/2009/11/postgresql-synaptic.png" alt="" width="480" height="278" /></a></p>
<p>ahora necesitamos administrar a postgresql de modo gráfico, para esto utilizamos pgadmin:</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/pantallazo.png"><img class="aligncenter size-full wp-image-153" title="Pantallazo" src="http://cumbredigital.wordpress.com/files/2009/11/pantallazo.png" alt="" width="480" height="300" /></a></p>
<p>en la imagen anterior se puede observar que tenemos en la parte superior pgadmin con la base de datos blog, y en la parte inferior de modo texto con psql que es la herramienta de adminstracion que viene con el paquete de postgresql, mostrando la misma base de datos. En la parte de la izquierda encontramos el paquete en nuestro gestor de paquetes synaptic.</p>
<p>Ahora queda el conector de base de datos para django, los conectores disponibles se muestran aqui:</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/django-conector-bd.png"><img class="aligncenter size-full wp-image-157" title="django-conector-bd" src="http://cumbredigital.wordpress.com/files/2009/11/django-conector-bd.png" alt="" width="480" height="300" /></a></p>
<p>en la linea 12 encontramos los conectores de las bases de datos que soporta django. El que utilizamos en esta oportunidad sera  python-psycopg2 que veremos en synaptic de la siguiente manera:</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/python-psycopg2.png"><img class="aligncenter size-full wp-image-158" title="python-psycopg2" src="http://cumbredigital.wordpress.com/files/2009/11/python-psycopg2.png" alt="" width="480" height="300" /></a></p>
<p>luego nos queda enviar a instalar los paquetes seleccionados. Ahora para saber si todo bien abrimos nuestra consola y escribimos lo siquiente :</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/prueba-django.png"><img class="aligncenter size-full wp-image-160" title="prueba-django" src="http://cumbredigital.wordpress.com/files/2009/11/prueba-django.png" alt="" width="480" height="300" /></a></p>
<p>Ahora estas listo para comenzar a tirar código.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Discriminator models]]></title>
<link>http://drpinkpony.wordpress.com/2009/11/26/discriminator-models/</link>
<pubDate>Thu, 26 Nov 2009 12:43:24 +0000</pubDate>
<dc:creator>jtiai</dc:creator>
<guid>http://drpinkpony.wordpress.com/2009/11/26/discriminator-models/</guid>
<description><![CDATA[I recently came across of need of models that are separated by discriminator. It means that I have o]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I recently came across of need of models that are separated by discriminator. It means that I have one lookup table that is divided in parts by using one value in one column.</p>
<p>So my original model was like:</p>
<pre class="brush: python;">
class LookupTable(models.Model):
    groupname = models.CharField(max_length=64)
    key = models.CharField(max_length=64)
    value = models.CharField(max_length=512)
</pre>
<p>I had dozens of models pointing to this single lookup table which started to be nightmare, specially with reverse relations. But I managed to figure one way out of this situation.</p>
<p>I used a piece of save code, custom manager and magical proxy functionality in Django and got quite neat approach. Not perfect but quite close.</p>
<p>So here is my magical  GenericLookupManager</p>
<pre class="brush: python;">
class GenericLookupManager(models.Manager):
    def get_query_set(self):
        qs = super(GenericLookupManager, self).get_query_set()
        try:
            return qs.filter(groupname=self.model.GROUPNAME)
        except (ValueError, AttributeError):
            return qs
        return None
</pre>
<p>Enhanced LookupTable model</p>
<pre class="brush: python;">
class LookupTable(models.Model):
    groupname = models.CharField(max_length=64)
    key = models.CharField(max_length=64)
    value = models.CharField(max_length=512)

    objects = GenericLookupManager()

    def save(self, *args, **kwargs):
        try:
            self.groupname = self.GROUPNAME
        except (ValueError, AttributeError):
            pass # No GROUPNAME, pass

        super(LookupTable, self).save(*args, **kwargs)
</pre>
<p>And finally, how to use that model with proxying</p>
<pre class="brush: python;">
class UserType(LookupTable):
    GROUPNAME = 'USER_TYPE'

    class Meta:
        proxy = True
</pre>
<p>Now you can use proxied model to save, load and query it. Overridden LookupTable manager and save takes care that groupname is always taken into account.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Curriculum advice for journalism schools]]></title>
<link>http://stevebuttry.wordpress.com/2009/11/24/curriculum-advice-for-journalism-schools/</link>
<pubDate>Tue, 24 Nov 2009 15:29:36 +0000</pubDate>
<dc:creator>Steve Buttry</dc:creator>
<guid>http://stevebuttry.wordpress.com/2009/11/24/curriculum-advice-for-journalism-schools/</guid>
<description><![CDATA[I haven&#8217;t spent this much time talking to journalism professors and students since I graduated]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I haven&#8217;t spent this much time talking to journalism professors and students since I graduated from Texas Christian University (let&#8217;s just say some time ago).</p>
<p>I visited TCU last week to present seminars on the <a title="Follow  my C3 seminar at TCU today" href="http://stevebuttry.wordpress.com/2009/11/18/follow-my-c3-seminar-at-tcu-today/" target="_blank">Complete Community Connection</a> and <a title="Follow the liveblog of my ethics seminar" href="http://stevebuttry.wordpress.com/2009/11/19/follow-the-liveblog-of-my-ethics-seminar-at-tcu-today/" target="_blank">journalism ethics in the digital age</a>. And since I was sticking around for some memory-lane time, the curriculum committee at TCU&#8217;s <a title="Schieffer School of Journalism" href="http://www.schiefferschool.tcu.edu/" target="_blank">Schieffer School of Journalism</a> asked me to meet with them and tell them what I think journalism schools should be teaching about our swiftly changing field.</p>
<p>I shared my views with them and will share them with you here shortly. The TCU meetings continued a heavy fall schedule of consultations with journalism faculty and students on a variety of related topics:<!--more--></p>
<ul>
<li>In late August, I was a panelist for the <a title="Accreditation Council on Education in Jouranlism and Mass Communication" href="http://www2.ku.edu/~acejmc/" target="_blank">Accreditation Council on Education in Journalism and Mass Communication</a>, sharing my views on how journalism schools should be teaching today and what sort of standards the council should require. Afterward, I shared some <a title="Resources for journalism educators" href="http://stevebuttry.wordpress.com/2009/08/29/resources-for-journalism-educators-on-digital-ethics-new-business-models-journalism/" target="_blank">resources for journalism educators</a> on this blog.</li>
<li>In mid-September, I met with University of Missouri faculty to advise on plans for <a title="Follow live coverate of APME convention" href="http://stevebuttry.wordpress.com/2009/10/28/follow-live-digital-coverage-of-apme-convention-this-week/" target="_blank">digital-only coverage of the Associated Press Managing Editors convention in St. Louis</a>.</li>
<li>Later in September, I presented an ethics seminar at the University of Kentucky. The visit included an informal discussion over pizza with students about what editors are seeking in interns and journalism graduates. I developed a post of <a title="Elevate your journalism career" href="http://stevebuttry.wordpress.com/2009/09/20/elevate-your-journalism-career/" target="_blank">career advice for journalism students</a> and called their attention to an earlier post on the importance of your <a title="Your digital profile tells people a lot" href="http://stevebuttry.wordpress.com/2009/07/10/your-digital-profile-tells-people-a-lot/" target="_blank">digital profile</a>.</li>
<li>The next week, I met with faculty advisers and editors of the Iowa State Daily, who came to Cedar Rapids to brainstorm issues such as digital coverage, C3 and organizational changes we&#8217;ve made at Gazette Communications.</li>
<li>In November, I led another <a title="Journalism ethics blog " href="http://jrnethics.wordpress.com/" target="_blank">ethics seminar at the University of Nebraska-Lincoln</a> and critiqued the senior portfolios of three UNL seniors (part of the UNL accreditation process, as well as providing advice to the seniors).</li>
<li>Before visiting TCU, I returned to the University of Missouri for an American Society of News Editors/Reynolds Journalism Institute <a title="Public Trust through Public Engagement" href="http://asne.org/key_initiatives/ethics/ethics_forum/live_coverage.aspx" target="_blank">Ethics and Values Forum</a>. Participants included journalism faculty from four other universities, in addition to Missouri. After dinner one night, we had an interesting discussion with several Missouri students, many of whom are already looking for jobs.</li>
<li>I have had frequent discussions with David Perlmutter, new director of the School of Journalism and Mass Communication at the University of Iowa, including plans to team-teach a course with Jim Cremer on <a title="What do you like best about your favorite mobile applications" href="http://stevebuttry.wordpress.com/2009/11/16/what-do-you-like-best-about-your-favorite-mobile-applications/" target="_blank">creating an iPhone application</a>.</li>
</ul>
<p>In various ways in formal events and private conversations, similar concerns about how to teach journalism today came up again and again. If I could summarize the concerns (admitting that I am drawing conclusions that weren&#8217;t always stated explicitly), I would say this: Lots of journalism educators worry how they can and should teach to prepare students for a world that has changed vastly since professors practiced and/or earned graduate degrees and is changing so swiftly that even if professors were current in all respects, their lessons may be outdated by the time their students graduate. While <a title="Journalism Bust, J-School Boom" href="http://www.forbes.com/2009/04/06/journalism-media-jobs-business-media-jobs.html" target="_blank">journalism school enrollment</a> is stronger than the businesses that support journalism, educators are keenly aware that they need to update their curriculum and knowledge or they could face the same sort of crash that news media companies are experiencing.</p>
<p>My response focuses heavily on what journalism schools should be doing to address new needs and challenges. I have not looked at closely at what they should not be doing. But I would suggest that in the current environment, every requirement and every course needs to be re-examined and face demanding questions:</p>
<ul>
<li>Does the course need to be updated?</li>
<li>Should the course be dropped?</li>
<li>Should the course be taught less frequently?</li>
<li>Should the course be combined with another?</li>
<li>Should a required course become an elective?</li>
</ul>
<p>Journalism schools also need to examine their tracks, sequences and structures. If your school offers a &#8220;print sequence,&#8221; you might as well call it an &#8220;outdated sequence.&#8221; While newspapers still command large audiences and generate large revenues, newspaper companies are diversifying and journalism schools need to be educating multi-platform journalists, not print journalists.</p>
<p>As I go through topics that journalism schools might not be covering adequately, I would argue that many of these issues don’t need to be addressed in a standalone class, required or elective. Rather, they should be integrated throughout the curriculum. For instance, if you offer an elective course in Twitter but don’t teach students in your basic reporting course how reporters should use Twitter, you aren’t teaching what you need to teach. I would advise requiring students in their first media writing course to spend at least a couple weeks taking their class notes in Twitter, so they get an early practical exposure and see it as a tool for journalism from the start. And each course should decide the appropriate way to use Twitter in that course.</p>
<p>In other cases, a required or elective course – or perhaps a course combining a few of these topics – might be exactly what a journalism curriculum needs. I will make specific recommendations about how digital skills should be infused throughout the curriculum and about specific courses a journalism school should consider. But as curriculum committees and J-school leaders consider these issues, they will need to consider other factors. As j-schools weigh such factors as course loads, total hours students can take and so on, I would usually err on the side of incorporating digital skills throughout the curriculum, rather than addressing them in specific courses.</p>
<p>These are the topics I think journalism schools need to address:</p>
<p><strong>Social media.</strong> Journalism schools today need to educate students about how social media are changing professional media and society. Twitter is the social platform that needs the most attention right now, but professors need to stay abreast of how society and journalists are using social tools and update their courses appropriately. If Twitter goes the way of MySpace, you need to adjust swiftly to address the next hot social tool. Students are already active in using Facebook, so Facebook is less urgent. Professors also should consider how to use Facebook in courses, such as using a fan page for assignments and exchanges about a course. My primary recommendation here is that social media need to be incorporated throughout the curriculum: Twitter in media writing, reporting, ethics, specialized reporting courses, appropriate strategic communication courses, etc.; visual journalism courses should cover such social tools as YouTube, Flickr, Twitpic and Qik. <a title="Journalism ethics in social networks" href="http://stevebuttry.wordpress.com/2009/02/17/journalism-ethics-in-social-networks/" target="_blank">Ethics courses</a> certainly need to incorporate social media, including Facebook. I also would recommend an advanced course on social media strategy. This would focus on how media organizations need to use social tools to engage the community and serve business customers. This course also would cover potential uses of emerging social tools. This should be an advanced or graduate-level course, serving journalism and strategic communication sequences.</p>
<p><strong>Interactive databases and computer-assisted reporting.</strong> I have been critical before of the use of the term <a title="Computer-assisted reporting: An essential skill, an outdated term" href="http://www.americanpressinstitute.org/pages/resources/2007/02/computerassisted_reporting_an/" target="_blank">computer-assisted reporting</a>. You might as well refer to notebook-assisted reporting or telephone-assisted reporting. This is 2009 and computers have been an essential tool for reporters for a couple decades now. Journalism schools should take the lead in breaking down the data ghettos that have emerged in our profession. Basic reporting courses should cover use of basic spreadsheet, database and mapping programs. These are essential journalism tools and skills and their use should start in basic courses and be required throughout the curriculum. An advanced course should cover development of interactive databases using such tools as Caspio, Django and Ruby on Rails. Again, these skills are as valuable to strategic communication students as to journalism majors.</p>
<p><strong>Programming. </strong>As I mentioned to the TCU curriculum committee, I encourage working with a computer science department to develop cross-disciplinary courses such as my iPhone app course at Iowa. I also encourage working with the computer science department to develop double-major or major-minor combos to help “<a title="&#34;Hacker journalist&#34; finds job, seeks more coders for journalism" href="http://www.pbs.org/idealab/2009/05/hacker-journalist-finds-job-seeks-more-coders-for-journalism130.html" target="_blank">hacker journalists</a>” get the appropriate education in journalism and programming. (I&#8217;m delighted that two students in the iPhone class will be double majors in journalism and informatics.</p>
<p><strong>Mobile journalism. </strong>Basic reporting courses should introduce students to the multitasking skills and demands of <a title="Mobile journalism is changing the news business" href="http://www.editorsweblog.org/newsrooms_and_journalism/2008/05/us_mobile_journalism_is_changing_the_new.php" target="_blank">mobile journalism</a>. The University of Missouri is requiring journalism students to buy iPhones. I don&#8217;t know how important it is to specify a brand (I do use an iPhone), but I think requiring students to use smart phones as journalism tools is an excellent idea. If I were teaching a reporting or multimedia course now, I would require that some specific assignments be carried out entirely with a mobile device. This would require writing on the phone, shooting still photos and video and providing geocoding metadata. An advanced course(s) could focus specifically on mobile journalism, such as developing mobile applications or a <a title="News organizations need mobile-first strategy" href="http://stevebuttry.wordpress.com/2009/11/20/news-organizations-need-mobile-first-strategy/" target="_blank">mobile-first strategy</a>.</p>
<p><strong>The business of journalism. </strong>Journalism students need a more thorough introduction to the business of journalism than I received as a student (almost none) or than students receive today. They need to learn about traditional business models for print and broadcast. They should understand the disruption that is causing the collapse of the business models. They should understand why and how some organizations are seeking to try <a title="PaidContent.org" href="http://paidcontent.org/" target="_blank">paid-content digital models</a> (and they should understand how paid content has been tried before and that it <a title="Newspapers demand: &#34;Gimme another ball!&#34;" href="http://stevebuttry.wordpress.com/2009/07/25/newspapers-demand-gimme-another-ball/" target="_blank">hasn’t worked</a>). They should examine and understand efforts to develop new business models (such as my own <a title="A blueprint for the Complete Community Connection" href="http://stevebuttry.wordpress.com/2009/04/27/a-blueprint-for-the-complete-community-connection/" target="_self">Complete Community Connection</a> model). They should learn about product development and entrepreneurial journalism. They should understand how the advertising model is collapsing on all platforms and study efforts to develop new revenue streams. Tim McGuire’s <a title="Business and Future of Journalism syllabus" href="http://cronkite.asu.edu/mcguireblog/?p=114" target="_blank">Business and Future of Journalism</a> course at Arizona State University provides a good model. While some coverage of business models would be good in lower-level courses, an upper-level course is a good idea and I would encourage requiring it for all students or for some particular majors. The lack of business literacy is a huge problem among journalists and tunnel vision on business issues is a huge problem for people in advertising and executive offices.</p>
<p><strong>Community engagement</strong>. Interaction is a significant part of the future of journalism, from crowdsourcing of stories (investigative, events, features, reviews) to engaging comments on blogs to aggregating the work of community bloggers and citizen journalists. This could certainly be a full course.</p>
<p><strong>Digital content in specialized courses. </strong>A question raised in an email about TCU’s curriculum asked how much digital content should be integrated into advanced courses on journalism specialties, such as public affairs reporting and sports reporting. My answer is that the courses should have as much digital emphasis as the specialties have now, and that’s a lot. For instance, even TCU sportswriting legend <a title="Dan Jenkins Twitter feed" href="http://twitter.com/danjenkinsgd" target="_blank">Dan Jenkins</a>, became a <a title="Golf Writer Dan Jenkins, 79, Starts Using Twitter" href="http://wcco.com/sports/golf/dan.jenkins.twitter.2.1130093.html" target="_blank">Twitter icon</a> this year at age 79. Blogging, liveblogging and video are essential parts of sportswriting now, and the traditional game story is declining in importance to the point that sports writers are <a title="Let's reinvent the game story" href="http://sportsjournalism.org/sports-media-news/let%E2%80%99s-reinvent-the-game-story/" target="_blank">debating whether it’s dying</a>. Any course on a specialty should reflect the current state and projected direction of that specialty.</p>
<p><strong>Visual journalism. </strong>Photojournalism and graphic arts, as narrowly defined for much of my career, are outdated journalism specialties. While those skills remain important, visual journalists need to master (and be taught) a range of digital skills: video, audio, animation, multimedia graphics using programs such as Flash. And, of course, visual journalists need to learn ethical standards for using all these new tools and skills. Journalism students learning graphic arts should certainly learn how to make print graphics, but they also should learn to develop interactive multimedia, including simulations and games.</p>
<p><strong>Live coverage. </strong>Increasingly, journalists need to provide live, unedited coverage of events. Whether in a reporting course, a visual journalism course, a live-coverage course or all three, students should learn how to <a title="Liveblogging: Telling stories as they happen" href="http://stevebuttry.wordpress.com/2009/04/20/liveblogging-telling-stories-as-they-happen-2/" target="_blank">liveblog</a>, stream live video and aggregate real-time public content from social media.</p>
<p><strong>Managing digital content. </strong>Digital journalism and strategic communication both will require a range of digital skills that are rapidly developing. The specific content of such a course and the balance of topics covered would change by semester, but someone should stay abreast of issues such as search-engine optimization, analytics, tagging, curation, aggregation, archiving, content-management systems and semantic technology. Some of these topics need to be introduced in lower-level courses, but they easily could be an upper-level course.</p>
<p><strong>Design. </strong>Print design is fading in importance as newspapers cut newsholes and resources and require more regional design and use of templates. But web design and mobile design are areas of growing importance. Design courses should be adjusted accordingly.</p>
<p><strong>Blogging. </strong>I don’t see a need for a course specifically in blogging (though I wouldn’t object either). <a title="Bloggers share lots of advice" href="http://stevebuttry.wordpress.com/2009/06/18/bloggers-share-lots-of-advice/" target="_blank">Blogging</a> should be part of nearly every writing course. In many courses, students should be required to keep a course blog. I evaluated portfolio blogs for seniors at the University of Nebraska, and I would encourage any journalism school to require students to maintain portfolio blogs.</p>
<p><strong><a title="Why we link" href="http://publishing2.com/2009/06/11/why-we-link-a-brief-rundown-of-the-reasons-your-news-organization-needs-to-tie-the-web-together/" target="_blank">Link journalism</a></strong><strong>. </strong>Students need to learn how to use links, which are the footnotes of the digital world. This certainly should be part of reporting and editing courses.</p>
<p><strong>Law and Ethics. </strong>As I address in my Upholding and Updating Ethical Standards seminars, ethics education needs to address a <a title="Resources for journalism ethics" href="http://stevebuttry.wordpress.com/2009/09/18/resources-for-journalism-ethics/" target="_blank">wide range of digital issues</a>. Of course, digital journalism presents many legal issues as well. In fact, many (I suspect most) editors and journalism professors continue to follow <a title="Why news organizations can police comments and not get sued" href="http://www.niemanlab.org/2009/01/david-ardia-why-news-orgs-can-police-comments-and-not-get-sued/" target="_blank">outdated advice</a> on court interpretations of Section 230 of the Communications Decency Act.</p>
<p><strong>First Amendment</strong>. The <a title="American Press Institute" href="http://americanpressinstitute.org" target="_blank">American Press Institute</a>, where I worked for three years, collaborates with the <a title="First Amendment Center" href="http://www.firstamendmentcenter.org/" target="_blank">First Amendment Center</a> and the Freedom Forum to take our seminars to programs on the First Amendment. These programs gave me both a deep appreciation of our First Amendment freedoms and a keen realization that professional journalists don’t know enough about the history and current status of the First Amendment and the freedoms it guarantees. A First Amendment course could be a cross-disciplinary course with credit in journalism, religion and political science. With TCU’s international communication major, this course should include units on restrictions on our key freedoms in other nations.</p>
<p>TCU&#8217;s curriculum committee asked me whether I thought professionals would be interested in a certificate program in digital journalism for professionals needing to update their skills. While ability to pay might be impaired by staff reductions and fears about job security, I think interest in such programs would be high. I encourage journalism schools to offer such programs in person and/or online, and to either develop financial aid support for such courses or to cut down the university overhead in determining tuition, since professionals would not draw as heavily as younger students on university resources. Such a certificate program should allow considerable flexibility for professionals to fill the gaps in their own skills.</p>
<p>Many journalism schools will be hard-pressed to update their curricula as I&#8217;ve described (though some certainly are already doing some of these things). They will need to hire more faculty with digital skills, use adjunct faculty with digital skills and require faculty to update their own skills and knowledge.</p>
<p>I&#8217;m glad journalism schools are considering these issues and I hope they move decisively and swiftly to update.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cool Yule/The Hot Club of San Francisco]]></title>
<link>http://sdtom.wordpress.com/2009/11/24/cool-yulethe-hot-club-of-san-francisco/</link>
<pubDate>Tue, 24 Nov 2009 03:19:32 +0000</pubDate>
<dc:creator>sdtom</dc:creator>
<guid>http://sdtom.wordpress.com/2009/11/24/cool-yulethe-hot-club-of-san-francisco/</guid>
<description><![CDATA[Sometimes I wonder if getting to do an Xmas album with a lot of schmaltz means you’ve made it in the]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://sdtom.wordpress.com/files/2009/11/hot-club-cool-yule.gif"><img class="aligncenter size-full wp-image-658" title="Hot Club Cool Yule" src="http://sdtom.wordpress.com/files/2009/11/hot-club-cool-yule.gif" alt="" width="170" height="170" /></a>Sometimes I wonder if getting to do an Xmas album with a lot of schmaltz means you’ve made it in the record industry with the seemingly endless stream of releases. When there is finally something different from a group this reviewer immediately takes notice. Such is the case with the Cool Yule release.</p>
<p>Operating under the guiding principle of what would Django do with bumper stickers available (www.hcsf.com), The Hot Club of San Francisco have released a refreshing change in a Xmas album for 2009. Patterned after the music performed by Grappelli and Reinhardt with the Quintette du Hot Club de France in the 30’s which featured string instruments (no percussion) in a unique jazz style. Even if you like percussion as I do your ear will quickly adapt to the bass beat.</p>
<p>Starting off with “Cool Yule,” a somewhat obscure Steve Allen song, the group sets the tone for the CD. Featuring a cool vocal, guitar, and violin solos in a foot stomping style the table is set. The gypsy/latin arrangement of “Don Rodolfo” follows in an arrangement of Rudolph the likes of which I’m sure you’ve not heard before. “Sugar Rum Cherry,” from Tchaikovsky’s Nutcracker Suite and originally arranged and performed by Ellington is an example of what a jazz group can do with any melody. You can certainly hear the influence from Duke with the wa- wa trumpet. “I’ll Be Home For Christmas” is the only arrangement that schmaltz is the order of the day. “Baby It’s Cold Outside” is the other vocal number on the CD and it is a pleasant exchange between Isabelle Fontaine and Jeff Magidson.</p>
<p>If your looking for something unusual and out of the ordinary for some of your Xmas music for this year I think you’ll find this release to be an attractive offering. Recommended.</p>
<p>CD# is Azica AJD-72242</p>
<p>Produced by Alan Bise</p>
<p>Mixing and Mastering by Alan Bise</p>
<p>Track Listing:</p>
<p>1. Cool Yule (2:17)</p>
<p>2. Don Rodolfo (5:00)</p>
<p>3. Carol of the Bells (4:53)</p>
<p>4. I&#8217;ll Be Home for Christmas (3:00)</p>
<p>5. Baby It&#8217;s Cold Outside (4:23)</p>
<p>6. Djingle Bells (6:51)</p>
<p>7. Sugar Rum Cherry (3:35)</p>
<p>8. I Wonder As I Wonder (4:49)</p>
<p>9. March of the Toys (4:55)</p>
<p>10. The Christmas Song (4:52)</p>
<p>11. Santa Claus is Coming to Town (2:54)</p>
<p>12. Auld Lang Syne (7:40)</p>
<p>Total Track Time is 51:09</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[...o MEDIA_URL w Django]]></title>
<link>http://lukaszmowi.wordpress.com/2009/11/23/o-media_url-w-django/</link>
<pubDate>Mon, 23 Nov 2009 15:16:46 +0000</pubDate>
<dc:creator>Łukasz Klich</dc:creator>
<guid>http://lukaszmowi.wordpress.com/2009/11/23/o-media_url-w-django/</guid>
<description><![CDATA[Robie niewielką stronkę w Django i przez długi czas nie mogłem zrozumieć po co to MEDIA_URL, MEDIA_R]]></description>
<content:encoded><![CDATA[Robie niewielką stronkę w Django i przez długi czas nie mogłem zrozumieć po co to MEDIA_URL, MEDIA_R]]></content:encoded>
</item>
<item>
<title><![CDATA[thread locals and user object in django]]></title>
<link>http://eastman.wordpress.com/2009/11/23/thread-locals-and-user-object-in-django/</link>
<pubDate>Mon, 23 Nov 2009 07:26:45 +0000</pubDate>
<dc:creator>eastman</dc:creator>
<guid>http://eastman.wordpress.com/2009/11/23/thread-locals-and-user-object-in-django/</guid>
<description><![CDATA[There is an interesting scenario regarding automation of routines related to model. I want make my m]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>There is an interesting scenario regarding automation of routines related to model.<br />
I want make my model in such a way that, everytime it is modified by some user, it should automatically set &#8220;modified by&#8221; field with current logged in user.<br />
first step is to override &#8220;save&#8221; method in model, do update fields as you require and call super class save method.<br />
but the question is, how model can access logged in user object, there is no request object wright?<br />
there is a way with thread locals to deal with this kind of situation, click on following link<br />
<a href="http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser">thread local and user objct in django models</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mi primer Código en Python]]></title>
<link>http://cumbredigital.wordpress.com/2009/11/22/mi-primer-codigo-en-python/</link>
<pubDate>Sun, 22 Nov 2009 21:11:15 +0000</pubDate>
<dc:creator>jonathanorlando</dc:creator>
<guid>http://cumbredigital.wordpress.com/2009/11/22/mi-primer-codigo-en-python/</guid>
<description><![CDATA[Mi primer código en python, trata de plasmar de una manera facíl un bloque de código orientado a obj]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://cumbredigital.wordpress.com/files/2009/11/rect3036.png"><img class="aligncenter size-full wp-image-120" title="rect3036" src="http://cumbredigital.wordpress.com/files/2009/11/rect3036.png" alt="" width="480" height="480" /></a></p>
<p>Mi primer código en python, trata de plasmar de una manera facíl un bloque de código orientado a objetos. Dandome cuenta que lo aprendido en mis clase de java en mi carrera me ayudan a entender la programación y la lógica  que guarda las aplicaciones dentro, en esta ocación me pregunto como comenzar en python y de una manera que no sea traumática,  tome la situación de un registro de un estudiante, cosa que pasa a menudo, he realizado la herencia dicho estudiante con una clase persona, y mi registro de estudiantes será guardado en una estructura de datos llamada lista.</p>
<p><!--more--></p>
<p>Luego de tener registrado a los estudiantes realizo la impresión de los datos de cada estudiante.</p>
<p>Estamos listos para ingresar en el fantabuloso mundo de python, entramo a eclipse y señalamos la casilla de un nuevo proyecto:</p>
<p><a href="http://twitpic.com/qjpp9"><img class="aligncenter size-full wp-image-124" title="insertar_1" src="http://cumbredigital.wordpress.com/files/2009/11/insertar_1.png" alt="" width="480" height="46" /></a></p>
<p>Nos aparece una ventana en la cual seleccionamos el tipo de proyecto que se desea comenzar, en este caso como usuamos el plugins de python para eclipse pydev, damos clic en pydev y buscamos pydev Project.</p>
<p><a href="http://twitpic.com/qjpy5"><img class="aligncenter size-full wp-image-125" title="insertar_2" src="http://cumbredigital.wordpress.com/files/2009/11/insertar_2.png" alt="" width="480" height="396" /></a></p>
<p>La siguiente ventana nos pedira el nombre del proyecto en mi caso lo he llamado clase.</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/insertar_3.png"><img class="aligncenter size-full wp-image-126" title="insertar_3" src="http://cumbredigital.wordpress.com/files/2009/11/insertar_3.png" alt="" width="479" height="467" /></a></p>
<p>Le damos finish y todo listo para entrar a digitar codigo. Veremos algo como esto:</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/insertar_4.png"><img class="aligncenter size-full wp-image-127" title="insertar_4" src="http://cumbredigital.wordpress.com/files/2009/11/insertar_4.png" alt="" width="279" height="138" /></a></p>
<p>Estamos parados dentro de nuestro proyecto clase, la carpeta src nos guarda todo el codigo fuente, tenemos la ruta del interprete de python dentro de nuestro sistema.  El paso siguiente es crear un paquete dentro de nuestro proyecto, le damos clic derecho en la parte azul de la imagen de arriba que es el nombre de nuestro proyecto, y tomamos la opción New, luego buscamos donde dice pytho packege.</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/insertar_5.png"><img class="aligncenter size-full wp-image-128" title="insertar_5" src="http://cumbredigital.wordpress.com/files/2009/11/insertar_5.png" alt="" width="480" height="341" /></a></p>
<p>Nos pedira el nombre del paquete, le he puesto general.</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/insertar_6.png"><img class="aligncenter size-full wp-image-129" title="insertar_6" src="http://cumbredigital.wordpress.com/files/2009/11/insertar_6.png" alt="" width="480" height="112" /></a></p>
<p>Lo que caracteriza a una carpeta dentro de un proyecto de python que sea un paquete es el archivo __init__.py. De nuevo le damos clic sobre el nombre del proyecto y seleccionamos New, buscamos la opción de new module, un modulo es un archivo .py, nos aparece una ventana en la cual nos pedira el nombre del modulo que en mi caso he colocado ejemplo, no es necesario colocar  .py.</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/insertar_7.png"><img class="aligncenter size-full wp-image-131" title="insertar_7" src="http://cumbredigital.wordpress.com/files/2009/11/insertar_7.png" alt="" width="479" height="363" /></a></p>
<p>Veremos algo como lo que sigue:</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/insertar_8.png"><img class="aligncenter size-full wp-image-132" title="insertar_8" src="http://cumbredigital.wordpress.com/files/2009/11/insertar_8.png" alt="" width="480" height="110" /></a></p>
<p>hey !!! hey !!!! ya estamos listo para crear nuetro proyecto. Dentro de nuestro modulo ejemplo escribiremos todo, el ambiente de trabajo que vamos a simular es un registro de algunos estudiantes, y practicamos herencia y  funciones. Listo muestro lo que es la clase Persona:</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/clasepersona.png"><img class="aligncenter size-full wp-image-134" title="clasePersona" src="http://cumbredigital.wordpress.com/files/2009/11/clasepersona.png" alt="" width="480" height="380" /></a></p>
<p>En la linea 1 se escribe la linea en la cual el modulo encuentra el interprete de python dentro del entorno de ejecución. De la linea de 3 a 6 es un comentario para la api del proyecto. De la 8 a la 28 se declara la clase Persona. De la 9 a 11 se declara el constructor de la clase en la cual se declara los atributos de la clase Persona en esta clase se ha declarado nombre y cedula. Explico lo que significa la linea 10 y 11 es en la cual se asigna los atributos que en este caso se encapsulan en modo private.</p>
<p>self.__nombre = nombre</p>
<p>self.__cedula = cedula</p>
<p>Cuando tienes una asignación de la siguiente manera self.__ ,  quiere decir que es una variable privada. Luego en la linea 14 declaramos los metodos get de la clase Persona, en este caso los get de nombre y cedula.  Los metodos get sirven para mostrar lo atributos privados de la clase. En la linea 21 declaramos los metodos set de la clase Persona estos metodos nos permite actualizar los atributos privados de la clase. Por ultimo declarmos un metodo toString que es una cosa que me quedo de java, pero si no lo quieres implementar no importa. Este metodo lo que hace es imprimir los atributos de una forma ordenada.</p>
<p>Luego coloco la clase Estudiante con herencia hacia Persona.</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/claseestudiante.png"><img class="aligncenter size-full wp-image-137" title="claseEstudiante" src="http://cumbredigital.wordpress.com/files/2009/11/claseestudiante.png" alt="" width="480" height="249" /></a></p>
<p>De esta clase solo se explica la linea 31 en la cual se declara la herencia dentro de los parentices, en python se puede hacer herencia multiple en la cual separas las clases con comas. Entonces dentro del constructor de Estudiante debo ejecutar el constructor de mi padre Persona que seria de la siguiente manera:</p>
<p>Persona.__init__(self, nombre, cedula)</p>
<p>le pasamos los datos al constructor padre. Y luego se asignan los nuevos atributos de Estudiante que efectivamente son privados. Al final de la clase declaro toString para mostrar los datos ordenados, como tengo herencia hacia Persona ejecutamos el toStrinf de Persona primero y luego los datos de Estudiante.</p>
<p>Ahora tengo una serie de metodos que manipulan ls clases.</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/metodos.png"><img class="aligncenter size-full wp-image-139" title="metodos" src="http://cumbredigital.wordpress.com/files/2009/11/metodos.png" alt="" width="480" height="411" /></a></p>
<p>Comienzo con un metodo imprimir en el cual le paso un lista y con un for recorro e imprimo todos los objetos que he guardado. Por cada elemento ejecuto el toString() de cada objeto Estudiante. Entonces el metodo main declaro la lista vacia para guardar los objetos Estudiantes, luego una variable llamada numeroEstudiantes en la cual por asuntos de prueba, solo coloco 2 iteraciones. Utilizo un while para recorrer las dos opciones, por cada iteración agrego con el metodo de la lista append cada Estudiante, con el metodo de captura de datos raw_input tomo los datos de cada Estudiante.  Por ultimo ejecuto el main con el truco:</p>
<p>if __name__ == &#8220;__main__&#8221;:</p>
<p>Ahora ejecutamos,</p>
<p><a href="http://cumbredigital.wordpress.com/files/2009/11/prueba.png"><img class="aligncenter size-full wp-image-141" title="prueba" src="http://cumbredigital.wordpress.com/files/2009/11/prueba.png" alt="" width="480" height="163" /></a></p>
<p>para probar el codigo nos dirigimos hacia el botón verde de play en la parte superior, luego buscas la opción python run !!! y tolis te aparece la consola, debajo en el cual puedes introduccir los datos.</p>
<p>Hey hey me dio mucho gusto escribie este post un saludo <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Je n'ai jamais saisi Django Reinhardt]]></title>
<link>http://josephghosn.com/2009/11/22/je-nai-jamais-compris-django-reinhardt/</link>
<pubDate>Sun, 22 Nov 2009 04:13:31 +0000</pubDate>
<dc:creator>joseph</dc:creator>
<guid>http://josephghosn.com/2009/11/22/je-nai-jamais-compris-django-reinhardt/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/-iJ7bs4mTUY&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/-iJ7bs4mTUY&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Django na kolosie]]></title>
<link>http://tweetless.wordpress.com/2009/11/20/django-na-kolosie/</link>
<pubDate>Fri, 20 Nov 2009 21:47:46 +0000</pubDate>
<dc:creator>tweetless</dc:creator>
<guid>http://tweetless.wordpress.com/2009/11/20/django-na-kolosie/</guid>
<description><![CDATA[Serwer kolos daje nam możliwość umieszczania swoich skryptów napisanych przy pomocy frameworka Djang]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Serwer <a href="http://kolos.math.uni.lodz.pl">kolos</a> daje nam możliwość umieszczania swoich skryptów napisanych przy pomocy frameworka Django. By przenieść się w fazę &#8220;produkcyjną&#8221;, w katalogu /home/user/public_html wrzucamy plik <strong>.htaccess</strong> o następującej zawartości:<br />
<code><br />
SetHandler mod_python<br />
PythonPath "['/home/<strong>user/django_projects</strong>'] + sys.path"<br />
PythonOption mod_python.importer.path "['/home/<strong>user/django_projects</strong>']+ sys.path"<br />
PythonHandler django.core.handlers.modpython<br />
PythonDebug On<br />
SetEnv DJANGO_SETTINGS_MODULE <strong>nazwa</strong>.settings<br />
</code></p>
<p>Przy czym nasze projekty umieszczone są w katalogu /home/user/django_projects i <strong>nazwa</strong>, to nazwa projektu z tego katalogu. Linijka, gdzie się znajduje &#8220;PythonDebug On&#8221; powinna być odkomentowana tylko na czas sprawdzenia instalacji.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Intro]]></title>
<link>http://djangoinsight.wordpress.com/2009/11/20/intro/</link>
<pubDate>Fri, 20 Nov 2009 21:15:35 +0000</pubDate>
<dc:creator>pytale</dc:creator>
<guid>http://djangoinsight.wordpress.com/2009/11/20/intro/</guid>
<description><![CDATA[Hello world. I&#8217;ve created this blog for myself mainly so I can collect and organize various in]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Hello world.</p>
<p>I&#8217;ve created this blog for myself mainly so I can collect and organize various info regarding developing web-apps with Django &#38; Python.</p>
<p>But, nonetheless, if this blog will help somebody to solve an issue they have &#8211; that&#8217;d be great.</p>
<p>So, let&#8217;s go. Let&#8217;s see what I&#8217;ll be able to come up with.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Os Melhores Podcasts de Tecnologia para Desenvolvedores  ]]></title>
<link>http://andrefaria.com/2009/11/20/os-melhores-podcasts-de-tecnologia-para-desenvolvedores/</link>
<pubDate>Fri, 20 Nov 2009 14:32:29 +0000</pubDate>
<dc:creator>andrefaria</dc:creator>
<guid>http://andrefaria.com/2009/11/20/os-melhores-podcasts-de-tecnologia-para-desenvolvedores/</guid>
<description><![CDATA[Um dos maiores problemas da sociedade moderna é a dificuldade de locomoção diária, a maioria das pes]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Um dos maiores problemas da sociedade moderna é a dificuldade de locomoção diária, a maioria das pessoas passa horas em seus carros, ou em meios de transporte públicos para irem de lugar a outro. Há alguns anos atrás quando morava na zona norte de São Paulo e trabalha na zona sul, essa era minha realidade. Uma vez que naquela época passar por isso era inevitável procurei formas de fazer com esse tempo pudesse de alguma forma torna-se produtivo, foi então que comecei a ouvir à podcasts.</p>
<div class="wp-caption aligncenter" style="width: 410px"><a href="http://www.flickr.com/photos/dantaylor/87397283/"><img class=" " title="iPod FM radio remote por dan taylor" src="http://farm1.static.flickr.com/41/87397283_ebc7fbaadc.jpg" alt="iPod FM radio remote por dan taylor" width="400" height="300" /></a><p class="wp-caption-text">iPod FM radio remote por dan taylor</p></div>
<p>De acordo com a Wikipedia, Podcasting é uma forma de publicação de arquivos de mídia digital (áudio, vídeo, foto, etc.) pela Internet, através de um feed RSS, que permite aos utilizadores acompanhar a sua atualização. Assim, é possível o acompanhamento e/ou download automático do conteúdo de um podcast.</p>
<p>Neste post apresentarei os podcasts aos quais escuto e os episódios principais para que você ouça. Sugiro que você utilize o iTunes para inscrever-se nos podcasts e sincronizar com seu iPod.</p>
<h2>Desenvolvimento Ágil</h2>
<div class="wp-caption aligncenter" style="width: 410px"><a href="http://www.flickr.com/photos/pcalcado/2268593480/in/set-72157604854195771/"><img class=" " title="por pcalcado" src="http://farm3.static.flickr.com/2050/2268593480_68100bfa7c.jpg" alt="por pcalcado" width="400" height="300" /></a><p class="wp-caption-text">por pcalcado</p></div>
<h4>Podcast da ImproveIt</h4>
<p><span style="font-weight:normal;">por Vinícius Teles<br />
<a href="http://improveit.com.br/podcast">http://improveit.com.br/podcast<br />
</a>Português</span></p>
<ul>
<li><a href="http://improveit.com.br/podcast/improvecast-13-entrevista-alisson-vale-experiencias-ageis">Entrevista com Alisson Vale da Phidelis</a></li>
<li><a href="http://improveit.com.br/podcast/improvecast-11-entrevista-alexandre-magno-fdd-scrum-experiencias-ageis">Entrevista com Alexandre Magno na Série Experiências Ágeis</a></li>
<li><a href="http://improveit.com.br/podcast/improvecast-8-entrevista-carlos-barbieri-mpsbr">Entrevista com Carlos Barbieri sobre o MPS.BR</a></li>
<li><a href="http://improveit.com.br/podcast/improvecast-19-entrevista-ancar-experiencias-ageis">Entrevista com a equipe da Ancar na Série Experiências Ágeis</a></li>
</ul>
<h4>AgilCast</h4>
<p><span style="font-weight:normal;">Por AgilCoop<br />
<a href="http://agilcoop.incubadora.fapesp.br/portal/agilcast">http://agilcoop.incubadora.fapesp.br/portal/agilcast<br />
</a>Português</span></p>
<ul>
<li><a href="http://agilcoop.incubadora.fapesp.br/portal/agilcast/episodios/Agilcast03-Testes.mp3">Uma Visão Geral Sobre Scrum</a></li>
<li><a href="http://agilcoop.incubadora.fapesp.br/portal/agilcast/episodios/Agilcast03-Testes.mp3">Testes Automatizados</a></li>
<li><a href="http://agilcoop.incubadora.fapesp.br/portal/agilcast/episodios/Agilcast04-bds-ageis.mp3">Bancos de dados ágeis e refatoração de bancos de dados</a></li>
</ul>
<h4>Agile Toolkit Podcast<br />
<span style="font-weight:normal;"><a href="http://agiletoolkit.libsyn.com">http://agiletoolkit.libsyn.com</a><br />
Inglês</span></h4>
<ul>
<li><a href="http://agiletoolkit.libsyn.com/index.php?post_id=537344">Tom Goulet &#8211; Cucumber, Ruby and the transition to Generalizing Specialist (2009)</a></li>
<li><a href="http://agiletoolkit.libsyn.com/index.php?post_id=530103">Jim Miller &#8211; The Product Owner Role and Business Alignmnet</a></li>
<li><a href="http://agiletoolkit.libsyn.com/index.php?post_id=482372">Tips and Advice &#8211; Retrospectives</a></li>
</ul>
<h4>ThoughtWorks Podcast</h4>
<p><span style="font-weight:normal;"><a href="http://www.thoughtworks.com/what-we-say/podcasts.html">http://www.thoughtworks.com/what-we-say/podcasts.html</a><br />
Inglês</span></p>
<h2>Open Source</h2>
<h4><strong>FLOSS Weekly</strong></h4>
<p><span style="font-weight:normal;">por Leo Laport, Jono Bacon e Randal Schwartz<br />
Inglês</span></p>
<ul>
<li><a href="http://twit.tv/floss87">Entrevista com Kent Beck sobre Extreme Programming (XP)</a></li>
<li><a href="http://twit.tv/floss88">Entrevista com Linus Torvalds, o criador do Linux e do Git</a></li>
<li><a href="http://twit.tv/floss79">Entrevista com David Heinemeier Hansson criador do Ruby On Rails</a></li>
<li><a href="http://twit.tv/floss73">Entrevista com Tim O&#8217;Reilly, fundador e CEO da  O&#8217;Reilly Media</a></li>
<li><a href="http://twit.tv/floss55">Entrevista com John Resig criador e líder do Projeto jQuery</a></li>
<li><a href="http://twit.tv/floss36">Entrevista com Jan Lehnardt evangelista do projeto CouchDB</a></li>
<li><a href="http://twit.tv/floss34">Entrevista com  Jacob Kaplan-Moss criador do Django</a></li>
<li><a href="http://twit.tv/floss33">Entrevista com Bruno Souza sobre o OpenJDK</a></li>
<li><a href="http://twit.tv/floss27">Entrevista com Ward Cunningham inventor do Wiki e grande Personalidade da Comunidade Ágil</a></li>
<li><a href="http://twit.tv/floss26">Entrevista com  D. Richard Hipp criador do SQLite</a></li>
<li><a href="http://twit.tv/floss23">Entrevista com Nate Koechley sobre o Yahoo User Interface Library (YUI)</a></li>
<li><a href="http://twit.tv/floss19">Entrevista com Junio Hamano, Mantenedor do Git</a></li>
<li><a href="http://twit.tv/floss12">Entrevista com Rasmus Lerdorf, criador do PHP</a></li>
<li><a href="http://twit.tv/floss11">Entrevista com Guido van Rossum, Criador do Python</a></li>
<li><a href="http://twit.tv/floss7">Entrevista com o fundador da Wikipedia, Jimmy Wales</a></li>
</ul>
<h2>Java</h2>
<div class="wp-caption aligncenter" style="width: 410px"><a href="http://www.flickr.com/photos/amloq/302981047/"><img class=" " title="HorecaExpo - Java por bramloquet" src="http://farm1.static.flickr.com/107/302981047_6e74b21ecb.jpg" alt="HorecaExpo - Java por bramloquet" width="400" height="300" /></a><p class="wp-caption-text">HorecaExpo - Java por bramloquet</p></div>
<h4>JavaPosse</h4>
<p><span style="font-weight:normal;">Por Tor Norbye, Carl Quinn, Dick Wall e Joe Nuxoll<br />
Inglês<br />
<a href="http://www.javaposse.com"> http://www.javaposse.com</a></span></p>
<h4>Java Technology Insider</h4>
<p><span style="font-weight:normal;">Inglês<br />
<a href="http://www.javaworld.com/podcasts/jtech/"> http://www.javaworld.com/podcasts/jtech</a></span></p>
<ul>
<li><a href="http://www.javaworld.com/podcasts/jtech/2008/100708jtech.html">Rod Johnson: SpringSource and the future of Spring (2008)</a></li>
</ul>
<h4>Grails Podcast</h4>
<p><span style="font-weight:normal;">Por Glen Smith e Sven Haiges<br />
<a href="http://grailspodcast.com"> http://grailspodcast.com</a></span></p>
<h2>Ruby</h2>
<div class="wp-caption aligncenter" style="width: 410px"><a href="http://www.flickr.com/photos/nez/177722693/"><img class=" " title="Ruby on Rails por Andrew*" src="http://farm1.static.flickr.com/74/177722693_8aca6c7e82.jpg" alt="Ruby on Rails por Andrew*" width="400" height="320" /></a><p class="wp-caption-text">Ruby on Rails por Andrew*</p></div>
<h4>Rails Envy</h4>
<p><span style="font-weight:normal;">Por Jason Seifer e Gregg Pollack<br />
Inglês<br />
<a href="http://railsenvy.com"> http://railsenvy.com</a></span></p>
<h4>Rails Podcast</h4>
<p><span style="font-weight:normal;">por Geoffrey Grosenbach<br />
Inglês<br />
<a href="http://podcast.rubyonrails.com/"> http://podcast.rubyonrails.com/</a></span></p>
<ul>
<li><a href="http://podcast.rubyonrails.com/programs/1/episodes/david_heinemeier_hansson">Entrevista com David Heinemeier Hansson (2005)</a></li>
<li><a href="http://podcast.rubyonrails.com/programs/1/episodes/dave_thomas">Entrevista com Dave Thomas (2005)</a></li>
<li><a href="http://podcast.rubyonrails.com/programs/1/episodes/chad_fowler">Entrevista com Chad Fowler (2005)</a></li>
<li><a href="http://podcast.rubyonrails.com/programs/1/episodes/obie_fernandez">Entrevista com Obie Fernandez (2006)</a></li>
<li><a href="http://podcast.rubyonrails.com/programs/1/episodes/dave_thomas_and_mike_clark">Entrevista com Dave Thomas e Mike Clark (2006)</a></li>
</ul>
<h4>Rubiverse Podcast</h4>
<p><span style="font-weight:normal;">Por Mike Moore<br />
Ingles<br />
<a href="http://rubiverse.com"> http://rubiverse.com</a></span></p>
<ul>
<li><a href="http://rubiverse.com/podcasts/8-dave-hoover-on-software-craftsmanship">Dave Hoover on Software Crafsmanship (2009)</a></li>
<li><a href="http://rubiverse.com/podcasts/6-obie-fernandez-on-rails-maturity-model">Obie Fernandez on the Rails Maturity Model (2009)</a></li>
<li><a href="http://rubiverse.com/podcasts/5-ola-bini-on-polyglot-programming">Ola Bini on Polyglot Programming (2008)</a></li>
</ul>
<h2>JavaScript</h2>
<h4>jQuery Podcast</h4>
<p><span style="font-weight:normal;">Português<br />
<a href="http://blog.jquery.com/2009/11/13/announcing-the-official-jquery-podcast/"> http://blog.jquery.com/2009/11/13/announcing-the-official-jquery-podcast/</a></span></p>
<h2>Gadgets</h2>
<h4>GeekBrief TV</h4>
<p><span style="font-weight:normal;">por Cali Lewis<br />
Inglês<br />
<a href="http://www.geekbrief.tv"> http://www.geekbrief.tv</a></span></p>
<h2>Software</h2>
<div class="wp-caption aligncenter" style="width: 410px"><a href="http://www.flickr.com/photos/gesteves/2103477382/"><img class=" " title="Desk por Guillermo Esteves" src="http://farm3.static.flickr.com/2134/2103477382_ddce67a270.jpg" alt="Desk por Guillermo Esteves" width="400" height="300" /></a><p class="wp-caption-text">Desk por Guillermo Esteves</p></div>
<h4>Pragmatic Podcasts</h4>
<p><span style="font-weight:normal;">por Pragmatic Bookshelf<br />
Inglês<br />
<a href="http://www.pragprog.com/podcasts"> http://www.pragprog.com/podcasts</a></span></p>
<ul>
<li><a href="http://www.pragprog.com/podcasts/show/26">Chad Fowler on the Passionate Programmer</a></li>
<li><a href="http://www.pragprog.com/podcasts/show/20">Fred Daoud on Stripes</a></li>
<li><a href="http://www.pragprog.com/podcasts/show/19">Chad Fowler Finding the Jagged Edges</a></li>
<li><a href="http://www.pragprog.com/podcasts/show/13">Andy Hunt on Pragmatic Wetware</a></li>
</ul>
<h4>Software Engineering Radio</h4>
<p><span style="font-weight:normal;">por Software Engineering Radio<br />
<a href="http://www.se-radio.net"> http://www.se-radio.net</a><br />
Inglês</span></p>
<ul>
<li><a href="http://www.se-radio.net/podcast/2009-11/episode-148-software-archaeology-dave-thomas">Software Archaelogy with Dame Thomas</a></li>
<li><a href="http://www.se-radio.net/podcast/2009-06/episode-139-fearless-change-linda-rising">Fearless Change with Linda Rising</a></li>
<li><a href="http://www.se-radio.net/podcast/2009-06/episode-138-learning-part-development-allan-kelly">Learning as a Part of Development with Allan Kelly</a></li>
<li><a href="http://www.se-radio.net/podcast/2009-06/episode-137-sql-jim-melton">SQL with Jim Melton</a></li>
<li><a href="http://www.se-radio.net/podcast/2009-04/episode-133-continuous-integration-chris-read">Continuous Integration with Chris Read</a></li>
<li><a href="http://www.se-radio.net/podcast/2009-04/episode-132-top-10-architecture-mistakes-eoin-woods">Top 10 Architecture Mistakes with Eoin Woods</a></li>
<li><a href="http://www.se-radio.net/podcast/2009-02/episode-127-usability-joachim-machate">Usability with Joachim Machate</a></li>
<li><a href="http://www.se-radio.net/podcast/2008-08/episode-106-introduction-aop">Introduction to AOP with Christa Schwanninger e Iris Groher</a></li>
<li><a href="http://www.se-radio.net/podcast/2008-07/episode-105-retrospectives-linda-rising">Retrospectives with Linda Rising</a></li>
<li><a href="http://www.se-radio.net/podcast/2008-07/episode-103-10-years-agile-experiences">10 years of Agile Experiences</a></li>
<li><a href="http://www.se-radio.net/podcast/2008-03/episode-89-joe-armstrong-erlang">Joe Armstrong on Erlang</a></li>
<li><a href="http://www.se-radio.net/podcast/2008-02/episode-86-interview-dave-thomas">Interview Dave Thomas</a></li>
<li><a href="http://www.se-radio.net/podcast/2008-01/episode-84-dick-gabriel-lisp">Dick Gabriel on Lisp</a></li>
<li><a href="http://www.se-radio.net/podcast/2008-01/episode-83-jeff-deluca-feature-driven-development">Jeff DeLuca on Feature Driven Development</a></li>
<li><a href="http://www.se-radio.net/podcast/2007-12/episode-81-interview-erich-gamma">Interview Erich Gamma</a></li>
<li><a href="http://www.se-radio.net/podcast/2007-10/episode-70-gerard-meszaros-xunit-test-patterns">Gerard Meszaros on XUnit Test Patterns</a></li>
<li><a href="http://www.se-radio.net/podcast/2007-06/episode-59-static-code-analysis">Static Code Analysis with Jonathan Aldrich</a></li>
<li><a href="http://www.se-radio.net/podcast/2007-02/episode-46-refactoring-pt-1">Refactoring Pt. 1</a></li>
<li><a href="http://www.se-radio.net/podcast/2007-05/episode-55-refactoring-pt-2">Refactoring Pt. 2</a></li>
<li><a href="http://www.se-radio.net/podcast/2006-11/episode-37-extreme-programming-pt-1">eXtreme Programming Pt.1</a></li>
<li><a href="http://www.se-radio.net/podcast/2007-01/episode-43-extreme-programming-pt2">eXtreme Programming Pt.2</a></li>
<li><a href="http://www.se-radio.net/podcast/2006-10/episode-31-agile-documentation">Agile Documentation</a></li>
<li><a href="http://www.se-radio.net/podcast/2006-08/episode-26-interview-jutta-eckstein">Interview Jutta Eckstein</a></li>
<li><a href="http://www.se-radio.net/podcast/2006-03/episode-8-interview-eric-evans">Interview Eric Evans</a></li>
<li><a href="http://www.se-radio.net/podcast/2006-01/episode-1-patterns">Patterns</a></li>
</ul>
<h4>Elegant Code</h4>
<p><span style="font-weight:normal;">por Elegant Code Community<br />
<a href="http://elegantcode.com"> http://elegantcode.com</a><br />
Inglês</span></p>
<ul>
<li><a href="http://elegantcode.com/2009/08/31/code-cast-31-agile-for-families">Agile for Families</a></li>
<li><a href="http://elegantcode.com/2009/07/23/code-cast-28-jim-wierich">Entrevista com Jim Wierich o Criador do Rake (Ruby)</a></li>
<li><a href="http://elegantcode.com/2008/12/12/code-cast-17-david-laribee-on-lean-kanban">David Laribee on Lean / Kanban</a></li>
<li><a href="http://elegantcode.com/2008/09/30/cast-cast-15-uncle-bob-martin/">Uncle Bob Martin on Clean Code</a></li>
<li><a href="http://elegantcode.com/2008/08/27/code-cast-12-alan-shalloway/">Alan Shalloway on Lean</a></li>
<li><a href="http://elegantcode.com/2008/05/13/elegant-code-cast-8-is-online/">Entrevista com Jarod Ferguson</a></li>
<li><a href="http://elegantcode.com/2008/03/30/elegant-code-cast-6-is-up/">Entrevista com Darrel Carver</a></li>
<li><a href="http://elegantcode.com/2008/03/02/elegant-code-cast-4-is-up/">Entrevista com Scott Nichols</a></li>
<li><a href="http://elegantcode.com/2008/01/13/elegant-code-cast-2-online/">Entrevista com Scott Schimanski</a></li>
</ul>
<h4>Google Developer Podcast</h4>
<p><span style="font-weight:normal;"><a href="http://code.google.com/p/google-developer-podcast/downloads/list">http://code.google.com/p/google-developer-podcast/downloads/list</a><br />
Inglês</span></p>
<h4>Hearding Code</h4>
<p><span style="font-weight:normal;"><a href="http://herdingcode.com">http://herdingcode.com</a><br />
Inglês</span></p>
<h2>Tecnologia</h2>
<h4>IT Conversations</h4>
<p><span style="font-weight:normal;"><a href="http://itc.conversationsnetwork.org">http://itc.conversationsnetwork.org</a><br />
Inglês</span></p>
<h4>net@Night</h4>
<p><span style="font-weight:normal;">por Amber MacArthur e Leo Laport<br />
<a href="http://www.twit.tv/natn"> http://www.twit.tv/natn</a></span></p>
<h4>Twit &#8211; This Week in Tech</h4>
<p><span style="font-weight:normal;">por  Leo Laporte, Jeff Jarvis, Baratunde Thurston, e John C. Dvorak<br />
<a href="http://www.twit.tv/twit"> http://www.twit.tv/twit</a></span></p>
<h4>MacBreak Weekly</h4>
<p><span style="font-weight:normal;">por Leo Laporte, Don McAllister, Paul Kent, and Andy Ihnatko<br />
<a href="http://www.twit.tv/mbw"> http://www.twit.tv/mbw</a></span></p>
<h4>This Week in Google</h4>
<p><span style="font-weight:normal;">por Leo Laporte, Gina Trapani, Jeff Jarvis e Mary Hodder<br />
<a href="http://www.twit.tv/twig"> http://www.twit.tv/twig</a></span></p>
<h4>SitePoint Podcast</h4>
<p><span style="font-weight:normal;">inglês<br />
<a href="http://www.sitepoint.com/podcast"> http://www.sitepoint.com/podcast </a></span></p>
<h2>Empreendedorismo e Negócios</h2>
<h4>37 Signals Podcast</h4>
<p><span style="font-weight:normal;">por 37 Signals<br />
Inglês<br />
<a href="http://37signals.com/podcast"> http://37signals.com/podcast</a></span></p>
<h4>Max Gehringer (CBN)</h4>
<p><span style="font-weight:normal;">por Max Gehringer<br />
Português<br />
<a href="http://cbn.globoradio.globo.com/servicos/podcast/NOME.htm"> http://cbn.globoradio.globo.com/servicos/podcast/NOME.htm</a></span></p>
<h4>Mundo Corporativo (CBN)</h4>
<p><span style="font-weight:normal;">por Heródoto Barbeiro<br />
Português em Áudio<br />
<a href="http://cbn.globoradio.globo.com/servicos/podcast/NOME.htm"> http://cbn.globoradio.globo.com/servicos/podcast/NOME.htm</a></span></p>
<h4>The Startup Success Podcast</h4>
<p><span style="font-weight:normal;"><a href="http://startuppodcast.wordpress.com">http://startuppodcast.wordpress.com</a><br />
Inglês</span></p>
<h4>TED Talks</h4>
<p><span style="font-weight:normal;">por TED Talks<br />
Inglês<br />
<a href="http://www.ted.com"> http://www.ted.com</a></span></p>
<p>Se você quiser incluir algum outro podcast nesta lista, deixe um comentário. Espero que seja Útil!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Django - Palestra Jacob Kaplan-Moss 2006 ... ]]></title>
<link>http://chevitarese.wordpress.com/2009/11/18/django-palestra-jacob-kaplan-moss-2006/</link>
<pubDate>Wed, 18 Nov 2009 13:19:59 +0000</pubDate>
<dc:creator>fchevitarese</dc:creator>
<guid>http://chevitarese.wordpress.com/2009/11/18/django-palestra-jacob-kaplan-moss-2006/</guid>
<description><![CDATA[Opa!!! Nem é notícia, nem mesmo um achado&#8230; É uma palestra do Jacob Kaplan-Moss feita em 2006 n]]></description>
<content:encoded><![CDATA[Opa!!! Nem é notícia, nem mesmo um achado&#8230; É uma palestra do Jacob Kaplan-Moss feita em 2006 n]]></content:encoded>
</item>
<item>
<title><![CDATA[Django]]></title>
<link>http://ujiyasu.wordpress.com/2009/11/18/django/</link>
<pubDate>Wed, 18 Nov 2009 10:00:43 +0000</pubDate>
<dc:creator>ujiyasu</dc:creator>
<guid>http://ujiyasu.wordpress.com/2009/11/18/django/</guid>
<description><![CDATA[Oh,Fishing? I go out. ん？釣りしてんの？でかけてくるよ。  I come  to Django. This regions are Regions of few scene se]]></description>
<content:encoded><![CDATA[Oh,Fishing? I go out. ん？釣りしてんの？でかけてくるよ。  I come  to Django. This regions are Regions of few scene se]]></content:encoded>
</item>
<item>
<title><![CDATA[Att förändra och genomgripa]]></title>
<link>http://martinbagge.wordpress.com/2009/11/17/att-forandra-och/</link>
<pubDate>Tue, 17 Nov 2009 21:14:45 +0000</pubDate>
<dc:creator>br0ther</dc:creator>
<guid>http://martinbagge.wordpress.com/2009/11/17/att-forandra-och/</guid>
<description><![CDATA[Jag målade in mig lite i ett hörn när jag började med den här serien med inlägg. Ingen dag har känts]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Jag målade in mig lite i ett hörn när jag började med den här serien med inlägg. Ingen dag har känts helt rätt för att skriva det sista inlägget &#8211; det i sin tur har hindrat mig från att släng in smånotiser i bloggen med. Trist.</p>
<p>Nu är det så dags att avsluta, storstilat avsluta till och med. Detta inlägg kommer att behandla och vara en historieskrivning för <a href="https://www.bthstudent.se">Blekinge studentkårs</a> aktiva arbete med öppen källkod. Studentkåren har länge varit en förkämpe och stor nyttjare av öppen källkod men man har inte precist levt som man lär. Vi är väl inte hela vägen fram i något som andra kan ta del av men ambitionen finns där.</p>
<p>Vårterminen 2005 började jag engagera mig i studentkårens sektion för kårpuben i Ronneby. Som nyvald informationsansvarig blev jag involverad i driften av informationssystemet som en ensam stackare utvecklat för sektionens vinst. När jag var en del av driften av de fysiska maskinerna blev jag snart en del av utvecklingen av koden också. Det var inte precis något kontrollerat och snyggt uppstyrt bygge vi hade att göra med här. Men det funkade och folk var nöjda med hur det blev. Åren gick och när jag lämnat sektionen satt jag kvar med inloggningar och hjälpte till med lagningar. Efter mig på informationsposten hamnade Lars/Läffe/Laeffe &#8211; även han hängde kvar och i sin tur drog han in Jonas/DrLaban i det hela. Det var bara underhåll och i någon yttepytte mån kunde det hamna en ny funktion på sidan. Undantagsfall. Tills sommaren 2008.</p>
<p>I maj 2008 tog DrLaban initiativet till att vi skulle göra något mer med det som kallas &#8220;<a href="https://karen.bthstudent.se">kårsajten</a>&#8220;. Laga fel, lägga till funktioner och helt enkelt ta hand om den. Jag skulle börja min sista termin på <a href="http://www.bth.se">BTH</a> och hade inget särskilt för mig utöver studier. Det är dessutom roligare om man kan snacka med nån om det man gör än att bara sitta hemma och hitta på egna ideer och se om de funkar. Jag hoppade på tåget. Med följde dessutom både DrLaban och Laeffe. Snart hörde Emma/Soya och Thomas/Tomten av sig och även de hakade på. Tomten mer åt drift, säkerhet och kringsystem medan Soya grävde ner sig rejält i koden tillsammans med oss andra tre. Vi jobbade på bra, DrLaban och Laeffe drev på i utvecklingsmetodikspåret som de vana PT-studenter de är och en metod närliggande Scrum började nyttjas. Allt gick inte tokbra men det blev ganska snyggt. Vi strukturerade upp källkoden i ett kodförråd i Subversion, kopplade det till projektverktyget <a href="http://trac.sis.bthstudent.se">Trac</a> och det skapades en massa dokumentation och ideer på nya funktioner och koncept föddes. Vi drog lite åt olika håll och vi gör väl det fortfarande men arbetet löper på så jädra snyggt månad efter månad. Det har nu gått ett och ett halvt år i arbetet med kårsajten, vi har numera börjat jobba med att ta in åsikter och ideer från kårhussektionerna som en naturlig del i processen. Ytterligare en källa till inspiration och irritation. Det ser ut att gå riktigt bra.</p>
<p>Men det är inte änden på historien, det är snarare historien i sin linda. För ungefär ett år sedan började kårstyrelsen intressera sig för vad vi sysslade med. Jag hade aviserat att jag skulle nog flytta från Blekinge halvsnart så det stöd jag var i att ta hand om mailsystem och annat behövde omvärderas.</p>
<p>För att vi fem skulle kunna utveckla kårsajten på ett bra sätt framöver och för att kunna skänka lite struktur för vem som äger vad och hur saker förhåller sig till studentpopulationen så diskuterade vi organisationsform. Att sträva efter att bli en del av studentkårens paraply var vi helt ense om från början. Hur det skulle genomföras var mer svårdefinierat. Vi skrev en Verksamhetsförordning (typ stadga) som reglerade hur arbetet sköttes och leddes och hur vårt förhållande till organisationen såg ut. Den antogs av Kårstyrelsen i december 2008. När vi väl hade blivit <a href="http://sis.bthstudent.se">Sektionen för Internetbaserad Socialisering</a> så hörde Kårstyrelsen av sig och undrade om vi inte kunde ha tid för övriga delar av verksamheten, typ 15-20 servrar och klientdatorer, skrivare, nätverk, kassaapparater och sånt. Det var inte riktigt vad vi planerat och kanske var det inte vad vi skulle gjort men glada och trevliga och vänliga som vi är så sa vi ja och bad att få återkomma med ett förslag på hur.</p>
<p>SIS skulle omformas men grundtanken och processerna skulle kvarstå. Hur i hela friden då? Vi lyckades skapa en organisation i studentkårens sektionsramverk med två nivåer. En visionär övergripande styrelse(Äldsterådet) och autonoma undergrupper (basgrupper). Basgrupperna sätter sina ramar själva om hur de jobbar med vilka verktyg och vilka som är en del av dem. De enda kraven i organisationen är att basgrupperna leds av någon i Äldsterådet, att allting ska göras så öppet det bara går för att leva med den öppna källkodens natur och att sektionen inte ska vara ekonomiskt beroende av någon.</p>
<p>Funkar det då? Det har snart gått ett halvår med den nya organisationen. På papperet fungerar det utmärkt. Fysiskt vet jag inte riktigt. Kårsajtsgruppen jobbar på som sagt. Driftgruppen som tar hand om fysiska maskiner och nätverk och sånt ser ut att funka men det är mycket personberoende och mycket adhoc snarare än strukturerat och tydligt. Väldokumenterat är det dock i driften. För övriga delar är arbetet inte särskilt tydligt eller ens särskilt påtagligt alls. En av grupperna är den jag själv leder, leder och leder förresten. Det har inte hänt så mycket men bot och bättring hoppas jag på =)</p>
<p>Jag tror att konceptet med SIS är bra. Grundstommen i hur gruppen funkar är jättebra. Vi har en del berg kvar att bestiga, ett av dem är att skaffa fler som kan hjälpa till. Vi har alldeles för lite resurser för den kostym vi tagit in i provrummet just nu. Därmed inte sagt att vi inte kan leverera för det kan vi, alla som är med sliter så sjukt hårt och är hjälpsamma och glada och trevliga. Det är nästa steg som saknas och det är ett jädra hästakliv att ta.</p>
<p>Låt oss titta lite mer på det här med tekniken i gruppen. Jag nämnde att kårsajten kör en utvecklingsmetod närliggaden Scrum. Processen för den finns ganska väl dokumenterat i wikin vi använder men i korta drag har vi anpassat saker för att fungera distribuerat på nätet och utan att alla involverade har projektet som huvudsyssla. Istället för dagliga möten har vi avstämningar tisdagar, torsdag och söndagar &#8211; kort och koncist för att fånga besvären i projektet. Dessutom håller alla till på <a href="http://trac.sis.bthstudent.se">Trac</a>, <a href="irc://irc.bsnet.se/sis">IRC</a> och mail så det går att få hjälp relativt omgående. Kårsajten är ett stort PHP-bygge med en MySQL-databas i botten och ett eget ramverk i PHP ovanpå en Debianmaskin som kör Apache.</p>
<p>Som konstrast till strukturerade Kårsajten så har vi då Diariet och 2.0/www, Diariet har haft möten och jag har en intention på hur jag vill jobba med uppdraget men det är inte mycket mer än så idag. Bland annat är det klart och färdigt att vi kommer att skriva den mesta koden i Python och nyttja Django som ramverk &#8211; nya impulser och nya intryck för SIS. 2.0/www styrs av Laeffe och ävan han är helt adhoc så vitt jag vet. Jag tror att det kommer en rejäl runda med grejjer inom de närmsta månaderna där &#8211; det uppdraget är dock mycket mer löst specat än mitt eget som faktiskt ska producera något färdigt till den siste juni 2010.</p>
<p>Blekinge studentkår är inte öppen källkod än men det finns stor potential i det vi bygger inom studentkåren vad gäller både källkod och kultur för att vi snart ska kunna flytta mer saker till öppenheten.</p>
<p>Läs även andra bloggares åsikter om <a rel="tag" href="http://bloggar.se/om/%F6ppen+k%E4llkod">öppen källkod</a>, <a rel="tag" href="http://bloggar.se/om/open+source">open source</a>, <a rel="tag" href="http://bloggar.se/om/php">php</a>, <a rel="tag" href="http://bloggar.se/om/python">python</a>, <a rel="tag" href="http://bloggar.se/om/apache">apache</a>, <a rel="tag" href="http://bloggar.se/om/mysql">mysql</a>, <a rel="tag" href="http://bloggar.se/om/django">django</a>, <a rel="tag" href="http://bloggar.se/om/blekinge+studentk%E5r">blekinge studentkår</a>, <a rel="tag" href="http://bloggar.se/om/bth">bth</a>, <a rel="tag" href="http://bloggar.se/om/sis">sis</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Django - Criando atalhos na ide Komodo]]></title>
<link>http://chevitarese.wordpress.com/2009/11/17/django-criando-atalhos-na-ide-komodo/</link>
<pubDate>Tue, 17 Nov 2009 11:46:02 +0000</pubDate>
<dc:creator>fchevitarese</dc:creator>
<guid>http://chevitarese.wordpress.com/2009/11/17/django-criando-atalhos-na-ide-komodo/</guid>
<description><![CDATA[Opa!!! Bom, esta imagem ao lado, é do Komodo IDE &#8230; Pra quem não sabe, Komodo é uma IDE para de]]></description>
<content:encoded><![CDATA[Opa!!! Bom, esta imagem ao lado, é do Komodo IDE &#8230; Pra quem não sabe, Komodo é uma IDE para de]]></content:encoded>
</item>
<item>
<title><![CDATA[Autofinding and localsettings]]></title>
<link>http://drpinkpony.wordpress.com/2009/11/17/autofinding-and-localsettings/</link>
<pubDate>Tue, 17 Nov 2009 08:07:57 +0000</pubDate>
<dc:creator>jtiai</dc:creator>
<guid>http://drpinkpony.wordpress.com/2009/11/17/autofinding-and-localsettings/</guid>
<description><![CDATA[I like to separate my applications from project code. So basically my project contains only bunch of]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I like to separate my applications from project code. So basically my project contains only bunch of settings files and bunch of modules. One day I felt that different setting.py files was too much. Most of my settings are static so I found out  local settings approach.</p>
<p>I have second configuration file, named local_settings.py to contain settings that are local for that particular instance. And that file is kept as small as possible just to make things easier. It&#8217;s imported quite end of settings.py to override any setting there.</p>
<p>This is nothing new actually. But then I felt that why I always need to play with PYTHONPATH settings and such? Why things just can&#8217;t work seamlessy. And while wondering that I added autofind features to make life easier.</p>
<p>First at all, I use convention /my-module/my_module. It&#8217;s just because I use Eclipse with PyDev and mercurial I wanted to keep all that non-app config and settings from polluting actual application code. My site is constructed like:</p>
<pre>/my-site/my-app1/my_app1
/my-site/my-app2/my_app2
/my-site/my-proj/my_proj</pre>
<p>Rationale behind this is just that root of application may contain some other data than just app itself, documentation, SQL scripts and so on.</p>
<p>We define four new configuration variables for this purposes:</p>
<ul>
<li>AUTOFIND_PATHS
<ul>
<li>Does settings.py try to find paths automatically or not.</li>
</ul>
</li>
<li>AUTOFIND_APP_URLS
<ul>
<li>Does urls.py try to construct toplevel urls automatically or not</li>
</ul>
</li>
<li>AUTOFIND_ROOT
<ul>
<li>Absolute path to toplevel dir where apps are.</li>
</ul>
</li>
<li>MYSITE_APPS
<ul>
<li>List of installed applications for this site (project).</li>
</ul>
</li>
</ul>
<p>Now, let&#8217;s create stripped down settings.py:</p>
<pre class="brush: python;">
import os
import sys
DEBUG = bool(os.environ.get('MYSITE_DEBUG', False))
TEMPLATE_DEBUG = DEBUG

MYSITE_APPS = ()
AUTOFIND_PATHS = False

AUTOFIND_APP_URLS = True
# Default root absolute path to (../..)
AUTOFIND_ROOT = os.path.abspath(os.path.dirname(os.path.abspath(__file__))  + '/../../')

# Import local_settings always to override global settings
from local_settings import *

INSTALLED_APPS = INSTALLED_APPS + MYSITE_APPS

# Autofinder
if AUTOFIND_PATHS:
    _finder_root = AUTOFIND_ROOT

    # Automatically inject all listed apps to path using our convention:
    for app in MYSITE_APPS:
        try:
            sys.path.index(_finder_root + '/' + app.replace('_', '-'))
        except ValueError:
            sys.path.append(_finder_root + '/' + app.replace('_', '-'))
</pre>
<p>And then you need your local_settings.py which is file that is meant to be modified locally. Do not store it under version control.</p>
<p>local_settings.py:</p>
<pre class="brush: python;">
DEBUG = True

# List your apps here
MYSITE_APPS = (
    # 'my_app',
)

AUTOFIND_PATHS = True
AUTOFIND_APP_URLS = True
</pre>
<p>To push automation even further it&#8217;s nice to get app urls automatically imported. So modify your toplevel urls.py to look something like:</p>
<pre class="brush: python;">
# Autofind plugin URLs.
if settings.AUTOFIND_APP_URLS:
     for app in settings.MYSITE_APPS:
         try:
             m = getattr(__import__('%s.urls' % app), 'urls')
             p = getattr(m, 'urlpatterns')
             urlpatterns += patterns('', ('^%s/' % app, include(p)), )
         except (ImportError, AttributeError):
             pass # Pass silently import errors
</pre>
<p>Now you should be good to go. You can easily vary this according to your preferences and workstyles.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Django, referencias...]]></title>
<link>http://pythonrs.wordpress.com/2009/11/16/django-referencias/</link>
<pubDate>Mon, 16 Nov 2009 20:09:44 +0000</pubDate>
<dc:creator>Sérgio</dc:creator>
<guid>http://pythonrs.wordpress.com/2009/11/16/django-referencias/</guid>
<description><![CDATA[Bom, tem mais dois links interessantes sobre o Django,  um que mostra alguns sites construidos com D]]></description>
<content:encoded><![CDATA[Bom, tem mais dois links interessantes sobre o Django,  um que mostra alguns sites construidos com D]]></content:encoded>
</item>
<item>
<title><![CDATA[Django e codificação de arquivos]]></title>
<link>http://pythonrs.wordpress.com/2009/11/16/django-e-codificacao-de-arquivos/</link>
<pubDate>Mon, 16 Nov 2009 16:17:14 +0000</pubDate>
<dc:creator>Sérgio</dc:creator>
<guid>http://pythonrs.wordpress.com/2009/11/16/django-e-codificacao-de-arquivos/</guid>
<description><![CDATA[Bom, eu sempre tive várias perrenhas com o Django quanto a codificação de caracteres nos meus código]]></description>
<content:encoded><![CDATA[Bom, eu sempre tive várias perrenhas com o Django quanto a codificação de caracteres nos meus código]]></content:encoded>
</item>
<item>
<title><![CDATA[Video Aulas Phyton/Django]]></title>
<link>http://mauriciomagnani.wordpress.com/2009/11/16/django-videoaulas/</link>
<pubDate>Mon, 16 Nov 2009 12:33:30 +0000</pubDate>
<dc:creator>Mauricio Magnani</dc:creator>
<guid>http://mauriciomagnani.wordpress.com/2009/11/16/django-videoaulas/</guid>
<description><![CDATA[Nessa thread, podemos encontrar vídeo aulas sobre Django. Bom para quem está iniciando nesse poderos]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Nessa <a href="http://groups.google.com.br/group/django-brasil/browse_thread/thread/f9d315f2fa49cf15?pli=1">thread</a>, podemos encontrar vídeo aulas sobre Django. Bom para quem está iniciando nesse poderoso framework, que é destaque na web 2.0.<br />
Até a proxíma!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ajax vs. Flex - making the choice]]></title>
<link>http://ricardo.getgears.com/2009/11/16/ajax-vs-flex-making-the-choice/</link>
<pubDate>Mon, 16 Nov 2009 11:31:54 +0000</pubDate>
<dc:creator>ricardo</dc:creator>
<guid>http://ricardo.getgears.com/2009/11/16/ajax-vs-flex-making-the-choice/</guid>
<description><![CDATA[Back when I joined Flumotion, my team was given the choice between implementing a HTML/JavaScript or]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Back when I joined Flumotion, my team was given the choice between implementing a HTML/JavaScript or a Flex powered back office. Most developers I know would immediately turn down the later for a number of reasons:</p>
<ul>
<li> Platform portability, notably turning down mobile users.</li>
<li> Flash plugin sometimes appears to only work properly on Windows machines, raising performance issues.</li>
<li> Commitment to a proprietary technology.</li>
<li> Smaller choice of developers and community resources.</li>
<li> What is it with Adobe and their beloved RIA buzzword anyway? I don&#8217;t see anyone else using it!</li>
<li> Obviously not as trendy as Ajax.</li>
</ul>
<p>among others that spiced up the discussion.</p>
<p>But there were some particular reasons to strongly consider it in our specific case. For one, we would be working with media management, editing and playback of video, a technology closely tied with Flash at the moment, so it was really about going with Ajax with some Flex components or just Flex alone. Truth is I already had my share of pain working on projects with a heavy Ajax interface, from what our Product Manager expectations of the product, I could see those memories coming to light again. Furthermore, and more on a personal perspective, I felt tempted to give it a try and only afterward draw my conclusions. Based on that, I handed my vote out to Flex.</p>
<p>A few months later, I have a better shaped opinion, I had some nice surprises, as well as really disappointing ones!</p>
<p>I need to give credit to <a title="PyAMF" href="http://pyamf.org/" target="_blank">PyAMF</a> for the achievement of making Python and Django integration the easiest possible. On very few occasions I had to step out of my backend bubble and worry about issues regarding frontend. The AMF protocol itself helped here, a little but nice example feature I recall is that datetimes are always passed in UTC, being the Flash plug-in responsible of handling the offset, based on the client timezone system setting. Not having to worry about details such as these was a joy and made the development process faster, allowing me to focus on backend performance. In the end I was developing a Python request handler, very far from your regular Django application, using little more than the ORM and URL handlers.</p>
<p>But there was a few downturns along the way. First, only the fact that code was compiled made me feel in a strange place a lot of times. Every small fix implies a full build and update on production code. I believe that hot fixing should be avoided at all cost, but it is still needed sometimes and this only made it harder, heavier and even more dangerous. Then of course there were the problems of the Flash plugin on Linux, it is really frustrating for a guy that stays 80% of his time on a console having to deal with Firefox taking away all system resources the minute you open something Flash making it virtually impossible to test without booting up a virtual machine. On AMF itself, I never quite understand for the data transferred to come &#8220;encrypted&#8221; in a weird format, it certainly didn&#8217;t made it feel safer or smaller. Also, the fact that each messaged carried a message ID and time, made it harder to smart cache responses. Although I came up with a interesting cache decorator for AMF requests that I will post in the future, I would have preferred to do it on a lower level so that I wouldn&#8217;t have to waste time decoding the AMF requests (yes, as fast as it is it&#8217;s always unneeded overhead).</p>
<p>But the one thing that really annoyed me was the cross domain sandbox issue. As the project architect, it was very frustrating being forced to spread several copies of a crossdomain.xml file that makes very little sense to me. To date, no one as yet succeeded in properly justifying it and proving me wrong, but I will get into this issue on a following post, don&#8217;t worry.</p>
<p>As a conclusion, in the context of this specific project, I believe we made the right choice. Still, I very much doubt that we will see Adobe&#8217;s &#8220;Rich Internet Applications&#8221; taking over Ajax anytime soon. The new media support on HTML5 is here to confirm that. Rare examples like Google Wave make me believe that given the right developers (I presume), it is possible to make very nice JavaScript powered applications.</p>
<p>That said, on a future decision, my vote would again depend on the project details and target audience, but in most cases I can think of at the moment I would have to go with Ajax.</p>
<p>If you have a similar experience with a different outcome, I would very much like to hear you!</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
