‘Wirelessgeist’ en un Giada N10 (Ahtec)
Hace cosa de dos meses escribía una pequeña comparación entre los mini-PCs Ahtec N10 y Acer Aspire Revo. Al final del artículo ya ponía que, aunque el modelo de Acer tuviera detalles técnicos que lo hacían interesante, el ordenador de Ahtec me tenía totalmente encandilado.
A los pocos días fui a comprar el ordenador y la verdad es que es una pasada. Si bien se hecha de menos un poco de rendimiento cuando tienes bastantes cosas abiertas (sobretodo el OpenOffice), el ordenador es muy práctico y se puede meter en cualquier rincón ahorrando mucho espacio. Un detalle que me encanta de este equipo es el bajo nivel de ruido; comparado con mi antiguo Pentium-IV es como si lo tuviese siempre apagado (true story: un dia intenté encenderlo cuando ya lo estaba!).
Pues bien, el equipo funciona de puta madre a las mil maravillas con Ubuntu 10.04 pero hace unos días dejaron de funcionar las conexiones vía Wi-Fi. Todo parecía correcto, el comando ‘lspci’ mostraba información correcta sobre el dispositivo -para vuestra información, este equipo monta una RealTek RTL8187SE-, los logs del sistema no arrojaban ningún error pero el equipo no detectaba ninguna red.
He intentado reinstalar el SO, instalar otra versión de Ubuntu, compilar versiones diferentes del driver, arrancar versiones Live de las principales distribuciones para ver si funcionaba; vamos, que lo he probado todo menos instalar el driver mediante ndiswrapper, pero eso no lo pienso hacer (y menos sabiendo que el dispositivo tiene soporte en el kernel distribuido actualmente en Ubuntu 10.04).
Como nada de lo descrito había funcionado me veía llevando el equipo al servicio técnico… pero antes de ir, realicé una pequeña prueba de forma instintiva: Desconectar el equipo de la red eléctrica.
Exacto… funcionó… el equipo ha vuelto a su rendimiento habitual y las redes Wi-Fi han vuelto. ¿Conclusión? Me hubiese ahorrado unas cuantas instalaciones de diferentes distribuciones de Linux y un montón de tiempo si se hubiese ido la luz durante unos pocos segundos. Antes de empezar a reinstalar cosas desconectad el equipo de la corriente, sacad la batería si es un portátil, os puede ahorrar un montón de tiempo!!!
Lo dicho: True Story
El Nexus One no da primero pero da dos veces (o más)
Posted by Xavi in Móviles y Internet móvil on 25/05/2010
Cuando se presentó el Nexus One parecía que no cumplia con las expectativas que había levantado el esperado “GPhone”. En ese momento, el estado en el que se encontraba el sistema operativo no estaba a la altura de las posibilidades del aparato, y otros dispositivos personalizados por otras compañías aportaban un plus a sus productos sobre el N1 (por ejemplo HTC con la interfaz Sense).
Estos últimos días se ha dado la vuelta a la tortilla demostrando que el Nexus One es una de las mejores opciones en el universio Android. La reciente presentación de la versión 2.2 (Froyo) de Android en la Google I/O y su disponibilidad prácticamente inmediata para el N1 ha puesto en el primer lugar de las preferencias de muchos el móvil de Google.
La mayoría de fabricantes esta tardando mucho en portar las últimas versiones de Android a sus terminales, y las operadoras (empecinadas en meter extras que no hacen más que molestar) aun retrasan más la llegada de actualizaciones que los usuarios hace tiempo que ven en los nuevos dispositivos. Meterse en las tripas del móvil, conseguir ser root y utilizar versiones cocinadas es una alternativa que si bien no es demasiado compleja sí que es molesta cuando entendemos que es algo a lo que los usuarios tenemos derecho (si no no nos hubiésemos comprado un móvil con Android!!!).
No hace falta que las operadoras nos proporcionen una actualización OTA (Over-The-Air) y que aparezcan imágenes e inforgrafías de como va todo el proceso; los usuarios que queremos disfrutar de lo último nos conformamos con descargarla desde un ordenador y aplicarla con una combinación que quede bien explicada. Nada más! No pueden haber excusas logísticas para no realizar una actualización. ¿Qué es eso de que hay una versión de Android que no llega? ¿Por qué un fabricante que presuntamente “apoya” el desarrollo de Android lo maltrata de esta forma? ¿Se merece un terminal de puta madre como el HTC Hero seguir en la versión 1.5? Vamos por la 2.2 y se han presentado las características que tendrà la siguiente señores!!
Como propietario de un HTC Magic estoy muy contento con el terminal. Se trata de un móvil resistente y (en mi opinión) con un diseño bonito. Lo único que le añadiría sería una entrada para auriculares estándar pero entiendo que en el momento en que salió tampoco se podían pedir peras al olmo. Pero quiero YA las ventajas de las versiones 2.X. Un detalle tonto pero que me parece un ejemplo clarísimo de lo que estoy diciendo: Twitter hace poco liberó su cliente oficial para Android para terminales con 2.0 o superior. Tengo un móvil Android (etiquetado como “with Google”!!) con un año de vida y no puedo utilizar el cliente oficial de Twitter… debe ser por los altos requerimientos de hardware que impone esta red social… increíble
Si siguen por este camino, el único representante de Android que va a valer la pena se llamará Nexus One. No por mérito de Google, sino por demérito de los demás.

Os dejo un enlace a un post de El Androide Libre con información sobre la actualización en los diferentes terminales de Android aquí.
Google Storage for developers planta cara a Amazon S3
Posted by Xavi in Programación Web on 20/05/2010
Corrían rumores de que Google podía presentar una alternativa al servicio de almaceniamiento de Amazon, pero eran muy pocos los que creían que esto realmente podía pasar (me incluyo en el grupo de los incrédulos). Y Google anunció ayer en el Google I/O la disponibilidad de Google Storage for developers, un servicio de almacenamiento on-line con unas características muy parecidas a Amazon S3. Vamos a ver algunas de sus características:
- Almacenamiento por buckets/objetos: Exactamente igual que su vecino de Amazon.
- Nombre único del bucket en todo el servicio: Igual.
- Ausencia de carpetas o jerarquía pero capacidad de introducir el caracter “/” en el nombre del archivo para simular un árbol de directorios: Igual.
- Privacidad de los objetos 100% y inmutabilidad de los objetos: No recuerdo que Amazon detallara el punto de la privacidad (no estoy seguro), pero en cuanto a la inmutabilidad siguen siendo servicios equivalentes (hace falta reescribir el objeto para modificarlo).
A estas características básicas vamos a añadir un listado de las operaciones básicas. Veremos que siguen cortadas por el mismo patron que S3:
- Crear y eliminar buckets
- Listar buckets y objetos
- Subir y descargar objetos
- Eliminar objetos
- Definir listas de control de acceso (ACL) para los objetos
- Definir metadatos de los objetos
Y una serie de características adicionales, algunas de las cuales sí que marcan alguna diferencia con Amazon:
- Autenticación basada en cookies (no recuerdo que esto este disponible en S3 pero no estoy seguro de ello).
- Soporte a las cuentas de Google para establecer el nivel de seguridad de los objetos.
- Es necesaria una Developer Key (un par de clave de acceso y clave secreta).
- API REST (no existe una API SOAP y no parece que entre en los planes de Google).
- Soporte para SSL.
- Herramientas por linea de comandos y librería basadas en Python (Boto).
- Aplicación web para gestionar buckets y objetos (!!!).
La lista de precios también sigue el mismo patrón que Amazon pero se ofrece una cuota inicial gratuita (“solo” 100 GB de almacenamiento y 300 GB de transferencia al mes). Los precios son los siguientes:
- Almacenamiento: 0′17 US$/GB al mes
- Transferencia (subida): 0′10 US$/GB
- Transferencia (descarga): 0′15 US$/GB en América y EMEA y 0′30 US$/GB en APAC
- Peticiones (PUT,POST,LIST): 0′10 US$/1.000 peticiones
- Peticiones (GET,HEAD): 0′10 US$/10.000 peticiones
¿La mala noticia? Disponible para desarrolladores en los U.S. y con cola de admisión… espero que no tarden lo mismo que Amazon en traer los servicios a Europa!!
Amazon S3 amplia su abanico de posibilidades (RRS)
Posted by Xavi in Programación Web on 19/05/2010
Amazon S3 es un servicio de almacenamiento de objetos que fue definido por Amazon como “highly durable” pero nunca habían aportado datos ni estadísticas relacionadas con la durabilidad de los objetos que se almacenaban. Hoy, para anunciar una ampliación del abanico de posibilidades que ofrece el servicio han dado los primeros datos.

Amazon Web Services publica en su blog que la durabilidad de un archivo en su servicio de almacenamiento es del 99′9999999% (7 nueves) o, como exponen en el auncio, que de cada 10.000 objetos que almacenemos puede perderse uno (de media) cada 10 millones de años. Esta persistencia de ficheros en S3 la podemos considerar como muy alta… mucho más de lo que un gran número de aplicaciones necesitan realmente.
En ocasiones, todos los datos volcados en Amazon tienen su respaldo en máquinas que están más cerca del equipo responsable y simplemente se alojan en Amazon para su difusión por Internet (y su posible reposición está más que asegurada). En estos casos, esforzarse para mantener un porcentaje tan alto de durabilidad es un derroche de recursos que el cliente final no tiene porqué pagar.
¡Dicho y hecho!
A partir de hoy mismo, Amazon pone a disposición de los clientes la opción de reducir la durabilidad de sus archivos a 99′9999% (4 nueves) a cambio de una reducción en el precio del almacenamiento. Esta reducción va asociada a un parámetro que debe definirse de forma explícita (por defecto la durabilidad seguirá como antes) y es de un 33% del precio original. En el intervalo más caro (hasta 50 TB al mes), el almacenamiento “normal” cuesta 0′15€/mes por GB y el nuevo almacenamiento 0′10€/mes por GB.
Lo encontrareis en la página de S3 así como en el artículo del que he leído esta información, pero el nuevo sistema de almacenamiento se llama Reduced Redundancy Storage o RRS para los amigos.
Oracle VirtualBox 3.2
Leo en Ubuntulife que ya ha salido la primera versión de VirtualBox bajo la marca de Oracle. La versión 3.2 trae como principal novedad soporte experimental para huéspedes con Mac OS X. Creo recordar que, recientemente, la licencia de Mac OS X Server abrió la puerta a la virtualización (no así la versión estándar).
Hay más detalles acerca de las novedades y los bugs solucionados en la siguiente página. La descarga a través de esta otra.

Seguiremos vigilando cómo Oracle trata este proyecto…
Árbol de directorios en el terminal
Una de las cosas que más me gusta de Ubuntu es la facilidad con la que se puede cambiar el comportamiento de Nautilus. Quieres cambiar de vista? Crtl+2, quieres mostrar los archivos ocultos? Ctrl+h… y así con los atajos más comunes de este (en mi opinión) gran programa. Toda esta potencia viene por defecto con Nautilus así que hoy no entraré a comentar los plugins que se le pueden instalar (nota mental… hacer un post con addons interesantes para Nautilus).
Actualización: Leo en Ubuntulife un atajo que probablemente sea más útil aun que los que he comentado. Podeis leerlo en la entrada: Panel dividido en Nautilus Lucid
Uno de mis atajos favoritos es ctrl+2. Esta combinación de teclas nos permite navegar por nuestro árbol de directorios visualizando los diferentes niveles y mostrando o no el contenido de las carpetas. Es una visualización muy cómoda y que permite hacerse una idea de una estructura de directorios de una forma gráfica. La visualización en árbol es muy útil sobretodo cuando no has sido tú quien ha creado los archivos (por ejemplo en una instalación automatizada a través de un script).
Pues bien, hasta hoy, cuando tenia que trabajar con la linea de comandos, cada vez que tenía que comprobar una estructura de directorios me dedicaba a dibujarla en una libreta después de innumerables ls, cd .. y otros participantes invitados… Hasta hoy!!
Dando vueltas por la documentación buscando instrucciones de cómo instalar un software en Ubuntu me he topado con el comando tree. Este comando actúa de una forma similar a ls pero nos muestra el sub-árbol de directorios completo con diferentes niveles. Igual que a ls, también se le puede pasar como parámetro el directorio del que queremos hacer la consulta y si no pasamos ninguno se muestra el actual. Os dejo con una pequeña captura de pantalla para que os hagais una idea de los resultados del comando:

En Ubuntu 10.04 no viene instalado por defecto pero se puede instalar mediante:
$> sudo apt-get install tree
Otro post corto pero con algo que mejorará una barbaridad mi productividad!!
Variables de entorno (locales) en Ubuntu
Hace tiempo subí un apunte para indicar cómo se podían definir variables de entorno en Ubuntu. El método explicaba un sistema válido para variables transversales de sistema (para todas las sessiones de usuario igual) pero requería privilegios de administrador (usuario root o permisos de sudo). Una limitación que no siempre podemos superar.
Este post intenta mirar el mismo tema desde un punto de vista más usuario-céntrico, es decir, setear variables de sistema para un usuario concreto sin necesidad de privilegios de administrador. Estas variables tienen otras ventajas (a parte de no requerir privilegios de administrador) que no podemos olvidar; por ejemplo: para cada usuario diferente del sistema podemos tener las mismas variables con valores diferentes.
Dichas variables se setean mediante la modificación del archivo .bashrc. Este archivo se aloja en el directorio del usuario (/home/usuario/.bashrc) y se ejecuta cuando el usuario abre una sesión en el sistema. Para añadir una variable de sesión sólo tenemos que añadir una línea al final del archivo con el código que normalmente utilizaríamos en BASH para realizar esta acción:
export VARIABLE=VALOR
Notamos entonces que el procedimiento no es almacenar una variable de entorno sino que cada vez que el usuario acceda al sistema se ejecutará un comando que la añada.
Para confirmar que las variables se han seteado de forma correcta, en el siguiente login del usuario, podemos ejecutar el comando que aparece a continuación y repasar la lista que se nos muestra en pantalla para localizar nuestra variable.
$> printenv
NOTA: Se puede forzar la ejecución de este archivo sin necesidad de reiniciar el sistema o desconectar al usuario con el siguiente comando:
$> source /home/usuario/.bashrc
Este es un tema sobre el que estoy seguro que ya se han escrito mil manuales y sus correspondientes entradas en blogs y foros pero espero que os ayude igualmente
Ahtec N10 vs. Acer Aspire Revo
El tamaño de los ordenadores de sobremesa acostumbra a ser un grave problema para tenerlos en la habitación. Yo mismo soy un ejemplo de esta problemática; me gusta trabajar en un ordenador de sobremesa, sobretodo porqué los portátiles me gustan portátiles de verdad (13 pulgadas o menos).
Para solucionar este problema hace tiempo que estaba alerta de los ordenadores de dimensiones reducidas. Con la salida del Mac Mini parecía que Aopen y Shuttle empezaban a sacar modelos que podrían llenar este “hueco” pero por un motivo u otro nunca me decidí por ninguna de esas opciones.
Ahora parece ser que ha llegado el momento de dar el paso -con dos modelos que se ajustan a mis necesidades a precios bastante atractivos- y dejar en el altillo mi vieja torre. Irónicamente ninguno de los dos modelos que vamos a mostrar pertenece a las dos marcas que provocaron mi interés por los mini-PCs o nettops (a parte de Apple).
| Ahtec N10 | Acer Aspire Revo | |
|---|---|---|
| Dimensiones | 190×150x26 mm (sin el pie) | 180×180x30 mm (sin el pie) |
| Procesador | Intel Atom N330 | Intel Atom N330 |
| Tarjeta Gráfica | nVidia GeForce 9400 | nVidia GeForce 9400 |
| RAM | 2GB DDR2 | 2GB DDR2 |
| Disco duro | 320GB (5.400rpm) | 320GB (7.200rpm) |
| Puertos | 5xUSB, Ethernet, HDMI, VGA | 5xUSB, Ethernet, eSATA, VGA, HDMI, SPDIF |
| Lector de tarjetas | SD/SDHC/MMC | 4 en 1 |
| Wi-Fi | 802.11 b/g Mini-PCI | 802.11 b/g Mini-PCI |
| SO | Sin | Windows 7 Home Premium 64-bits |
| Precio | 299 € | |
| Precio de la unidad optica externa | 49 € | 79 € |
Y a continuación las imágenes,
Ahtec N10:

Acer Aspire Revo 3610:

Personalmente me seduce más la opción de Ahtec porqué le voy a instalar la última versión de Ubuntu y con Ahtec nunca he tenido problemas con el reconocimiento del hardware, aunque objetivamente pueda parecer más interesante la opción de Acer.
Tienda de Ahtec: http://www.ahtec.net/product/espec/index.jsp?id=124
Tienda de Acer: http://www.aceronline.es/shop/acer-aspire-revo-r3610-ptscxe2003-p-2321.html
Tienda para Aopen y Shuttle: http://www.verybox.com/
Amazon AWS anuncia la afinidad de servidores en Elastic Load Balancing
Posted by Xavi in Programación Web on 08/04/2010
Uno de los problemas más importantes que existían para desarrollar aplicaciones web en las infraestructuras de Amazon era la falta de un balanceador de carga que presentara afinidad de servidores. Ésto representaba un problema muy grave para la creación de aplicaciones ya que, hoy en dia, se almacenan datos en variables de sesión para facilitar la navegación de los usuarios. Con un servidor único para la aplicación no existe tal problema porqué las variables de sesión siempre están disponibles, pero con diferentes servidores y un balanceador de carga se corre el riesgo de que diferentes peticiones de páginas web se sirvan desde diferentes servidores y las preferencias de los usuarios se pierdan.
Antes, Amazon tenía un balanceador de carga que derivaba las peticiones a diferentes servidores pero no servía para aplicaciones complejas, ya que no se podía configurar para que enviara todas las peticiones de un mismo cliente (navegador web) a un mismo servidor.
A través del blog de Amazon AWS se acaba de anunciar la disponiblidad de la afinidad de servidores en su balanceador de carga Elastic Load Balancer. Esta funcionalidad puede solucionar el problema que comentábamos al principio y facilitar la puesta en marcha de muchas aplicaciones en un entorno de altas prestaciones. Sin duda se trata de una gran notícia para muchos desarrolladores!!
Se puede consultar el post original de Amazon AWS aquí y la documentación aquí.
Mostrar una página en Wordpress con todos los tags
Posted by Xavi in Blog, Programación Web on 06/04/2010
Con la migración del blog he tenido la oportunidad de reorganizar los plugins que utilizo en WordPress. Siempre me ha gustado intentar exprimir al máximo las posibilidades del software que utilizo y evitar el uso de plugins que hicieran funciones presentes en la base del mismo y eso es lo que he conseguido con la nube de tags.
Cuando empecé este blog mi experiencia con Wordpress aun era muy limitada (usuario medio por decirlo de alguna manera) y instalé un plugin para mostrar una nube con todos los tags que había utilizado hasta el momento (Better Tag Cloud). Pues bien, el blog ha llegado a recopilar un número de etiquetas que no caben en un ‘tag cloud’ en la sidebar de este blog -si que caben pero ocupan demasiado- y me he decidido a abrir una página con todos los tags que se han asignado a los apuntes aquí almacenados.
Para publicar esta página lo primero que he pensado ha sido instalar otro plugin. Pero Naaah… WRONG ANSWER!!! WordPress tiene la potencia suficiente para poder hacer esto de una forma elegante y eficiente. A continuación explicamos los pasos que vamos a dar para mostrar dicha página:
- Crear un template nuevo para la página.
- Poner el código que nos va a mostrar la nube de tags.
- Crear la página y definir el template para que nos muestre la información.
NOTA: Yo utilizo el tema para WordPress Fusion 3.1. Así que todo el código que muestre estará relacionado con dicho tema. Adaptar el código de este tema a otro no debería ser muy costoso si se trata de un tema que sigue las directrices de WP para la creación de temas.

Crear un template nuevo para la página
Para crear un nuevo template debemos crear un archivo PHP con un nombre que defina lo que vamos a hacer con él (por ejemplo: tagcloud.php). En este archivo vamos a poner primero un comentario para que el motor del blog identifique el template de la página:
<?php /* Template Name: Tag Cloud */ ?>
Una vez creado dicho archivo lo podemos subir por FTP a la carpeta del tema (/wp-content/themes/fusion en mi caso).
Código de la página
Una vez subido el archivo (y otorgados permisos de escritura para que se pueda editar desde el editor de Wordpress) ya podemos poner el código que queremos que se muestre en las páginas que se publiquen con esta plantilla. La apariencia que yo quiero que tenga esta página es la misma que la de la página principal pero sólo con la nube de tags. Para esto cogeremos el código de page.php, copiaremos la estrucura y la pegaremos en el archivo quitando el contenido del div con id “mid-content” (dónde se publica la lista de post en la página principal).
Una vez hecho esto, pondremos un título para la página (h3 para el tema Fusion) y pegaremos el código para mostrar la nube de tags:
<?php wp_tag_cloud('smallest=10&largest=26&number=0'); ?>
La apariencia final del archivo tagcloud.php debe ser parecido a este:
<?php /* Template Name: Tag Cloud */ ?>
<?php get_header(); ?>
<! -- mid content -->
<div id="mid-content">
<h3 class="title">Todos los tags de mis artículos</h3>
< ?php wp_tag_cloud('smallest=10&largest=26&number=0'); ?>
</div>
<! -- mid content -->
</div>
<! -- /mid -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Crear la página
Para crear la página debemos ir a la sección de WordPress encargada de esta acción y crear una. Definimos el título y no introducimos nada más. En lugar de poner texto vamos a ir a la barra lateral y vamos a escoger el Template (o plantilla, depende del idioma en que tengamos instalado el sistema) Tag Cloud (o lo que hayamos escrito después de Template Name en el comentario inicial del archivo tagcloud.php.
Publicamos i… Listo!!!
Espero que os ayude

Comentarios recientes