2022/03/12

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"
  },
  ...

2019/09/29

Vue Simple App: Sin webpack

Vue, Router, Vuex y Vuetify, pero sin webpack

[Actualizado el 2019/11/05: "Carga dinámica"]

Tal vez no tenga ninguna razón técnica importante para preferir prescindir de webpack al desarrollar una aplicación web.

Tal vez sea solamente nostalgia por los viejos tiempos, donde simplemente importabas librerías en la página y la magia podía aparecer.

Tal vez no sea mala idea tener esa capa extra que cargar en el viaje, y aceptarla a cambio de los caramelos que nos regala.

Pero a mi me molesta un poco.

Preferiría no tener que usarla si puedo evitarlo.

Siento que hay que tener cuidado cuando algo aumenta la complejidad. Mayor velocidad o comodidad pueden ser justificaciones. Pero hay que estar atentos a no limitar la diversidad de opciones.

Una de las cosas que me gusta de Vue es que puedo empezar muy simple, importando la librería en la página. Y luego, si el problema lo amerita, ir escalando la solución hacia algo más y más complejo. Es como empezar descalzo si quiero, o con sandalias, e ir cambiando según lo amerite el terreno.

La mayoría de tutoriales parece estar de acuerdo en que usar vue create es la opción más práctica. Sin embargo, algo que descubrí es que también se puede llegar a elaborar soluciones relativamente complejas sin usar un transpilador.

Esta es una guía en un proceso de desarrollo simple que nos permita usar Vue, Router, Vuex y Vuetify, sin necesitar la complejidad extra de webpack.

HTML5

Un lugar simple donde empezar.

HTML5: https://codepen.io/akobashikawa/pen/NWKVazJ

HTML5 + Vue

Importar vue y desarrollar un script en la misma página.

HTML5 + Vue: https://codepen.io/akobashikawa/pen/aborLgW

HTML5 + Vue + Router

Importar Vue Router para organizar la navegación.

Eso también nos empuja a organizar el contenido en componentes, si es que no lo hemos hecho ya.
HTML5 + Vue + Router: https://codepen.io/akobashikawa/pen/qBWGVEp

HTML5 + Vue + Router + Vuex

Importar Vuex para compartir un estado general entre los componentes.
HTML5 + Vue + Router + Vuex: https://codepen.io/akobashikawa/pen/pozmdby

HTML5 + Vue + Router + Vuex + Vuetify

Para darle un look de app con Material Design.

HTML5 + Vue + Router + Vuex + Vuetify: https://codepen.io/akobashikawa/pen/bGbyYod

Módulos

Cuando más componentes van apareciendo y el largo del archivo va haciendo complicada la edición, parece una señal para sacar el código javascript a otro archivo.

Javascript soporta import. Pero hay que usarla dentro de un módulo.

Algo que ocurre con los módulos declarados normalmente, es que se carga toda la estructura de dependencias desde el inicio.

Para prevenirlo, y que cada módulo se pueda cargar cuando se necesita y no antes, se puede usar la técnica de declarar el componente como resultado de una función:

Antes:
import Counter from './Counter.js';
Después:
const Counter = () => import('./Counter.js');

Conclusión

Es posible desarrollar vue apps de relativa complejidad sin necesidad de usar webpack.

Me parece que este esquema puede simplificar el inicio de un proyecto. Aún cuando la versión para producción pueda requerir webpack para las optimizaciones, se podría usar esto durante el desarrollo.

¿Qué ventajas o desventajas ves hacerlo de este modo?, ¿te parece que puede facilitar la depuración?, ¿crees que en el futuro los navegadores carguen los scripts de un modo que no sea necesario empaquetarlos como actualmente?

2019/09/27

Ajedrez Mental

A menudo hay profesionales que discuten y resuelven problemas simplemente hablando. Incluso problemas muy complejos. Sin apoyarse en anotar algo en el papel o la pizarra que está a su lado.

Tal vez se vea un símbolo de status profesional. Un aviso de que somos lo suficientemente expertos para prescindir de esas herramientas.

Pero, de vez en cuando, te encuentras con alguien que sí las aprovecha y el resultado es notable.

Me parece que intentar resolver un problema solamente hablando es como jugar ajedrez mentalmente. Puede ser impresionante como show, pero tiene algunas desventajas para considerar:
  • Además de la tarea de buscar la mejor jugada, se gasta energia mental en mantener una imagen compartida del tablero.
    • Es más fácil que pierdas de vista una pieza
    • Es más difícil evaluar una posicion
    • Es más difícil explorar algo complejo, o arriesgado, o de mucha profundidad
  • Al no haber algo tangible, es más vulnerable a las relaciones de poder de los participantes
    • Es más fácil ceder ante el experto que insistir en tu punto de vista, aunque sientas que el experto está equivocado
    • Es difícil que alguien se anime a decirle al campeón que la posición de las piezas no es la que el dice
    • Hay expertos o campeones que pueden usar esto para intentar atarantar a quienes tienen menos poder

En cambio, al usar papel o una pizarra es como jugar ajedrez con un tablero físico
  • Visible para todos
    • Cualquiera que pase puede verlo y darse una idea de la situación
    • Es más fácil ver las piezas
  • Tienes más energía mental disponible
    • Es más fácil evaluar una posición
    • Es más fácil descubrir algo que no esperabas
    • Puedes explorar variantes más complejas o arriegadas
  • Puedes anotar las partidas y revisarlas luego
    • Aprender
    • Explorar variantes
  • Es menos vulnerable a las relaciones de poder
    • Con una prueba evidente, es más fácil rebatir a un experto o campeón que se haya equivocado

Pienso que usar anotaciones para apoyar una conversación o una explicación debería ser la regla y no la excepción.

Quizás habría que estar atento cuando alguien que pudiendo usar anotaciones no lo hace. Podría estar tratando de ocultar algo.