11 ms·
Fabrice Bellard: Biography (2009) [pdf]
- rurban 10mo ago(2009)
- dang 10mo agoI've put that in the title above, although the URL says 2020 - could the text have been updated?
- lioeters 10mo agoBy the way (I'm who submitted the link) - I found a prior discussion on the same document but different URL now expired. There's even a comment by one of the authors, sharing some context. https://news.ycombinator.com/item?id=2555654 https://news.ycombinator.com/item?id=2555654 (2011) My favorite line from the biography: > [As a child] Bellard was drawn to electronic devices. His first word was magnétophone (tape recorder).
- dang 10mo agoNice find! Macroexpanded: Fabrice Bellard [pdf] - https://news.ycombinator.com/item?id=2555654 https://news.ycombinator.com/item?id=2555654 - May 2011 (29 comments) I guess we can throw these in too although it was presumably a different article: Fabrice Bellard: Portrait of a Super-Productive Programmer (2011) - https://news.ycombinator.com/item?id=32795067 https://news.ycombinator.com/item?id=32795067 - Sept 2022 (26 comments) Fabrice Bellard: Portrait of a Super-Productive Programmer (2011) - https://news.ycombinator.com/item?id=6941135 https://news.ycombinator.com/item?id=6941135 - Dec 2013 (24 comments) Fabrice Bellard: Portrait of a super-productive programmer (2011) - https://news.ycombinator.com/item?id=5187585 https://news.ycombinator.com/item?id=5187585 - Feb 2013 (155 comments) Fabrice Bellard: Portrait of a superproductive programmer - https://news.ycombinator.com/item?id=2555867 https://news.ycombinator.com/item?id=2555867 - May 2011 (8 comments)
- rurban 10mo agoIn the text isn't anything after 2009. And a lot of cool projects happened after 2009.
- dang 10mo agoOk, 2009 it is!
- lioeters 10mo agoThis biography includes more information than I've seen elsewhere about the legendary programmer, who's been discussed time and again on this forum.
- chubot 10mo agoWithout 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/ https://bellard.org/ts_zip/ [2] https://bellard.org/lte/ https://bellard.org/lte/
- MrDrMcCoy 10mo agoHe has in fact written one: https://bellard.org/ts_server/ https://bellard.org/ts_server/
- chubot 10mo agoYeah 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 10mo agoAre you saying a LFM could be a good idea? A Large Fabrice Model?
- latenightcoding 10mo agoWhat I wonder is: are current LLMs even good for the type of work he does: novel, low-level, extremely performant
- speedgoose 10mo agoHe did a few things since, notably 5G base stations using PC hardware, and some LLM stuff.
- cryptonector 10mo agoAnd he wrote a proprietary ASN.1 compiler and stack.
- rvnx 10mo agoIt’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.
- __patchbit__ 10mo ago
- dakiol 10mo agoWhile 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 10mo agoHe is the co-founder and CTO of Amarisoft built on thechnology he developed https://www.amarisoft.com/ https://www.amarisoft.com/ https://www.amarisoft.com/company/about-us https://www.amarisoft.com/company/about-us https://bellard.org/lte/ https://bellard.org/lte/
- adamors 10mo agoWho cares about being a staff at FAANG lmao when he gets to do what he does currently?
- encom 10mo agoEmploying Bellard at FAANG would be a tragic waste!
- zelphirkalt 10mo agoI have a hunch he wouldn't accept such an ethically questionable role.
- questionableans 10mo agoIn 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.
- 10mo ago
- poidos 10mo agoPublishing ffmpeg and QEMU in a five year span that also included winning IOCCC (twice!) is absolutely bonkers.
- YouAreWRONGtoo 10mo ago[dead]
- maximgeorge 10mo ago[dead]
- brcmthrowaway 10mo agoDo we think Bellard got rich, like antirez?
- shevy-java 10mo agoWith his recent release of MicroQuickJS, and also prior work, he kind of has to do epic things. People expect that of him.
- justapassenger 10mo agoHe’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.
- bayindirh 10mo agoMoreover, 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 10mo agoYeah, 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.
- ZX8301 10mo agoClaims of ‘firsts’ undermine the authority of this document, though not the achievements of the subject. For instance Marco Ternelli’s dynamic binary translator ZM/HT dates back to 1993, when it was published by Ergon Development. It translates Z80 to 68000 machine code on the fly and was a successful commercial product. I’d be interested to hear of earlier JIT binary to binary implementations, especially others which coped with self-modifying code, without which ZM/HT wouldn’t have been very useful. Self-unpacking executables are at least a decade older, and Fabrice quite likely had Microsoft’s 1985 EXEPACK, written by Reuben Borman, on his computer when he came up with LZEXE. That was bundled with MASM and Microsoft C 3.0, their first in-house version. Both were preceded by Realia’s Spacemaker product, which Wikipedia says was written by Robert B. K. Dewar in 1982.
- mdavid626 10mo agoIs Fabrice Bellard on HN?
- wazoox 10mo agoBack 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.
- kryptonomist 10mo agoSo, LZEXE was written on an Amstrad PC1512 (of course in 8086 assembly).
- PaulDavisThe1st 10mo ago(reposting from the MicroQuickJS thread if only because it seems more relevant here) Always interesting when people as talented as Bellard manage to (apparently) never write a "full-on" GUI-fronted application, or more specifically, a program that sits between a user with constantly shifting goals and workflows and a "core" that can get the job done. I would not want to dismiss or diminish by any amount the incredible work he has done. It's just interesting to me that the problems he appears to pick generally take the form of "user sets up the parameters, the program runs to completion".
- never_inline 10mo agoThat way leaving employment for lesser ones among us
- lioeters 10mo agoApparently GUI frontend is not a subject or problem that interests him. He lives and thinks close to the metal, at a lower layer of abstraction. The software he writes for himself and others in that ecological milieu, people who would take his codebase as an embedded library, command-line tool, or wrap it with an abstraction and user interface for their particular purpose, like browsers did with FFmpeg. He has his favorite niche intellectual and technical subjects, where all his big and small projects are explorations of that space from various angles. It's a lesser concern whether the result has business value, or wider public appeal. He's more of a researcher and scientist.
- PaulDavisThe1st 10mo ago> Apparently GUI frontend is not a subject or problem that interests him. He lives and thinks close to the metal, at a lower layer of abstraction. It's not that cut and dried. The application I work on has some notable chunks of assembly code, lots of tricky multithreaded realtime lock free code involving threads, atomics, RCU and more ... and ... a GUI that lets the user continuously interact with it. Oh, and we use ffmpeg for video decoding/encoding :)
- heresie-dabord 10mo ago
- jlundberg 10mo agoBellard is such an inspiring programmer! A few of my favorites out of his works are: - qemu user mode - tcc - ts_zip