Lanzado Buzzear España

6 Agosto, 2007

Ya está disponible la versión Española de Buzzear. Acabamos de empezar con esta versión así que tenemos pocos Blogs en nuestro directorio. Ayúdanos a hacer grande el directorio. ¡Añade tu Blog a Buzzear España!

Nota oficial sobre el lanzamiento de Buzzear España en el Blog de Buzzear.

Últimamente se están poniendo de moda los concursos de posicionamiento. En este tipo de certámenes se trata de conseguir la mejor posición en Google a partir de una palabra inventada. En este caso la palabra elegida ha sido Hoteldipity (no, yo no participo), ya que la palabra suena a “Hotel” y el concurso está organizado por una cadena hotelera.

Más información en la web del concurso.

Ayer se lanzó oficialmente la nueva versión de Buzzear, el sitio que te permite estar al corriente de lo que se habla en la blogosfera de tu país. Desde hace poco me uní a este interesante proyecto y ayer por fin pudimos sacar la nueva versión,  mucho más depurada y optimizada que la anterior. En el Blog de Buzzear comentamos los últimos cambios.

Por ahora Buzzear está disponible en la versión Argentina pero muy pronto tendremos lista la versión Española del sitio y más adelante tenemos intención de expandirnos a otros paises de habla hispana e incluso de otros idiomas.

Si entras en Buzzear puedes ver fácilmente el “Buzz reciente”, es decir, de qué se está hablando en la blogosfera, tan sólo tienes que mirar la nube de tags para saber de que hablan los bloggers. Además, puedes ver los últimos posts publicados, conocer nuevos blogs, agregarte los feeds de un cierto tema o añadir tu blog para formar parte del directorio.

Si te interesa el mundo de los blogs, no dudes en echar un vistazo a Buzzear Argentina.

Si alguna vez has tenido que desarrollar alguna aplicación web con gran cantidad de código JavaScript seguro que te has encontrado con algún error. Seguramente te habrás dado cuenta de que en esos casos IE no es tu mejor aliado. Los mensajes de error que genera el IE son bastante malos en mi opinión, en algunos casos no acierta ni la línea que contiene el error.

Si en vez de IE pruebas suerte con firefox, almenos tienes una consola donde aparece un error mucho más detallado y al hacer doble click en él vas al código problemático directamente.

Pero aún así, esto se puede mejorar muchísimo, gracias a firebug, una extensión de firefox que permite ver errores de javascript detalladamente, ejecutar código al vuelo, ver todo el árbol DOM, añadir breakpoints, observar variables,ver las peticiones HTTP, incluso las de AJAX (esto es realmente útil) y hasta puedes ver cómo evoluciona el uso del ancho de banda que genera tu web al cargarse. También es de gran utilidad la herramienta “Inspect”, que te permite mediante el ratón seleccionar un área de la web y visualizar instantaneamente el código referente a ella. Otra característica a destacar es que puedes editar CSS al vuelo y se aplica instantaneamente en la web, ideal para hacer pruebas y dar espaciados, cambiar colores, tamaños, etc.

Te recomiendo que la pruebes, es totalmente libre y gratuita y te permitirá avanzar mucho más rápido en el desarrollo de tus páginas web.

Si no puedes desarrollar con firefox también puedes probar la versión especial de firebug para otros navegadores, incluido IE.

Firebug en PC Frikis

Tras publicar el artículo anterior sobre el tamaño real de los discos duros, un usuario comentó sobre los Kibibytes, un nuevo sistema de medida propuesto para distinguir los dos tipos de Kilobytes, los de 10^3 (1000) de los de 2^10 (1024).

El hecho es que esta propuesta existe desde 1999 y ya se utiliza en algunos programas como BitTorrent e incluso está implementada en el Kernel de Linux. Si ejecutamos el comando “ifconfig” podemos ver algo como:

RX bytes:175655 (171.5 KiB) TX bytes:175655 (171.5 KiB)

Sí, la abreviación de Kibibytes es KiB. Así tenemos MiB, GiB, TiB, igual que tenemos MB, GB y TB.

Al principio me parecía un poco chocante, ya que toda la vida hemos utilizado los KB como 1024Bytes, en el mundo de la informática (exceptuando las medidas de los discos duros y las redes). Y pensé que lo normal sería inventar una nueva nomenclatura para referirse a 1KB = 1000 Bytes, pero estaba equivocado, el Sistema Internacional (SI), fue el primero que definió que 1K son 1000, así 1Km son 1000 metros. Por lo tanto, para no liarse, me parece buena idea el nuevo sistema,  para referirse a las potencias de 2 (2^10 = 1KiB, 2^20 = 1MiB, 2^30 = 1GiB).

Aunque en principio puede parecer algo ridículo decir “Kibibytes”, tal como dice mi compañero Txen, a mi me parece que la abreviación puede ser incluso mejor a la hora de comunicarse. Es mejor decir un “KiB” que no un “Kilobyte”.

De todas formas, a partir de ahora, PC Frikis se pasa a los KiB’s!

El Efecto Antena 3

27 Febrero, 2007

La gente habla del efecto barrapunto cuando este sitio publica una noticia, ya que ésta genera una gran cantidad de tráfico en los sitios a los que referencia dicha noticia y puede llegar a dejar KO el servidor dónde se aloja el origen de la noticia. Pero no sólo existe ese efecto, también es conocido el efecto Slashdot, el efecto Digg (ambos son de lo más temibles) o el efecto Menéame. Pues bien, a mi me toca hablar del “Efecto Antena 3″ o más en concreto debería decir “El efecto de 1 contra 100″.

Aparte de este sitio también tengo “algo que ver” en sabiask.com, pues bien, el viernes pasado recibí alrededor de 400 visitas en un corto intervalo de tiempo mediante búsquedas similares a “la película más larga“, desde google.es. En concreto, 367 de estas visitas llegaron entre las 20:55 y las 21:05.

No sabía a qué se debía esta cantidad de visitas hasta que hace un rato me he encontrado casualmente con este post en el foro de EOL. En él, un usuario comenta que lo vio (la pregunta de ¿Cual es la película más larga?, me imagino) en el programa “1 contra 100” que emite Antena 3.

Impresionante, también, el efecto de la televisión.

Escritorio remoto con VNC

24 Enero, 2007

Actualmente es bastante frecuente dejar un PC casero encendido las 24h, descargando cosas,  haciendo de servidor http o incluso, para utilizarlo desde cualquier parte del mundo como si estuvieras en tu casa, gracias a VNC.

Hay básicamente dos formas de utilizar un escritorio remoto, de forma compartida (almenos en linux) o de forma dedicada. Es decir, podemos hacer que nuestra sesión de X (o de Windows) sea compartida y otros usuarios puedan conectar a ella o podemos iniciar un escritorio al que únicamente se podrá acceder via vnc (hasta dónde yo sé esto sólo es posible en linux).

Para el primer caso, si queremos compartir nuestro actual escritorio, podemos utilizar x11vnc (apt-get install x11vnc en linux). Iniciamos el entorno gráfico (el que sea, kde, gnome, xfce, fluxbox … ) y abrimos una consola, para escribir:

x11vnc -storepasswd

Nos preguntará por una contraseña y nos dirá si la queremos guardar, introduciremos una contraseña y diremos que sí a guardar. Por defecto la guardará en ~/.vnc/passwd así que usaremos ese archivo en el siguiente comando:

x11vnc -rfbauth ~/.vnc/passwd

¡Ya está! ¡Así de fácil! Tenemos el entorno X actual disponible para acceder desde cualquier PC conectado a internet (eso sí, procura tener mapeado el puerto 5900 en tu router). Ahora sólo necesitas el visor, que puedes encontrar en la web oficial de vnc o puedes instalarlo via tu sistema de paquetes favorito (en debian apt-get install xvncviewer).

Ahora sólo te queda ejecutar el xvncviewer e indicar la ip y el escritorio, que por defecto es el 0. Si el PC donde está compartido el escritorio tiene la ip 192.168.0.4 pues pondrás en el xvncviewer 192.168.0.4:0

Si lo que quieres es crear un nuevo entorno gráfico dedicado a vnc entonces tendrás que instalar vnc4server (apt-get install vnc4server) y hacer lo siguiente:

vncpasswd

vnc4server -depth 16 -geometry 1024×768

Con el parámetro depth indicas la profundiad de color y con geometry la resolución del nuevo escritorio. Al ejecutar este comando verás algo parecido a esto:

New ‘hostname:2 (usuario)’ desktop is hostname:2

El “:2″ es el número de escritorio, es lo que tendrás que utilizar cuando lances el xvncviewer y además, mapear el puerto 5900+2 en el router, es decir, el 5902.

Para cerrar un servidor vnc sólo tienes que hacer vnc4server -kill :2 (o el número que sea).

Sí, es cierto, lo acabo de descubrir, y luego explicaré los detalles, pero antes quiero contar qué es lo que me ha llevado a afirmar esto.

La semana pasada me tocó analizar junto a un compañero un código JavaScript que no funcionaba correctamente, utilizaba arrays asociativos para almacenar distintas categorías, por ejemplo:

var paises = new Array();
paises['es'] = ‘España’;
paises['pt'] = ‘Portugal’;
paises['us'] = ‘Estados Unidos’;
paises['uk'] = ‘Reino Unido’;

Hasta aquí, todo parece normal, es un array asociativo, como clave guardo el código del país y como valor el nombre, igual que lo haría en PHP por ejemplo. Pero luego, al intentar ordenarlo con opciones.sort(); que supuestamente ordena el array, no funcionaba, ni siquiera pasándole como parámetro una función personalizada para la ordenación (Especificación del método sort)
Supusimos que el método sort() no soportaba arrays asociativos e implementamos la solución utilizando arrays normales y corrientes, con claves numéricas, a la vez que nos preguntábamos cómo podía ser que JavaScript tuviese esa falta tan grave.

Hoy me disponía a comentar este error y buscar una nueva implementación de sort que soportara arrays asociativos (o incluso hacerla yo mismo si no hubiese encontrado ninguna) cuando sin quererlo me he encontrado con que JavaScript no tiene arrays asociativos, no existen. Entonces, ¿Cómo es que el ejemplo anterior funciona? (Sin contar el método sort)

Funciona porque lo que estamos haciendo es añadirle propiedades al objeto de tipo Array. En JavaScript, cuando hacemos variable['nombre'] lo que ocurre es que añadimos una nueva propiedad con el nombre “nombre” al objeto “variable”. Por eso, si hacemos:

var paises = new Array();
paises['es'] = ‘España’;
paises['pt'] = ‘Portugal’;
paises['us'] = ‘Estados Unidos’;
paises['uk'] = ‘Reino Unido’;
alert(paises.length);

Si existiesen los arrays asociativos debería aparecer una ventanita con un 4 ¿verdad? Pues como no existen, sale un 0, porque no le estamos añadiendo valores al array, si no propiedades al objeto.

Otros hechos que hacen sospechar de que JavaScript no tiene soporte para arrays asociativos es que no hay forma de definir un array asociativo ni con el constructor del objeto Array ni con la sintaxis para crear un array de forma literal.

Me he sorprendido mucho al leer esto en http://www.andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/ , pues llevo años viendo como en muchos tutoriales explican equívocamente cómo utilizar arrays asociativos en JavaScript, tal y como yo lo he hecho.

Desde hace algunos dias (2 o 3) vengo notando que cuando alguien me quiere enviar un correo desde hotmail a mi cuenta gmail el mensaje llega 10 horas tarde, siempre 10 horas, clavadas. Al revés parece funcionar todo bien. No me ha pasado con un correo, me ha pasado con todos los que cumplían la norma hotmail -> gmail.

No se si esto es un problema técnico, una casualidad o una manera de luchar contra la competencia pero espero que se solucione pronto.

Ha alguien mas le ha pasado?

Cada vez me encuentro con más casos en los que necesito escribir caracteres especiales, más allá de la eñe (Ñ), las tildes u otros caracteres habituales entre la mayoría de europeos occidentales (ç, à, ê, å, etc). El verdadero problema llega cuando necesitas escribir en otros idomas como ruso, árabe, chino, japonés, polaco, etc, o como mínimo, hacer tu web/aplicación compatible con estos juegos de caracteres.

El problema tiene fácil solución, se llama utf-8, un juego de caracteres especial que utiliza de 1 a 4 bytes por caracter, según sea necesario y es compatible con los canales de transmisión de 8bits. Es decir, que podemos enviar un texto con caracteres de múltiples culturas a la vez, utilizando los canales habituales, mail, web, irc, ftp, etc.
Lo único que queda por saber es cómo convertir documentos de texto que tengamos en iso-8859-15 (el juego de caracteres habitual en españa) a utf-8. Esta tarea la podemos realizar utilizando el comando “iconv” en linux (o bajando la misma aplicación en versión para Windows) y ejecutando el siguiente comando:

iconv documento.txt -f iso-8859-15 -t utf8 -o documento-utf.txt
documento.txt es el nombre del fichero que queremos convertir, -f iso-8859-15 es la codificación actual del fichero, -t utf8 es la codificación de destino y -o documento-utf.txt es el fichero dónde el programa escribirá el resultado.

Este comando me ha resultado especialmente útil para convertir algunas de mis páginas web a utf8. Por cierto, esta web usa utf-8.