2015/11/11

¿Qué es el cloud gaming?

Cloud gaming. Mucha gente habla de cloud gaming... pero ¿qué es exactamente el cloud gaming?

Cloud gaming o videojuego en la nube, es un sistema por el cual un videojuego no se ejecuta en tu máquina local, si no en "la nube", o más bien en los servidores de un tercero, de forma que desde el lado del cliente no se necesita capacidad de cómputo ni cálculo (en resúmen, ninguna máquina potente) para poder disfrutar de los mismos.
Obviamente, esta sesión de juego tiene que llegar al cliente de alguna forma, normalmente en streaming de audio y video (esto es, como si fuera una película), pero con la particularidad de que la comunicación no es solo descendente (desde el servidor a tu sistema), si no también ascendente, porque hay que enviar los comandos de entrada del juego (mando, teclas, etc) hasta el servidor remoto. Básicamente, esto es el cloud gaming.

¿Qué ventajas reporta el cloud gaming? Muchas y variadas, algunas entraré a enumerarlas.

Desde el punto de vista del usuario:

- No se necesita una máquina potente para disfrutar de un videojuego. De eso se encarga la nube. De esta forma puedes disfrutar del último videojuego disponible que requiere muchísima CPU, RAM y demás en un ordenador viejo, en una consola de sobremesa, en un móvil, en un tablet o incluso en un descodificador de vídeo IPTV como los que muchos tenemos en casa para ver la televisión de pago.

- Puedes disfrutar de los videojuegos independientemente de tu plataforma. Esto es, si tienes un tablet pero te gusta los juegazos de PC, vas a tener posibilidad de jugarlos a pesar de que estés en un sistema operativo Android (si hay cliente para ello, claro). O si tienes un MAC, podrás jugar a la última versión del FIFA que no ha salido para el ecosistema Apple.

- Vas a tener acceso a un catálogo de juegos extenso, dado que normalmente no vas a comprar un juego, si no a suscribirte a un servicio. Imaginate un Netflix pero para juegos.

Desde el punto de vista del publisher (del fabricante de videojuegos)

- Vas a poder dar salida a tu catálogo de videojuegos de hace unos años y que ya nadie te compra. Nuevamente imagínate Netflix...

- Vas a distribuir en un entorno donde la piratería NO EXISTE NI PUEDE EXISTIR. Nadie va a descargar nada, y controlar un servicio bajo demanda es muy sencillo.


Desde el punto de vista de un proveedor de servicio (pueda ser una telco, etc)

- Vas a ofrecer un servicio de valor añadido y alta demanda de recursos y calidad sobre tu conexión a internet de alta velocidad. Sí, esa conexión donde te ha costado una fortuna el renovar tu red y donde hay que diseñar nuevos servicios para darle valor. ¿Quién quiere una fibra para navegar por internet si con 10Mbps lo haces de sobra desde el móvil?


Como ves, un sistema de cloud gaming ofrece unas ventajas interesantes tanto al usuario como al generador de contenido, que hace uso y da sentido a las nuevas infraestructuras de alta capacidad que se están desplegado actualmente por medio mundo.



2015/06/23

Windows 10 build 10130 comes with a serious bug when trying to access to a remote samba share (this doesn't happen with native Windows 2012 or later).
If you cannot access your home NAS fix is easy: Remove PIN authentication (recommended by Microsoft) and use classic user and password way.
That's all, friends.

Windows 10 build 10130 presenta un bug bastante serio (y coñazo) cuando intentas acceder a una compartición samba remota (carpeta de Windows). Este problema no sucede accediendo a Windows 2012 o posterior.
Si no puedes acceder a la NAS de tu casa la solución es sencilla: elimina la autentificación por PIN (que Microsoft recomienda) y utiliza el sistema clásico de usuario y contraseña.
Así de fácil.

Windows 10 en camino.

Casi todos los que me conocéis sabéis lo poco amigo del software propietario que soy, y en particular lo poco que nunca me ha gustado Windows.
Después de aquella versión muy buena de Windows 2000, vino XP (para muchos la mejor, para mí un puro lavado de cara a Windows 2000), la nefasta Windows Vista, la decente Windows 7, el cagarro de Windows 8 y 8.1 (ojo, a nivel de estabilidad nada que reprochar, pero se olvidaron de los sobremesa por el camino), y ahora Windows 10.
Llevo unos días trasteando con la TP, y en general mis impresiones son muy gratas. La interfaz es una vuelta en ordenadores de sobremesa a Windows 7, pero mucho más limpia y con una estética mucho más moderna. Hereda las buenas sensaciones en cuanto a rendimiento de Windows 8. Y para ser una TP en general es estable, bastante estable, incluso el Proyecto Spartan que aun lo veo un poco "pobre" en cuanto a configuraciones pero al menos rápido. En fin, que creo que Microsoft apunta por buen camino.
A ver si de cara a la release final se aclaran con el tema del licenciamiento y de una vez adoptan el modelo Apple de no cobrar por el sistema operativo y sí por los servicios sobre el mismo. Sería un punto a su favor y un claro guiño de Nadella hacia el futuro.

2015/06/21

Configurar router ASUS ac66u (o ac68u) con Movistar FTTH + Movistar TV + multipantalla

Buenas.

** IMPORTANTE: ASUS está añadiendo esta funcionalidad de serie en sus routers con el perfil Movistar Triple VLAN (no Movistar a secas). No está aun implementado en todos los routers, pero imagino lo estará a no mucho tardar. Antes de empezar con el tutorial, te recomiendo descargues y pruebes con el último firmware de ASUS oficial. En el caso del rt-ac66u, por poner un caso, ya lo incorpora. El perfil se selecciona desde LAN -> IPTV.
Si por el contrario no lo soporta o prefieres usar el firmware de Rmerlin que incluye mejoras sobre el original de ASUS, continua con el tutorial.

Tras un viernes por la noche iluminado, finalmente conseguí configurar mi router ASUS RT-ac66u para sustituir completamente a "la cosa grande y negra" (como dice mi amigo Juan Luis), manteniendo la configuración de Movistar TV y sin necesidad de tocar el desco con IP fija ni mandangas similares.

Esto, además, permite tener multicliente de Movistar TV (varios descos, Raspberry Pi, VLC, etc), lo cual en todos los tutoriales que he visto hasta la fecha es imposible (me refiero a tutoriales para el Asus con firmware AsusWRT o derivados).

Requisitos:

* Router ASUS RT-AC66U (posiblemente este método es válido para otros modelos de Asus modernos, en particular el RT-AC68U, RT-N66U, RT-AC56U, RT-AC68U, RT-AC68P, RT-AC87, RT-AC3200.

* Firmware alternativo de RMerlin AsusWRT. Este firmare es sustituto del oficial de Asus pero mantiene prácticamente al 100% su funcionalidad o la expande, con la misma interfaz. Está basado precisamente en el firmware oficial de Asus pero con mejoras y se instala simplemente como una actualización del mismo. Volver de este firmware al oficial de Asus es trivial, y basta simplemente con actualizar desde la pantalla de administración al firmware de Asus nuevamente. Es estable, MUY ESTABLE, y tan sencillo de usar como el original, pero incluye mejoras en rendimiento y algunas modificaciones necesarias para poder configurar Movistar TV vía NAT.

* IP, máscara de red y gateway de la conexión de Movistar TV. La podéis obtener del desco original siguiente los otros tutoriales al respecto. Os recomiendo la aplicación de Noltari para a partir del backup de la configuración de vuestro router actual, os indique dicha IP.

A partir de aquí, el mecanismo es él siguiente:

1- Debemos configurar nuestro router en modalidad PPPoE para la conexión a internet en el menu WAN (adjunto pantallazo). No os preocupéis en exceso por el username y password. En realidad podéis poner lo que queráis porque hace ya muchos años que Movistar pasa de hacer uso del radius para la Auth, así como si queréis poner vuestro correo electrónico, os valdrá. OJO A LOS DNS: Tenéis que usar los de Movistar. Si usáis los de Google o cualquier otro, algún servicio puede que no os funcione.



2- Ahora accederemos a LAN - IPTV y configuraremos la VLAN de acceso a internet (VLAN6). No cedáis a la tentación de seleccionar Movistar TV como proveedor porque en ese caso perderéis el puerto 3 y 4 del switch y está pensado para funcionar como bridge, meter ahí el desco y no podréis tener la televisión en el resto de los aparatos de vuestra red, que es precisamente lo que buscamos. Dejad el proxy IGMP como "disabled" para evitar que arranque con la configuración por defecto de ASUS.



3- Finalmente, configuraremos la particion JFFS. Esta es una funcionalidad que no trae el firmware original de Asus y que sirve para ejecutar algunos scripts y comandos tras arrancar el router. Aquí es donde está la "magia" de todo esto y lo que más tiempo me llevó. Se accede desde el menú Administration - System. La primera vez que lo configuréis, debéis marcar la opción de Formatear partición en el siguiente reinicio. Esto solo la primera vez. Luego pasará estar desmarcado y no lo volveremos a tocar. Además deberéis activar el acceso SSH para poder acceder por consola al router.



Con esto tendremos ya el router ASUS sustituyendo a la "cosa grande y negra", y directamente conectado a la ONT de Movistar. Ahora viene la parte divertida y la que tiene ya algo de complicación. Necesitarás un cliente SSH (putty, MobaXterm o similar en Windows) o simplemente el ssh de siempre si accedes desde Linux o MAC. 4- Accedemos via SSH a nuestro router con el usuario y contraseña que hayamos definido al configurarlo. 5- Entramos en la carpeta /jffs/scripts y creamos un primer fichero llamado services-start con el siguiente contenido (para los no versados en Unix, los comandos a continuación)
cd /jffs/scripts
vi services-start
Puslamos ESC i (escape y luego i) para empezar a meter contenido, e insertamos las siguientes líneas TAL CUAL. Debéis sustituir la IP de Movistar TV, Máscara y Gateway por aquellas que hayáis conseguido de la web de Noltari.
Ojo: Ajustad este script comentando la línea del AC66u y descomentando la correspondiente a vuestro router (AC56u, AC67u o AC68u). Las he añadido en base a las aportaciones de los comentarios de diferentes compañeros y sus experiencias.
#!/bin/sh
MOVISTAR_TV_IP=10.64.XX.XX
MOVISTAR_TV_MASK=255.192.0.0
MOVISTAR_TV_GW=10.64.0.1
# Configuramos switch para Movistar TV (VLAN2 tagged en WAN y router interno para el AC66U. En otros modelo cambiar por la correspondiente)
robocfg vlan 2 ports "0t 8t"
# AC66u: robocfg vlan 2 ports "0t 8t"
# AC68u: robocfg vlan 2 ports "0t 5t"
# AC67u: robocfg vlan 2 ports "0t 7t"
# AC56u: robocfg vlan 2 ports "4t 5t"

# Añadimos VLAN2 en puerto WAN
vconfig add eth0 2
# Asigamos IP a VLAN del router
ifconfig vlan2 $MOVISTAR_TV_IP netmask $MOVISTAR_TV_MASK up
# Añadimos rutas Movistar TV
ip route add to 172.26.0.0/16 via $MOVISTAR_TV_GW
ip route add to 172.23.0.0/16 via $MOVISTAR_TV_GW
sleep 30
/usr/sbin/igmpproxy /jffs/configs/igmpproxy.conf


Para guardar los cambios, pulsaremos consecutivalente ESC, :wq y finalmente INTRO (escape, dos pultos, w, q, e INTRO en dicho orden). Volveremos a la pantalla inicial de consola.




Repetiremos los mismos pasos con dos scripts más: firewall-start y nat-start. Los contenidos han de ser los siguientes:

Para firewall-start:

#!/bin/sh
# Habilitamos firewall
iptables -I INPUT -p igmp -i vlan2 -d 224.0.0.0/4 -j ACCEPT
iptables -I INPUT -p udp -m udp -i vlan2 -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -p igmp -i vlan2 -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -p udp -i vlan2 -m udp -d 224.0.0.0/4 -j ACCEPT
iptables -I FORWARD -o vlan2 -j ACCEPT
#Deshabilitamos filtro de IGMP en vlan2
/bin/echo 0 > /proc/sys/net/ipv4/conf/vlan2/rp_filter
/bin/echo 0 > /proc/sys/net/ipv4/conf/br0/rp_filter

Para nat-start:
#!/bin/sh
# Habilitamos NAT en firewall
iptables -t nat -I POSTROUTING -o vlan2 -j MASQUERADE
#Deshabilitamos filtro de IGMP en vlan2
/bin/echo 0 > /proc/sys/net/ipv4/conf/vlan2/rp_filter
/bin/echo 0 > /proc/sys/net/ipv4/conf/br0/rp_filter

Una vez creados los tres scripts, deberemos hacerlos ejecutables. Para ello:
cd /jffs/scripts
chmod a+x *

Ahora iremos a la carpeta de configuraciones para configurar el igmpproxy, que es el daemon que nos permite retransmitir multicast a nuestra red.
cd /jffs/configs
vi igmpproxy.conf

Puslamos ESC i (escape y luego i) para empezar a meter contenido, e insertamos las siguientes líneas TAL CUAL.

quickleave
phyint vlan2 upstream ratelimit 0 threshold 1
altnet 172.26.0.0/16;        
altnet 172.23.0.0/16;
phyint br0 downstream ratelimit 0 threshold 1

Para guardar los cambios, pulsaremos consecutivamente ESC, :wq y finalmente INTRO (escape, dos pultos, w, q, e INTRO en dicho orden). Volveremos a la pantalla inicial de consola.


Con esto ya tendremos completamente configurado el router para funcionar con Movistar TV desde cualquier dispositivo de nuestra red interna. Esta configuración se aplicará automáticamente siempre que se reinicie el router, pero podemos probarla antes ejecutando manualmente los tres scripts.

cd /jffs/scripts
./services-start
./firewall-start
./nat-start
Pruebas:

Haced ping 172.26.23.3 desde el router. Debe responder. Esto implica que services-start está funcionando.
Haced ping 172.26.23.3 desde un ordenador de la red. Debe responder. Esto implica que firewall-start y nat-start están funcionando.
Nota: desde hace un tiempo, 172.26.23.3  ya no responde a ping. Recomiendo hacer en su lugar un traceroute. Si hay respuesta desde cualquier 10.X.X.X, está enrutando correctamente.
Windows: tracert -d 172.26.23.3
Linux: traceroute -In 172.26.23.3

Conectar desco de Movistar TV. Debe funcionar. Si no funciona, el proxy IGMP no está funcionando.

NOTA: En caso de actualizar el firmware del router, estos scripts se borrarán, por lo que habrá que volver a añadirlos. No siempre es asi, pero tenedlo en cuenta.

NOTA2: Si tenéis activo en el control parental del router el filtrado por DNS, no os funcionarán las funciones avanzadas del desco (grabar, etc), porque los DNSs de los filtros no tienen esas URLs disponibles. Añadid una excepción para que el router de Movistar TV no tenga filtro parental.
Tras... ¿CINCO AÑOS?? Cielos, ¡cómo pasa el tiempo!, vuelvo a añadir alguna entrada a mi abandonado blog. La verdad es que tampoco es que pueda decir que ahora tenga más tiempo en le pasado. Nada más lejos de la realidad. Y por supuesto en este tiempo han sucedido muchas cosas que han apartado mi atención de estos temas tan mundanos y me han obligado a centrarme más en el día a día... Desde el punto de vista laboral, tal vez lo más relevante es que a finales de 2014, y muy a mi pesar, abandoné "mi empresa de toda la vida", VectorSF (ahora Vector ITC group o como quiera que lo llamen) para comenzar un proyecto totalmente nuevo y apasionante. Nada que ver con lo que hasta ahora había hecho. Vuelta a los orígenes, a una startup, a diseñar, investigar, pensar, imaginar... Hacía muchos años que no me metía tan de lleno en un día a día tan alejado de las tareas, en muchos casos rutinarias y aburridas(informes de seguimiento, presupuestos, reuniones, planes, certificaciones de calidad, politiqueos, cuchilladas traperas, etc) con las que tuve que lidiar estos últimos años. ¿Y que decir sobre PlayGiga? Pues que estamos construyendo DESDE CERO una plataforma de Cloud Gaming, o streaming de juegos desde la nube. Básicamente, para los no versados, consiste en ejecutar los actuals juegos de PC en un sistema remote (servidores muy potentes) y, en tiempo real, comprimir la imágen y enviarla hasta un visualizador que puede ser un PC, un tablet, un smartphone...un STB Android, el desco de ver la TV de tu casa... para que desde este ultimo se pueda tomar control del mismo y jugar en remote sin necesidad de tener un equipo potente ni instalar juegos, ni tener que ir a la tienda a comprar un DVD ni descargar desde Steam el programa de turno. Así, en corto. Pero sobre esto hay muuuucho que escribir que me podría llevar entradas y más entradas, además de violar mi NDA. :-)

2010/10/18

Zimbra 6.X. La actualizción más sencilla.

Este fin de semana finalmente me animé a actualizar a Zimbra 6.x
A pesar de que esta release llevaba meses en el mercado, y e igualmente a pesar de que soy un gran forofo de Zimbra y siempre suelo estar a la última o a lo sumo una o dos "minor releases" por detrás, esta vez me lo tomé con mucha más calma.
Por un lado, la migración a Zimbra 6.0 desde 5.5 nos dio muchos problemas en el entorno de laboratorio cuando salió la 6.0.1, lo cual nos hizo replantearnos un upgrade tempranero.
Por otro lado el paso a 6.0 iba con la sutil sugerencia por parte de Zimbra de que la 6.0 será la última versión soportada sobre Red Hat 4.x, sistema operativo que utilizamos para nuestro sistema de correo desde que empezamos con la versión 3.5 de Zimbra.
Así pues, mi idea original pasaba por hacer un upgrade "in-place" a Red Hat 5.X para posteriormente retomar la actualización de Zimbra. No obstante, un upgrade del sistema operativo implica un reinicio total de la máquina, el uso de DVDs (ciertamente, RedHat en este aspecto hace años que debería haberse puesto las pilas) y a fin de cuentas presencia física en la oficina, en horarios intempestivos, y sin realmente hacer mucho (solo mirar y cruzar los dedos).
Posteriormente opté por que tal vez fuera mejor opción aprovechar todo de una vez, pasar a una distro seria para el tema de actualizaciones (Ubuntu 10.04 LTS es la precandidata en este caso) y de paso acometer esa virtualización que llevo meses planeando. Lamentablemente este proceso lleva igualmente mucho tiempo, dado que el manual "oficioso" de zimbra implica un full backup & restore, el cual lleva casi 12 horas... too much time...
Así que finalmente me he decantado por un upgrade de zimbra "a la exchange", esto es, montando un segundo servidor en un pool y finalmente moviendo los buzones del servidor antiguo al nuevo.
Pero para ello, ambos servidores de zimbra han de ir al mismo nivel de revisión. Y dado que es absurdo instalar una 5.0.23 para luego actualizar a 6.0.8, últimas versiones disponibles a día de hoy para la 5.x y 6.x, opté por actualizar primero la instalación existente, montar posteriormente nuestro nuevo servidor, y migrar cuando haya tiempo y ganas de pasar un poco de tensión.

He de reconocer que la actualización desde la 5.0.23 a la 6.0.8 ha sido fabulosa. Si con las pruebas entre la 5.0.18 y la 6.0.1 las pasamos canutas, en esta ocasión no hubo problema alguno. Ni en el entorno de laboratorio ni en el entorno real.
La operación duró 30 minutos, durante los cuales tuve tiempo para portar los cambios menores que hacemos a Zimbra para adaptarlo a nuestras necesidades que son básicamente un skin propio con logos de la compañía, cambiar el corrector ortográfico al español, y ajustes al sistema anti-spam.
Una vez terminado el upgrade, el sistema se ha levantado a la primera sin un solo fallo. Se le nota más ligero, dado que he aprovechado para activar memcached y darle un poco de vidilla a la base de datos. Además el paso a Java 1.6.0 también se ha notado bastante.

Entre las novedades que son muchas pero no destacan por ser especialmente espectaculares, sobresale la adición de acuses de recibo desde la interfaz web, la nueva gestión de ACLs para administración delegada del servidor, un puñetero bug para la sincronización de Zimbra Mobile en dispositivos Android que hacía que no se pudieran enviar correos con el cliente nativo de HTC, un nuevo sistema de estadísticas mucho más ligero (lamentablemente perdemos tres años de estadísticas con el cambio), mejoras en la interfaz web (estándar, extendida y móvil), mejoras en el conector de Outlook para gestión de permisos, y muchos, muchos bugs solucionados.
Se echa en falta mi eterna petición de "firma corporativa" o "disclaimer corporativo", lo cual odio pero es motivo de queja constante por parte de algún departamento de la empresa.

Ah, la migración del sistema operativo a Ubuntu LTS 10.04 para más adelante, dado que el soporte para 10.04 LTS por parte de Zimbra todavía está en beta. ;)

Una larga temporada apagado pero seguimos mejorando.

En los últimos meses apenas he escrito entradas en el blog. Y es que ciertamente cuando uno es padre por segunda vez le queda poco tiempo libre que dedicar a este tipo de historias. Obviamente, en el trabajo hemos seguido adelante con mogollón de proyectos interesantes que podrían haber dado para escribir varias entradas. Pero como tampoco ahora mismo tengo tiempo, me limitaré a enumerar las cosas más importantes durante todo este tiempo:

- Proyecto de virtualización: Hemos acometido un importante proyecto de virtualización de todo el entorno de producción. En el mes de Marzo pusimos a funcionar un entorno Vmware vSphere 4 sobre micros Intel Xeon 55XX (Nehalem) que nos ha facilitado y mucho la vida.
El sistema se compone de dos servidores Dell Poweredege R610 con 32GB de memoria RAM, dos micros quad core cada uno, y una cabina Dell Equalogic PS4000 con unos 4TB de espacio de almacenamiento en RAID10. Para completar, un Dell Poweredge R410 con vmware vCenter como sistema de control centralizado.
Durante este tiempo se han ido consolidando en este entorno los diferentes servidores de producción: herramientas de gestión de proyectos (gForge), gestión de facturación, contabilidad, intranet, servidor de VoIP (de backup), controlador de dominio SAMBA/CIFS, parte de la web pública, Team Foundation Server, proxies reversos, servidor de Bussiness Inteligence (Pentaho) y multitud de servicios accesorios que se repartían por un elenco de servidores.
A día de hoy únicamente nos queda por virtualizar el servidor de correo electrónico (Zimbra) y el servidor de gestor documental (Xerox Docushare) los cuales han sido pospuestos por los requerimientos de espacio que implican que una conversión "physical to virtual" llevaría demasiado tiempo. En algún momento se abordará.
El sistema ha sido recientemente actualizado a vSphere 4.1, que entre otras mejoras aporta memoria comprimida en las distintas máquinas virtuales, lo cual redunda en una óptima gestión de los recursos. En nuestro caso el uso de CPU no es el problema, así que el sistema no ha notado merma alguna en cuanto a rendimiento.
En lo referente precisamente a este último aspecto, la respuesta a la pregunta que muchos se hacen es NO, NO HEMOS NOTADO MERMA ALGUNA EN EL RENDIMIENTO AL VIRTUALIZAR. Es más, el rendimiento es muy superior a lo existente, por cuanto que el sistema de almacenamiento en SAN y la potencia de las máquinas físicas que componen el entorno es muy superior al hardware que reemplaza.

- Nuevo sistema de VPNs. Hemos mejorado el sistema de VPNs reemplazando un viejo Cisco VPN Concentrator 3000 por un flamante Cisco ASA5510. Los problemas recurrentes con la estabilidad de las conexiones IPSec nos forzaron a reemplazar el equipo original.

- Actualización a Zimbra 6.

- Incremento de la capacidad de nuestras líneas de comunicaciones con los diferentes centros y creación de VPNs especializadas con diferenciación por servicio (VPN, red interna, red de cliente).

2010/01/12

Red y Libertad

Los internautas consideramos imprescindible la retirada de la disposición final primera de la Ley de Economía Sostenible por los siguientes motivos:

1) Viola los derechos constitucionales en los que se ha de basar un estado democrático en especial la presunción de inocencia, libertad de expresión, privacidad, inviolabilidad domiciliaria, tutela judicial efectiva, libertad de mercado, protección de consumidoras y consumidores, entre otros.

2) Genera para la Internet un estado de excepción en el cual la ciudadanía será tratada mediante procedimientos administrativos sumarísimos reservados por la Audiencia Nacional a narcotraficantes y terroristas.

3) Establece un procedimiento punitivo “a la carta” para casos en los que los tribunales ya han manifestado que no constituían delito, implicando incluso la necesidad de modificar al menos 4 leyes, una de ellas orgánica. Esto conlleva un cambio radical en el sistema jurídico y una fuente de inseguridad para el sector de las TIC (Tecnología de la Información y la Comunicación). Recordamos, en este sentido, que el intercambio de conocimiento y cultura en la red es un motor económico importante para salir de la crisis como se ha demostrado ampliamente.

4) Los mecanismos preventivos urgentes de los que dispone la ley y la judicatura son para proteger a toda ciudadanía frente a riesgos tan graves como los que afectan a la salud pública. El gobierno pretende utilizar estos mismos mecanismos de protección global para beneficiar intereses particulares frente a la ciudadanía. Además la normativa introducirá el concepto de “lucro indirecto”, es decir: a mí me pueden cerrar el blog porque “promociono” a uno que “promociona” a otro que vincula a un tercero que hace negocios presuntamente ilícitos.

5) Recordamos que la propiedad intelectual no es un derecho fundamental contrariamente a las declaraciones del Ministro de Justicia, Francisco Caamaño. Lo que es un derecho fundamental es el derecho a la producción literaria y artística.

6) De acuerdo con las declaraciones de la Ministra de Cultura, esta disposición se utilizará exclusivamente para cerrar 200 webs que presuntamente están atentando contra los derechos de autor. Entendemos que si éste es el objetivo de la disposición, no es necesaria, ya que con la legislación actual existen procedimientos que permiten actuar contra webs, incluso con medidas cautelares, cuando presuntamente se esté incumpliendo la legalidad. Por lo que no queda sino recelar de las verdaderas intenciones que la motivan ya que lo único que añade a la legislación actual es el hecho de dejar la ciudadanía en una situación de grave indefensión jurídica en el entorno digital.

7) Finalmente consideramos que la propuesta del gobierno no sólo es un despilfarro de recursos sino que será absolutamente ineficaz en sus presuntos propósitos y deja patente la absoluta incapacidad por parte del ejecutivo de entender los tiempos y motores de la Era Digital.

2010/01/02

Papá por segunda vez

Ayer día 1, a las 8:50 de la mañana nació mi segundo peque, Diego, con un peso de 2.750kg y 50 centímetros de "altura".
Es un bichín muy salao con carita de pillo que está todo el día durmiendo y acurrucado con su mami.
A ver si nos sale al menos la mitad de bueno que su hermano mayor, David. ;-D

2009/12/28

Añadir filtro de ADs a Google Chrome / Chromium

Con la llegada de las extensiones, llega igualmente la posibilidad de bloquear ADs de forma sencilla (antes había extensiones "de andar por casa" que no funcionaban demasiado bien).
En principio instalando AdBlock para Google Chrome tendremos ya disponible la extensión, pero habrá que configurarla.
Podemos activar easylist (altamente recomendado)... pero echamos en falta nuestros filtros preferidos que son los de "Filtros Nauscópicos", especializados en webs en habla castellana.

Para añadirlos solo tenemos que hacer lo siguiente.
Editamos el fichero options.html ubicado en nuestro home, dentro de
/.config/chromium/Default/Extensions/gighmmpiobklfepjocnamgkkbiglidom/1.2.22
e inmediatamente de easylist Romanian añadimos lo siguiente:

"easylist_spanish": {
url: "http://s3.amazonaws.com/lcp/maty/myfiles/AdBlock-Nauscopio-maty.txt",
label: " - addittional Spanish filters"
},

... quedando la cosa tal que así...

"easylist_romanian": {
url: "http://www.picpoc.ro/menetzrolist.txt",
label: " - additional Romanian filters"
},
"easylist_spanish": {
url: "http://s3.amazonaws.com/lcp/maty/myfiles/AdBlock-Nauscopio-maty.txt",
label: " - addittional Spanish filters"
},
"adblock_chinalist": {
url:"http://adblock-chinalist.googlecode.com/svn/trunk/adblock.txt",




Por fin extensiones para Google Chrome / Chromium

Finalmente Google ya tiene disponible en su repositorio la tan añorada biblioteca de extensiones que tango echamos de menos los usuarios de Firefox y razón por la cual no nos hemos pasado a usar Google Chrome / Chromium definitivamente (la velocidad es sustancialmente superior a Firefox 3.5).
Es muy sencillo... simplemente hemos de ir al icono de Herramientas / Extensiones y tendremos a nuestra disposición todas las extensiones publicadas hasta la fecha, entre ellas la integración con Gmail, Google Wave, Google Reader, Facebook, ebay, etc, etc... además de mi añorado Adblock.
Punto para Google (otro más).

2009/09/17

Primeras impresiones sobre Android

Esta semana he conseguido de nuestro proveedor habitual un teléfono HTC Hero para poder echarle un vistazo en serio a Android. Este teléfono viene con un Android 1.5, a la espera de Android 2.0 que se espera para finales de año.
¿Impresiones? Pues ciertamente IMPRESIONANTE. Hasta la fecha había hecho uso de smartphones basados en Windows Mobile 5 y 6, y ciertamente la diferencia con respecto a Android es espectacular. Cierto es que los operadores tienden a sobrecargar de aplicaciones absurdas y widgets inútiles sus smartphones, y en el caso de los HTC Diamond, por poner un caso, es realmente terrible. Pero incluso cambiando la ROM por una tuneada (que va mucho mejor que la original), al lado de este HTC Hero con Android palidecen.
Por un lado el rendimiento. No tiene absolutamente nada que ver. La fluidez de la interfaz, la velocidad de respuesta. Es otro mundo. Nada que enviar a los iPhone.
Por otro lado la interfaz. Clara, usable y muy lograda. Y eso que todavía pueden pulirlo más.

En cuanto al elenco de aplicaciones, a pesar de que el marketplace de Android todavía está lejos de la AppStore, las aplicaciones que empiezan a aparecer son muy curiosas. Lectores de código de barras, compresores, terminales de consola, etc, etc. Y todo lo que viene detrás.

Sobre trasteo del teléfono, he aprovechado para cambiarle la RADIO (firmware para GPS, 3G, batería, etc) y actualizar a una ROM más moderna de la propia HTC. Pero realmente el SDK de Android te permite hacer cualquier cosa con el teléfono, pudiendo logarte por consola y trabajar contra el linux que subyace como si de tu propio ordenador se tratara.

En fin, que la experiencia ha sido gratificante y por fin me libro de los ladrillos basados en Windows Mobile. No sé cómo será la versión 6.5... pero Microsoft como siga así lo tiene crudo.

Ah, como no todo puede ser bueno, la aplicación de correo que trae este HTC Hero deja un poco que desear. La parte de sincronización con Exchange funciona muy bien, pero tiene una gran pega y es que no sincroniza automáticamente las carpetas de correo. Esto en mi caso es una gran, GRAN pega. Esperemos que sea corregido pronto (la aplicación no es de Android, si no una aplicación externa proporcionada por la propia HTC).

2009/08/10

Rendimiento en Drupal (II)

Sobre el tema que ocupaba en el anterior post, continuamos.
El site se diseñó sobre Drupal 5.x, el cual aunque tiene importantes mejoras de rendimiento sobre las versiones 4.x, no llega a lo que puede dar de sí 6.x o incluso la 7.x, actualmente en desarrollo.
Es por ello que tuvimos que implementar una serie de mecanismos para reducir el impacto sobre el hardware disponible. Estos fueron los mecanismos implementados.

- Uso intensivo de memcache. Memcache es un sistema de cachés en RAM, como su nombre indica. Se utilizó para evitar queries masivas sobre la base de datos (mysql). Drupal utiliza la base de datos para prácticamente todo. El ir añadiendo módulos y bloques hace que este uso sea tremendamente intensivo. Esto puede llegar a crear un gran problema. Memcache lo que hace es cachear las queries más habituales en una gran tabla hash, lo que reduce a la mínima expresión (updates e inserts) los accesos a BBDD. El impacto de memcache sobre el site fue brutal, especialmente a nivel de BBDD.
- Uso de las cachés internas de Drupal. Drupal 5.x tiene un sistema propio de cachés. Genera un expires en las páginas, de forma que el usuario que navegue no las recargue cada vez que pase por el site. En 5.x este sistema se limita a eso y poco más. En la versión 6.x se cachea por bloque, lo que produce un importante incremento del rendimiento, pero no así en la 5.x. Además, cada vez que un usuario registrado accede, se limpia la caché. Una lástima. Existen algunos módulos interesantes, como "Advanced Cache" (advcache) que mitiga parte del problema, o Block Cache que fue incluído en Drupal 6.x como caché de bloques. En nuestro caso, utilizamos una versión desarrollada a medida y más flexible de block cache para reducir la carga de site, la cual resultó muy beneficiosa.
- Uso de un proxy reverso. En este caso, squid 2.6. Un sistema de caché reversa puede salvar el pescuezo a cualquiera. Al contrario que la caché interna de Drupal que cachea principalmente objetos, el proxy reverso cachea las páginas renderizadas tal cual, así como los gráficos, css, javascript, etc. Si bien estos últimos apenas suponen carga para el servidor web, sí que implican el uso de procesos, escrituras del log, etc, etc. El cacheo de páginas renderizadas libera realmente al site de producción. En nuestro caso, modificamos drupal para generar dos tipos de URL. Una URL genérica para usuarios anónimos, y una URL con un parámetro para usuarios logados, de forma que el sistema de caché reversa cacheara todos los accesos anónimos (segun drupal indicara en su expires) y liberara de los mismos al servidor. Los usuarios logados seguían cargando (y mucho) el site, pero al menos crawlers, usuarios ocasionales (la gran mayoría) ya no lo hacían.
- PHP eaccelerator. Es un acelerador de PHP. Básicamente lo que hace es almacenar el código PHP ya compilado para que el sistema no tenga que volver a interpretarlo cada vez que una página es invocada. El rendimiento del código se incrementa entre x3 y x5. Hay otros sistemas como APC o Xcache que tienen un impacto similar.
- En MySQL, cambio de MyISAM a InnoDB. Soy poco fan de MySQL y siempre me ha parecido que postgres es un sistema de BBDD mucho más robusto, fiable y serio. Pero es lo que hay. Como estábamos trabajando con MySQL 5, teníamos posibilidad de usar InnoDB en lugar de MyISAM como sistema de almacenaniento. Aunque sobre el papel MyISAM es más rápido a la hora de realizar consultas por su mayor simplicidad, InnoDB es mucho más avanzado por cuanto que no bloquea tablas completas en consultas o updates. En nuestro caso, además, prácticamente no usamos las consultas porque memcache las sirve casi todas, y experimentamos bloqueos por queries un tanto "rudas" contra la BBDD que en algunas ocasiones colgaron el sistema. El paso a InnoDB solucionó este problema. Modificamos algunos puntos del código para eliminar bloqueos explícitos que realiza Drupal 5, pensado para MyISAM, en aras de mejorar el rendimiento, aunque como supondréis mucho, poco incrementó dicho rendimiento habida cuenta de que (otra vez) casi todo se lo come memcache.

Adicionalmente a estas medidas, y como red de seguridad, sugerimos una serie de cambios al proveedor (sí, lo sé, esto no debería haber sucedido jamás, pero el mundo de los sysadmins está lleno de manías y no es fácil decirle a uno lo que tiene que hacer. A todos nos sienta mal que nos lo digan).
- Limitar el número de procesos de Apache (para evitar que el servidor se sature). Mejor hacer esperar al usuario unos segundos encolado, a hacerle esperar para siempre porque nuestro servidor se ha ido a freir monas. Aquí lo ideal es realizar un estudio a grosso modo entre la memoria utilizada por proceso, la memoria de la máquina y la potencia de CPU de la máquina. Esto es, si cada proceso viene a tomar 100MB, tenemos una máquina con 2GB de memoria y un procesador doble núcleo, no parece lógico coger más a allá de 15 procesos en Apache para no quedarnos sin memoria... o sin CPU, si la aplicación es muy intensiva.
- Limitar el número de conexiones a BBDD. Tanto a nivel de gestor como a nivel de php. En este caso, si como máximo vamos a tener 15 procesos, no tiene sentido dar más de 15 conexiones a BBDD. Como siempre, mejor "encolar" que ser "enculados" (no tiene gracia, pero bueno).

Con estos cambios más algunos a nivel de código que realizaron los desarrolladores (desde la parte de administración IT podemos hacer muchas cosas para mitigar, pero a fin de cuentas muchos de los problemas, si no casi todos -que no ha sido en este caso-, se solucionan desde la pantalla del programador) conseguimos que lo que fue una abrupta salida en producción se convirtiera dos días después solo en un problema, y al cabo de dos semanas en un problemilla.

Todavía hay muchas mejoras que se pueden hacer, sobre todo a nivel de cachés de Drupal y optimización de algunos componentes internos, pero a nivel de IT poco más se puede hacer. Y si alguien tiene alguna sugerencia que me la diga, que estoy completamente abierto a nuevos planteamientos.

Rendimiento en Drupal (I)

Recientemente hemos tenido una incidencia en un proyecto basado en Drupal debido a un problema grave de rendimiento. El site es un portal público con un gran número de accesos, y obviamente, al salir a producción emergió este problema.
Normalmente este tipo de situaciones no debería darse si se dimensionan unos benchmarks en condiciones, pero lamentablemente no fue este el caso. Un error muy común a la hora de definir benchmarks es no plantearlos adecuadamente.
Por un lado, hemos de diseñar unos casos lógicos de navegación. De poco basta definir una prueba de carga contra una home si luego la mayor parte de los usuarios se centran en dos o tres páginas concretas. Es importante, así pues, contar con una estadística de accesos al portal previo (caso de una actualización) o con una estimación lo más ajustada posible en caso de una nueva salida. Para este último caso se puede contar con un grupo de usuarios de control que, durante una temporada, hagan uso del portal para así generar un patrón de uso lo más realista posible.
Por otro lado, a la hora de diseñar los patrones de navegación es importante realizar varios patrones diferentes, incluir páginas diferentes en cada uno de esos patrones e incrementar lógicamente el número de hits sobre las páginas que van a ser accedidas con mayor frecuencia.
Todo esto y mucho más se puede realizar perfectamente con Jakarta JMeter.
Finalmente, y para el caso que nos ocupa, en el dimensionamiento de las pruebas, y este fue el GRAN ERROR, no se tuvo en cuenta que no es lo mismo un usuario anónimo que un usuario registrado. Estos últimos, por las características inherentes de Drupal, hacen que se haga flush del sistema de cachés por toda página sobre la que navegas.
El resultado es que aunque los test de carga daban un portal que podría soportar lo que fuera, a la hora de la verdad fue todo lo contrario.
En resúmen, es muy importante plantear y diseñar un sistema de pruebas de carga lo más realista posible a la hora de sacar un site a producción, especialmente cuando son sites sobre los que se va a tener una gran concurrencia.

Chrome en Linux

Hace ya algunos meses que las alphas de Chromium compilan en Linux y más que menos funcionan. Son realmente rápidas, pero además de incluir algunos bugs y funcionalidad sin terminar, no soportan plugins como flash, java y otros.
Si ya de por sí en Linux solemos tener problemas con algunos plugins creados en exclusiva para Windows, que encima los más comunes tampoco se soporten en Chromium hacen que el navegador quede relegado a pruebas o a sites donde queremos velocidad sin importarnos los dibujitos.
Pero esto ha cambiado. Desde hace muy poco, ya podemos igualmente hacer funcionar los plugins sobre Chromium, eso sí, añadiendo algo de inestabilidad al sistema.
Para ello basta con ejecutar Chromium desde línea de comandos:

chromium-browser --enable-plugins

Y automáticamente todo plugin de firefox estará disponible en Chromium (con sus ventajas y desventajas).
Para usuarios de Ubuntu y derivados, tenéis las builds disponibles en lauchpad como de costumbre.


2009/07/19

Virtualbox o VMware (player)

Virtualizar es algo realmente útil, especialmente para aquellos como yo que nos encanta trastear y nos vemos en la obligación en muchas ocasiones de utilizar software que no está preparado para funcionar en nuestro sistema operativo favorito (en mi caso, Linux).
Pero una vez puestos, hay que seleccionar el software de virtualización preferente. En mi caso, tras años de trabajar con VMWare, me he encontrado con una grata sorpresa al probar por pura curiosidad VirtualBox 3 de Sun.
VMWare, de siempre, ha contado con su VMWare Server, el cual da unas grandes prestaciones y hasta la fecha me ha servido realmente bien. Con la llegada de la versión 2.0 decidieron abandonar definitivamente la interfaz cliente nativa y se centraron en una interfaz web, dejando por otro lado el producto VMware Client como hasta la fecha.
El problema de VMware server, ahora, es que al levantar un servidor web es bastante más pesado que antaño, y además, este cliente es mucho más lento. Además, para tomar control sobre la máquina nos vemos obligados a usar el Add-on de Vmware para firefox, el cual tiene la peculiaridad de no funcionar sobre FF 3.5, el cual vengo usando en versión beta y RC desde hace meses. En resúmen, VMware orientó su VMWare Server para servidores y su VMWare client (productos separados) para ejecuciones locales. El problema viene con que además, VMWare client no te permite crear virtuales y es incompatible el tenerlo funcionando con VMWare Server, de forma que has de instalar VMware server, crear tu máquina virtual, desinstalar, instalar VMware Client y seguir a partir de este punto. Además ya no podrás tocar dicha máquina salvo que modifiques el .vmx a mano. No podrás crear nuevos discos (vmdk), no tendrás aceleración 3D (no es que me importe pero bueno)... en resúmen, te encontrarás con un producto capado que, aunque para la mayor parte de los mortales es más que suficiente, te obliga a desinstalar e instalar el Server a la hora de crearte una nueva máquina virtual.
La alternativa es VMware Workstation, que te permite hacer todo esto en una única aplicación... pero... hay amigo... es de pago. Y no nos gusta pagar cuando hay alternativas gratuitas y mucho menos piratear que es de mala gente (los que usan Windows y tal) :)

Al probar Sun VirtualBox me encontré con un producto muy similar a VMware Workstation, con un magnífico rendimiento y una consola "nativa" que me permite crear máquinas virtuales, tocar opciones, ejecutar máquinas, parar, reanudar, pasar a pantalla completa, etc, etc al igual que VMware Server en sus versiones 1.X.
Lo único que no trae VirtualBox que si trae VMWare (client) es la posibilidad de lanzar aplicaciones "en ventana" de forma que puedas lanzar, por ejemplo, Office directamente como aplicación en lugar de como máquina al completo, aunque en realidad la máquina virtual se ejecuta al completo pero solo te muestra la aplicación que te interesa. Esto está muy bien para usuarios finales que quieran tener la "sensación" de que están operando una aplicación nativa, pero no deja de ser una curiosidad.
Por otro lado, virtualbox hasta la fecha se me ha revelado bastante más sólido que VMware Server, el cual me colgó en un par de ocasiones la máquina.

Lo dicho. Me he pasado a VirtualBox, si bien para entornos corporativos sigo jugando en la liga de VMware... aunque claro, ESX Server, nada que ver con los productos de "andar por casa" que son VMware client y VMware server.

2009/03/29

Actualizando a Debian 5 (lenny)

Hace poco que Lenny (Debian 5) vio finalmente la luz tras dos años de desarrollo.
Como siempre, nos dispusimos en mi empresa a abordar la a veces complicada y delicada tarea de migrar de una "major version" a la siguiente, y es que al igual que en el mundo Microsoft, en el mundo Linux los saltos hacia adelante nunca son sencillos.
Tras evaluar las posibles implicaciones de una actualización de esta magnitud, quedaron identificados como posibles principales fuentes de problemas los siguientes servicios: ldap, samba, openvpn y apache a través de php5. Como nota sobre esto último, decir que Debian 5 finalmente deja atrás el eterno php4 y solo trae soporte para php5. Debido a que muchas de nuestras aplicaciones en php nunca han sido testeadas en php5, lo hemos identificado como principal problema a resolver.
Hasta la fecha hemos actualizado todos los servidores de la DMZ, por ser los más expuestos, sin que hayamos encontrado ni un solo problema salvo el citado en php con los servicios que desde ellos se ofrecen: dns, smtp -via postfix-, proxy reverso (via apache) o servicio de páginas web, salvo una pequeña aplicación desarrollada in-house en la que encontramos un problema menor por los includes recursivos en php4 que fue rápidamente parcheada.
Dentro de la red interna, tampoco hemos tenido problemas con otros servicios críticos como puedan ser el dhcp en modo failover. Curiosamente el paso de samba 3.0.24 a samba 3.2 no ha tenido ni una sola complicación, y eso que usamos una configuración bastante complea con OpenLDAP como backend.
El principal problema que sí que hemos sufrido en nuestras carnes ha sido el paso de openldap 2.3 a opendap 2.4. Por motivos de compatibilidad hacia atrás (y un poco de vagancia) seguíamos trabajando con el eterno slurp. Y con Openldap 2.4 no funciona demasiado fino. Afortunadamente uno de mis chicos se puso manos a la obra y realizó los cambios para empezar a replicar con syncrepl, que por cierto funciona muchísimo mejor que slurp (realiza sincronizaciones completas desde cero) una vez solucionadas sus "peculiaridades".
Otros servicios como squid (proxy-cache), cvs y demás tampoco han dado el menor problema
Las bases de datos por ahora seguimos con postgresql-8.1, si bien debian5 ya no lo incluye y han pasado a postgres-8.3. Aquí el cambio es bastante delicado dado que postgres 8.3 si bien incluye potentes mejoras, también añade muchas restricciones a nivel de tipado en procedimientos almacenados o cambios profundos en los módulos de indexación textual (tsearch) por lo que la posible migración la abordaremos más adelante como proyecto independiente.
Ahora mismo nos centramos en los servidores que en breve actualizaremos, y que principalmente afectan a Gforge, subversion y el nodo principal de VPNs (openvpn). Con respecto a este último tenemos serias dudas debido al fix de la vulnerabilidad de las claves SSL en debian. Es posible que el nuevo daemon de VPN se niegue a usar dichos certificados, y esto nos podría generar el tener que rehacer todo el sistema. Es algo que habrá que abordar en algún momento.
En fin, si bien ya están actualizados cerca del 80% de los servidores bajo Debian 5, todavía nos queda un intenso 20% que iremos migrando en sucesivos días. Ya veremos con qué nos encontramos.

2009/03/23

Ubuntu Jaunty, primeras impresiones

Desde hace casi un mes estoy trabajando diariamente con Ubunty Jaunty.
¿Que por qué ando trasteando con una Alpha? Pues simplemente porque hice el canelo y cambié mi partición primaria a ext4, de forma que luego desde Intrepid no podía arrancar.
Y como ya no estoy para andar con recompilaciones de kernel cada dos por tres y demás, directamente decidí probar Jaunty.
¿Impresiones?
Ext4 se nota, y se nota bastante. Sobre todo en el arranque y luego en lo que es el uso del sistema operativo día a día. Va más fluído. No pensé que un cambio en un sistema de archivos pudiera notarse tanto, pero he de reconocer que esta vez así ha sido. Tiene alguna pega, como un puñetero bug que hace que con determinadas aplicaciones que no utilizan la llamada fsync puedas perder datos si apagas o reinicias sin haber esperado un ratito, pero afortunadamente no he sufrido este problema.
En cuanto al sistema en sí, han metido novedades en Gnome 2.26. Ahora las notificaciones salen en mensajes emergentes muy bonitos en la barra de programas. Muy interesante y mucho más usable.
La única pega es que sigo sufriendo los cuelgues cuando entra el screensaver y compiz está activo, pero tiene que ver más con el driver para X de la tarjeta intel que trae mi portátil que otra cosa. Es fácil de solucionar: fuera compiz y screensaver en negro... poco se pierde.
Teniendo en cuenta que vamos por la Alpha6?, creo que esta release de Ubuntu va a salir muy redonda y realmente va a merecer la pena. Además viene ya con Openoffice 3.0.1 de serie.

2009/02/24

A correr se ha dicho.

Este sábado 22 de Febrero, y para celebrar mis 33 años, me propuse correr mi primera media marathon...
Hasta la fecha he corrido muchas carreras de 10km, tipo San Silvestre y similar, con unos tiempos bastante aceptables (por debajo de los 45 minutos). Y dado que hace tiempo que no sufro "contratiempos" (tendinitis, sobrecargas y monerías por el estilo) decidí animarme a por los 21.1km de la media, con mucho miedo y muy tranquilito, eso sí.
Me fui con un buen amigo (Luisín) que suele ser compañero de este tipo de locuras, y allí nos plantamos, a las 10 de la mañana para correr la Media Marathon de la Latina, con un perfil complicado (muchas subidas y bajadas), muchas ganas, y un poco de acojone.
Al final terminé, mucho menos hecho polvo de lo que pensaba, enterito y sin que la rodilla llorara (se quejó una vez pero se quedó solo en eso) y con un tiempo más que digo, 1h 46 minutos....

Próxima parada: Media Marathon de Madrid.

P.D: Realmente llegué (221).

Casi dos años abandonado...

Bueno, tras dos años con el blog prácticamente abandonado vamos a ver si retomamos la sana costumbre de ir añadiendo algún articulillo aunque sea de vez en cuando.
La excusa que tengo es perfecta. No, no me he tomado un par de años sabáticos, más quisiera yo. La verdad es que tener un enano es una labor muy muy ardua que te deja muy poquito tiempo libre para otras muchas cosas. Y claro, hay que priorizar. Y el escribir articulillos suele ser de lo primero que se sacrifica.

Así pues, vamos a ver si nos volvemos a poner las pilas, porque la verdad es que en estos dos años han pasado muchas cosas, y empezamos a darle un poco más de vida al blog. :-)

2007/04/28

Google Apps

Tras una temporada aislado del mundo de la banda ancha (mi tarjeta 3G HSDPA ha cubierto las necesidades básicas, pero está limitada en cuanto a transferencia total y la subida es muy lenta), me vi obligado a llevarme mi pequeño barebone que hace las veces de servidor a la oficina.
Hasta aquí todo hubiera ido perfecto, de no ser porque además tengo un problema en el USB por una sobretensión jugueteando con discos duros externos que hizo que de vez en cuando se me cuelgue.
El caso es que es un coñazo tener que ir a resetearlo a la oficina, y no siempre estoy allí. Normalmente se cuelga en el momento más inoportuno (para los interesados, es una debian sarge, pero el problema es hardware, no software ;-) ).
Finalmente, tras recordar que Google tenía un servicio para dar correo y web a empresas tiempo atrás, hoy mismo me he pasado a ver si por fin era de libre acceso... y... ¡¡ bingo !!
El servicio se llama Google Apps y está disponible en http://www.google.com/a/

Entre otras cosas, te dan:
- Google Mail con tu dominio, con capacidad hasta 2GB y hasta 50 cuentas de correo.
- Listas de correo para tu dominio.
- Espacio Web (100MB)
- Agenda (google calendar)
- Chat
- Búsqueda

Lo único que hay que hacer es activar el servicio, y apuntar tus registros MX de tu DNS (para el correo) o CNAME (para el web) a los servidores que se te indican.
En apenas unos minutos ya tenía plenamente operativo el traspaso.

He ganado en seguridad, en comodidad y sobre todo en interfaz. La interfaz de Gmail es soberbia, y tenerla en mi propio correo es un plus a valorar.
Por otro lado, no se pierde la posibilidad de seguir usando tu programa de correo de toda la vida (Thunderbird, Evolution o los Outlook de M$) dado que puedes habilitar el acceso por POP3 (en un futuro, también por IMAP).

Resumiendo, un servicio que recomiendo a cualquiera interesado en tener su dominio y sus cuentas completamente gestionadas, sin pagar un duro, y con una funcionalidad de campeón.

2007/04/20

¡ Ya soy papá !

El 19 de Abril a las 18:28 nació el pequeño David. Un bicho de niño, pero muy guapo.
Están siendo unos días duros (lo que cuesta tener a gusto a un canijo) pero muy divertidos y llenos de nuevas experiencias. ;-)

2007/02/11

Toyota Prius 2006

Este año he cambiado de coche. Tras siete años con un Renault Megane 1.9 dti, he pasado a un Toyota Prius 2006.
Para los que no conozcan este vehículo solo comentar que es uno de los pocos vehículos híbridos (motor gasolina y eléctrico) que actualmente se encuentran en el mercado, junto con algún Lexus y un Honda Civic.
El coche es una pequeña maravilla tecnológica. Cuenta con un silencioso motor gasolina de 1.5l y 78 CV de potencia y un eléctrico de 68 CV, ambos funcionando en serie y ayudándose mutuamente según las circunstancias.
El resultado es seguramente el coche más silencioso del mercado, y uno de los mas económicos a la hora de gastar combustible, el que más dentro de ciudad, y el que menos emisiones de CO2 (tan solo 104gr por kilómetro) emite a la atmósfera.
Es un coche suave de conducir, que no se parece en nada a ningún otro que haya llevado hasta la fecha. A bajas velocidades (por debajo de los 30km/h) y si no se le pisa, va completamente en eléctrico. A partir de esa velocidad entra el gasolina complementado con el eléctrico según las circunstancias. Apenas hay vibraciones y solo a partir de los 80-100km/h el coche empieza a sonar algo. Evidentemente en las subidas siempre va a sonar más, y en las cuestas abajo directamente apaga el motor y solo recupera energía.
Lleva un cambio automático llamado CVT de infinitas posiciones, por lo que nunca se nota un "cambio" de marcha. Es como un videojuego. El se las apaña solo, sin cambios en la aceleración por cambio de marcha.
La batería, que no da para mucho en modo 100% eléctrico (unos 2km), se recarga mediante el exceso de energía producido por el gasolina en llano, o mediante la inercia al soltar el acelerador o mediante la frenada regenerativa. Nunca se agota, dado que antes de que eso suceda él se encargará de encender el gasolina para que ello no suceda.
En cuanto a los consumos, tras practicar un poco con las técnicas de conducción, estoy en los 4.8l/100 en combinado, esto es, carretera, autopista... y atasco, mucho atasco en la M40.
En fin, que es un coche que realmente merece la pena y que realmente me convenció desde la primera prueba que hice en su momento, y más ahora que me lo he comprado. ;)

Pero como todo, tiene sus peguillas que no dejan de hacer que lo califique con un rotundo 9.5, a saber:
- Luces. Le falta potencia (luces de xenón, desde luego).
- Automatismo en luces y limpiaparabrisas. Con todo lo que trae ya podrían haberlo puesto.
- Batería. Un poco más... 10 ó 20 km de autonomía en modo 100% eléctrico y hubiera sido una pasada. Y un enchufe para recargar le hubiera puesto la guinda. ;) En cualquier caso hay un grupo de americanos locos que ya están ello...
- Aviso del freno de mano. Como lo tiene en el pie izquierdo me olvido de que existe... pero no me pita. Y eso que me pita por todo (marcha atrás, si no llevas cinturón, etc).
- Que vuele... pero eso es otra historia. ;-)

Dejo un par de links al repecto:
* Un review en km77 muy recomendable.
* Los foros de usuarios de Prius en España.
* El link al coche en la web de Toyota.
* Unos consejos de conducción para exprimir al máximo cada litro de gasolina.

2007/01/25

Zimbra en Español.

Como parte de mis colaboraciones al proyecto Zimbra, acabo de completar las traducciones de la interfaz de usuario, interfaz de mensajes e interfaz de correos al castellano / español de España para la versión 4.5:

http://www.zimbra.com/forums/showthread.php?t=6379

Zimbra 4.5 ya está en la calle

Incluye bastantes bugs cerrados, especialmente algunos relacionados con el conector de Outlook 2003 y la internacionalización.

Entre las mejoras y nueva funcionalidad añadida, caben destacar:

- Nuevo sistema de backup, gestionable desde la consola de administración.
- Zimlets gestionables desde la consola.
- Cambio de los skins. Ahora los menús de Contactos, Correo, Notas, etc están en la parte superior.
- Agregador POP3/IMAP4 y gestor de identidades.

2007/01/21

Actualizacion Dell Axim x50v a Windows Mobile 5 A02 ingles.

Hace algunos meses que salió la actualización a Windows Mobile 5 (WM50) para las Dell Axim de la serie X50 (concretamente la X50 y la X50v).
Dicha actualización pasó por ser una de las más tristes y fatídicas de la historia. Una PDA muy maja que funcionaba muy bien bajo Windows Mobile 2003 Second Edition pasó a convertirse en un trasto que funcionaba a duras penas a base de parches, injertos y programas asociados para evitar cuelgues, consumos increíbles de CPU y otros.
Afortunadamente para la gente con la versión inglesa, Dell sacó al poco tiempo una utilidad para "volver hacia atrás". Algo que no sucedió, como no, con la versión en español. El resultado fue que los que actualizamos a WM50 nos quedamos compuestos... y sin apenas PDA (no quiero decir que no funcionara... sí, funcionaba, pero mal. Cuelgues absurdos y usos constantes del 100% de la CPU).

Pues bien, hace apenas un mes Dell sacó su versión A02 de WM50 para Dell Axim x50V. Y todo el mundo en los foros americanos contaba lo bien que ahora va su Axim. Oh!, como siempre los europeos a esperar, entre ellos los españoles, porque la Axim no soporta un cambio de lenguaje... ¿seguro? ;-)

El siguiente método sirve para actualizar una Dell Axim X50(v) a cualquier versión de cualquier idioma. En este caso, voy a explicar cómo pasar una versión de WM50 A00 en ESPAÑOL a WM50 A02 en INGLES.
¿Por qué a ingles? Pues porque además de ser la única versión A02 disponible (se supone que en algún momento del año saldrá también en español) incluye detalles que la versión española no trae, como el reconocimiento de escritura manual.

ADVERTENCIA: El procedimiento es bastante delicado. Podrías llegar a perder tu PDA si lo realizas de forma incorrecta. Bajo tu propia responsabilidad. Dell no da garantía para esto.

ADVERTENCIA2: Las ROM que adjunto son solo para Axim X50V. No vale para la X50 normal (sin V) ni para las X51. Si bien el procedimiento es similar, tendrás que buscarte las ROM por tu cuenta.

El procedimiento es conocido como SD Bootloader. Tienes más información en AximSite (www.aximsite.com)

1- Descargar las ROMs para tu Axim. Para la X50v las tienes aquí:
http://operation.nt.free.fr/Dell%20Axim%20X50v/X50v%20WM50%20A02EN/

La ROM se compone de dos partes. El bootloader y la ROM en sí, con su correspondiente fichero de CRC para comprobar su autenticidad. Se sacan de Axim ya actualizadas.

Vamos a actualizar primero el BOOTLOADER y luego la ROM. Si ya estás con WM50 no es necesario actualizar (en teoría) el Bootloader, pero dado que el existente está en español y que no quiero sorpresas (además de que pretendo pasar a usar actualizaciones posteriores oficiales en inglés) lo actualizaremos igualmente.

*** RECUERDA: SOLO PARA x50V *** Si metes la X50 (sin V) la cagaste.

2- Coloca tu AXIM en su base. Haz un backup manual lo que no quieras perder y sincroniza. EL BACKUP que te realiza la propia Axim no te será válido, así que prepárate para reinstalar al acabar.

3- Formatea la tarjeta SD (o MMC) en FAT32 desde Windows. Yo lo he hecho insertándola en una cámara digital enchufada al ordenador. Tiene que ser FAT32. No vale FAT a secas. La tarjeta de vale con una de 64MB.

4- Copia los ficheros anteriores a la tarjeta SD.
a) Si estás con WM 2003, los copias tal cual.
b) Si ya estás con WM50, renombra los dos ficheros que empiezan con "DiMA_B..." a "WM50_B...". Esto es debido a que en WM50 el bootloader a actualizar debe empezar con este nombre.

5- Pulsa (y mantén pulsado) con la AXIM encendida y en la base las siguientes teclas: Wireless (lateral) + Standby (parte de arriba) y, SIN SOLTAR NINGUNA DE LAS DOS pinchas en el botón de reset de la parte de atrás con el puntero. NO SUELTES LAS DOS TECLAS. Aparecerá una pantalla donde pone Dell Update A02. MANTEN LAS DOS TECLAS APRETADAS hasta que aparezca un pequeño menú donde aparecerán las dos ROMs a actualizar.

Nota: No te preocupes si no te sale a la primera. A veces falla y sale la pantalla azul de actualización y te empieza a arrancar normalmente la PDA o bien te dice que pulses la tecla de "contactos" para resetear todo. Apaga, enciende (fuera batería) y vuelve a intentarlo. No te cargarás nada hasta que actualices la ROM, así que prueba sin miedo. Yo lo conseguí al intento 20.

6- Selecciona la actualización del BOOTLOADER (WM50_B_A02_X50v_WM50_A02EN_Bootloader) y pulsa con el botón central del PAD para actualizar. La actualización durará algunos segundos, tal lo cual tendrás que hacer un full reset de tu PDA (Botón de standby + pinchar en el botón de reset de atrás).

7- Ahora repetimos el procedimiento anterior, pero esta vez seleccionaremos la actualización de la ROM que no es el bootloader, esto es, WM50_K_A02_X50v_WM50_EN.
Esta vez el procedimiento llevará al menos 20 minutos, y verás una barra de progreso que te indicará cómo va.

8- A reinstalar todo y resincronizar con el PC.

Con esto tendrás tu Axim X50V en inglés y con la última ROM disponible. Os puedo asegurar que es mano de santo, que mi PDA vuelve a ser una PDA útil, fiable y va mucho, mucho pero que mucho más rápida.

2006/12/25

Greylisting, spam contra las cuerdas

Hace más de un mes implementamos en nuestros servidores perimetrales un sistema para bloqueo de spam, en vista de la inoperancia de los sistemas tradicionales basados en el análisis de contenidos.
Desde hace algunos meses, los spammers están evolucionando hacia un nuevo tipo de correo incrustado en imágenes, de forma que los tradicionales filtros bayesianos o de reglas que se basan en el contenido disminuyen terriblemente en cuanto a eficacia. Esto está provocando que otros sistemas alternativos que hasta la fecha no habían tenido demasiada importancia hayan subido muchos puntos en la lucha contra el spam y se revelen como los únicos realmente efectivos. Dos aproximaciones toman especial interés: el reconocimiento de imágenes mediante sistemas de OCR y los sistemas de greylisting (listas grises).
Mientras que el primero requiere una gran cantidad de recursos por parte de los diferentes sistemas de análisis (aplicar un filtro de reconocimiento de caracteres implica un gran consumo de CPU y memoria, especialmente en sistemas con mucha carga), el segundo apenas requiere implementación y es de una simpleza asombrosa.
Un sistema de greylisting consiste en rechazar todo correo de aquellos remitentes que no conocemos durante un período de tiempo determinado. El sistema, al recibir un correo de un usuario (origen@dominio.com) para uno de nuestros destinatarios en particular (destinatario@midominio.com) a partir de una IP en concreto (iporigen) comprueba si en una base de datos local dicha "tripla" está permitida (origen,destinatario,iporigen). Si aparece en la lista, el correo automáticamente entra en nuestro sistema y se procesa directamente. Por el contrario, si no aparece, se rechaza con un código 550 (rechazo temporal) y se añade la tripa (origen,destiantario,iporigen) a nuestra lista. Al recibir este código, el servidor que envió el correo lo encola y lo volverá a intentar pasado un tiempo (de unos minutos a un par de horas). Esta segunda vez, el correo se volverá a chequear contra nuestra base de datos, pero como previamente se añadió la entrada a nuestro sistema, esta vez se acepta.
¿Y qué aporta este sistema si cualquier spammer puede intentar reenviar el mensaje al cabo de una hora? Pues bien, los spammers no se paran a comprobar que un correo está bien recibido. Simplemente lo intentan, y si entra fantástico. Si no entra, se descarta. Son sistemas preparados para procesar millones de direcciones, no para garantizar su entrega. Además utilizan máquinas de terceros que han sido infectadas por troyanos y que, por lo tanto, no tienen un sistema de envío de correo SMTP completo. De esta forma, ese primer "rechazo" hace que nuestro spammer no consiga su objetivo y el correo se pierda y no entre en nuestros sistemas.
El retardo también sirve para que si un spam vuelve a intentar entrar, nuestro sistema secundario basado en listas negras ya haya podido recibir la información de las listas antispam (pyzor, razor2, etc) que existen por internet y que en pocas horas estarán al día.

Además de almacenar la tripa "origen,destino,iporigen", también almacenamos el número de veces que esa tripa se usa, esto es, el número de mensajes recibidos desde una ip para uno de nuestros destinatarios y el tiempo pasado desde la última vez que se recibió. Esta información extra se utiliza para limpiar nuestra base de datos de spam que una vez intentó entrar y ahora se ha rechazado (esto es, spam que solo tiene un intento de entrada en nuestro sistema). Así la base se mantiene en un número de entradas razonables.

A día de hoy, greylisting es posiblemente el mejor sistema en relación coste/beneficio en la lucha contra el spam. La única pega es el posible retardo que a algunos usuarios puede incomodar, pero este retardo es solo con el primer correo recibido desde un determinado usuario. No hay efectos secundarios de correos legítimos rechazados salvo en casos de que el origen utilice un MTA con una mala implementación que no sepa interpretar un "rechazo temporal". Afortunadamente esto es extremadamente raro.
Eso sí, un sistema de greylisting siempre ha de complementarse con sistemas tradicionales basados en RBL (Relay Blocking List), listas negras/blancas (pyzor, razor, etc) para que el sistema antispam sea un sistema efizar y robusto.

¿Efectivo? Ciertamente. MUY EFECTIVO. Nuestro índice de spam se ha reducido en un 90%, y la mayor parte de ese 10% que entra es spam legítimo, esto es, aquellos correos comerciales de los cuales nos podemos dar de baja sin el menor problema.

De vuelta tras las vacaciones de diciembre

De nuevo estoy de vuelta por Madrid, tras unas vacaciones en Cuba.
Curioso país. Por un lado comunista, por otro completamente capitalista. El sistema es incapaz de garantizar la solvencia de sus ciudadanos, los cuales no tienen más remedio que buscarse la vida en la más absoluta jungla social. El resultado, es un sistema que es más capitalista que haya conocido, una doble vida y una doble cara de un sistema que se revela completamente inoperante tras la caída del bloque soviético. El único punto bueno que se le puede sacar es que ha mantenido un fuerte sistema educativo en funcionamiento a pesar de las dificultades y que la gente no se muere de hambre como sucede en otros países de lationamérica. Gran logro, si tenemos en cuenta el bloqueo que sufre la isla desde hace medio siglo.
El futuro nos dirá que le depara a esta isla tras el fin del reinado de Castro. Esperemos que sea para mejor, si bien es curiso que ni los propios cubanos lo ven claro. El "Señor Oscuro" acecha desde el otro lado del estrecho de Florida. :)

2006/11/15

Virtualización: ¿el futuro está aquí?

Mucho se ha hablado y se está hablando del término virtualización. Desde hace unos cuantos años este término aparece y se repite habitualmente en los círculos de tecnólogos, administradores de sistemas y otros, aunque hasta hace poco no había pasado más allá de ser un tema más de conversación sobre tecnología puntera que promete pero no acaba de consolidarse.

Aplicado a sistemas de información, la virtualización no es ni más ni menos que, a partir de una plataforma hardware, ejecutar un programa de "virtualización" que oculta el hardware que hay por debajo creando una máquina emulada por software.

Las aplicaciones de la virtualización son inumerables. Por un lado, permite reaprovechar al máximo los recursos hardware de la máquina. Gran parte de la plataforma de servidores instalada hoy en día está la mayor parte del tiempo ociosa, o no se destina el 100% de su potencia a las tareas asignadas porque simplemente la unidad de procesamiento no tiene más que hacer. Esos espacios muertos de tiempo pueden ser empleados para que otra tarea se lleve a cabo. El contar con una plataforma virtualizada implica que podemos tener de forma simultánea varias máquinas virtuales corriendo aplicaciones en nuestra máquina de forma completamente independiente. Esto no sería en sí una gran ventaja (podemos tener un servidor con múltiples aplicaciones instaladas) si no fuera por la seguridad que añadimos a la hora de ejecutar aplicaciones en entornos aislados: si nos falla una máquina virtual las otras permanencen impasibles. También permite asignar recursos bajo demanda a una máquina virtual cuando los necesite: procesador, memoria, etc, permitiendo en nuestra plataforma virtual ir añadiendo recursos o eliminando según se vayan necesitando o desplazando máquinas a o desde nuesta plataforma real según se vaya necesitando.

Esta es la segunda gran ventaja de la virtualización: la seguridad. El mantener entornos completamente estancos e independientes, aun siendo dentro de la misma plataforma, implica que si uno de nuestros servicios sufriera una interrupción por un mal funcionaminto del programa, la caída únicamene afectaría a dicha máquina y no al resto de máquinas virtuales que se ejecuten. Es como tener varios servidores, cuando en realidad solo tenemos uno.

La tercera gran ventaja es la versatilidad. Para determinadas aplicaciones (entornos de desarrollo y pruebas), el estar constantemente instalando, desinstalando y reinstalado sistemas operativos es una tarea común. Las máquinas virtuales nos permiten que, en cuestión de segundos, cambiemos una máquina por otra igual que si cambiáramos un disco duro de nuestro PC con un sistema operativo por otro disco duro completamente distinto. Si a esto añadimos que se nos permite realizar snapshots (fotos de estado en un momento dado), tenemos la posibilidad de volver a un estado anterior en cuestión de segundos. Podemos imaginarnos a un equipo de testing y calidad probando inumerables versiones de un mismo producto y desinstalándolas, sin ni siquiera tocar una tecla, dejando la máquina como estaba minutos antes.

A partir de estas premisas las aplicaciones son innumerables. Desde consolidar diferentes servidores ubicados en máquinas distintas mal aprovechadas dentro de una máquina más potente donde se ejecutan sus respectivas máquinas virtuales hasta que equipos de evaluación de software no requieran de una segunda o incluso tercera máquina para realizar sus pruebas y pueden lenvantar distinas máquinas con distintos sistemas operativos en cuestión de segundos según sus necesidades. Los beneficios cubren distintas y variadas áreas: desarrolladores, centros de proceso de datos, departamentos de sistemas, etc.

En el caso de servicios de alta disponibilidad, en caso de caída o mal funcionamiento de una plataforma hardware, podemos trasladar la máquina virtual en cuestión de minutos (o segundos si utilizamos almacenamiento compartido) a una nueva plataforma hardware completamente distinta y ponerla a funcionar sin tener que reconfigurar absolutamente nada.

Actualmente, la virtualización se está popularizando debido a una serie de avances técnicos, tanto a nivel hardware como software, que hacen que a día de hoy sea una alternativa a los servidores tradicionales a tener muy en cuenta. Por un lado, el desarrollo de los procesadores ha alcanzado un grado de desarrollo muy alto con la intruducción de micros de doble núcleo (Intel acaba de lanzar sus procesadores de cuatro núcleos). Este incremento en el número de unidades de ejecución en los microprocesadores hace que el coste de hardware en relación a su potencia se haya reducido considerablemente. Una máquina de ocho procesadores que hace unos pocos años costaba miles de euros podría reducir su coste al de una máquina de dos procesadores si utiliza pastillas de cuatro núcleos. Por otro lado, la reducción del precio de la memoria RAM y disco duro hace que estén a disposición del consumidor grandes espacios de almacenamiento a precio reducido. Paradójicamente, el tamaño de las aplicaciones y datos a almacenar no ha aumentado a una velocidad tan vertiginosa, por lo que de facto hoy en día sobra mucho espacio en la mayoría de los servidores. Finalmente, los nuevos procesadores que surgen en el mercado vienen preparados específicamente para facilitar al desarrollador de máquinas virtuales mecanismos para mejorar el rendimiento de sus entornos emulados.

Por otro lado, el desarrollo del software de virtualización tampoco se ha quedado atrás, y a los tradicionales productos comerciales como VMWare o Microsoft Virtual Machine se han añadido alternativas opensource, algunas con más éxito que otras, como Xen, Qemu o Boschs.

Evidentemente no todo son ventajas en el área de la virtualización, y sus detractores argumentan que el rendimiento se resiente, especialmente en aplicaciones con muchas operaciones de entrada / salida o que un fallo hardware en un servidor que incluya varias máquinas virtuales haría que todas esas máquinas dejaran de funcionar.

En cualquier caso, recomiendo a cualquiera que esté interesado que evalúe las herramientas que a día de hoy existen en el mercado, experimente y vea la facilidad y versatilidad que un sistema basado en máquinas virtuales pueda aportar. A día de hoy existen alternativas gratuítas (tanto comerciales como opensource) más que de sobra para hacerse una idea.

VMWare Server: http://www.vmware.com
Microsoft Virtual PC: http://www.microsoft.com/spain/windows/virtualpc/default.mspx
Qemu: http://www.qemu.org
Xen: http://www.cl.cam.ac.uk/research/srg/netos/xen/
Bochs: http://bochs.sourceforge.net

2006/11/14

3G/UMTS con Linux Ubuntu Edgy / Feisty

*** Actualizado a 8/5/2007 con comentarios para Ubuntu 7.04 (FEISTY) ***

Bueno, tras un poco de investigación finalmente he conseguido hacer funcionar mi Ubuntu Edgy en mi portátil con la conexión 3G/UMTS de alta velocidad (HSDPA). En mi caso, el operador que estoy usando es Orange, pero el procedimiento será válido tanto con Movistar como Vodafone, y posiblemente también con otros operadores internacionales (me basé en un thread de un foro alemán sobre Vodafone.de).

Nota: Feisty (Ubuntu 7.04) ya trae compilado el módulo de NOZOMI, por lo que esta sección del tutorial se puede omitir y pasar directamente a instalar gcom.

Lo primero, por supuesto, es verificar la tarjeta a utilizar. En mi caso es una QUADCOMM GT 3G+ del servicio Bussiness Everywhere de Orange.
Así pues, empezaremos por traernos el módulo para que funcione nuestra tarjeta, que es el "nozomi". Para ello

sudo apt-get install nozomi-source linux-headers-2.6.17-10-generic


Nota: Sustituye linux-headers-2.6.17-10-generic por la versión de kernel que tengas. Puedes verla con el comando uname -a

Esto nos va a traer el código fuente del módulo, el cual deberemos compilar y modificar.
Con el kernel 2.6.17 deberemos parchear un fuente para que nos funcione, así pues, iremos a

cd /usr/src

tar -jxvf nozomi-source.tar.bz2
cd modules/nozomi
sudo vim nozomi.c

Y nos vamos a la lína 966, sustituyendo esto:
if (tty->flip.count >= TTY_FLIPBUF_SIZE) {

por esto:
if (tty_buffer_request_room(tty, i) < face="georgia">A continuación compilaremos el módulo y lo instalaremos
sudo make
sudo mkdir /lib/modules/2.6.17-10-generic/kernel/drivers/3G
sudo cp nozomi.k /lib/modules/2.6.17-10-generic/kernel/drivers/3G
sudo depmod -a

Nota: Ajusta 2.6.17-10-generic a tu versión de kernel.

Si hemos llegado hasta aquí es que todo va bien. Ahora deberemos comprobar que el módulo nos funciona adecuadamente. Para ello, comprueba que el módulo PCMCIA está operativo, cargamos el módulo de nozomi y verificamos en el log del kernel:

sudo /etc/init.d/pcmciautils start

sudo modprobe nozomi
dmesg

Deberá aparecer algo así en el log:
[17243729.156000] ACPI: PCI Interrupt 0000:0c:00.0[A] -> GSI 16 (level, low) -> IRQ 169
[17243729.156000] Nozomi driver nozomi_tty<6>[792] nozomi_read_config_table(): Version of card: 3
[17243729.468000] [784] nozomi_read_config_table(): Initialization OK!

Verfica además, que los siguientes dispositivos existen:
ls /dev/noz*

Llegado a este punto, y si están los dispositivos creados, necesitaremos unos nuevos paquete para manejar adecuadamente la tarjeta.
sudo apt-get install gcom wvdial

Una vez instalados, comenzaremos las pruebas para ver si la tarjeta funciona.
sudo gcom -d /dev/noz0 info

Deberá devolver algo como esto:
##### GlobeTrotter Configuration #####
Manufacturer Text: Option
IMEI and Serial Number: XXXXXXXXXXXXXXXXXXXXXX
Manufacturer's Revision: (Date: May 31 2006, Time: 15:49:25)
Hardware Revision: 2.2
Network Locked: 1
Customisation: Not defined
Band settings: Europe 900/1800MHz (4)
Auto Attach:

##### END #####

A continuación, introducimos el PIN:
sudo gcom -d /dev/noz0

Tras pedirnos el PIN, devolverá algo tal que así:

SIM ready
Waiting for Registration..(120 sec max)
Registered on Home network: "E AMENA",2
Signal Quality: 31,99

Finalmente, comprobaremos los operadores y que todo va bien
sudo gcom -d /dev/noz0 /usr/share/doc/gcom/examples/operator

Devolverá algo tal que así:
SIM ready
Waiting for Registration..(120 sec max)
Registered on Home network: "E AMENA",2
Signal Quality: 30,99
Getting Operator list: ..................

+COPS: (1,"E AMENA","AMENA","21403",0),(2,"E AMENA","AMENA","21403",2),(1,"vodafone ES","voda ES","21401",0),(1,"vodafone ES","voda ES","21401",2),(1,"movistar","movistar","21407",0),(1,"movistar","movistar","21407",2),,(0, 1, 3),(0-2)

==============================================================
Format: (Access,Long Name, Short Name, Network ID [,Technology])
Access: 2 - Registered, 1 - Available, 3 - Forbidden
Technology: 0 - GSM/GPRS, 2 - UMTS (Not available on all cards)

Enter the Network ID to attempt manual registration
[blank = automatic selection]:
Registration request accepted
Command was: AT+COPS=0

Ahora que todo funciona, ya podemos proceder a realizar la conexión. Para ello configuraremos el wvdial:

sudo vim /etc/wvdial.conf
Nota: Tanto el username como la password deberá ser cambiada para que coincida con el operador que tengas. En el caso de Orange, es CLIENTE y AMENA, pero sé que en Movistar y Vodafone esto cambia. Mira en tu teléfono la configuración del servicio, pregunta en tu operador o consulta por internet.
De igual forma, deberás cambiar el APN. En el caso de Orange es "internet", pero cambiará igualmente con Vodafone y Movistar. El resto de la configuración debería ser la misma

[Dialer Defaults]
Phone = *99***1#
Username = CLIENTE
Password = AMENA
Stupid Mode = 1
Dial Command = ATDT
New PPPD = yes

[Dialer hsdpa]
Modem = /dev/noz0
Baud = 460800
Init2 = ATZ
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem

[Dialer 2gonly]
Init4 = AT+COPS=0,0,"internet",0

[Dialer 3gonly]
Init4 = AT+COPS=0,0,"internet",2

[Dialer orange]
Init5 = AT+CGDCONT=1,"IP","internet";

[Dialer 384k]
Init6 = AT+CGEQMIN=1,4,64,384,64,384
Init7 = AT+CGEQREQ=1,4,64,384,64,384

[Dialer 144k]
Init6 = AT+CGEQMIN=1,4,64,144,64,144
Init7 = AT+CGEQREQ=1,4,64,144,64,144

[Dialer 64k]
Init6 = AT+CGEQMIN=1,4,64,64,64,64
Init7 = AT+CGEQREQ=1,4,64,64,64,64

Modifica igualmente la configuración del wvdial para ppp:
sudo vim /etc/ppp/peers/wvdial

Con esta información:
plugin passwordfd.so
noauth
name wvdial
replacedefaultroute
noipdefault
nomagic
usepeerdns
ipcp-accept-local
ipcp-accept-remote
nomp
noccp
nopredictor1
novj
novjccomp
nobsdcomp

Finalmente comprobaremos que podemos conectarnos... y navegar!!!
sudo wvdial hsdpa orange

Deberemos ver una salida de este tipo:
--> WvDial: Internet dialer version 1.56
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet";
AT+CGDCONT=1,"IP","internet";
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT 1800000
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Tue Nov 14 11:16:57 2006
--> Pid of pppd: 15133
--> Using interface ppp0
--> local IP address 83.231.16.108
--> remote IP address 213.143.42.106
--> primary DNS address 213.143.32.20
--> secondary DNS address 213.143.33.8
--> Connect time 0.1 minutes.
--> local IP address 83.231.16.108
--> remote IP address 213.143.42.106
--> primary DNS address 213.143.32.20
--> secondary DNS address 213.143.33.8

Ahora que ya estamos dentro, podemos crearnos un script de inicialización que ejecutaremos cuando queramos conectarnos.
sudo touch /usr/bin/3G.sh
sudo chmod a+x /usr/vim/3G.sh
sudo vim /usr/bin/3G.sh

Script:
-----
#!/bin/bash

case $1 in
start | init)
echo "Cargando modulo"
sudo modprobe nozomi
echo "Inicializando tarjeta 3G"
sudo gcom -d /dev/noz0
wait
echo "Conectando"
sudo wvdial hsdpa orange
;;
eject)
echo "Ejectando tarjeta"
sudo pccardctl eject
echo "Ya puede retirar la tarjeta"
;;
* )
echo "Uso: 3G.sh [start|eject]"

Uso:

Para iniciar la conexión:
sudo 3G.sh start

Para finalizar la conexión: CTRL^C

Para sacar la tarjeta
sudo 3G.sh eject