Blog de JA Samitier

How mind maps changed the way I take notes

Mindmaps

Photo by Charles Deluvio on Unsplash

I've always been the paper and pen type. Addicted to stationery items, my desk was always a mess, full of post-its, pens, notebooks, markers... You name it. I wasn't finding the perfect organization method for taking notes in meetings, conferences, etc. and then being able to read them later in a convenient way. I started lots of notebooks and systems, like Hipster PDA or bullet journal, but after a couple of days I always gave up. Last year I started using Pretext for writing notes and synchronizing them through my cloud service. That was very handy because I could search them easily, but I still felt handcuffed when trying to use it in meetings or conferences since I couldn't draw lines, arrows or any symbol easily. So I gave up again and continued using notebooks at work.

Some weeks ago I found on Reddit Why the N.Y.P.D. Dropped One of Its Oldest Crime-Fighting Tools describing how the NYPD achieved what I couldn't. Also, a few days later, Enrique Dans, wrote about this and said something that caught my attention:

why scroll through old note books trying to find something from a meeting six months ago, when that information would be immediately accessible and legible if you'd saved it on your smartphone, computer or iPad? And the reason you’re so slow at writing on those devices is because you don't practice enough.

That thing about don't practicing enough made me try it again, but if I wanted to success I needed a different approach. Then, the last piece of the puzzle emerged. It was this interview on Learning Legenario (in Spanish) to Lorena Estevez who explained different techniques of story telling using Visual Thinking. She mentioned how she takes notes using mind maps and then I finally found what was left for switching my paper notebook to an app on my phone. The app was Mindmeister, though later I switched to Xmind since it let me store the notes in my own cloud service instead of forcing me to having an account. I've been aware of my on-line data for 2 years, but that's another story :)

I started using Xmind in some meetings and I stopped having that classic feeling of losing sight while taking notes. After a week I wasn't carrying my paper notebook with me anymore, only my phone. Consequently I could search through my notes and share them in pdf or markdown to anybody right after the end of the meeting.

Resumen de enero 2019

Me gustaría dejar por aquí un pequeño resumen de cositas que he hecho en enero (principalmente relacionadas con mi trabajo) para poder consultarlo más adelante. Este resumen casi se escribe solo gracias al pseudo bullet journal que inicié el año pasado.

Eventos a los que he asistido

En los dos eventos mas multitudinarios, voy a contar las dos o tres cosas que más me llamaron la atención, pero esto no quiere decir que sólo me gustaran esas ponencias :)

  • DevFest 2018

    Me gustó mucho el live coding donde pasó unos cuantos tests funcionales usando Puppeteer. Para eso yo siempre había usado selenium pero la vi mucho más sencilla y rápida, sobretodo para hacer scrapping y testear service workers.

    Con esta presentación básicamente me explotó la cabeza. Cyn nos contó porqué, desde su propia experiencia, cree que son necesarias iniciativas como el Women Tech Makers y Mulleres Tech. Lo hizo de una forma muy divulgativa e inclusiva, lo que considero algo tremendamente complejo dado lo delicado del tema. Otro caso más de #CynRocks :)

  • Chatbots. Talking to L.U.I.S.

En este meetup de los dotnetters, Gabriel García y Alejandro Giménez con dieron unas pinceladas básicas sobre cómo montar un chatbot usando los Bot Connector Cognitive Services (LUIS). Aprendimos el flujo clásico de desarrollo de un chatbot (information -> training -> results) y conceptos básicos como intent (I want a pizza), entity (pepperoni, family size) y utterance (I want a pepperoni, family size pizza).

Cosas que he aprendido

Herramientas interesantes descubiertas

Artículos interesantes leídos

Eventos a los que me gustaría asistir en Febrero

Series vistas

Como no todo va a ser de curro, comentar que he visto Titans y me ha gustado bastante. Además, como no podía ser de otra manera, voy al día con la segunda temporada de Star Trek: Discovery y estoy igual de enganchado que en la primera.

¡Ánimo con febrero!

Resumen de mi 2018 y propósitos para 2019

2018 ha sido una auténtica locura tanto en lo personal como en lo profesional, y no quería dejar escapar la oportunidad de escribir algo cortito por aquí a modo de resumen.

En lo personal:

  • Me he comprado un piso.

  • Me he dejado de morder las uñas (llevo desde septiembre). Esto puede parecer tonto, pero era algo con lo que llevaba conviviendo desde muy niño.

  • He cambiado mi alimentación, que ahora es mas equilibrada.

  • Llevo unos meses practicando mindfulness y no me esperaba que los resultados fueran tan espectaculares (esto quizás debería ir en la parte profesional :P)

  • He vuelto a leer asiduamente, aunque sobretodo libros técnicos.

  • He empezado a preocuparme más por la privacidad:

    • Le he dicho adiós a Gmail en favor de Protonmail.
    • He dejado de usar Google Drive / Dropbox y los he cambiado por un NextCloud auto alojado con encriptación de extremo a extremo.
    • He cambiado LastPass por un fichero KeePass. Utilizo MacPass y KeePass Touch.
    • He dejado de usar Google como buscador, en favor de DuckDuckGo.
    • He cambiado Google Keep por notas en markdown en NextCloud y no podría estar más contento. En el movil uso Pretext y me va fetén.

En lo profesional:

  • Comencé a trabajar en el departamento de IT de Funidelia.

  • Animado por aprender cositas nuevas comencé un par de super micro pet projects con los que entretenerme los fines de semana.

  • Le he dado caña a Udemy con un par de cursos que me han provocado un buen clack en la cabeza: Master Riot: Learn Riot.js from Scratch, sobre Riot.js y RxJs 6 In Practice, sobre RxJs. Todo esto empezó porque quería entender desde cero la programación reactiva pero me daba mucha pereza la turra que todo el mundo daba con Angular, React-Redux y Vue. Estos dos cursos me sirvieron para entender conceptualmente toda la película, de modo que ponerme con aplicaciones Vue, React etc ya no es un misterio. Estoy bastante enchufado con este tema, y es que pienso en muchas cosas que he desarrollaro hasta ahora y me veo a mi mismo como un troglodita. Me gustaría escribir algo sobre esto en este 2019.

  • He empezado una especie de bullet journal en el que recojo un monton de cosas de mi día a día que me hacen ser más consciente de las cosas que ocurren a mi alrededor. Este post, sin ir mas lejos, está sacado a un 80% de esa libreta.

  • He vuelto a escribir este blog! :P

y después de la turra... vienen los propósitos:

  • Ir a algún sarao técnico (además del #SOSZ). De momento este sábado voy al DevFest y en marzo me gustaría ir al T3ch Fest.

  • Darle caña al blog con algún post sobre cosas que voy aprendiendo. POR FAVOR, NO SE RÍAN QUE ESTOY HABLANDO EN SERIO.

  • Utilizar RxJs muchísimo más en mi trabajo diario.

  • Leer algo más de literatura.

  • Seguir a tope con el mindfulnes como hábito.

  • [BONUS DE DIFICULTAD] Me gustaría quitarme whatsapp e instagram (o sea, dejar de usar Facebook del todo). IG me quita mucho tiempo diario que creo que no me aporta valor, y whatsapp directamente es una locura de la que siento que no quiero formar parte. No es algo trivial, porque me supone perder a muchas personas por el camino, así que veré cómo lo articulo.

¡Feliz 2019! :)

Capturando URLs mediante expresiones regulares fáciles

Esta semana, hemos migrado un proyecto bastante grande a https. Es un proyecto implantado en varios países, de modo que tenemos que gestionar bastantes traducciones. En esta entrada me gustaría contar la forma que se me ocurrió para modificar todas las URLs contenidas en los textos de las traducciones para cambiarles el http por el https. Normalmente, con redirigir las peticiones http a https bastaría, pero como en muchas páginas y comunicaciones para los usuarios se pintan estas urls con el protocolo, necesitábamos cambiarlo ahí también.

![Buscador por expresión regular del editor de texto Atom]({{ site.url }}/assets/images/2017-02-18-regexp_guetzli.jpg){: .center-image}

Esta es la forma que yo ideé, pero no significa que sea la mejor. Mis conocimientos sobre expresiones regulares son todavía muy limitados y seguramente esto se pueda hacer en un sólo paso y de una forma mejor. Si estás leyendo esto y se te ocurre, no dudes en comentármelo.

Primero tenemos que capturar únicamente las URLs que nos interesan, de modo que tendremos que contrastar el texto de la traducción contra la siguiente expresión:

(http://)(www\.)?(proyecto1\.|proyecto2\.).\S+

El significado de cada grupo es:

  • (http://): que empiece por 'http://'
  • (www\.)?: a continuación puede seguir o no por 'www.'. El ? hace que el grupo a su izquierda sea opcional.
  • (proyecto1\.|proyecto2\.): el nombre de dominio, independientemente de su extensión debe ser 'proyecto1' o 'proyecto2'
  • .\S+: Se dejará de capturar la coincidencia en cuanto haya un espacio

De modo que, de la siguiente lista, nos capturará únicamente lo que está en negrita:

  • http://www.proyecto1.com
  • http://www.proyecto2.pt/prueba esto es una prueba
  • http://www.proyecto3.hk
  • http://proyecto1.fr/hola que tal
  • http://www.proyecto3.im
  • http://proyecto2.it/

Ya tendríamos todas las URLs completas que coinciden con nuestro patrón, pero aquí me encontré un problema: no todos los sites tenían que tener https. Esa información la tengo para cada site en base de datos y cacheada en disco. Entonces lo siguiente que tuve que hacer fue buscar por URL en la base de datos para ver si cambiaba a https esa url o no. Para esto comparé las URLs resultantes de la expresión regular anterior, con esta:

(http://)(www\.)?(proyecto1\.|proyecto2\.).*(?=\/)

.*(?=\/): hace que siga desde el grupo anterior hasta el final pero se pare justo antes de la '/'. Para usar esto nos tendremos que asegurar que todas nuestras coincidencias anteriores terminen así.

  • http://www.proyecto1.com/
  • http://www.proyecto2.pt/prueba esto es una prueba
  • http://proyecto1.fr/hola que tal
  • http://proyecto2.it/

Estos ya son los resultados que yo necesitaba para cambiar dinámicamente el texto de las traducciones y que se pinten con el protocolo correcto en el html.

Más que un how to, mi intención con esta entrada es hacer ver que las expresiones regulares no son tan complicadas. Hace un par de meses no tenía ni idea, pero haciendo probatinas en el buscador de mi editor, fui aprendiendo bastantes cosas.