13 điểm bởi GN⁺ 19 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • John Carmack, người tạo ra Doom/Quake, nói rằng ông ngưỡng mộ Fabrice Bellard

    "Gần như chắc chắn ông ấy có năng lực lập trình tổng thể vượt trội hơn tôi rất nhiều"

  • Đây là bình luận ông để lại khi trích dẫn một bài viết do ai đó đăng kèm trang wiki của Fabrice Bellard

Một kỹ sư người Pháp sống lặng lẽ ở Paris đã viết phần mềm mà toàn bộ Internet hiện nay phụ thuộc vào trong suốt 30 năm, gần như không ai biết tên

  • Phần lớn mã cốt lõi chống đỡ cho streaming video toàn cầu và ảo hóa đám mây được xây dựng dựa trên mã nguồn mở do một kỹ sư ở Paris tự tay tạo ra, bên ngoài Thung lũng Silicon
  • FFmpeg, công cụ xử lý định dạng video và âm thanh, đóng vai trò như động cơ vô hình của Internet, vận hành phía sau YouTube, Netflix, VLC và nhiều dịch vụ khác
  • Trình giả lập máy QEMU là nền tảng của ảo hóa hiện đại; hypervisor Linux KVM chạy trên đó, và hạ tầng VM của các đám mây lớn được xây dựng từ nền tảng này
  • Ngoài ra ông còn một mình phát triển nhiều dự án như TCC, JSLinux, QuickJS, NNCP, và từng tính được số chữ số của π nhiều nhất lịch sử vào thời điểm đó bằng một công thức do chính mình suy ra
  • Không cần marketing hay mạng xã hội, ông giữ vai trò CTO của công ty viễn thông Amarisoft và đến nay vẫn tiếp tục phát hành các dự án cá nhân

Tổng quan nhân vật

  • Tên là Fabrice Bellard, sinh năm 1972 tại Grenoble, Pháp
  • Từng học tại École Polytechnique, trường kỹ thuật hàng đầu nước Pháp
    • Ông chưa từng chuyển đến Thung lũng Silicon hay xây dựng một đế chế startup, mà tập trung vào việc viết mã
  • Không dùng Twitter hay Instagram, cũng hiếm khi nhận phỏng vấn
    • Trang web cá nhân chỉ là một danh sách đơn giản gồm tên dự án và liên kết, không phong cách, không font đặc biệt, không khẩu hiệu marketing

FFmpeg — động cơ vô hình của Internet

  • Framework đa phương tiện mã nguồn mở cho mã hóa, giải mã và streaming mà ông bắt đầu vào năm 2000 khi 28 tuổi
    • Một mình hiện thực mục tiêu xử lý gần như mọi định dạng video và âm thanh bằng một thư viện duy nhất, trên mọi hệ điều hành
    • Ông trực tiếp dẫn dắt dự án trong nhiều năm
  • Hiện được YouTube, Netflix, VLC sử dụng; Chrome và Firefox cũng dùng một phần
    • FFmpeg đang hoạt động bên trong mọi điện thoại Android, iPhone, smart TV và công cụ chỉnh sửa video
    • Nếu trong 20 năm qua bạn từng xem video trên màn hình, rất có thể chính đoạn mã này đã xử lý video đó

QEMU — nền tảng của ảo hóa hiện đại

  • Trình giả lập máy và công cụ ảo hóa bắt đầu từ năm 2003, được ông viết một mình cho đến phiên bản 0.7.1 vào năm 2005
    • Cho phép chạy một hệ điều hành bất kỳ trên một hệ điều hành khác
  • Hypervisor nhân Linux KVM chạy trên QEMU
    • AWS, Google Cloud, Microsoft Azure, IBM Cloud và mọi nhà cung cấp đám mây lớn đều chạy VM trên hạ tầng được xây dựng dựa trên nó
    • Được xem là một trong những đoạn mã hạ tầng đám mây được trích dẫn nhiều nhất trên Trái Đất

Các dự án cá nhân quan trọng khác

  • Tác phẩm chiến thắng International Obfuscated C Code Contest năm 2001 là một trình biên dịch C nhỏ gọn, sau này phát triển thành TCC (Tiny C Compiler)
    • TCC có thể biên dịch và khởi động Linux kernel từ mã nguồn trong chưa đến 15 giây
  • Năm 2004, ông dùng máy tính desktop cá nhân và thuật toán Bellard's formula do chính mình suy ra để tính số chữ số của π nhiều nhất vào thời điểm đó
  • Năm 2011, công bố JSLinux, trình giả lập PC viết hoàn toàn bằng JavaScript cho phép chạy Linux trong trình duyệt
  • Năm 2019, công bố QuickJS, một JavaScript engine nhỏ gọn và đầy đủ, phù hợp với những môi trường mà V8 không thể triển khai
  • Năm 2021, công bố NNCP, bộ nén dữ liệu lossless dựa trên mạng nơ-ron, ngay lập tức dẫn đầu Large Text Compression Benchmark

Các dự án liên quan đến LLM

  • Xây dựng TextSynth Server, web server REST API để chạy LLM cục bộ
  • Công bố ts_zip, ts_sms, dùng language model để nén văn bản và câu ngắn với tỷ lệ nén mà các thuật toán trước đây chưa đạt được
  • Công bố TSAC, hệ thống nén âm thanh bitrate cực thấp
  • Tháng 12 năm 2025, công bố Micro QuickJS, JavaScript engine cho vi điều khiển, tách biệt với QuickJS và nhắm đến các môi trường gần như không có bộ nhớ

Amarisoft và cách ông hoạt động

  • Năm 2012, đồng sáng lập công ty viễn thông Amarisoft và giữ chức CTO
    • Amarisoft phát triển phần mềm trạm gốc 4G·5G được các nhà mạng và viện nghiên cứu trên toàn thế giới sử dụng
  • Trong hơn 10 năm điều hành công ty, ông vẫn tiếp tục phát hành các dự án cá nhân qua trang chủ (bellard.org)
    • Không chuyển đến Thung lũng Silicon, ông vẫn lặng lẽ tiếp tục phát hành những đoạn mã đang chống đỡ Internet cho đến hôm nay

1 bình luận

 
Ý kiến trên Hacker News
  • Nhìn vào danh sách những đóng góp của Bellard, năng lực thuần túy của ông ấy đã rất đáng nể, nhưng điều nổi bật hơn là cảm quan biết chọn việc gì để làm
    Ông ấy liên tục chọn những việc có thể trở nên hữu ích cho vô cùng nhiều người, và điều này còn gây kinh ngạc hơn cả năng lực kỹ thuật
    Có lẽ câu hỏi quan trọng nhất trong cuộc đời là quyết định mình sẽ làm gì

    • Có lẽ tiêu chí là muốn làm một việc đơn giản mà sao lại khó đến vậy?
      Trong điện toán hiện đại có quá nhiều vũng lầy về trải nghiệm lập trình viên, ai cũng từng gặp nhưng gần như chẳng mấy ai thật sự đứng ra sửa chúng
      Tóm lại đó là triết lý kiểu “những thứ lẽ ra phải tốt thì lại không tốt lắm, và tôi có thể học để làm nó tốt hơn”, rộng hơn nữa thì gần với “cứ làm đi là được”
    • Khi biến những thứ vốn khó khăn theo truyền thống thành dễ hơn, nhanh hơn và tốt hơn rất nhiều, các trường hợp sử dụng từng bị mắc kẹt bên dưới sẽ được giải phóng
      Cả lựa chọn lẫn thực thi đều quan trọng, nhưng nhiều ngành đã được mở ra nhờ có ai đó biến điều trước đây khó làm trở nên dễ làm
    • Trong nghiên cứu cũng thường xuyên có cùng một thế tiến thoái lưỡng nan
      Đặc biệt nếu muốn tạo ra ảnh hưởng, việc chọn sẽ dành cả đời cho điều gì là rất quan trọng, và nhiều khi chọn đúng vấn đề còn khó hơn nghĩ ra lời giải phù hợp
    • Đó mới là kiểu người được gọi là lập trình viên 10x
      Với Bellard thì có thể là hơn 100x
      Không phải ở chỗ làm việc 19 tiếng một ngày hay tăng số dòng code, số PR, mà là đưa ra những lời giải thanh nhã có tầm ảnh hưởng rộng lớn mà không ai khác nghĩ ra được
    • Ngược lại, nếu đã có năng lực thì cứ chọn bài toán khó nhất trong lĩnh vực của mình rồi giải nó, và lặp lại như vậy
      Những bài toán khó của mỗi lĩnh vực không phải bí mật gì, rốt cuộc chỉ là bạn có đủ năng lực, gan lì và ý chí để đổ vài năm vào chúng hay không
  • Phần lớn công việc của Bellard, thú vị thay, trông giống như chuyển đặc tả sang C
    Các dự án quan trọng gồm ffmpeg (đặc tả codec), qEmu (đặc tả tập lệnh), QuickJS (đặc tả EcmaScript), tinyC (đặc tả C), viễn thông (đặc tả LTE), còn các công trình tính số pi và mạng nơ-ron thì gần như là ngoại lệ
    Điều đó không có nghĩa là kém ấn tượng hơn; việc hiện thực codec hiệu năng cao và trình giả lập tuyệt đối không hề dễ, nhưng thật thú vị khi thấy rất nhiều công việc tập trung trong một miền tương đối hẹp

    • Với các đặc tả truyền thông nơi cặp encoder/decoder liên lạc qua một kênh, cần lưu ý rằng thông thường chúng chỉ quy định encoder
      Tiêu chuẩn cố ý để decoder ở trạng thái mở nhằm phục vụ cạnh tranh triển khai và tiến bộ công nghệ, còn decoder phải xử lý nhiễu và các hiệu ứng của kênh nên thường phức tạp hơn
      Vì vậy, việc xây dựng một decoder tuân chuẩn có sức cạnh tranh không phải là đi theo lộ trình đã vạch sẵn mà gần với R&D hơn, và Bellard có vẻ giống một kỹ sư biết lập trình hơn là một lập trình viên thuần túy
    • Cách hiểu kiểu có người viết đặc tả codec rồi Fabrice Bellard chỉ việc chuyển nó sang C là hoàn toàn sai
      Codec thường được hiện thực bằng đảo ngược kỹ thuật, thậm chí có khi còn không có đặc tả, và ngay cả codec đã được tài liệu hóa cũng không nói cho bạn cách mã hóa/giải mã hiệu quả
      Chính những người như Bellard mới là người phát triển ra các thuật toán hiệu quả đó
    • Ban đầu người ta được đào tạo để xem đặc tả, triển khai và kiểm thử là các lĩnh vực tách biệt, đôi khi còn do những người khác nhau đảm nhiệm
      Ngày nay có xu hướng trộn cả ba với nhau, và tôi thấy kết quả cũng khá ổn
      Chỉ là dạo này nhiều người dường như chỉ làm mỗi phần triển khai trong số đó
    • Ngày trước người ta bỏ rất nhiều thời gian để định nghĩa đặc tả nhằm có thể thuê ngoài việc viết code
      Giờ thì lại thành thuê ngoài đặc tả để có thể dành thật nhiều thời gian cho code
    • Nếu từng làm việc thực tế với ffmpeg, bạn sẽ thấy kiến trúc của nó được thiết kế khá ấn tượng theo kiểu có thể cắm ghép
      Các codec có rất nhiều điểm lệch khỏi khái niệm cơ bản và vô số đặc thù, khái niệm “frame” cũng khác nhau giữa thế giới âm thanh, phụ đề và video, còn cách chuyển frame giữa coder phần mềm và phần cứng thì lại hoàn toàn khác
      Việc có thể gần như tự do phối trộn xử lý từ những thế giới khác nhau như vậy là một thành tựu lớn, và libav theo tôi được thiết kế đủ tốt để làm được điều đó
  • Bellard hiện đã không còn tham gia FFmpeg hơn 20 năm, thực tế gần 23 năm
    Thời đó FFmpeg chưa có framework chia sẻ mã giữa các thành phần và codec nên code của ông ấy không tốt, có mùi spaghetti code, và giờ gần như chẳng còn lại mấy code của ông ấy
    FFmpeg ngày nay trở thành như hiện tại là nhờ các nhà phát triển khác, thế nhưng ông ấy lại thường bị đối xử như thể là nhà độc tài nhân từ trọn đời duy nhất còn các nhà phát triển khác chỉ xây thêm lên cái khung đầy minh triết của ông
    Công việc hiện tại của ông chỉ là giữ thương hiệu và quyết định dự án hay lãnh đạo nào được phép dùng tên FFmpeg, thậm chí từng có lần loại các nhà phát triển libav và đứng về phía một nhà độc tài khác

    • Không nên quên bối cảnh
      FFmpeg và Videolan khởi đầu trong phòng ký túc xá, được sinh viên dùng để stream TV và chia sẻ phim trong ký túc
      Khuôn viên Polytechnique và École Centrale chỉ cách nhau vài km, và cả hai dự án đều bắt đầu vào khoảng năm 1997~1998
      Nếu là thời sinh viên thì chắc người ta còn bận uống bia hơn là viết code sạch
    • Ở đây đang nói về quyền thương hiệu, không phải “bản quyền”
      Bản quyền thuộc về người viết code, chủ lao động của họ, v.v. vì không có yêu cầu chuyển nhượng bản quyền
      Điều này tương tự việc Linus Torvalds nắm thương hiệu “Linux” ở một số khu vực pháp lý, trong khi phần lớn bản quyền lại thuộc về những người đóng góp khác
    • Tôi tìm thấy một bình luận về drama ffmpeg/libav từ 15 năm trước: https://www.reddit.com/r/linux/comments/vvdxn/comment/c57zdk...
      Tôi không rành ffmpeg lắm, nhưng điều này khá khớp với những gì tôi từng trải qua ở các dự án mã nguồn mở khác
    • ffmpeg giờ đã là một dự án mã nguồn mở quá thành công để có thể quy công cho riêng một người
      Tôi còn nhớ thời AviDemux có hiện thực bộ mã hóa H.264 nhanh và tốt hơn ffmpeg rất nhiều
      Đúng tinh thần mã nguồn mở, ffmpeg đã hấp thụ code của AviDemux, và cuối cùng chính AviDemux cũng chọn cách thực dụng là dùng ffmpeg làm backend thay vì tiếp tục cạnh tranh
      Tôi nghĩ đây là một ví dụ hay cho việc đón nhận tinh thần mã nguồn mở
    • Không ai tỉnh táo lại nghĩ ffmpeg đến giờ vẫn do một người, đặc biệt là chỉ mình Fabrice, duy trì và phát triển
      Việc nó có phải spaghetti code hay không cũng không quá quan trọng ở giai đoạn đầu
      Khi người ta còn chưa biết rõ phạm vi và tương lai của dự án, có lẽ bắt đầu trong trạng thái spaghetti còn đúng hơn là bị lôi kéo bởi những vấn đề tương lai mang tính giả định; sau đó khi hiểu rõ yêu cầu hơn thì refactor là được
      Việc cộng đồng đã làm như vậy là điều rất đáng khen
  • Có thể xem trang web của Fabrice tại đây: https://bellard.org/
    Có danh sách đầy đủ các dự án

    • Các lập trình viên giỏi thường cũng có website cá nhân được thiết kế đẹp
      Mọi thứ rất rõ ràng và hoàn toàn không có sự trùng lặp không cần thiết
  • Bellard có một dự án rất thú vị tên là ts_zip, một thuật toán nén dựa trên LLM
    Nó chỉ là một “thí nghiệm” và không nên dùng trong môi trường production, nhưng rất thông minh
    Phần mô tả trên website cũng rất vui: “The ts_zip utility can compress (and hopefully decompress) text files using a Large Language Model”
    https://bellard.org/ts_zip/

    • Nếu giải nén là tùy chọn, tôi cũng nghĩ ra được một thuật toán nén thực sự ấn tượng
    • Thực ra LLM chính xác là như vậy
      Mô hình trong đầu tôi, và là phép ví von tôi dùng khi giải thích cho trẻ con, là “toàn bộ Internet đã được nén thành một kho lưu trữ kiểu zip, và có một cách rất thông minh, hiệu quả để tìm dữ liệu trong đó”
      Tôi đủ già để nhớ thời người ta đặt mua Wikipedia trên CD, và tôi không thấy có khác biệt lớn nào giữa chuyện đó và việc tải về một LLM
    • Có cả một lĩnh vực về thuật toán nén cạnh tranh nơi người ta không tính đến thời gian và lượng tính toán
      Đã có người tạo ra các bộ nén mất hàng giờ, thậm chí hàng ngày, chỉ để nén một test corpus
      Câu đùa lâu đời trong lĩnh vực này là nén dữ liệu là “AI-complete”, ví dụ thay vì nén toàn văn tác phẩm Shakespeare thì chỉ mã hóa “The Complete Works of Shakespeare”, rồi bộ giải nén AI sẽ tái tạo đầu ra từ prompt đó
      Với sự xuất hiện của LLM, Bellard về cơ bản đã biến câu đùa đó thành hiện thực
  • “Fabrice Bellard” by Andy Gocke and Nick Pizzolato
    https://www.ipaidia.gr/wp-content/uploads/2020/12/117-2020-f...

    • Tôi tự hỏi Nick Pizzolato đó có phải là cùng một người đã viết True Detective không
    • Tài liệu này khá cũ vì sau đó ông ấy còn làm được nhiều việc hơn nữa
    • Nếu cái này chưa từng được submit lên HN thì cũng đáng để submit
  • Tôi từng thắc mắc liệu nếu hỏi ai đó “người thông minh nhất còn sống là ai”, rồi lại hỏi tiếp người mà họ chỉ ra, có phải cuối cùng cũng sẽ hội tụ về cùng một nhóm thiên tài nhỏ hay không
    Nếu làm vậy với coder giỏi nhất còn sống thì chắc có thể bắt đầu từ Carmack, rồi bước tiếp theo sẽ là Bellard
    Chỉ mong là câu trả lời của Bellard đừng lại quay về Carmack

    • Có một câu chuyện tương tự về việc lần theo các nhà khoa học, nhà vật lý tham gia Manhattan Project, và cuối cùng câu trả lời là John von Neumann
    • Thời còn làm ở Apple, tôi có thể nghĩ ngay ra khoảng mười đồng nghiệp để chọn
  • Đây là lần đầu tôi thấy ảnh của ông ấy, và hơi có cảm giác như danh tính của Satoshi Nakamoto đã bị lộ, một người cố giữ riêng tư và tránh sự chú ý
    Ông ấy tạo cảm giác như kiểu người luôn có việc tốt hơn để làm là suy nghĩ thật kỹ và giải những bài toán khó, thay vì giao tiếp trên Internet rộng lớn
    Bản thân công việc đã rất đáng nể, nhưng đạo đức làm việc còn đáng nể hơn
    Nếu bạn có một tầm nhìn mạnh mẽ, thì kiểu phát triển trong tháp ngà là cần thiết hơn là ngồi tranh cãi cả ngày với người lạ trên mạng và bảo vệ các lựa chọn của mình

    • Ông ấy chưa từng che giấu danh tính
      Nếu tìm thì vẫn có thể thấy ảnh
      Không nên so sánh với Satoshi
      Tôi không sở hữu hay quan tâm đến Bitcoin, nhưng cái tên đó là một sự hiện diện huyền thoại được đóng dấu trên tài liệu gốc
      Fabrice Bellard là một con người có thật xuất bản code, chứ không phải một danh tính ẩn danh trên Internet
    • Bellard là Mozart, còn phần lớn chúng ta thậm chí còn khó mà trở thành Salieri
    • Carmack và Bellard đều đã trở thành những nhân vật bị thần thoại hóa
      Cả hai đều tuyệt vời, nhưng ngay khi tên họ được nhắc tới, người ta bắt đầu nói về những kỳ vọng kỳ lạ kiểu “họ sẽ nghĩ gì” hơn là những gì họ thực sự đã làm
      Kiểu thần thoại hóa đó lại khiến thành tựu của họ trông nhỏ đi
    • Thật tiếc là ông ấy đã không thể hiện cùng mức tôn trọng đó với Rebecca Ann Heineman “Burguer”
    • Tôi đã tưởng tượng ông ấy là kiểu người gai góc, tóc dài, có thể có hình xăm, to lớn và nặng ký
      Bức ảnh đã phá hỏng tưởng tượng đó, và giờ tôi muốn được trả lại trí tưởng tượng của mình
  • Tôi hiểu người ta muốn nói gì với câu “ngày nay FFmpeg là động cơ vô hình của Internet”, nhưng tôi cực kỳ ghét kiểu cường điệu đó
    Dù FFmpeg có đột ngột biến mất thì Internet vẫn sẽ ổn thôi
    Những công ty phụ thuộc vào nó ở lõi sản phẩm có thể sẽ khổ sở, nhưng bản thân Internet và phần lớn website, dịch vụ Internet vẫn sẽ tiếp tục hoạt động bình thường

    • Đó là kiểu viết của LLM
      Tweet/bài viết đó là do LLM viết, và nó viết theo kiểu đó
    • Nếu không có YouTube và porno thì đó còn thực sự là Internet không?
    • Nếu hiểu là động cơ vô hình của phần lớn những thứ cấu thành Internet ngày nay thì tôi nghĩ cũng không hẳn là cường điệu
      Internet của ngày mai có thể sẽ khác
  • Hơi lạc đề và chấp nhận bị downvote, nhưng gần đây trào lưu X-article làm tôi cực kỳ khó chịu
    Trên di động, để đọc được bài phải qua 3–4 bước, và các bài viết lúc nào cũng có dạng được tối ưu quá mức cho kiểu tương tác của độc giả chú ý ngắn như bài đăng LinkedIn
    Hơn nữa, sự tương phản quá rõ giữa bài X này và website của chính Bellard lại càng mang tính mỉa mai

    • Hơi buồn khi những người vốn đã là VIP lớn trong ngành công nghệ lại cảm thấy cần phải dành thời gian viết những tweet như vậy, hoặc tệ hơn là thuê hẳn công ty PR viết giúp
      Ở các ngành khác thì đó là chuyện thường thấy với những người nổi tiếng có cùng mức tài sản ròng, nhưng với tôi nó vẫn có gì đó kỳ lạ