He estado bastante ocupado retomando la programación como actividad principal, no sólo es volver a estar una parte razonable del día frente a la computadora, sino también explorar las nuevas tecnologías y sobretodo, las expectativas. Entre eso he pasado un buen rato explorando y leyendo sobre AI y LLM, aunque no me desviaré con eso en este post. Comencé a programar un par de experimentos, uno de ellos para practicar React, porque no lo había usado en un par de años, y de paso aproveché para interactuar con agentes de AI. Estuve practicando mandarín y pensando en cómo puedo mejorar, no sólo la comprensión sino también la expresión. Y he estado pensando en como puedo empezar a darle clases de inglés a mi hija, hoy en la mañana se lo propuse y quedó feliz de que fuera su maestro, la parte difícil es que se lo tome en serio, que no se trata de tener seriedad, sino del aprendizaje.
La semana pasada tuve tres entrevistas con personas de empresas en Portugal, en los tres casos se trata de empresas que hacen outsourcing, es un modelo bastante cómodo y tiene su atractivo, pero no es algo en lo que esté particularmente interesado en este momento de mi vida. Además, los salarios son bajos y las expectativas, aunque pueden ser muy demandantes dependiendo de la cultura de la compañía que lleva el proyecto en el que uno entra, no son particularmente altas. De cualquier manera decidí seguir con el proceso porque después de dos años de estar fuera del mercado laboral no he tenido mucha suerte con otras cosas, ni siquiera por mi cuenta, creo que mi CV está algo descuidado, le invertí un ratillo recientemente, pero creo que tengo que mejorarlo aún más. En uno de esos me mandaron una prueba asistida con computadora, en una de estas plataformas que usan las empresas, la verdad es que no me dio buena espina, era de esas pruebas en las que tiene que ser full-screen, no puedes cambiar de tab, no puedes usar otras fuentes de información y para colmo tenía que tener activada la cámara, sin embargo, me fue bastante mal de cualquier manera, creo que mucho es práctica y la verdad es que en este momento creo que la habilidad para programar es bastante poco de lo que hace un gran programador, y mucho menos de lo que contribuye al éxito profesional, por lo que no practico tanto como debería, me cuesta trabajo sentarme a hacer cursos y certificaciones, y estoy convencido de que no me llevan a donde quiero ir. Hace mucho que no practico ni tengo ganas de practicar todas las cosas que tienen que ver con algoritmos, con programar rápido y estar siempre alerta y a las carreras, en la mayor parte de los casos las tareas que uno hará en el día a día no tendrán nada que ver con eso, tiene mucho que ver con factores políticos y sociales, de los que algún día me gustaría hablar, seguro que existen empresas en donde todo eso se pone en práctica, pero a veces el costo de trabajar en esas viene escondido en otros detalles, por ejemplo, migrar a países que esconden terribles secretos en cuanto al papel de la industria bélica en su economía.
La semana pasada comencé a hacer una aplicación en React para practicar un poquito, use como excusa mis estudios de mandarín y que estaba alineado con otro de mis proyectos recientes, del que no he terminado de escribir, que es usar los agentes de AI para extraer datos de documentos escritos, algo que fue mucho más complejo de lo que debería. La aplicación es bastante simple, parte de la idea de hacer un visor de las palabras que se necesitan aprender en cada nivel del HSK, que es el examen que se usa para evaluar el conocimiento de mandarín de los extranjeros por parte del gobierno chino. Estoy usando Amp que usa Claude internamente, creé el directorio e instalé vite y tailwindcss yo porque ya he visto que los agentes no son muy buenos creando proyectos con las versiones más recientes, después le pedí que empezará a generar la interfaz del sitio y me sorprendí por la forma de escribir código,pues el código que generan es bastante sucio, aunque se ve bonito y funciona, debo admitir que en cuanto a diseño quedó mucho mejor de lo que me habría quedado a mí, con todo y que soy bastante bueno pasando de imágenes a prototipos funcionales con tailwind y js. En cuanto a la programación y a la forma de usar los conceptos creo que todavía le falta bastante, la parte sencilla de corregir es que repite muchas cosas que podrían ser reutilizadas, la parte difícil es que a veces no entiende el porqué de los patrones y crea cosas muy extrañas, por ejemplo, en algún momento le pedí ayuda para estructurar el manejo del estado de la aplicación y el resultado nunca fue bueno, ni con acceso al código, ni pidiéndole consejos en su interfaz y aplicando los consejos al código.
Como en la mayoría de los casos también en este estime muy mal el esfuerzo pensé que lo iba a terminar en una mañana y me tardé una semana entera, en realidad terminé por hacer varias cosas pero aún así me tardé mucho más de lo que pensaba inicialmente y aún no lo publico.
Un día en la noche salimos un momento al jardín y Maia se quedó con la idea de las estrellas fugaces, se quedó pensando en durante toda la noche, soñó con eso, y en la mañana seguíamos hablando de lo mismo, en algún momento me preguntó si las estrellas fugaces cumplían los deseos de todos o sólo de los que se portaban bien, varias veces le dije que las estrellas fugaces eran algo simbólico y que ese simbolismo hacía que uno a veces se esforzara más por conseguir las cosas, pero que aunque puede ser cierto desde una perspectiva simbólica, se trata de una herramienta y una forma bonita de lograr enfocarse y concentrarse. En algún momento le dije que, a veces, los deseos se cumplían también para las personas malas, es decir, independientemente de el comportamiento de la persona. Lo hice pensando en quitarle peso o fuerza a las estrellas fugaces, lo curioso fue que ella, muy creativamente, dijo “Bueno, es que debe de haber estrellas fugaces malas que les conceden los deseos a las personas malas”, me pareció una forma muy bonita de enforcar el mundo. Lamentablemente también vi reflejado el fanatismo de otras personas que terminan por usar la fé como una herramienta manipulativa, que sirve para mentirse a sí mismos y justificar sus acciones con los demás, es decir, estoy seguro que no era esa la intención de la frase de mi hija, pero no se espera lo mismo del pensamiento de una persona de 6 años, y del pensamiento de alguna gente mucho mayor, totalmente formada, que toma decisiones en un gobierno o una empresa. Me quedé con ganas de crear una serie animada, pero aún le debo un videojuego a mi hija.
Hoy en la mañana tenía la firma idea de escribir todo el día y se me ocurrió pedirle a Amp que mejorará un poquito mi sitio, sólo para ver que pasaba. Me hizo un desastre y terminé trabajando en limpiar el código, aunque sí mejoró la estética visual del sitio, en unos días lo verán porque no voy a meter ese código a mi repositorio antes de pulirlo un poco, por el momento sólo voy a publicar este post.
Sigo pensando en una idea para aprovechar la inteligencia artificial para un compañero de aprendizaje de idiomas, he tenido ciertos progresos, ahora pienso que sería interesante el poder tener referencias de los materiales adicionales que se usan durante una lección o como tarea, por ejemplo, libros, artículos, sitios web, o videos de YouTube. También tuve la idea de integrar una tableta digitalizadora semejante a las Wacom con un Raspberry Pi para ver si se podría podría hacer algo barato y resistente que se les pudiera prestar a los niños para producir dibujos digitales, como en un curso de verano.