jueves, mayo 22, 2008
Donald Knuth usa Ubuntu...
...y piensa que el multithreading es un bluf.
Ha sido difícil encontrar título (¿o debería decir titular?) para esta entrada. Otras opciones hubieran sido: «Donald Knuth usa emacs» o «Donald Knuth trabaja en un ordenador sin conectar a Internet» o «Donald Knuth usa Photoshop (en un Mac)»…
En fin, todos estos detalles en el fondo irrelevantes salen de una muy interesante entrevista a la que he llegado gracias a una entrada en el Twitter de Kirai.
Lo que me parece más relevante son sus reflexiones sobre por qué no funciona su idea de literate programming, sus ideas sobre testing (desde mi punto de vista, está desconectado de la realidad de los programas que se hacen ahora), su rechazo a todo lo que tiene que ver con Extreme Programming (excepto el trabajo en equipo y la revisión de código), su oposición al código reusable y, sobre todo, su diatriba contra el multithreading. Creo que merece la pena reproducirla aquí:
En general, se ve que piensa que el hardware debe de estar al servicio del software. Creo que todos estamos de acuerdo en que preferiríamos hardware secuencial más rápido, pero de momento, me parece que vamos a tener que bregar con el paralelismo.
En definitiva, una entrevista muy interesante con un sabio que ha cambiado el mundo.
(Nota: estoy escribiendo esto en el Word 2007... ¡y no encuentro el botón de guardar!)
([30 segundos después] Ah, está en el menú que sale al pulsar botón redondo ese de ahí arriba que imagino que se llamará «botón de Office». Ah, y acabo de ver que hay un iconito chiquito al lado. Me va a costar acostumbrarme a este nuevo interfaz...)
Ha sido difícil encontrar título (¿o debería decir titular?) para esta entrada. Otras opciones hubieran sido: «Donald Knuth usa emacs» o «Donald Knuth trabaja en un ordenador sin conectar a Internet» o «Donald Knuth usa Photoshop (en un Mac)»…
En fin, todos estos detalles en el fondo irrelevantes salen de una muy interesante entrevista a la que he llegado gracias a una entrada en el Twitter de Kirai.
Lo que me parece más relevante son sus reflexiones sobre por qué no funciona su idea de literate programming, sus ideas sobre testing (desde mi punto de vista, está desconectado de la realidad de los programas que se hacen ahora), su rechazo a todo lo que tiene que ver con Extreme Programming (excepto el trabajo en equipo y la revisión de código), su oposición al código reusable y, sobre todo, su diatriba contra el multithreading. Creo que merece la pena reproducirla aquí:
I might as well flame a bit about my personal unhappiness with the current trend toward multicore architecture. To me, it looks more or less like the hardware designers have run out of ideas, and that they’re trying to pass the blame for the future demise of Moore’s Law to the software writers by giving us machines that work faster only on a few key benchmarks! I won’t be surprised at all if the whole multithreading idea turns out to be a flop, worse than the "Itanium" approach that was supposed to be so terrific—until it turned out that the wished-for compilers were basically impossible to write.
En general, se ve que piensa que el hardware debe de estar al servicio del software. Creo que todos estamos de acuerdo en que preferiríamos hardware secuencial más rápido, pero de momento, me parece que vamos a tener que bregar con el paralelismo.
En definitiva, una entrevista muy interesante con un sabio que ha cambiado el mundo.
(Nota: estoy escribiendo esto en el Word 2007... ¡y no encuentro el botón de guardar!)
([30 segundos después] Ah, está en el menú que sale al pulsar botón redondo ese de ahí arriba que imagino que se llamará «botón de Office». Ah, y acabo de ver que hay un iconito chiquito al lado. Me va a costar acostumbrarme a este nuevo interfaz...)
Etiquetas: Arquitectura, Donald Knuth, Extreme Programming, Kirai, Microsoft Office, Multithreading, Programación, Word
domingo, mayo 18, 2008
Mis problemas con Ubuntu 8.04 y la red WiFi
Como comenté en la entrada anterior, no era capaz de conectarme a la red WiFi con Ubuntu 8.04 si utilizaba algún método de encripctación. Después de un día entero (empecé ayer a estas horas a luchar contra ese problema), lo he conseguido.
Tengo un un adaptador Wireless USB de Netgear, el WG111v3. Como punto de acceso, tengo un router TL-WR541G de TP-Link. Veía la red en el gestor de redes de Gnome, pero si intentaba cualquier configuración con contraseña, no conseguía conectarse. Investigando por ahí, veía en /var/log/messages unos mensajes sospechosos:
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.reason
...
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.host_name
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.domain_name
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.nis_domain
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.nis_servers
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.interface_mtu
Parece que tiene que ver con este bug, que lleva cinco versiones de Ubuntu sin arreglar, poniendo además un mensaje relativo a Red Hat.
A partir de ahí, probé cosas como instalar el Knetwork Manager, pero también me seguí fallando. Al final, la solución fue instalar Wicd. He conseguido conectarme con WPA2/PSK con TKIP.
¡Por fin! Pero... ¡qué sensación de tiempo perdido!
PS: Además, ahora la conexión inalámbrica entre los dos ordenadores me va 1.2 Mbps, que no es mucho pero al menos es aceptable.
Tengo un un adaptador Wireless USB de Netgear, el WG111v3. Como punto de acceso, tengo un router TL-WR541G de TP-Link. Veía la red en el gestor de redes de Gnome, pero si intentaba cualquier configuración con contraseña, no conseguía conectarse. Investigando por ahí, veía en /var/log/messages unos mensajes sospechosos:
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.reason
...
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.host_name
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.domain_name
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.nis_domain
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.nis_servers
dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.interface_mtu
Parece que tiene que ver con este bug, que lleva cinco versiones de Ubuntu sin arreglar, poniendo además un mensaje relativo a Red Hat.
A partir de ahí, probé cosas como instalar el Knetwork Manager, pero también me seguí fallando. Al final, la solución fue instalar Wicd. He conseguido conectarme con WPA2/PSK con TKIP.
¡Por fin! Pero... ¡qué sensación de tiempo perdido!
PS: Además, ahora la conexión inalámbrica entre los dos ordenadores me va 1.2 Mbps, que no es mucho pero al menos es aceptable.
El ordenador de salón
Por fin, después de muchos años, me he comprado un ordenador para el salón (o HTPC, Media Center PC o como prefiráis). Está hecho a medida con componentes escogidos por un compañero que se ha comprado uno igual. Son estos:
- Procesador: Intel Core 2 Duo E8200 / 2.66 GHz
- Sistema de refrigeración: Scythe Ninja Mini
- Memoria: 2 GB Kingston ValueRAM
- Tarjeta gráfica: Sapphire RADEON HD 3450
- Disco duro: WD Caviar GP 1TB
- Grabadora DVD: Sony IDE NEC AD-5200A-01
- Placa base: Asus P5K-VM
- Caja: Antec Fusion Black
- Teclado: Trust KB-2950
Le instalé Ubuntu 8.04 y, después de un fin de semana y medio, sigo configurándolo. Algunas historias:
- Tuve que cambiar en la BIOS la opción del Num. Lock porque arrancaba siempre con él activado, y en el teclado Trust el teclado numérico coincide con letras básicas.
- En la configuración de las X (/etc/X11/xorg.conf) tuve que quitar la variedad "es" del teclado para que me funcionasen las teclas en español. Igual fue un error mío al instalar Ubuntu cuando me preguntó: no tenía mucha idea de las opciones y puse tanto en disposición como en variedad "es".
- Al conectar el ordenador a la televisión, una Samsung plana de 32 pulgadas que tiene como resolución 1360 x 768, no me aparecía ninguna opción para poner más de 1024 x 768. Tuve que instalar los controladores propietarios de ATI para que funcionase. Ya, de paso, activé los efectos de escritorio.
- Le pinché un adaptador Wireless USB de Netgear, el WG111v3. Para que funcionase en Linux tuve que seguir estas instrucciones, que básicamente te dicen que bajes e instales el driver de Windows con ndiswrapper. Después de eso aparece en el icono de redes de la barra de tareas de Ubuntu todas las redes que reconoce. Funcionó sin problemas, lo que me sorprendió.
- Quise aprovechar el tera para capturar un vídeo de la cámara Mini-DV. Es una tarea que habitualmente hago en Windows con Sony Vegas. Busqué por ahí y encontré básicamente dos aplicaciones para hacerlo en Linux: kino y dvgrab. La segunda es de línea de comandos, así que utilicé la primera. Fue enchufar la cámara y capturar, sin problemas.
- Menos algún pequeño problema... Totem me reproduce los vídeos capturados (después de instalar los códecs, un proceso que me ha gustado cómo está hecho) pero a pantalla completa no me gusta cómo se ve: se nota el entrelazado y parece que hay un escalado no muy lorgado. Cuando veo otros vídeos directamente desde la cámara o después de capturados en Windows y pasados a DivX desde un disco duro multimedia, se ven mejor. Estuve intentando reproducir los vídeos con mplayer, pero parecía que no podía porque el formato no está soportado. En la documentación del dvgrabber decían que había dos tipos de AVI, uno más compatible que otro. En el kino no vi nada al respecto. (Al final, descubrí después de lo que cuento más abajo del MythTV que era utilizar x11 como método de salida en vez de xv.)
- Quise instalar el Mame porque parece que el sofá es un sitio cómodo para jugar a esos juegos de mi infancia. Busqué por ahí y recomendaban instalar Ubuntu Games, que en teoría permite instalar juegos fácil en Ubuntu. No me convenció: está en portugués y después de instalar el Mame, si lo ejecutaba, se me quedaba la pantalla en negro y el ordenador no hacía nada. Tras otra nueva búsqueda de información, descubrí que era un problema con el modo de vídeo de salida que utiliza el Mame: intenta utilizar xv, que no está disponible con mi tarjeta. Hay que cambiarlo por x11 en algún fichero de configuración. Así conseguí que me funcionase lanzándolo desde la línea de comandos pero no desde el menú. Lo que hice al final fue ir al Synaptic, desinstalar xmame-x11 e instalar xmame-sdl.
- Quise instalar MythTV, a pesar de que no tengo tarjeta de televisión (no sé si voy a poner una), más que nada para tener un interfaz más cómodo para manejar desde el sofá, aunque la verdad es que estoy muy contento con el teclado y se puede trabajar perfectamente, incluso navegando por Internet, con el interfaz normal. Instalé los paquetes correspondientes con Synaptic, pero al arrancar el front end me daba un error de conexión con la base de datos (el mensaje creo que era: "Cannot connect to database?", con esa extraña interrogación al final). Por ahí leí que estaba mal el paquete de Ubuntu, que no le daba los permisos necesarios al usuario de la base de datos. Intenté hacerlo desde el shell de MySql, pero no hubo manera. Al final configuré en el interfaz de MythTV que utilice como usuario root y funciona sin problemas, pero no es una buena idea desde el punto de vista de la seguridad, ya que MythTV almacena por ahí la contraseña en claro. Otra cosa que tuve que cambiar fue el modo de salida del mplayer, de "xv" a "x11" para que me reprodujese los vídeos. Menos mal que me lo dijo un compañero.
Pero ahí no acabaron mis problemas con el mplayer: si tengo activados los efectos 3D y la salida xgl, se producen parpadeos, o más bien «flasheos». Desactivando los efectos se arregla. Pero pierdo la capacidad de hacer zoom, que es una pasada. Otra opción es utilizar como salida x11, pero entonces a pantalla completa no me llena toda la pantalla.
- Intenté meterle un disco duro de 200 GB que tengo de un ordenador viejo, pero no pude: es PATA y el cable PATA que sale del único conector PATA de la placa base va a las bahías de 5,25'' donde está la grabadora de DVD. El disco, en cambio, debería ir a las bahías de 3''. Creo que la única solución sería utilizar un adaptador SATA-PATA, aunque no sé si merecerá la pena.
- La pantalla frontal no funciona en Linux. Aquí cuentan cómo hacerlo... pero me tiré una tarde y no conseguí que funcionase. Llegué incluso a recompilar el kernel. ¿Por qué cada vez que instalo un Linux acabo teniendo que recompilar el kernel? En 2008 igual que en 1996.
- Quise ver la temperatura de la CPU. Seguí estas instrucciones (básicamente, instalar y configurar lm-sensors y xsensors) pero me topé con este bug. Después de copiar sensors3.conf a sensors.conf... me salió una ventana muy pequeña. La estiré y estaba vacía... Tampoco he conseguido que funcione.
- Me compré un router WiFi. Hice algunos intentos de conectar con seguridad (WEP, WPA y WPA2) y ninguno funcionó. Ahora mismo tengo la red abierta.
- Quise compartir cosas entre Windows y Ubuntu. Después de pegarme bastante, lo conseguí, pero a una velocidad ridícula: 100 KB/s. Pasar un DVD me llevará un día. Pensé que podría ser problema de samba, pero veo que también pasa con un FTP. Habrá que seguir explorando...
- Procesador: Intel Core 2 Duo E8200 / 2.66 GHz
- Sistema de refrigeración: Scythe Ninja Mini
- Memoria: 2 GB Kingston ValueRAM
- Tarjeta gráfica: Sapphire RADEON HD 3450
- Disco duro: WD Caviar GP 1TB
- Grabadora DVD: Sony IDE NEC AD-5200A-01
- Placa base: Asus P5K-VM
- Caja: Antec Fusion Black
- Teclado: Trust KB-2950
Le instalé Ubuntu 8.04 y, después de un fin de semana y medio, sigo configurándolo. Algunas historias:
- Tuve que cambiar en la BIOS la opción del Num. Lock porque arrancaba siempre con él activado, y en el teclado Trust el teclado numérico coincide con letras básicas.
- En la configuración de las X (/etc/X11/xorg.conf) tuve que quitar la variedad "es" del teclado para que me funcionasen las teclas en español. Igual fue un error mío al instalar Ubuntu cuando me preguntó: no tenía mucha idea de las opciones y puse tanto en disposición como en variedad "es".
- Al conectar el ordenador a la televisión, una Samsung plana de 32 pulgadas que tiene como resolución 1360 x 768, no me aparecía ninguna opción para poner más de 1024 x 768. Tuve que instalar los controladores propietarios de ATI para que funcionase. Ya, de paso, activé los efectos de escritorio.
- Le pinché un adaptador Wireless USB de Netgear, el WG111v3. Para que funcionase en Linux tuve que seguir estas instrucciones, que básicamente te dicen que bajes e instales el driver de Windows con ndiswrapper. Después de eso aparece en el icono de redes de la barra de tareas de Ubuntu todas las redes que reconoce. Funcionó sin problemas, lo que me sorprendió.
- Quise aprovechar el tera para capturar un vídeo de la cámara Mini-DV. Es una tarea que habitualmente hago en Windows con Sony Vegas. Busqué por ahí y encontré básicamente dos aplicaciones para hacerlo en Linux: kino y dvgrab. La segunda es de línea de comandos, así que utilicé la primera. Fue enchufar la cámara y capturar, sin problemas.
- Menos algún pequeño problema... Totem me reproduce los vídeos capturados (después de instalar los códecs, un proceso que me ha gustado cómo está hecho) pero a pantalla completa no me gusta cómo se ve: se nota el entrelazado y parece que hay un escalado no muy lorgado. Cuando veo otros vídeos directamente desde la cámara o después de capturados en Windows y pasados a DivX desde un disco duro multimedia, se ven mejor. Estuve intentando reproducir los vídeos con mplayer, pero parecía que no podía porque el formato no está soportado. En la documentación del dvgrabber decían que había dos tipos de AVI, uno más compatible que otro. En el kino no vi nada al respecto. (Al final, descubrí después de lo que cuento más abajo del MythTV que era utilizar x11 como método de salida en vez de xv.)
- Quise instalar el Mame porque parece que el sofá es un sitio cómodo para jugar a esos juegos de mi infancia. Busqué por ahí y recomendaban instalar Ubuntu Games, que en teoría permite instalar juegos fácil en Ubuntu. No me convenció: está en portugués y después de instalar el Mame, si lo ejecutaba, se me quedaba la pantalla en negro y el ordenador no hacía nada. Tras otra nueva búsqueda de información, descubrí que era un problema con el modo de vídeo de salida que utiliza el Mame: intenta utilizar xv, que no está disponible con mi tarjeta. Hay que cambiarlo por x11 en algún fichero de configuración. Así conseguí que me funcionase lanzándolo desde la línea de comandos pero no desde el menú. Lo que hice al final fue ir al Synaptic, desinstalar xmame-x11 e instalar xmame-sdl.
- Quise instalar MythTV, a pesar de que no tengo tarjeta de televisión (no sé si voy a poner una), más que nada para tener un interfaz más cómodo para manejar desde el sofá, aunque la verdad es que estoy muy contento con el teclado y se puede trabajar perfectamente, incluso navegando por Internet, con el interfaz normal. Instalé los paquetes correspondientes con Synaptic, pero al arrancar el front end me daba un error de conexión con la base de datos (el mensaje creo que era: "Cannot connect to database?", con esa extraña interrogación al final). Por ahí leí que estaba mal el paquete de Ubuntu, que no le daba los permisos necesarios al usuario de la base de datos. Intenté hacerlo desde el shell de MySql, pero no hubo manera. Al final configuré en el interfaz de MythTV que utilice como usuario root y funciona sin problemas, pero no es una buena idea desde el punto de vista de la seguridad, ya que MythTV almacena por ahí la contraseña en claro. Otra cosa que tuve que cambiar fue el modo de salida del mplayer, de "xv" a "x11" para que me reprodujese los vídeos. Menos mal que me lo dijo un compañero.
Pero ahí no acabaron mis problemas con el mplayer: si tengo activados los efectos 3D y la salida xgl, se producen parpadeos, o más bien «flasheos». Desactivando los efectos se arregla. Pero pierdo la capacidad de hacer zoom, que es una pasada. Otra opción es utilizar como salida x11, pero entonces a pantalla completa no me llena toda la pantalla.
- Intenté meterle un disco duro de 200 GB que tengo de un ordenador viejo, pero no pude: es PATA y el cable PATA que sale del único conector PATA de la placa base va a las bahías de 5,25'' donde está la grabadora de DVD. El disco, en cambio, debería ir a las bahías de 3''. Creo que la única solución sería utilizar un adaptador SATA-PATA, aunque no sé si merecerá la pena.
- La pantalla frontal no funciona en Linux. Aquí cuentan cómo hacerlo... pero me tiré una tarde y no conseguí que funcionase. Llegué incluso a recompilar el kernel. ¿Por qué cada vez que instalo un Linux acabo teniendo que recompilar el kernel? En 2008 igual que en 1996.
- Quise ver la temperatura de la CPU. Seguí estas instrucciones (básicamente, instalar y configurar lm-sensors y xsensors) pero me topé con este bug. Después de copiar sensors3.conf a sensors.conf... me salió una ventana muy pequeña. La estiré y estaba vacía... Tampoco he conseguido que funcione.
- Me compré un router WiFi. Hice algunos intentos de conectar con seguridad (WEP, WPA y WPA2) y ninguno funcionó. Ahora mismo tengo la red abierta.
- Quise compartir cosas entre Windows y Ubuntu. Después de pegarme bastante, lo conseguí, pero a una velocidad ridícula: 100 KB/s. Pasar un DVD me llevará un día. Pensé que podría ser problema de samba, pero veo que también pasa con un FTP. Habrá que seguir explorando...
Etiquetas: Antec Fusion Black, HTPC, mplayer, PC salón, samba, Ubuntu