Recientemente he actualizado mi distribución debian (unstable) y ahora al ejecutar cualquier script php siempre aparece el siguiente error:

PHP Warning: mime_magic: type search/400 \\input text/x-tex invalid in Unknown on line 0
PHP Warning: mime_magic: type search/400 \\section text/x-tex invalid in Unknown on line 0
PHP Warning: mime_magic: type search/400 \\setlength text/x-tex invalid in Unknown on line 0
PHP Warning: mime_magic: type search/400 \\documentstyle text/x-tex invalid in Unknown on line 0
PHP Warning: mime_magic: type search/400 \\chapter text/x-tex invalid in Unknown on line 0
PHP Warning: mime_magic: type search/400 \\documentclass text/x-tex invalid in Unknown on line 0
PHP Warning: mime_magic: type regex [Cc]onstant[[:space:]]+[Ss]torytext/x-inform invalid in Unknown on line 0

La solución es bien sencilla, hay que ir al fichero /usr/share/file/magic.mime y comentar las siguientes líneas (ponerle un # delante):

#0 search/400 \\input text/x-tex
#0 search/400 \\section text/x-tex
#0 search/400 \\setlength text/x-tex
#0 search/400 \\documentstyle text/x-tex
#0 search/400 \\chapter text/x-tex
#0 search/400 \\documentclass text/x-tex

Y esta:

#0 regex [Cc]onstant[[:space:]]+[Ss]tory text/x-inform

Una vez guardado el archivo ya no ocurrirá más.

Me pareció realmente interesante el artículo de Geoff Howland, fundador de Lupine Games, que opina, en resumidas cuentas, que para aprender a hacer juegos hay que hacer juegos, ni más ni menos. Aparte de aprender a programar, hay que programar videojuegos, pero no querer programar un Quake, un World of Warcraft o un Need For Speed, hay que empezar por lo sencillo. Empieza haciendo juegos sencillos que te permitan empezar a adentrarte en los conceptos del arte de crear videojuegos.

El autor recomienda empezar haciendo un Tetris, seguidamente un Breakout, un Pac-Man, un juego con scroll tipo Super Mario, etc. No soy ningún experto en desarrollo de videojuegos, de hecho mi experienca es mínima, pero estoy totalmente de acuerdo con este camino. Para tu primer juego, será mucho más fácil de alcanzar un juego tipo Tetris que no un Half Life, marcarse un objetivo razonable hará que sea más fácil llegar a un juego aceptable, jugable y que además te habrá permitido aprender muchos conceptos básicos. En el Tetris por ejemplo puedes aprender lo que es el bucle principal del juego, los casos especiales (selección de opciones, final del juego, etc). Cada juego te aportará un nivel más de experiencia, un peldaño más hacia la cima del desarrollador de videojuegos.

El artículo puede leerse completo en GameDev.

Si alguna vez has tenido que desarrollar alguna aplicación web con gran cantidad de código JavaScript seguro que te has encontrado con algún error. Seguramente te habrás dado cuenta de que en esos casos IE no es tu mejor aliado. Los mensajes de error que genera el IE son bastante malos en mi opinión, en algunos casos no acierta ni la línea que contiene el error.

Si en vez de IE pruebas suerte con firefox, almenos tienes una consola donde aparece un error mucho más detallado y al hacer doble click en él vas al código problemático directamente.

Pero aún así, esto se puede mejorar muchísimo, gracias a firebug, una extensión de firefox que permite ver errores de javascript detalladamente, ejecutar código al vuelo, ver todo el árbol DOM, añadir breakpoints, observar variables,ver las peticiones HTTP, incluso las de AJAX (esto es realmente útil) y hasta puedes ver cómo evoluciona el uso del ancho de banda que genera tu web al cargarse. También es de gran utilidad la herramienta “Inspect”, que te permite mediante el ratón seleccionar un área de la web y visualizar instantaneamente el código referente a ella. Otra característica a destacar es que puedes editar CSS al vuelo y se aplica instantaneamente en la web, ideal para hacer pruebas y dar espaciados, cambiar colores, tamaños, etc.

Te recomiendo que la pruebes, es totalmente libre y gratuita y te permitirá avanzar mucho más rápido en el desarrollo de tus páginas web.

Si no puedes desarrollar con firefox también puedes probar la versión especial de firebug para otros navegadores, incluido IE.

Firebug en PC Frikis

Recientemente he tenido la necesidad de dibujar algún que otro diagrama y para no entretenerme en buscar he utilizado el Photoshop (el recurso fácil). Pero hoy, con más tiempo, he preferido buscar otro programa más especializado en este tipo de gráficos.

De los que he probado el que más me ha gustado ha sido Dia (también para Windows). Las otras alternativas eran Tgif y xfig, que a pesar de que no las he probado de forma exhaustiva, me ha convencido más Dia. Sólo he contemplado programas libres y disponibles en el repositorio de Debian, pues quería utilizarlo en esta distribución, seguramente, en el ámbito del software privado debe haber muchas otras aplicaciones.

Dia me ha gustado porque es muy sencillo de usar y tiene una interfaz muy clara, te permite hacer diagramas simples con facilidad pero también es capaz de dibujar diagramas complejos y hasta tiene soporte para scripting en Python, lo que te permite crear gráficos avanzados con realtiva facilidad. Además, posee un gran repertorio de elementos especializados en varios campos, redes, UML, electrónica, etc.

En Debian sólo tienes que hacer:

# apt-get install dia

A continuación una captura del programa funcionando:

 Dia, Aplicación para realizar diagramas

Las tarjetas de red suelen soportar varios modos, 10Mbps HD (Half Duplex), 10Mbps FD (Full Duplex), 100Mbps HD, 100Mbps FD, etc. Por defecto siempre utilizan el modo más alto que consiguen negociar con el enlace, que puede ser otro PC, un HUB o un Switch. Salvo que tengamos algún problema no necesitaremos forzar la tarjeta de red a alguno de estos modos, ella sola se ajustará al que más convenga.

En linux podemos forzar alguno de estos modos utilizando la herramienta ethtool o mii-tool. La primera, ethtool, permite muchísimas más opciones, pero para cambiar únicamente el modo de funcionamiento de la tarjeta prefiero mii-tool, que es mucho más sencilla, tiene menos opciones, pero es mucho más fácil de usar. Ni siquiera es necesario especificar el interfaz.

Para configurar la tarjeta de red en modo 10Mbps FD sólo tenemos que poner:

# mii-tool -A 10baseT-FD

Y automáticamente negociará con el enlace el modo de 10Mbps FD. También tenemos disponibles los demás modos:  100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD, 100baseTx y 10baseT.

El amigo eMe nos compromete a responder un meme sobre lo que llevamos encima cuando salimos a la calle. Fitti ya lo ha respondido en su blog así que me toca a mi hacerlo aquí.

Ropa llevo siempre y para escogerla utilizo una función aleatoria sobre el armario así que pasaremos a cosas más concretas. Pero antes, prefiero mostrar la foto y después explico cada cosa (aunque no haya mucho que explicar):

 Cosas para salir a la calle

En la imagen se pueden ver las llaves de un coche, las llaves de casa (sí, todas sirven), una cartera llena de tarjetas de crédito, billetes de tren, billetes de metro, dinero, tarjetas cliente, dni, etc…

Y por último, el Nokia 7650, el cual se merece un post completo y que nunca será sustituido por algún otro móvil que no sea un Nokia de la serie N  o algún otro Series 60.

El Meme se lo paso a Mayu, a Txen y a SodLogan, aunque este último creo que no lo va a hacer :P