Fabrice Bellard: Biografi (2009)
(ipaidia.gr)- Programmer asal Prancis Fabrice Bellard adalah salah satu pengembang paling berpengaruh dalam 20 tahun terakhir, dan telah merilis banyak proyek inovatif sebagai perangkat lunak terbuka
- Sejak kecil ia menekuni perangkat elektronik dan pemrograman level rendah, dan meraih kesuksesan awal pada usia 15 tahun dengan mengembangkan kompresor file eksekusi LZEXE
- Setelah itu ia menempuh pendidikan teknik yang luas di École Polytechnique, sambil membangun pemahaman mendalam tentang komputasi matematis dan arsitektur komputer
- Karya terkenalnya meliputi FFmpeg, TinyCC, dan QEMU, dengan QEMU secara khusus menjadi teknologi inti di bidang virtualisasi dan emulasi prosesor
- Ia dinilai sebagai pengembang yang mempraktikkan filsafat perangkat lunak bebas, dengan lebih mengutamakan ketertarikan teknis dan berbagi daripada keuntungan finansial
Kehidupan awal dan awal mula pemrograman
- Lahir pada tahun 1972 di Grenoble, Prancis, dan tumbuh besar di Montpellier
- Sejak kecil ia menunjukkan minat pada perangkat elektronik, dan disebutkan bahwa kata pertamanya adalah “magnétophone (perekam kaset)”
- Pada usia 9 tahun ia mulai memrogram dengan kalkulator programmable TI-59
- Meski tampilan dan himpunan karakternya terbatas, ia mempelajari konsep tingkat tinggi seperti loop dan mengembangkan kepekaan terhadap kode level rendah
- Pada usia 11 tahun ia menggunakan komputer rumahan TI-99/4A dan memperluas pemrograman dengan TI BASIC
- Dengan struktur yang hanya memungkinkan satu perintah per baris, ia beralih secara alami dari pemrograman kalkulator ke pemrograman komputer
LZEXE dan pencapaian awal
- Pada usia 15 tahun ia membeli Amstrad PC1512 dan memulai aktivitas pengembangan secara serius
- Untuk mengatasi keterbatasan ruang penyimpanan, ia mengembangkan kompresor file eksekusi bernama LZEXE
- Ia menulis ulang algoritme LZSS dalam assembly 8086 untuk mewujudkan kompresi dan dekompresi yang cepat
- Didistribusikan melalui BBS dan langsung meraih kesuksesan
Pendidikan di École Polytechnique
- Masuk ke École Polytechnique(X), salah satu institusi paling bergengsi di Prancis
- Program gelar teknik selama 5 tahun, termasuk 1 tahun wajib militer
- Melalui pendidikan umum dan teknis yang luas, institusi ini menekankan berpikir kritis dan kemampuan lintas disiplin
- Melalui proses ini, Bellard menegaskan pentingnya arsitektur komputer dan teori komputasi
- Ia menekankan bahwa bahasa assembly dan pemahaman perangkat keras adalah hal yang esensial
Riset matematis dan pengembangan algoritme
- Pada 1995 ia memasuki riset algoritme numerik dengan mengimplementasikan metode perkalian FFT Pollard dalam C
- Melalui komputasi aljabar yang memanfaatkan FFT (Fast Fourier Transform), ia menghitung jutaan digit π
- Pada 1997 ia mempublikasikan rumus untuk menghitung digit biner ke-n dari π
- Kompleksitasnya ditingkatkan menjadi O(n²), 43% lebih cepat dibanding rumus Bailey–Borwein–Plouffe yang sudah ada
VReng dan TinyGL
- Pada 1998 ia mengembangkan VReng (Virtual Reality Engine) sebagai proyek mahasiswa
- Sebuah mesin penjelajahan dunia virtual 3D berbasis multicast internet
- Setelah itu ia membuat TinyGL untuk memperbaiki ketidakefisienan OpenGL
- Renderer 3D ringan berukuran 40KB, jauh lebih cepat daripada Mesa dan independen platform
Lahirnya FFmpeg
- Pada 2000 ia memulai proyek FFmpeg dengan nama samaran “Gerard Lantau”
- Alat yang mendukung encoding, decoding, streaming, dan konversi audio dan video
- Terdiri dari libavcodec (library codec) dan libavformat (library pemrosesan container)
- FFmpeg mendukung konversi antar berbagai format dan diintegrasikan ke dalam banyak perangkat lunak multimedia seperti VLC
Penghargaan IOCCC dan TinyCC
- Pada 2000 ia memenangkan International Obfuscated C Code Contest (IOCCC)
- Ia mengimplementasikan compiler C berukuran kurang dari 4KB, yang kemudian berkembang menjadi TinyCC
- TinyCC adalah compiler superkecil yang kompatibel dengan ANSI C99 dan dapat membangun kernel Linux dalam waktu kurang dari 15 detik
- Karya pemenang keduanya pada 2001 adalah program perhitungan bilangan prima berukuran 475 byte
- Dengan algoritme berbasis FFT, program itu menghitung bilangan prima berjuta-juta digit dengan cepat
QEMU dan inovasi virtualisasi
- Pada 2005 ia memperkenalkan QEMU, yang mengemulasikan arsitektur prosesor melalui perangkat lunak
- Melalui dynamic translation, blok instruksi dikelompokkan lalu dikonversi dan di-cache untuk meningkatkan performa
- Dalam situasi tertentu, ia mencapai kecepatan yang nyaris setara native
- QEMU kemudian diadopsi sebagai komponen inti dalam teknologi virtualisasi utama seperti VirtualBox, Xen, dan KVM
Filsafat perangkat lunak bebas dan sikap pengembangan
- Bellard merilis semua proyek utamanya dengan lisensi perangkat lunak bebas
- Ia mengutamakan ketertarikan dan kegunaan dibanding keuntungan finansial, serta menekankan pentingnya berbagi source code
- Ia lebih fokus pada aktivitas pengembangan murni daripada pekerjaan administratif dan komunikasi
- Tentang alasan ia menantang dirinya di berbagai topik, ia pernah berkata bahwa “mengulang pekerjaan yang sama akan membosankan”
Pandangan dan saran tentang ilmu komputer
- Ia membagi ilmu komputer menjadi eksplorasi praktis (terapan) dan eksplorasi teoretis (teori komputasi)
- Ia menekankan bahwa memperluas batas di kedua ranah itu sama-sama penting
- Kepada pengembang muda ia merekomendasikan teori dasar dan pemahaman perangkat keras
- Untuk mempelajari algoritme, ia merekomendasikan Donald Knuth, 『The Art of Computer Programming』
- Riset yang sedang ia jalankan saat itu adalah pemrosesan sinyal digital dengan memanfaatkan prosesor multicore, khususnya proyek terkait Software Defined Radio
1 komentar
Komentar Hacker News
Dia jelas sosok setingkat GOAT, tetapi tulisan ini terasa seperti ditulis oleh orang yang kurang paham software engineering
Misalnya, cache terjemahan kode pada QEMU digambarkan sebagai ‘emulator performa native pertama’, padahal teknologi JIT sudah ada jauh lebih lama
Mereka memakai pendekatan multi-pass, melewati instruksi berkali-kali sambil makin dioptimalkan, dan performanya meningkat seiring pemakaian
Tentu ini bukan untuk meremehkan pencapaian Bellard, tetapi fakta tetaplah fakta
Merilis ffmpeg dan QEMU dalam rentang 5 tahun, ditambah memenangi IOCCC dua kali, benar-benar pencapaian yang gila
Biografi ini punya lebih banyak informasi baru tentang programmer legendaris ini dibanding artikel mana pun yang pernah saya lihat sebelumnya
Setelah itu pun dia masih mengerjakan base station 5G berbasis hardware PC dan proyek terkait LLM
Jujur saja, saya penasaran apakah Fabrice Bellard sudah mulai memakai alat coding LLM
Kalau iya, produktivitasnya pasti akan lebih tinggi lagi, dan itu agak menakutkan
Dia sudah melakukan riset kompresi LLM dan kebanyakan menulis kode dalam C
Kalau seseorang sudah memakai C selama puluhan tahun, kemungkinan besar dia bisa mengingat dan memakai ulang sebagian besar kodenya
Jadi, bisa saja LLM tidak terlalu membantu
Malah saya rasa dia lebih mungkin melatih LLM sendiri dengan kodenya — dan itu bisa berkembang jadi proyek privat berbayar seperti proyek LTE-nya
Kodenya presisi dan sistematis, benar-benar berbeda dari kode yang biasanya dibuat AI
Dia tipe orang yang bekerja sambil memetakan keseluruhan struktur program di kepalanya
Karena itu ada yang menebak dia sebenarnya terdiri dari beberapa orang atau memakai LLM, tetapi dia mungkin cuma tertawa mendengar itu
Dengan merilis MicroQuickJS baru-baru ini, sekarang dia berada di posisi harus terus menghasilkan sesuatu yang legendaris
Orang-orang selalu mengharapkan hal luar biasa darinya
Saya jadi penasaran apakah Bellard menjadi kaya seperti antirez
(Ini tulisan dari tahun 2009)