Crear un repositorio CVS en dreamhost

Después de mucho tiempo sin trastear el hosting que tengo contratado con dreamhost. He configurado, por fin, un repositorio CVS.

Ni si quiera tenía configurado ningún usuario para acceder a la consola SSH, para hacerlo, simplemente debemos entrar al panel de control, vía web, y crear o modificar un usuario para darle permisos de acceso de Shell, y en unos minutos tendremos habilitado el acceso SSH con ese usuario.

Para crear el repositorio, una vez conectado al servidor, simplemente debemos ejecutar el comando cvs -d /home/usuario/directoriocvs init, y ya podemos conectarnos desde nuestro cliente CVS favorito.

Historia de los lenguajes de programación

Esta semana, Violeta me ha pasado un link bastante interesante, por cierto, aunque no lo parezca es una de las personas menos frikis con las que trabajo, a saber cómo hizo para encontrarlo :).

La historia de los lenguajes de programación en un gráfico, se puede ver el origen de su nacimiento y su evolución durante el tiempo, viendo las relaciones que entre unos lenguajes y otros. Aunque realmente sólo son 50 lenguajes, desde la misma web enlazan otra con una lista de lenguajes de programación, por si echas de menos a alguno en la gráfica, son más de 2500.

Por cierto, también puedes descargarte en formato póster y a color la historia de los lenguajes de programación, en la web de O'Reilly.

Monitorizar Tomcat con JMX

He estado haciendo mis primeras pruebas con JMX(JMX en la wikipedia), que sirve para entre otras cosas para monitorizar aplicaciones java.

La herramienta para monitorizar que nos viene por defecto en la JDK es JConsole, a partir de Java 5, que se encuentra dentro del directorio bin de nuestro JAVA_HOME.

Para habilitar la instrumentación de JMX en Tomcat debemos buscar, dentro de catalina.bat, la variable JAVA_OPTS y añadirle los siguientes valores, separados por un espacio:

  • -Dcom.sun.management.jmxremote
  • -Dcom.sun.management.jmxremote.port="9004"
  • -Dcom.sun.management.jmxremote.authenticate="false"
  • -Dcom.sun.management.jmxremote.ssl="false"

Una vez modificado, arrancamos el Tomcat y el JConsole, que nos debe dar la opción a conectarnos, en la pestaña Local, al Tomcat para monitorizarlo. Una vez conectados ya podemos ver parámetros como el consumo de memoria, número de threads...

Cambio de Theme

Como se puede ver, por fin he cambiado el theme de wordpress, después de navegar durante un rato en el theme viewer, me he quedado con el theme simple-tech-10. Quería una plantilla a tres columnas, una para el menú de wordpress, otra para los widgets y otra para el contenido, así no recargar demasiado una columna; y que además mantuviera las columnas al entrar a ver los posts, cosa que no hacía el clásico Kubrick.

De todos los themes que he ido viendo, este ha sido el que más me ha convencido. Eso sí, me han quedado muchos por ver, que en el theme viewer de wordpress hay demasiados como para verlos todos. Una vez puestos los widgets, sólo he tenido que hacer algún ajuste a la hoja de estilos para que no descuadraran el diseño y listo.
¿Opiniones/críticas?

Las vistas de ZendFramework

Últimamente, estoy sacando algunos ratos para desarrollar una pequeña web para ir probando el ZenFramework. Hasta el momento he encontrado cosas que me han gustado y que no.

La Convention over Configuration te ahorra el pelearte con ficheros de configuración (como la mayoría de los frameworks más conocidos de php), el patrón ActiveRecord y la cantidad de componentes que trae de serie(por lo que parece sino todos, la mayoría vienen "reciclados" de PEAR).

Lo que no me ha gustado ha sido la combinación de los componentes Zend_View y Zend_Controller para la vista, que es un sistema de plantillas basado en php.
El primer problema que encuentro es que no hay forma de definir una página maestra, por lo que para poner por ejemplo una cabecera y un pie hay que hacer algo parecido a los includes.

echo $this->render('cabecera.phtml')
...codigo...
echo $this->render('pie.phtml')

El segundo me parece todavía más molesto, al ser php combinado con html, se complica mucho el código de las plantillas. Y si para un programador le puede ser ya difícil de seguir donde se habre y cierra un foreach o un if, un diseñador o maquetador puede pasar un rato divertido.

En conclusión, que acaba pareciendo código spaghetti. Eso sí,parece que se puede utilizar Smarty como motor de plantillas, con el que en su día no estuve demasiado cómodo trabajando y no me motiva demasiado probarlo.