Fabrice Bellard: Biography (2009) [pdf]

(ipaidia.gr)

308 points | by lioeters 20 hours ago

14 comments

  • justapassenger 7 hours ago
    He’s one of the GOATs, but this article is written by someone who has no idea about software engineering and full of exaggerations as a result. For example:

    > Many times there are certain chunks which will occur many times in the code of a program. Instead of taking the time to translate them all separately, QEMU stores the chunks and their native translation, next time simply executing the native translation instead of doing translation a second time. Thus, Bellard invented the first processor emulator that could achieve near native performance in certain instances.

    JIT is about as old as Fabrice, or even older depending on what you consider a modern JIT.

    • bonzini 4 hours ago
      The actual innovation in QEMU was that the architecture-dependent part was much smaller than a full JIT compiler, because it used the C compiler to build small blocks and parsed ELF relocations to be able to move them into the translated code.

      This technique has since been dropped by QEMU, but something similar is now used by the Python JIT. These days QEMU uses Tiny Code Generator, originally forked out of TCC though by now the source is probably unrecognizable except in the function names.

    • bayindirh 7 hours ago
      Moreover, Transmeta did this for their actual processor back in the day. Transmeta's version even did it in multipass, fusing more and more instructions as they appear more, getting faster as the system is used more, up to a certain point of course.

      This doesn't make Fabrice a lesser man, but truth is truth.

    • isopede 5 hours ago
      Yeah, afaik arhitecture dynamic binary translation dates back to at least 1998 (VMware).

      If you leave out the JIT part, binary translation dates back to at least 1966 (Honeywell).

      Still one of the GOATs, agree.

  • poidos 18 hours ago
    Publishing ffmpeg and QEMU in a five year span that also included winning IOCCC (twice!) is absolutely bonkers.
  • kryptonomist 40 minutes ago
    So, LZEXE was written on an Amstrad PC1512 (of course in 8086 assembly).
  • lioeters 19 hours ago
    This biography includes more information than I've seen elsewhere about the legendary programmer, who's been discussed time and again on this forum.
  • speedgoose 18 hours ago
    He did a few things since, notably 5G base stations using PC hardware, and some LLM stuff.
    • cryptonector 16 hours ago
      And he wrote a proprietary ASN.1 compiler and stack.
      • rvnx 14 hours ago
        It’s far from being impossible, the main thing you need is free time and obsession (and money for your free time btw).

        C or asm are not obscure languages or anything, they are brutal languages where you have to trace runtime from A to Z, and manage the memory.

        In 1990, it was absolutely normal to code in C. Yes you had to decode images yourself, yes you had to decode audio, yes you had to raytrace, etc.

        “Wait, you had to calculate all of these by hand ?

        Yes my friend everybody had to do that in my time, what else could we do ?

        So we took books, and did one by one.

        This was the norm, just that it became some sort of archeology.”

        Every year, thousands of 19-year-olds complete these tasks in low-level schools like Epita/Epita/42 or in demoscene contests. They aren't geniuses; they are just students who were forced to read the manual and understand how the computer actually works.

        Free time won’t guarantee you success, but free time + obsession will (like Terry Davis).

        Really, this is not alien tech.

        Before FFmpeg, people had to encode the videos. Before emulators someone had to create the state machine, etc. All these people it would be insane to ignore them.

        Most of the difficult problems have shifted somewhere else from low-level.

        How to simulate millions of pharmaceutical molecules in short amount of time ?

        How to simulate the world in GTA VI ?

        Saving 2 bytes of memory by writing asm (that… won’t be portable) is not the thing going to save you. The problems are now elsewhere.

        The problem now is not about “wow you read ancient manuals and mixed sand with water and got a solid foundational brick” but it is about “ok, using these bricks, how to build a skyscraper that is 1km tall”.

        No doubt that these modern programmers are as good as the archeologists who like to explore handcrafted code.

        • attractivechaos 8 hours ago
          This doesn't explain why so few people of Fabrice's generation have reached his level. Think about violin playing. Many players can become professionals if they have the obsession, but 99% of them won't reach the Heifetz/Hadelich/Ehnes level no matter how hard they try. Talent matters. Programming is not much different from performing art.
          • yallpendantools 7 hours ago
            I think this is well covered by his first line:

            > the main thing you need is free time and obsession (and money for your free time btw).

            Free time (and money for your free time) is a privilege not everyone may have had. Also, access to computers which, don't forget, has only become ubiquitous this century, and sadly not always in the form that might encourage experimentation. Without getting too much into the Nature-Nurture debate, talent and obsession sadly won't go anywhere without the proper environment to cultivate it. You don't become Bellard/Knuth/Dijkstra with just a bunch of rocks[1] and a whole host of other concerns on top.

            [1] https://xkcd.com/505/

            • sirfz 5 hours ago
              That doesn't cover OP's point, some people's brains just work differently and they can achieve something in 1000x less time than others. You can have all the time in the world and you'll never reach their level. That's essentially what talent is.
        • __patchbit__ 11 hours ago
          Victor Taelin posts an intuition `HVM is missing a fundamental building block' having done 10 years thinking

             https://x.com/VictorTaelin/status/2003839852006232478?s=20
          • rvnx 2 hours ago
            I won't pretend to know the answer, I am not even sure I understand the question :|
        • cryptonector 11 hours ago
          > It’s far from being impossible, the main thing you need is free time and obsession (and money for your free time btw).

          I'm aware :(

          (I maintain one, one written by my Swedish friends, whom too were obsessed.)

  • chubot 19 hours ago
    Without being glib, I honestly wonder if Fabrice Bellard has started using any LLM coding tools. If he could be even more productive, that would be scary!

    I doubt he is ideologically opposed to them, given his work on LLM compression [1]

    He codes mostly in C, which I'm sure is mostly "memorized". i.e. if you have been programming in C for a few decades, you almost certainly have a deep bench of your own code that you routinely go back to / copy and modify

    In most cases, I don't see an LLM helping there. It could be "out of distribution", similar to what Karpathy said about writing his end-to-end pedagogical LLM chatbot

    ---

    Now that I think of it, Bellard would probably train his own LLM on his own code! The rest of the world's code might not help that much :-)

    He has all the knowledge to do that ... I could see that becoming a paid closed-source project, like some of his other ones [2]

    [1] e.g. https://bellard.org/ts_zip/

    [2] https://bellard.org/lte/

    • latenightcoding 19 hours ago
      What I wonder is: are current LLMs even good for the type of work he does: novel, low-level, extremely performant
      • vbezhenar 8 hours ago
        I'm writing C for microcontrollers and ChatGPT is very good at it. I don't let it write any code (because that's the fun part, why would I), but I discuss with it a lot, asking questions, asking to review my code and he does good. I also love to use it to explain assembly.
        • bionsystem 8 hours ago
          It's also the best way to use llms in my opinion, for idea generation and snippets, and then do the thing "manually". Much better mastery of the code, no endless loop of "this creates that bug, fix it", and it comes up with plenty of feedback and gotchas when used this way.
          • zelphirkalt 1 hour ago
            This is how I used LLMs to learn and at the same time build an application using Tkinter.
      • vitaminCPP 17 hours ago
        As a professional C programmer, the answer seems to be no; they are not good enough.
        • checker659 2 hours ago
          They are absolutely good at reviewing C code. To catch stupid bugs and such. Great for pair programming type use.
      • mhh__ 11 hours ago
        This is a funny one because on the one hand the answer is obviously no, it's very fiddly stuff that requires a lot of umming and ahhing, but then weirdly they can be absurdly good in these kinds of highly technical domains precisely because they are often simple enough to pose to the LLM that any help it can give is actually applicable immediately whereas in a comparatively boring/trivial enterprise application there is a vast amount of external context to grapple with.
      • rjzzleep 14 hours ago
        From my experience, it's just good enough to give you a code overview of a codebase you don't know and give you enough implementation suggests to work from there.
      • wolttam 18 hours ago
        If Fabrice explained what he wanted, I expect the LLM would respond in kind.
        • vasco 17 hours ago
          If Fabrice explained what he wanted the LLM would say it's not possible.

          When the coding assistant LLMs load for a while it's because they are sending Fabrice an email and he corrects it and replies synchronously.

      • koakuma-chan 18 hours ago
        No
      • slekker 18 hours ago
        I doubt it, although LLMs seem to do well on low-level (ASM level instructions).
    • MrDrMcCoy 19 hours ago
      He has in fact written one: https://bellard.org/ts_server/
      • chubot 19 hours ago
        Yeah I've seen that, but it looks like the inference-side only?

        Maybe that is a hint that he does use off-the-shelf models as a coding aid?

        There may be no need to train your own, on your own code, but it's fun to think about

        • zelphirkalt 1 hour ago
          Are you saying a LFM could be a good idea? A Large Fabrice Model?
    • rdtsc 18 hours ago
      > Without being glib, I honestly wonder if Fabrice Bellard has started using any LLM coding tools

      I doubt it. I follow him and look at the code he writes and it's well thought out and organized. It's the exact opposite of AI slop I see everywhere.

      > He codes mostly in C, which I'm sure is mostly "memorized". i.e. if you have been programming in C for a few decades,

      C I think he memorized a long time ago. It's more like he keeps the whole structure and setup of the program (the context) in his head and is able to "see it" all and operate on it. He is so good that people are insinuating he is actually "multiple people" or he uses an LLM and so on. I imagine he is quite amused reading those comments.

      • MangoToupe 13 hours ago
        Still, humans can only type so quickly. It's not hard to imagine how even a flawless coder could benefit from an llm.
        • dmitrygr 9 hours ago
          > humans can only type so quickly

          Real programming is 0.1% typing. Typing speed is not a limiting factor for any serious development.

          • MangoToupe 9 hours ago
            You're conflating typing with programming. Typing is in fact the limiting factor to serious development.
            • bdangubic 9 hours ago
              typing would not make top-100 list of “limiting factors” for serious development.
              • lomase 5 hours ago
                It is if for AI users who can't type code.
    • raverbashing 17 hours ago
      I think it's the opposite: llms ask Fabrice Bellard instead
      • jacquesm 17 hours ago
        Congrats, the Chuck Norris meme has finally made its way onto HN.
        • throwup238 17 hours ago
          Fabrice Bellard is far more deserving of the honor that ol’ Chucky.
          • jacquesm 16 hours ago
            Tough choice: Knuth, Bellard, Norvig...
      • echelon 17 hours ago
        They're trained on his code for sure. Every time I ask about ffmpeg internals, I know it's Fabrice's training data.
    • agumonkey 17 hours ago
      Some talented people (mitsuhiko, Evan you) seem to leverage LLM their own way. Probably as legwork mostly.
    • furbdiba 13 hours ago
      Keep in mind even if someone writes their own code LLM is great to accelerate: tests, makefiles, docs, etc.

      Or it can review for any subtle bugs too. :)

    • throwaway2037 11 hours ago
      In 2025, there is no shame in using an LLM. For example, he might use it to get help debugging, or ask if a block of code can be written more clearly or efficiently.
    • lomase 18 hours ago
      Why every single post in HN has to come down to talk about AI sloop...
    • globalnode 15 hours ago
      Is Fabrice like the Chuck Norris of programming?
      • Renaud 13 hours ago
        Hopefully without the politics…
    • gyomu 19 hours ago
      > I honestly wonder if Fabrice Bellard has started using any LLM coding tools. If he could be even more productive, that would be scary!

      That’s kind of a weird speculation to make about creative people and their processes.

      If Caravaggio had had a computer with Photoshop, if Eintein had had a computer with Matlab, would they have been more productive? Is it a question that even makes sense?

      • Kiro 17 hours ago
        > Is it a question that even makes sense?

        Absolutely. It's a very intriguing thought invoking the opposite of the point you're trying to make.

      • nextaccountic 16 hours ago
        Maybe today Bellard uses LLMs though
      • lomase 18 hours ago
        Matlab has been proven to be a indispensable tool in many fields.

        AI is the same, for example creating slop or virtual girlfriends.

  • shevy-java 12 hours ago
    With his recent release of MicroQuickJS, and also prior work, he kind of has to do epic things. People expect that of him.
  • wazoox 4 hours ago
    Back in 2004 I started using qemu to replace Bochs in my development, it was a huge help. My colleague sent an email to Fabrice to thank him and he replied very amicably. The guy is not only supremely competent, but absolutely unpretentious, nice and friendly.
  • mdavid626 5 hours ago
    Is Fabrice Bellard on HN?
  • brcmthrowaway 15 hours ago
    Do we think Bellard got rich, like antirez?
  • maximgeorge 16 hours ago
    [dead]
  • rurban 19 hours ago
    (2009)
  • YouAreWRONGtoo 16 hours ago
    [dead]
  • dakiol 18 hours ago
    While the guy is brilliant, I doubt he could fit the role of senior/staff/principal engineer in any one-level-below faang kind of company. Typically, these roles require good communication skills and working together with other engineers (which is really hard). So, while he's very good at the tech level, I think he primarily works alone? In that regard, it would be a very bad fit. I may be wrong, tho.
    • haunter 18 hours ago
      He is the co-founder and CTO of Amarisoft built on thechnology he developed

      https://www.amarisoft.com/

      https://www.amarisoft.com/company/about-us

      https://bellard.org/lte/

    • questionableans 18 hours ago
      In technically deep domains like Bellard works in, Staff+ roles bias more towards technical expertise, and managers also tend to be more technical and able to more completely address technical coordination tasks. Sometimes we like to assume that if someone is good at one thing, they’ll be bad at something more mundane (to make ourselves feel better), but I sincerely doubt he would have any trouble in such a role.
    • zero0529 27 minutes ago
      A Fox one day spied a beautiful bunch of ripe grapes hanging from a vine trained along the branches of a tree. The grapes seemed ready to burst with juice, and the Fox's mouth watered as he gazed longingly at them.

      The bunch hung from a high branch, and the Fox had to jump for it. The first time he jumped he missed it by a long way. So he walked off a short distance and took a running leap at it, only to fall short once more. Again and again he tried, but in vain.

      Now he sat down and looked at the grapes in disgust. "What a fool I am," he said. "Here I am wearing myself out to get a bunch of sour grapes that are not worth gaping for." And off he walked very, very scornfully.

      - https://read.gov/aesop/005.html

    • tommy92 10 hours ago
      Lots of negative stereotypical assumption there. If you have some source backing all this, share your claims otherwise personal attacks without any serious base isn't a good reflection.
      • checker659 2 hours ago
        The amusing part is the implication that communication skills can't be learned, even by someone who's worked alone their whole career, if it came to that (*especially* by someone of Fabrice Bellard's calibre). Gatekeeping much?
    • petermcd 13 hours ago
      Staff SWE at a FAANG here.

      Fabrice Bellard is not a 10x engineer, he is a 100x engineer. You could attach him to a good people manager and either build a team around him or allow him to work independently on a project that he finds exciting that also aligns with company goals.

      • rvnx 13 hours ago
        I think you are mixing up art, technical skills and productivity.

        Put Terry Davis (again him) as senior manager at Apple, and see the result.

        From my point of view, Terry has the same level and approaches as Fabrice.

        It does not guarantee at all that he is going to be more productive than 100 engineers as you directly claim.

        It makes them good in what they like to do (writing obfuscated or low-level code, or implementing from scratch from specifications) as art or creativity.

        • petermcd 10 hours ago
          Thank you for introducing me to Terry Davis. I'm going to read more about him.

          I am definitely not talking about art.

          When I refer to 100x engineer, I'm referring to the impact that QEMU and FFmpeg have had on the world. I would be surprised if anyone who is familiar with these two projects would disagree that they have been highly impactful.

          • rvnx 2 hours ago
            Absolutely agreeing with you. I rather meant that scaling teams and being a great dev are not always going together (the same way that startup folks are often not the same type of people as managers in large companies), but in terms of technical impact I totally agree.

            EDIT: Fair enough, I think he would be very productive due to useful contributions, at the end I agree with you.

        • lomase 5 hours ago
          [flagged]
          • rvnx 2 hours ago
            Wow?!

            There is no need to wish me harm because I compared two people who had the same similar tech level and approach as art, rather than pursuing productivity as a first goal.

            Again sorry if that made you upset, I just wanted to share my train of thoughts:

            It was to show that "tech skills" != "tech lead skills" + "tech skills" != "productivity".

            In fact, sometimes great devs can be counter-productive, as they tend to write code that they are the only one who can maintain (bus factor), or optimizations that turns out to be net negative when working as a team.

            Here it is a mixed bag, Fabrice is very productive at least as a solo contributor (c.f. FFmpeg or QEMU), but Terry obviously wouldn't be.

            About the comparison, it may sound strange to you, but I am talking only about the tech-side to show that tech skills do not always align with human skills (or management, or team lead), and Terry seemed to me the perfect example of something completely disconnected.

            In practice it is difficult to find other examples of people who wrote their own compiler, put a huge amount of energy, just for the sake of writing a compiler.

            Thinking about of the most well-known projects: Bellard's "Obfuscated Tiny C Compiler" (which then became TCC), it's not that crazy to compare it to the "HolyC compiler".

            Now outside, in their private life, they are very different, and nobody doubts that.

            Side-note: I actually like very much what Fabrice does.

            To your credit, again the two persons are NOT at all equivalent or comparable, just that the resulting works are, but for different reasons.

            • lomase 2 hours ago
              There is also no need to talk about a person with schizophrenia in a post about Fabrice Bellard.

              What kind of point are you making?

              • rvnx 1 hour ago
                I just needed an example that shows that it is not because you can write a compiler that it means you would be productive in a team at a FAANG.

                I edited the post above to make it more clear, that they are not comparable on the human aspect, perhaps I should have insisted more, to not give the impression.

                It was clumsy from my side, just that I found it difficult to find better example of someone who is well-known good programmer, wrote their own compiler too, wrote their own image decoder too, but not productive in a corporate environment.

    • inopinatus 17 hours ago
      At M.Bellard’s level one would could hardly even call such an outcome a character flaw, but my occasional privilege of managing - one should rather say, enabling - high performance teams, taught that the Venn intersection of “competent with imagination” and “collegiate manner” is far from empty, even in the tech sector.

      “‘We're delighted to have you here,’ he said, ‘but a word of advice. Don't try to be clever. We're all clever here. Only try to be kind, a little kind.’ Like most university stories, this one is variously attributed and it probably never even happened but, as the Italians say, se non e vero, e ben trovato - even if it isn't true, it's well founded.” ⸺ Stephen Fry.

    • rdtsc 17 hours ago
      > While the guy is brilliant, I doubt he could fit the role of senior/staff/principal engineer in any one-level-below faang kind of company.

      Maybe but what’s the point? Hell, I might guess he is terrible at jiggling and basket weaving, too. Complete failure as wrestler, even. But that is kind of neither here or there. Or is it you think staff title at faangs is some kind of pinnacle position every engineer should strive for? It actually always strikes me as a funny title. In college when they didn’t have a specific professor to teach or just going to use a grad student they put “staff” in the name box so in my mind it’s associated with a random lower rung student who couldn’t get away doing just research.

      • eichin 15 hours ago
        Yeah, staff engineer is a pinnacle "still doing engineering and maybe leadership but not management" position in engineering firms. The academic "staff" is just a "not really one of us" gatekeeping-the-servants title.
    • rramadass 9 hours ago
      > I doubt he could fit the role of senior/staff/principal engineer in any one-level-below faang kind of company.

      Why would you even think that these sort of exceptional people would even be interested in mere jobs?

      These are people who are solo auteurs; something in them feels a need to express themselves in full creativity without restraint in any domain they choose to focus on. That is what makes them unique because they are the few who can change Science into Art and make it seem effortless. The common man calls them "Geniuses" but it is actually a way of living, thinking and training.

      Much of Society's institutions, companies, jobs etc. is designed to get the most out of the average person which does not work for creative individuals. To measure the latter using the yardstick for average is foolish in the extreme. This is why true Scientists/Researchers/Artists etc. need to be treated very differently from the "common" man.

      For all the hoopla about Corporations/Companies/Groups/Teams etc. in the modern world, all our civilizational breakthroughs have emerged from a single individual or a small group of individuals.

    • kergonath 14 hours ago
      > I doubt he could fit the role of senior/staff/principal engineer in any one-level-below faang kind of company.

      Why would he want to do that, though?

    • kaffekaka 17 hours ago
      Yeah and can he do it on a cold rainy night in stoke?
    • adamors 18 hours ago
      Who cares about being a staff at FAANG lmao when he gets to do what he does currently?
      • encom 17 hours ago
        Employing Bellard at FAANG would be a tragic waste!
        • zelphirkalt 54 minutes ago
          I have a hunch he wouldn't accept such an ethically questionable role.
    • FpUser 17 hours ago
      >"In that regard, it would be a very bad fit. "

      He might as well be but why would he give a flying fuck about it? He gets to do what he wants and is financially independent for doing just that. Most can only dream about it.

      Myself - I do not come within a million miles to his professional level, but I still have managed to do just that - I develop what I want, how I want and get paid for it. I am 64 and still design and develop actively for my own company and for clients. Gives me happiness, motivation to stay alert and more than enough time to still do my hobbies (mostly various outdoor activities).

    • dllu 18 hours ago
      The fact that so many people use FFmpeg and QEMU suggest that he is quite good at documenting, collaborating, and at least making his code remarkably clean and easy to follow. This already puts him way ahead of the average silicon valley senior software engineer that I've worked with. However, he does value independence so I don't think he would have been happy working at a faang-type company for long.
      • averne_ 15 hours ago
        Not really. https://codecs.multimedia.cx/2022/12/ffhistory-fabrice-bella...

        >Fabrice won International Obfuscated C Code Contest three times and you need a certain mindset to create code like that—which creeps into your other work. So despite his implementation of FFmpeg was fast-working, it was not very nice to debug or refactor, especially if you’re not Fabrice

    • anonymous908213 18 hours ago
      Is it insecurity about yourself that leads you to baselessly speculate that an accomplished figure is unemployable?
      • dang 17 hours ago
        Please don't cross into personal attack, regardless of how wrong another comment is or you feel it is. It only makes things worse.

        https://news.ycombinator.com/newsguidelines.html

      • bpt3 1 hour ago
        What do you mean? You don't think that every software developer on earth secretly aspires to spend their days making tiny improvements to an advertising machine?
      • beautiful_zhixu 10 hours ago
        [dead]