Jueves, Octubre 22, 2020

  • Leyendo samples de libros del Kindle, aún no decido qué leer a continuación. A propósito, los samples del Kindle son el tesoro mejor guardado; son una excelente forma de probar toda la librería de Amazon gratis. De hecho, entre libro y libro leo docenas de samples para escoger mi siguiente compra.
  • Leyendo sobre procedural generation. Estoy interesado (otra vez) en programar un juego en modo texto tipo Laser Squad con influencias de X-COM, Nethack, Dwarf Fortress y los juegos modo texto de Lance Haffner.
  • Probé soldar un conector 3.5mm stereo, pero al parecer el cable tiene otro problema, el canal derecho suena muy bajo. Usé Renoise para hacer un sonido que se desplace de izquierda a derecha par confirmar. Revisé doble, triple y cuádruple mi soldadura y está bien, creo yo.
  • La batería de mi Huawei P9 Lite está fallando. Salta de 100% a 60%. Como estoy en casa debido a la pandemia no es tanto problema, pero necesitaré reemplazarlo pronto.
  • Le pedía mi esposa que compre papel celofán rojo y azul para hacer gafas 3D para los chicos. Mi prototipo funciona, pero el lado rojo necesita doble papel porque no es lo suficientemente oscuro, y se ve muy borroso. Dibujé una escena de dinosaurios con varios niveles de profundidad y Thalía se sorprendió con el efecto 3D.

Jueves, Octubre 15, 2020

  • Leyendo nuevamente el manga de Akira. Sin lugar a dudas un clásico y una obra maestra.
  • Escuchando el álbum My Fiero de Mesu Kasumai, son covers chiptune-ish de hits de los 80s.
  • Les recomiendo ver A Framework Author’s Case Against Frameworks, por Adrian Holovaty (el autor de Django).
  • Estoy escuchando varios podcasts de Fullstack Radio de Adam Wathan. Como son audio y no texto, es difícil encontrar bloques de tiempo sin interrupciones para escucharlos, pero son muy buenos. Ojalá pudiese escuchar más.
  • Estamos pasando días agitados en lo que concierne a la salud. La lista de personas por quienes oramos en familia se hace cada vez más larga.
  • Jugando Nethack. Creo que cometí un error.

Jueves, Octubre 8, 2020

  • Uff, estuvo buenazo el libro Advanced Web Application Architecture. Lo estoy leyendo de nuevo, tomando notas y modificando mi arquitectura.
  • A pesar de mis esfuerzos por conciliar Laravel y Domain-Driven Development, he aceptado que luchar contra el framework es una batalla donde salir victorioso implica perder todas las ventajas del framework. Adoptaré algunos conceptos de DDD (e.g. Value Objects) pero sin pelear con el framework (Value Objects en Eloquent es no no no).
  • Ya no estoy usando Form Requests, no me gusta estar dependiendo de un paquete externo para hacer testing. Estoy manejando la validación de los datos del Request en una clase aparte. Manejaré la autorización con Middlewares, eso es algo que aún no he implementado.
  • Luego de muchas indecisiones sobre el namespace para el “core” de mi aplicación, ayer definí de una buena vez por todas y de manera irrevocable cuál sería. Long story short, es Domain. Ya no habrá más cambios. He dicho.
  • Y a pesar que me gusta el Command Bus, para no desviarme mucho del “standard” de Laravel, estoy usando Services, aunque he adoptado el nombre de Actions como los tíos de Spatie, siendo la razón de peso el diferenciarlos de los Domain Services.

Libro 13 del 2020: Advanced Web Application Architecture por Matthias Noback

Advanced Web Application Architecture es un excelente libro sobre arquitectura de aplicaciones web con PHP (aunque los principios pueden aplicarse en otros lenguajes).

Muchos libros o recursos sobre Domain-Driven Development o arquitectura de software explican conceptos aisladamente, y al ponerlos en práctica no queda claro cómo encaja todo. En este libro, Matthias Noback explica cómo todo funciona en conjunto usando ejemplos reales. Muchas preguntas que tenía encontraron respuesta y descubrí cosas que había entendido mal.

Cuando Matthias escribía sobre Excepciones, me preguntaba: “¿Las Excepciones no deberían ser para situaciones excepcionales?” Dos páginas más adelante, contestó exactamente esa pregunta. Es bien completo, bien escrito y bien organizado. Lo recomiendo bastante.

Octubre 1, 2020

Me resulta más fácil escribir a lo Michael Meeks que concentrarme en un solo tema lo suficientemente interesante. Jamie Tanna tiene un estilo similar, publicando por semanas, pero yo estoy queriendo hacerlo más a menudo.

El único “problema” es qué título ponerle a mis posts. Por esta vez le pondré la fecha, como lo hacía aaaaaños atrás.

  • He terminado de migrar la parte pública de mi Journal Comic a Laravel.
  • Para implementar validaciones en un Value Object usé beberlei/assert, pero la API no era como lo recordaba, y la documentación no me era familiar. ¿Una nueva versión con BC break? Esa noche antes de dormir descubrí que la librería que yo había usado antes era webmozart/assert. Fue muy gracioso.
  • Y si tienen problemas como yo para hacer unit testing de Form Requests de Laravel, mohammedmanssour/form-request-tester es un excelente paquete que te alivia la vida. A veces la magia de Laravel complica demasiado las cosas.
  • En realidad, no ando muy convencido del concepto de Form Requests y la validación en general en Laravel. Ugh, necesito mi tech blog para explayarme. :)
  • Estoy leyendo ahora Advanced Web Architecture de Mathias Noback. Hasta ahora está buenazo. Tras leer tantos libros teóricos sobre DDD o que hablan aisladamente de conceptos de DDD, es genial tener un libro super práctico con código y situaciones del mundo real. Aún no lo he acabado, pero está muy, muy bueno.
  • La semana pasada Thalía y yo vimos The Old Guard. ¡Bastante entretenida! Thalía lo disfrutó más que yo porque no sabía nada de la trama, mientras que yo había visto el trailer mientras escogía qué ver.
  • Anoche vimos Enola Holmes. Me gustó mucho, sobre todo el color grading. Varios cuadros parecían pinturas. Cierto, tengo que buscar la bella música del tercer acto.
  • De la nada recordé la escena del tren de Super 8. El diálogo de Alice es genial.
  • Y llegamos a Octubre.