Escribir binario en binario

¿cómo representar con unos y ceros una letra o una palabra?. Parece un poco más complejo y, de alguna forma, así lo es. De hecho, para resolver este problema, no alcanza la matemática sino más bien empiezan a jugar un rol fundamental los estándares.

La solución al problema de la representación de letras (y todo tipo de caracteres no numéricos) es la definición de un (o más de uno) estándar en donde a cada caracter se le asigna un número (en decimal digamos) correspondiente. De esta forma matemáticamente no hay un problema; ya sabemos convertir un número decimal en binario. Veamos un ejemplo simple y tonto que a mí me encantan. Yo tengo los números decimales 0, 1, 2 y 3. Puedo armar la tabla con los correspondientes números en binario:

0 – 00

1 – 01

2 – 10

3 – 11

Puedo ahora, agregar a cada valor un caracter que representaré con ese valor, como por ejemplo:

0 – 00 – a

1 – 01 – b

2 – 10 – c

3 – 11 – e

De esta forma, yo puedo representar palabras simples “uniendo” el valor de cada caracter y mostrandolo en binario, por ejemplo:

bebe – 1313 – 01110111

beba – 1310 – 01110100

beca – 1320 – 01111000

Creo que la explicación hasta aquí es suficiente para entender la idea. En la vida real, existen diferentes tablas de conversión de caracter a binario pero la más popular (y antigua más que nada) es la …

EyeOS, escritorio virtual web

Ayer cayó en mis manos el link de un interesentísamo proyecto libre, se trata de un escritorio virtual que cuelga de un servidor web, basta sólo con tener un servidor web con PHP5.

Este escritorio tiene una instalación realmente sencilla, basta con descomprimir el .tar.gz o .zip de la página web del proyecto, eyeos.org y definir el nombre del host y el password del usuario root para administrar los programas, los temas y los idiomas disponibles para el escritorio.

Por defecto disponemos de un procesador de textos, hoja de cálculo, presentaciones, bloc de notas, calculadora, cliente de correo electrónico, gestor de contactos, agenda, lector RSS, además de juegos y un agradable interfaz.

Con el usuario root es posible instalar nuevas aplicaciones del repositorio por defecto (un gestor de mapas, lector de correo de gmail, el juego de sonic, el prince of persia,…), además tiene la pinta que añadir nuevas aplicaciones no es muy complicado, basta sólo con buscar otros proyectos basados en la web.

Para ir haciendo boca aquí tenéis una pequeña demostración :)

Web 2.0, libre y punto :)…

smartmoontools

Vamos con otra herramienta que nos servirá para tener nuestro servidor controladito de errores.

Smartmoontools es un conjunto de herramientas que nos empezarán a molestar cuando detecten que los discos estén chungos. Normalmente los discos tienen un tiempo de vida limitado, al ser un aparato mecánico las piezas dejan de girar correctamente, se llenan de polvo y dejan de funcionar, normalmente los discos antes de morirse del todo avisan, pero como manda murphy los discos también pueden tener muertes súbitas sin ningún tipo de aviso. Con esta herramienta tendremos estos errores controlados y a la que aparezca uno ya podemos empezar a buscar en la red o en una tienda un nuevo disco duro para nuestro ordenador.

# apt-get install smartmontools

# vi /etc/default/smartmontools
mantenemos comentadas todas las lineas excepto una, que la dejamos así

start_smartd=yes

luego deberemos ver cuales son nuestros discos físicos, así que usaremos fdisk.

# fdisk -l
Disk /dev/sda: 251.0 GB, 251000193024 bytes
255 heads, 63 sectors/track, 30515 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x10003f1f

Device Boot Start End Blocks Id System
/dev/sda1 1 24107 193639446 83 Linux

Disk /dev/sdb: 251.0 GB, 251000193024 bytes
255 heads, 63 sectors/track, 30515 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb2101f85

Device Boot Start End Blocks Id System
/dev/sdb1 1 30515 245111706 83 Linux

Disk /dev/sdc: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk

RAID com mdadm

Visto el post del otro día Crear RAID en Linux he decido hurgar mas en el tema. El hecho de usar RAIDs es un seguro para no perder tus datos en la muerte súbita de un disco duro.

Esta vez he creado el RAID desde la instalación de GNU/Linux Debian.

Partimos de una maquina con dos discos duros IDE de 250 Gb vacíos.

Arrancamos con el CD de instalación y seguimos los pasos de toda la vida. Al momento de crear los discos, seleccionamos configuración manual y creamos las particiones deseadas, pero con la única diferencia que en lugar de definir ext3 como sistema de ficheros usamos “Physical volume for RAID”.

Una vez creadas las particiones en ambos discos volvemos al menú principal de la creación de particiones (ahí dónde tenemos las particiones de cada disco), en total tendremos 4 particiones para cada disco (hda1, hda2, hda3, hda4, hdb1, hdb2, hdb3 y hdb4), las particiones hda2 y hdb2 las dejaremos como swap, y no las usaremos en RAID, al haber siempre datos aleatorios no nos interesará guardar su contenido en caso de desastre.

Ahora faltará decirle a mdadm, el programa que administra los RAID en linux cuál partición tiene que estar en RAID con la otra; para esto en el menú principal, arriba del todo tenemos “Configure Software RAID”. Ahí nos preguntará si queremos crear un RAID y con qué discos:

* Create MD device
* Multidisk device type = RAID 1
* Number of active devices for the RAID1

William Shakespeare

Ser o no ser, ésa es la cuestión:
Si es más noble para el alma soportar
Las flechas y pedradas de la áspera Fortuna
O armarse contra un mar de adversidades
Y darles fin en el encuentro. Morir: dormir,
Nada más.…

Vaig fort

Post en catalán:

Doncs aquí teniu una sèrie de videos del youtube, vaig fort, la pel·lícula de Braveheart a la Mallorquina, simplement genial.

Vaig Fort – 1 – Introducció

Vaig Fort – 2 – Jugar a sa play station

Vaig Fort – 3 – Es tio gay

Vaig Fort – 4 – Que en son de bones ses sopes

Vaig Fort – 5 – Sa torrada

Vaig Fort – 6 – Apareixen els catalans

Vaig Fort – 7 – Maria tot es dia teu faria

Vaig Fort – 8 – Els awelos

Vaig Fort – 9 – Sa boda

Vaig Fort – 10 – Execusió

Vaig Fort – 11 – Félix Rodriguez de la Fuente

Vaig Fort – 12 – Final

simplement genials aquests Mallorquins, doncs ara no us perdeu aquest vídeo sobre la conquesta de Jaume I a les Pitiüses.

300 – La Reconquesta de Mallorca

el cyberespacio, otra dimension

Muchas veces andando por la calle veo los cajeros automáticos, los semáforos, las pantallas del metro, los tpv de las tiendas y pienso que el cyberespacio es parte de nuestras vidas, está mas presente de lo que pensamos.

El cyberespacio es como otra dimensión que convive con nosotros en otro nivel invisible, nuestra vida está representada en bits en esta dimensión, nuestra identidad, nuestros ahorros, nuestras vacaciones. Podemos acceder a todo nuestro yo mediante terminales, ordenadores conectados a la gran red.

Cámaras de videovigilancia nos indican en cada momento nuestra ubicación, nuestros movimientos, cuentas bancarias enseñan nuestra vida, nuestra entrada en el cyberespacio queda registrada y deja huella en blogs, logs, etc.

Que son 8 bocabits? 1 bocabyte :)

———————-
Sometimes I walk around the street and look into cash ponts, signals, metro’s screens, shops’ tvp and think that cyberspace is more here than we think.

Cyberspace is like an other dimension that lives with us at invisible level, our live is represented in bits in this dimension, who we are, our cash, our holidays. We can access to that other me with terminals, computers plugged at big network.

Surveillance cameras shows in time our placing, our movements, checking accounts shows our live, our login to cyberspace is logged and leaves marks on blogs, logs, etc.

What are 8 bocabits? 1 bocabyte :)

——————————-
——————————-
hoy es un dia de inpiración, en el IRC:
– la gente se pierde, aparece y vuelve a desaparecer para volver a reaparecer algun dia…

java + iceweasel

Pequeño manual de como instalar java en iceweasel.

Descargamos el fichero de la página web de sun

$ chmod +x jre-6u3-linux-i586.bin

y ahora vinculamos la librería en el iceweasel

$ cd /usr/lib/iceweasel/plugins/

# ln -s /usr/lib/jvm/java-1.5.0-sun-1.5.0.11/jre/plugin/i386/ns7/libjavaplugin_oji.so

Reiniciamos el iceweasel y ya tenemos el java funcionando en nuestro navegador :)

Para los otros plugins es mas de lo mismo, instalas el programa, buscas su librería y la vinculas en el directorio de plugins del iceweasel.…

thinkfinger lenovo 3000 v100

Tras mucho buscar por la red he encontrado la web de un gavacho que tenia en su portátil el mismo lector de huella dactilar, así que lo he seguido y ahora tengo el lector de huellas dactilares funcionando :D

si consideráis que me explico fatal aquí tenéis la versión original en francés, pero weno, intentaré hacerlo lo mejor que pueda en castellano:

http://www.geekplanet.fr/index.php?option=com_content&task=view&id=25&Itemid=35

Anteriormente he hecho algunas pruebas con otro driver pero no funcionaba, no reconocía el dispositivo, así que la siguiente uri no es válida:

http://thinkfinger.sourceforge.net/

Para instalar este dispositivo necesitaremos algunos paquetes.

libusb-dev:
# apt-get install libusb-dev

Imagemagick:
ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz

Lo descargamos y lo instalamos

# tar xvzf ImageMagick.tar.gz
# cd ImageMagick-6.3.7
# ./configure –prefix=/usr
# make
# make install

Fprint:
La web del proyecto es la siguiente
http://www.reactivated.net/fprint

y aquí se encuentran los ficheros a descargar
http://sourceforge.net/project/showfiles.php?group_id=208521

Los bajamos todos, los descomprimimos y los instalamos, en este orden

# cd libfprint-0.0.5
# ./configure –prefix=/usr
# make
# make install

nos fijamos si en /usr/lib/pkgconfig/ se ha copiado libfprint.pc, si no es así, lo copiamos
# cp libfprint.pc /usr/lib/pkgconfig/

seguimos con pam_fprint
# cd pam_fprint-0.2
# ./configure –prefix=/usr
# make
# make install

y luego con fprint_demo, el programa para gestionar las huellas
# cd fprint_demo-0.4
# ./configure –prefix=/usr
# make
# make install

si en algun momento da algun problema de librerías probar con:

# ldconfig

o

# ln -s /usr/local/lib/libWand.so.10 /usr/lib/libWand.so.10
# ln -s /usr/local/lib/libMagick.so.10 /usr/lib/libMagick.so.10

luego ejecutamos como root

# fprint_demo

si todo ha ido bien, …

grandioso SSH!

Ya se nos termina el año y pronto uno nuevo empezará, como no, este año he vuelto a Berlín al 24C3.

Estos días los estoy pasando con una gente que me da 10mil vueltas en temas de informática, así que no es raro que aparezca un artículo en este blog.

Hoy vamos a hablar de SSH.

Problema: estamos en el albergue y no tenemos los puertos de ssh, ni jabber, ni irc, ni imap, ni pop, etc. la cosa está chunga, así que vamos a ver como lo hemos solucionado para conectarnos remotamente con nuestras maquinas saltando la protección de puertos y dirigiéndolos hacia otro sitio…

ssh -D 1080 laura@213.xxx.xxx.xxx -p 443 -N -n

-D : esto hace que el puerto que indicamos justo después de la D, pase por el puerto ssh. Así no tendremos que tener abierto este puerto para poder acceder a él, porqué lo hacemos desde el servidor el cual nos conectamos por ssh el cual si tiene los puertos abiertos/filtrados. 1080 es jabber.
-p 443: debido a que el puerto por defecto del ssh (22) está capado he creado una configuración para el usuario (ahora lo cuento mas abajo), así que he dicho que ssh escuche al puerto 443.
Para hacer esto debemos tener el router con el puerto 443 abierto (después cuento como lo he hecho para abrirlo sin tener acceso desde el exterior!).

-N: para que no muestre shell
-n: para que no muestre output, todo lo que sale lo manda a /dev/null…