Archivo por meses: abril 2007

Authors@Google

Authors@Google es nuevo servicio muy interesante de Google que recolecta todas las ponencias de autores de libros que se han realizado en Google y que han sido grabadas en vídeo.

La página oficial de Authors@Google la encuentras aquí. El canal en Youtube de las ponencias la puedes aquí.

Via Blog oficial de Google

La actualización del PageRank de Google ha comenzado

La actualización de la barrita verde que fue actualizada por ultima vez el 10 de Enero se ha iniciado finalmente hoy día 🙂

Ahora y finalizando el mes, parece que muchos data centers ya estan mostrando los nuevos valores del PageRank. Como siempre, va a durar algunos días hasta que todos los DCs se actualicen y también la barrita verde del Google Toolbars muestre los nuevos valores.

Todavía es temprano para saber como se ha realizado esta actualización, pero parece que el blog va a bajar de PR.

Los cambios del PageRank se pueden visualizar con mi herramienta para visualizar el PageRank actual. Algunos DCs ya muestran los nuevos valores.

Actualización
Parece que la fecha de corte es comienzos de Abril. Eso significa que las páginas que ya estaban indexadas a comienzos de Abril (2 o 3) todavía han recibido PageRank.

Velocidad de indexación de Google aumenta considerablemente

Este tema ya se estuvo comentando en los últimos días en diversos foros.

Como ya es bien conocido webs muy populares o webs de noticias eran escaneadas varias veces al día y sus páginas aprecian rápidamente en el índice del buscador de Google.

Esta práctica parece que se esta extendiendo a todo tipo de webs. Las páginas son escaneadas y unas horas después ya aparecen posicionadas en el índice.

No sé si esta primera posición será la final, pues deben faltar muchos factores que tienen que ser calculados mediante algoritmos complejos y que necesitan mucho tiempo.

Como ejemplos de esta indexación ultra rápida puedo mencionar dos notas que he escrito en mi blog hace menos de 24 horas:

1. La nota Deutsche Bahn inaugura servicio de compra de pasajes por móviles ya esa indexada y aparece en la primera posición para la búsqueda deutsche bahn moviles. La primera posición se debe posiblemente a que esta búsqueda solamente contiene unos 26.600 resultados.

2. La nota Generador de temas de WordPress también ha sido indexada en menos de 24 horas y se encuentra para la búsqueda generador de temas wordpress en la posición 6 de 122.000 resultados. Posiblemente esta posición caerá en los próximos días ya que tal vez otros blogs más pesados también tomen esta nota y se posicionen mejor.

De todas maneras, es una muy buena noticia para todos los webmasters que estaban desesperados en ver sus páginas indexadas de inmediato en el buscador. Aún no sé cuales son los criterios que debe cumplir una web para que sus páginas sean indexadas rápidamente, pero creo que vale la pena investigarlo.

Resulados finacieros de Google del primer trimestre 2007

A comienzos de este año había informado sobre los ingresos de Google en el 4. trimestre de 2006.

Hace varios días atrás, Google ha presentado su resultados financieros para el primer trimestre 2007,

En la siguiente tabla se puede observar el desarrollo economico de la empresa desde 2003 a la fecha:

Trimestre Ingresos Ganacias/Perdidas
4/03 515,2 Mio. 27,2 Mio.
1/04 653,0 Mio. 63,0 Mio.
2/04 700,2 Mio. 79,1 Mio.
3/04 805,89 Mio. 51,98 Mio.
4/04 1.031,5 Mio. 204,1 Mio.
1/05 1.256 Mio. 369 Mio.
2/05 1.384 Mio.(890 Mio. sin TAC) 343 Mio.
3/05 1.578 Mio.(1.048 Mio. sin TAC) 381,2 Mio.
4/05 1.919 Mio.(1.290 Mio. sin TAC) 372,2 Mio.
1/06 2.253 Mio.(1.530 Mio. sin TAC) 592,3 Mio.
2/06 2.456 Mio.(1.671 Mio. sin TAC) 721,1 Mio.
3/06 2.689 Mio.(1.864 Mio. sin TAC) 733,4 Mio.
4/06 3.206 Mio.(2.230 Mio. sin TAC) 1.030,7 Mio.
1/07 3.663 Mio.(2.530 Mio. sin TAC) 1.002,2 Mio.

TAC: Traffic Acquisition Costs
Fuente: heise online

Los ingresos aumentaron en un 76% comparados con el primer trimestre de 2006.

Lo interesante de estos datos es que también los pagos a los asociados de Google, es decir AdSense, aumentaron en un 45%. Este primer trimestre se pagaron 1133 millones de dolares a los afiliados, lo que significa mas o menos unos 12,59 millones de dolares diarios en pagos por AdSense.

El reporte oficial también informa que mas o menos el 50% de los ingresos provienen de los demás países y no de los Estados Unidos.

Deutsche Bahn inaugura servicio de compra de pasajes por móviles

Das Habdyticket de la Deutsche Bahn

La Deutsche Bahn (la empresa de ferrocarriles alemanes) ha inagurado hoy día un servicio experimental de 2 años para la venta de pasajes de tren y bus mediante móviles .

Inicialmente el proyecto conjunto entre la Deutsche Bahn con Siemens y el instituto de investigaciones Frauenhofer de Dresden funcionará en mas 10 ciudades alemanas.

Inicialmente el usuario se debe inscribir por Internet colocando sus datos personales y forma de pago. Luego él recibe un mensaje de texto con una dirección para bajar al móvil un programa en Java. Mediante este programa, se puede comprar todo tipo de pasajes para trenes y buses. Después de la compra, el sistema le envía un comprobante al móvil que tiene que ser mostrado al controlador.

Sin duda ya existen varios de estos proyectos a nivel mundial, pero este proyecto a gran escala donde más de 13 millones de usuarios tendrán la posibilidad de comprar sus tickets directamente desde el móvil sin tener que usar los sistemas de venta tradicionales, mostrará cuan factible es el uso del móvil como punto de venta y monedero.

Via heise online

Mis experiencias con Linux

Debido a que tengo una notebook antigua (Toshiba 4060CDT Pentium II, con 4.3 GByte de disco duro, y 64 MByte de memoria RAM) ya más de 2 años guardada en el armario, e inspirado por la nota de Martin Warsaksky sobre su instalación de Ubuntu, decidí convertir mi vieja notebook en un centro de control multimedia para mi equipo de sonido.

Especificaciones tecnicas de mi toshiba 4060 CDT
Especificaciones técnicas de mi Toshiba 4060 CDT

Para que mi notebook cumpla esta función solo es necesario un pequeño sistema operativo con una conexión WiFi a mis máquinas con Windows que contienen todos mis archivos de música, ya que los 4 GBytes de la notebook son insuficientes. La conexión wireless es ideal ya que puedo colocar mi notebook junto a mi equipo de música en la sala de estar. También sería interesante poder controlar el equipo desde cualquier lugar de mi casa.

La solución era sencilla: Usar Linux como sistema operativo, colocar un dispositivo USB para la red inalámbrica, usar Samba para la conectividad con los archivos de Windows y bajar un buen programa de MP3 Player y una consola remota.

1. Decisión de la versión de Linux a instalar
Como es bien conocido, existe una infinidad de versiones, sabores o distribuciones del sistema operativo que se basan en el kernel de Linux de Linus Torvals.

Después de consultar a unos amigos que ya son ‘expertos en Linux’ decidí usar la ultima versión de CentOS (Community ENTerprise Operating System) 5.0 que fue lanzada en Abril de este año.

CentOS se basa en la distribución de RedHat Entreprise Linux (RHEL) que entrega el código fuente gratuito, pero vende los binarios y el soporte. El grupo de voluntarios de CenTOS se dedica a generar los binarios y realizar la distribución en forma gratutia.

Según me informaron, este versión de Linux es liviana, muy estable y tiene buen soporte.

2. Instalación del sistema operativo
Después de descargar los 6 CDs de CentOS 5.0 (También se puede descargar todo en la imagen de un DVD, pero en mi caso no me sirve) realicé la instalación en mi notebook.

La instalación inicial funciono correctamente y sin ninguna sorpresa. Debido a que mi Notebook solo tiene 64Mbyte de memoria RAM, el instalador arranco automáticamente en modo de texto.

Todos los dispositivos fueron reconocidos correctamente y después de un tiempo todo ya estaba listo para logearse al sistema.

3. Parametrización de la resolución del monitor
Después de arrancar el ambiente gráfico GNOME, me encontré que en las opciones para la resolución del monitor solo aparecían los valores 640×480 y 800×600 pero mi monitor LCD tiene una resolución de 1024×768

Y bueno, como buen usuario de Google comencé a buscar en la red sobre este problema y pronto me encontraba editado diferentes archivos en el directorio /etc.

Aquí debo mencionar que he trabajado bastante tiempo con Unix desarrollando sistemas de tiempo real y sistemas de misión critica por lo que conozco bastante bien las herramientas de Unix como el editor vi, las shells, los diferentes compiladores, make, etc.

Pero lo que yo quería era llegar lo más rápido posible a una solución, y como un usuario común.

Finalmente conseguí que aparezca el valor deseado y que la resolución del monitor cambiará a 1024×768 pixeles. Pero todavía tengo el problema de que cuando salgo del ambiente gráfico la resolución no vuelve al modo correcto para mostrar la consola.

Así pues, solamente encontré una solución a medias.

4. Optimización e instalación de utilitarios
Como esta notebook solo tiene la tarea de fungir como central de multimedia, y no cuenta con muchos recursos, me propuse optimizar un poco el sistema. Observando la lista de procesos me encontré con un sinnúmero de procesos que no necesito: Procesos para servidores correo, auditora, soporte para IPV6, y muchos otros más que no conseguí identificar.

Después de varias horas, conseguí reducir el numero de procesos que corren en mi notebook.

Luego, como todo usuario cómodo, también quería poder usar los mismos utilitarios que en mi ambiente Windows, sobre todo aplicaciones para multimedia.

Después de buscar un poco en Google, logré instalar por ejemplo Real Player o Skype.

El mayor problema que tuve aquí, fue encontrar la versión correcta que debía instalar. Por ejemplo la siguiente imagen muestra la página de descarga de Skype para Linux:

Diferentes versiones de Skype para Linux

Una de las cosas interesantes que encontré en CentOS, es el uso del RPM Package Manager que es parte de RedHat y es una herramienta para administrar é instalar paquetes. Busca automáticamente la versión del sistema operativo, las dependencias, y finalmente descarca e instala el paquete adecuado.

Por ejemplo, para instalar un programa necesitaba tener las bibliotecas dinámicas de GNU C++. La instalación la hice simplemente con el comando rpm -install.

5. Samba
Como es bien conocido, Samba es un programa que permite usar el sistema de archivos de Linux para que pueda ser usado por máquinas con Windows como carpetas compartidas usando el protocolo de Microsoft SMB. Y en forma viceversa, los usuarios de Linux pueden montar las carpetas compartidas de los sistemas Windows. Y eso, es justamente lo que necesito para usar los archivos MP3 de mis máquinas Windows en mi notebook con Linux.

Como ya mencione anteriormente, la instalación de todos los paquetes es muy sencilla. Todo lo contrario ocurre con la parametrización. La configuración del servidor de Samba desde el ambiente gráfico se ve muy simple y sencilla. Después de sequir todos los pasos, inicialmente me fue imposible visualizar mi notebook en mi computadora con Windows.

Nuevamente, tuve usar el buscador de Google para encontrar informaciones de como resolver mi problema. Luego de muchos experimentos, y usando el método más primitivo del trial and error (ensayo y error) y teniendo que editar varios archivos de texto, conseguí finalmente visualizar la carpeta compartida desde Windows. Ahora puedo copiar archivos, pero no puedo crearlos o editarlos. Al borrarlos, solamente desaparecen en Windows (en Linux no se borran) pero al refrescar la la carpeta reaparecen nuevamente. En resumen, una solución a medias.

Todavía no me he aventurado a compartir los archivos de Windows en Linix, que es realmente la función que necesito.

6. Instalación red wireless
La instalación de mi dispositivo USB para redes inalámbricas WUSB54GC de Linksys me llevo finalmente a las profundidades del kernel de Linux.

Adaptador compacto USB para WiFI
Adaptador compacto USB para WiFI

Buscando en la red, solo puede encontrar el código fuente de un driver para el chip de mi dispositivo, Ralink RT73. Pero para poder compilar el driver, primero tuve que instalar todas las herramientas para desarrolladores (cc, make, load, etc). y también bajarme el código fuente del kernel para las cabeceras de los archivos (headers). Por suerte, el comando rpm funcionó a la perfección.

Luego de la generación del driver comenzó mi odisea: Su configuración. Nuevamente, la herramienta del ambiente gráfico no me ayudo mucho y tuve que editar directamente los archivos de configuración. Aquí aprendí a instalar, desinstalar y buscar módulos en el kernel de Linux. Configurar interfaces, cargar módulos al arrancar el sistema y mucho más.

Ahora, y después de varios días de trabajo, ya funciona mi conexión WiFi a mi access point, pero no 100%. Al arrancar el sistema, parece que algún modulo borra mi configuración original y la conexión de red no esta activa. Solo con la reinicialización manual del servicio de red, he logrado cargar los parámetros correctos. Y esto no es lo que necesito, ya que al encender la notebook la red y la conexión a mis máquinas Windows ya debería estar operativa.

Para encontrar el origen del problema voy ha tener nuevamente que invertir muchas horas de ‘ensayo y error’.

7. Conclusiones
Linux es sin duda un sistema operativo muy flexible que puede ser usado por ejemplo en aplicaciones muy complejas en sistemas distribuidos como en los servicios de Google, pero también en sistemas con muy pocos recursos, como en mi caso.

Pero justamente esa flexibilidad también es la mayor desventaja. La configuración de un sistema adecuado a necesidades especiales es muy complejo y se necesita de conocimientos de expertos para encontrar la solución correcta.

En mi caso, ya tengo trabajando más de 10 días en la configuración de mi notebook, y todavía tengo un sistema a medias. Todo funciona ‘en principio’ correctamente pero no 100%.

Actualmente tengo:

  • He conseguido obtener la resolución correcta de mi monitor 1024×768 pixeles en el ambiente gráfico, pero cuando salgo al modo de consola, el monitor no cambia de modo y tengo que reinicializar el sistema.
  • El compartimiento de carpetas y archivos entre Windows y Linux mediante Samba todavía no funciona correctamente
  • La conexión a la red WiFi solamente funciona si se reinicializa manualmente el servicio de red.

Otra cosa que me causa mucho temor es que el cambio de solamente un parámetro en alguno de los archivos de configuración puede causar que todo el sistema se comporte de forma diferente e impredecible.

De todas maneras, para mi ha sido una experiencia muy interesante, en la que he aprendido varias cosas nuevas y he logrado refrescar mis conocimientos en Unix, pero no creo que todavía me anime a usar Linux como la plataforma principal para el desarrollo de mis proyectos y negocios.

Froogle se convierte en Google Product Search

El servicio de búsqueda de productos que Google tiene desde hace varios años y que llevaba el nombre de Froogle(pronunciado frugal), ha cambiado de nombre: Ahora se llama Google Product Search.

Según Marissa Mayer, gerente de productos de Google, menciona en el blog oficial de Google en el artículo back to basics, que el nombre Froogle ha causado mucha confusión y por eso se ha decidido renombrar este servicio.

He tratado de encontrar la versión en español, pero parece que por el momento solamente Google Product Search esta en ingles. Si busco Nokia N95 en google.es/products obtengo solamente resultados en ingles: Nokia N95.

Mientras si busco Nokia N95 en google.de/products obtengo resultados en alemán. No sé si alguna vez hubo Froogle en español?

Como borrar páginas del indicie de Google

Esta es una de las preguntas que siempre se hacen los webmasters cuando encuentran que Google ha indexado páginas equivocadas, páginas con URLs duplicadas, o páginas antiguas.

Hasta ahora Google tenia para estas situaciones una consola la URL Console que permitía borrar páginas del índice. Esta herramienta era muy peligrosa, ya que si se cometía algún error, se corria el riesgo de que toda la web sea borrada del indice por lo menos por 180 dias.

Ahora, Google acaba de presenta una herramienta mucho más sofisticada en Google Webmaster Central (opción Diagnostic -> URL Removals).

Esta nueva herramienta permite borrar:

  • Páginas individuales
  • Todas las páginas bajo un directorio
  • Todo el sitio web
  • Páginas en el cache

Adicionalmente, esta herramienta muestra el estado de los requerimientos de borrado, así como también todas las páginas que fueron borradas exitosamente del índice.

Para que una página o sección pueda ser borrada del indicie del buscador, se debe asegurar que la página en cuestión devuelva un HTTP status code 404 o 410 o que la página este bloqueada para los robots en el archivo robots.txt, o que la página contentenga el meta-tag noindex.

Esta herramienta de Google es sin duda, un gran avance para poder controlar que contenidos debe aparecer en el índice el buscador.

Más informaciones en el blog de Google Webmaster Central.

Como ahorrar volumen de transferencia en tu servidor web

Como ya es bien conocido, la mayoría de los servicios de webhosting limita el volumen de la transferencia de datos entre el servidor y los clientes en forma mensual. Este limite de transferencia depende de los paquetes que ofrecen y puede variar entre 1GByte y unos 15-20GByte por mes.

Si se ha contratado un paquete económico con volumen de tráfico limitado, entonces uno comienza a preocuparse cuando el tráfico en la web se incrementa considerablemente.

Este tráfico no solamente es generado por los visitantes de la web, sino también por los bots o robots de los diferentes motores de búsqueda y otros servicios que escanean la web.

Por ese motivo, y pensando en los webmasters Google hace poco mas de un año ha centralizado todos sus servicios de bots, como ser el googlebot, bot de imágenes, AdSense, news, etc. y ha creado en un cache centralizado de paginas web que puede ser usado por todos sus servicios. Solamente, en caso de que la página en el cache ya sea antigua o todavía no haya sido registrada salen los bots del servicio especifico a visitar la página requerida. De esta manera Google ha contribuido a disminuir el volumen de transferencia generado por los bots.

Pero a pesar de esto, muchas veces es necesario disminuir el volumen de transferencia de la web.

Ahora te presento una serie de procedimientos que te pueden ayudar:

1. Análisis
La meta principal para disminuir el volumen de transferencia es la reducción del tamaño de las páginas de la web. Aquí se debe considerar tanto el código HTML así como imágenes y otros componentes de multimedia.

Seleccionar las páginas que más trafico generan
No es necesario disminuir el tamaño de todas las páginas de una web, sino más bien solamente de las páginas que generan más trafico. Generalmente estas páginas hacen un 80% a 90% del tráfico total.

Para encontrar estas páginas, solamente se debe analizar los logs del servidor web u otras herramientas como Google Analytics.

Analizar los componentes de la página
Después de haber detectado y seleccionado las páginas con más tráfico, se debe analizar su tamaño, y el tipo de componentes que contienen.

Para esto, existen en Internet muchas herramientas que te pueden ayudar, como por ejemplo Web Optimization.

Esta herramienta muestra todos los tipos de objetos de la página, así como también sus tamaños, y los tiempos de descargas para diferentes velocidades de acceso, como se puede apreciar en la siguiente imagen:

Resultados del análisis de una página web

2. Optimización del tamaño de la página
Con el reporte anteriormente mencionado se puede comenzar a optimizar el tamaño de las páginas seleccionadas.

Imágenes
Una de las grandes sorpresas de este reporte, es que las imágenes hacen el grueso del tamaño de las páginas. Aquí, nuevamente, uno debe concentrar la atención solamente en las imágenes más pesadas.

Estas deben ser optimizadas con herramientas gráficas y/o modificando sus formatos. También se debe analizar la posibilidad de suprimir imagenes o por ejemplo remplazarlas con objetos css o atributos de color en HTML .

Código HTML
A pesar de que el código HTML generalmente es mucho más pequeño que las imágenes y objetos multimedia, es muy importante generar un archivo de HTML compacto por los siguientes motivos:

  • Descarga y rendering rápidos Si el código HTML es pequeño, la página puede ser descargada y visualizada rápidamente por los navegadores. Luego, las imágenes y los otros componentes se van descargando poco a poco. Este efecto causa en el usuario la impresión de que la web es rápida y lo anima a continuar navegando.
  • Reduce el volumen de transferencia de los bots Generalmente los robots de los buscadores se interesan solamente por el texto de la página y por eso solo leen el código HTML. Si este código es pequeño, el volumen de transferencia usado por los robots puede disminuir considerablemente. En muchos casos, esto también podría mejorar la frecuencia de las visitas de los bots.

El tamaño del código HTML se puede optimizar de muchas maneras:

Generar código compacto
Se deben evitar en el código los espacios y los cambios de carril (carridge return) , se debe usar nombres cortos para los identificadores de las clases y otros objetos. Por ejemplo, en vez de usar un identificador como ClasseDeCabecera se podría usar la abreviación cdc. El mejor ejemplo para aprender como optimizar el código HTML es leer el código fuente de las páginas de Google.

También se debe evitar en lo posible colocar comentarios en el código. En varios casos, he comprado que quitando los comentarios de una página – por ejemplo mediante un pequeño script que lea el código HTML y quite todos los comentarios antes de enviaro al cliente – se puede ahorrar unos 2 a 3 KBytes por página.

Si se asume por ejemplo, que esa página es descargada 10.000 veces al día, entonces se puede lograr un ahorro de unos 29,29 Megabytes de tráfico por día.

Comprimir el código HTML
Si se usa PHP para generar las páginas web, existe la posibilidad de comprimir el código HTML y enviarlo así al cliente. Los navegadores o browsers de ultima generación reconocen este código comprimido y lo descomprimen para visualizarlo. Por ejemplo, si un archivo HTML tiene unos 50 KB en estado normal, su tamaño comprimido es de unos 7 a 8KBytes que son los que realmente se transmiten desde el servidor web hasta el cliente. Esto significa nuevamente un gran ahorro en el volumen de transferencia de los datos.

El código en PHP que se debe colocar al inicio de cada página es el siguiente:

// Set HTML Compression on
if (extension_loaded('zlib'))
{
$_zlib_included = strtolower(ini_get('zlib.output_compression'));
if (empty($_zlib_included) || $_zlib_included == 'off')
{
ini_set('zlib.output_compression_level', 7);
ob_start('ob_gzhandler');
}
}

En caso de que el servidor web tenga la extensión zlib habilitada, el código generado (output) es comprimido antes de ser enviado al cliente.

Un ejemplo claro del resultado que ha causado el uso de compresión en uno de mis proyectos se lo puede observar en la siguiente imagen:

Kilobytes descargados diariamente por del bot de Google

Después de que la compresión del código HTML fue habilitada, el volumen descargado diariamente por los bots de Google se ha reducido considerable, mientras que el número de páginas escaneadas no ha disminuido.

El otro efecto positivo de esta compresión ha sido que la carga del servidor ha disminuido considerablemente a pesar de que el numero de visitas no ha caido. Esto se debe a que que la cantidad de paquetes de datos transmitidos entre el servidor y el cliente ha disminuido también.

3. Conclusiones
Como se puede observar, el incremento del tráfico en una web, no necesariamente debe obligar a contratar un paquete con mas transferencia que siempre resulta ser más caro.

Lo que primero se debe hacer es analizar el origen del problema, y en caso de poder optimizar el tamaño de las páginas se lo debe realizar con todos los métodos explicados anteriormente.

La reducción del tamaño de las páginas tiene también otra ventaja adicional: El usuario percibe una mejor usabilidad lo que puede llevar a mejorar el tiempo de permanencia en la web y también a aumentar el numero de las visitas.