Sólo un idiota puede ser totalmente feliz.
Mario Vargas Llosa
Cómo sincronizar tus bases de datos en MySQL y PostgreSQL
Si desarrollas aplicaciones web ya debes estar usando algún sistema de control de versiones para mantener tu código sincronizado entre servidores, ¿pero qué sucede con tus bases de datos en MySQL o PostgreSQL?
Claro, es posible replicar, un posible escenario sería un servidor maestro con uno o más servidores esclavos, pero eso puede ser demasiado para simples proyectos o si solo necesitas estar seguro de que tienes los mismos datos en tus servidores de desarrollo, staging y producción luego de cambios importantes en el código, como por ejemplo, antes de lanzar una nueva versión.
Afortunadamente bastan unos pocos y sencillos comandos para mantener tus bases de datos sincronizadas. Sí, nuevamente la consola al rescate.
Edición de vídeo con software libre: Kdenlive 0.7.3

Los usuarios veteranos de GNU/Linux sabemos que hay dos tipos de aplicaciones en donde aún falta mejorar con respecto a otros sistemas operativos: juegos y edición de vídeo. Bueno, lo de la edición de vídeo parece estar cambiando con el reciente lanzamiento de Kdenlive 0.7.3.
Kdenlive es una aplicación de edición de vídeo de código abierto que trabaja con GNU/Linux y FreeBSD. Funciona con KDE o Gnome y permite editar material de cámaras DV, HDV y AVCHD. Kdenlive reutiliza otros proyectos, como FFmpeg y la plataforma de vídeo MLT, para lograr su cometido.
Kdenlive tiene una interfaz de usuario amigable y muy fácil de entender. No te tomará más de algunos minutos pasar de la captura a la edición para finalmente exportar tu primer vídeo. Yo he usado Kdenlive para producir algunos tontos cortos y para los más recientes episodios del show para geeks que dura tanto como una cerveza.
Sé que mis necesidades de vídeo son básicas y que no me puedo considerar un profesional en este campo pero seguro que a muchos de ustedes les bastará, al igual que a mi, con unas pocas funciones. Por lo general capturo el vídeo con una sencilla y barata cámara Panasonic PV-GS80 MiniDV, agrego un poco de música, algunos títulos y exporto a un formato compatible con los servicios de vídeo disponibles en la Red.

Veamos cómo instalar Kdenlive.
Guía para configurar un servidor para Django en Ubuntu
Llega un momento en que todo desarrollador Django debe pensar en cómo implementará sus proyectos en un servidor de producción. La primera vez que lo hice creí que la mejor opción era utilizar Lighty, Apache, mod_proxy y mod_python; poco después descubrí que estaba equivocado. Usar Apache como servidor web al frente para gestionar todas las peticiones a un proyecto Django y pasar, vía mod_proxy, pedidos de contenido estático a Lighty es una mala idea, con esta configuración Apache trabaja incluso para archivos que no tiene que servir, usando más memoria y CPU que Lighty.
Luego de leer algunos comentarios en el artículo original y más sobre la implementación de Django pude confirmar que lo mejor era tener al servidor web de contenido estático al frente y Apache detrás, procesando las páginas generadas por Django.
Reemplacé Lighty con Nginx, que de acuerdo a muchos parece ser más estable, y opté por mod_wsgi en vez de mod_python para conectar Apache con Django. mod_wsgi usa además menos memoria y está preparado para sitios con mayores exigencias. No hay necesidad de mod_proxy en Apache pues Nginx se encarga ahora del trabajo de proxy.
La siguiente es una breve guía, muy precisa y fácil de seguir, para desarrolladores web que saben cómo administrar sus servidores. No tocaré temas como seguridad, memcached, configuración de Django, bases de datos, Apache, DNS u otros aspectos básicos de GNU/Linux. Por supuesto que todos estos temas son también importantes y debes saber cómo encargarte de ellos.
El plan
Esta guía te permitirá configurar un servidor para Django en Ubuntu e incluye todos los pasos para:
- Configurar un dominio para tu proyecto en Django.
- Crear una estructura de directorios para tus sitios en Django.
- Configurar Apache con mod_wsgi para Django.
- Configurar Nginx.
- Servir archivos estáticos para la sección de administración de Django.
- Mostrarle tu próximo éxito en Django al mundo.
Luego de seguir estos pasos tendrás un sitio corriendo con Nginx al frente y Apache hablando con Django detrás. Nginx se encargará del contenido estático y pasará las peticiones de Django para Apache y mod_wsgi.
He probado los pasos a continuación en tres servidores Ubuntu (dos corriendo 8.10, Intrepid Ibex, y otro con 7.10, Gutsy Gibbon) pero todo debería funcionar muy parecido en otras distribuciones de GNU/Linux.
¿Empezamos?
Cómo configurar Apache, mod_python y proxy reverso a Lighttpd para Django en Ubuntu
Actualización, 8 de abril de 2009: Ya no recomiendo este método. Ahora sugiero seguir la guía para configurar un servidor Django con Nginx y Apache.
Es octubre 2008 y ya no queda duda que para hacer desarrollo web en serio se debe trabajar con frameworks. Talvez la traducción adecuada sería plataforma pero como la mayoría de desarrolladores de habla hispana estamos acostumbrados me quedaré con la palabrita en inglés. Un framework es software que permite a los programadores, que cada día somos más ociosos, olvidarnos de las tareas repetitivas para enfocarmos en aquello que hace único a cada uno de nuestros proyectos.
Además resulta obvio que Django, el framework escrito en Python, está atrayendo a más desarrolladores y compañías cada día. Guido es un googler desde el año 2005 y el recientemente anunciado Google App Engine usa Python y Django. Estoy seguro que no hay mejor momento para saltar al tren de Django (sin ánimos de embromar a los buenos chicos de RoR).
Los programadores veteranos pueden empezar a escribir aplicaciones Django rápidamente gracias a la excelente documentación y al libro de Django (de acceso gratuito). También he leido y recomiendo Practical Django Projects, por James Bennett, parte del equipo de Django, y Learning Website Development with Django, por Ayman Hourieh, un joven y talentoso ingeniero en Google.
Django es realmente el web framework for perfectionists with deadlines. Yo estoy a punto de completar mi primera aplicación Django para Facebook y solo necesité unos pocos días para lograrlo (lo cual incluyó actualizarme con los recientes cambios en el API de Facebook). Y sí, hay artículos sobre Django y Facebook en camino.
Y bien, ¿así que todo es felicidad en Djangolandia? Bueno, hay algo que siempre me complicó desde que empecé a usar el framework hace algunos meses: la puesta en marcha en un entorno de producción. La documentación y los libros que he leido suelen arrancar con el servidor de desarrollo que Django incluye y enfocarse en escribir aplicaciones, dejando la implementación final de lado.
Pero desafortunadamente, especialmente si estás acostumbrado a la típica configuración de Linux, Apache, MySQL y PHP, como yo lo estaba, puedes necesitar más detalles para entrar en acción. Es por eso que decidí escribir este tutorial sobre cómo configurar Apache, mod_python y un proxy reverso a Lighttpd para Django.
Cómo añadir una barra de navegación estilo Mac en Ubuntu
Hace algunos días visité una tienda que vende productos Apple en Lima (antes que pregunten: no, lamentablemente no es una verdadera Apple store). Me gustan los productos Apple, tengo un iPod classic, hace poco le compré un Nano rosado a Yesenia y estoy pensando en actualizar a un Touch pronto.
En la tienda mucha gente, ya saben, del tipo normal y no geek, observaba las MacBooks entre exclamaciones de asombro y miradas fascinadas. Me imagino que en gran parte debido a los simpáticos efectos visuales que ofrece Leopard y sospecho que la mayoría de estos curiosos que podrían ser clientes de Apple no estaban ni remotamente interesados en el procesador Core 2 Duo, la resolución de video o la carcasa de policarbonato (muy atractiva) que las MacBooks tienen.
Y bueno, si los usuarios piden efectos visuales ¿porqué no darles un poco en Ubuntu? Sin gastar más de mil verdes en una Mac o, lo que es peor, instalar Vista. Empezamos con lo que impresiona a la mayoría al toparse con una Mac: la barra de navegación, el famoso Dock.

Instalar Avant Window Navigator en Ubuntu
Avant Window Navigator es una barra de navegación estilo dock para Linux. Reemplaza a los típicos paneles, contiene enlaces para iniciar tus aplicaciones, muestra las ventanas en uso y ofrece una serie de simpáticos applets para que tu escritorio luzca mucho mejor, muy a lo Mac.

Probé en una portátil y una PC de escritorio, ambas con Ubuntu 8.04 (Hardy Heron) 64 bits, y no encontré versiones diferentes para 32 y 64 bits por lo que las instrucciones a continuación deberían funcionar en ambas arquitecturas.
La versión corta: Solo ejecuta
sudo apt-get install avant-window-navigator
El problema con este método es que Hardy aún no incluye el paquete awn-extras (los applets) y es allí donde se encuentra lo mejor de Avant Window Navigator.
Si esto es todo lo que necesitas entonces sigue con los toques finales, si no, sigue leyendo.
La versión larga: Los desarrolladores de AWN han creado un repositorio con todo lo que necesitas para obtener la experiencia completa del dock en Edgy, Feisty, Gutsy y Hardy.
- Empieza en el archivo de AWN, escoge tu versión de Ubuntu y copia las líneas correctas.
- Abre el archivo sources.list:
sudo vi /etc/apt/sources.list - Agrega las líneas correctas (yo estoy usando las que corresponden a Hardy), añade un comentario, graba y cierra:
# awn
deb http://ppa.launchpad.net/awn-testing/ubuntu hardy main
deb-src http://ppa.launchpad.net/awn-testing/ubuntu hardy main - Actualiza tu lista de paquetes:
sudo apt-get update - Instala los siguientes paquetes:
sudo apt-get install libawn0-trunk
sudo apt-get install libawn-dev-trunk
sudo apt-get install awn-manager-trunk
sudo apt-get install awn-extras-applets-trunk
sudo apt-get install avant-window-navigator-trunk
Los toques finales
Para activar tu nueva barra de navegación haz clic en Avant Window Navigator, dentro de Accesories en el menú principal de Ubuntu.

- Ahora haz clic derecho en algún espacio vacío de la barra (puede ser un poco incómodo al principio, intenta en los extremos) y escoge Preferences para cambiar la apariencia y activar algunos applets.
- Arrastra algunas aplicaciones del menú principal de Ubuntu a la nueva barra.
- Desactiva los paneles de Gnome, para esto, en Sessions > Current Session remueve gnome-panel de la lista de aplicaciones ejecutándose y haz clic en Apply.
- Para confirmar que todo funcione presiona Ctrl + Alt + Backspace e ingresa nuevamente.
Avant Window Navigator es una muy simpática aplicación, es fácil de instalar y le agrega un toque de estilo a la experiencia de usar Linux.
Ahora mi escritorio Linux luce mucho más limpio, disfruto viendo a mis contactos de Pidgin saltando en la barra y puedo obtener algunas miradas de asombro de los curiosos sin necesidad de gastar en una MacBook (aún cuando en algún momento compraré una solo por darme el gusto).

Corindón: experimentos con Ruby on Rails
Llevo algunos días jugando con Ruby on Rails y he instalado rápidamente un blog, obviamente corriendo en RoR, donde compartiré todo lo que voy aprendiendo sobre este muy interesante framework.
Los invito a visitar Corindón y acompañarme en mis experimentos con Ruby on Rails. En breve publicaré el primer capítulo de una serie sobre el proceso de instalación de Ruby on Rails y la configuración de Apache, FastCGI, Mongrel, MySQL y algunas gemas.



Comentarios recientes
18 semanas 2 días atrás
18 semanas 4 días atrás
18 semanas 6 días atrás
19 semanas 3 días atrás
19 semanas 4 días atrás
19 semanas 5 días atrás
19 semanas 6 días atrás
19 semanas 6 días atrás
20 semanas 1 día atrás
20 semanas 4 días atrás