Vim: Comando Bang!

Explora el comando bang

Este aspecto de Vim aprovecha al máximo la capacidad de tu sistema. Cualquier interfaz de línea de comando o programa que se pueda activar o usar desde el terminal también se puede utilizar en (Neo)Vim.

1
:help !

Inicia Neovim y prueba los ejemplos siguientes. Te ayudarán a entender su funcionamiento. Siente la libertad de experimentar con ellos y modificarlos según tus preferencias:

Crea projectos python minimalistas con un comando

Basándome en mi anterior post sobre cómo crear proyectos Python minimalistas, me encontré copiando y pegando con bastante frecuencia. Echaba de menos algo que me permitiera hacer este trabajo (que ya de por sí es bastante sencillo) aún más sencillo.

Punto de entrada

He comenzado a trabajar en una prueba de concepto para ver si funciona. Lo primero que debo hacer es definir el punto de entrada, que en mi caso será este:

Cambiando el Explorador Predeterminado en Linux

Usando el archivo .desktop

Lo primero: ubicar el correspondiente archivo .desktop:

1
2
ls /usr/share/applications/*.desktop | grep -I thunar
ls ~/.local/share/applications/*.desktop | grep -I thunar

Si no aparece, hay que crearlo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[Desktop Entry]
Name=Open Folder
TryExec=thunar
Exec=thunar %U
NoDisplay=true
Terminal=false
Icon=folder-open
StartupNotify=true
Type=Application
MimeType=x-directory/gnome-default-handler;x-directory/normal;inode/directory;application/x-gnome-saved-search;

Aplicación predeterminada

Luego, cambia el mimetype predeterminado:

Guía sencilla para iniciar un proyecto Python desde cero

Mira esta ejemplo de cómo configurar un proyecto Python con lo esencial para comenzar rápidamente, pero con la capacidad de ajustar y escalar conforme las necesidades aumenten.

  • pyproject.toml: archivo de configuración estándar PEP-518 para proyectos Python.
  • Makefile: Se utiliza para automatizar tareas como testing, build, installs, entre otros.
  • __version__ (opcional): Es útil para mantener un registro de las distintas versiones de tu proyecto.

Mi estrategia favorita es comenzar con todos los elementos en un solo archivo y luego, a medida que el proyecto crezca, dividirlos en la estructura de carpetas basada en src. No me preocuparia por esta reestructuración hasta que sea verdaderamente necesario.

Como ser un programador Longevo

La idea de que alguien se quede obsoleto va más allá de aprender las tecnologías que usa la industria. De la misma forma en que para tener una vida saludable hay que tener hábitos saludables para ser un programador saludable (longevidad profesional), hay que tener hábitos que permitan sacar el máximo partido al contenido y las herramientas que tienes disponibles. Esta es la idea que comenta ThePrimeagen aquí:

Explorando pdb++

PDB++ es una joya!

pdbpp es una alternativa avanzada al depurador pdb incorporado en Python. Es una extensión de pdb que agrega varias características útiles para la depuración de código Python, como el resaltado de sintaxis, autocompletado, modo interactivo (sticky) y mucho mas.

La Ley de Hofstadter: ¿Por qué los Programadores Nunca Terminan a Tiempo?

Contexto

¿Cuántas veces, como programador, has afirmado “Estoy a punto de terminar!”? Sin embargo, ese “casi” parece extenderse hasta el infinito. La explicación a esto podría residir en un concepto conocido como la Ley de Hofstadter.

La Ley de Hofstadter

La Ley de Hofstadter es mas un dicho/hipótesis que una Ley (aunque se experimente mucho) propuesta por el doctor Douglas Hofstadter. Esta ley sostiene que las tareas siempre requieren más tiempo del previsto, incluso cuando somos conscientes de nuestra tendencia a subestimar el tiempo necesario. Dicho de otra forma, las personas somos malísimas estimando tiempos y por eso creo que no deberíamos hacerlo.