Un consejo de programación de Steve Turner

Un consejo de programación de Steve Turner, un veterano programador de las épocas del ZX Spectrum:

The key to good coding is to make your source code clear with good succinct labels that make comments in most places redundant. I used to say to my programmers write code so that the cleaner can understand it. Then when you revisit a routine months or years later you stand a chance of understanding how a piece of code works. It just does not pay to write code that is tricky, too clever or too complex. […] Real clever coders use their brains to analyse a problem and come up with the simplest solution.

node_modules

Heaviest Objects In The Universe : Programmer, Programming, Technology :  r/ProgrammerHumor

Seguro han visto este chiste.

Hace poco se llenó mi disco duro por primera vez en años (¡1 terabyte!) y buscando qué borrar con ncdu descubrí cuán cierto (y absurdo) es este chiste.

Cambiando a nodenv

Hace como dos años atrás necesité usar una versión específica de Node para un cliente. Lo primero que encontré fue nvm, así que eso estuve usando.

Ayer quise iniciar un proyecto usando otra versión específica y me sorprendió descubrir que nvm no cambia automáticamente de versión como rbenv. Con rbenv puedes definir que un proyecto use cierta versión específica de Ruby y lo guarda en un fichero que puedes subirlo al repositorio de Git.

nvm no hace nada automáticamente. Ni siquiera si creas un fichero .nvmrc — tienes que ejecutar un comando para que lea la versión que están en este fichero.

Sorprendido, busqué otra alternativa y encontré nodenv, que es un fork de rbenv, la interface es idéntica y cambia de versiones automáticamente. Altamente recomendado.

Elige tus batallas

Recordé una frustrante serie de problemas que tuve el año pasado con otro desarrollador, hasta ya casi perder la paciencia y explotar. Conversando con Oliver al respecto, le escribí, “pero si es sentido común,” a lo que me replicó, sabiamente, “lo es para tí.” Estaba cegado pensando tener la razón — y quizás la tuve — pero Oliver me puso las cosas en perspectiva.

Tengo que aprender a elegir mis batallas y ceder. El código será desordenado, redundante o ineficiente para mí, pero mientras funcione y el cliente esté contento, será mejor para todos dejarlo pasar en esta ocasión y reservar la pelea cuando sea importante.

Choose your battles wisely. After all, life isn’t measured by how many times you stood up to fight. It’s not winning battles that makes you happy, but it’s how many times you turned away and chose to look into a better direction. Life is too short to spend it on warring. Fight only the most, most, most important ones, let the rest go.

— C. JoyBell C.

Semana 28, 2021: “They literally call themselves Decepticons!”

El Domingo vimos Monsters Inc. con los chicos y Thalía preparó donuts para que ellos las decoren. Fue un fin de semana agradable. El mensaje en la noche fue 1 Corintios 6:9-20.

Lunes continué migrando jgwong.org de Zend Framework 3 a Laravel 8. Se supone que iba a (finalmente) empezar mi Tech Blog y luego se convirtió en una sección más sencilla de artículos. La excusa ahora es que Zend Framework 3 arroja errores con PHP 7 y, si bien todo jgwong.org es prácticamente estático siempre es bueno tener un framework porque a futuro, blah, blah, blah. Excuses, excuses.

Thalía publicó un reel en el Instagram de Shining Star de la torta que hizo con la decoración de Mis Pastelitos y obtuvo más de 600 reproducciones, whoa!

Martes estuve devorando todo acerca de BEM y convenciones de CSS similares. El control freak en mí aún se rehúsa a adoptar Tailwind CSS.

El Miércoles vimos el season finale de Loki. Me gustó mucho toda la serie, hicieron un excelente trabajo mostrando a un Loki vulnerable y sentimental, cimentándole como uno de los mejores personajes de Marvel. No comentaré más para no hacer spoilers a nadie.

Vimos también Bumblebee. ¡Esta es la película de Transformers que los fans esperábamos ver! Es un gran contraste con las películas de Michael Bay y todo un viaje nostálgico a los 80s.

Mi amigazo, chochera, compañero de aventuras élficas y fan número uno, Elí, me había pedido que le ayude a su sobrino Fabián con sus inquietudes; ya está por acabar el colegio y está interesado en seguir una carrera de programación, su inclinación es hacia los juegos de video. El Jueves conversamos; fue genial volver a ver mi chochera y su familia, ver que están bien y también conocer a Fabián.

Viernes cenamos sopita del Chifa Kong. Buenaza.

La semana pasada había convertido Busy Doing Nothing — el libro de Rekka y Devine (aka 100 Rabbits) — a Mobi para leerlo en mi Kindle. El libro es una versión extendida del North Pacific Logbook, la extensa bitácora de su travesía desde Japón a Canadá, que leí a principios de año y me dejó fascinado con la navegación y un estilo de vida tan intencional.

Visto:

  • Monsters Inc.
  • Loki
  • Bumblebee

Oído:

  • 山根麻以 & Gabriela Robin – After, in the dark ~ Torch song
  • Thalía – La Vie en Rose
  • The Blue Nile – Broken Loves

Leyendo:

  • Rekka Bellum and Devine Lu Linvega – Busy Doing Nothing
  • Transformers: Combiner Wars

Jueves, 24 de Junio, 2021

El Domingo tuve un lindo Día del Padre. Gracias, Señor, por mi esposa, mis hijos, por siempre protegernos y sustentarnos en estos días difíciles.

Llegó el invierno y los días están horriblemente fríos. Desde este Lunes han relajado un poco más las restricciones por el COVID en Ica. Sumado al frío, espero que no vuelvan a aumentar los contagios y muertes.

El Martes me desperté de madrugada con molestias otra vez de estómago, pero me recuperé el mismo día.

Ultimamente tengo ganas de programar nuevamente en C, pero luego miro los medio millón de proyectos aguantados y se me pasa.

Visto:

  • Loki Temporada 1, episodio 2.

Oído:

  • Dido – Take my Hand
  • Ace of Base – Blooming 18
  • Buckethead – Sundial
  • Moby – Harbour

Fira Code, Miramare, Laravel y DDD

Oh, hey, me está gustando escribir a lo Michael Meeks, me hace recordar la vieja época de los blogs y los diarios en Advogato (que ya no existe, gasp!). Espero que algún día tomemos más consciencia sobre los peligros de las redes sociales y regresemos a los blogs y el control de nuestro contenido.

  • Oliver usa Fira Code como font de programación. Lo estoy probando también y me está gustando. No estoy convencido que los ligatures sea buena idea y Vim no los soporta de todos modos. Me gusta todo lo demás del font, especialmente el cero con slash (y no un puntito al centro como otros fonts). La Sinclair ZX81 tenía el cero así, y para mí es el “cero computadora.”
  • Tengo un nuevo colorscheme favorito de Vim, Miramare.
  • Estoy volviendo a leer la serie de blog posts de Brent Roose sobre proyectos grandes con Laravel y contrastándolo con la arquitectura que he armado yo. A diferencia de Brent, mis modelos son intencionalmente anémicos, porque es antinatural implementar un Domain Model usando objetos de Eloquent. He dicho.
  • Hace tiempo estoy queriendo crear un nuevo blog para escribir exclusivamente de cosas técnicas y programación. Como que ya debería darle prioridad, ¿verdad?
  • Y acabo de recordar que tengo en deuda escribir un blog post sobre qué me gusta de Laravel.