Juan Pedro Fisanotti

Juan Pedro Fisanotti

@fisadev.bsky.social

AI and Python dev. Univ teacher (AI, web), linux, open source, ex medieval sword fighting instructor, ex space satellites planning wizard, VR 'pilot'.

245 followers403 following297 posts

Deploy que cambia la infra donde corren varios servicios, y actualiza servicios que venían corriendo versiones de hace meses atrás. En un entorno productivo. Un viernes. Antes de finde largo.

Me molesta bastante el estilo super críptico y denso, re cargado de metáforas y capas de significado, que tienen los LLMs para escribir documentación. Ejemplo real: LLM: "Dialect stays a unit, anchored on the delimiter". Humano: "The rest of the CSV parameters depend on the delimiter".

Google Groups tira un dado para elegir en qué idioma y formato me notifica cada vez que alguien pide unirse a los grupos de las materias. A veces inglés, a veces español (con variantes), a veces italiano por alguna razón...

Hoy, en APIs de terror: En vez de (en una API que devuelve mucha data): "rows": [ [1, "fisa", 38], [2, "alecto", 9], ... Esto: "rows": [ {"cols": [{"value": 1}, {"value": "fisa"}, {"value": 38}]}, {"cols": [{"value": 2}, {"value": "alecto"}, {"value": 9}]}, ...

Es loco que con la plata y equipo que deben tener, Zoom todavía tenga tan mala UX en cosas bastante básicas y sin mucho sentido. Ej: unirte a una reunión con un link te abre 3 ventanas distintas (+app en background). Solo 1 es la llamada, el resto son 100% nada, al cuete, y las tenés que cerrar.

Tuvimos un evento de los 25 años de la carrera, y me dieron dos reconocimientos que no me esperaba. Yo estaba con esta remera, no tenía idea que me iban a hacer pasar y sacar fotos con gente de traje, jajaja. Por suerte tenía buzo con cierre :D

Mi trabajo requirió que hoy escriba código en python, typescript, javascript, go y java. Todo en el mismo día :) (es medio trampa porque buena parte fue armado de ejercicios para entrevistas que le hacemos a candidatos, donde les damos opción de lenguaje a usar)

Medir consumo de tokens de IA de los devs es peligrosamente parecido a medir lineas de código pusheadas. Métrica que puede dar números altos cuando en realidad estás agregando complejidad innecesaria, haciendo sobre ingeniería, mal uso o uso superfluo de la herramienta, etc.

No digo que no haya casos donde sirva medirlo tampoco. Como las lineas de código, hay cosas que puede detectar (si un dev no metió código en 2 meses por ejemplo, algo raro hay). El tema es cuando se usa como métrica de comparación, de crecimiento, medida de throughput de valor, etc: es re engañosa.

Alguien me mandó pseudo pull request a un proyecto libre (me mandó los archivos modificados en un zip), hecho 100% con claude. Me borró todos los docstrings y comentarios del código. Y me sacó las lineas en blanco que agrego entre bloques para legibilidad. Ni hablar que no lo apliqué...

View full thread

Cómo es el endpoint que me quiere agregar el PR de claude? Un monstruo de 100 lineas con toda la lógica de negocio sancochada adentro del mismo endpoint, abriendo y editando archivos a lo loco, sin ponerlo en un método del módulo que tiene toda la lógica relacionada a eso, etc.

Alguien me mandó pseudo pull request a un proyecto libre (me mandó los archivos modificados en un zip), hecho 100% con claude. Me borró todos los docstrings y comentarios del código. Y me sacó las lineas en blanco que agrego entre bloques para legibilidad. Ni hablar que no lo apliqué...

View full thread

Sigo leyendo y me indigno más. En mi código un endpoint típico se veía así. El endpoint solo es llamar a lógica y devolver un resultado. La lógica de negocio no está ahí metida adentro, sino que está bien separada en su módulo, reutilizable, testeable, dejando código super legible, etc:

Alguien me mandó pseudo pull request a un proyecto libre (me mandó los archivos modificados en un zip), hecho 100% con claude. Me borró todos los docstrings y comentarios del código. Y me sacó las lineas en blanco que agrego entre bloques para legibilidad. Ni hablar que no lo apliqué...

Api horror story del día: una api que en la data que devuelve, te reemplaza los valores nulos con el nombre de la columna (y no se puede desactivar). Ej: si hay una columna "Country" y una fila no tiene valor para esa columna, le mete el string "Country" en vez.

Hmm, en el trabajo estoy trabajando en un tipo de problema con el que Zed no se lleva muy bien, y terminé volviendo a Vim porque me cansé de la fricción. Al menos mientras esté con esto. Básicamente tener que trabajar con código de muchos proyectos a la vez y archivos de configs sueltos en lugares.

Zed medio que asume que vas a tener una ventana por proyecto (no lo voy a hacer porque estoy con unos 10 a la vez), y es molesto para abrir cualquier cosa que no esté dentro del proyecto que tenés abierto (nada de autocompletado de paths, etc).