lunes, 15 de febrero de 2010

DrupalCamp Barcelona

El próximo 26 de Febrero y hasta el día 28, estaré en Barcelona asistiendo a la DrupalCamp. Si soy sincero, si me preguntan hace un par de años si, por mi orden de preferencia de 1 a 10 para asistir a un congreso de este tipo, quedaría relegado como mínimo al séptimo lugar. Desde hace aproximadamente 12 meses trabajo con Drupal a diario y "necesito" imperiosamente saber más de lo que se cuenta en los foros o en los cutre manuales que se suelen ver por la red.

Hay varios temas que llaman mi curiosidad, pero sobre todo es el tema del desarrollo de módulos el que más me interesa. Aún no tengo claro el tema de los horarios, pero hay tres ponencias a la que asistiré con total seguridad.
  • Iniciación a Skinr
  • Drupal nice: 10 módulos que desconoces
  • Programación con la API Views.

martes, 9 de febrero de 2010

Google Buzz

Si hace unos meses Google sorprendía a propios y extraños con Wave, ahora acaba de dar la puntilla con Buzz. Desde Mountain View presentaban en la tarde de hoy Buzz, el nuevo "producto" de Page & CIA, que petendre competir, entre otros, contra Facebook y Twitter. Lejos de sorprenderme la noticia, lo cierto es que personalmente esperaba algo similar, el anuncio, a mi modo de ver tiene truco.

En el lado "negativo"(cada cual es libre de exponer libremente su opioniones), Google se hace notar en un terreno en el cual Facebook, por ejemplo, le lleva 250 millones de usuarios.Consecuencia, integración de un nuevo servicio en el amplio catálogo "Google Way Of Life". Mayor control. Aumenta la tensión por atraer a más y más usuarios. Más publicidad, más ingresos.

Como contrapartida, el servicio promete. Se intergrará en Gmail, y permitirá compartir RSS,Galería y un sin fin de gadgets con nuestros contactos. El propio Jackson , apuntaba en la rueda de prensa, la apertura bidireccional del API, que facilitará la integración con Picassa o Twitter. Tiene buena pinta. Son un monstruo, pero suelen hacer bien las cosas. Toca esperar.

jueves, 4 de febrero de 2010

La guerra de los navegadores.



Me atrevería a afirmar que Tim Berners-Lee,en 1991 cuando publicó el primer documento que definía lo que a posteriori sería un estándar aprobado por la Internet Engineering Task Force (IETF), jamás se imaginaría la feroz y despiadada guerra a la que, por lo menos el que suscribe así lo considera, estamos asistiendo en el mundo de los navegadores web.

Un navegador web es una aplicación que permite visualizar el contenido almacenado en un servidor web de internet o en un servidor local. A finales de 1990, el CERN desarrolla el considerado como el primer navegador web. Este software sólo funcionaba en estaciones de trabajo UNIX(¿casualidad?), y distaba mucho del concepto actual de navegador que hoy conocemos. Meses más tarde aparecería Mosaic y después Netscape. Tarde, mal y a rastro como casi siempre, en 1994 Microsoft se pone manos a la obra con Internet Explorer. A partir de 1995, y después ser incluído como un complemento del sistema operativo Microsoft Windows 95, Internet Explorer comienza la conquista de la cuota de mercado de los navegadores web. Conquista propiciada por la gran inversión realizada por Microsoft durante la década de los '90, en la que alrededor de 1000 personas trabajaban única y exclusivamente en el desarrollo de IE.En 1999 llega a alcanzar el %95 de cuota de mercado. Mientras Microsoft observa a vista de pájaro a sus competidores en este terreno, Microsoft Windows se afianza como el "único" sistema operativo para PC.

Mientras Microsoft se regocija y disfruta de su éxito, en 1998 Netscape decide liberar el código fuente de la serie 4.X, naciendo así el proyecto Mozilla.Netscape, consciente de la posición dominante de los de Redmond, esperaba crear un gran proyecto libre, que diese como resultado un buen navegador web,fiel a los estándares y estable. En un principio y hasta 2002 Mozilla sigue siendo un navegador libre basado en Netscape, pero es en septiembre de este mismo año cuando se publica la versión 0.1 de Mozilla Firefox, con motor de renderizado Gecko 0.9, viendo la luz oficialmente el navegador Mozilla Firefox.

¿Qué diferencias a grandes rasgos existen entre Internet Explorer y Mozilla Firefox?
.- Firefox es multiplataforma, es decir, puede ejecutarse en GNU/Linux,Microsoft Windows, MacOSX y distintas versiones de Unix.Por el contrario, Internet Explorer sólo puede ejecutarse en Microsoft Windows y en MacOSX.
.- Firefox es un proyecto de la Fundación Mozilla.Internet Explorer es un producto de Microsoft, una compañía cuyo principal objetivo es obtener el mayor beneficio económico de sus productos, al contrario que la Fundación Mozilla, que es una entidad sin ánimo de lucro.
.- El código fuente de Firefox es libre. Puede auditarse en busca de errores(bugs), puede utilizarse para, con los conocimientos necesarios, adaptarlo a las necesidades de cada usuario o corporación. Al disponer de su código fuentes, miles de programadores desarrollan "plugins" que aumentan las funcionalidades básicas, convirtiendo la navegación web en una nueva experiencia.Microsoft no ha liberado, ni tiene planificado hacerlo, el código de Internet Explorer.Únicamente se limita a corregir errores e incluirlo en su sistema operativo Microsoft Windows.
.- Firefox es seguro, utiliza un sistema de aislamiento de procesos(sandbox), que dificulta explotar vulnerabilidades,además de contar con filtros antiphising.Internet Explorer 8 sí ha dado pasos en el camino correcto(no todos los necesarios), para reforzar las seguridad del navegador en cuestión; pero cuestiones como que este navegador se ha utilizado para el ataque contra Google en China, por lo menos a mi, me harían replantear la elección del navegador principal.
.- Firefox respeta los estándares, o por lo menos lo intenta. Sigue las recomendaciones de la Word Wide Web Consortium(¿Tim Berners-Lee es su director, otra casualidad?, el Web Hypertext Application Technology Working Group(WHATWG). Recordemos que Microsoft declinó la invitación de unirse a la WHATWG.


Cifras, datos...

Resulta irónico cómo una corporación puede afirmar que su navegardor es el más utilizado.¿Por qué? Si integras el navegador en el sistema operativo, subliminalmente obligas el usuario a utilizarlo. Por otro lado, las cifras incluyen todas las versiones de Explorer.Podríamos desmenuzarlas y tumbar el mito.(Hablamos de fechas comprendidas entre Enero de 2009 y Febrero de 2010).

A nivel mundial, el navegador más utilizado en la actualidad es Internet Explorer 8.0 con un 22,34% de usuarios, frente al 21,64% de Firefox 3.5. La diferencia es ínfima, teniendo en cuenta que hace apenas unos meses Microsoft a lanzado una nueva versión de Microsoft Windows: Windows 7, que casualmente, integra Internet Explorer 8.

En Europa, el navegador más utilizado es Firefox 3.5, con un 27,15% de los usuarios, frente al 23,5% de usuarios de Internet Explorer 8, seguido de las versiones 7 y 6 de este.


En USA, el 26,84% es para Internet Explorer 8.0 frente al 20,01% de Firefox 3.5. Llama particularmente la atención que sea en Europa y no en USA, dónde IE8 alcance una mayor penetración. ¿Apple? Es evidente. Apple en USA tiene mucho peso, más que en Europa. Safari, el navegador que Apple "regala" con Mac OS X, en USA se lleva el 7,91% de usuarios, mientras que en Europa apenas supera el 3%.

En España, el panorama es el siguiente: IE8 con el 26,85% y Firefox 3.5 con el 22,87%. Como curiosidad, señalar que el 9,01% a pesar de todo, sigue usando el obsoleto Internet Explorer 6.

Otro dato que me han llamado la atención es que en Brasil, en navegador más utilizado es Firefox 3.5 con un 24,31% frente al 23,28% de IE8. ¿Otra casualidad? ¿Será fruto de las iniciativas del gobierno de Lula, impulsando la cordura, el sentido común y el uso de software libre y de calidad?


Y en medio de la batalla...llegó Google.

En medio de este baile de datos, para la orquesta, suben Sergey Brin y Larry Page al escenario y presentan Google Chrome. En septiembre de 2008 lanzan la primera versión para Windows de Chrome, en 43 idiomas. Basado en el motor Webkit, liberado bajo un popurrí de licencias abiertas: BSD,MPL/GPL,MIT, proponen un navegador, a mi modo de ver minimalista, enfocado en la rapidez, seguridad(comparte sandbox como Firefox), y en la compatibilidad con los estándares. En diciembre de 2009 liberan la versión beta para GNU/Linux y MacOSX.



Enlaces de interés:

http://www.whatwg.org/

http://www.w3c.es/

http://w3counter.com/globalstats.php

http://marketshare.hitslink.com/

domingo, 31 de enero de 2010

Nueva etapa




Mañana día 1 de Febrero comienza una nueva etapa profesional en mi vida. Espero no deje ser más que una continuación de la etapa anterior. Estos 2 meses de inactividad entrecomillada me han servido para descansar y organizar mi mente, pensar en todo lo que se puede mejorar y encarar con más ganas que nunca esta nueva senda. !Qué así sea!

martes, 26 de enero de 2010

Instalando lighttpd en Ubuntu/Debian GNU/Linux desde los fuentes




Como he comentado en alguna ocasión, me gusta Apache2. Durante muchos años Apache Software Foundation ha realizado un gran trabajo, añadiendo funcionalidades y módulos, corrigiendo bugs y mejorando en cada versión de Apache2(y Apache 1.x, por supuesto). También he comentado en otras el gran trabajo de Alvaro López, y los excelentes resultados de rendimiento, superando ampliamente los obtenidos con Apache2.Actualmente busco un paquete de software de servidor web ligero y rápido, con soporte PHP5(vía fast-cgi sirve), que corra sin problemas en una máquina con 128MB de RAM(vps). Desde hace un par de semanas he testeado lighttpd y los resultados son más que satisfactorios.

A continuación, y a modo de recordatorio personal,comentaré como instalar lighttpd(version 1.4.25 de Enero de 2010) en una máquina corriendo Ubuntu 9.10, con las siguientes características.

Kernel: Linux polinico 2.6.31-14-generic-pae
Procesador: AMD Athlon(tm) 64 X2 Dual Core Processor 4800+
RAM: 8262708k total
gcc: gcc-4.4 4.4.1-4ubuntu9
make: 3.81-6

Actualizamos las fuentes de los repositorios e instalamos los paquetes necesarios.

[root@polinico ~#]apt-get update && apt-get -y install gcc make build-essential libpcre3-dev libbz2-dev zlib1g-dev

Una vez instalados, necesitamos descargar lighttpd.

[root@polinico tmp#] wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.25.tar.gz && md5sum lighttpd-1.4.25.tar.gz

Muchas veces obviamos el paso de la comprobación de la suma md5 del fichero, nunca está de más...

[root@polinico tmp#]wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.25.tar.gz && md5sum lighttpd-1.4.25.tar.gz
--2010-01-26 23:20:36-- http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.25.tar.gz
Resolviendo download.lighttpd.net... 64.34.173.165
Conectando a download.lighttpd.net|64.34.173.165|:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 780629 (762K) [application/x-tar-gz]
Guardando: «lighttpd-1.4.25.tar.gz»

100%[======================================>] 780.629 205K/s en 4,5s

2010-01-26 23:20:41 (168 KB/s) - `lighttpd-1.4.25.tar.gz' guardado [780629/780629]

87e936ec272ddaba8a2fdfecd8c6b704 lighttpd-1.4.25.tar.gz

Desempaquetamos el fichero...

[root@polinico tmp#]tar zxvf lighttpd-1.4.25.tar.gz && cd lighttpd-1.4.25

Lo bueno de la compilación desde el código fuente, a parte de la optimización del binario resultante, es la posibilidad de habilitar/deshabilitar el soporte a protocolos/tecnologías/lenguajes...etc. Por defecto,si no indicamos nada al ejecutar configure, tendremos un binario de lighttpd con los siguientes plugins habilitados:

  • mod_access

  • mod_access_log

  • mod_alias

  • mod_auth

  • mod_cgi

  • mod_compress

  • mod_dirlisting

  • mod_evhost

  • mod_extforward

  • mod_flv_streaming

  • mod_fastcgi

  • mod_indexfile

  • mod_proxy

  • mod_redirect

  • mod_rrdtool

  • mod_scgi

  • mod_secdownload

  • mod_setenv

  • mod_simplehost

  • mod_ssi

  • mod_putasgae

  • mod_staticfile

  • mod_status

  • mod_trigger_b4_dk

  • mod_userdir

  • mod_usertrack

  • mod_webdav


Y como características destacadas

  • auth-crypt

  • compress-bzip2

  • compress-deflate

  • regex-conditionals



Si queremos optimizar y personalizar al máximo la compilación:

[root@polinico tmp#] ./configure --help|more

En caso de usar las opciones por defecto:

[root@polinico tmp#] ./configure && make && make install


Ya hemos instalado lighttpd!!! No era para tanto, verdad? Me he encontrado con el que script de arranque/parada de /etc/init.d puede dar problemas al indicar correctamente la localización del binario.Recordemos que por defecto es /usr/local/sbin. No me he parado a localizar el .pid de lighttpd, pero con "ps aux|grep lighttpd|grep etc|awk '{ print $2 }'"(chapuza) solucionamos la papeleta.Podéis descargar el script aquí.