11.25.08

Nope, not 42 this time

At last! After several weeks of search, I’ve finally found it: it’s a short story writen by Asimov. One of those that make you ponder about the meaning of life. A story that should be read by many a politician, in order for them to realize how moronically oxymoronic it is to talk about the so called “sustainable development” (amongst other things).

I have another brain melting story waiting in the chamber, in case someone cares. It explores the idea of multiverses and how to detect nested virtual worlds. Unfortunately, I’m a bit thick with google today, so I’ll leave that for a different post.

Meanwhile, you can discover the answer to…

THE LAST QUESTION

...y se hizo la luz.

(by Isaac Asimov)

The last question was asked for the first time, half in jest, on May 21, 2061, at a time when humanity first stepped into the light. The question came about as a result of a five dollar bet over highballs, and it happened this way:

Read the rest of this entry »

11.13.08

Looking beyond Pandora’s box

Many of you may remember the awesome Pandora music service. If you’re north american, you can actually still enjoy it, while the rest of the world suffers a massive IP address ban.

Luckily, there are several alternatives to Pandora’s boombox, the most known of which is Last FM: Imeem, Youtube music playlists, Anywhere FM… But recently I got pointed in the direction of a very interesting one: Jamendo.

Jamendo hosts a heck of a lot of music without shitty restrictive licenses. Not only is most of the music very high quality, but it’s also free for download. That’s right, at no cost. You can burn whole albums onto discs, copy them to thumbdrives, share with friends, share with strangers (via P2P)… almost anything you want to do, you can, in virtue of their Creative Commons licenses.

You can also, of course, donate some money to the artists you like. 😉

We can’t thank you enough, Lessig!

11.5.08

Cómo “arreglar” Gnome (X11 y SSH mediante)

Hago un minipost para añadir una pequeña correción al rant de la semana pasada sobre cómo “arreglar” Ubuntu. En concreto sobre el tema de edición del registro de gnome, donde hacía alusión a lo divertido que puede ser retocar la configuración de Gnome en remoto.

Al grano: existe una nueva opción e), con la que podemos evitar tanto el hospital como el manicomio. Como veis, son todo ventajas!

Consiste en conectar via SSH con X forwarding al host contaminado con gnome en cuestión, tal que asín:

ssh -XC <host con gnome>

Una vez hecho eso, tenemos un prompt normal y corriente, en el que al lanzar cualquier proceso que intente acceder a las X, hará uso del server X11 de nuestro ordenador local 😀 . Mediante la opción -C, además, comprimimos mediante gzip las cosas, bastante util si no estamos en una LAN rápida.

Por ejemplo, si escribimos esto en nuestra shell…

gconf-editor

…se lanzaría una horrorosa ventana GTK en nuestra propia pantalla. Algunos programas dicen chorradas sobre dbus al intentar ejecutarlos, se arregla mediante dbus-launch:

dbus-launch <programa quejica>

Para desafiar aún más nuestra salud mental, podemos probar a hacer gamberradas como lanzar el panel de gnome localmente, con resultados exhilarantes:

  • Borde superior: tenemos el panel de Gnome remoto, seguido del panel de KDE local.
  • Lado izquierdo: un GIMP remoto (el título <@blackube> denota el hostname remoto).


clickety click

  • Lado derecho: un GIMP local.
  • Borde inferior: otro cacho de gnome-panel remoto.
  • Fondo de pantalla: el del KDE local.
Como datos interesantes, un par de cosas:
  • Al parecer no se comparten los portapapeles, asi que no se puede copiar-pegar de un gimp a otro. Imagino que será mi culpa de algún modo.
  • Ambos GIMPs se muestran con mi configuración local de 120 DPI (y no a los 120 y 90 DPIs respectivos de cada host).
Resumiendo, que esto es un brainfuck en toda regla y lo demás son tonterías. Espero que por lo menos os saque de apuros algún día! 😛

10.29.08

Cómo “arreglar” Ubuntu

Soy de los que opinan que Ubuntu por defecto apesta un buen rato (y cuando digo Ubuntu, también quiero decir Kubuntu, Xubuntu, Edubuntu…). Le salva que es facilísima de instalar. Con este minitutorial espero conseguir que Ubuntu sea usable para alguien más que Joe Sixpack.

Supongo que la mayoría de pegas que tengo son respecto a la filosofía de Ubuntu, pero como es mucho más facil quejarse y escribir en blogs que hacer mi propio fork de Ubuntu, prosigo con mis pataleos. 😀

Lo primero, no sé para qué diablos deshabilitan la cuenta de root, si cualquiera puede hacer un sudo -s o un sudo bash. Por tanto, vamos a ahorrarnos teclear chorradas redundantes, que con el su de toda la vida vale y sobra:

sudo passwd

Por supuesto, nos metemos como root para los siguientes pasos. Hay dos formas:

su    #para la gente normal

su -c bash   #para la gente acostumbrada a sudo

Lo siguiente, no sé a quién se le ocurrió que para tener permisos de administrador, vale con saberte tu propia clave. Así que vamos a evitar que cualquier luser con una cuenta en el sistema pueda ganar permisos de root:

perl -pi -e ‘s/env_reset/env_reset, rootpw/g’ /etc/sudoers

Otra tema que me enerva bastante es ese asqueroso feto de engendro abortado llamado vim-tiny. No podían poner vi, qué va. Tenian que coger vim, partirle las piernas, extirparle el lóbulo frontal, y ponerle de nombre vim-tiny. Y al vim normal, ya puestos a liarla, le renombramos como vim-full, qué leches…
Después diran que la gestión de paquetes de Gentoo y de BSD son un coñazo, pero por lo menos no necesitamos recurrir a semejantes warrohacks para bastardizar un simple paquete!

apt-get remove vim-tiny

apt-get install vim-full

perl -pi -e ‘s/”syntax on/syntax on/g’ /etc/vim/vimrc   #démosle un poco de color a las tareas de sysadmin, en honor al difunto Tiny

SSH, absolutamente imprescindible, pero capándolo a solo quien lo necesite.

apt-get install ssh

usuarios=”root hombreman lusuario”

addgroup sshlogin

for i in $usuarios; do adduser “$i” sshlogin; done

echo “AllowGroups sshlogin” >> /etc/ssh/sshd_config

Lógicamente, esta gentucilla debería tener una política de contraseñas mínimamente digna:

for i in $usuarios; do chage -m 50 -M 60 -W 10 “$i”; done

También queda el tema de que cualquier usuario puede apagar el ordenador cuando quiera, incluso si otro luser tiene abierto un openoffice sin guardar en su sesión.

El equipo donde he metido Ubuntu ha quedado un poco más severo, pudiendo solamente el usuario root reiniciar/apagar/hibernar/suspender el equipo. Por desgracia, debido a las sabias decisiones del equipo de Gnome, uno se ve obligado a elegir entre:

a) Hacer clicks en noséqué clon de regedit.exe.

b) Editar archivos XML a pelo.

c) Dar palos de ciego con gconf-tool desde consola.

Por supuesto, si estais en remoto (como yo), existe otra opción igualmente agradable:

d) Averiguar uno mismo si es solamente una leyenda urbana, o si realmente el ser humano es capaz de meterse su propia cabeza por el weeeeno, como ibamos diciendo, que se puede configurar con algo de paciencia.

Nuestra Ubuntu ya pinta un poco mejor, no os parece?


Esto es otra cosa. 😎

Otro día más y mejor!

P.S.: Antes de que se enciendan las llamas, comentar unos pares de cosas:
– Respeto la libertad de cada uno de tener su propia opinión sobre el software mencionado.
– De hecho, estoy seguro de que a alguien le puede gustar semejantes fustañas como Gnome y Gconf.
– Odio casi por igual a Gnome y a KDE.
– La mayor parte de este post la he escrito de coña, incluído este comentario, pero podéis flamearme igualmente 😉

10.26.08

Les chevaliers du ciel

10.14.08

Bricotuning de audio para un Renault 21 Nevada – part 2

(…continuación de la parte 1)

Como iba diciendo, estabamos con el diseño de las cajas. Se hicieron bastante profundas para darle más graves al asunto, que es lo que me interesa. Si me diera igual, las cajas podrían haber sido un poco mas pequeñajas y manejables. He aquí algunas capturas del proceso de fabricación:

Marcando la ruta de corte:
Listo para ser montado:

Atornillamos las tablas entre sí sin ninguna complicación. Después metimos pistola termofusible por el interior de todas las aristas, además de unas hojas adherentes de esponja negra fina en el óvalo donde luego meteríamos a hostias cuidadosamente el altavoz.

El objetivo no es otro que mejorar la hermeticidad de la caja, con la consiguiente mejora en calidad de sonido que teniendo en cuenta dónde se escuchará (en un coche, y además viejuno!), únicamente los audiófilos podrán apreciar 😆 . La cosa quedó tal que así:

Y ahora la parte interesante: el conector de audio y el anclaje de la caja al coche. Los requerimientos son varios:

  • Poder utilizar el maletero completo si hace falta.
  • Que el conector de audio sea resistente a los meneos que sufrirá con el equipaje yendo y viniendo.
  • Que el sistema sea (des)montable en menos de un minuto.
  • No necesitar herramientas para el montaje: nada de llaves allen, ni navaja, ni alicates…
  • Que sea, además, bonito y barato, por supuesto!

Estuvimos barajando muchas posibilidades. La mayoria descartadas por ser muy caras (por ej. audio enviado por wifi/bluetooth), muy blandengues (por ej. jacks de audio típicos), y muy warras (por ej. dejar conector y cable con holgura, para que no sufran tirones).

Por suerte, como programador que soy tengo la costumbre de intentar eliminar redundancias, y se me ocurrió una idea que cumplía todos los requisitos. Para llevarla a cabo necesitaba un conector poco convencional, que no se puede encontrar en tiendas de audio, como veréis a continuación:

Comprobamos la conductividad del material elegido con un tester y altavoces.

Atravesamos la base de la caja con dos parejas de tornillos.

Utilizamos de nuevo la termofusible para fijar los cables tierra y positivo a sendos tornillos.

¿Y qué es lo que va al otro lado de estos 4 tornillos? Esto:

A que mola!!? 😀

En efecto: para qué utilizar un mecanismo para el anclaje del altavoz, y otro diferente para la conexión de audio, cuando podemos utilizar el mismo para ambos? Con un par de simples cierres de puerta y una visagra solucionamos el problema.

Nota: se podría haber tirado corriente eléctrica por la visagra en vez de utilizar un segundo cierre, pero entonces el anclaje quedaría un poco inestable. Así que finalmente decidimos usar esos 2+1 anclajes.

Weno gente, creo que es suficiente por hoy, que ya me he cansado de escribir y subir fotos 😉 , así que otro día continuaré con el brico.

Coming soon: cableado y bricolaje en el Renault 21 – Parte 3!

10.7.08

Estamos que tiramos la casa por la ventana

Esta tarde mis ojos han decidido posarse sobre esto…

Desde ahora, estos cracks filántropos son mis nuevos héroes:

Resulta que, a pesar de que solo el 22% de la población mundial tiene acceso a Internet, han conseguido acercar este afortunado banner (sic) al 93%. Pero es que además todos ellos van a ganar… uhhm… ¡algo! 😯

10.5.08

Can you feel the bass?

El trasfondo filosófico de tan profunda lírica es inalcanzable para mi ordinaría mente.

Pero es innegable que los graves antes del subidón son p*t* crema 😈

Temazo dedicado a los que saben que el arte musical va más allá de las canciones.

10.3.08

El método de la nevera

¡Hola frikomaníacos!

Bienvenidos otra vez a Frikomanía, el programa para los que a veces se aburren! En la edición de hoy vamos a hablar sobre discos duros y neveras.

Como todos sabemos, solo los blandos hacen backups de sus discos duros, y nosotros no somos blandos. La experiencia nos indica que es mejor esperar a que el disco duro pete. Sólo cuando éste eche humo procederemos a hacer una copia de sus datos.

Así pues, en el frikonsejo de hoy vamos a ver cómo recuperar datos de un disco duro muerto mediante una nevera. Para ello necesitaremos las siguientes herramientas:

  • Una bolsa de congelante. Sí, una de esas típicas azules o verdes.
  • Una bolsa de aire hermética.
  • Un ventilador de Bilbao (aunque con uno de 30cm también debería valer).
  • Un trapo que absorba bien la humedad (por ejemplo una toalla o un trapo de cocina limpio).
  • Si nuestro ordenador es un sobremesa vertical, un soporte de unos 15cm (una caja, una pila de discos duros, etc.).
  • Una nevera que funcione correctamente a temperaturas bajo cero.
  • Por último, un disco duro muerto con datos absolutamente críticos. Preferiblemente suena a carraca y al agitarlo se oyen piezas sueltas en su interior.

Una vez dispongamos de todos estos elementos, podemos empezar con las labores de rescate.

Antes de nada, es necesario aclarar que, al contrario de lo que reza la sabiduria popular, los discos duros de hoy en día no están cerrados a cal y canto. Suelen tener alguna pequeña apertura de ventilación, con filtros finos para evitar que entre mierda. Por tanto, el primer paso que vamos a dar es:

Introducimos el disco duro en la bolsa vacía, y la cerramos bien.

En nuestro caso, el objetivo es evitar en la medida de lo posible la condensación de agua en el interior y exterior del disco duro, puesto que el segundo paso es:

Metemos la bolsa con el disco duro en el congelador, y lo dejamos reposar hasta que esté tan frío que duela.

Mientras se enfría, intentaremos aclarar por qué acabamos de dejar un disco duro junto a dos piezas de atún congelado.

La idea básica es contraer el material previamente expandido debido al calor. Tanto los servos como los rodamientos y los circuitos en funcionamiento generan calor. Con la edad, el calor dilata demasiado los componentes, reduciendo la conductividad de las soldaduras. Además de los efectos eléctricos, dicha dilatación puede provocar la desalineación de las cabezas de lectura de los discos. Al congelar el disco duro se revierten y demoran estos efectos, permitiendo leer del disco mientras permanece frío.

Disclaimer: el proceso de congelación y posterior uso del disco duro puede dañarlo hasta dejarlo completamente inútil. Si has sido un blando no debería importarte, porque ya tendrás los datos importantes a salvo. Si en cambio eres un macho de verdad, tienes dos opciones: a) Seguir adelante con este tutorial. b) Irte al rincón de los blandos y pagar grandes sumas de dinero por una recuperacion profesional, en vez de seguir peligrosos frikonsejos en blogs desconocidos. En cualquier caso, la culpa de lo que pase será tuya, y solo tuya.

while (disk.temperature > 0) goto Disclaimer;

Bueno, nuestro disco duro debería estar ya en su punto. Vamos a preparar el entorno de recuperación.

Sacamos un cable de datos y la alimentación para el disco duro, ya sea SATA, IDE, eSATA o una caja conversora USB.

Si hace falta, utilizamos el soporte para no dejar el disco duro colgando. A continuación preparamos la refrigeración adicional:

Colocamos el ventilador bilbaíno apuntando al final del cableado, donde irá colocado nuestro disco duro.

Preparamos la bolsa de hielo rodeándola con el trapo, para evitar humedad.

Ahora llega lo interesante:

Sacamos el disco duro, lo enchufamos al ordenador, y ponemos la bolsa de hielo por encima.

La cosa podría quedar tal que asín (click para ampliar, y perdonad la pésima calidad de la foto):

En mi caso, utilicé una caja USB tanto para el disco fumao como para el backup, de forma que no necesitaba apagar el ordenador, teniendo listo un comando mount + rsync en consola para el siguiente paso:

Copiamos los datos críticos a otro soporte de almacenamiento muy rapidico, antes de que se caliente el bicho de nuevo.

Gracias a toda la ventilación que le hemos metido, el disco debería aguantar alrededor de media hora, tal vez más, suficiente para copiar los datos críticos. Así que con un poco de suerte, terminaremos el día con los datos a salvo y un posapapeles de última generación!

Bueno frikomaníacos, esto ha sido todo por hoy. En el siguiente programa aprenderemos cómo jakear el equispé de nuestros amigos con un bate de baseball, un pañuelo y un frasco de cloroformo.

Hasta la próxima semana! 😀

09.22.08

Status of Logitech G25 support under GNU/Linux

Last time I tried the Logitech G25 steering wheel under GNU/Linux, only two of the 7 gears could be used, there was no clutch pedal, gas and brake were in combined axis mode, a couple of buttons didn’t even work, the steering range was severely limited… long story short, there was no way to fix all those problems, so the wheel was definitely not usable for simracing purposes.

Fortunately, a few days ago I stumbled upon a thread discussing the usability of the wheel under GNU/Linux, and someone had kindly posted some links to the VDrift forums (great sim btw), where most of the previous discussions regarding the G25 had been held. It seems that some guy had released a tool that allows to use all the features of this awesome steering wheel.

Skimming through its code (yeah, it was realeased in source code form, under public domain and LGPL!), it seems to send some binary data that initializes the so called extended mode, which is not enabled by default. It looks like someone has spent some serious time sniffing through USB traffic…

Anyway, the thing is that the tool does work, and so the G25 is now much more usable under GNU/Linux! Except for one thing: trying to set the 900º rotation mode, a process during which some usb or hid driver seems to freak out and remove the steering wheel device nodes 🙁

Force feedback is supposed to have been working for some time now, but due to the aforementioned initial problems, I never really bothered to test it much (I did patch the kernel to see if the existing FFB drivers would work for the G25, and the basic effects worked, but there was no point on finding a driving game that used them).

Just in case it disappears from tha interwebs, i’m hosting the tool myself. The usage is pretty simple:

  1. Download the GNU/Linux Logitech G25 extended mode enabler tool (46KB) archive.
  2. Extract its contents anywhere, and cd to it.
  3. Compile: ./build.sh
  4. Run the tool: ./usbtools g25-set-extended-mode

And that’s it. Make sure you run jscalibrator the first time in order to calibrate and remove any nasty deadzones on all axis. For more info, simply run ./usbtools without parameters.

Now i just gotta wait for Wine to properly support forcefeedback so that i can enjoy Live For Speed the way it’s meant to 😀

Happy racing!