Aplicaciones para escapar al yugo de la gran G

No suelo empezar así, y menos después de tanto tiempo sin dar señales de vida pero, si aún no has leído el libro El pequeño libro rojo del activista en la red de Marta Peirano, ya estás tardando. Además de didáctico e instructivo (y detallado y acertado y paranoico y muchas cosas más), nos recuerda que el anonimato es una ilusión y que, básicamente, somos productos que pueblan internet. Algo así como los habitantes de aquellos capullos rosaceos de las granjas de electricidad de Matrix, no nos damos cuenta que somos quienen alimentan a la bestia (o bestias) y, además, estamos encantandos con nuestras vidas en esa ilusión de colores en que nos mantienen.

Analogías aparte, leer el libro de Marta Peirano en los últimos días me ha reforzado una idea que tenía dando vueltas por la cabeza y que ya había empezado a aplicar: desvincularme de google. Llevo algunos años sustituyendo servicios de la gran G por otros basados en software libre y mantenidos en servidores propios desde un año antes de que cerrasen reader (si, en 2016 y todavía con esto…), con un resultado esperanzador. Si, hacen muy bien las aplicaciones para que tú no tengas complicaciones e integran perfectamente con el teléfono pero, en mi opinión, el peaje es demasiado grande. Personalmente estoy cansado de meterme en las configuración de google de mi teléfono para decirle, entre otras, que no recuerde por donde me muevo, que no me de información que no le he pedido, que no lea mi agenda y que desactive la señal GPS. Por eso cada dos o tres meses me paso, a ver qué han vuelto a activar.

Como siempre que me complico la vida con estos proyectos, parto de un escenario y unas condiciones. En esta ocasión el escenario es múltiple y las condiciones leoninas:

  1. Escenario
    • linux: instalar, configurar y mantener el programa en linux, GNU/Debian preferentemente.
    • linux: utilizar el programa en linux, sobre diferentes escritorios (MATE, gnome, xfce) y programas (thunderbird, evolution).
    • android: utilizar el programa en el móvil de manera fluida.
    • LAMP: fácil de mantener y gestionar.
  2. Condiciones
    • software libre: What else?
    • múltiples plataformas: poder utilizarlo desde un navegador y/o un programa cliente.
    • gestión completa de los datos: ya está bien de enviar mi información fuera.
    • versatilidad y facilidad de uso: no voy a sustituir servicios que funcionan muy bien por otros a medio hacer.

La lista de servicios a sustituir ha ido aumentando con el tiempo y, de comenzar buscando un buen sustituto a reader he terminado buscando sustituto a casi cualquier aplicación que venga instalada por defecto en el móvil. Lo sorprendente es que las hay y muy buenas.

Y, los nominados son…

google reader (lector de feeds)

Fue el primer servicio que sustituí, en parte porque me di cuenta que las alternativas a reader no me terminaban de convencer, en parte porque nada garantizaba que no terminase en otro servicio que cerrase también. El elegido fue Tiny Tiny RSS y, a día de hoy, no puedo estar más contento. Es muy configurable, soporta los comandos de reader (si, es una extravagancia mía) y es fácil de mantener, incluso para varios usuarios. La aplicación android, ttrss reader, es sencilla y rápida.

delicious (favoritos)

Cuando tienes varios ordenadores, varias plataformas y varios navegadores, querer guardar un enlace es ligeramente complicado. Por eso cuando del.icio.us se fue al garete, le busqué un sustituto que resultó ser SemanticScuttle. Al igual que con Tiny Tiny RSS, su mayor virtud fue ser un del.icio.us con añadidos, muchos añadidos. Además de las condiciones (irrenunciables), SemanticScuttle funciona con múltiples usuarios, es fácil de utilizar, tiene extensiones para firefox (no sé para el resto de navegadores), tiene zona pública y privada donde guardar los enlaces y permite compartir enlaces entre los usuarios del sitio, entre otras cosas. Tiene aplicación para android.

google keep (notas)

Soy un usuario de notas en el móvil desde mi último nokia pero tampoco soy un fanático ni un usuario pro. Intenté utilizar evernote y keep y me sentí más cómodo con la última, porque era más sencilla y no tenía tantas opciones que no usaba. Ademas, la aplicación de evernote para linux es la web y no me entedía bien con nixnote (antes nevernote), el clon para linux. Así que cuando me topé con tomboy, rainy y tomdroid, dejé de buscar. Es sencillo de usar, soporta añadidos y, salvo el pequeño detalle de que las notas (aún) no soportan markdown, es perfecto para mí y mi uso moderado. También quiero dejar constancia que he tenido a rainy alojado en la raspberry pi modelo 1 durante seis meses sin ningún problema, ni de rendimiento ni de estabilidad, que no todo van a ser servidores dedicados con gigas y gigas de RAM.

Por cierto, si alguien va a pegarse con rainy para tener un servidor de notas multiusuario que funcione con el móvil y en cualquier navegador, le recomiendo que no lo haga, que lea el siguiente punto y se quede con este nombre: grauphel. De nada ;).

google drive (la nube)

Al principio sólo estaba dropbox y sus 2 GB de almacenamiento. Luego llegó drive, de google y subieron un poco más el espacio pero compartíendolo con el correo y las fotos. Y luego apareció owncloud y todos esos servicios dejaron de tener sentido para mí. Pasé de tener 2 GB a 16 GB de espacio simplemente instalándolo en una raspberry pi con un USB de esa capacidad (si, la misma raspberry que ya tenía funcionando rainy, el servidor torrent y un par de cositas más). Al final he subido la apuesta instalándolo en un servidor dedicado con 400 GB de espacio sólo para la nube.

¿Ventajas? Casi todas: cumple las condiciones a rajatabla, funciona estupendamente, tengo tantos usuarios y grupos como necesito con permisos de acceso variados, es fácil de mantener aunque algunas veces las actualizaciones las lleve a cabo el enemigo y, sobre todo, soporta aplicaciones. Así, puedo configurar la aplicación de android (importante: las diferencias entre la versión del play store y de f-droid es que una está completa y la otra no; ¿adivinas cúal es la completa?) para que vuelque las fotos y los videos en un directorio concreto como para que la aplicación Gallery las muestre en cualquier navegador o permita enviarlas como enlace protegido, tanto dentro como fuera de owncloud. Otra aplicación, Documents, convierte el navegador en un editor de textos con todos los ficheros que suba y las hay para cifrar todo el contenido de owncloud, leer ficheros pdf, reproducir música y videos, instalar un servidor de correo y noticias, etcétera.

Hay aplicaciones para casi cualquier tarea o servicio de uso cotidiano y, de verdad, merece mucho la pena echarle un vistazo a la lista completa de aplicaciones que soporta owncloud. En los siguientes puntos hablaré de tres de estas aplicaciones Calendar Plus, Contacts Plus y Grauphel.

google calendar (calendarios)

Los calendarios fueron el primer caballo de batalla del móvil con que me metí, principalmente porque la instalación de Calendar Plus en owncloud es extremadamente sencillo e importar los calendarios, también. Lo más complicado fue encontrar una aplicación que funcionase bien en el móvil porque no quería instalar 50 MB para terminar usando los calendarios de alguna plataforma concreta. Tras una larga búsqueda encontré CalDAV Sync Adapter que hace exactamente lo que quería. Crea un tipo de cuenta en la configuración de android para dar de alta calendarios de owncloud de manera sencilla y transparente. Por 778 kB no se puede pedir más. Tras crear la cuenta y autenticar contra owncloud, se pueden utilizar los calendarios sin problemas y de forma transparente, desde la propia aplicación de calendarios.

Al cambiar de móvil y meterme también con los contactos, CalDAV Sync Adapter se quedó corto. Una vez más la respuesta estaba en f-droid y se llamaba DAVdroid. Esta aplicación hace, en esencia, lo mismo que CalDAV Sync Adapter pero también soporta el protocolo CarDAV y, con el, los contactos. Se utiliza de la misma manera, creando un tipo específico de cuenta, que permite conectarse a los calendarios y los contactos de nuestro servidor. Una vez más, en f-droid está la versión completa y en el play store, no.

google contacts (contactos)

Para los contactos, instalé la aplicación Contacts Plus en owncloud, migré los casi cuatrocientos contactos que tenía en google y los ordené en grupos. En definitiva, los puse guapos y presentables. Luego, desde el móvil y con DAVdroid, los puedo gestionar a mi gusto. Los cambios y nuevos usuarios aparecen instantáneamente en el servidor y de ahí, al resto de clientes.

bola extra: google keep (contactos)

Rainy funciona bastante bien pero está basado en mono y sólo su instalación le añade 100 MB al servidor. Por eso cuando vi que owncloud tiene una aplicación, grauphel que se define como Tomboy sync server, me puse a probarla. Y el resultado es impresionante. El servicio es rápido, estable y al estar integrado en owncloud te despreocupas de usuarios. Nada más instalarlo, probé desde tomboy y tomdroid y la velocidad fácilmente duplica a la de rainy. Yo, que no soy un fanático de las notas, he vuelto al vicio de hacer una para cada chorrada que se me ocurre. Y eso es mucha carga para el servidor :).

futuro

Las siguientes aplicaciones o servicios en caer serán (sin ningún orden en particular):

  • gmail: servicio de correo electrónico.
  • XMPP: mensajería instantánea y OTR.
  • mozilla sync: sincronización de los perfiles de firefox.

A ver si, al terminar este año 2016 puedo declarar el móvil libre de aplicaciones google (si, lo sé, quedan muchas por debajo…).

Nota: la entrada de debish que menciono es Escapa a la vigilancia masiva y debería ser de obligada lectura junto con el libro de Marta Peirano.

 

jodiendo con el email

Cuando en abril de 2004 me peleaba por una de las escasas invitaciones para obtener una cuenta de gmail, no tenía ni idea que diez años tendría muchos ejemplos de porqué no es buena idea utilizar direcciones de correo que no están directamente bajo nuestro control. Ya tuve un ejemplo claro hace un año cuando recibí, sin pedirlo, el historial completo de un paciente así como el informe de evaluación de una operación a la que lo iban a someter.

El último ejemplo fue hace dos semanas. Sin previo aviso recibí un aviso de una universidad de Madrid donde daban la bienvenida a un tal Diego M… C… a sus clases. Aquel email terminó en el spam pero, unos días después me llegó un aviso de una agencia de transporte con el tracking para entregar un paquete de la universidad… en Barcelona. Spam. El tipo había puesto mi dirección de correo, o al menos una que no posee, en la ficha de una universidad. Y yo que creía haberlo visto casi todo. Así me fueron llegando avisos de los foros de las asignaturas, de la secretaría y aún más del transportista, ansioso por entregar el dichoso paquete. Hasta esta mañana, que he visto el buzón de spam lleno de sus emails y me he hartado.

Basándome en la premisa de que es mi cuenta de correo, he decidido solicitar una contraseña contra esa dirección y me la han dado. He cambiado la contraseña y, automáticamente me ha redirigido a la intranet donde, de un solo vistazo, he visto todo el daño que se podía hacer. He cerrado la sesión y he buscado a ese Diego por internet, con la esperanza de encontrar una dirección de email (que no fuese la mía). Al final, cansado de dar vueltas, le envié este mensaje por facebook:

hola…

Me llamo Diego Martínez Castañeda y, desde abril de 2004, tengo la cuenta de correo d… en gmail.com. Quizá no te diga nada pero yo empecé a saber de tí hace unas tres semanas, cuando decidiste usar una cuenta de correo que no posees para darte de alta en una universidad de Madrid. Desde entonces, todos los emails que genera esa universidad me han llegado a mí, entre otros, los de los foros de las asignaturas y los de la empresa de mensajería que te hizo llegar un paquete a Barcelona (que aún consta como no recibido).

No seré yo quien te comente los peligros de hacer este tipo de cosas porque, por ejemplo, la manera de recuperar una contraseña olvidada es a través de dicha cuenta de correo. En el caso de la universidad no hace falta ni saber el usuario para que envíen un enlace (al email) desde donde cambiar la contraseña. ¿Y luego? Luego tienes acceso al perfil completo en esa universidad y puedes, literalmente, hacer lo que quieras, desde dar altas y bajas de asignaturas a cancelar los estudios.

¿A qué viene este rollo? Es muy sencillo: me he cansado de recibir emails que nada tienen que ver conmigo porque un día te pareció bien usar mi cuenta así que me gustaría que la cambiases en todas aquellas cuentas en donde hayas podido usarla. Entiendo el porqué lo has hecho, a nadie nos gusta que nos llenen el buzón del email con spam o correos no solicitados pero, para el futuro, te recomiendo que te crees una cuenta de correo basura donde recibir todo eso o, mejor aún, que utilices servicios como yopmail.com para evitar el spam masivo.

Por último, si no eres el Diego M… C… que estoy buscando, te pido perdón por la intromisión y me gustaría que me lo dijeses para poder continuar buscando.

Un saludo,

Diego Martínez Castañeda

PD si eres ese Diego, respóndeme al email para hacerte llegar algo que es tuyo.

Como le comentaba, entiendo que no es agradable que nos llenen el buzón de correo con spam pero, sinceramente, utilizar una cuenta de correo ajena en algo tan delicado como la ficha de alumno de una universidad me parece imperdonable. Con ciertos servicios, el email es casi como el DNI y a nadie se le ocurre dejarlo por ahí.

De momento, sigo esperando respuesta de este Diego y algún otro ejemplo de mal uso del email.

 

owncloud, actualizaciones y certificados

He actualizado owncloud, mi nube particular, de la versión 8.0.4 a la 8.1.11 y tengo la impresión de haber actualizado a Windows 10. Quizá es que, con miles de actualizaciones de debian a mis espaldas que me han malacostumbrado a que sean silenciosas e indoloras, quizá es que ninguna actualización es sencilla o quizá es que tienen varios puntos que mejorar.

En cualquier caso, tras terminar la actualización tenía tres errores en la consola de administración, varias apps que no funcionaban y un problema, que el cliente de escritorio de linux (los tres, en realidad) no conectaba. Éste último fue fácil de solucionar, actualizando el cliente a la versión 2.0, que además soporta múltiples cuentas sin hacer cosas raras.

error no internet connection

De los errores, el más extraño era uno que decía que owncloud no tenía conexión a internet y que era necesaria para un funcionamiento adecuado. Lo extraño es que ese servidor está en algún lugar de Bélgica y yo, obviamente, no cojo el coche cada vez que quiero conectarme. Además, este error en concreto parecía deberse a un fichero de configuración viejo, según el solucionador de problemas de actualización, que no existía.

Leyendo a más gente con el mismo problema (y conexión a sus servidores remotos), me encontré con una persona que atinaba con la solución, diciendo que en un hilo de github alguien decía algo de un certificado. Y así es. El error se debe a que owncloud no reconoce a https://owncloud.org como entidad certificadora hasta que no tiene ese fichero y lo asocia con una desconexión de la red. La pregunta es porqué no se asegura el proceso de actualización que ese fichero existe antes de validar nada más. Así que, para solucionar el error más absurdo de owncloud, sólo tuve que descargar el código y copiar el fichero /config/ca-bundle.crt en mi instalación de owncloud. Nada más. Y, a partir de ese momento, las apps que no funcionaban y el propio entorno de gestión de apps, comenzaron a funcionar correctamente.

A lo tonto he estado pegándome con la actualización de marras unas cuantas horas para tenerlo todo bien configurado. Y luego damos (doy) por sentado que las actualizaciones tienen que ser sencillas, rápidas e indoloras. A ver si aprendo.

 

Configurando una raspberry pi 2 como servidor NAS

Creo que ya he comentado que tengo un par de raspberry pi, de los modelos 1 y 2. El proyecto en sí me fascinó desde que supe de el y luego, al comprar la primera, caí rendido a sus pies por todo lo que ofrece con ese precio y esos consumos mínimos. De hecho, el día que raspas (la raspi 1) tiene tos, toda la red de mi casa se convulsiona porque, entre otras cosas, sólo es el guardian de la wifi y, por extensión, de la entrada y salida a la red.

Así que cuando por fin tuve en mis manos la versión 2 de la raspi, ranas (raspberry nas server), ya tenía más proyectos que llevar a cabo que tiempo para implementarlos. Tuve que elegir y los finalistas fueron tres:

  • NAS y servidor de backup para todos los ordenadores de la red (linux, windows, mac) y alguno externo.
  • centro multimedia con kodi.
  • consola MAME.

Para poder llevar a cabo el primero quería que no tuviese que estar anclado a un disco duro externo que necesitase de un enchufe y que pudiese ser portátil (de una manera un poco tosca), así que tenía que utilizar un disco duro externo de 2,5′ comprado para la ocasión. El pero vino porque los dispositivos USB 3.0 necesitan más corriente que la que suministra un único puerto USB de la raspi y la solución, como casi siempre, estaba en ebay. Por cuatro euros adquirí un sofisticado mecanismo capaz de suministrarle toda la energía que necesita el disco duro externo: ¡un cable en forma de Y para USB 3.0!

Los dos últimos proyectos sólo tenían dos necesidades: estar físicamente cerca de la televisión (a un cable HDMI de distancia) y tener conexión inalámbrica puesto que no llega ningún RJ45 al salón. Así que lo primero era la conexión wifi.

Conexión wifi

El dongle USB wifi que compré en una de esas cadenas que te tratan como a un gilipollas lo reconoció sin problemas, una vez instalado el paquete con el firmware adecuado a la marca, así que para conectarla a la red, modifiqué el fichero /etc/network/interfaces:

Como el filtrado de MACs para obtener una IP de la wifi lo gestiona raspas, sólo hay que decirle que use DHCP y la contraseña de acceso. En total, poco más de diez minutos para poder quitarle el cable RJ45.

Reviviendo el disco duro

Mi cara fue un poema cuando recibí el cable porque, al conectarlo todo, no funciona. De hecho, el disco no terminaba la maniobra de arranque y emitía unos quejidos que daban mucha lástima y algo de miedo. Leyendo un poco sobre el voltaje en los puertos USB en las raspberry pi me enteré de que el cable sí que funciona pero que, por defecto, las raspi limitan la potencia de salida de los USB, por lo que incluso empleando dos puertos, el disco duro no tenía suficiente para operar con normalidad.

La solución es sencilla y rápida. Hay que pasarle un parámetro al fichero config.txt que es el equivalente a la BIOS que las rasp no tienen, diciéndole que utilice toda la potencia en los puertos USB.

Tras reiniciarla, la raspi comenzó a usar el disco sin ningún problema.

Nota: en versiones anteriores de raspberry pi (1 y 1+) el parámetro es este, safe_mode_gpio=4. De nada.

NAS, ra NAS

Para hacer que ranas sea el NAS de la red, hay que hacer que comparta un espacio en disco donde el resto de ordenadores podrán escribir siempre que cuenten con un usuario válido. Así que lo primero es instalar samba y lo segundo, crear un usuario en el sistema que usaremos para gestionar dicho espacio.

En mi caso el usuario se llama nas y no podrá iniciar sesión en el sistema:

A continuación, creamos el espacio en samba, comentando el resto de volúmenes compartidos y añadiendo este:

Preparamos el disco duro y reiniciamos samba:

Y, finalmente, añadimos al usuario nas a la base de datos de usuarios de samba:

Después de esto, podremos conectarnos mediante el protocolo CIFS (antes SMB) a la raspberry y podemos apuntar aquí los programas de backup y comenzar a volcar datos, copias de seguridad o capítulos de series para luego ver con kodi, por ejemplo.

ranas-cifs

Disclaimer

La raspberry pi tiene los puertos USB conectados a la tarjeta de red por lo que no me hago ilusiones con lo que respecta a la velocidad, incluso cuando no utilizo dicha tarjeta de red. Pero no me importa demasiado porque se trata de una prueba y tampoco tengo excesiva prisa.

Para finalizar una imagen que prueba lo que se puede hacer con un poco de tiempo, una brida de fontanería, un disco duro y una raspberry pi 2. 🙂

pi-nas01

pi-nas02

 

dnsmasq y la persistencia de las IPs

A veces pasa. Te obsesionas con un problema determinado, algo nimio pero capaz de perturbar tu sueño por el mero hecho de estar ahí, de existir. Pasa el tiempo y no das con la solución y, finalmente, cansado de la situación, desistes. Pues bien, lo que suele pasar es que en un plazo de tiempo no superior a las dos semanas, la solución te busca y, claro está, te encuentra. ¡Maldito Murphy!

La última solución que me buscó y me encontró, tiene que ver con dnsmasq, el servidor de DNS y DHCP que tengo funcionando en raspas, el ordenador más importante de mi casa, ese que entra en una cajetilla de tabaco. Con la limitada capacidad de raspas no hay nada mejor que un servicio ligero y muy ágil que apenas entorpece. Mi problema, decía, tenía que ver con la asignación de direcciones IP y, básicamente consistía en que tenía todo el rango separado según el tipo de solicitante (móviles, tabletas, ordenadores personales, ordenadores de trabajo, lavadoras, tostadoras, etcétera…) y en unos pocos casos, ignoraba mis instrucciones y asignaba una IP diferente, aunque reconociese al dispositivo.

Concretamente me tenía frito que mi movil, nexus no tuviese la dirección IP 20 asignada con mimo y cariño sino la 131. Tras realizar todo tipo de ajustes en la configuración del servicio, cambios en el direccionamiento IP y un largo etcétera de pruebas, todas infructuosas, claudiqué y admití mi derrota a manos de un ordenador que se llama igual que el esqueleto de las sardinas. De eso hace un par de semanas.

Hoy sólo quería saber dónde podía encontrar una lista de los dispositivos que tienen asignada una dirección IP en dnsmasq.

Una búsqueda rápida y el primer resultado, una respuesta de una lista de email, sólo dice que la tiene en el fichero que contiene los préstamos de IPs, en /var/lib/misc/dnsmasq.leases. Y es cierto, contiene esa lista, un poco más grande de lo que esperaba. De hecho, estaba a punto de cerrar el fichero cuando un dato llamó mi atención: algunos de los equipos listados sólo habían estado conectados unas horas, mucho tiempo atrás. Mirando con más detenimiento, observé que, además, esos equipos tenían direcciones IP que deberían estar asignadas a otros, como el nexus. Y todos ellos tenían un bonito cero al principio de la línea. En este punto, sólo quería llorar.

Lo que acababa de ver era una demostración del concepto de persistencia. Al principio, cuando estaba aprendiendo a usar dnsmasq le asigné a los equipos con una IP determinada un tiempo de arrendamiento muy alto, infinito concretamente. Luego decidí cambiar el direccionamiento y, aunque cambié en la mayor parte de los casos la etiqueta infinite por 12h, no limpié la base de datos y esas IPs seguían reservadas hasta el infinito y más allá. Por eso, por mucho que intentase asignarle la 20 al nexus el servidor seguía dándole una muy superior y alejada de mis sueños de orden y categorización, puesto que ya primera ya estaba asignada por siempre jamás.

Bastó una prueba para que quisiese darle cabezazos a la pared. Detuve el servicio, borré las entradas viejas del fichero /var/lib/misc/dnsmasq.leases y volví a levantar el servicio. A continuación solicité una nueva IP desde el móvil y… dnsmasq le asignó la número 20.

Por supuesto, ya le había cambiado el tiempo de asignación en la configuración para que nunca más tuviese otra IP.

¿La moraleja de esta historia? Que nunca barres toda la mierda de debajo de las alfombras. Siempre queda algo que, además, apesta.

 

Caja/nautilus no puede con las direcciones network://

A veces sucede que, cuando tienes que instalar o configurar un ordenador nuevo, simplemente esperas que todo funcione como debiera tras instalar los taitantos megas correspondientes. Pero no siempre es así y, como la memoria de uno ya no es lo que era, la búsqueda de soluciones se vuelve un laberinto del que no resulta fácil salir.

En esta ocasión (habrá otras, no lo dudo), el culpable ha sido Caja, al tratar de acceder vía SAMBA a mi raspberry para recuperar el último episodio de una serie. Con toda su desfachatez, me mostraba el mensaje:

Could not display “network:///”.
Caja cannot handle “network” locations.

NOTA: el error, lo he constatado, aparece tanto para nautilus como para caja.

Fue echarle un ojo y saber que estaba relacionado con GVFS porque todo lo que huela a red en GNOME y alrededores tiene que ver con ese paquete, pero me tuve que pasar mis buenos quince minutos buscando, cribando la red en dos idiomas distintos para dar con la solución. Son dos míseros paquetes:

Y listo, caja (o nautilus) volverá a funcionar como siempre, accediendo vía samba y ssh al resto de la red.

 

La importancia de tener un wiki personal

Mira a tu alrededor, sobre la mesa. ¿Qué ves? Voy a hacer una suposición basándome en el perfil medio de la gente que lee este blog y diré que, probablemente, veas monitores, teclados y ratones (si, más de uno), un par de móviles, una tableta en un rincón, un par de figuritas de acción, peluches o juguetes similares y una libreta o, en su defecto, varias hojas de papel escritas a mano. Porque, aunque nos dediquemos a trastear con servidores, ordenadores más o menos potentes y nos pasemos todo el día entre unos y ceros, estoy seguro que la mayoría de nosotros aún mantiene una especie de diario, un cuaderno con notas, explicaciones y trucos sin el cual se siente a la deriva en pleno temporal. ¿He acertado?

Puesto de trabajo: mensaje real, mi sobrino, lobezno, un pitufo y, al fondo, la libreta

Personalmente mantengo la costumbre del cuaderno desde mis comienzos en esto de las teclas porque los discos duros se funden, las copias de seguridad se corrompen, las nubes se evaporan pero el papel dura siempre. Además, dada mi caligrafía casi puedo decir que están cifrados con AES a 256 bits :). Y fue precisamente por culpa del cuaderno, porque me lo olvidé sobre la mesa un tranquilo fin de semana, por el que estoy escribiendo sobre wikis personales.

En mis cuadernos anotaba prácticamente todo lo que pasaba en el día a día, desde el cumpleaños de mi chica hasta alguno de esos trucos que te deja boquiabierto durante horas. Bueno, hay una cosa que nunca escribo en los cuadernos: contraseñas. Así es fácil entender porque, un fin de semana que se preveía tranquilo y que luego no lo fue, me encontré cribando el disco duro del portátil en busca de un pequeño tutorial que sabía fehacientemente que tenía en la libreta y que esperaba tener en formato digital. Al final, me di por vencido y admití que no tenía forma de conseguirlo a corto plazo, simplemente porque está escrito sobre un papel y no podía conectarme al servidor de casa y descargarlo. Porque el papel, aunque duradero, presenta algunas incomodidades como que está offline todo el tiempo, que las búsquedas son bastante lentas y, sobre todo, que si tienes que volcar la información a un email o documento, estás trabajando dos veces (¡y eso sí que no!)

Así que decidí que tenía que hacerme con una libreta digital que cumpliese unos sencillos puntos:

  1. offline: que pueda trabajar sin estar conectado a la red. Esto anula wikis en servidores, por ejemplo.
  2. ligero: que no sea un mamotreto imposible de mover o que ocupe demasiado espacio. Tampoco vale que requiera de varios servicios para funcionar.
  3. organizado: que tuviese una estructura fácil de organizar y, sobre todo, funcional.
  4. búsquedas: y cuanto más fácil sea hacer esas búsquedas, mejor.
  5. nube: que pueda almacenarlo en la nube.
  6. multiplataforma: ya que estamos, quiero poder usarlo desde linux, android y, llegado el caso, windows.
  7. markdown: no markdown, no fun…

Una vez comenzada la búsqueda, el primer punto sirvió para descartar a los clásicos que, sobre todo, funcionan mejor sobre servidores y VPS. Luego me pasé un tiempo utilizando la infalible triada Tomboy + rainy + Tomdroid (si no sabes qué es esto, tranquilo, otro día lo cuento) pero resultó ser bastante complicado de organizar jerárquicamente y las búsquedas no eran todo lo óptimas que quería. Finalmente me decidí por los wikis personales y estuve probando con mucho interés Tiddly, un wiki completo en un fichero de un megabyte. Se puede mover con facilidad, tiene contraseña para evitar fisgones, utiliza markdown (una versión propia, aunque bastante bien adaptada), permite búsquedas y se puede abrir con cualquier navegador moderno. Incluso soporta plugins y tiene un cliente para escritorios. Pero no me permitía organizar jerárquicamente las entradas ni buscar fuera del fichero.

Frustrado, entendí que tenía que volver a los orígenes, al génesis. Y para mí, el génesis son los ficheros de texto plano con un nombre formateado y jerarquizado, guardados al cobijo de la nube y escritos mediante markdown. Porque, seamos sinceros, ¿hay alguna forma más rápida de buscar información que haciendo un grep sobre el contenido de un directorio? ¿Hay forma más natural de escribir que usando un editor de texto que interpreta markdown y, además, reconoce la mayor parte de los comandos de vim? Personalmente, y tras meses usándolo, puedo decir que la respuestas es un NO rotundo.

haroopad en acción

Yo he encontrado en haroopad el procesador de textos de markdown definitivo. He probado muchos, porque alternativas hay a porrillo, pero me quedo con éste aunque me deje la CPU cercana a la temperatura de fusión. Y sí, soporta un gran número de comandos de vim, incluyendo sustituciones, lo que lo hace idoneo para la tarea. En android utilizo JotterPad que es rápido, no distrae y se integra perfectamente con algunas nubes.

El tema de las búsquedas, al tratarse de ficheros de texto plano, es trivial y se puede solventar con un grep o, directamente desde vim. Para la organización y la nube, la respuesta es crear un directorio concreto para albergar los ficheros, por ejemplo, ~diego/docs/minube/000_wiki/ y nombrar los ficheros comenzando con la fecha en formato americano para darles una organización jerárquica adecuada. Al final quedaría algo así:

También utilizo palabras clave al principio del nombre si la fecha no tiene importancia o para separar por proyectos. Si se acompaña con una breve descripción la cosa mejora.

Y así es como, poco a poco, fui haciéndome una libreta digital, accesible desde cualquier punto y que evite episodios como el de aquel fin de semana. No quiere decir que ya no utilice la libreta, sigo haciéndolo pero para tomar notas rápidas y cualquier información que no sea vital. Eso sí, con el cambio he perdido el cifrado inmediato a AES-256 que daba mi caligrafía.

 

Instalar Cyanogenmod en un Samsung Galaxy S II (i9100)

Android

Android

En un ataque del clásico CuñaoWare he hecho un manual para instalar CyanogenMod en un i9100, un Samsung Galaxy S II. Aunque el manual de CM está suficientemente explicado y contrastado me he encontrado con algunas dificultades (o curiosidades), de ahí la necesidad de escribirlo. Porque lo único seguro del CuñaoWare es que, más tarde o más temprano, volverá a suceder :).

Instalar Cyanogenmod en un Samsung Galaxy S II (i9100)

 

n1mh.usesthis.com

Nota de debish: mentiría si os dijera que esto es una idea original, que se me ocurrió ayer mientras iba en el metro camino al trabajo. La verdad es que está inspirado (por utilizar un adjetivo elegante) en la magnífica web The Setup, que descubrimos hace algún tiempo y de la que somos fervientes seguidores. Por eso decidimos hacer nuestra propia versión y contaros con qué cacharrejos afrontamos el día a día, tanto en el trabajo como en casa, en nuestros momentos de ocio.

¿Quien eres y a qué te dedicas?

Me llamo Diego Martínez Castañeda aunque algunas personas, sobre todo las que van a leer esto, me conocen como n1mh. Desde hace más de quince años me dedico a la administración de sistemas operativos libres, GNU/Linux principalmente. Admito que hubo temporadas en que tuve que pelear con ventanas y manzanas pero aquello pasó y lo considero un error de juventud.

Actualmente mi trabajo consiste en hacer evolucionar y mantener los productos en WhiteBearSolutions. Anteriormente estuve involucrado en la creación, gestión y mantenimiento de una distribución personalizada basada en Debian GNU/Linux, para un servicio de salud público.

En mi tiempo libre practico algunos deportes para evitar el sedentarismo que implica trabajar desde casa, principalmente la natación y el conocidísimo «hacer el ridículo en el gimnasio». También trato de mantener vivo y engrasado mi inglés, acudiendo a clases y reuniones. Y, por supuesto, leo, leo prácticamente todo lo que caiga en mis manos o en mi ebook.

Cuando una persona lee mucho llega un momento en que cree que puede escribir tan bien o mejor que aquellos a los que admira. Antes, en la era pre-internet, los editores se encargaban de bajarles los humos a quienes llegaban a esa conclusión. Hoy, sin nadie que nos contradiga o nos haga ver la realidad, seguimos adelante y abrimos un blog tras otro tratando de hacer llegar nuestros textos al otro lado del mundo.

En mi caso aún mantengo unos pocos, sin contar con la familia y los amigos. CuentasCuentos es el sitio donde dejo textos y cuentos, tantos míos como de otras personas y en DebianHackers, dabo, debish y yo dejamos constancia de todo lo relacionado con el software libre y Debian GNU/Linux, a modo de bitácora.

También he recopilado varios textos y montado un libro con ellos y participado en otro de relatos titulado Cuentos y reencuentros.

¿Qué hardware utilizas?

Aunque tengo varios ordenadores/servidores y también un VPS en algún lugar de Los Angeles, voy a ceñirme al hardware que estoy usando y con el puedo cacharrear.

Para el trabajo tengo un Acer E1-571 que, sinceramente, no ha podido salir mejor. Su lugar natural en el despacho es sobre una peana, conectado a un segundo monitor Dell de 17 pulgadas y a un teclado Logitech Cordless Pro (torcido, torcido) y un raton inalámbrico Logitech V470 cordless laser. Con un i5 y 4GB de RAM no puede mantener más de dos máquinas virtuales abiertas junto a navegadores, clientes de correo y programas ofimáticos pero, sabiéndolo, es fácil evitar bloqueos por agotamiento de los recursos.

Para casa tengo un ordenador de sobremesa que monté hace pocos años y que aún funciona estupendamente bien, tanto para procesar fotos como para jugar a algún videojuego hiperrealista. Otros 4GB de RAM sobre un DualCore y una tarjeta gráfica con 1GB de RAM permiten eso sin complicaciones. También tiene su propio teclado torcido, por supuesto.

Pero curiosamente, el ordenador más importante de mi casa es raspas, una Raspberry Pi de segunda generación que entre otros menesteres se encarga de autenticar a todos los chismes que intentan conectarse a la wifi, proveerme de las mejores series vía bittorrent y hacer backup de mi VPS, entre otras cosas. No se queja, no falla y apenas consume.

A esto hay que añadirle un ventilador USB que me alegra los veranos y varios discos duros para salvaguardar datos, fotos, videos y un sinfín de gigas en información sin los que, muy probablemente, no dormiría bien.

En el teléfono móvil utilizo Android puro, sin complicaciones, con un Galaxy Nexus sin el que estaría bastante perdido. Y, desde que vendí el iPad de primera generación hace un par de años, tengo una tableta Nexus 10 con un pequeño teclado bluetooth para escribir más rápido.

¿Y qué software?

Uso Debian GNU/Linux como sistema operativo en mis dos ordenadores, wheezy para trabajar y sid para casa, con una cantidad ingente de software. Últimamente el entorno de escritorio que utilizo es MATE desktop porque es la revisión moderna del mejor GNOME y no colapsa mis equipos ni deja la CPU echando chispas, aunque también valoro y he usado GNOME y XFCE4.

Para navegar, Mozilla Firefox aunque en algunas ocasiones tenga que utilizar Google Chrome. De mi correo electrónico se encarga Mozilla Thunderbird, con una horda de plugins para hacer las cosas más fáciles. Para la mensajería instantanea utilizo los hangout de google, skype y pidgin con una cuenta de jabber.

Si hay un programa imprescindible para mí, es Vim. Lo utilizo en mis máquinas, en servidores e incluso en el MacBook de mi pareja porque, como en linux todo es un fichero y suelen ser de texto, no hay mejor opción para leerlos o modificarlos. Como editor de textos a alto nivel utilizo Haroopad desde que me rendí a markdown. Y aunque también podría decir que lo uso para casi todo, desde tomar notas rápidas hasta elaborar actas de reuniones o escribir textos como este. Por supuesto, con el mapa del teclado de Vim. Para todo lo demás, aquello que necesita más presentabilidad, LibreOffice.

Para la fotografía utilizo Rapid Photo Downloader, rawstudio (procesado), GIMP (procesado y pulido), hugin (para crear fotos panorámicas), phatch (procesado por lotes) y GPScorrelate (geoposicionamiento). ¡Y ni así consigo que salgan más de tres o cuatro bien!

Para el almacenamiento en la nube uso dropbox y owncloud. Para la virtualización de máquinas, VirtualBox y para establecer conexiones remotas y solucionar el clásico «yo no he hecho nada», TeamViewer.

En las webs que mantengo utilizo WordPress como CMS desde sus primeras versiones sin ninguna queja, intentando que el número de plugins utilizados no tenga suficiente masa crítica para tomar consciencia y despertar a SkyNet.

Y luego hay otros programas que, sin ellos, estaría perdido (y no me avergüenza reconocerlo). La lista es breve pero intensa:

  • revelation, gestor de contraseñas mediante ficheros cifrados. Y si lo combinas con aRevelation para Android, el mundo se vuelve un poco más luminoso.
  • Transmission, cliente bittorrent ligero, rápido y sencillo de usar. Lo uso desde la línea de comandos, mediante GTK+ y a través de Transdroid, en el móvil.
  • Vym, creador de mapas mentales. Desde que los descubrí hace años, este programa me ha servido para ordenar ideas, preparar documentos y organizar podcast, entre otras cosas.
  • Synapse, el lanzador de aplicaciones, entre muchas otras cosas.
  • Back In Time, gestor de copias de seguridad. Porque no todos tenemos ánimos para guardas la información importante en /dev/null.

¿Cuál sería el setup de tus sueños?

En lo tocante al software no creo que pudiera prescindir de ninguno de los programas mencionados, así como sé que el sistema operativo no es negociable. Pero en cuanto al hardware, ahí sí que hay posibilidades para soñar.

Me decantaría por un portátil con la CPU más potente que se pueda encontrar, 16GB de RAM al menos y un par de discos duros, uno SSD y otro mecánico de un par de teras. Y también tendría varios USB 3.0, salida HDMI, puerto ethernet gigabyte y una webcam decente. Por supuesto, todo ello metido en una carcasa metálica (me gusta ese tacto), con un buen monitor LED de 15 pulgadas y equipado con un teclado cómodo y ergonómico de 105 teclas sin teclado numérico. ¡Ah! Y que no pese más allá de los dos o tres kilos que uno ya va teniendo una edad donde estas cosas importan.