15642165401_e24da61323_k

Adiós 2013. Hola 2014. (Parte 1)

Dejé este artículo guardado en un cajón con la intención de escribir algo más detallado de cada mes, pero a la vista de que se va a acabar 2014 me siento en la obligación de publicarlo aunque sea sin mucho texto. Además, como dicen que una imagen vale más que mil palabras, este artículo se supone que tiene miles de ellas :)

Enero

Nieve en Bournemouth

Ringwood Brewery

Febrero

Año nuevo chino 2013

Marzo

Londres

Abril

Barcelona

Mayo

Diez años entre la blogosfera y twitter: ilustrando una noticia en el diario local de Granada.
blogosfera

Junio

Nos mudamos a Marl, una pequeña ciudad en el oeste de Alemania, donde pasamos 4 meses mientras trabajaba en el parque químico.
alimentando a los paticos

Continuará…

pca

Robust PCA in Java using R

If you want to avoid the curse of dimensionality when working with large datasets, you need to apply certain methods to reduce the number of attributes/features of your data. One common technique is Principal Component Analysis (PCA), but it does not work properly in datasets with outliers. Hence, Robust PCA technique was developed to overcome this issue.

I have been looking for a Java implementation of Robust PCA, but unfortunately I couldn’t find any. Luckily, I came upon an R implementation available in rrcov package. My initial plan was to translate this method to Java language, but it was going to take a lot of time. Therefore, I developed a Java wrapper that connects with R interface using JRI library, which is included in rJava package (a low-level R to Java interface). You can get the code here: RobustPCA.java (mirror).

If you are looking for a Robust PCA Matlab implementation you can get the code of LIBRA project, a Matlab library for robust analysis, but I encourage you to use R instead for a number of reasons.

Image: Copyright by Matthias Scholz

moto-g

Motorola Moto G: primeras impresiones

Tras más de 2 años con un ZTE Blade, he decidido cambiar de teléfono. El elegido ha sido el Motorola Moto G. Llevo utilizándolo más de 1 mes y no podría estar más contento. El terminal libre lo adquirí en la web de Phones4U por 129 libras (versión de 8GB) y en menos de 24 horas ya lo tenía en casa. En la caja sólo se incluye el teléfono y un cable micro USB. Si quieres un cargador y auriculares los tendrás que buscar por tu cuenta.

Las especificaciones hardware las podéis encontrar en la web oficial y en GSMArena. Lo primero que destacaría es la pantalla IPS de 4.5 pulgadas y una resolución de 326ppi (igual densidad de pixels que la del iPhone 5s por poner un ejemplo). La CPU es un quad-core 1.2 GHz Cortex-A7 y la GPU es Adreno 305, que junto con 1GB de memoria RAM hacen que el terminal vaya muy fluído. Algunos puntos débiles que mencionar son la cámara (la calidad deja algo que desear, pero suficiente para el día a día), la batería no extraíble y la falta de ranura para tarjetas SD.

En cuanto al software, viene por defecto Android 4.3 (Jelly Bean) sin modificaciones pero ya lo están actualizando a Android 4.4.2 (KitKat). Cabe destacar que Motorola ha liberado el kernel del teléfono y está disponible para descargar en Sourceforge. Todavía no hay una versión oficial de Cyanogen para Moto G, pero podéis encontrar la ROM no oficial en el foro de xda-developers junto con mucha más información.

En mi opinión, la relación calidad/precio es inmejorable y si buscas un teléfono por menos de 200€ sin duda recomendaría el Moto G.

536088203_e8d82131a0_o

Installing OpenLDAP in a Webfaction server

There are several forum threads regarding problems with the installation of OpenLDAP. The main issue that I faced has been the compatibility with Berkley DB libraries. I found in this site that the required version of Berkley DB for compiling OpenLDAP is 4.8. The steps for the installation are described below.

Once the Berkley DB library is installed, we can proceed to install OpenLDAP indicating the correct paths.

Finally, if we want to install also python-ldap library using pip we will find that the installation fails. For solving this issue, we have to indicate where OpenLDAP is located. If we are using a virtual environment (if not, you should!), we have to edit the following lines in the file $YOUR_VIRTUALENV_FOLDER/build/python-ldap/setup.cfg as explained by eikonomega.

I hope you find this post useful. Beware that installation steps may vary depending on your linux server and software versions.

nube

Almacenamiento en la nube a nivel de usuario y empresarial

Con la reciente explosión de servicios de alojamiento en la nube tenemos una gran oportunidad para almacenar nuestros datos en diferentes puntos del mundo más allá de nuestro disco duro.

A nivel de usuario con unos requisitos de espacio no muy elevados, podemos encontrar muchos servicios gratuitos tales como:

  • Dropbox: este es el líder del sector. Dispone tanto de versión web como diversos clientes para distintos sistemas operativos. La versión gratuita ofrece entre 2 y 18GB, aunque yo dispongo de casi 35GB por acumular diversas promociones.
  • Box: la versión gratuita nos ofrece 5GB de espacio y limita el tamaño máximo de archivo a 250MB. Sin embargo no tiene un cliente de escritorio, aunque sí podemos acceder vía web y con dispositivos móviles Android e iOS.
  • Google Drive: Google nos ofrece 15GB de almacenamiento a compartir entre Drive, Gmail y Photos. Dispone de un cliente de escritorio para Windows y Mac. Además, podemos editar nuestros archivos online con lo que antes conocíamos como Google Docs.
  • Ubuntu One: es el servicio de almacenamiento en la nube de Canonical, la empresa que está detrás de Ubuntu. Empecé a usarlo en sus versiones iniciales, pero debido a diversos problemas lo dejé de lado. Si bien el ciente está escrito en Python y es software libre y multiplataforma, la parte del servidor es propietaria.
  • Mega: es el sucesor del polémico MegaUpload. Ofrece 50GB en su paquete gratuito. Está aún en una fase temprana ya que fue lanzado a principios de año. Dispone de una API para desarrolladores pero no existe aplicaciones lo suficientemente buenas para sincronizar nuestros archivos.

Todos estos servicios ofrecen alojamiento y funcionalidades extras si estamos dispuestos a pagar una cuota mensual.

Por otro lado, si lo que queremos es gestionar y almacenar con seguridad los documentos de una empresa los servicios anteriores también ofrecen paquetes más avanzados.

  • Dropbox: permite ampliar el almacenamiento todo lo que se necesite. Dispone de ciertos aspectos extra de seguridad, así como herramientas de administración. También ofrece soporte telefónico.
  • Box: dispone de un servicio para empresas de hasta 500 usuarios y otro para empresas aún mayores donde podemos contratar espacio ilimitado. Estas versiones empresariales tienen como valor añadido herramientas de colaboración, administración y seguridad que no están disponibles en versiones inferiores.
  • Google Drive: si nos limitamos a ver la opción de almacenamiento de Google Apps para empresas resulta curioso que la versión básica solo ofrezca 5GB por usuario, que podremos ampliar hasta 16TB previo pago. Sin embargo, incluye opciones de administración adicionales y podemos tener un control total de los mensajes de correo nuestra empresa.

Ubuntu One y Mega no tienen versión empresarial, pero sí ofrecen paquetes de pago con espacio adicional de hasta 20GB y 4TB respectivamente.

Quiero destacar también que los servicios de alojamiento fotográfico están dando grandes pasos para atraer a más público como ha hecho Flickr recientemente al ofrecer 1TB de espacio gratuito.

hangouts

Google Hangouts: o cómo empeorar un buen servicio

El servicio de mensajería instantánea de Google (Gtalk) lo utilizo a diario. Este servicio, basado en el protocolo abierto XMPP, permite comunicarnos en tiempo real con cualquiera de nuestros contactos de forma totalmente gratuita. Gracias al uso de este protocolo, podíamos conectarnos desde la webs de Gmail o Google+, desde la aplicación de Gtalk para Windows o Android, e incluso desde cualquier otro dispositivo que tuviese un cliente que lo implementase (por ejemplo Pidgin).

En el último evento para desarrolladores de Google han renovado este sistema que a partir de ahora pasa a llamarse Hangouts. Con ello intentan unificar la interfaz de usuario y que además estén sincronizados los mensajes entre los diferentes clientes. Uno de los cambios más significativos es que se han desecho del protocolo XMPP, por lo que ahora no podemos utilizar clientes externos a Google. El nuevo protocolo cerrado de Google tampoco permite diferentes estados (Disponible, Ocupado, Invisible, Desconectado, etc.). Simplemente podemos elegir entre estar conectado o no estarlo. De hecho, si tienes la aplicación Hangout para Android estarás por defecto siempre conectado.

Personalmente, tras estar probándolo durante unas semanas he decidido volver al antiguo Google Talk mientras se encuentre operativo. Una de las cosas que especialmente me molestaba es que cuando conectaba mi teléfono a Internet recibía las notificaciones de conversaciones antiguas como si fueran nuevas. Pienso que una empresa de la envergadura de Google podría haberlo hecho mejor. Sin embargo tampoco tenemos derecho a quejarnos demasiado ya que se trata de un servicio gratuito (por lo que nosotros somos el producto) y si no nos gusta siempre podemos migrar a otras alternativas para comunicarnos.

feedly

Feedly o cómo gestionar bien una oportunidad

Si bien el cierre de Google Reader nos pilló de sorpresa, a los que llevamos ya unos cuantos años leyendo blogs a través de feeds no es la primera vez que vivimos esta situación. Allá por 2004 empecé a usar Bloglines, que terminó cerrando en 2010. En aquel momento Google no perdió el tiempo y facilitó a los usuarios de Bloglines la migración a Google Reader. Tras varios años de servicio, Google ha decidido que no quiere continuar manteniendo este servicio (y digo manteniendo porque hace mucho que dejaron de incorporar mejoras). Y aquí es donde Feedly ha encontrado su oportunidad.

Feedly lleva desde 2008 funcionando con relativo éxito, pero ha sido ahora cuando ha crecido exponencialmente. En cuestión de dos semanas han recibido a 3 millones de usuarios (o refugiados, como nos llaman ellos). Desde el anuncio de cierre de Google Reader, en el blog de Feedly prepararon un post para facilitar la migración y actualizaron sus servidores de una manera ejemplar para que no se viese mermado el servicio.

De momento seguiré usando Feedly, pero cuando este servicio desaparezca, siempre tendremos alternativas libres como TT-RSS que podremos instalar en nuestro propio servidor sin depender de una empresa externa.

Google Trend: google reader vs bloglines vs feedly