@ agnasg

Code smell

08-05-2020 6:39 AM

una galaxia
la capsula viajera
sin tiempo

Suena sospechoso pero en realidad se refiere a código que no corresponde a las mejores prácticas de programación. Por ejemplo código que luce correcto pero que seguramente va a generar problemas en algún momento. Llegó a mis manos un artículo de medium sobre el tema (que ahora no encuentro… ah, ya, aquí está) así que comencé a buscar en el código de khpx algo similar. Hay mucho data clump, porque es un juego y hay mucho control de estados, no he hecho nada al respecto porque lo estoy dejando para el final. Agrupar esto en objetos en este momento puede ser precipitado y optimización temprana. Muchos de estos problemas son relativos a classes y como yo no uso clases, pues simplemente no tengo esos problemas.

Un ejemplo de code smell es este:

void inocente_funcion (int importante_argumento, bool soy_code_smell)
{
   mucha_inicializacion();
   y_preparacion_de_datos();
   if (soy_code_smell) {
        hacer1 ();
   }
   hacer2 ();
}

Esto hace que la función modifique su comportamiento basado en argumentos booleanos. hacer1 () debería estar afuera.

El problema es que a veces hay situaciones en que la forma fácil, rápida y obvia de hacer algo entra en conflicto con esta regla de no programar con code smell’s. Por ejemplo en la inocente función de arriba se hace mucha inicialización y preparación de datos para luego ejecutar a veces a hacer1() y siempre a hacer2(). Pero supongamos que hacer1() es básicamente despliegue de los datos en pantalla. Así que la variable booleana soy_code_smell es en realidad un flag verbose, para desplegar información algunas veces. La solución es separar todo en funciones y hacer las llamadas apropiadas pero entonces caemos en código espagueti y repetición de código.

khpx tiene mucho código espagueti porque un juego es un espaqueti mezclado con ensalada rusa, y más aun cuando el juego en sí es un trabalengua. Claro, no llega al nivel de la primera versión de Zork, pero estudiando su código me pregunto cómo simplificar algo complicado.

¿Cual es la descripción corta actual de khpx?

khpx, a hard core low level full featured pixel art solo dev mmo space game (un juego espacial de bajo nivel con características avanzadas, graficos de pixels, desarrollado en solitario, masivamente multijugador).

O algo así.

¿Los bugs del juego se pueden explicar debido a estos code smell? Realmente no. Los bugs aparecen debido a la complejidad. Yo adopto un enfoque tipo Abed a los problemas: si lo pienso lo suficiente y me concentro cualquier problema se puede resolver. Los académicos de manera condescendiente moverán la cabeza diciendo que detrás de todo bug hay un code smell escondido, o falta de OOP, o pobre diseño de software, o problemas no resueltos, simples problemas manejados incorrectamente.

Ok. Veamos.

Los cultivos en los planetas está implementado. La función que se encarga de eliminar una parcela de la lista de parcelas cultivadas tiene 12 llamadas a funciones:

  1. convertir la parcela de cultivo a parcela vacia (cambio del ícono)
  2. borrar el rectángulo que resalta a la parcela en el campo de cultivo
  3. si tiene plagas, borrar la plaga
  4. remover el identificador de parcela
  5. remover el indicador de progreso de la parcela (nivel de cosecha)
  6. guardar el estado de los iconos a la base de datos
  7. borrar la parcela de la lista de parcelas del jugador
  8. cargar el script de parcelas
  9. actualizar usando la info del script, la lista de parcelas disponibles
  10. guardar la lista en la base de datos
  11. desplegar el resultado de la parcela en la pantalla
  12. desplegar un mensaje de “Listo”.

El manejo de cultivos requirió un mes de trabajo (8 horas diarias la pandemia de covid-19 ha reducido mi capacidad de enfocarme, lo cual no es raro).

Hay dos directrices importantes-urgentes-prioritarias que entran en conflicto: escribir código de calidad (sin code smells, OO, buen diseño) y terminar el juego. El trabajo de un programador es encontrar el equilibrio entre estas dos reglas en permanente pugna. Sin excusas o coartadas: es realmente deplorable echarle la culpa a una de estas reglas el no haber cumplido con la otra.

O, revisamos nuestra lista de “o”s:

  • O regreso a trabajar tiempo completo freelancer.
  • O me dedico a programar juegos en androide tipo mario bro para ser publicados semanalmente y hago de mi vida un infierno.
  • O me dedico a escribir ebooks y publicitarlos en twitter

Me imagino lo que Bobby Axelrod pensaría de todas estas opciones.

El amor en tiempos del coronavirus

08-04-2020 2:38 PM

“Proteger a tu familia no es una carga, es un privilegio”

Lou Solverson

Y así, sin más, estamos en un apocalipsis zombie mucho antes de lo que esperábamos. Todos estamos escondidos en nuestras casas, salimos a hurtadillas a buscar alimentos, nos alejamos de los demás no sea que nos contagien, regresamos rápidamente a nuestro escondite, esperanzados en que pronto esto va a terminar. La realidad es que no, no va a terminar pronto: la esperanza es que para junio, es decir dentro de 2 meses, podamos comenzar a retomar la normalidad “en forma limitada“. Nada de participar en aglomeraciones innecesarias (no asistir a juegos ni a festivales), lo cual incluye ir a restaurantes o a fiestas familiares. ¿Cuándo volveremos a nuestra rutina 100% normal? Nadie lo sabe.

En cuanto a mi, lo que para otros parece el fin de los tiempos, es la normalidad: yo paso la semana completa encerrado trabajando en mi video juego o en freelancing, salgo 1-2 veces (en este momento voy a salir 1 vez cada 2 semanas a buscar comida, papelón y gofio). Lo que me perturba es que como el edificio está lleno de gente, no hay el silencio acostumbrado. A la gente le encanta hacer ruido con lo que sea, bostezando en forma vulgar, o lanzando las puertas. Si hay cuarentena y no se puede salir, no estoy seguro por qué abren las puertas y las avientan con toda la fuerza posible. Demasiado. Yo con amor y comprensión lo tolero, porque esto, esto también va a terminar, y entonces sonreiremos.

soy mejor que tú

06-03-2020 7:08 AM

Tomado de mi diario personal:

me gustaría extraer su alma, colocarla en un frasco, y observarla a trasluz: ver si aprendo algo, capturar su fortaleza interior, visualizar alguna idea vital, quizás beberla, comerla, imbuirme de su energía, irrigarme con su rostro, escudarme con su cuerpo. puedo ver a través de la canción como su alma se ríe de mi, me hace gestos que me hablan de realidades controversiales. su verbo me hiere en formas inusuales, sus palabras llegan a nervios que no sabía que tenía, me rompe huesos desconocidos. llega a profundidades reveladoras: no sabes nada. yo manejo las situaciones difíciles de mi vida mejor que tú. soy más fuerte que tú. no puedes conmigo. te gané.

Ey, ey, esto parece extraído de un libro de Thomas Harris. Usualmente las entradas en el tractac no requieren explicación, pero esta alucinación literaria requiere algún contexto. agnasg-escritor, el ouroboros, está intenso estos días. Se refiere a una canción de Madilyn, una cantante de youtube . La canción está escrita con la letra de los comentarios negativos que recibe (de los haters, los que la odian). Tiene unos cuantos años cantando canciones de otros artistas, incluyendo Titanium (con 100 millones de reproducciones) y su versión de Despacito (alguien en los comentarios dice que su versión es mejor que el original ( “Sometimes the cover is much better than the original… just like this!” ). Su versión de Firework de Katy Perry también me gusta mucho. Esta idea de escribir una canción con los comentarios negativos no es una idea original, otros youtubers lo han hecho, en particular Elise Ecklund (tiene varias, por ejemplo). Pero la versión de Madilyn es insuperable.

Ríete

25-02-2020 11:30 AM

Mis comentarios sobre el Guazón a continuación. Todos los spoilers posibles, la trama se va a discutir. Si no la ha visto, véala y regrese

Joaquín hizo una monumental actuación. En algún momento de la película (alrededor de la primera hora) me dí cuenta que estaba viviendo un momento especial en mi vida, un momento que iba a vivir en pensamientos muchas veces, como cuando vi por primera vez el Padrino, cuando ví por primera vez Apocalipsis Ahora, Blade Runner y muy pocas otras películas. El guazón era una experiencia única en la vida, pensé. La película continuó y la cena quedó servida: todo estaba listo para un gran y apoteósico final: entonces vino la escena del baile en la escalera: la cortaron, solamente aparece el final, cuando, creo que el comienzo era más importante (se pueden conseguir varios ejemplos, este desde una perspectiva diferente).

Y entonces llegó la escena final, en el programa de entrevistas con Murray Franklin (Robert De Niro). Todo estaba listo para una memorable escena, con Joaquín Phoenix quien había demostrado a lo largo de toda la película sus cualidades escénicas (y en otras películas por supuesto) y Robert fucking De Niro: este iba a ser un momento extraordinario y memorable.

Y entonces la escena. Vamos a dejarlo ahí, me voy a permitir una digresión para que se entienda mejor.

Pulp Fiction (Tiempos violentos) se puede ver de muchas formas. Podemos considerarla como una película de gangsters, como un thriller, como una película de superviolencia, y con otras muchas otras etiquetas. Contiene varias historias, una de ellas, la historia de un boxeador fracasado que decide aprovecharse de las apuestas en su última pelea, haciendo lo contrario que el jefe de la mafia le dijo que hiciera. Le hace una estafa al jefe de la mafia, se sale con la suya, y está listo para salir huyendo para no regresar nunca más: pero a la novia se le olvidó el reloj. Toda la película (al menos de este hilo narrativo), toda la historia gira sobre el hecho de que este boxeador, en vez de escapar porque tiene tras de sí nada más y nada menos que al más peligroso gangster de la ciudad (el resto de las historias de la película así lo demuestran) se ve obligado a regresar a buscar su reloj corriendo el riesgo de ser atrapado: ya sabemos lo que pasó, y la secuencia de Zeth (Zeth is death baby, Zeth is dead) no nos decepciona en lo absoluto, ahora entendemos toda la película.

¿Se entiende para dónde voy? Esa última escena del Guasón debió ser diferente. Fue un anticlimax confuso y raro como el resto de la película (el Guasón inclusive comienza a hablar como un niño mimado). La escena era la consumación de un exterminio, o la continuación de una saga de destrucción anarquista (ya sabemos como termina), con el asesinato del compañero de trabajo, la mamá y el ídolo de la mamá, el presentador de televisión. Yo tenía en mi cabeza muchas idea de cómo debía ser esa escena ninguna de las cuales conincidió con la realidad. Sin embargo, coincido que es una película excelente y que Joaquín se ganó el globo de oro y el óscar si lugar a dudas (inclusive desde el Gladiador se veía venir). No quiero ser melodramático (¿demasiado tarde?), ciertamente es solo una película y Todd Phillips es un consumado escritor y director. Pero confieso que mis expectativas estaban demasiado altas. Qué raro.

Comentarios atrasados de febrero

23-02-2020 8:21 AM

” Bienaventurados sean los ignorantes porque le ganan la batalla a los errores”

Friedrich Nietzsche

Siguiendo la tónica del post anterior donde comentaba la existencia o no de vida extraterrestre, se me ocurrió extrapolar esa idea a la tierra. No hemos encontrado vida inteligente fuera de la tierra (a pesar de que ahora es tan fácil conseguir planetas en otros sistemas, que hasta un muchacho de 17 años lo puede hacer), pero tampoco en ella: la única vida inteligente que es capaz de buscar vida inteligente somos nosotros mismos: los delfines, orcas, chimpancés, cotorras, cuervos y elefantes no están interesados o no han demostrado estar interesados en eso, y será así al menos los próximos 500 mil años para estas especies: no parece que vayan evolucionar mucho más de ahí.

No había tenido tiempo de ver este video (John Millburgh, TEDxBariloche, ¿Por qué creemos en lo que creemos?), donde el presentador insiste en que tenemos una percepción equivocada de la realidad, y que probablemente es inducida por los medios, a través de opiniones de la gente basados en estudios de poca credibilidad, etc.. Lo que me pareció gracioso es que el ejemplo que coloca al comienzo (donde muestra fotos de dos personas y pregunta quén es más confiable, o quién probablemente es un ladrón, etc.) no es tan bueno como introducción para la segunda parte de la presentación, porque, por ejemplo, “hay un estudio” que dice que en el 95% de casos, la decisión que toma el primer entrevistador en un proceso de selección de personal en una empresa grande >>no cambia<< en el 100% de los casos sin importar la duración, complejidad y número de personas involucradas en el proceso de selección. “El estudio” incluye estadísticas de Microsoft, IBM y Excite y otras empresas (era un estudio de los 90s, me imagino que está en alguna parte de internet). Así que lo que este “estudio revela” es que nuestras opiniones basadas en intuición, nuestro olfato, o como quiera que lo llamemos, quizás sea inducida, quizás sea generada en nosotros por el entorno, pero al final es apoyada y aprobada por nuestro entorno. Lo que el presentador está haciendo es cuestionando y criticando nuestra forma de tomar decisiones.

Terry Cavanagh liberó el código fuente de su afamado juego VVVVVV (github, comentarios en reddit) y Randal Olson dice que es bello y… desagradable. ¿La razón? Un gigantesco switch para controlar cualquier posible estado que el juego pueda tener en algunas situaciones, y otras no, y otras condiciones que pueden clasificarse como cualquier cosa. Quizás sea desagradable, pero es un juego publicado. Exitoso. Deja la envidia. En mi juego khpx yo me concedo el estado del arte en técnicas de programación, modernos patrones ajustado a las mejores prácticas, es elegante, inteligente y no publicado: no vale nada.

Finalmente ví la película Bird Cage. que provocó un marasmo el año pasado, donde Sandra Bullock enfrenta un enemigo que no se puede ver (los protagonistas pasan buena parte de la película con los ojos vendados). Ya se han mencionado hasta la saciedad el parecido de esta película con The Happening  (Fin de los tiempos) la cual como otras películas de M. Night Shyamalan es horriblemente mala (lo cual ya he discutido antes detalladamente), de hecho Bird Cage es un buen ejemplo de cómo se debe hacer una película con una premisa complicada (y The Happening un ejemplo de cómo no se debe hacer). Él único problema que veo en Bird Cage, es que al comienzo cuando comienza el encierro en la casa, el guionista tuvo serios problemas para idear formas de ocupar en algo a los protagonistas, cuando van a la excursión al supermercado, finalmente las cosas comienzan a encaminarse bien. Del resto es una película recomendable para pasar el rato.

Este post fue escrito a finales de enero. Y quedó olvidado entre los borradores.

Es pero no es

08-01-2020 4:52 PM

Aliens adecuadamente motivados (“suitably motivated aliens”). Este estudio ofrece suficientes evidencias (apoyadas inclusive en simulaciones de computadora) que muy seguramente estamos solos en la via láctea.

“Dado que nuestro sistema solar existe desde hace 4.500 millones de años y que la Vía Láctea se formó hace al menos 10.000 millones de años, ha habido tiempo más que suficiente para que las especies hagan una visita en todos los mundos habitables.” (” Given that our solar system has been around for 4.5 billion years and that the Milky Way assembled at least 10 billion years ago, there has been more than enough time for species to wind up on all inhabitable worlds.“). Enlace.

Hablando del espacio, es posible que los cálculos realizados para determinar la existencia de materia oscura estén equivocados (enlace). Lo gracioso son los comentarios en hacker news, cualquier explicación o comentario sobre el artículo es seguido por 5-10 preguntas, y por 3-5 “eso es incorrecto”, dicho por astrofísicos y no astrofísicos. Yo soy un aficionado así que no puedo decir nada más allá de mi apreciación de que solo sé que no sabemos nada. Todavía nos falta. De lo que ayer estábamos seguros, hoy estamos dudando, mañana quien sabe.

Estadísticas inútiles pero interesantes. Este reporte en slashdot llamó mi atención: el número de commits en el kernel de linux bajó el año pasado a 74k commits, que es el número más bajo desde 2013. Realmente me importa un rábano esa parte, lo que me interesa es que el artículo dice que el kernel de linux tiene 27.852.148 lineas de código, divididos en 66.492 archivos: eso da 418 líneas por archivo. Interesante: khpx tiene en este momento 30.311* líneas de código distribuidos en 192 archivos, lo que da un promedio de 158 líneas por archivo. No está mal. No llega al extremo de Solaris (la versión de Unix de Sun Microsystems) con 2 millones de líneas de código con un promedio de 10 líneas de código x archivo, pero sigue siendo un buen promedio (es una mejor práctica tener archivos lo más compactos posible para mejorar el mantenimiento y la depuración de errores). Quizás el promedio del kernel de linux se ve afectado porque los 66.492 archivos mencionados incluyen documentación, archivos de configuración, herramientas, etc. (* en comparación, el código fuente de Doom tiene 62.734 líneas, el de wesnoth tiene 335.532) Enlace.

Via el magnífico blog de Emily Short nos llega este breve review del libro Hamlet’s Hit Points (también está en amazon pero la autora no está interesada en promover esa empresa por razones, así que sigo esta medida) que presenta un conjunto de herramientas y procedimientos para alimentar el proceso de creación de aventuras RPG, usando una genial clasificación de story beats que le va a permitir rastrear los altos y bajos de la historia. RPG son role playing games (o juegos de role), story beats son los puntos de inflexión de la historia o puntos de acción que van moviendo la historia. Yo era fanático de estos libros en mis comienzos, pero ahora me he dado cuenta que todos esos procedimientos hay que conocerlos pero a la hora de la verdad, con el trasero en la silla, y las neuronas funcionando a full capacidad, es que se escriben buenas historia. De nada valen las herramientas. Creo.

Ricky Gervais se acaba de hacer más famoso de lo que era normalmente con sus honestas, desencarnadas e irreverentes intervenciones en la entrega del Globo de Oro de este año. Decirles a los actores y directores de Hollywood que ellos han ido a la escuela menos que Greta Thunberg y que se cayen la boca, al fin y al cabo, todos son amigos de Jeffrey Epstein (quien no se suicidó). Aprovechó finalmente hacer cuña de su serie en netflix Afterlife, la cual jamás había oído antes, no la había visto en mis búsquedas incesantes en el directorio de Netflix (si hubiera 10-20 series y 5-10 películas sería mucho más fácil, pero como hay tantas nunca me decido). Y de hecho esta serie ( Afterlife ) es realmente buena, es deprimente porque se trata de un tipo amargado a quien se le murió la esposa y quiere suicidarse, y mientras tanto le canta sus verdades a todo el mundo. Me recordó algo que vi en 9gag (pero que ahora no encuentro) sobre ciertas personas que parecen antisociales, pero no es realmente eso, sino que no tienen tolerancia a las conversaciones huecas, el drama y a las personas falsas. Dícese de mí. En fin, esta serie (Afterlife) es realmente graciosa, y es tan deprimente, tanto pero tanto que te llena de alegría y esperanza. Altamente recomendada.

Lo cual me lleva mencionar esta película Frances Ha. Al verla, nuestro primer pensamiento es que ella es una loser (perdedora, término extraído del futbol americano (no es futbol, es una variación de rugby), donde o ganas o ganas, y si no ganas eres un loser (por lo que este jugador con una canción nos anima a aceptar lo loser que somos)). En imdb la descripción de esta película es que Frances que vive en New York pero no tiene apartamento, aprende danza (pero no es una bailarina) etc. , me parece que está todo equivocado porque a través de la película aparece la dirección de todos los apartamentos donde vive (mucha gente vive alquilado o prestado en New York), y también, a través de la película aparece danzando y contando con la aprobación de todo el mundo. Bueno, loser, eso parece, pero para ella, eso no tiene importancia, el apartamento no tiene importancia, tener novio no tiene importancia (un apetecible amigo está loco por ser su novio, y es millonario, y le pregunta varias veces si está disponible y ella contesta no, no y no), lo único que parece tener importancia es su amiga del alma.

A mi no me parece una loser, a mi me parece como aquél cuento de una perro sabueso (un otterhound o quizás un foxhound) que en vez de perseguir y señalar donde caían los patos y las perdices, se iba en dirección contraria y señalaba puntos en el espacio, vacíos, sin ninguna presa en ellos. Al final fue descartado y catalogado como idiota, pero un entrenador persistente e intrigado por el comportamiento errático del perro se puso a revisar el área que el perro señalaba con la nariz. Finalmente descubrió la verdad, este perro sabueno no consideraba importante señalar patos o perdices, señalaba mosquitos y abejas y otros insectos: este era un perro sabueso entomólogo. Como quiera que sea (…) el cuento es que Frances Ha se comporta como una loser, dice las cosas que dicen los loser, viaja a París sin ponerse de acuerdo con sus amigos y termina cenando en los campos Elisios sola como una loser, pero quizás no lo es, sus aspiraciones y deseos son incomprensibles para los demás. Loser.

Comentarios de diciembre

27-12-2019 12:40 PM

Este post se iba a llamar “Lo estás viendo desde el punto de vista equivocado o tu visión está nublada” pero perdí mis ideas sobre su contenido. Mi memoria se nubló. Por eso un escritor debe anotar todo, constantemente, todo el tiempo, permanentemente. Este año he estado algo distraído. No fue un buen año para la escritura, el próximo será mejor. Pero basta de digresiones, entremos en materia.

1) Angeldust un altamente compatible RPG de acción y juego de construcción (“an omni-compatible action RPG and building game“) Un interesante caso de estudio de diseño especialmente en la parte de ejecución del backend. .Es una sola imágen corriendo en un servidor que maneja 250k jugadores. El juego se ve impactante, aunque podría clasificarse como un minecraft clone (alguien en NH lo clasificó como una mezcla de Runescape y Minecraft (” vibes of old school Runescape, mixed with Minecraft“)). Enlace. Comentarios en Hackers News (la mitad de los comentarios se refieren al hecho fortuito de que el nombre del juego coincide con el sobre-nombre de un alucinógeno/droga popular en los 90s.. Muchos dicen inclusive, que no es una coincidencia. Bthrr)

2) Ian Donnelly (Jeremy Renner) y Louise Banks ( Amy Adams ) no se dan un solo beso en toda la película La llegada (Arrival). Sin embargo, hay una gran carga emocional por los “recuerdos” sobre su hija condenada a la muerte. Me pregunto si hubo intencionalidad entre estos dos hechos o es que realmente a Jeremy Renner no le gusta intimar en sus personajes. Algo así como Harrison Ford cuya incomodidad con las escenas de amor es evidente. Enlace.

3) Solamente en caso de que usted no lo sabe, python no tiene operador ++. Debido a ello, usted debe usar a=a+1 o a+=1 o usar C++ que tiene ++ hasta en el nombre. Una explicación, es que los diseñadores no quieren que las cosas se puedan hacer en más de una forma. hello? a=a+1, a+=1? python, pasando vergüenza desde 1991.

4) Hablando de python, me siento como un niño programando en “Basic” cuando hago cualquier cosa en él. Que lenguaje tan infantil. Parece Logo, aquél lenguaje donde había que mover una tortuguita. Que niñiedad.

5) Hablando de C++, o sea de C en mi caso, hoy 27 de diciembre, había 4 artículos sobre C en Hacker News y 0 artículos sobre Lisp. 0 artículos sobre Haskel, 0 sobre python, 1 sobre Rust (pero se llama Source Code Linking: Merging C Headers into Rust Modules) y por supuesto 0 artículos sobre Java. Creo que nunca he visto un artículo sobre Java en Hacker News.

6) “La vida no es un rompecabeza que debemos armar a lo largo de nuestra vida, es un rompecabezas que tenemos que armar todos los días, y en la noche luego de contemplarlo completo, lo deshacemos para a la mañana siguiente armarlo de nuevo”. Chidi, uno de los personajes de The Good place. Esta serie que es difícil de definir en términos de preguntas tales como ¿de qué se trata? ¿cuál es la trama?, resulta adictiva por razones igualmente difíciles de definir, diálogos profundos e interesantes (difícil repetir/explicar de qué hablan), personajes llenos de psicología (inclusive Jason, “de donde yo vengo hay muchas explosiones, cuando no consigues respuestas lanzas una bomba molotov y destrúyelo todo”), situaciones complicadísimas. Al final parece ser una parábola de la vida: la vida no es la búsqueda de respuestas, sino que es la respuesta. La pasión y la razón luchan todos los días, pero celebran como grandes camaradas por las noches. Hume y Kant son mencionados con frecuencia, no recuerdo alguna mención de Nietzsche. La serie nos recuerda constantemente cosas que hemos oído en alguna parte, ejemplo: “todos somos infelices de la misma forma, pero cada quien es feliz en su propia forma personal” (al revés de como dice el dicho). O, “cada quien hace de su vida un infierno”, o, “vivimos la vida de otros, con o sin intención”, o, “el camino al infierno está lleno de buenas intenciones”.

7) La tercera y última trilogía de la Guerra de las Galaxias (esta vez en manos de Disney) destruye completamente el legado. En poco tiempo, será descartada y olvidada. A menos que se tomen acciones con las próximas películas, correrá la misma suerte que Terminator, Aliens y otras franquicias. La gente dejará de ir a verlas. Lo peor de todo, es que estas películas (El despertar de la fuerza, Los últimos Jedi y El ascenso de Skywalker) son intencionalmente malas. Porque no hay forma de hacerlas peor, absurdas y sin sentido. Si no estás de acuerdo, lo estás viendo desde el punto de vista equivocado o tu visión está nublada.

Cierro este post deseándoles lo mejor para este 2020, escrito en el críptico lenguaje de los marabenets, habitantes de algunas regiones antiquísimas en Nunsoot, khpx.

Imagén implementada en python, usando matplotlib y la librería xkcd.

Enlaces de noviembre

26-11-2019 6:42 AM
  1. Si estás ocupado, estás haciendo algo malo“. Este artículo me puso a pensar porque no recuerdo haber estado desocupado desde hace 45 años. Es decir, tengo todo este tiempo haciéndolo mal. Al parecer, el autor insiste en que las personas con verdadero talento naturalmente utilizan su tiempo mejor, lo cual los hace más efectivos, y una forma de descubrirlos es que están desocupados más tiempo. En cambio,nosotros los altamente motivados pero torpes, empleamos nuestro tiempo en tareas inútiles, desordenadas, como un dwarf presionando botones sin sentido, y por supuesto, nunca tenemos tiempo. Ok.
  2. No te hagas llamar programador. (Don’t call yourself a programmer). Porque si lo haces te identificas como una unidad costo, es decir, no produces ganancia sino gastos. Creo que ya he comentado esto otras veces, así que mejor lo hago una vez más para que quede claro.
  3. Un recordatorio (en la misma tónica de repetirme a mi mismo) que archive.org tiene una inmensa colección de juegos MSDOS, incluyendo la interfase para jugarlos en el navegador. Enlace. Doom, Ports of Call, Pacman, y otros clásicos que son irresistibles de jugar (aunque a veces 5 minutos luego de comenzar te puedes aburrir). Por cierto que uno de los más populares es Oregon Trail deluxe, que permite jugar como un grupo de colonos en el lejano oeste. Muy divertido.
  4. Otro ejemplo de alguien que deja su empleo para dedicarse a programar juegos y descubre lo difícil que es. Fascinante leer los comentarios.
  5. Share” la película de Pippa Bianco donde una adolescente se ve expuesta a través de las redes sociales en forma inapropiada luego de una noche de desenfreno, alcohol y drogas. Enlace. Y comentatios, donde algunos critican la falta de profundidad, de justicia, y actuación de la pelicula. Yo por el contrario vi una película que analiza detalladamente las relaciones entre los adolescentes (tema que me interesa porque fui básicamente autista cuando adolescente), las interacciones y el uso de las redes sociales porque ese es el tema de la película (se llama Share / Compartir), cómo las redes sociales impactan y modifican la conducta de los jóvenes y como los chismes, las bromas y su propagación tienen una dinámica completamente diferente hoy en día a como era hace 20 años. La película no trata de cómo la justicia debe encarar una violación entre jóvenes, eso ya ha sido tratado hasta la saciedad por otras películas, el foco es cómo los jóvenes manejan el tema, y la protagonista en una fascinante actuación de Rhianne Barreto interioriza el suceso y actúa como fiscal acusador, jurado y juez, sentenciándose como culpable. Ella. Imperdible esta película para los que quieren ver un planteamiento y un enfoque totalmente diferente.
  6. Este análisis de Blade Runner desde el punto de vista de los fonts usados en la película es fascinante. Aquí el coleccionista de curiosidades se deleitará en una plétora de detalles: cuál es el font de los títulos iniciales ( Goudy Old Style), que el nombre de la compañía detrás de los replicantes (Corporación Tyrell) está en el respaldar de las sillas en la escena donde es interrogado Leon (uno de los replicantes). que el texto en la pantalla de la nave de Gaff es tomando de un manual de Matrix Color Graphic Camera System by Matrix Instruments y muchos otros detalles sin importancia pero vitales en una cacofonía de 5000 caracteres. Para perder el tiempo aliento.

Hay otra docena de enlaces que comentar pero tengo que regresar a trabajar, así que nos vemos en diciembre.

Yo solía ver películas del oeste con mi papá

15-10-2019 9:54 AM

Spoiler alert: se va a revelar parte de la trama de la película

Y ahora me pregunto que pensaría de esa obra maestra llamada “The Homesman”, con Tommy Lee Jones y Hillary Swank, con un viaje al oeste pero a la inversa, con situaciones insólitas como viajar con 3 mujeres que han perdido el juicio, indios que se conforman con un caballo, vagabundos que terminan siendo el personaje principal al final de la película, y muchas otras cosas inverosímiles. Soltaría una carcajada, supongo.

“The Homesman” cuenta la historia de una mujer sola sin marido ni hijos (Hilary Swank) que atiende su granja en las praderas de Nebraska, sola pero recia arando el campo con sus burros. Cuando el reverendo del pueblo solicita ayuda para llevar a 3 mujeres que han enloquecido por las privaciones de la vida en el lejano oeste, ella (Hilary Swank) se ofrece para llevarlas. En el camino se encuentra con un vagabundo, ladrón de granjas, Tommy Lee Jones quien acuerda ayudarla en su travesía a cambio de que le salve la vida (estaba colgado de un árbol, porque se había comido las ovejas de uno de los granjeros). Mary Bee Cuddy, el personaje interpretado  por Hilary Swank le explica al vagabundo que deben atravesar medio país para internar a las dementes en un convento donde las cuidaran. Acuerdan un pago de $30 que sería cancelado al final del viaje.

Lo que viene a continuación es una larga lista de peripecias, típicas de las películas del oeste donde se narra la aventura de las caravanas con los colonos, solo que en este caso es una travesía al revés, porque no van al oeste sino al contrario. Encuentros con indios, frías y solitarias noches, encuentros con otros aventureros, todo salpicado de aventura y peligro. Claro, apegado a los clásicos como “Río Rojo” de John Wayne, pero con un enfoque moderno como Meek’s Cutoff, los visuales, la música, las actuaciones maravillosas hacen de esta película una excelente experiencia para el que gusta y disfruta de una impecables realización cinematográfica. De hecho creo que esta es la mejor actuación de Tommy Lee Jones quien además es el director. Hillary Swank no se queda atrás, pero ya nos tiene acostumbrados a su extraordinarias actuaciones.

Spoiler alert: se va a revelar parte de la trama de la película

Hasta aquí todo luce relativamente extravagante para una película del oeste. Pero la extravagancia no se detiene, sino que se transforma en un cuento perturbador. El vagabundo libera la tensión sexual (que existe siempre en las películas del oeste entre el personaje masculino y el femenino pero que usualmente no se cristaliza en nada) y tiene sexo mecánico (como explicado en una clase de puericultura) con Mary Bee, solo por complacerla, no sin antes aclarar explícitamente que jamás se casaría con ella porque es tan fea como una paila vieja (otro personaje ya le había dicho lo mismo). La escena es tan perturbadora que es como una violación inversa, la victima se deja violar, o quizás, el violador resulta ser violado. Pero el día siguiente, el epílogo de esa violación es el suicidio de Mary Bee, ahorcada de un árbol, consumiendo su destino cuando constata que su vida no tiene objeto. Repentinamente su cruzada por salvar o dar mejor vida a las 3 locas pierde sentido si es incapaz de proveerse de un hombre que la ayude con su granja y con su vida. Toda esta secuencia parece un chiste malo contado por una borrachín de bar, o por un vagabundo alcohólico.

Y siguiendo con la tónica de las cruzadas para salvar al mundo, la siguiente parada del vagabundo es un hotel construido por un especulador de tierras para alojar a más especuladores de tierras que vienen del este. Como todo ruin especulador lleno de avaricia y codicia y otras cosas que terminan en “icia”, se niega a darle cobijo y comida a los 4 errantes (el vagabundo y las 3 locas), a pesar de las súplicas del vagabundo (que no parece ser el tipo de hombre que se preste a estar suplicando nada). Todo acto tiene sus consecuencias así que el vagabundo impartiendo justicia divina (o infernal) le prende fuego al hotel con todos los especuladores del mundo adentro como si aquello fuera a impedir que otros especuladores llegaran (sabemos que los especuladores siguieron llegando porque los vemos en “la pequeña casa en la pradera“)

La película termina como suelen terminar estas películas del oeste: con un viejito/vagabundo bailando, mientras que las cosas importantes por las que luchó/o no luchó en toda la película se las lleva el río. El baile se parece mucho al de Walter Huston en “el tesoro de la sierra madre” (la película con Humphrey Bogart‎), y esa reminiscencia explica/o no explica muchas de las cosas que aparecen en la película. Al final toda la historia, en mi opinión, parece significar mucho, o no significar nada. La vida es como un viejito bailando, lo cual me recuerda el más sólido recuerdo que tengo de mi padre: bailando el currutaco, una danza de su pueblo natal, Juan Griego, que quizás, él era el último que sabía bailar.

En la casa de las hojas color púrpura

20-09-2019 9:57 AM

Todos hemos pasado por el trance de adentrarnos en las profundidades de un paquete de software desconocido con la intención de modificarlo, corregirle errores, ampliarlo. Aquello es como entrar en un castillo oscuro, siniestro, habitado por el Conde Drácula, quien nos sonrie, y es amable y cortés y nos brinda la cena, pero como ya leímos la novela, sabemos sus reales y tenebrosas intenciones.

Pero algunas veces, sentimos esta aprensión en nuestra propia casa.

Luego de un receso involuntario de algunos meses, receso porque la vida nos sucede, con o sin nuestro consentimiento, finalmente pude retomar el trabajo de khpx

La corebase de khpx es amigable. Está programada con mis mejores técnicas, que seguramente serían clasificadas por un full stack developer como temibles. Son 192 archivos de source code cuidadosamente estructurados. 0% de OOP. Variables globales dentro del ámbito de los archivos. Un contexto global. Etc. Parece programado en los ’90. O por Linus. O por mí.

Pero me resulta extraña, luego de una ausencia breve (no de años). Y el juego se comporta muy mal educado. Los personajes dicen cosas raras “No estoy disponible en este momento”. Repiten mensajes en forma cíclica. Y el juego aborta en sitios y de formas desconocidas y que de ninguna manera pasaba antes. El engine de diálogos muestra mensajes que no debería mostrar. ¿Qué juego es este? Porque no parece khpx.

khpx es un juego difícil, y en esta ocasión lo está demostrando dolorosamente.

Afortunadamente 1-2 días de paciencia y perseverancia y ya estoy corrigiendo bugs, discutiendo con el engine de diálogos y haciendo afirmaciones como si fuera un experto y jamás hubiera dejado de trabajar en este juego. Y entonces comienzo a decir que nunca más voy a abandonar el desarrollo hasta que lo termine, y otras promesas de borrachín (como cuando empezamos a decir nunca más beberé, eres mi mejor amigo, etc. etc.)

¿He dicho antes que khpx es un juego difícil? Nunca lo he mencionado, pero el menú de nivel de dificultad tiene las siguientes opciones:

  • 1) Difícil
  • 2) Imposible
  • 3) Suicidio

O sea, tipo entrando-en-la-casa-de-las-Hojas-Azules-y-combatiendo-con-los-guardaespaldas-con-Gogo-Yubari-los-88-locos-y-O-Ren-Ishii difícil.

Es decir, es difícil.

Este post fue extraído de mi diario personal
Tardé 2 días en escribir este post en el mes de septiembre de 2019
La novia podría terminar khpx todos los días y 2 veces los domingos
Ningún animal fue dañado al escribir este post.
Este post fue escrito con Tchaikovsky como fondo musical.