2022/03/12

Link hacia Whatsapp

 


¿Quieres crear un link que abra un chat en Whatsapp? Te cuento cómo lo solucioné con HTML.

  • Lo que necesitaba era que en el whatsapp del usuario se abriera un chat hacia cierto número y con un texto prestablecido.
  • Encontré que debía formar un url con un formato similar a https://api.whatsapp.com/send?phone=51999888777&text=Hola
    • El número de teléfono indicado por phone debe incluir el código del país (51 en este ejemplo)
    • El texto indicado por text debe ser url compatible, es decir que se pueda indicar a través del url.
      • Puedes usar una herramienta como URLEncoder para convertir tu texto. Incluso puedes poner emojis! 🙂
      • Si usas javascript para generar el enlace, la función encodeURI hace el trabajo.
  • De ese modo, es posible formar un enlace como este:
<a href="https://api.whatsapp.com/send?phone=51999888777&text=Hola%21%20%F0%9F%91%8D%F0%9F%99%82">Saludar por Whatsapp</a>
  • Cuando el usuario hace clic en el enlace, le aparece un diálogo para permitirle ir a la app whatsapp (si está instalada), donde abrirá el chat correspondiente al número indicado y con el texto indicado pre llenado.

¿Conoces otro modo de hacer esto, o quizás de manera más sencilla? Puedes compartirlo en los comentarios 🙏


Publicado originalmente en AKC Puroguramu

Solución al Vue Router y Vuex descontinuados para Vue2

 


¿Tienes alguna aplicación vue2 que ha dejado de funcionar de pronto? Te cuento cómo solucioné la incompatibilidad que se presentó para vue-router y vuex.

  • Hoy noté que una de las aplicaciones que desarrollé con vue2 estaba caída 🙈.
    • Revisando la consola, noté que no encontraba https://unpkg.com/vue-router@4.0.14/dist/vue-router.js.
    • Ese era el destino final que correspondería al que le indicaba en mi código: //unpkg.com/vue-router/dist/vue-router.js.
      • Cuando se indica así te lleva a la última versión, que al parecer ya no es más vue2 compatible.
  • Al parecer, la versión 4 de vue-router se ha vuelto vue3 compatible por default, así que hay que indicar explícitamente la versión vue2 compatible que uno quiere usar.
  • Pasé a indicar la versión 3 de vue-router y ya funcionó esa parte
    • De //unpkg.com/vue-router/dist/vue-router.js a //unpkg.com/vue-router@3. 👍🙂
  • Luego pase a resolver el issue similar para el caso de vuex.
    • Allí, también tuve tuve que indicar explícitamente la versión vue2 compatible (casualmente también es la 3)
      • De //unpkg.com/vuex a //unpkg.com/vuex@3.
  • En mi caso, estos dos cambios fueron suficientes para que la aplicación volviera a estar operativa. ✌️🙂

¿Has encontrado alguna versión más reciente de estos paquetes que sea vue2 compatible? Puedes compartirlo en los comentarios 🙏


Publicado originalmente en AKC Puroguramu

Hugo: Tips para publicar un post con un video de youtube



  • Uso Hugo, con el tema LoveIt, para publicar un blog como este.
  • Para mostrar un video se puede usar el shortcode youtube
{{< youtube XaKhz3iAxqQ >}}
  • Para obtener una featured imagen para el post del video, se puede usar # Get YouTube Video Thumbnail Image
    • Requiere el url del video
  • Para mostrar la feature image en el listado del home pero no dentro del post (ya que el video ya lo tiene), se puede usar en el front matter featuredImagePreview en lugar de featuredImage


Publicado originalmente en AKC Puroguramu

2021/03/21

Reflexiones sobre la autoeficacia




Hay un concepto que me parece interesante. Autoeficacia. Es la creencia de uno mismo de ser capaz de realizar algo.

Si lo has hecho muchas veces antes, es prácticamente del 100%. O si has hecho algo parecido. O si has visto que lo han conseguido antes personas con las que te identificas, como familares o amigos.

Esto explica por qué muchos eligen en la vida la misma profesión que sus familiares o amigos, o gente cercana de su comunidad. Porque su ejemplo de éxito les da un mayor nivel de autoeficacia para andar ese mismo camino.

Si es tu primera vez enfrentando algo que tiene muchos aspectos desconocidos, quizás sientas un nivel de autoeficacia muy bajo o de 0%.

Aunque no necesariamente. Los emprendedores, por ejemplo, pueden sentir una autoeficacia muy alta o de 100% aún cuando no tengan ninguna certeza del camino que están tomando o de las cosas que les tocará hacer. Simplemente confían en que serán capaces de sortear las dificultades que aparezcan, cuando aparezcan, si es que aparecen, aunque no sepan de antemano cuáles serán.

Tener un alto nivel de autoeficacia es algo muy positivo a la hora de enfrentar un problema.

Sentir que puedes hacerlo, aunque ahora no sepas exactamente cómo, es un gran super poder.

Pienso que se apoya en tus experiencias exitosas enfrentando lo desconocido. Si siempre has ido a la segura, por caminos pautados, probablemente te cueste más. O también si has tenido experiencias desafortunadas al respecto.

Cuando sientes un nivel bajo de autoeficacia, puedes tender a procrastinar; a entretenerte haciendo otras cosas. A otros esto le puede parecer inútil, perezoso o evasivo, pero en realidad indica que estás buscando formas de sentir la autoeficacia que te está faltando. Logros que alcances en un juego, o ver cómo otros logran algo, o evocar logros pasados, o imaginarlos en el futuro, etc. Básicamente, estas tratando de visualizar que puedes.

El empeño en alcanzar la perfección también sería una búsqueda de sentir mayor autoeficacia. Pero el perfeccionista cae en la trampa de confundir la herramienta con la solución. Y en el afan de tener todo perfecto como requisito para hacer cualquier cosa.

Haciendo cosas, y resolviendo problemas con un inventario imperfecto es que la autoeficacia se fortalece.

Cuando navegas en la red, ves mucha búsqueda de estar preparado, de dominar algo, de tener el mejor inventario de habilidades posible, las mejores herramientas.

Tener el mejor martillo no es el problema, sino lo que podamos construir usando ese martillo. Tener el mejor martillo seguramente ayudaría, pero es importante tener claro cuál es la herramienta y cuál lo que queremos construir.

Cuál es el mejor lenguaje de programación? Tal vez éste lo sea. Y el mejor framework?. Quizás esté otro. Y la persona con el mejor curriculum? A lo mejor esta. Resulta que la mayoria de veces, nos dedicamos más a tener perfectos esos detalles, porque buscamos aumentar nuestro nivel de autoeficacia. Pero si distinguimos que son herramientas para conseguir solucionar algo, entonces tendremos más comprensión de la realidad, más tolerancia cuando las dificultades no se inclinen ante nuestras habilidades, y más tolerancia a nuestras imperfecciones y a las de los demás. Sobre todo cuando alguien "menos perfecto" usando las herramientas "menos perfectas" es quien logra solucionar los problemas con éxito.

2019/11/07

Nodemon indica puerto ocupado: una solución

Usando nodemon en express:

package.json
  ...
  "scripts": {
    "start": "node ./bin/www",
    "dev": "nodemon ./bin/www"
  },
  ...

A veces me pasa que indica que el puerto ya está ocupado. Entonces, procedo a matar el proceso para comenzar otra vez.

$ lsof -i:3000
$ kill 1234
$ npm run dev

Donde 3000 sería el puerto y 1234 el PID del proceso.

Una forma de aliviar la molestia:

$ kill $(lsof -i:3000 -t); npm run dev


Otra forma es usar kill-port y un delay.

$ npm install --save-dev kill-port

package.json
  ...
  "scripts": {
    "start": "node ./bin/www",
    "dev": "kill-port 3000 && nodemon --delay 1 ./bin/www"
  },
  ...