Transcript
Ven a conocer más sobre el desarrollo de software libre y la robótica de parte de Esteva, 1 de los creadores de ROS 2 y colaborador en varios proyectos de software libre.
Bienvenidas y bienvenidos a entre de Diops.
Hoy estamos, David.
¿Qué tal?
Buenas tardes, buenas noches y buenos días.
¿Cómo estamos?
¿Jare?
Muy buenas.
¿Edu?
Buenas.
¿Y quién nos habla?
Natch.
Como ya sabéis, dadnos me gusta o haced una reseña en vuestra plataforma de podcasting, y si os animáis, dejadnos un comentario sobre el episodio, así nos ayudáis a que más gente nos conozca.
Ayudadnos en nuestro Patreon o el enlace de afiliados de Amazon.
Ambas cosas las puedes localizar en las notas del programa y en nuestra web, en 3 doble uves punto entred biops punto es.
Como hemos dicho
Yo quiero decir una cosilla, antes de empezar
Pensaba que había hecho algo mal.
No, no, no, no, todo muy bien, has hecho muy buena introducción.
Solo quiero decir una cosa, antes de darle voz a Esteva, ¿vale?
Entrar a Esteva.
Esteva viene a grabar conociendo de antes a Edu desde hace mucho tiempo, y sabe cómo es.
Me quito el sombrero, ¿vale?
Ante la valentía de Esteva, ya está, solo es esto.
Venga, vamos a introducirle y que y que pueda defenderse ahora.
Como hemos dicho, hoy entrevistamos a Esteva Fernández, cocreador de Ross 2 y miembro del core team de Ross, miembro de la fundación Apache y fan de ROST, así como miembro de otras comunidades y proyectos de software libre.
Bienvenido, Esteban.
Hola, Ignacio, muchísimas gracias por por invitarme, es un placer y y un honor.
Aquí estamos encantados.
Sobre todo, a a lo que ha dicho David, tengo que decir que es un poco, es como el el el antiedu, o sea, tiene la capacidad de contratrolearlo.
Entonces, es el equilibrio perfecto.
Bueno
Esto es como el Magic, sabéis que en el Magic hay 5 colores y cada un color es el
el antítesis de otros, ¿no?
Pues yo sería, no sé, el el el azul y este va a ser el blanco.
Él va a bolas de fuego, no, al revés, no, tú sería, si yo soy azul, tú eres el rojo.
Yo soy agua, tú eres fuego.
Sois unos.
Es es un gran cumplido por por tu parte, Edu, que me consideres tu contratrol.
Claro.
Ay, madre mía, ¿de dónde hemos empezado?
El
antagonista.
Jale, parece que vas a decir algo, ¿no?
Vale, vale.
Vale, bueno, vamos vamos a empezar con una primera pregunta, y siempre decimos a todos los todas todas las personas que entrevistamos en este podcast.
¿Quién quién es Esteban Fernández y a qué te dedicas actualmente?
Pues yo actualmente soy ingeniero de robótica, trabajo en una empresa en remoto que está en Japón, que se llama tier four, y que desarrollamos tecnología para vehículos autónomos, es decir, coches y, recientemente, también autobuses autónomos.
Llevo trabajando en Tier Ford desde hace aproximadamente 6 años, y desde los últimos, diría que 15 o así, me dedico a la a la robótica.
Vale.
¿Podrías contarnos un poco sobre tu trayectoria profesional?
¿Cómo has llegado a este a este rol y al y a tu interés por la robótica?
Yo empecé, mi carrera profesional empecé con criptografía, cuando cripto significaba criptografía y no criptomonedas, y en una empresa que se llamaba Cytle, que, de hecho, fui compañero de de trabajo de de Óscar.
Un abrazo aquí, desde aquí para para Óscar, porque da la casualidad de que luego Óscar fue compañero de de Ignaci en otra empresa, y al final demuestra que el mundo tampoco es tampoco es tan grande.
Luego, después de Cytle, fui cambiando, fui también trabajé en DMAT, en en en la una plataforma de de recomendación de música, y más tarde acabé fundando una empresa con un amigo.
La empresa se llamaba FluidInfo, donde está estamos desarrollando una base de datos en el cloud.
Sin embargo, bueno, aunque tengo muchísimos buenos recuerdos de Flood Info, tuvimos que cerrar, y fue el momento en el que decidí que era la ocasión perfecta para dedicarme a lo que siempre que había querido, que era la robótica.
Me apunté a un máster, prácticamente in extremis, porque cerramos la empresa en en septiembre, y en aquel momento vi que habían abierto las inscripciones en un máster de sistemas inteligentes interactivos de de la, pensé que, bueno, que era el el momento ideal, y partir de ahí acabé el máster, me
enfoqué en la robótica, me mudé a California para trabajar en la Open Source Robotics Foundation.
En la Open Source Robotics Foundation es una es una fundación Sí, ¿David?
No, dale.
No, no, perdón.
Te quiero preguntar, es que te he cortado, si un caso acaba y luego y luego te te hago la pregunta.
Acaba, acaba este tema, perdón.
Pues yo estaba en la Open Source Robotics Foundation, que es una fundación sin ánimo de lucro que desarrolla software open source de robótica, de ahí el nombre, principalmente ROS, que es un framework de robótica, y GASIvo, que es un simulador.
Y en aquel momento yo entré a trabajar en la opportunity foundation para trabajar en ROS 1 como miembro del del core y decidimos en el equipo ROS empezar, pues, la andadura de ROS 2, que ahora es la versión estable de de Ross.
Después de ahí, pues después de California me mudé a a París a trabajar en una empresa en en Easy Mail, una empresa que desarrollaba tecnología de conducción autónoma para minibuses.
De ahí a Londres me fui para trabajar en Barcopidia, que era un, es una empresa que están desarrollando un proyecto piloto de un coche autónomo que se podía aparcar solo en cualquier parking, y luego de allí me volví a Barcelona, y trabajando en remoto empecé a trabajar en para APEX, que está en California, y de ahí salté a a tier for en en Japón.
Madre
mía, impresionante.
Aquí traemos cada invitado que tiene que tiene tiene miga, O sea, la verdad es que luego, vuestros currículums con los nuestros, digo, qué qué pringayos somos.
La pregunta que te quería hacer, Esteva, ¿cómo cómo es el paso, o sea, cómo?
Por por curiosidad, Profesionalmente, ¿cómo haces el cambio o cómo consigues el trabajo en California, en la en la open source robotics foundation?
¿Cómo va ese proceso?
¿Es algo que buscas, algo que encuentras de casualidad?
¿Cómo cómo es ese proceso para entrar a trabajar ahí?
La casualidad fue que en aquel en aquel momento, pues solicité el summon of code, el Google summon of code, que ya lo había hecho antes para para las para boost, unas quebradillas de c más más, y en esta ocasión dije, bueno, pues voy a ver si hay algo de robótica open source y vi que la Open Robotics Foundation participaba en el Google Sembrow Co, y decidí solicitarlo.
Cuando acabé el proyecto en el que en el que había trabajado para para la open source foundation, pues algo debieron ver en mí y me ofrecieron trabajar para ellos, y justo acabé el máster, solicité el visado para mudarme a a Estados Unidos, y fue fue un poco encadenar una serie de de coincidencias que siempre pienso que menos mal menos mal que la empresa que fundé con con Terry, con con mi amigo Terry, cerramos justo esa semana de septiembre porque, si no, no hubiese podido hacer el máster.
Si no hubiese podido hacer el máster, no hubiese hecho el summer of code por segunda vez y, por tanto, no hubiese trabajado para la open source Robotics Foundation, y entonces mi carrera de de ingeniería robótica, pues, probablemente, no no hubiese sido como como ha sido.
Sí, sí, ya te digo.
Una una serie de casualidades que, mira, te ha llevado donde estás.
Y la gente que no lo conoce, ¿qué es el Google summer of code?
Si puedes explicarlo un pelín por encima, tampoco hace falta nada entrar en detalle.
El Google summer of code, claro, yo ahora ya estoy bastante desconectado de de del del programa este, pero cuando yo lo hice, la primera vez, yo estaba estudiando en la Universidad Uberta de Cataluña y vi la oportunidad de trabajar para las librerías GOOST.
La forma en que funciona, al menos en aquel momento, los proyectos de open source y de y de software libre publican una serie de No todos los proyectos open source tienen que solicitarlo a Google, luego Google les les aprueba formar parte del summer of code, y luego ellos publican una serie de ideas en las que,
pues gente, estudiantes, porque es es requisito ser estudiante en aquel momento, los estudiantes pueden, estudiantes de de universidad, pueden solicitar trabajar en ese proyecto, en esa idea, y a cambio durante, esto dura durante durante el durante el verano, al final Google paga un tanto, una cantidad por haber finalizado el el proyecto.
Hay una serie de requisitos que tienes que, primero tienes que, cuando se abren las inscripciones, tienes que contactar con el con el proyecto de de software libre y open source que que en el que quieres trabajar.
Puedes, de hecho, las ideas que ellos publican las puedes las puedes discutir con el proyecto.
Yo, de hecho, en la que trabajé para Boost, ellos habían publicado una y vi que esa idea no podía, tal y como la habían planteado, pues no era factible, entonces les escribí y dije, ah, pues bueno, me interesa mucho esto, pero yo quería proponeros hacerlo así de esta otra manera.
Eso también, pues muestra interés en el proyecto, y al cabo de una unas semanas después de haber enviado la solicitud, el el equipo del proyecto en cuestión evalúa las las solicitudes y, entonces, empieza el el el trabajo.
Normalmente, cada organización tiene como 2 o 3 puestos, porque claro, pues mucha gente lo solicita, pero no no no se lo aceptan a todo el mundo, y después, bueno, se se aprueban y, entonces, empiezas ya a trabajar.
A a mediados del verano tienes que haber demostrado cierto trabajo y tienes que haber cumplido con una parte del del roadmap, se lo entregas al proyecto, el proyecto lo evalúa y luego se lo dice a Google.
Google luego te paga a ti y continúas hasta que hasta septiembre, que es cuando ya te pagan la segunda mitad del del del del trabajo.
Yo he estado como estudiante 2 veces, está Boost y para y para la Open Source Robotics Foundation, y también estuve como mentor 2 veces cuando trabajaba en la Open Source Robotics Foundation, porque teníamos una parte de de nuestro tiempo que era community outreach y y, bueno, trabajo con la comunidad, y parte de ese trabajo era también ser mentor en el en el Google Sound of Code.
Así que tengo un poco la visión de las 2 de las 2 partes.
Es un es un programa muy bonito que cualquiera que esté escuchando este podcast y que sea estudiante, le le recomiendo que participe, porque tanto si tienes experiencia en el mundo del software libre como si no, es muy gratificante estar ahí trabajando mano a mano con con gente que, bueno, que son muy cracks y que de las que se puede se puede aprender mucho.
Y, inevitablemente, pues también que durante el verano, pues, Google te esté pagando por trabajar en software libre, pues pues no está mal, no está.
Yo el summer of code lo conozco por haiku, porque el cada año tienen, o casi cada año tienen alguna algún proyecto hecho para mejorar el sistema.
Incluso, creo que se incluso creo que el sistema de paquetado lo generaron en un summer of code.
Entonces, es es eso, cada año van haciendo propaganda del sistema, van haciendo, por favor, a añadir ideas, y entonces vamos a intentar a ver si este año nos nos, Google nos ayuda y todo esto.
Y es una de aquellas cosas que siempre vas viendo.
Supongo, Esteba, que que los los mentores son miembros de las organizaciones que dan soporte a al, o sea, que participan como como en el mentoreship del Google Sammer of Code.
¿Qué qué tipo de soporte recibe el estudiante que que participa en un Google Summer of Code por parte de esta de este mentor, de estos de estas organizaciones, o de Google?
La verdad es que depende mucho de cada organización.
Yo, cuando era mentor en en la Open Soft Robotics Foundation, hacíamos mucho seguimiento del de los estudiantes, hacíamos reuniones virtuales casi cada semana y los tratábamos a los estudiantes como si fueran como si fueran compañeros del del proyecto, que esa es la esa es la belleza de también de de todo esto, porque tú, bueno, es una manera de de de de ya formar parte de un equipo de de software libre.
Hablando con otros compañeros del del del summer of code, porque se hace una reunión, se hace un un un evento, un encuentro cuando acaba el summer of code cada cada año, o al menos así en en aquel momento.
Hablabas, pues, con con otros mentores y con algunos estudiantes, y cada organización, pues claro, lo hacía de manera diferente.
Yo soy de la opinión de que porque 1 sea estudiante o tenga menos experiencia, no significa que que se, no se le trate con el mismo con la misma, el mismo respeto que que que a un a otro compañero, y por tanto es, al fin y al cabo es trabajo, tanto si es, en este caso era remunerado, como si no.
Me parece importante que que el estudiante se forme forme parte del equipo y que se sienta que que sus contribuciones importan, porque, de hecho, la la motivación al final de del summer of code es que los estudiantes se conviertan al final en contribuidores
habituales del proyecto una vez que acaba que acaba el el sunroof code.
A veces sucede, a veces no, también porque, bueno, el trabajar en software libre es a veces complicado cuando hay que compaginarlo con otras cosas, pero sí que es un poco el objetivo de que al final es una forma de reclutar gente que en un principio no, a lo mejor no se sentía cómoda participando en un proyecto, o que ese verano, pues, en lugar de, pues, esto es es muy muy típico en Estados Unidos de, bueno, el verano, pues, me me voy a trabajar a un a un sitio de de de fast food.
Pues, bueno, en lugar de eso, pues voy a a trabajar en en open source.
De hecho, el eslogan de de del summer of code era flip flip bids not bergers.
Era la idea de, bueno, pues, en lugar de buscar un trabajo de verano tradicional, pues mira, esto es una forma que tienes de meterte en el mundo del open source, o si ya formas parte del del open source, bonificar esa esa ese trabajo que has estado haciendo, pues para continuar ese verano y no y que no se pierdan tus contribuciones.
Antes has comentado que estabas en el tema de ROS.
¿En cuántos proyectos libres estás y cómo te organizas el tiempo para poder trabajar en esto?
Es una muy buena pregunta, que aún a día de hoy no no sé cómo resolverla.
Para mí, trabajar en software libre es algo bastante natural.
Llevo llevo trabajando en software libre, pues, por lo menos por lo menos 25 años, creo, y la mayoría de ese tiempo ha sido de manera profesional, de hecho.
Me siento increíblemente afortunado de de haber tenido estas oportunidades de trabajar en open source, siendo, bueno, pues pues cobrando por ello, ¿no?
Por así decirlo.
Para mí es es algo, como he dicho, natural.
Yo, cuando desarrollo algo, ya sea por por por trabajo o por mi propio interés, porque quiero aprender algo, porque algo me puede ser útil.
No no me planteo si si debería ser open source o no, simplemente lo lo publico como open source.
Sí que es cierto que al final no tienes tiempo para todo y y tienes que elegir qué proyectos puedes puedes dedicar tu tiempo y tu y tu esfuerzo.
Ahora mismo yo estoy bastante metido en el mundo de de Rust, me parece fascinante que por fin haya un lenguaje que pueda rivalizar con c y con c más más.
En el mundo de la robótica, CYC más más son son los lenguajes de facto.
También por múltiples razones, porque, bueno, al final cuando un robot lo quieres certificar, cuando quieres certificar el software de un robot, estas certificaciones solo están disponibles para ciertos lenguajes, entre ellos c, c más más y EIRA, y no no para Rust ni para ni para otros otros lenguajes.
Pero Rust y la robótica, pues, la verdad es que tienen muy buen muy buena sintonía.
De hecho, en el en el Fosden de de este año es el segundo año que se hace el track de de robótica.
Y yo diría que tal vez la la mayoría de las charlas que se dieron, incluida una que que yo di, era sobre sobre Rust y robótica, de cómo Rust es es perfecto para la robótica.
Aparte de Rust, sigo metido en el monto de de ROS.
Una vez que entras, pues ya es difícil es difícil salir, básicamente, pues porque también por mi trabajo, por trabajar para tier four.
Nosotros usamos ROS 2 para nuestros para nuestros coches y para nuestros autobuses, pero, por supuesto, al final, pues bueno, código que a lo mejor has hecho hace hace años y de repente alguien te pregunta algo, pues tienes que volver a desempolvar el conocimiento y dices, ah, sí, sí, y, bueno, y vuelves a meterte en el en ese mundillo, ¿no?
También estuve, también soy miembro de la fundación del Apache Suffer Foundation.
Hace años trabajé en un proyecto que se llama Thrift, y de ahí, pues, continué también en la en la fundación Apache.
Ahora mismo ya no soy tan tan activo, estoy más activo en la parte de de robótica, en la parte de Ross, la parte de Rust, pero bueno, a veces va un poco va un poco a rachas y y también a modas, como creo que nos pasa a todos de, ah, pues ahora esta cosa es muy mucho más interesante, esta cosa nueva es interesante, ah, pues voy a voy a ver qué a ver qué puedo hacer con eso, Pero ¿cómo lo gestiono?
Pues, muchas veces, pues simplemente reconociendo las limitaciones de tiempo y decir, bueno, pues este proyecto, ya no puedo participar tanto en él, proyectos que a lo mejor he empezado yo, ves a alguien que es que está contribuyendo mucho a ese proyecto y simplemente dices, ¿quieres tomar el testigo?
Al fin y al cabo es es código.
Por supuesto, hay una parte emocional de, bueno, esto lo empecé yo, pero de la misma manera que no quieres que ese proyecto desaparezca y muera, pues dices, bueno, pues que alguien que alguien me sustituya y que y que continúe con ese proyecto y que lo mejore y que haga todas las cosas que a mí ni se me habían ocurrido hacer.
Tengo una preguntita, porque como tú estás muy metido en proyectos open source, para si la conoces de primera mano te afecta, ¿no?
Incluso en SforceSense hablo de lo mismo.
Muchos proyectos están, podríamos decir decir muriendo de éxito, de alguna forma, por gente que con LLMs ya gente se pone a hacer cosas.
Vamos a resumirlo, ¿vale?
No sé si en el caso de los proyectos que te contribuyes, supongo principalmente ROS, 2, ¿estéis viendo un incremento o tenéis problemas de ser?
Más que nada gestionadores de PRs automáticas, por así decirlo, ¿no?
Que es un poquito el problema que así resumido, que está teniendo muchos proyectos de éxito por gente que quiere, pues, no sé, simplemente contribuir, simplemente tener el check de contribuir a este proyecto y eso va salir mi currículum, o simplemente buena voluntad, pero mala ejecución, ¿no?
Porque entiendo que una herramienta como un LLM, una gente, pues, bien utilizada, pues, es es es muy útil, pero claro, cuando tienes la capacidad, piensas que la tienes, al final lo que está haciendo es generar mucho ruido a a los que realmente están manteniendo ese proyecto, ¿no?
Y creo que puede ser un problema, ¿no?
A nivel escala del.
No sé si tiene, o sea, está pasando proyectos donde tú colabores y creo que es interesante conocer desde puntos de vista de alguien que está en en ese lado qué sucede.
La verdad es que, al menos en el proyecto ROS, nosotros hemos tomado una el proyecto ha tomado una una decisión bastante pragmática, que es, de acuerdo, la gente va a usar
agentes de de de código, LLMs.
Lo único que pedimos es que sean honestos y digan, cuando cuando tú envías una una pull request a un proyecto dentro de la del del paraguas de de de Ross, que digas, sí, he usado inteligencia artificial para este para este para esta contribución.
Es lo único que se pide.
Sí que es cierto que en otros proyectos en los que estoy, que, bueno, que no tenemos una política así tan tan definida, sí que lo sí que lo ves, ves cuando alguien,
creo que aún a día de hoy se puede ver se puede ver bastante bien cuando una contribución está hecha está hecha con con con IA.
De momento, yo no me he encontrado en la en la situación de de tener que que cerrar contribuciones, como ha pasado con como ha pasado con Cork, me parece que que dejaron de dejaron el programa de el programa este de las del backcounty que tenían, o por ejemplo el en Ghosti,
Michel Muchísimo turno.
Ha creado un sistema de, bueno, de de para que si tú si tú eres un humano, tienes que demostrar que eres humano y si no, una cualquier purr request que envíes se va a cerrar, ¿no?
No hemos encontrado en no nos hemos encontrado en ninguno de los proyectos en los que estoy en esa situación, Pero sí que es cierto que yo he visto pull request que no hacen lo que dicen que hacen, o tal y como lo hacen,
no no no tiene sentido, o pull request de gente que nunca ha participado en en el proyecto, y de repente te envía una contribución de 1000 líneas y dices, bueno, ¿esta persona de dónde ha salido?
¿Qué qué qué hago con esto?
Y cuando les haces preguntas en la pull request, yo yo siempre asumo buena fe, aunque, como he dicho, se ve claramente aún cuando una contribución está hecha por alguien que no conoce el el el código, pero, bueno, yo asumo buena fe, hago preguntas, oye, esto lo puedes hacer, cambiar así, lo puedes cambiar de de la otra manera, y cuando no ves ninguna respuesta, pues bueno, pues dices, bueno, pues pues cierro la pur request porque tampoco En los proyectos en los que, fuera del trabajo, en los que yo estoy dedicando mi tiempo libre, pues no voy a, pues no, tampoco tampoco le debo nada a esa a esa contribución automática, pues bueno, pues lo cierro y se cierra y no y no pasa nada.
Siempre se puede volver a abrir si el si el autor dice, no, no, es que, bueno, he pasado una mala semana muy ocupado y no he podido responder, pero la mayoría de veces es simplemente gente que Realmente no entiendo la la motivación, más allá de, supongo, tener un grafo en el un un una celda ahí en con colorines en el en el GitHub, pero realmente no le entiendo esta motivación de de enviar purr request en proyectos que no te que tampoco te importan, o sea, no le veo no le veo qué, pero sí que entiendo que es un, puede ser un problema grande para para proyectos más grandes, proyectos que tienen muy buena reputación y que, claro, la gente, pues, le gusta decir, ay, yo he contribuido a esto, yo he contribuido a lo otro, y más si encima hay programas de recompensas como como lo de como lo de Koro, que dices, bueno, pues mira, pues, envío esta contribución YYA lo mejor me llevo un dinero, ¿no?
Pero claro, los pobres mantenedores, pues es un trabajo que no es muy agradecido que te que te envíen estas contribuciones sin sin ningún tipo de de interés, solo por solo por la reputación y no porque realmente te te importe el proyecto.
Claro, a veces a veces también, yo supongo que en el tema de las contribuciones que están creadas por con inteligencia artificial para codificar, también en algunos casos, si si se hacen bien, se puede puede ser difícil de identificarlas, pero bueno.
Una pregunta, ¿vosotros usáis inteligencia artificial para codificar en el proyecto?
¿Es algo que que lo estéis haciendo?
Yo lo he usado algunas veces.
Tengo que decir, no sé si porque las bases de código con las que trabajo son muy, no sé si extrañas 0000 muy retorcidas, pero mi experiencia con con estas herramientas es es es un poco de de hacer de de de de de niñera de, bueno, haz haz esto, no sé si, a lo mejor es que simplemente no no sé usarlas, no.
También también puede ser mi culpa, ¿no?
Pero de, ah, intenta resolver esto, y te lo resuelve de una manera, y te dice, ah, está perfecto, eficiente, tal, lo pruebas, no funciona, y tienes que volver y volver a insistir, insistir, insistir, y a veces me siento así como como si fuera un, como si fuera una niñera que tiene que que que, bueno, coger de la mano la herramienta esta, al final acabas, acabas, según cómo acabas, perdiendo tiempo.
Pero si
si consigues solucionar eso, me lo dices, porque yo me siento igual.
Ya, no sé, no sé si es porque a lo mejor hay bases de código que son más, no no no te voy no voy a decir que más complejas, porque a veces no es una cuestión de complejidad, pero a veces es posible que sea por porque es un lenguaje donde hay mucha menos mucha menos muchos menos proyectos o no sé.
Pero pero el lenguaje que utilizas es C0C más más.
Exacto.
Y precisamente es 1 de los lenguajes más extensos.
A ver, que yo utilice el XIR y que nadie utiliza el XIR, vale.
Pero c, creo que ese no es el problema.
Yo creo que, o sea Y la demostración es lo que hicieron los de Anthropic, que ¿Anthropic fue el que creó un propio sistema operativo?
No.
Un o algo así, pero que
No, había alguien que había probado, vamos a hacer un sistema operativo.
Hay un compilador, perdona.
Ah, compilador, sí, la tropic.
Y que cuando el compilador compilaba Linux, Linux no levantaba porque es eso, compiladores es una de las cosas más típicas y documentadas que tenemos, y Linux es una de las cosas más documentadas que tenemos.
Y en cambio, LLM no pudo hacer que funcionase en todos los sistemas.
Entonces, yo creo que no es un problema de base de código.
Ahora ahora me siento desinformado, porque yo lo que había era precisamente que habían creado un compilador con IA, que habían pasado las las suits de test de GCC, entre otros, y que habían compilado Linux.
No, lo que no sabía es que no lo habíamos conseguido levantar.
No, yo yo lo que
había pero no no lo podías levantar en 32 bits, porque el el compilado, ¿no?
O sea, el compilado que que que salía de ese compilador era demasiado grande para la memoria, y entonces eso es un problema de que salía de de de de, de de, porque no estaba optimizado.
También compilaron el Dump y funcionaba, no sé si era 2 frames por segundo.
O sea, sí te compilaba, pero
Acaba, disculpame, pero acaba de pasar algo que creo que en 103 episodios que llevamos nunca había pasado, que es que el invitado ha levantado la mano en el software que tenemos para pedir paso, interrumpir una discusión entre miembros del equipo.
Adelante, Esteban,
Yo hasta donde lo hasta donde sé lo que ha pasado con lo de Antropic, ellos crearon un compilador en Rasp para compilar c, que sí que compilaba el kernel de Linux, pero que luego no podía compilar un Hello World, porque faltaban faltaban unas cabeceras, faltaban unos headers, tal.
Pero al final, lo que lo que esto demuestra, básicamente, es que hicieron este este compilador con muchísimas horas de de inferencia
gastando un montón de tokens, una cantidad brutal de tokens y encima desde la desde el propio Antropic que, bueno, le sale mucho más barato los los tokens, pero igualmente gastaron un montón y que encima tuvieron que desarrollar, si no me equivoco, una herramienta, un un tuvieron que crear una herramienta especial únicamente para este proyecto.
Claro, la pregunta de todo esto es, vale, si el resultado era un compilador de c, un compilador escrito en Rust que podía compilar c, pero ¿a qué coste?
Y también el tema es que ni tampoco tenía Assembler, que tuvieron que usar era Assembler de de GCC, y usaron como referencia el código de GCC.
Creo que aunque las herramientas estas del LLM son, pueden ser útiles, seguro que que son muy útiles, y tengo un tengo un amigo que es 1 de los mejores desarrolladores que he conocido en mi vida, David Faconti, que es es muy, muy buen desarrollador, es es es un es un genio, y él está usando alguna ha usado alguna vez estas herramientas, dice que, bueno, pues que le permite ser más productivo, pero claro, igualmente requiere requiere un conocimiento y una experiencia para poder manejarlas.
Claro, esto es trasladable a lo del compilador de Antropic, bueno, necesitaban una herramienta especial que no era el Cloud Code,
un montón de tokens, además otra implementación de un compilador como referencia.
Bueno, pues es es, podías extrapolarlo como tener un desarrollador que tiene muchísima experiencia.
Claro, que de alguien que a lo mejor nunca ha programado decirle genérame un me dan un un compilador de de c, pues no va a funcionar.
¿Creo que pueden ser útiles?
Sí.
¿Creo que aún hay que hacerles bastante tutelaje?
También también creo que sí.
Ok, interesantes reflexiones entre todos.
Al final ha molado, ha molado, ha estado bien el debate.
Una pregunta, Esteban.
Solo para clarificar, estás metidos en todos estos proyectos open source, pero entiendo que lo haces por puro voluntariado, ¿cierto?
¿Estás metido ahí?
Digamos que tú tienes tu trabajo en la compañía japonesa que nos has dicho, pero tu tiempo es, para estos proyectos es puro voluntariado.
Para algunos sí, para otros no tanto, porque como la la empresa para la que trabajo, para tier four, el software que desarrollamos es es software libre, es un software que se llama AutoWare, que es un un stack de conducción autónoma que incluye todo, incluye desde desde el simulador hasta los algoritmos de de percepción, el software de control, todo es es open source.
Por lo tanto, mi mayor parte de contribuciones al open source hoy en día, pues, son son son parte del trabajo.
Luego, por otra parte, también, pues, dado que soy autónomo, pues, bueno, pues algunos proyectos también me han me han caído de de desarrollar cosas que también han sido open source, Y, de hecho, del tiempo libre, pues solo dedico solo dedico a un un a 1 o 2 proyectos, tampoco tampoco demasiado, porque al final, al final acaba el trabajo y
lo último que quiero es estar delante de la pantalla.
Entonces, ya ya tengo ya tengo mi dosis de software libre, que me siento muy afortunado, que es software libre pagado, y luego ya cuando se acaba la jornada laboral, pues bueno, pues ya otras cosas que no sean que no sean digitales.
Te recomiendo, si quieres hacer cosas no digitales.
Venga, la siguiente pregunta que te queríamos hacer es un poco relacionado con un poco con lo que ya has comentado, ¿no?
Por la parte del el Google summar of code, ¿no?
Si alguien que nos está escuchando quisiera empezar o hacer un cambio de de rol y dedicarse, pues, sobre temas de robótica, ¿qué áreas, qué temas, qué conocimientos debería adquirir, pues, para para dedicarse a esto, no?
Y si conoces, pues, qué recursos o si conoces, pues, no sé, másters, como te decías, que entiendo que son máster de hace muchos años, eso no creo que no tiene sentido ahora, habrá másters muy más actualizados, ¿no?
Pero quizá hay, pues, cursos que pueden ser muy recomendables, pues, de las 1000 plataformas que hay de de de auto formación o lo que tú veas, o incluso hay hay programas de mentoría en proyectos como ROS que pueden funcionar también para gente que quiera introducirse, ¿no?
Cuéntanos.
Pues hay varias hay varias maneras de meterse en el mundo de de la robótica.
Una de las cosas que ha hecho que ha hecho Rosh, que que ha que es es una de las, es es muy parecido a lo que hizo Linux en su momento, el kernel, es democratizar el acceso a a la robótica.
Antes, la robótica, normalmente, cada departamento de robótica tenía su propio framework, y yo cuando estudié el máster, pues mi departamento de robótica tenía su propio framework, que además no era software libre.
Ros lo que ha hecho es, bueno, poner a disposición de de todo el mundo acceso a algoritmos de de, por ejemplo, de de de navegación.
Navegación en robótica es es, básicamente, localizarse dónde está el robot y a dónde quiere ir.
Algoritmos de percepción, de detección de, pues, por ejemplo detección de de caras, detección de objetos,
mucho software para controlar sensores.
¿Hace falta?
Mucho conocimiento de electrónica, entiendo que no, ¿no?
Al final tú estás en la capa de arriba, ¿no?
Y esa parte tienes que conocerla, pero entiendo que es un nivel de usuario, ¿no?
De consumidor de librerías o de de información, ¿no?
Por suerte, no, porque electrónica fue una de las asignaturas que a mí más la carrera.
No es curiosidad, ¿no?
Hasta dónde llegas como ingeniero de robótica, ¿no?
A conocer la parte, digamos, más física, ¿no?
De de todo esto.
De hecho de hecho, una de las cosas que más me gusta de la robótica es que es muy multidisciplinar.
Tienes gente desde ingenieros mecánicos, que están tocando realmente los robots, ingenieros electrónicos, luego estamos más los que trabajamos en en software, gente de experiencia de usuario.
Hay hay un es un es un campo muy muy muy muy vasto, muy muy amplio, en el que, pues, también ahora hay mucho mucho también mucho interés en la parte de de devOps, porque cuando tienes una flota de varios robots, estamos hablando de, mejor, pues de 1000 robots, cómo gestionar el el cómo gestionar esos robots, cómo gestionar las actualizaciones del software, cómo todo eso, pensar la infraestructura como código, que vosotros, pues sois mucho más expertos en esto que que yo.
Pero si 1 quiere empezar en el mundo de la robótica, lo más sencillo y que ni siquiera necesitas ROS, pues lo tradicional de arduino.
Es una manera muy muy rápida de de meterse en la robótica, de hacer un robot pequeño que, a lo mejor, pues siga pues siga una línea, a partir de ahí, pues cambias el arduino por una Raspberry Pi.
Si tienes más medios, pues hay un robot de un robot educativo barra educativo barra investigación que se llama TurtleBot, que funciona con ROS y es como un poco la plataforma de referencia para para trabajar con ROS y para y para aprender ROS.
Y es un robot, es básicamente una un una rumba.
De hecho, iRobot creó una una base especial para para el tartable, que no es aspirador, que solo es la la base, y a partir de ahí, pues con una cámara de de profundidad, como un, cuando el motor del bot empezó se se hacía con una kinect, ahora, pues hay otros sensores más más sofisticados y con un ordenador no demasiado potente, pues tienes un robot móvil con el que puedes hacer muchísimas cosas muy interesantes de, pues, de navegación dentro de un de un edificio, de detección de detección de personas, lo típico de, pues, bueno, tener 1 de estos robots que persigue a alguien.
Hay otras plataformas online, como por ejemplo Deconstruct, que tienen cursos de, pues, bueno, cómo cómo desarrollar un robot móvil usando ROS, navegación y y otras y otras otros temas también de de robótica.
Pero, en definitiva, como había dicho antes, pues gracias a que hay muchísima robótica ahora que es es software libre, todo esto es muchísimo más sencillo.
El coste es el hardware que no siempre es barato y, por supuesto, el tiempo que 1 quiera dedicarle, pero por pero por otra, el software, pues, está es es está ahí disponible en Internet, hay una comunidad muy importante alrededor de de Rosh.
Rosh es un, y está mal que yo lo diga, pero es es un es un gran, esto ha avanzado bastante la la robótica a nivel tanto de de hobby como de de investigación.
Es un framework que se que se usa desde los robots estos, tartel bots que que os he comentado, hasta robots en la en la estación espacial internacional, robots para drones, por ejemplo, también drones que pueden usar ROS, coches autónomos, como os he comentado antes, y todo gracias a que este software es es software libre, al igual que, pues, Linux, pues lo tienes desde en un móvil con Android hasta servidores superpotentes, de estos de que hacen cálculos de de de de dinámica de fluidos y tal,
software para para renderizar efectos visuales en películas, y todo gracias a que a que es a que es software libre.
Pues gracias por todas estas recomendaciones, creo que hay faena para para 2 vidas, para aprender.
A modo de curiosidad, no sé si querías compartir, supongo que como como mucha gente, como todos hemos comentado en este podcast, hemos hablado de qué herramientas utilizamos en el día a día para trabajar.
En el aspecto de agentes LLMs, ¿qué herramientas has incorporado tú a tu a tu flujo de trabajo y qué tal?
Bueno, y y si te hacen un 10 x, el famoso 10 x, el 2 x, ¿o te hacen más triste?
¿O cómo cómo cómo te ha visto tu experiencia?
Pues yo lo que he probado, que tampoco tampoco he probado mucho, tampoco sé mucho del del de este mundillo, yo lo que había probado era OpenCode
con la suscripción que tiene GiHub tiene una una suscripción para copilot gratuita para aquellos mantenedores de de software libre, ya que gente que mantiene proyectos de software libre pueden solicitar gratis la la suscripción Copilot Pro, eso lo puedes conectar con OpenCode, que es que es software libre, y algunas cosas había probado, pero en mi día a día
lo lo he usado bastante de manera esporádica, no tanto como, no tanto en mi en mi flujo de trabajo, sino como experimento y ver cómo, a ver qué tal funciona.
Para cosas simples sí que he visto que funcionaba más o menos bien, siempre y cuando conocieras bien el el el dominio del del del problema y saber hacia dónde tienes que Ajá.
Que rectificar, pero para cosas mucho más complejas, pues ya no, realmente no no me ha sido tan útil como como me hubiese gustado.
Sí, la verdad que yo lo que veo sobre todo es mucho desarrollo web, es lo que hay un montón de proyectos y mucha, seguramente mucha mucho material de training, ¿no?
Para otros dominios quizás es más complicado también que sean tan capaces, no sé, ¿no?
Poco soy un experto ni dedicado mucho tiempo.
Y a nivel, si puedes decirlo o no, no quieres, a nivel laboral, ¿os fomentan, os ayudan, lo los o lo consideran para que sea algo, un driver en vuestro día a día o o directamente es algo personal?
Priosidate.
Es personal.
Nosotros en TierForce no tenemos una política establecida de de agentes.
Hay hay personas en el equipo que que lo que lo usan y, a ver, seguramente, pues lo mismo que lo usen y tengan que ir detrás y corregirlo
Sí, seguramente, claro.
Es útil para, creo que es útil para, a lo mejor, a veces, cuando empiezas un proyecto y tener un un esqueleto ya formado y, bueno, y a partir de ahí vas vas rellenando los huecos, pero para una base de código que ya existe, mi experiencia no es, creo que aún aún le falta un poquito.
Robots haciendo robots.
Gracias, tía Bor.
Es que puede salir mal, sí, es que ni Scanet te lo puedo decir.
Ponemos preguntas por mi parte.
Dale, gatch.
Le doy yo.
Vale No
sé, ¿qué quieres?
Un abrazo, digo,
Un abrazo.
¿Me me das paso?
Venga, te doy paso.
¿Permiso para subir?
Vale, bueno, una una cosa, hemos estado hablando bastante de de las herramientas de la pila tecnológica que que que usáis, que se pueden usar y que existen en en robótica.
¿Hay hay alguna otra que pudiera ser, que a lo mejor, pues, nos la nos la hemos saltado, lo que sea, que pudiera ser irrelevante para para?
Hablando de robótica en particular.
En robótica, lo que nos sirve muy mucho son las los simuladores, porque al final probar el probar código en un robot físico no puedes no puedes, no escala, ¿no?
Y de hecho, pues claro, en mi caso que la empresa está en Japón y yo soy el único que está aquí en Barcelona, pues es complicado, no voy a no voy a ir hasta allí a a probarlo en el en los coches, ¿no?
Entonces, la los los simuladores de de robótica son fundamentales, son una herramienta que que sin eso yo no sé muy bien cómo podríamos hacer robótica hoy en día.
Hay varios que son que son open source, el hay 1 que se desarrolla conjunto con ROS, que se llama GASIVO.
Luego hay 1 que lo desarrolla principalmente el centro de visión por computador de de la Universidad Autónoma de Barcelona, es un simulador que se llama Carla, que es especialmente diseñado para conducción autónoma, y que en en tier four lo estamos lo estamos usando para para autover.
Es un software que está basado en el en el en el engine de de Unreal, del del videojuego, que curiosamente, pues, al final creo que es Epic, ¿no?
La empresa que desarrolla Unreal.
Envió ahí un todo un mercado de, bueno, tenemos el juego, que no sé si el Fortnite también usa ese Engine, no lo no
lo
sé, pero hay un todo un sector de de del del de la informática que, de la informática y de la no informática, incluso, porque yo sé que Unreal Engine se está usando también para arquitectura, por ejemplo, y es un motor de de de de que empezó como de videojuego, pero que al final se está usando mucho en simulación y que es muy es muy potente.
Aparte de de estos 2, NVIDIA tiene tiene un simulador también,
pero mi mi opinión es que, bueno, si vas a hacer algo de conducción autónoma uses Carla, porque para para conducción autónoma Carla va va muy bien, y luego si quieres hacer algo de, por ejemplo, de simular un brazo robótico o simular un robot móvil dentro de un dentro de un de una habitación o un un edificio, usar usar GASEVO.
Son 2 los 2 simuladores son open source.
Carla, al depender de Unreal, unreal el motor en sí no es no es open source, pero el pero el resto del simulador sí, y en el caso de GASEVO, si no recuerdo mal, usa un motor de de simulación que se llama bullet, que sí que es que sí que es ofensors.
Y Me
ha bastante, me ha sorprendido bastante lo de Unreal, no no me lo habría imaginado que apareciera aquí, mira.
No, no, es, y la verdad es que es muy bueno.
También hay hay otros simuladores basados en unity, porque al final, si lo si lo piensas, pues los videojuegos en los videojuegos en 3 d necesitan simular física y necesitan simular luz, por ejemplo, ¿no?
Y y todas estas herramientas, pues pues es que son lo mismo que en un simulador de de robótica, Aparte de estas 2, de aparte de los de los simuladores, pues bueno,
en robótica en robótica software, que es más lo que yo trabajo,
aprender c más más, aunque posiblemente en un futuro la mayoría del software será, la mayoría del software de robótica será Rust, pero a día de hoy aprender, tener una muy buena base de c más más es importante, es es muy importante.
Y, como ya he comentado, la robótica es muy multidisciplinar, entonces a veces, pues, tienes que también, pues, apagar fuegos en otras en otros ámbitos que no no son los tuyos, ¿no?
Y saber un poquito de electrónica tampoco va mal, Saber un poco de de DevOps, pues tampoco va mal, porque cuando vas a desplegar el software en un robot de verdad, sabes de lo que estás hablando.
Nosotros no usamos Kubernetes, que sé que es como lo que usáis vosotros en esto de de DevOps, ¿no?
Pero No todo el mundo,
no todo el mundo.
De Kubernetes también se sale, yo ahí lo dejo.
Exacto.
Gente que esté usando Kubernetes para robótica, porque al final, pues, cuando tienes una flota de de muchos robots, puedes desplegar desplegarlos el software como si fueran microservicios, pues tiene tiene su sentido
Claro.
Plantearte un robot.
Yo viniendo, porque antes de antes de la robótica, la empresa en la que en la que la empresa que fundé, yo venía del mundo de los de los sistemas distribuidos, y al final, yo no sé si es por deformación profesional de que alguien de sistemas distribuidos piensa que todos son sistemas distribuidos, o que la robótica en sí también es un sistema distribuido dentro de un solo robot y también dentro y dentro de un conjunto de robots, ¿no?
Tienes un componente de percepción, componente de de control, componente de de navegación, y todo esto puede hablar entre sí dentro de un mismo robot y al final pueden ser pueden ser microservicios también.
Usamos mucho en robótica usamos mucho contenedores, porque también es más fácil de desplegar contenedores que no desplegar el software a pelo, ¿no?
A mano.
Y en definitiva, la robótica software se se acerca mucho más a la ingeniería del software tradicional de lo que 1 se puede, de lo 1 que, de lo que 1 a lo mejor se esperaría.
Vale.
La verdad es que lo de lo de tener flotas de robots o o enjambres, no sé cómo lo lo hemos llamado o cómo lo has llamado, pero de golpe me ha venido aquello de systems a scattle, ¿no?
Los sistemas como ganado, que es el concepto de de de de de la ingeniería de sistemas del infraestructura scoding, de de tener algo que puedas lanzar contra 100 máquinas y que se ejecute igual en las 100 máquinas y no tener que estar pendiente de de cómo se hace en este y de cómo se hizo en aquella.
Y luego me ha parecido que has dicho algo un poco, quizás un poco, no no no sé, Has dicho que el lenguaje va a ser rust en robótica.
O sea, ¿es es algo que ya está dicho?
No, no, no, que yo espero que sea rust,
que va a
ser rust porque realmente nos nos libraríamos de muchos muchos problemas.
El, cuando antes os comentaba de certificar software, hay unas hay unas guías en en software de automoción que se llama Misra, que, como había comentado, solo está por Azed, y más más y y Aida, y es un, si quieres, si, las guías estas, si quieres seguir tu software según según Misra, es un libro de 300 páginas, más o menos, para para hacer.
Y claro, estas guías son útiles y tú puedes escribir tu software según Misra, pero si lo trasladas a Rust, muchas de estas guías que te, muchas de estas recomendaciones y reglas que salen en el libro de Misra, de hecho, ya vienen incluidas en en Rust.
Te te ahorras seguir una guía que ya viene incluida, por así decirlo, en el lenguaje.
Si tu lenguaje ya te, por así, te te te obliga a escribir el software de cierta manera para que no caigas en ciertos problemas, que que han, hay ciertos problemas que que que siempre han estado en c y en c más más, que no que no son fáciles de resolver porque implicarían tal vez cambios en el en los propios lenguajes, y que con Rust, pues todo eso ya está solucionado, ¿no?
El el los típicos problemas de de sincronización, de de problemas de concurrencia, todo eso en en rust básicamente está resuelto, porque el compilador si tú si tú no si tú tienes 2 threads y los 2 threads comparten datos, si tú no proteges ese dato esos datos compartidos, el el compilador de Rust se niega a compilar tu tu código.
Tienes que realmente proteger todo eso, ¿no?
En en c más más en c más más y en c, pues, bueno, y es cosa, cada 1 hace lo que, a veces, pues la gente añade mute exses en en c y en c más más, un poco por por si acaso, ¿no?
Sin saber realmente si si hay que meterlos ahí o no, porque no sabe, ¿no?
Y y prueba de que Rust es una opción viable para para todo esto es que el en el kernel de Linux, Rust es el único lenguaje aparte de c que se ha aceptado para desarrollar código dentro del kernel.
¿Significa que todo el kernel de Linux se va a convertir a Rust?
Seguramente no, pero ahí está la opción de que si 1 quiere desarrollar un driver para un dispositivo dentro del kernel de Linux, pues, si lo haces en Rust, sabes que si hay un si que si hay un fallo no va a crear un un agujero de seguridad dentro del kernel, por ejemplo, ¿no?
No va a crear un un un use of the free o un buffer overflow, nada de eso.
Entonces, para los drivers, pues es muy útil, por ejemplo, la gente que está desarrollando Asaji Linux, que es Linux para los MacBooks,
han hecho un montón de progreso porque empezaron ya directamente con Rust, y entonces el driver de la GPU, hasta donde yo sé, está hecho en Rust, Muchos otros drivers que son específicos de los Macs están hechos en Rust y han conseguido avanzar muy, muy rápido en muy poco tiempo, y gracias a gracias al Dicen eso, que es gracias al gracias al lenguaje.
Sí, sí, no, la verdad es que te está pegando bastante fuerte.
Una, bueno, una cosita, a ver, una cosa que veo es que hay muchas cosas dentro de todo esto de la robótica, o sea, no es solamente activar un servo por aquí y mover una rueda por allá, es algo mucho más denso que todo esto.
¿Cómo podría podría?
O sea, ¿estás disponible en redes sociales?
¿Cuáles son tus contactos para para si si te pueden contactar?
Lo cierto es que soy bastante terrible con todo lo que es el las redes sociales.
Estoy en LinkedIn,
mi usuario es, este, Fernández, y también GitHub, que tengo la suerte de no tener un nombre demasiado común y mi nombre de usuario en GitHub es Estévez directamente.
Tengo una cuenta en Twitter que hace como años, años y años que no uso, entonces, también con mi nombre de usuario es t b, pero no no la voy a no la no la voy a usar, pero sí, si alguien quiere contactarme, pues, o bien por LinkedIn o bien por por GitHub, no sé no no sé si se pueden enviar mensajes dentro de GitHub, y si no, pues por email me pueden escribir a estebe arroba apache punto 0RGY encantado.
Ese mail también está bien, es difícil de Vale.
Bueno, pues vamos a irme de ánimo.
Con las mierdas de mails que tengo yo y de cuentas en redes sociales y tal, aquí con este de machacándonos.
Eso sí es verdad, un poquito sí.
Bueno,
muchas gracias, Esteva,
por
la entrevista.
Estamos muy contentos que haya de haber podido grabar esta.
En fin, si os gusta nuestro trabajo, corred la voz, danos 5 estrellas en iTunes, me gusta en iBox y en Spotify.
Ya sabéis, buscarnos en todos estos sitios por EntreDevOps, en nuestra web, 3 doble u punto EntreDevOps punto es, en Telegram, Mastodon y Twitter como arroba EntreDevOps, y, por favor, dadnos feedback.
Recordad que, si os animáis a buscarnos, tenemos nuestra Ayudarnos, perdón.
Tenemos nuestra cuenta de Patreon, Patreon punto com barra EDI0Y nuestro link de afiliados de Amazon, que hace que un pequeño porcentaje de tus compras de Amazon vaya para nosotros sin que veáis ningún incremento de precio.
Pues ha llegado el momento de despedirnos.
¿David?
Hasta la próxima.
Bueno, no no le he dejado a Esteban decir adiós.
Yo lo estaba pensando, digo, pero
¿Verdad que sí?
Que levante
la mano, que levante la mano, como ha hecho
tío, ya está introducida nuevamente, carajo.
Podcast, ya no me despedí, si ya me quedo aquí hasta
Hasta la tiránica.
Hasta el siguiente.
Esteva.
Pues muchísimas gracias por por invitarme.
Ha sido, ya lo dije al principio, un placer y un honor, y y nada, que me gusta mucho el podcast que que tenéis.
He aprendido un montón de de gente que que está haciendo cosas alucinantes, y para mí es, como he dicho, un honor que que me hayáis invitado aquí.
Muchas gracias.
Encantados.
Ahora sí, ¿David?
Venga, gracias, Estheva, y hasta la próxima.
Jare.
Ha sido un placer tenerte.
Hasta luego.
¿Edu?
Nos vemos.
Muchas gracias, Esteban.
Ya lo he dicho, así estamos encantados, y a toda la audiencia, hasta la próxima.