Apache + Passenger = Rails para todos

Hace poco más de una semana vio la luz la versión pública de Passenger, más conocido por todos como mod_rails. La comunidad Rails se ha revolucionado y no es para menos.

Desde las primeras versiones de Rails una de las mayores pegas que ha tenido este framework han sido las puestas en producción. A diferencia de PHP y su mod_php, Rails no ha contado con nada equivalente a subir los ficheros a tu servidor y tener la aplicación ya funcionando. Han ido saliendo aplicaciones como capistrano, que te permitían automatizar los despliegues de una aplicación. Han salido servidores como mongrel, que evitaban el gran problema de ejecutar Rails como si fuera un CGI (cargar Rails, cargar aplicación, servir petición, descargar todo de memoria). Con esto estabas cubierto tanto en el caso de tener un servidor propio o contratar un alojamiento especializado en Rails, pero estas soluciones no eran fáciles de implantar de forma masiva en los proveedores generalistas de hosting.

Gracias a este pequeño módulo para Apache el despliegue de tus aplicaciones Rails va a poder ser tan sencillo como subir los ficheros por FTP, introducir la URL de tu página en el navegador y verla funcionando. Sin tener problemas si una de las instancias se queda bloqueada o muere. Pudiendo reiniciar la instancia de la aplicación con solo hacer un touch restart.txt. Pudiendo parametrizar todo lo que necesites.

Upload & Play ;)

CV con estilo

Hace unos cuantos años, cuando todavía no estaba tan mentalizado como a día de hoy de hacer copias de seguridad de forma frecuente, un fallo en el disco duro causó que perdiese buena parte de mis documentos. La mayoría de ellos pude recuperarlos, ya fuese por haberlos enviado por mail y conservarlos en la carpeta de Enviados del IMAP, o por estar en algún CD. Sin embargo, otros como por ejemplo el currículum, fueron irrecuperables.

Ante esta situación tenía dos opciones: Una, volver a coger OpenOffice, escribir todo, encontrar una presentación que me gustase e intentar adaptarlo a dicha presentación. Otra, dar una oportunidad a LaTeX, el cual llevaba usando desde los inicios de la facultad, y que hasta ahora me había dado muy buenos resultados.

Supongo que por una mezcla entre cansancio ante la tarea de tener que formatear los documentos, y las ganas de hacer algo distinto, me llevaron a elegir la segunda opción. Así que lo primero que hice fue irme al CTAN, el repositorio de paquetes de LaTeX, y buscar estilos ya existentes para la realización de CV.

Entre los que existen a día de hoy me quedo con estos dos:

  • europecv: Es el que llevo utilizando en los últimos años. Sigue el estandar europeo para currículums Europass, del cual podéis encontrar plantillas para otros procesadores de texto o incluso formularios para generarlos online. Aquí tenéis un ejemplo de cómo quedaría un currículum con este estilo.

  • moderncv: Tiene un estilo muy sencillo pero muy bien presentado. En el caso de que me diese por migrar de europecv a otro, no dudaría en escoger este estilo. Tenéis ejemplos del estilo informal y el estilo clásico.

La cápsula del tiempo

Aunque me lo llevo pensando desde que se anunció el producto, hace un par de semanas por fin tomé la decisión de añadir a mi familia de productos Apple un precioso Time Capsule de 500 Gb.

Time Capsule

Con esta “cápsula del tiempo” mato tres pájaros de un tiro:

  • Me encanta Time Machine. Ya se que se pueden conseguir cosas similares, o quizá más potentes, a base de jugar con la consola o con alguna que otra aplicación, pero hasta el momento no conozco nada tan sencillo y tan transparente como esto. El anterior disco duro externo se estaba quedando pequeñito, así que ahora podré aguantar una buena temporada de copias de seguridad.
  • Estoy cansado de los problemas que me ha venido dando el router wifi de Ono (sobre todo la parte wifi del mismo). Desgraciadamente no hay manera de ponerlo a funcionar como si fuera un modem, pero a partir de ahora el Time Capsule pasa a desempeñar las funciones de router wifi.
  • Desde ahora, el anterior disco externo pasa a convertirse en un pequeño almacén de descargas y documentos, compartido en red y protegido por contraseña.

Espero no tener que hablar mucho más de este producto por aquí. Eso será señal de que todo está funcionando como debe ;)

“Home” cinema

En los últimos meses, y visto el panorama cinematográfico a nivel tanto nacional como internacional, me he ido aficionando a adquirir en DVD películas que en su momento vi ya fuese en cine o en el ordenador y que quería conservar, disfrutarlas de nuevo con la nueva perspectiva que van dando los años. También estoy aprovechando para dar oportunidad de ver películas que en su momento descarté aunque me las hubiesen recomendado.

Al igual que hago de vez en cuando con la música, me gustaría aprovechar y cada cierto tiempo escribir una entrada en la que comentar una película, como hoy. Por ser la primera voy a tirar de una apuesta segura en la videoteca de cualquier aficionado :)

Tigre y Dragón

Tigre y dragón

Comienzos del siglo XIX. El poderoso y atractivo guerrero Li Mu Bai llega al Recinto de Seguridad Yuan, donde quiere entregar su espada, la legendaria Green Destiny, a su vieja amiga Yu Shu Lien, con la que le une algo más que una simple amistad, aunque ninguno de los dos ha sido capaz de expresar sus sentimientos. Li quiere dejar atrás sus años de guerrero, aunque por desgracia no ha podido vengar la muerte de la asesina de su maestro, una bruja llamada La Zorra. Shu Lien se lleva la espada a Pequín, donde conoce a la hija del gobernador, Jen, una joven que está a punto de contraer matrimonio en contra de su voluntad. Pero allí la espada es robada por un ladrón enmascarado…

+ en 20minutos.es

Qué decir que no se haya dicho ya de esta película… Junta una fotografía rica en paisajes y colores, una banda sonora ganadora de un Oscar compuesta por Tan Dun, una buena historia y una mezcla equilibrada entre drama y artes marciales. El resultado será una película que te enganchará desde el primer minuto, una de esas películas que hará que enseguida empatices con los personajes. Una de esas películas que se acaban convirtiendo en película de culto.

A modo de curiosidad, en Amazon me he topado con “New crouching tiger, hidden dragon”. Por lo visto, entre el público oriental no cayó muy bien la “americanización” de la historia, el que para variar se desechasen las historias secundarias a favor de la trama principal, que todo se contase en “solo” dos horas. A raíz de esto nació esta película, que viene a ser una versión condensada en 4 horas de la miniserie oriental nacida a partir de la película de Ang Lee.

Instalando git en Mac OS X

Hoy es el tercer aniversario del proyecto git.

Proyectos grandes como el propio kernel de Linux o más recientemente el framework Ruby on Rails usan este sistema distribuido de control de versiones. Y desde hace unas semanas que por fin decidí darle una oportunidad, este blogger se une a las legiones cada vez más numerosas de personas que han migrado de otros SCM como subversion a git.

Aunque existe la posibilidad de instalar git en tu Leopard desde MacPorts o con alguno de los múltiples empaquetados que hay por internet, en esta entrada voy a aprovechar para explicaros cómo instalar git en tu equipo desde cero.

Paso 0: Requisitos previos

Antes de seguir, es básico que tengamos instalado XCode, para lo cual o bien lo hacemos desde nuestro DVD de instalación de Leopard o bien nos vamos al Mac Dev Center de la Apple Developer Connection y nos lo bajamos.

Todo lo que vamos a escribir lo haremos en un terminal. Mi recomendación es usar iTerm, aunque hay gente que está más habituada a utilizar la propia applicación Consola. A vuestra propia elección.

Comienza la diversión ;)

Paso 1: Descarga de git

Este primer paso es un poco manía personal de tener organizado todo en carpetas. En este caso crearemos una carpeta src desde la que funcionaremos a lo largo de todo este tutorial:

mkdir src
cd src

A continuación procedemos a la descarga y desempaquetado de git:

curl -O http://kernel.org/pub/software/scm/git/git-1.5.4.5.tar.bz2
tar xvfj git-1.5.4.5.tar.bz2
cd git-1.5.4.5

Ya estamos listos para compilar.

Paso 2: Compilación e instalación

Leopard viene sin gettext, así que respecto del habitual make && sudo make install tendremos que añadir una opción para tener una compilación de todos los programas sin fallos:

NO_MSGFMT=yes make prefix=/usr/local all

Con esto estamos diciendo que a la hora de compilar no utilice msgfmt (parte de gettext) y que luego cuando instalemos lo haremos dentro de /usr/local.

Ya tenemos git compilado. Si queremos, antes de continuar podemos ejecutar una amplia batería de tests para asegurarnos de que no ha habido ningún fallo:

make prefix=/usr/local test && echo $?

Puede que no tengas la suficiente paciencia para ver como se ejecutan todos los tests (y no son precisamente pocos). Por ello, gracias a ese echo $? veremos si la ejecución de los tests ha ido bien (debería aparecer un 0 en la última línea antes del prompt del sistema).

Con git ya compilado y con todos los tests superados, procedemos a instalarlo:

sudo make prefix=/usr/local install

Ya tienes git instalado en tu equipo :)

Paso 3: Instalación del manual

Este paso es optativo, aunque siempre viene bien tener las manpages.

curl -O http://www.kernel.org/pub/software/scm/git/git-manpages-1.5.4.5.tar.bz2
sudo mkdir /usr/local/man
sudo tar xjv -C /usr/local/man -f git-manpages-1.5.4.5.tar.bz2

Con esto, estamos descargando las manpages correspondientes a la misma versión que hemos instalado de git y descomprimiéndolas en su sitio.

Ya solo nos queda abrir en nuestro editor favorito el fichero .bash_profile y añadir lo siguiente:

export MANPATH="/usr/local/man:$MANPATH"

Esto le decimos a man que también tenga en cuenta a la hora de buscar manpages la ruta /usr/local/man.

Primeros pasos con git

Lo primero que haremos será configurar git con nuestro nombre y el email que aparecerá como autor de los commits que hagamos a los repositorios:

git config --global user.name "Tu nombre"
git config --global user.email tu@correo.ejemplo.com

Ahora nos vamos a la carpeta de nuestro proyecto y ejecutamos lo siguiente:

git init
git add .
git commit

Ya tenemos nuestro proyecto bajo el control de git. Lo que hagas de aquí en adelante ya depende de ti.

Si puedo prepararé dentro de poco un pequeño tutorial de manejo de git. De todas maneras si no puedes esperar y quieres ponerte a funcionar desde ya te aconsejo que eches un vistazo al manual de usuario, o si ya venías de subversion al tutorial “git para usuarios de subversion” (ambos documentos en inglés).

Happy coding :)

Track that music!

No se porqué, pero hoy me ha dado por recordar una época que la gente de la “generación Windows” no ha vivido, la época en la que los ídolos de los que disfrutábamos de la programación era la gente de la scene, aquellos genios que en ejecutables minúsculos eran capaces de crear auténticas obras de arte con todo tipo de efectos visuales, y en la gran mayoría de las ocasiones, de magníficas melodías.

Era la época en la que prosperaron los trackers, como por ejemplo el Scream Tracker, Impulse Tracker o FastTracker. Mediante estos programas los músicos de la scene y los aficionados a la música en general daban rienda suelta a su creatividad, consiguiendo a base de pequeños samples combinaciones verdaderamente curiosas.

En aquella época uno de los mejores grupos era Future Crew. En buena parte de las obras un joven Peter Hajba, más conocido por todos como Skaven, se encargaba de dar el toque musical. De entre todas sus obras, y aunque nunca formó parte de una demo, la que mejores recuerdos me trae es Catch that goblin!, a la que hace unos años le hicieron un homenaje en forma de versión en flash.

Esta canción la podréis oír con winamp si estáis en Windows, o con Cog o XimpleMOD si estáis en Mac OS X. En GNU/Linux hay algún que otro reproductor con soporte para este tipo de archivos (ya sabes, apt-cache search s3m o el equivalente en tu distro favorita).

Si podéis, os recomiendo que echéis un rato por el Mod Archive. Os encontraréis con verdaderas joyas como la que os comento en esta entrada. Sobre todo os resultarán curiosas las inferiores a 100kb ;)

A modo de curiosidad, varias personas de Future Crew hace unos años pasaron a formar parte de Remedy Entertainment, la gente detrás de entre otros juegos el gran Max Payne. Y alguna que otra canción de los juegos de PopCap tiene el sello de Skaven :P

¿Cual era vuestro mod favorito?

Vitaminando el WoW

Creo que hasta ahora no había hecho mención que hace aproximadamente un año que empecé a jugar al World of Warcraft.

Debe ser por la “deformación profesional”, pero una de las cosas que más me llamó la atención del juego, aparte de lo completísimo que es a nivel de paisajes, misiones, jugadores y clases, es la versatilidad que tiene a la hora de ser ampliado por los propios usuarios. Blizzard puso a disposición de los usuarios un API (muy bien documentado en WoWWiki) junto con un sistema de carga de dichos addons. Estos addons están escritos en LUA, por tanto resultan bastante sencillos de seguir.

A día de hoy, y después de ir combinando distintos addons, mi Warcraft tiene la siguiente pinta (pincha sobre la imagen para ampliar):

Entre los addons que uso me gustaría destacar los siguientes:

  • AtlasLoot: Es una base de datos con todos los posibles items que los distintos jefes o subjefes de mazmorras pueden soltar. Puedes encontrar tanto los de las misiones de la versión normal como los de la expansión.
  • Auctioneer: Uno de los más interesantes, ya que te proporciona una serie de ayudas a la hora de las subastas: Explorar las subastas en activo, poder ver el precio medio de venta
  • Bagnon: Muestra todas las bolsas del personaje como si fuesen una sola.
  • Bartender: Permite tener nuevas barras de acciones, más configurables que las que proporciona por defecto el propio Warcraft.
  • Cartographer: Manipula el mapa, permitiendo mostrar las coordenadas en las que te encuentras, el territorio no explorado, los mapas de las mazmorras (que no vienen con el mapa del propio juego), marcar grupos de interés (y poder compartirlos), mostrar la posición de los miembros de tu grupo y un sinfín de posibilidades más.
  • FuBar: Permite añadir nuevos paneles a la interfaz, y dentro de dichos paneles tener secciones donde se acoplen otros módulos. En mi caso lo uso para la barra superior y una inferior que por defecto está oculta.
  • Gatherer: Proporciona una base de datos integrada en el minimapa con las posiciones donde poder encontrar las minas o las plantas. Útil solo si tienes alguna de estas profesiones.
  • GroupCalendar: Permite añadir eventos a un calendario compartido por parte de los miembros de una hermandad, facilitando así la tarea de organizar misiones a alguna de las mazmorras en las que se necesitan grupos grandes.
  • MobInfo: Genera sobre la marcha una base de datos con características de los enemigos con los que te vas enfrentando: vida que tienen, items que sueltan…
  • Omen: Te permite vigilar factores como el aggro. Esto es fundamental en mazmorras heroicas, ya que normalmente sobrepasar los niveles de aggro suele significar la muerte del personaje.
  • X-Perl: Permite personalizar el frame con los datos del personaje, de la mascota, de los enemigos e incluso de los miembros de un grupo o banda.

Si eres usuario de Mac OS X, hay un par de programas que te interesará conocer:

  • WoWMatrix: Examina todos tus módulos y te da la opción de actualizar aquellos para los que encuentre nuevas versiones.
  • WoWAceUpdater: Igual que WoWMatrix, pero especializado en los módulos basados en ACE, una de las mejores librerías para WoW que existen.

De paso con esta entrada inauguro la categoría “World of Warcraft”, que espero ir ampliando con el tiempo :)

© 2002-2008 LinuxAdicto.org. El contenido y algunas imágenes están bajo la licencia Reconocimiento-NoComercial-CompartirIgual 3.0