Migración final

Bueno, esta sí que es la definitiva! He contratado un servicio de hosting y he migrado mi blog allí :p :

http://blog.viricmind.org

Básicamente, he contratado el servicio de hosting para tener un “control total”  y además poder hacer experimentos :) .

Configurando teclas especiales en KDE con DCOP

ACTUALIZACIÓN: Éste tutorial és… inútil, xD (salvo si se quieren aprender algunas cosillas interesantes), la solución a los problemas que menciono és más sencilla que la expuesta en este tutorial, simplemente se tiene que instalar el paquete kmilo (o alguno que contenga el programa, dependiendo de qué distribución de Linux uséis).

Hará un tiempo mi portátil funcionaba bajo Debian Testing con KDE, en su momento lo configuré tan bien como pude y todo funcionaba de maravilla… hasta que el hardware se empezó a estropear (lo que le llevó a la muerte hará pocas semanas). Después de morir mi portátil fue transportado al cielo de los portátiles, junto con su Creador (HP) , allí se le dio una segunda oportunidad por haber sido tan bueno… y a los tres días resucitó.

El caso es que volvió a mis manos infectado con Windows (se lo contagiaron los otros ordenadores que no merecieron volver a la vida y todavía hoy permanecen en el purgatorio). A la semana conseguí curarlo con Debian Testing (KDE) pero parecía que algo no iba bién, seguía un poco acatarrado.

Por lo visto (no sé bien bien porqué) con la versión actual Testing de Debian han dejado de funcionar bien muchas cosas que antes iban como la seda: el sistema de sonido, y como no, el teclado (de ahí el título del artículo). Antes, configurar el teclado sólo consistía en tocar cuatro tonterías en los paneles de configuración de KDE (me parece que ya posteé hace tiempo sobre como hacerlo de esa manera). Ahora no es tan sencillo, y tenemos que currar un poco más (al menos en mi modelo HP Pavillion dv2104 eu).
Iremos por pasos (nota, todo lo que ponga con comillas, vosotros ponedlo SIN comillas):

  1. Aplicamos el primer mini-tutorial (en mi caso todo funciona, pero Kmix no reconoce las teclas Mute, Subir Volumen y Bajar Volum, de ahí que esté haciendo este segundo mini-tutorial).
  2. (Suponiendo que estamos en KDE) Vamos a Preferencias->Regional i accesibilidad->Introducir acciones.
  3. Ahora crearemos una acción para Mute: Apretamos el botón ‘Nueva acción’.
  4. En el campo ‘Nombre de la acción’ ponemos lo que queramos (aunque estaría bien un nombre identificativo, por ejemplo ‘Mute’).
  5. En el campo ‘Tipo de la acción’ escogemos la opción ‘Acceso rápido de teclado -> Llamada a DCOP (simple)’.
  6. Vamos a la pestaña ‘Acceso rápido de teclado’. Allí seleccionamos el botón que hay en medio y apretamos el botón especial Mute. (Esto sirve para indicar al programa con qué tecla asociaremos la acción).
  7. Vamos a la pestaña ‘Preferencias de llamada a DCOP’. Rellenenamos el campo ‘Aplicación remota’ con el valor ‘kmix’. Rellanamos el campo ‘Objeto remoto’ con el valor ‘Mixer0′ (Hasta este paso todo se hace igual para Mute, Subir Volumen y Bajar Volumen, excepto con los nombres y las teclas asociadas, claro).
  8. Para Mute el campo ‘Función llamada’ tomará el valor ‘toggleMasterMute’. Para Subir Volumen el mismo campo tomará el valor ‘increaseVolume’ y para Bajar Volumen ‘decreaseVolume’.
  9. El campo ‘Argumentos’ no tomará ningún valor para Mute. Para Subir y Bajar Volumen tendremos que asegurarnos de cual es el valor apropiado. Ejecutamos en consola la siguiente instrucción para saberlo (la salida que nos dé será el número que queremos):
    dcop kmix Mixer0 masterDeviceIndex
  10. Apretamos el botón ‘Aplicar’ y ya estamos :) .
  11. Para casos superespeciales (no me ha pasado): cabe destacar que yo he utilizado Mixer0 a la ligera como ‘Objeto remoto’, pero ¿No podría haber Mixer1? Creo que sí, pero no debe ser muy usual. En todo caso nos podemos asegurar ejecutando el comando (Nos dará una lista de los valores aceptables para ese campo):
    dcop kmix | grep Mixer

Espero que haya sido útil éste mini-tutorial. De hecho, creo que introduce también la idea de utilizar dcop para nuestros propios pequeños programas. Sin duda es una muy buena herramienta para intercomunicar programas.

Ala, hasta otra! :)

youtube-dl : desfasado

Hará unos meses (hacia principios de este curso) un amigo mío encontró por casualidad (o no) un conjunto de utilidades libres que permitían bajar vídeos de http://www.youtube.com y transformarlos al formato abierto ogg . Las susodichas utilidades eran youtube-dl y ffmpeg2theora.

Poco después desarrolló un pequeño script bash que automatizaba el proceso y facilitaba la vida a todos aquellos que querían ver vídeos de youtube manteniendo su “pureza” pro-software libre. Yo lo modifiqué añadiendo dos pijadas poco importante y pasándolo a Python para entretenerme un poco (y lo llamé freetube).

El caso es que la utilidad youtube-dl se ha quedado en los repositorios de la versión estable etch de Debian, pero no ha pasado a lenny (eso me ha extrañado). Por eso mismo me he bajado el paquete manualmente y he podido comprobar como el mismo programa me dice que no puede bajar los vídeos y que es posible que la API de Youtube haya cambiado ligeramente, con lo que ya no funciona correctamente… En estos casos me sabe mal no saber suficiente programación en Python y estas APIs para poder solucionar yo mismo el problema.

Nuevo blog

Inicio este blog con la idea de que sea la continuación de mi anterior blog en blogspot (o blogger) , la razón es simplemente… que aquí utilizan software libre (en blogspot no) y también que quiero experimentar con otras cosas. No cerraré el blog anterior, pero seguramente no lo actualizaré cómo hasta ahora ya que lo haré aquí.

Fiasco

Al final esto de la página no va a ser tan bueno como pensaba. Ya sabía que duraba poco, sabía que tenía poco espacio de alojamiento y que tenía poca tasa de transferencia mensual (aunque ni de coña la iba a consumir toda, jeje), pero no me dí cuenta de que el servicio ofertado por Acens (la companyia que escogí por error) no incluía una base de datos MySql demasiado tarde. Así que nada, para hacer páginas de texto plano, que se lo quede el dominio la madre del ministro que promovió toda esta CUTRADA.

Si bien es cierto que había una de las compañías que sí que ofrecía MySql, lo pasé por alto, no me dí cuenta, y ale, promoción del gobierno a la basura. Por cierto, la broma al gobierno sólo le cuesta 7.5 €/año (de media) por persona inscrita en esta iniciativa… ¡se lo podían haber currado más! (Vale, ronda el medio millón de Euros, algo es algo, aunque creo que se debería haber invertido más).

Nada pues, hasta otra :p .

En breve somnialeth.es :D

Hola :) acabo de recibir un correo de Ascens diciéndome que ya tengo acceso a un dominio gratuito durante un año, con el dominio me dan también espacio de alojamiento: unos 200 MB, cuentas de correo y una alegría :D .

Todavía tengo que configurarlo todo pero creo que pronto estará disponible la página http://www.somnialeth.es (aunque no creo que dure más de un año).

Pedí la subvención del estado para obtener el dominio gratuito porque un amigo mío me recordó que existía la subvención cuando en su blog colgó la noticia de que ya había obtenido el suyo. Cuando estaba escribiendo mis datos en el formulario de inscripción no tenía demasiado claro que quedaran subvenciones (pues sólo dan 57.000), pero al final he tenido suerte.

Para los interesados, que se den prisa!!! Si quieren conseguir un dominio gratuito que visitenla página http://www.jovenesenred.es .

Bueno, me voy a cenar, que ya llevo mucho rato estudiando (por cierto, que horas más raras para recibir un email de notificación,¿ no?).

Proyecto Euler

En diez minutos subiré a dormir al piso, pero antes tengo que mostrar lo que he descubierto mientras estudiaba Teoría de Autómatas en la biblioteca de ciencias sociales de la UAB.

En una de esas pausas en las que uno se entretiene un poco con cosas ajenas al estudio estaba yo mirando mi lector de feeds cuando he visto una entrada de DiarioLinux bastante interesante. Ésta enlazaba una página llamada Project Euler.

En ésta página se proponen diversos retos matemáticos/informáticos en los que no sólo cuenta la habilidad matemática para resolver problemas, sino también la capacidad que uno tenga para programar, y viceversa, se puede ser muy buen programador y no estar demasiado bien dotado para las matemáticas. Resumiendo, un sitio bastante interesante, bien pronto le hincaré el diente para ver que tal saben esos problemillas :) .

Buenas noches.

Wifi con tarjetas Broadcom sin Ndiswrapper!

Buenas, ésta mañana me he estado peleando con mi portátil para poder conseguir que funcionara su targeta wifi (Broadcom BCM94311MCG wlan mini-PCI (rev 01) ). Lo del (rev 01) es importante porque indica el número de revisión de la tarjeta, el caso es que el procedimiento es un poco más largo si nos encontramos con (rev 02) .

La información que me ha sido más util para resolver mi problema la he encontrado en estos dos blogs:

En el primero hay una explicación detallada sobre como podemos ver parámetros de nuestro hardware, vamo, mucho más de lo necesario, pero no por ello menos interesante.
http://www.jesuslara.com.ve/blog/2008/03/11/broadcom-wlan-43xx-con-el-wireless-stack-mac80211-kernel-2624/

En el segundo tenemos una explicación muy breve y concisa.
http://nosoyeljano.wordpress.com/2008/04/10/broadcom-wireless-con-modulo-b43/

¿Porqué escribo esta entrada si ya escribí otra acerca del mismo tema hace ya tiempo? Pues bien, resulta que con el nuevo kernel 2.6.24 ya no sale a cuenta intentar instalar ndiswrapper, por que en la mayoría de casos no funciona, además, tenemos una solución mucho más sencilla :D .

Por si acaso escribiré también la solución aquí, nunca se sabe lo que puede pasar con los enlaces.

Paso 1:
Editar el archivo /etc/apt/sources.list (en modo root), tenemos que añadir la palabra contrib si no está puesta ya en las líneas que comiencen por deb. Ésto se debe a que no el paquete que necesitamos instalar no lo mantienen desarrolladores de Debian. (Después de realizar todo el proceso podemos dejar el archivo como estaba).

Paso 2:
Ejecutar el comando:

# lspci | grep Network

Con él conseguiremos saber qué dispositivos de red tenemos (y veremos si efectivamente estamos trabajando con el que en éste tutorial presupongo). Tenemos que mirar la primera línea, que será algo parecido a ésto:
01:00.0 Network controller [0280]: Broadcom Corporation BCM94311MCG wlan mini-PCI [14e4:4311] (rev 01)

Nos fijamos en los segundos corchetes [14e4:4311] , el segundo valor es el que nos interesa, porque nos permitirá saber si nuestro dispositivo de red wireless está soporado o no por el driver que instalaremos (me olvidaba de mencionarlo, se llama b43 ;) ). Los dispositivos soportados són:

  • bcm4303 (chips 802.11b)
  • bcm4306
  • bcm4311 rev 1 / bcm4312
  • bcm4311 rev 2 / bcm4312 (needs patches for 2.6.24)
  • bcm4318

Si nos fijamos veremos que lo de rev1 o rev2 también aparece en la primera línea, inmediatamente después de los corchetes. Bien, todo aquel que no tenga su dispositivo en la lista… lo tendrá peludo, aunque nunca se sabe.

Paso 3:
Este paso te lo puedes saltar si no tienes una de esas tarjetas rev 2 (supongo que es el número de revisión). Tenemos que descargar y aplicar un parche :p.
# wget http://linuxwireless.org/download/b43/patch_2.6.24_for_4311_2

Ahora toca mover el parche al directorio de linux y aplicar el parche (en éste punto tengo que admitir que nunca lo he hecho, pues no me ha hecho falta, así que si hay dudas sobre esto… buf, espero que sean fáciles para que pueda responder).

# cp /donde/sea/patch_2.6.24_for_4311_2/ /usr/src/linux
Nos movemos al directorio donde hemos copiado los archivos:
# cd /usr/src/linux [1]
Aplicamos el parche:
patch -p1 < patch_2.6.24_for_4311_2

Ahora tenemos que compilar, seguid éste tutorial:
Compilar Kernel a la Debian

Paso 4:
Ahora nos toca instalar el paquete que nos rematará el trabajo:
apt-get install b43-fwcutter

Paso 5:
Nos queda indicar al sistema qué módulos queremos que se carguen al iniciarse y cuáles NO QUEREMOS que se carguen. Para ello modificaremos primero el fichero en el que se indican los módulos que no se cargarán /etc/modprobe.d/blacklist (en modo root). Añadiremos las siguientes líneas:
blacklist ndiswrapper (Sí, desterramos a ndiswrapper, :D )
blacklist bcm43xx
blacklist ssb

La línea con ssb la pongo aunque no esté en los tutoriales porque yo mismo he comprobado que es necesaria. Ah! ya no es necesario añadir nada en /etc/modules como antes con ndiswrapper :) . No estaría mal que lo abrierais también para eliminar la entrada de ndiswrapper en caso de que esté allí. (Para hacer un poco de limpieza).

Más cosas (aunque ya son pequeñeces): tendréis que reiniciar el sistema. Una herramienta como Knetworkmanager va de coña. Podéis ejecutar el comando iwconfig para ver qué dispositivos de red inalámbrica tenéis activados. Los comandos ifup y ifdown sirven para levantar una interfaz de red fácilmente. Si ejecutais ‘iwlist scan‘ os aparecerá una lista de las redes inalámbricas disponibles. Si no os va nada… probad a editar el archivo /etc/network/interfaces, añadís las líneas siguientes:
allow-hotplug wlan0_rename
iface wlan0_rename inet dhcp

Normalmente se pone wlan0 y no wlan0_rename, pero no sé porque se me configuró de forma que necesitaba ese nombre en concreto… :( , en principio probad con wlan0. (después de editar ésto utilizado los comandos:
ifdown wlan0
ifup wlan0

Bien, tengo mucho sueño y no recuerdo si hay alguna pijada más que se deba tener en cuenta. Hasta otra :) .

——
[1] Aquí he encontrado un pequeño error y he modificado ligeramente los pasos respecto a la fuente original.

Sonido en Debian Lenny (testing por el momento)

Hasta hace poco en mi ordenador Chisposo corría GNU/Linux Debian Testing (Lenny), pero como tuvo que pasar por el servicio técnico de HP para que solventaran ese pequeño problemilla que tenía (de hecho murió) allí lo volvieron a convertir en un pobre monstruo que sólo sabía ejecutar Windows XP (suerte que no le pusieron Vista).

Por eso mismo éste pasado jueves instalé Debian Testing 64 bits con KDE en mi portátil, pero me encontré con un problema bastante desagradable… el sonido era la cagada más grande que uno pueda imaginar, pura distorsión, de esa que te pone los pelos de punta. Hoy quería arreglar el problema y dado que he tenido la maravillosa suerte de tener acceso a internet (¡sí! ¡porfín hay internet en mi casa!) he decidido reinstalar Debian (no tenía ganas de solucionar el problema a lo hackercillo) pero esta vez he utilizado un CD netinst.

El caso es que no sé si en principio ha sido peor el remedio que la enfermedad, pues me he quedado sin sonido, he pasado de sufrir por la distorsión a sufrir por ver a mi pobre Chisposo sin poder decir ni mu. Obviamente no he dejado las cosas así y he empezado a buscar información para ver si encontraba alguna manera de solucionar el problema, al final la he encontrado. Apuntaré los pasos que he seguido (sin incluir la búsqueda de información, os lo ahorraré), sólo añadiré que por lo visto no soy el único que ha tenido éste problema últimamente, parece ser que las versiones recientes de Lenny dan bastante por saco con el sonido.

  1. Tecleamos en la consola la siguiente línia para instalar los paquetes ‘module-assistant’ y ‘build-essential’.
    # apt-get install module-assistant build-essential

  2. Vamos a la dirección ftp://ftp.alsa-project.org/pub/driver/ para descargar el driver alsa más reciente (simplemente buscad el fichero más reciente y con el número de versión más alto). En particular yo he bajado el ficheroalsa-driver-1.0.16rc2.tar.bz2 .
  3. Descomprimimos el driver:
    # tar xjvf alsa-driver-1.0.16rc2.tar.bz2
  4. Accedemos a la carpeta que se acaba de crear:
    # cd alsa-driver-1.0.16rc2

  5. Y ejecutamos los típicos comandos (Puede que algunos tengáis algunos problemas, así que leed el paso 6 antes de continuar):
    # ./configure
    # make
    # make install
  6. Nos puede pasar que cuando ejecutamos el comando ‘configure’ aparezca un mensaje en la consola diciendo que nos faltan algunos archivos de cabecera del código de Linux, seguramente empezará diciendo que falta un archivo version.h situado en /usr/src/linux/include/linux/ . Por esta razón tendremos que bajar los headers de linux. Lo que pasa es que dependiendo de la arquitectura y el momento el paquete puede llamarse de diferentes maneras, así que lo que haremos será buscar entre las posibles opciones que nos mostrará el siguiente comando:
    # apt-cache search linux src

    Yo en particular me bajo el paquete linux-headers-2.6.22-3-amd64 por que tengo un sistema amd64:
    # apt-get install linux-headers-2.6.22-3-amd64

    Una vez bajadas las cabeceras ya podemos ejecutar el paso 5. Por cierto, también puede pasar que siga sin encontrar los archivos de cabecera, entonces estad atentos al mensaje que os da (ahora no recuerdo exactamente el comando que hace falta utilizar, pero en el mensaje aparece). Tenéis que escribir ./configure con un comando seguido de la ruta real de los archivos de cabecera, en mi caso sería /usr/src/linux-headers-2.6.24-1-amd64/ .

  7. Ahora hay gente a quien le funcionará simplemente reiniciando la máquina o reiniciando el servicio alsasound:
    # /etc/init.d/alsasound restart

    En mi caso no ha funcionado y he tenido que llamar a la utilidad alsaconf:
    # alsaconf

    He seleccionado la opción correspondiente a mi tarjeta de sonido y posteriormente he reiniciado la máquina obteniendo el resultado deseado. (Antes de todo este rollo no me funcionaba lo de alsaconf, así que lo anterior también tiene su sentido).

Espero que éste tutorial pueda servir a alguien (aunque se puede encontrar la misma información repartida por internet), he intentado recopilarla de la forma más ordenada posible para facilitar la búsqueda de información. Si por alguna razón no funcionara éste sistema siempre podéis acudir a foros y otros sitios donde seguro acabará apareciendo alguna solución :) .

Hasta otra!

Conferencia Stallman

Bien, ésta entrada llega algo tarde, pero más vale tarde que nunca :p .

El Lunes pasado se hizo la conferencia de Stallman en la UAB (y por lo visto ha estado haciendo conferencias en multitud de universidades españolas durante esta semana), y como no, asistí a ella.

Podéis ver el vídeo de la conferencia aquí:
http://www.gnuab.org/streaming/RMSUAB

La verdad es que es una experiencia para no olvidar, Richard Mathew Stallman es todo un showman (no sé si porque lo tiene todo preparado o porque es así todo el tiemo). A las 10:30 la sala de conferencias del rectorado estaba llena, no cabía ni un alfiler, todas las sillas llenas y gente de pié en el fondo esperando para escuchar al conferenciante. Pasados 5 minutos nos avisan de que Richard Stallman ha querido utilizar el transporte público y debido a una avería en no sé donde se podría demorar unos 20 minutos más.

Pasado un rato llega Stallman, sube al “escenario” donde está situada la mesa de los conferenciantes y le ruegan que se siente, su respuesta es tajante:

“No, no soy tonto, sé que si me siento me dormiré”
Al final el director de la Escuela Técnica de Ingenieria Superior (ETSE por sus siglas catalanas) consigue que Richard ocupe su asiento… a los pocos segundos se muestra por primera vez en la sala la faceta humorística/showman/friki del quince poniéndose a dormir apoyando su cabeza en la mesa.

Después de la presentación que hizo el director de la ETSE de Stallman, éste se levantó y empezó la conferencia (durante la que se llegó a beber tres jarras de té el solo, por cierto, Sorribas parecía su fiel mayordomo). Hizo también alusiones a Bush, Aznar, el demonio Microsoft, y otros demonios, vamos, lo típico.

No puedo dejar de contar lo que me hizo reir más de toda la mañana: la evangelización de la iglésia de Emacs. Una vez hubo explicado el núcleo central de su ideología empezó el show de verdad, ni corto ni perezoso se puso una toga, un disco duro por sombrero (a modo de aureola) y empezó a proclamar las bondades de su “religión” de adoración a un editor de textos libres. Casi todo el mundo reía y aplaudía casi de forma convulsiva (por suerte nadie se tomó en serio lo de la religión). Para acabar cantó la canción del software libre a petición de alguien situado al final de la sala, con lo que también reímos un poco más.

Aparte de lo que reí, tengo que decir que advertí en Stalman algunos errores que se podrían considerar graves de cara a conseguir sus objetivos: su principal error era básicamente decir “tenéis que hacer tal y cual”, en vez de decir “es aconsejable hacer esto y aquello porque obtendréis tales y cuales beneficios”. A la gente no le gustan las imposiciones, los consejos sí.

Pues nada, no es que haya sido muy interesante la entrada, :p , pero tenía ganas de escribir algo.

Hasta otra! :D