Las notas para programadores de Boostnote

Entre las herramientas de productividad que solemos usar los programadores son las de tomar notas. En general empleamos de lo mas variopinto, desde las “notas adhesivas” físicas pegadas en el propio monitor de coste de memoria RAM 0 a las virtuales empleando las mas diversas aplicaciones. Unos prefieren las notas de Windows, otros mas serios  tiran de Evernote, los los uusarios de Android tienen un cierto gusto por Google Keep por llevárselas también en el móvil… y aún no me he encontrado con nadie que le preste atención fuera de la empresa al pobre OneNote que Microsoft nos coloca con calzador en Windows 10, pero existir, existe.

Hoy pretendo hablaros de una alternativa de código abierto dentro de este este campo enfocada exclusivamente a programadores: Boostnote. Se trata de una aplicación de notas jóven y en algunos aspectos rudimentaria, pero que hace exactamente lo que necesito: me da un lugar donde guardar mis notas con mi montón de enlaces y múltiples galimatías de código, catalogándolas y proporcionado un estupendo sistema de indexado.

Las notas para programadores de Boostnote

El sistema se basa en 2 tipos de notas: con Markdown o mediante Snippets que pueden agurparse en una entrada. El primer tipo nos permite usar el formato ligero y cómodo de texto que es Markdown, que puede que algunos de los que andais con WordPress lo que algunos consideran “el modo hardocre” o hayais manipulado Wiki, mientras el segundo puede agrupar fragmentos de código formateado y con coloreado. Lo segundo es muy atractivo porque es similar a los gists de Github, pero mas manejable y mejor ordenado para uso personal. Si bien a primera vista el markdown puede parecer poco parecer poco intuitivo, una vez se le coge el punto es un lenguaje extramadamente rápido y cómodo de usar.

Las notas para programadores de Boostnote con mardown

Las principales ventajas que le encuentro son:

  • Facilidad para ordenar el contenido mediante carpetas o etiquetas.
  • Facilidad de búsqueda general en todos los ficheros.
  • Posibilidad de configurarlo con tema oscuro, lo que mis ojos agradecen.
  • Autoformateado de código fuente.
  • La caja de búsqueda nos permite hacer búsquedas dentro del markdown o de los snippets, pero hay que configurarla aparte si estás en Windows 10.
  • Mas de 100 lenguajes disponibles para el coloreado sintáctico de los snippets.

Pero por supuesto no todo es maravilloso: las mayores pegas son:

  • No tiene sincronización propiamente dicha: se puede sincronizar la carpeta de biblioteca dentro de una aplicación de sincronización como Dropbox o Google Drive y con ello puentearlo, pero se podría mejorar.
  • Las aplicaciones móviles aún dejan que desear, y solo hay sincronización parcial con Dropbox.
  • La exportación de snippets tampoco es para echar cohetes.
  • Es simple markdown, el tratamiento de imágenes en las notas no es lo suyo.
  • Es de uso personal, pero hay un proyecto para equipos en proceso llamado 10hz en desarrollo.

En conclusión, estamos ante una aplicación en desarrollo con un público muy concreto. Aunque considero que prácticamente cualquier persona podría hacerse rápidamente con el markdown, y que tanto este lenguaje como el HTML a nivel mas básico es fundamental hoy en día para manejarse mínimamente ante cualquier documento digital responsivo (redimensionable o screen-friendly, que se vea bien en cualquier pantalla ya sea un monitor gigante o un móvil), el factor pereza echa para atrás a una enorme cantida de gente. Yo le estoy dando bastante uso y me está dando buen resultado para el trabajo y proyectos personales, pero aún no es lo suficientemente potente como para poder centrar todas mis notas en este sistema.

Anuncios

Los “snaps” de Ubuntu

Una de las recientes novedades de la versión LTS de Ubuntu ha sido la introducción del sistema de paquetes snap. Así que voy a dedicar unos minutos a hablar del tema por alusión reciente.

¿Ubuntu snappy?

Tradicionalmente, a la hora de instalar solíamos pelearnos con los ficheros .deb (de Debian, la distribución padre de Ubuntu), que tenían como ventaja que instalaban “lo que se necesitaba”. Con esta expresión quiero decir que el paquete traía su código y poco más, las dependencias se instalaban según se necesitasen o no, y esto tenía como ventaja que los paquetes eran ligeros y sólo teníamos una única vez instalados en nuestros discos duros. Por supuesto, el mundo no es siempre tan ideal, y al actualizar paquetes de algunas dependencias la aplicación que instalamos con .deb dejaba de funcionar…

Ahí entra snap, un sistema en el que empaquetamos todo, absolutamente todo lo que la aplicación necesita para ejecutarse, como si se tratase de un bloque individual hermético. si bien tendremos código repetido en nuestras unidades de almacenamiento, podemos garantizar que en todo momento nuestra aplicación funcionará, y además la desinstalación será mas limpia.

Así que cada una tiene sus ventajas y sus inconvenientes. Hace unos años, una solución como la de snap era difícil de llevar a cabo porque el almacenamiento en sistemas Linux tendía a ser precario. Seamos honestos, la mayoría de las máquinas en las que se suele hacer correr Linux suelen ser equipos con unos años, a los que les alargamos su ciclo de vida al utilizar un sistema operativo en el que consumamos menos recursos. Pero a día de hoy la memoria es barata: tarjetas SD, pendrives, discos duros externo… es muy fácil ampliar y quitarnos el problema, lo que hace que ahora las bases hayan cambiado.

Vamos a lo técnico, que es muy similar al apt-get clásico:

Para instalar con snap desde consola usamos:

sudo snap install <em>package-name

Para actualizar:

sudo snap refresh <em>package-name

Y para eliminar:

sudo snap remove <em>package-name

Cuando el reloj de sistema de Android se bloqueó

Hoy os hablaré de mi última pelea informática a nivel usuario por si a alguno le es útil. El último fin de semana por la noche se me quedó congelado el reloj de sistema de Android del móvil a cosa de las 4 de la mañana… cosa que no descubrí hasta que me levanté bien entrada la mañana. Era fin de semana así que no me supuso ningún trastorno, asumí que era cosa de ponerlo hora y fuera. No le dí mucha importancia porque el móvil podría haber tenido algún problema momentaneo de conexión al repetidor y lo volví a sincronizar desde las opciones de sistema usando la hora de internet, y adelante. Nota cultural para quien no lo sepa, los teléfonos móviles pueden se pueden sincronizar mediante geolocalización con la ayuda de torres de telefonía, un ejemplo muy claro es por los cambios de hora o los cambios zona horaria al viajar. Un fallo de conexión durante ese protocolo puede provocar una congelación por un tiempo, y con un cierto margen de error, se podría haber asumido que estaba pendiente del cambio de hora de invierno y se quedó ahí frito.

Cuando el reloj de sistema de Android se bloqueó

Pero a la noche se volvió a congelar… y al día siguiente a media mañana. Y cuando me refiero a que el fallo era del reloj interno, lo que quiero decir que la aplicación de widget de reloj no daba problema alguno, solo el de la banda superior del móvil, el que está junto a los iconos de notificación de cobertura, wifi y demás. Si en el momento podría dar igual porque como reloj seguía sirviendo perfectamente, el problema era que las alarmas del móvil no suenan precisamente por ese fallo, y esa es una función a la que le suelo sacar provecho… así que llega la típica pregunta, si antes funcionaba y después no ¿qué había cambiado en ese periodo de tiempo que pudiese haberle afectado?

Tras echar una ojeada al historial de actualizaciones recientes, mi candidatas eran 3: Twitter (no le ví relación algún), Gmail (la lógica me decía que no era muy probable) y Calendar (esa tenía algo mas de sentido). Así que tras andar mirando un rato los changelog (la lista de cambios) ví que las 2 aplicaciones de Google habían tocado los eventos y recordatorios y se interconectaban, ya los recordatorios en ambas están atados a fin de cuentas a fecha y hora. Así que igual algo había ido mal en esa actualización y eso había dejado esa parte del programa frito, porque ya que todos los widgets de reloj independientes se portaban no parecía ser que algo mas gordo se hubiese muerto… En consecuencia volví esas 2 aplicaciones a la versión de fábrica (lo que sería desinstalar dentro de una aplicación atada a la imagen de sistema operativo), limpié, reinicié el sistema para asegurarme que iba desde 0, y tras ese proceso las volví actualizar. Todo fue bien y desde entonces llevo casi una semana sin haber vuelto a tener problemas.

Hellblade o la representación de la enfermedad mental

Hellblade es un título que estuvo resonando durante bastante tiempo. Lo que al principio pensaba que iba a ser un sucesor espiritual de Heavenly Sword (las primeras imágenes de arte conceptual recordaban a la niña del arco de ese juego) fue tomando poco a poco una forma muy diferente y que cada vez sonaba mas raro… ¿una guerrera celta en el infierno vikingo?

Hellblade o la representación de la enfermedad mental

Ninja Theory tradicionalmente ha resultado un estudio polémico: brillante en medios, original en su desarrollo y narrativa, absolutamente único e impresionante en la parte visual y arte conceptual (su colorido siempre ha sido muy distintivo)… pero en contrapartida siempre se quedan cortos en duración, el sistema de combate es simple y su habilidad en las relaciones públicas ha dejado que desear en mas de una ocasión. Lo que por definición nos proporcionan en todos sus títulos es una experiencia novedosa desde el punto de vista audiovisual, que aunque su rejugabilidad es escasa, nos que deja una impresión fuerte y duradera. En mi caso, con la excepción de DmC (es lo que tiene hacer una incursión en una franquicia establecida y no cumplir expectativas mínimas), siempre he considerado que merecen mi tiempo, asi que en un fin de semana me decidí a sentarme a jugar este peculiar “juego de acción”.

De entrada, usar el término de “acción” para definir este juego probablemente no sea lo mas adecuado, porque la mayor parte del juego simplemente estás caminando resolviendo puzzles, teniendo unas pocas escenas de combate  contra 5 o 6 tipos de enemigos… Si tuviese que etiquetarlo mas bien me quedaría en psicológico, o antes se quedaría con los de terror antes que con los de acción.

La historia del juego es un poco confusa y la tenemos que reconstruir poco a poco: Senua es una guerrera celta, por el diseño de la pintura de guerra que lleva podríamos decir que seguramente picta, que sufre trastornos mentales. Por lo que te cuentan siempre había tenido problemas y por ello ha sido una paria en su clan, pero tras la invasión vikinga y la muerte de Dillion, su pareja, la situación ha empeorado drásticamente. Cuando vuelve de su exilio autoimpuesto en el que intentaba controlar “su oscuridad” (que es la manifestación de su trastorno) se encuentra que Dillion fue sacrificado a los dioses extranjeros por los invasores, y esto implica según sus sistema de creencias que su alma debe encuentrarse en manos de estos en el inframundo vikingo. La convicción de que para recuperarlo debe llevarle su cabeza a la diosa Hela, para ésta que coloque su alma de nuevo en su recipiente del mundo de los vivos, es lo que la mueve en su perturbador viaje enfrentándose a la manifestación de sus trastornos.

La gran pregunta a lo largo del juego es: ¿qué es real y qué no? Conforme avanzamos vamos viviendo recreaciones de la esquizofrenia, y la sensación de agobio va en aumento: voces que no paran de hablar ya sea animándote o criticándote, dándote órdenes contradictorias que  generan confusión al jugador, luces y símbolos difusos que en ocasiones nos deslumbran y pueden llegar a marear, o momentos en los cuales durante el movimiento todo se vuelve tan difuso que apenas podemos orientarnos y nos vemos obligados a detenernos. Los flashbacks y las palabras hirientes por parte de las personas cercanas que no entienden por lo que está pasando se unen situaciones en que la realidad parece un montón de cristal roto y nos cuesta ver la imagen que tenemos delante, mientras una sustancia de aspecto viscoso y putrefacto va subiéndole a Senua por el brazo como representación de la oscuridad que la acosa sin descanso, envolviéndola poco a poco. A dicha oscuridad que sigue su camino ascendente  cada vez que fracasamos (que nos matan en el juego) se une al único aviso que recibes por parte de la interfaz: si ésta alcanza la cabeza de Senua todo se habrá acabado y se nos borrará la partida.  La unión de todos estos elementos llevan al jugador a una experiencia un tanto extrema que no será del agrado de todos los públicos, en la que la realidad y la ficción cada vez se van desdibujando más llegando a tener que aceptar simplemente como “real” lo que Senua experimenta, para no quedarte atorado en la historia.

Hellblade o la representación de la enfermedad mental

Un aspecto llamativo es que no tenemos ninguna interfaz gráfica, lo que hace que tampoco tengamos claro dónde estamos (nada de mapas), ni hacia dónde vamos, el estado en que se encuentra nuestro personaje (o nuestros enemigos) en términos de salud o cordura, ni ningún tipo de tutorial, con lo que es un “sobrevive como puedas”, “nada o ahógate”. El sistema de movimiento es bastante fluído y responsivo, y en mi caso particular solo tuve problemas técnicos en una secuencia, en las cuevas oscuras donde “habita Fenrir/Garm”, donde el personaje se me quedaba enganchado arrastrándose hacia la salida por una grieta y murió tontamente unas cuantas veces.

En conclusión, Hellblade, que visualmente es una maravilla y tiene un sonido ambiental impresionante, está cargado con una atmósfera tremendamente opresiva que nos tiene en tensión la mayor parte del tiempo y con una sensación casi perpetua de malestar. Todo este atrezzo de mitología nórdica nos proporciona una experiencia que nos ayuda a empatizar con las personas que sufren problemas mentales de una manera que no ha logrado hasta la fecha ningún otro medio, lo que hace que el tiempo invertido en él haya sido muy educativo, pero no especialmente agradable.

¿Recomendaría este juego? Como experiencia, si. Desde un punto de vista humano, desde luego, pues ayuda a entender por lo que pasan o han pasado algunas de las personas que nos rodean. Desde un punto de vista artístico, por supuesto, es una maravilla visual, sonora y conceptual, llena de originalidad.  Pero si lo que pretendes es sencillamente pasar un rato evadiéndote, desconectando de todo y relajándote, definitivamente mantente alejado de él, porque igual sales agobiado, con un algo de dolor de cabeza y hecho papilla anímicamente.

La prueba de los 280 caracteres en Twitter

Quienes hemos desarrollado en algún momento en Twitter conocemos de sobra la tormentosas situación que hay con ellos: se crean clientes externos que hacen mucho mas fácil el uso mediante su API, y cada cierto tiempo, ellos hacen cambios que:

  1. Incluyen algunas de las mejoras desarrolladas por un tercero (han tardado años en darnos un tema oscuro).
  2. Hacen un recorte en las peticiones de la API para limitar el uso desde cliente de terceros (Fenix es la última víctima).
  3. Hacen un cambio repentino en la API que descoloca a todas las terceras partes.

Y así con esa jugada recupera usuarios en su aplicación cliente oficial, que para ser honestos siempe ha sido bastante mediocre.

La prueba de los 280 caracteres en Twitter

En este último mes hemos tenido 3 de 3, y si bien algunos cambios aunque fastidien al desarrollador momentáneamente los veo bien (por jemplo que el DM de los mensajes directos pase a ser metadatos, tal como fue el RT de retweet, y se ganen unos pocos caracteres extra), el cambiar el número de caracteres de 140 a 280 me parece un claro error. Conste que aún está en pruebas, únicamente para unos cuantos usuarios y solo en determinados idiomas.

Si algo ha diferenciado desde un primer momento  a Twitter es que se trata de microblogging, es decir, de entradas muy reducidas. Esto nos lleva a generar un contenido muy conciso, originalmente una idea y quizás un enlace, y hoy en día se pueden incluir fotos, vídeos, gifs o algún emoji (una imagen vale mas que 1000 palabras). ¿Qué pasa si cambiamos el límite de caracteres?

  • La brevedad siempre ha sido un valor diferencial de Twitter: sin él, ¿en qué se diferencia de otras plataformas? Eso y su inmediatez, reflejada en el timeline que vemos nada mas entrar siguiendo un orden cronológico, para cumplir con el “qué está pasando ahora.”
  • Entradas largas: sinceramente, si tengo algo mas largo de escribir, para eso tenemos sistema de blogging o Facebook. Si es algo tipo comunicado oficial, el solemne Medium, que es de la misma casa, puede hacer un trabajo estupendo.
  • La gente tiende a escribr menos: estamos en una época en la que todo sistema de mensajería esta lleno de emojis y gifs, porque una imagen vale mas que 1000 palabras. Se tiende a usar cada vez menos caracteres, así que para uqé aumentar el número.
  • Relleno para llegar a los 280 caracteres: imaginad una entrada formato Trump con cientos de exclamaciones.

Espero sinceramente que se replanteen la situación y quede en algo aislado, similar a cuando cambiaron el orden del timeline a lo que ellos consideraban mas relevante.