viernes, 24 de junio de 2011

Actualizar firefox en Fedora 14 tiene pega

Bueno, desafortunadamente si queremos usar las últimas versiones de firefox en Fedora deberemos instalarlas a mano, ya que en los repositorios oficiales sólo está disponible la rama 3.6.x.

Weboniando encontré este post, pero el procedimiento es sencillo, así que lo transcribo. Evidentemente tendremos que usar el usuario root o el comando sudo, si es que lo tenemos configurado:

Configurar servicios o 'demonios' en Debian

Debian es una gran distribución pero, viniendo de Fedora, extraño ciertas cosas y una de ellas es poder configurar los daemons (servicios o demonios, como quieran decirles) con una herramienta gráfica. En Debian hay que crear el archivo y copiarlo en el nivel de arranque adecuado de init y blablabla.
Para aquellos que disfrutan de esas pequeñas cosas que nos facilitan la vida, en Debian hay disponibles un par de aplicaciones que nos permitirán iniciar, detener y programar el arranque automático de aplicaciones de forma gráfica, eso sí desde la consola (aunque esto es aún mejor si estamos trabajando con un servidor sin entorno gráfico), estas aplicaciones son rcconf y sysv-rc-conf (cualquiera funciona bien), las cuales podremos instalar con un simple apt-get:

$apt-get install rcconf
$apt-get install sysv-rc-conf

Espero sea de ayuda para alguien. Hasta pronto.

sábado, 18 de junio de 2011

Corregir error de PHP warning date()

Si al ejecutar comandos o aplicaciones se obtiene el siguiente mensaje:

Warning: date(): It is not safe to rely on the system's timezone settings...

Hay que editar el(los) archivos de configuración php.ini del sistema y agregar la siguiente línea especificando la zona a usar por defecto.:

date.timezone = America/Bogota

Para conocer la zona apropiada, el mismo mensaje de advertencia ofrece la zona que usó para ejecutar la función que da el problema, y si el sistema correctamente configurado, podemos usar esa zona. Si no aparece o prefiere cambiarla, hay un listado de zonas válidas en este enlace.

Índices y llaves foráneas sobre atributos heredados en archivo de schema en doctrine 1.2

Aunque la herencia en doctrine ofrece grandes posibilidades y en muchos casos nos ahorrará bastante tiempo y código, no viene sin sus particularidades. Una de ellas se presenta cuando queremos definir un índice o una llave foránea en una clase usando atributos de la clase 'madre'. Así, si tenemos un modelo como el siguiente, el índice no funcionará:

sábado, 11 de junio de 2011

Otra forma de definir relaciones 1 a 1 en Doctrine 1.2 para Symfony

La mejor forma de definir relaciones 1:1 en doctrine 1.2 está descrita en el manual "Doctrine ORM for PHP" (pag. 71), pero hay otra forma de hacerlo y que tendrá un comportamiento ligeramente diferente. Esta es la configuración normal sugerida en el libro:

Email:
columns:
user_id: integer
address: string(150)
relations:
User:
local: user_id
foreign: id
foreignType: one

Si en cambio lo hacemos con esta configuración:

Hidratación de objetos con Doctrine en Symfony no funciona con RIGHT JOIN

Al crear un método de consulta para obtener un listado de objetos haciendo JOIN con otras tablas (como para cambiar el table_method para un módulo de Admin Generator), se debe hacer con LEFT JOIN, ya que de lo contrario no agrega a los objetos la información adicional deseada.

jueves, 9 de junio de 2011

Parpadeo de la imagen con gnome-shell en Fedora 14

Algunas veces, al hacer uso de gnome-shell, el mutter sufrirá un error y aunque podremos seguir usando el sistema se puede observar un molesto parpadeo en la imagen. Para solucionarlo sin tener que reiniciar podemos hacer lo siguiente:
  1. Abrir una terminal.
  2. Buscar el proceso mutter, ejecutando:

    $ ps -A

    Obtendremos algo como esto:

        PID TTY          TIME CMD
          1 ?        00:00:00 init
      .....
      20813 pts/2    00:00:00 bash
      20837 ?        00:00:00 gnome-shell
      20842 ?        00:00:01 mutter
      20876 pts/0    00:00:00 ps

  3. Anotamos el número del proceso y lo matamos:

    $ kill 20842

  4. Reiniciamos gnome-shell, lo ejecutamos con & para poder ejecutar más comandos y salimos de la consola:

    $ gnome-shell --replace &
    $ exit

    Hay que salir con exit, no cerrando la ventana de la terminal.
Este truco es bueno porque si estamos guardando las aplicaciones de la sesión, luego de reiniciar cuando se presenta este error todas las aplicaciones aparecerán en el primer escritorio y si tenemos bastantes (como en mi caso) es molesto tener que ordenarlas de nuevo.