Python Challenge: aprende a programar jugando

Hacía tiempo que no me divertía tanto con un juego informático. Teóricamente www.pythonchallenge.com es una web para aprender a programar en Python, pero puede usarse cualquier otro lenguaje. El objetivo es encontrar la solución a distintos problemas que plantea cada nivel de este reto. Hay 33 niveles, a cada cual más complejo 🙂 Los 4 primeros son facilitos, basta con pensar un poquito y conocer cómo calcular potencias, manipular cadenas de texto, expresiones regulares, leer ficheros de texto… en tu lenguaje de programación favorito. Pero a partir del nivel 5 la cosa se complica… y se pone interesante. No hay premios en sentido estricto; el mejor premio es la satisfacción que da pasar cada nivel con tus propios conocimientos y herramientas. Cuando encuentres la clave de un nivel, para poder pasar al siguiente, basta con que la pongas en la url. Por ejemplo, si la url del primer nivel 0 es http://www.pythonchallenge.com/pc/def/0.html bastaría con que cambiaras 0.html por el texto de tu solución: http://www.pythonchallenge.com/pc/def/texto_de_tu_solucion.html

Si te atascas en algún nivel, puedes encontrar pistas en los foros. Si tampoco así consigues pasar, puedes preguntar en los comentarios de este post, y si hay alguien que haya llegado a la solución, podrá ayudarte (evitad spoilers!!!!) 😉

¡Ojo! Es muy, muy adictivo 🙂

Jornada en la Facultad Informática de Donostia

El próximo martes 22, si estudias o trabajas cerca de Donostia (San Sebastián), probablemente te interese acudir a la jornada que hemos organizado bajo el título:
Cómo trabajar con Software Libre en la FACULTAD (y sobrevivir 😉

Entre los temas a tratar:

+ Cómo ganar dinero con software libre en la Facultad (Juanan Pereira)

+ Google Summer of Code:
+ Desarrollo de aplicaciones en GNOME. Caso práctico: EVINCE
(Iñigo Martínez)
+ Desarrollo de plugins para Moodle. Caso práctico: Epaile
(Arkaitz Garro)

+ Diseña tu propia distro Linux con EHUX 3.
(Aitor Cuartango)

Será en el salón de grados de la Facultad de Informática de Donostia, de 16 a 18. ¡Anímate!

Cómo recuperar el password de admin en MySQL

Recientemente, instalando una aplicación para la gestión de reservas, me llevé la desagradable sorpresa de que en el script SQL de carga de datos, se eliminaban los permisos del usuario root y los dejaba con los mínimos posibles (visualizar tablas y editarlas, pero sin poder crear nuevas BBDD, ni usuarios, ni tablas, ni…) O sea, un desastre. Pero buscando en Internet, encontré la forma de recuperar todos los permisos del usuario root. Incluso se puede usar el método que describo a continuación para resetear el password de root en MySQL a otro que conozcamos (por si se nos olvida el original).

Lo primero, parar/matar los procesos de MySQL que ya estén en marcha:

 /etc/init.d/mysql stop

Relanzar el servidor MySQL, PERO indicándole que no tenga en cuenta ninguna gestión de permisos
(¡via libre!)

  /usr/bin/mysqld_safe --skip-grant-tables &

Conectar con MySQL, SIN password, a la BBDD principal de gestión (que lleva el nombre mysql)

mysql -h your_hostname mysql

Darle permisos al root para TODO. Indicar el nuevo password:

mysql

update user

set Select_priv='Y',

          Insert_priv='Y',

          Update_priv='Y',

          Delete_priv='Y',

          Create_priv='Y',

            Drop_priv='Y',

          Reload_priv='Y',

        Shutdown_priv='Y',

         Process_priv='Y',

            File_priv='Y',

           Grant_priv='Y',

      References_priv='Y',

           Index_priv='Y',

           Alter_priv='Y',

         Show_db_priv='Y',

           Super_priv='Y',

Create_tmp_table_priv='Y',

     Lock_tables_priv='Y',

         Execute_priv='Y',

      Repl_slave_priv='Y',

     Repl_client_priv='Y',

     Create_view_priv='Y',

       Show_view_priv='Y',

  Create_routine_priv='Y',

   Alter_routine_priv='Y',

     Create_user_priv='Y'
     Password = PASSWORD('contraseña')
WHERE User='root';

Recargar los nuevos privilegios:

 FLUSH PRIVILEGES;

Salir del cliente MySQL. Parar MySQL y volverlo a lanzar normal:

 /etc/init.d/mysql start

Bufff! menos mal que existe este método 🙂

Cómo deshabilitar el sonido del altavoz interno

Suelo usar mucho los atajos de teclado Bash y el historial de comandos. En concreto, Ctrl-R y empiezo a teclear el comando que necesito. Si Bash encuentra un patrón que coincide con lo que estoy tecleando, perfecto, lo suelo usar o editar. Si no, Bash no hace «nada». Y lo pongo entre comillas porque cuando no encuentra ningún patrón que case, sí que hace una cosa: pitar (beep del altavoz interno). Y el dichoso pitidito me estaba volviendo loco. Sabía que había un comando para deshabilitarlo, pero no me acordaba y tampoco quería perder tiempo buscándolo. Hasta que me ha empezado a salir humo por las orejas. Ahí me he convencido a mí mismo para dedicarle 30 segundos a buscar la solución:

xset -b

Ese comando deshabilita el altavoz interno. Paz.

Skype 1.4 alpha y el soporte de vídeo para Linux

Varios meses después de la aparición de Skype 1.3, todavía algunos seguimos esperando que se dignen a publicar una nueva versión que de soporte de vídeo a los usuarios de Linux. Parece que en el blog oficial de la versión Linux de Skype, Berkus (uno de los desarrolladores de la versión Linux de Skype, y según rumores, el único) indica que esta semana publicará una versión alpha de Skype, la 1.4, que se supone dará soporte de vídeo.

En realidad, según el blog personal de Berkus, la release debería de haber sido el día 26 de Abril, pero problemas de última hora lo impidieron. ¿Será hoy, mañana o pasado la publicación de la versión alpha?

Para los que no quieren esperar más, hay alternativas: Gizmo, Ekiga o OpenWengo.

Lo que busco es soporte de videoconferencias (con más de 2 personas emitiendo voz e imagen a la vez), por tanto: soporte de vídeo para Linux (por cierto, ¿qué webcam recomendáis que sean compatibles?) y a ser posible, soporte a la grabación de la reunión. ¿Pido demasiado?

ACTUALIZACIÓN (2/05/2007):   Acaban de publicar  la nueva versión alpha 1.4. Lamentablemente, no dan soporte aún ni al vídeo ni a la gestión de mensajes SMS.  Pues vaya… yo ya he instalado Gizmo y hoy querria probarlo en conferencia, a ver qué tal…