A Django site.
Setiembre 16, 2008
» Apple, Google y Red Hat.

Paso un tiempo desde la ultima vez que escribi algo en el blog, y todo sabemos que en la net las noticias vuelan, pero hoy en particular voy a hablar de Apple, Google y Red Hat.

Apple
Mientras todos estan enloquecidos con sus iphones, ipod touch, ipod nano, ipod soy-lo-mejor, steve jobs y las miles de parafernalias que dan vueltas alrededor de esta simpatica empresa, que mira si seran simpaticos que hasta greenpeace los adora; parece que nadie mira realmente lo que Apple realmente les brinda: restricciones.
Porque digo esto? Apple quiere poner en practica una patente donde puede prohibirte usar otro tipo de vestimenta (en este caso, zapatillas) que no sea el que ellos eligieron en conjunto con su ipod nano.
La cosa es masomenos asi: Estas zapatillas vienen con un chip, que si vos se lo sacas para ponerselas a otras zapatillas (inclusive siendo Nike, pero no el modelo que ellos eligieron) o lo cambias de lugar en la misma zapatilla, ademas de estar infringiendo la ley, dejaria de funcionar ya que la idea es hacer un que matcheen zapatilla/ipod para que funcionen solamente entre estos y nada mas.
O no que son re simpaticos?

Red Hat
Y Fedora tambien.
Recuerdo que hace poco tiempo cuando Debian tuvo el famoso bug del OpenSSL, unos cuantos sacaron su antorcha prendida fuego a perseguir al Debian Developer (por ejemplo) que cometio al bug y a la distribucion en si comentando cosas del tipo “Debian, la distribucion que nunca debio haber sido creada” (?) o igual de apocalipticas.
Hace aproximadamente un mes atras, a Red Hat y a Fedora se le metieron a los servidores, les manosearon todo y nadie dijo nada. Y en este caso que pasa? Acaso Red Hat y Fedora no tienen ninguna culpa? No hay que salir a matar al sysadmin de RH / Fedora?
De todas formas, todos somos humanos y todos cometemos errores, pero igualmente me sigue pareciendo un tanto injusto.

Google
Como en Google son tan buena onda que ahora solamente van a guardar tus logs intactos por 9 meses, despues los van a “anonimizar”. <sarcasmo>buenisimo, no?</sarcasmo>
Y la otra gran (?) noticia, el navegador que sacaron: Chrome. Dicen que es Open Source pero el codigo fuente del navegador no esta disponible para compilar en GNU/Linux, o mejor dicho, esta pero solamente genera dos unittests. Y para que no me tilden de fanatico, ni siquiera esta disponible para OS X. Sumado a esto, tuvieron un problemita con su EULA, mas precisamente el punto 11 donde, palabras mas palabras menos, declaraban que todo contenido que visites a traves de su navegador les pertenecia. Obviamente lo tuvieron que cambiar en cuestion de horas ;)

Por lo pronto, con tanto espia corporativo suelto le daria una chance a las redes libres. O al menos intentaria mantener mi privacidad un poco mas privada.

Agosto 5, 2008
» custom tags en django

Luego de combatir durante un rato largo y encontrar poca documentacion los custom tags en django, paso a escribir un resumen de como crearlos:

Antes que nada los custom tags son una suerte de funciones que aplicamos a las variables que queremos imprimir en los templates
Ej en PHP:

strtoupper($variable);

Ej en Django:

{{ variable|upper }}

Se entendio la idea? Continuemos

Digamos que tenemos la aplicacion “contenido” la cual vendria a ser una suerte de tabla de un blog.
Y el tree se veria algo asi:

/djangoapp
 __init__.py
 settings.py
 urls.py
 manage.py
 templates/
   base.html
 contenido/
   __init__.py
   models.py
   views.py

En el archivo templates/base.html tenemos todo lo que vamos a mostrar, que podria verse de la siguiente manera:

{{ titulo }}
{{ texto }}

Que al intentar visualizarlo, veremos algo asi:

este es el titulo
este es el texto

Cuando en realidad, lo que queremos es que el resultado final sea el siguiente:

<h1>este es el titulo</h1>
<p>este es el texto</p>

Nota: si bien podriamos escribir los condenados tags HTML, vamos a hacer que se auto-escriban como un custom tag.

Bien, para lograr esto primero debemos crear un directorio llamado ‘templatetags’ dentro de nuestra aplicacion ‘contenido’ y dentro del nuevo directorio, creamos dos archivos mas:
* __init__.py : Este archivo lo debemos crear para que el directorio funcione como un modulo y podamos utilizarlo.
* custom_tags.py : Aca vamos a escribir nuestros tags.

Luego de haber hecho esto, el tree de nuestra djangoapp deberia ser algo similar a esto:

/djangoapp
 __init__.py
 settings.py
 urls.py
 manage.py
 templates/
   base.html
 contenido/
   __init__.py
   models.py
   views.py
   templatetags/
     __init__.py
     custom_tags.py

Escribimos los custom tags en el archivo custom_tags.py:

from django import template
register = template.Library()

@register.filter
def str_to_h1(s):
    return u'<h1>%s</h1>' % s

@register.filter
def str_to_p(s):
    return u'<p>%s</p>' % s

Ahora que ya tenemos todo listo, solamente resta cargar nuestros nuevos tags al principio del template (lease ‘base.html’ o cualquier archivo que utilicemos para mostrar contenido):

{% load custom_tags %}

{{ titulo|str_to_h1|safe }}
{{ texto|str_to_p|safe }}

Nota: El tag ’safe’ que agregue es para que Django no escape al HTML.

Ya habiendo realizado todo eso, deberiamos poder visualizar nuestro ejemplito como queriamos al principio.

Por cierto, si por alguna razon no esta funcionando, asegurense de que en la tupla INSTALLED_APPS en el archivo settings.py este incluida la aplicacion a la cual le agregamos los custom tags.
Ej:
INSTALLED_APPS = (’djangoapp.contenido’,)

Julio 15, 2008
» los gustos de melinda.

Hoy me desperte y haciendo un poquito de zapping mientras me despabilaba un poco, encontre en el canal TCM que estaban dando la primer temporada de A-Team, una gran serie si las hay, pero eso no es lo que mas me llamo la atencion, sino Melinda:

Junio 25, 2008
» ssh

ssh

SSH!
DON’T GIVE AWAY YOUR PASSWORD TO ANYWONE WHO MIGHT BE LISTENING!

Always use SSH (Secure SHell) when connecting
to Computer Science Department hosts, instead of
telnet of rsh. For more information:
http://www.cs.umd.edu/faq/ssh.html

nose, la encontre el otro dia ‘por ahi’ y me cayo simpatica.

Junio 13, 2008
» zombie meme

A pesar de que generalmente no me llaman mucho la atencion las memes del tipo “postea 10 cosas que harias antes de ir a dormir”, pero sin embargo esta que es de zombies me gusto (?):

You are in a mall when zombies attack. You have:
1. One weapon
2. One song blasting on the speakers
3. One famous person to fight along side you.

1. no quiero caer en el cliche, pero elijo un sable laser.
2. Eye of the tiger de Survivor.
3. McGyver FTW

visto aca y muchos otros blogs.