miércoles, diciembre 05, 2007

Mudanza

Bueno pues creo que el título del post lo dice todo, nos hemos mudado a infow.wordpress.com
¿Por qué? Pues por probar, que es el principal objetivo por el que se creo el blog. Además, porqué parece más manejable el poder modificar cosas en la plantilla de wordpress que en la de blogger.

Bueno simplemente anunciar la mudanza, y esperar veros a todos por allí en breve.

martes, octubre 30, 2007

DSL-504T y Linux

Como mucha gente hoy en día yo tengo ADSL, más concretamente el de Ya.com y el router que estos proporcionaban, el DLink 504T. Recientemente se nos ha hecho llegar a los usuarios un CD con una actualización del firmware del router a la versión 2.xxx. Los pasos para la realización de esta actualización son muy simples y fácilmente realizables. Más o menos viene a ser algo así: Te llega el CD, te cortan la conexión, te mandan un sms, instalas el contenido del CD y ya esta. Si todo ha ido bien tenemos de nuevo conexión. Por supuesto todo esto es es Windows claro.

Después de haber realizado la actualización uno se vuelve a su querido sistema Linux, en mi caso Kubuntu, como he comentado alguna vez, y al llegar ahí te das cuenta de que no tienes conexión. Esta claro, no podía ser todo tan bonito. Tras un rato de trastear, comprobar el acceso al router, la dirección IP y varias cosillas más, uno se da cuenta que puede navegar con el Konqueror pero no con el Firefox, y que puede hacer ping's. Vale expediente X.

Tras unos cuantos guantazos más, buscar un poco por Internet, buscar diferencias, además de las evidentes, entre Firefox y Konqueror, si andamos algo lucidos ese día, nos damos cuenta de que el fallo lo provoca el soporte para IPv6. Así que a continuación voy a poner como desactivar este soporte para volver a tener conexión.

Deshabilitar IPv6 en Firefox

Escribir en la barra de navegación:

about:config

A continuación, buscamos y modificamos el valor:

network.dns.disableIPv6 false

por:

network.dns.disableIPv6 true

Bien por fin podemos navegar con Firefox. Pero claro, ¿qué pasa con el aptitude y similares?. ¿y con el resto de aplicaciones? Pues nada, habrá que deshabilitar algo más. Pasemos al Sistema Operativo.

Deshabilitar IPv6 en el Sistema Operativo

Editar el fichero /etc/modprobe.d/aliases:

sudo vim /etc/modprobe.d/aliases

Buscamos la linea, y después de ella:

alias net-pf-9 x25

y antes de:

alias net-pf-11 rose

introducimos el siguiente texto:

# Deshabilitado de IPv6
alias net-pf-10 ipv6 off
alias net-pf-10 off
alias ipv6 off
#alias net-pf-10 ipv6
# Fin del deshabilitado de IPv6

probablemente exista la linea:

alias net-pf-10 ipv6

si es el caso la borraremos o sobrescribiremos o comentaremos #

Esta información esta sacada de la guia-ubuntu, así que para más información acudid allí. En muchas otras página he visto que después de estas modificaciones ejecutaban:

depmod -a

Pero yo no lo he necesitado. Tras esto reiniciamos y ya podremos navegar con todas las aplicaciones del sistema tranquilamente.

Espero, que al que tenga los mismos problemas que yo le sirva de algo. Obviamente, si alguien encuentra otra solución o razón del fallo que lo diga, aquí siempre estamos abiertos a sugerencias.

Como puntualización, ahorraros llamar al 902902902 de Servicio Técnico, os van a poner tipo leyendo un folio con posibles problemas de Windows.

martes, octubre 09, 2007

Black Hole Router

Repasando el otro día el listado de RSS, en la página "The Inquirer" he visto un artículo sobre el nuevo SP3 de Windows XP. El motivo del post no es este, si no que en él ha visto algo desconocido, el termino es "Black Hole Router". Como ha despertado mi curiosidad me he puesto a investigar un poquito para averiguar lo que es.

La verdad es que ya la simple traducción al español nos da alguna pequeña pista de por donde puede ir, "Router agujero negro", así y sin mirar nada, parece un router que en vez de encaminar los paquetes que llegan a él simplemente los elimina, y supongo manda algún mensaje de "destino inalcanzable" o algo de ese estilo. Obviamente esto suena muy catastrófico, así que vamos a dar una información más real y ver cuanto dista de la sugerida.

Para explicar esto, voy a tener que nombrar un par de cosillas un poco técnicas, pero espero hacerlo de tal forma, que todos vosotros podáis entenderlo, aunque no sepáis demasiado de informática.

Para empezar, algo que supongo que todos sabréis es que las conexiones de red que unen los ordenadores van sobre un protocolo conocido como TCP/IP y que los dispositivos encargados de dirigir los paquetes a sus destinos correspondientes son los router's, como esos que tenéis en casa pero algo más grandes. La información intercambiada entre ordenadores, se divide en paquetes de un cierto tamaño de información para poder ser distribuida por la red. Ahora bien, cada uno de los router's tiene definido un tamaño de unidad de transmisión máxima (MTU), osea un tamaño máximo del paquete. Ahora bien, el protocolo está bien diseñado y si el tamaño del paquete es superior al MTU, el paquete se divide para poder procesarlo y que siga su camino.

Hasta aquí todo bien y espero que inteligible. Vamos con las particularidades; La primera respecto a los paquetes, estos tienen un bit (marcador) que indica si el paquete puede o no ser fragmentado, según necesidades. Aquí el primer problema, ¿qué pasa si el tamaño del paquete es mayor que el MTU del router y tiene el bit de no fragmentación activado? Pues lo evidente, que no cabe. A que es fácil esto de la informática, luego veremos como se soluciona este problema. La segunda, no todos los router's tiene definido el mismo tamaño de MTU, con lo cual lo paquetes que cabían por uno a lo mejor no caben por el otro.

Realmente ambas cosas están relacionadas y desembocan en la misma solución. Cuando sucede que un paquete no cabe por un router (su tamaño es mayor que el MTU) el router devuelve al origen un paquete especial conocido como ICMP indicando que el destino es inalcanzable y que es necesaria la fragmentación (no cabe el paquete, no continua su camino, necesito fragmentar). Esto desencadena un conjunto de acciones destinadas a superar esta dificultad, pero para no liaros y como no son necesarias para el objetivo del post, no las voy a nombrar. Si alguien tiene interés que lo diga y lo contaré más adelante. Bien, pero ¿y que pasa si el router no envía el mensaje ICMP de error? Pues bien aquí tenemos un "black hole router". Es un router que se dedica a eliminar paquetes por no poder encaminarlos y que no avisa de que se esta produciendo el error.

En una red local, podríamos acceder fácilmente a los router's y averiguar sus tamaños de MTU y adaptar la red y los sistemas para eliminar este problema. Pero en Internet, no podemos acceder a los router's así que, ¿como averiguamos el MTU si sospechamos que esta pasando algo así? Pues con la ayuda de del comando "ping" con las opciones de no fragmentar y definiendo el tamaño de los paquetes (mirar manual según sistema operativo). De esta forma, mediante el sistema de prueba y error podemos averiguar el tamaño máximo de paquete que podemos enviar y adaptar nuestro sistema a estas características.

Bueno esperemos que os sirva de algo y que lo hayáis entendido todos, si alguno tiene algún problema con algo que pregunte y tratare de explicarlo mejor.

miércoles, octubre 03, 2007

HardInfo

Hola de nuevo. Seguro que muchos de vosotros conocéis el programa Everest para Windows, creo que su nombre anterior era Aida32. Es un programita que te da multitud de información de tu sistema y además, te da la posibilidad de lanzar unos cuantos Benchmarks para comprobar el rendimiento de tu PC.

Ahora bien, aquellos que usamos Linux, esta claro que podemos obtener este tipo de información con los diversos comandos destinados a estas tareas, o incluso usando el comando "lshw", pero la verdad es que manejar la gran cantidad de información que vuelca el comando en la consola no es muy intuitivo. Otra solución es volcar el resultado en un fichero y leerlo poco a poco, pero tampoco es muy eficiente.

Ahora bien, trasteando por ahí, es lo que tienen los días libres, he encontrado un paquete llamado "hardinfo" disponible en Ubuntu y supongo que en otras distribuciones, el cual facilita toda la información sobre el PC en un interfaz gráfico bastante intuitivo, facilitando de este modo la consulta que deseemos realizar.



Como se puede ve a la izquierda hay un menú en el que seleccionar aquello que queremos consultar, y se nos mostrará en la zona derecha ordenado y fácilmente visible.

Ademas de consultar datos sobre nuestro hardware, kernel, modulos intalados, etc... también hay diversos benchmarks para probar nuestra CPU. Y se pueden generar reportes en HTML para llevarnos por ahí.

Bueno como curiosidad, espero que os sirva. Se que algún purista de la consola seguro que me dice algo, pero yo opino que siempre esta bien saber hacer las cosas de varias maneras.

martes, octubre 02, 2007

TryParse

Acabo de descubrir paseando por ahí y leyendo cosillas, una nueva incorporación a C# de .NET a partir de la aparición de ".NET Framework 2.0".
Seguro que a más de uno se sonará haber escrito más de una vez algo así para convertir un string en algún tipo de valor:

 string numero = "1";
 int resultado = 0;

 try
 {
   resultado = int.Parse(numero);
 }
 catch (Exception e)
 {
   //Aquí el error
 }

Bien pues esto se va a terminar con la llegada del "TryParse". Este método devuelve true si se ha podido realizar la conversión y false en caso contrario. además de conseguir en valor de la conversión realizada.

 string numero = "1";
 int resultado = 0;

 if(!int.TryParse(numero, out resultado)
   //Aquí el error

Como se puede ver se recorta considerablemente el número de lineas necesarias además de clarificar, en mi opinión el código. Por supuesto, aunque el ejemplo esta hecho sobre un dato de tipo entero, se puede relalizar con todos o casi todos los tipos de datos; Boolean, Byte, DateTime, Char, Decimal, Double, Int16, Int32, Int64, SByte, Single, UInt16, UInt32, UInt64.

Para mas información os recomiendo pasar por las páginas de MSDN Library.

Bueno, hoy espero haber contribuido a que el dicho ese de "nunca te acostarás sin aprender nada nuevo" se haya hecho realidad.

sábado, septiembre 29, 2007

DNIe

Estimados lectores, por fin estamos de vuelta. Tras muchas obligaciones y poco tiempo libre, me propongo retomar aquello que dejé y volver a plasmar mis tonterías y desvaríos por aquí.

Ayer fui a renovar el DNI porque me había caducado, y cual fue mi sorpresa al llegar allí y descubrir que te entregaban el nuevo DNI electrónico.
Aquí os dejo unas capturas cogidas de la web "dnielectronico" del Ministerio del Interior.

Como se puede ver además de los cambios de posición de las cosas, lo que más destaca es el nuevo chip que lleva incorporado. El DNIe ahora incluye, además de los datos de identificación personal que siempre ha llevado, el chip que contiene un certificado de autenticación, un certificado de firma electrónica, ambas cosas como predican para "operar con las máximas garantías a través de Internet", los datos personales, la fotografía del titular, la imagen digitalizada de la firma manuscrita y un patrón de la impresión dactilar. Todo esto protegido con una contraseña a nuestra elección de entre 8 y 16 caracteres alfanuméricos.

Según me comentaron allí, aunque todavía no lo tenían demasiado claro, los certificados caducan a los dos años con lo cual aunque no caduca el DNIe, si que tendremos que realizar la acción de cambio de contraseña para que se renueven, pero esto no me lo dejaron demasiado claro. Para cambiar esta contraseña hay dos posibilidades:
- Ir al puestecito electrónico que tienen en la comisaria y hacerlo allí.
- Hacerlo en tu casa con el software que te puedes descargar de la página antes mencionada y teniendo un lector de tarjetas criptográficas (¿quien no tiene uno de estos en casa?)

Eso si, en lo que han mejorado es que, ahora llegas allí y en unos 15 o 20 minutos tienes tu nuevo DNIe, claro todo esto si antes has pasado a coger número para la cola, porque aquello esta saturado de gente.

Bueno, con esta introducción espero que esteis deseando que os caduque el DNI para poder renovarlo. Para más información os recomiendo la página "dnielectronico" del Ministerio del Interior.

Si alguno de los lectores ya lo tiene y lo está usando, a ver si se anima y nos pone sus impresiones.

martes, julio 03, 2007

Holofonía

El otro día en una conversación surgió el termino holofonía, el cual, aunque había oído alguna vez, no sabia exactamente de que iba. Tenia simplemente una cierta noción de que era como sonido 3D, pero poco más. Ahora con un poco de tiempo me he decidido a buscar un poquillo sobre ello y tras escuchar algún ejemplo, me he quedado impresionado. La única palabra que lo describe apropiadamente es "impactante".

Como habréis deducido es un sistema de grabación de música especial, mediante el cual se intenta imitar la capacidad auditiva del oído humano y la capacidad de este para ubicar los objetos según la distancia y la dirección del sonido que emiten. El método de grabación se lleva a cabo con la ayuda de una cabeza de maniquí, en la cual, en la posición de los odios humanos se colocan los micrófonos, de esta forma emula el modo en que el ser humano recibe los sonidos, además a este maniquí, se le agrego una emisión de sonido interno de referencia, de este modo se graba la interferencia de los dos sonidos, el interno y el externo, obteniendo así la ficción de las 3 dimensiones.

La verdad, es que en mi opinión, el resultado es impresionante. Os voy a dejar un ejemplo para que juzguéis vosotros mismos. Tenéis que escucharlo ¡¡¡CON AURICULARES!!! y yo os recomiendo con los ojos cerrados.

El ejemplo, es una pieza grabada imitando una peluquería y un corte de pelo con maquinilla. Esta en ingles, pero además de ser un ingles muy simple, para observar el efecto no es necesario entenderlo. Quizás sea porque como yo me corto el pelo con maquinilla a lo mejor estoy condicionado, pero cuando se oye el sonido de esta, casi parece que la notas pasando por la cabeza.

Enlace del ejemplo: aquí

El creador de este método fue un tal Ziccarelli, y a su cabeza de maniquí la llamo Ringo.

Bueno ya me comentareis que os ha parecido, a ver si a alguien le impresiona tanto como a mi, pero recordad: auriculares y ojos cerrados.

apt-build

Todos sabemos que una de las características que más resaltan de distribuciones de GNU/Linux como Gentoo es la posibilidad de optimizar, de una forma sencilla, los paquetes a instalar para nuestra distribución. De este modo, se supone, obtener un mejor rendimiento y una mayor velocidad.

Todos aquellos, entre los que me incluyo, que usamos la distribución de GNU/Linux Debian o alguno de sus derivados, por ejemplo Ubuntu, conocemos el sistema de manejo de paquetes ".deb", el "apt" o "aptitude". Esta claro, que cualquier usuario de esta rama de distribuciones los usa, uno u otro, para instalar nuevo software y esta familiarizado con ellos. Este sistema de paquetes se encarga de la gestión de dependencias a la hora de la instalación evitando gran cantidad de problemas, pero lo que si que no podemos hacer es optimizar los paquetes para nuestra distribución.

Ahora bien, para solucionar esto llega "apt-build", el cual, yo personalmente no conocía hasta ahora. Con esta herramienta podremos optimizar los paquetes para nuestra distribución. Y lo más importante no perderemos la posibilidad de seguir usando "apt" o "aptitude". El funcionamiento básico es el siguiente: se descargan las fuentes y se compilan en nuestro ordenador para luego instalarse, todo esto automáticamente claro.

¿Como conseguirlo?

Desde nuestra distribución, en mi caso una "Ubuntu 7.04", en versiones anteriores no puedo garantizar su existencia ya que no tengo ninguna a mano, ejecutamos como superusuario:

aptitude install apt-build

Esto descargara el paquete y un par de dependencias necesarias, e instalará la herramienta en nuestro sistema. Para completar la instalación es necesaria nuestra intervención, ya que el script de instalación nos solicita el nivel de optimización que deseamos, obviamente a mayor nivel de optimización mayor tiempo de compilación. Yo, en principio, lo he dejado en nivel "Medio" ya iré probando los demás con el tiempo.

Otra pregunta que nos hará a la hora de instalar es la arquitectura de nuestro procesador, nos ofrecerá una lista de la que tendremos que seleccionar el modelo más adecuado a nuestras características. En mi caso, un "Intel Centrino", yo he elegido "pentium-m". Si no estáis muy seguros de la opción a elegir podéis consultar la sección Safe Cflags de Gentoo.

Finalmente, al finalizar la instalación, se nos añadirá una linea más a nuestro fichero "/etc/apt/sources.list", algo así:

deb file:/var/cache/apt-build/repository apt-build main

Este sera nuestro repositorio local de paquetes optimizados. Con esto terminará la instalación.

Jugar con ello

Dos cosas a tener en cuenta para poder utilizar esta herramienta:

- La primera, en nuestro fichero "/etc/apt/sources.list" además de las lineas que empiezan por "deb" deben estar también aquellas que empiezan por "deb-src". Esto sirve para poder descargar los fuentes para su posterior compilación.

- La segunda, para que a la hora de instalar otros paquetes los nuestros optimizados tengan preferencia a la hora de instalar habrá que añadir en el fichero "/etc/apt/preferences" las siguientes lineas:

Package: *
Pin: release o=apt-build
Pin-Priority: 990

De este modo, siempre buscará primero los paquetes a instalar entre los nuestros optimizados, antes que en los repositorios. Las lineas añadidas simplemente añaden una prioridad más alta a nuestro repositorio.

Finalmente, ya podemos usar "apt-build" como si fuera nuestro "apt" habitual ya que posee las mismas ordenes que este:

apt-build update
apt-build install rar

Como ya esta instalado nos dará un error, comentándonos que ya tenemos la versión más reciente en nuestro sistema, así que lo reinstalamos:

apt-build --reinstall install rar

Con esto tendremos nuestro rar optimizado para nuestra máquina.

Bueno como podéis ver el uso es bastante fácil, así que a partir de ahora yo voy a ir probando optimizar mi sistema poco a poco y haber si se nota diferencia. Espero que aquellos que lo probéis me comentéis las impresiones y los resultados. Y como siempre, si alguien quiere añadir algo más será bien recibido.

Dos últimos comentarios para terminar, personalmente no os recomiendo optimizar cosas como el "GCC" y "lib6", porque eso es arriesgarse, pero es solo opinión personal. Y el segundo, existe la opción de ejecutar "apt-build world", la cual optimiza TODOS los paquetes de nuestra distribución. Yo lo veo arriesgado, pero por si lo queréis usar, la misma recomendación, dejar fuera "GCC" y "lib6", ¿como?, ... así:

dpkg --get-selections | awk '{if ($2 == "install") print $1}' > /etc/apt/apt-build.list

Esto crea una lista de paquetes instalados, solo tenéis que eliminar luego el "GCC" y el "lib6".

Otra cosilla más, no lo he probado pero supongo, que cambiando la dirección añadida en el fichero "/etc/apt/sources.list" y poniendo la de un disco duro externo conectado al PC podremos tener nuestro repositorio en un disco aparte para no sobrecargar en nuestro, no tener que limpiar paquetes ya optimizados y que estén ahí siempre que los necesitemos.

Ahora si, creo que esta todo y espero vuestras aportaciones.