domingo, 13 de junio de 2021

Usando autocompletado exercism en Oh My ZSH

Oh My ZSH es un framework para facilitar el trabajo con el shell ZSH (*nix). Una de las características más interesantes son los alias para GIT, los temas para facilitar la visulización de información (nuevamente GIT).

Encontré que la consola para Exercism también tiene un plugin de completado disponible. No es claro como se debe de instalar, pero aquí hacen una descripción algo confusa de los pasos a seguir. Digo confusa por que se hace mención de una carpeta específica para los archivos de completado, carpeta que no está disponible por defecto en Oh-my-zsh. Sin embargo, luego si incluyen el procedimiento para evitar que salga el error:
/home/username/.oh-my-zsh/custom/exercism_completion.zsh:local:6: options: can't change type of autoloaded parameter


1. Descargar el archivo exercism_completion.zsh
2. Ir a la carpeta: .oh-my-zsh/custom/plugins
3. Crear la carpeta: exercism
4. mover el archivo descargado: exercism_completion.zsh y cambiarle de nombre a _exercism
5. edit el archivo ~/.zshrc con un editor de texto, en la línea que hace referencia a los plugins (linea 74) y añadir el nombre del plugin:
plugins=(git exercism)
6. Finalmente hacer source ~/.zshrc para recargar el archivo de configuración y verificar que se haya cargado el plugin. Ahora no debe salir algún mensaje de error.

Si se hace echo $FPATH se puede ver el plugin de exercism incluído:
/home/username/.oh-my-zsh/custom/plugins/exercism

Ahora solo queda probar en que consiste este autocompletado.

Sin darme cuenta, la información está disponible en la página Git de Exercism.

jueves, 9 de abril de 2020

.gitignore_global: one of the first stones for a development environment

Found it here: Github - An example global gitignore file:

It is one of the first step to not waste time looking for code snippets to add to every project one clones or create. It is easy to implement and just requires once in a time attention.


lunes, 10 de febrero de 2020

Postgres, error in tutorial?

Yesterday, I got a help request, about PostgreSQL. Can't develop much about it as the question was really unclear and I had problems on my own.

Every time I tried to use psql, I'd get:

psql: FATAL:  database "cayalame" does not exist

And I thought I had a complete and reliable PostgreSQL installation. I checked the tutorial I used, here. And it detailed:

createdb cayalame_db

but I already had that database in the system. After checking if user valid and creating again the database, I chose to create the database with the requested name. And voilà, Postgres working for the user.

Just to keep in mind, not to blindly follow instructions.

miércoles, 5 de febrero de 2020

Something hard to see

This is an experience that happened yesterday, February 4th 2020 with an example in Dev.to: Introduction to State Machines in React

The exercise is interesting in itself. But, spent quite some time wondering why it didn't work for me. The problem wasn't the state machine (in Xstate) but the JSX and how I was dealing with it.

My solution to the small inconvenience
The last definition of the const is the exercise requirement. See how difficult is to distinguish the space after "navbar-menu". So I chose the first definition. It is a bit longer but easy to see.

Later I published this experience in Twitter and got a suggestions: clsx, just a simple utility to add spaces between classes. Not useful in my case, as it is only one line but for projects that involve changing classes or adding them it certainly will be useful.

martes, 4 de febrero de 2020

React: Playing with Functions and Classes

Have just found this. They certainly do the same, this is the result

Browser results
But the code can be quite different.
Using functions:
Using a function in React
See that we are declaring the function receives props, though at first sight one, we don't know the nature of them.

Using classes:
Using a class in React
For the class, we are not declaring it receives anything. Do I have to suppose this? May be there's a misunderstanding, and there is a proper way to declare props.

domingo, 31 de marzo de 2019

2019 Retomando la idea del blog y novedades

Ha pasado demasiado tiempo desde mi última entrada, también han pasado muchas cosas.

La novedad más interesante. La idea de los bootcamps ha llegado a Perú. Muy aparte de Laboratoria, este no tiene una idea altruista o enfocada a ciertas personas en específico (Laboratoria es un bootcamp en específico para mujeres).

{Codeable} es una idea de Able, una universidad para disponer de personal y tener algo de control en el mercado profesional de software engineers, término muy usual para describir a un desarrollador web (web developer) en EUA.

Desarrollo un poco la idea en el término que use, control sobre el mercado profesional, en primeras, suena muy grosero. Pero va en disponer en el corto plazo de personas con la capacidad requerida por sus requerimientos, ellos trabajan con Ruby y ReactJS. Ruby no es un lenguaje muy conocido aquí, en Perú.

Luego, está la cultura y requerimientos en el trabajo que quieren compartir. Además de TDD, está una cultura familiar y tolerante. Diferente a la usual en la mayoría de empresas locales, donde el objetivo únicamente es entregar lo más rápido posible.

Acerca de mi experiencia hasta el momento. estoy agradecido, aunque debería quejarme por que no hay un énfasis más fuerte sobre practicar más programación, después de todo son 8 horas + 1 hora de almuerzo por 5 días a la semana. Pero, la parte de la práctica y absorber lo aprendido es solo responsabilidad mía.

Si tengo algo de que quejarme, extrañamente, solo puedo culparme a mi. Yo soy quien se demora en aprender, quien no practica, quien tiene problemas para adquirir y aplicar. Da miedo fallar. Puedo defenderme usando Git, Ruby y ahora un poco de SQL en Postgres, pero estoy a años luz de estar en el nivel apropiado para aprender. Debería azotarme. >=(


jueves, 28 de junio de 2018

Jugando con Knex - parte 4

Ha pasado mucho tiempo y he me quedado estancado ordenando el código e integrando controles con JSON Web Token para verificar usuarios en las funciones de la aplicación.

Lo dejaré en pausa, mientras estudio un poco más de TypeScript, que he me hace falta. Definitivamente no he terminado con la aplicación, me falta evaluar mejor los roles para permitir el acceso a ciertas aplicaciones. Pero el código está disponible en GitHub - Youtube intro to Knex para quien desee reir un rato por mi pésimo código