Sunday, May 31, 2009

Redescubriendo la Biblia

Yo creyendo que la Biblia es "ese libro grodo y aburrido", y resulta que tiene sus puntazos. Uno hasta se acaba preguntando quién es realmente el malo de la peli ;)

Wednesday, May 27, 2009

Erasmus München / Munich 2009 - 2010

Por si alguien se topa con esto, aquí dejo enlaces que pueden ser útiles a la gente que va de Erasmus a Múnich ahora en octubre. Nada que google no pueda encontrar, pero nunca se sabe:

http://www.erasmusworld.com/portal/modules/newbb/viewtopic.php?viewmode=flat&topic_id=35398&forum=37
http://www.facebook.com/group.php?gid=33504104404
http://www.facebook.com/group.php?gid=175314195257j
http://portal.mytum.de/international/index_html_en (obviamente)

Si me cruzo con alguno más, actualizaré :)

Sunday, May 24, 2009

Subtítulos en las bandas negras con mplayer

Pequeño truco para mplayer. Casi todas las películas/series vienen un un formato más panorámico que las pantallaas de los ordenadores. Las pantallas suelen ser 16:10 y el contenido como mínimo 16:9 y hasta 2,35:1., lo que conlleva las famosas barras negras por debajo y por arriba de la imagen. Y cuando las pelis están en otro idioma y hace falta subtítulos, éstos aparecen encima del video, tapando partes de la acción, ya que las bandas negras es algo que el reproductor no gestiona, por tanto no puede dibujar ahí.
Para optimizar un poco y aprovechar las bandas negras para mostrar los subtítulos, existe una opción de mplayer que viene como anillo al dedo: filtro de vídeo expand. Esta opción hace que el mplayer dibuje de manera forzada más imagen de la que viene en el archivo, creando bandas negras a la fuerza, pero ya que las crea él, puede dibujar en ellas y por tanto mostrar ahí los subtítulos. La sintaxis es la siguiente:
$ mplayer -vf expand=0:-70:0:0 nombre_archivo

Con esto se crearía una banda de 70 pixeles debajo de la película, con lo que se haría hueco para subtítulos pero el video quedaría desplazado hacia arriba al ponerlo a pantalla completa. Para evitar eso (si hay espacio de sobra), se pueden poner 70 pixeles por debajo y por arriba con:
$ mplayer -vf expand=0:-140 nombre_archivo

En caso de usar smplayer (recomendado), basta con ir a Opciones->Preferencias->Avanzado->Filtros de vídeo y ahí escribir "expand=opciones_desadas", sin el vf ni espacios (ni las comillas).

Friday, May 22, 2009

Wifi 5GHz en Linux

Hace poco comenté sobre un problema con la wifi en linux, en el "nuevo" kernel 2.6.29. Pues parece que el problema es la configuración de país de la tarjeta. Cada país tiene una lista de frecuencias en las que se permite emitir sin licencia, y que se usan para (entre otros) las redes inalámbricas. Pues bien, entre las versiones 28 y 29 del kernel, cambió el modo de administrar este ajuste y as cosas dejaron de funcionar, hasta el punto de que ni me detectaba la red 5GHz del punto de acceso.

La solución: decirle que estamos en España (o el país que sea... ¡yo no me hago responsable!):
# iw reg set ES

Y voilá! Problema arreglado, ya funciona con normalidad. Para que sea permanente, lo mejor es añadirlo a "/etc/rc.local", para que se ejectue cada vez que se enciende el ordenador.

UPDATE: por desgracia, esto sólo resuelve el problema de no ver los puntos de acceso. El problema de "semiconexion" sigue presente. A ver cuendo sale el 2.6.30.

Sunday, May 17, 2009

Wireshark sin root

Todo el mundo recomienda ejecutar wireshark sin privilegios de root, lo cual es lógico. Según la propia web, son un millón de líneas de código analizando datos potencialmente maliciosos. Suena lógico, pero por desgracia para capturar tráfico hacen falta privilegios de root.

Así que para usar wireshark hay dos opciones:
  • Arrancar un tcpdump o dumpcap como root, guardar el resultado en un archivo y ejecutar wireshark como un usuario sin privilegios. Bastante incómodo pero efectivo.
  • Permitir a un usuario capturar tráfico. O más general aún, a un grupo de usuarios. Así, cualquiera en ese grupo puede arrancar wireshark y ponerse a capturar tráfico sin más molestias. Normalmentee esto se haría ajustando los permisos del dispositivo en cuestión, como el caso de /dev/sdX para los discos duros, pero las interfaces de red por desgracia no parecen tener estaa opción (hoy en día, en algún sitio leí de dispositivos /dev/tcp, pero me lo puedo estar inventando). La solución es la siguiente:
  • # which dumpcap
    /usr/bin/dumpcap
  • # chmod 750 /usr/bin/dumpcap
  • # chmod +s /usr/bin/dumpcap
  • # chgrp GRUPO_CAPTURA /usr/bin/dumpcap
Y cualquier usuario del GRUPO_CAPTURA (por ejemplo, wheel) puede inicar wireshark normalmente y empezar a analizar tráfico en vivo.

Tuesday, May 12, 2009

Historia de la programación

Gracias a Barrapunto llegué a este genial resumen, lleno de mala leche, de la historia de los lenguajes de programación. Según el autor es "en su mayor parte erróneo", pero yo diría que simplemente "no es literal".

Para quien lo prefiera en español, una traducción.

Monday, May 11, 2009

No Review de Arch Linux

Igual que quise en su momento hacer una review del ThinkPad X200s, pero dado que salieron 10 o 15 por internet lo dejé, también pensé en hacer una de Arch, mi "OS of choice" (¿como cohones se traduce eso? ¿mi SO elegido? hmmm).

Pero voy a hacer lo que hacen los grandes programadores: reusar código. En este caso, reusar reviews.

Aquí una review concisa, aquí uno que se queda a gusto despotricando y aquí para los que tengan mucho tiempo libre y quieran seguir leyendo.

Mi recomendación: si te gusta Ubuntu, prueba Mandriva. Si te gusta Debian, prueba Arch.

Sunday, May 10, 2009

Best plasmiod evar

Haciendo un repaso a mi KDE, aparte de cambiar de wallpaper he rescatado el que para mí es el mejor widget de KDE4: Command Watch. Lo que hace es super simple: ejecuta un programa de consola y muestra la salida, ya sea en el escritorio (para esto conky es mejor) o en el panel, donde más se puede aprovechar. El intervalo de actualización es configurable asi como el tipo de letra, no tiene mucho más. Muy estilo conky. A partir de ahí, cada uno decide qué le interesa. Los comandos más obvios serían del tipo "uptime", o "tail /var/log/loquesea", pero tampoco hay que descartar algo de creatividad/frikismo, como echo "IP $(ifconfig wlan0 | grep "inet addr" | sed -e 's/.*inet addr:\([^ ]*\).*/\1/') SSID: $(iwconfig wlan0 | grep "ESSID" | sed -e 's/.*ESSID:"\([^ ]*\)"/\1/')", por ejemplo. El uso que le doy es principalmente como "conky para el panel".

Ya lo usé en KDE4.1 pero con la versión 4.2 desapareció, seguramente por un problema en el archivo de cmake, que por lo que he visto en el hilo de discusión se ha tenido que adaptar para que compile. El proceso de compilado por cierto, es bastante mas enrevesado de lo común, y desde luego nada intuitivo. Detalle de menor importancia para un widget genial.Enlace

Friday, May 8, 2009

urpmi vs DNS

Curioso fallo de urpmi, el sistema de paquetes de Mandriva. No sé si es debido a que es un entorno virtual, pero sería muy raro, dado que el resto de programas funcionan bien, urpmi es el único que falla.

El caso es que si el servidor DNS primario no es accesible, urpmi se queda esperando indefinidamente. No ignora EL servidor secundario, ignora AL servidor secundario, que es distino: le hace la query, pero pasa de la respuesta.

Solución: si urpmi se queda colgado, poner como servidor DNS primario uno que funcione.

Wednesday, May 6, 2009

Mandriva 2009.1

Hace poco salió la nueva versión de Mandriva y dado que anunciaban mucho su soporte para netbooks, decidí probarla en mi Acer Aspire One. Para los que tengan prisa, veredicto: pse, no es gran cosa.

Lo primero es la instalación. Mucha publicidad y mucha tontería, pero casi en ningún sitio hay nada concreto. Al final, tras mucho googlear, leí en una lista de correro que lo que significa que la iso sea "hibrida" es que se puede hacer un dd de la iso al pendrive y funciona. Es impresionante que poniendo "Mandriva install from USB" en google todo lo que salga sean cosas de 2007. Un SEO pésimo, no tengo ni idea como una empresa comercial puede hacerlo tan mal. Uno normalmente no aprecia que Arch o Gentoo son una delicia en estos aspectos.

Segundo, el funcionamiento. No voy a decir que va mal, pero tampoco se notan las "optimizaciones". Es cierto que lo unico que tengo para comparar es Arch que va como un tiro, así que digamos que aceptamos barco. El firefox va bien, incluso compiz no deja nada que desear. Eso en cuanto al rendimiento. En cuanto a la adaptación a un netbook, la cosa está muy malita:
  • No ofrece ningun programa para comprobar/grabar con la webcam.
  • No trae skype preinstalado NI TAMPOCO EN LOS REPOSITORIOS. Hay que ir a la pagina de skype y bajarse el rpm correspondiente. Alucinante.
  • El botón de suspendido no funciona por defecto.
  • No trae absolutamente ninguna aplicacion de "menu para netbooks".
Resumiendo: eso de "optimizada para netbooks" significa que han probado que el netbook no muere al instalar Mandriva, punto pelota. El sistema final es un Mandriva normal y corriente, ni punto de comparación con ditros tipo eeebuntu, REALMENTE optimizadas y diseñadas para miniportatiles.

Nota aparte: Lo que si que funciona de maravilla es como sistema para ser virtualizado. En virtualbox detecta automaticamente el entorno y carga las herremientas de integración ya en el LiveCD, a diferencia de openSUSE que hay que montar un jaleo enorme para ello. Eso sí que lo han hecho bien, y lo gracioso es que en ningún sitio lo anuncian.

Un cero para los de marketing, un 6 para los desarrolladores.

Sunday, May 3, 2009

Regresiones en el kernel de linux: iwlagn

No sé si mi caso es especial, porque no he encontrado nada parecido por Internet, pero con el kernel 2.6.29 he dejado de poder conectarme a la wifi, en concreto a la de 5GHz. Hay algún bug relacionado con WPA2, pero en mi caso da igual el cifrado, depende únicamente de la frecuencia. Tanto con el 2.6.28 como con Windows, el tema funciona, así que definitivamente no es culpa del AP. Lo más gracioso de todo es que sólo falla parcialmente: es capaz de solicitar y recibir una IP por DHCP e incluso responder peticiones ARP, pero no es capaz de ver las respuestas a las peticiones ARP propias. Los dejo aqui por si alguien más tiene este problema, que no se rompa la cabeza buscando qué es lo que hace mal. Más tarde abriré un bug en el bugzila del kernel, a ver que me dicen.

Actualización (2009 May 20): La solución no es difícil.

Saturday, May 2, 2009

Aprendiendo al estilo Matrix

Por alguna extraña razón, mi lenguaje favorito es C. Por supuesto, aprecio las enormes ventajas de Java, PHP y demás, pero cuando realmente me siento en casa es cuando hago mallocs, sumo chars con enteros para conversiones, manejo cualquier tipo de dato como puntero, etc. Y aunque el mundo ha relegado a C a un segundo plano dejándolo sólo para programación de sistemas y aplicaciones en sistemas limitados, tipo microcontroladores, C no ha muerto.

Me acuerdo aún en el instituto, estudiando literatura, que había 3 tipos de vida: la vida terrenal, la vida eterna religiosa y el tercer tipo: la vida eterna gracias a la fama. Pues C tiene un nuevo tipo de vida eterna: la vida eterna gracias a la herencia (¡no hablo de objetos!).

Cualquier lenguaje "que se precie" (amantes de haskell abstenerse) hoy en día, a nivel sintactico es realmente un C un poco expandido. En los último días he tenido que hacer dos pequeños programas, uno en Java y otro en C#. En ambos era "mi primera vez" y en ambos tuve la misma sensación: con ver un ejemplo de código en internet me basta para hacer un programa sencillo que funcione. Por supuesto, llegar al "nivel maestro" con cada uno de ellos lleva años, como cualquier cosa, pero el nivel necesario para hacer un hola mundo o un bubble sort, se alcanza en cuestión de minutos, gracias a su enorme parecido con C.

Ahora tengo que hacer un proyecto para una asignatura de la carrera, y como tenía ganas de aprender python, he estado buscando cosas por google. A ser posible un cursillo/tutorial que me explique por encima todo el lenguaje sin enrollarse en cuestiones como qué es una variable, qué es un objeto y a qué hulen las nubes. Total, sabiendo C seguro que en nada lo domino ;)

Y en efecto. En el autobús volviendo a casa de la oficina y como siempre gracias a google, aprendí python. Me subí sin tener ni idea y me bajé con los conceptos claros. De aquí a Matrix sólo queda un paso.