2 puntos por GN⁺ 2025-12-25 | 1 comentarios | Compartir por WhatsApp
  • El programador francés Fabrice Bellard es uno de los desarrolladores más influyentes de los últimos 20 años y ha publicado numerosos proyectos innovadores como software abierto
  • Desde niño se dedicó a la electrónica y la programación de bajo nivel, y a los 15 años logró un éxito temprano al desarrollar el compresor de ejecutables LZEXE
  • Más adelante recibió una formación integral en ingeniería en École Polytechnique, donde construyó una comprensión profunda del cálculo matemático y de la arquitectura de computadoras
  • Entre sus obras más representativas están FFmpeg, TinyCC y QEMU; en particular, QEMU se consolidó como una tecnología clave en los campos de la virtualización y la emulación de procesadores
  • Se le valora como un desarrollador que pone en práctica la filosofía del software libre, priorizando el interés técnico y el compartir por encima del beneficio económico

Primeros años e introducción a la programación

  • Nació en 1972 en Grenoble, Francia, y creció en Montpellier
    • Desde pequeño mostró interés por los dispositivos electrónicos, y se cuenta que su primera palabra fue “magnétophone (grabadora de casetes)”
  • A los 9 años comenzó a programar con una calculadora programable TI-59
    • A pesar de la pantalla y el conjunto de caracteres limitados, aprendió conceptos de alto nivel como los bucles y desarrolló sensibilidad por el código de bajo nivel
  • A los 11 años amplió su experiencia usando la computadora doméstica TI-99/4A y programando en TI BASIC
    • Como su estructura permitía ingresar solo una instrucción por línea, la transición de la programación en calculadora a la programación en computadora fue natural

LZEXE y primeros logros

  • A los 15 años compró una Amstrad PC1512 y comenzó su actividad de desarrollo en serio
  • Para resolver las limitaciones de espacio de almacenamiento desarrolló un compresor de ejecutables llamado LZEXE
    • Reescribió el algoritmo LZSS en ensamblador 8086 para lograr compresión y descompresión rápidas
    • Se distribuyó a través de BBS y obtuvo un éxito inmediato

Formación en École Polytechnique

  • Ingresó a la prestigiosa École Polytechnique (X) de Francia
    • Un programa de ingeniería de 5 años que incluía 1 año de servicio militar
    • Daba prioridad al pensamiento crítico y a las capacidades multidisciplinarias mediante una formación amplia tanto humanística como técnica
  • A través de este proceso, Bellard consolidó la importancia de la arquitectura de computadoras y la teoría de la computación
    • Subrayó como esenciales el lenguaje ensamblador y la comprensión del hardware

Investigación matemática y desarrollo de algoritmos

  • En 1995 entró en la investigación de algoritmos numéricos implementando en C el método de multiplicación FFT de Pollard
    • Realizó cálculos de millones de dígitos de π mediante operaciones algebraicas apoyadas en FFT (transformada rápida de Fourier)
  • En 1997 presentó una fórmula para calcular el n-ésimo dígito binario de π
    • Mejoró la complejidad a O(n²), siendo un 43% más rápida que la fórmula previa de Bailey–Borwein–Plouffe

VReng y TinyGL

  • En 1998 desarrolló VReng (Virtual Reality Engine) como proyecto estudiantil
    • Un motor para explorar mundos virtuales 3D basado en multicast por Internet
  • Después creó TinyGL para mejorar las ineficiencias de OpenGL
    • Un renderizador 3D ligero de 40 KB, mucho más rápido que Mesa e independiente de la plataforma

El nacimiento de FFmpeg

  • En 2000 inició el proyecto FFmpeg bajo el seudónimo “Gerard Lantau”
    • Una herramienta que soporta codificación, decodificación, streaming y conversión de audio y video
    • Compuesta por libavcodec (biblioteca de códecs) y libavformat (biblioteca para manejo de contenedores)
  • FFmpeg soporta conversión entre múltiples formatos y fue integrado en numerosos programas multimedia como VLC

Premio IOCCC y TinyCC

  • En 2000 ganó el International Obfuscated C Code Contest (IOCCC)
    • Implementó un compilador de C de menos de 4 KB, que más tarde evolucionó a TinyCC
    • TinyCC es un compilador ultrapequeño compatible con ANSI C99, capaz de compilar el kernel de Linux en menos de 15 segundos
  • Su segunda obra ganadora en 2001 fue un programa de cálculo de números primos de 475 bytes
    • Usaba un algoritmo basado en FFT para calcular rápidamente números primos con millones de dígitos

QEMU y la innovación en virtualización

  • En 2005 presentó QEMU, que emula arquitecturas de procesador por software
    • Mejora el rendimiento mediante traducción dinámica (dynamic translation), agrupando bloques de instrucciones para traducirlos y almacenarlos en caché
    • En ciertas situaciones alcanza velocidades casi de nivel nativo
  • Más adelante, QEMU fue adoptado como componente clave de importantes tecnologías de virtualización como VirtualBox, Xen y KVM

Filosofía del software libre y actitud de desarrollo

  • Bellard publicó todos sus principales proyectos bajo licencias de software libre
    • Priorizó el interés y la utilidad por encima del beneficio económico, y dio gran importancia a compartir el código fuente
    • Se concentró más en la actividad pura de desarrollo que en tareas administrativas o de comunicación
  • Sobre por qué desafía temas tan diversos, mencionó que es “porque repetir el mismo trabajo resulta aburrido”

Perspectiva sobre la informática y consejos

  • Distingue la informática entre exploración práctica (aplicación) y exploración teórica (teoría de la computación)
    • Enfatiza que es importante ampliar los límites en ambas áreas
  • Recomienda a los desarrolladores jóvenes la teoría fundamental y la comprensión del hardware
    • Para aprender algoritmos, recomienda The Art of Computer Programming de Donald Knuth
  • La investigación en la que trabajaba entonces estaba relacionada con el procesamiento digital de señales usando procesadores multinúcleo, especialmente proyectos vinculados con Software Defined Radio

1 comentarios

 
GN⁺ 2025-12-25
Opiniones en Hacker News
  • Sin duda es una figura de nivel GOAT, pero este texto parece escrito por alguien que no entiende muy bien la ingeniería de software
    Por ejemplo, describe el caché de traducción de código de QEMU como el ‘primer emulador con rendimiento nativo’, cuando en realidad la tecnología JIT existe desde mucho antes

    • Además, los antiguos procesadores Transmeta también usaban un enfoque parecido
      Aplicaban un enfoque multipaso, pasando por las instrucciones varias veces y optimizándolas cada vez más, y el rendimiento mejoraba conforme aumentaba el uso
      Claro, eso no le quita mérito a los logros de Bellard, pero los hechos son los hechos
  • Lanzar ffmpeg y QEMU en un lapso de 5 años, y además ganar el IOCCC dos veces, es un logro absolutamente demencial

  • Esta biografía tiene más información nueva sobre este programador legendario que cualquier otro texto que haya visto hasta ahora

  • Después de eso también trabajó en una estación base 5G basada en hardware de PC y en proyectos relacionados con LLM

    • También desarrolló por su cuenta un compilador y stack de ASN.1
  • Honestamente, me da curiosidad si Fabrice Bellard habrá empezado a usar herramientas de coding con LLM
    Si fuera así, sería todavía más productivo, y eso da un poco de miedo
    Ya hizo investigación sobre compresión de LLM y programa principalmente en C
    Si alguien lleva décadas usando C, puede recordar y reutilizar la mayor parte de su código
    Así que quizá un LLM no le sirva de mucho
    Más bien creo que es más probable que entrene su propio LLM con su código — podría incluso convertirse en un proyecto privado de pago, como su proyecto LTE

    • Tengo mis dudas de que los LLM actuales realmente le ayuden en el tipo de trabajo de bajo nivel y alto rendimiento que él hace
    • De hecho, ya hizo un proyecto relacionado con LLM llamado ts_server
    • Yo creo que no usa LLM
      Su código es sofisticado y metódico, y completamente distinto al código que suele generar la IA
      Es el tipo de persona que trabaja visualizando la estructura completa del programa en su cabeza
      Por eso algunos especulan que en realidad son varias personas o que usa LLM, pero seguramente él se estaría riendo al escuchar eso
    • Tal vez sea más bien el LLM el que le pregunta a Bellard
    • Así como algunos desarrolladores brillantes (mitsuhiko, Evan You, etc.) usan los LLM como herramienta de apoyo, es posible que Bellard también los use de esa forma
  • Con el reciente lanzamiento de MicroQuickJS, ahora se ha convertido en alguien de quien se espera que siempre entregue ‘resultados legendarios’
    La gente siempre espera algo impresionante de él

  • Me da curiosidad si Bellard se habrá hecho rico como antirez

  • (Es un texto de 2009)

    • En el título aparece 2009, pero la URL dice 2020, así que quizá el contenido fue actualizado