@ agnasg

agnasg


De todo un poco y el manual del hacker ilimitado, liberado y abierto

03-09-2023 5:08 AM
  • Cada desarrollador dispone de un número finito de ciclos cerebrales. Fossil requiere menos ciclos cerebrales para funcionar, lo que libera recursos intelectuales para centrarse en el software que se está desarrollando.” Tomado de ¿Por qué SQLite no usa Git?. Esto podría ser perfectamente la respuesta a por qué yo dejé de usar Git. Ya tengo tantas cosas de qué preocuparme que no necesito tener una preocupación adicional (Git).
    Anécdota: un cliente a comienzo de año insistió en que manejáramos el proyecto con Git: un proyecto de WordPress, con llamadas SOAP y otras cosas bien complicadas. En un cierto momento, debido a mi negativa mental de estar pendiente de Git, yo tenía 3 versiones diferentes con vida propia: la que está en el servidor, la que está en mi máquina virtual, y la versión de Git. Al final le dije que me preocuparía de Git al final de cada fase porque nos estaba generando todo tipo de problemas. El cliente al final desistió de la idea (primera vez que veo eso).
    Leyendo los comentarios en hn (y la forma como la gente defiende Git usando cualquier tipo de argumento) se me ocurrió que debería darle una oportunidad a Fossil, sistema de manejo de versiones que realmente nunca he usado. O quizás no: me dí cuenta a los pocos minutos que Fossil al igual que Git, es un mar de comandos, parámetros, opciones, todas con sus própias convenciones y maneras, y no hay forma que no lo sea, un sistema de versiones es una herramienta complicada para un problema complicado. Me pasó como cuando descubrí Tailwind, el framework de css: todo el mundo dice que es mejor que Bootstrap y quizás lo sea, pero ya yo conozco Bootstrap y no quiero aprender decenas de tags nuevos para decenas de casos.
  • Hay gente que se llena de orgullo diciendo que su código fuente está escrito usando camelCase. Como yo soy programador C/C++ (básicamente) escribo en snake_case, pero cuando escribo en PHP escribo en AnY_CaSe: una mezcla de todo.
    camelCase es cuando los nombres de las variables y los nombres de las funciones comienzan por minúscula y el resto de las palabras con mayúsculas, por ejemplo estaFuncionHaceCosasImportantes();
    snake_case las palabras están separadas por underscore: esta_funcion_funciona ();
    También hay PascalCase que se sobreentiende. Raylib es un ejemplo de una librería escrita en PascalCase.
  • No mencioné Raylib en el punto anterior porque lo esté considerando para khpx. No, en serio, voy a seguir usando imgui. Sí, es sospechoso, pero no, no, lo juro. ¡Lo juro!
  • Estoy considerando Raylib para khpx. Sería para sustituir a imgui, que en realidad no lo he utilizado mayormente, sino solo para los textos. Lo que pasa es que estuve dándome cabezazos con un bloque de granito tratando de programar shaders directamente con DirectX, y luego de un mes una semana un día desistí. Y como Raylib tiene soporte de shaders (Opengl, que es mejor, mucho más portable) entonces me viene como anillo al dedo. Raylib está mucho más de moda de lo que se cree. Tiene 3000 post en reddit en los últimos 30 días. Ya escribiré un post sobre esta librería (o quizás varios: 1) una evaluación de Raylib 2) cómo integrar Raylib con un juego desarrollado con DirectX 3) Raylib integrado a khpx: un postmorten 4) Raylib y yo: notas desde las catatumbas de la programación basada en hackings imposibles.
    Hubo recientemente una discusión en hn.
  • Supongo que el punto anterior debería estar en khpx, pero dado que no lo está, significa, supongo, que no es oficial. De hecho le estoy dando prioridad negativa a esto. Estoy 100% inmerso en el desarrollo de un dungeon, y no tengo tiempo para más nada.
  • No había hablado nada sobre Baldur Gate 3 (es un juego que no voy a jugar así que…) pero realmente me dió mucha gracia los tweets [0] de los desarrolladores protestando a Baldur Gate 3 porque estaba generando un nuevo estándard de calidad, y que eso iba a generar el cierre de muchos estudios que no publiquen juegos RPG con ese estándard. Ja!. Dicen que Larian Studios (el desarrollador de Baldur Gate 3) tiene ventajas, lo cual obviamente es discutible (ver aquí por ejemplo) y entonces estos tweets están generando el efecto contrario porque inclusive jugadores que no lo querían jugar, ahora si lo van a jugar. Muy gracioso todo el episodio.
    [0] el tweet en cuestión: “Al igual que mucha gente, estoy muy entusiasmado con lo que la encantadora gente de Larian ha conseguido con Baldur’s Gate 3, pero quiero oponerme suavemente y de forma preventiva a que los jugadores tomen ese entusiasmo y lo utilicen para criticar o “elevar el nivel” de los juegos de rol en el futuro“).
  • Y hablando de Baldur Gate 3, leo con desesperación y frustración lo siguiente en Tobold:
    Por ejemplo, en el D&D de lápiz y papel, el hechizo Crear Agua es casi inútil. Baldur’s Gate 3 heredó el concepto de “superficies” de los juegos de Divinity Original Sin, y el agua es mucho más útil aquí para extinguir el fuego o lavar el ácido.
    Es decir, qué hace y cuál es el efecto de cada hechizo depende de tantas variables que es imposible estar seguro. Luego de wow, wizard101, Batmud y una docena de otros Muds (sin contar un par de años jugando D&D 3e, que fue la única versión que jugué), mis conexiones sinápticas y mis neuronas son un amasijo de cables retorcidos en un enredo imposible de descifrar. Sin contar que en juegos como wow el efecto, el porcentaje, las estadísticas de los hechizos cambian de una patch al siguiente, ni hablar de una expansión a la otra, con lo que llega un momento en que sencillamente no sé nada práctico sobre un hechizo. El juego lo sabe.
  • A 25% de “avance” en el proyecto que estoy trabajando, descubrimos que una de los expertos no sabe lo que se supone que debe saber, y de alguna manera pasó el filtro de las 2 semanas previas al proyecto, y otra semana más dentro del proyecto sin que nadie se diera cuenta. Por eso, no debemos dejar pasar las situaciones que nos incomodan: ya yo me había percatado que cada vez que se comenzaba a hablar sobre el tema, y cuando yo trataba de puntualizar competencias y conocimiento disponibles, me interrumpían, cambiaban de tema, etc. La gerencia de proyectos, entre otras cosas, consiste en poner los puntos sobre las i’es, le duela a quien le duela. Caso contrario, caemos en la necesidad de realizar “la reunión” donde debemos hacer click sobre una de tres opciones:
    • damage control
    • disaster recovery
    • post morten
  • Nota sobre el punto anterior (escrito 2 semanas después): el proyecto está muerto. El gerente del proyecto está aplicándole CPR pero ya yo estoy moviendo la cabeza: está muerto, déjalo ir. He desarrollado una capacidad para “soltar” (lo contrario del apego) que a veces me asusta. ¿Pérdidas? Cuantiosas, pero es como platos rotos y leche derramada: para la basura, y ni siquiera pierdo el tiempo para comenzar a limpiar.
  • Como desarrollador de juegos, me obligo a leer diariamente /v/ y /g/ en 4chan, pero de verdad, qué insufrible es. De vez en cuando, leo a alguien alabando las discusiones, como genuinas, desprovistas de sesgos sospechosos, sin que se resbalen hacia un punto de vista con intereses oscuros. Yo no leo nada de eso sino discusiones como las de Neogaf, otro sitio de discusiones sobre juegos y otras cosas, con 57 millones de mensajes y creciendo, lleno de cosas sin sentido. A veces buscar algo que me interese en estos foros, es como leer la biblioteca tibetana, en sánscrito original.
  • Este es el último “de todo un poco” de este año así que quería que fuera memorable. ¿Lo creyeron? ¿No? Claro. Esta sección “de todo un poco” es tan memorable solo por existir, y sus datos e información es tan precisa, que si todo lo dicho aquí fuera destruido, en mil años volvevía a existir de nuevo [0], como una replica idéntica, porque estos son hechos de la vida, aquí se transpira lo humano, demasiado humano.

[0] remedo del comentario de Ricky Gerbais sobre la predictibilidad de la ciencia y la arbitrariedad de las creencias religiosas: si todos los libros de ciencias fueran quemados y destruidos, en mil años ya estarían escritos de nuevo, porque la ciencia es repetible: toda formulación matemática, química o fisica arroja siempre el mismo resultado. Si todos los libros sobre religión fueran destruidos, nunca más volveríamos a saber de ellos y sus historias. ¡Agárrate de la brocha que me llevo la escalera!