[HN Gopher] Fabrice Bellard: Biography (2009) [pdf]
___________________________________________________________________
Fabrice Bellard: Biography (2009) [pdf]
Author : lioeters
Score : 343 points
Date : 2025-12-24 18:17 UTC (1 days ago)
(HTM) web link (www.ipaidia.gr)
(TXT) w3m dump (www.ipaidia.gr)
| rurban wrote:
| (2009)
| dang wrote:
| I've put that in the title above, although the URL says 2020 -
| could the text have been updated?
| lioeters wrote:
| By 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 (2011)
|
| My favorite line from the biography:
|
| > [As a child] Bellard was drawn to electronic devices. His
| first word was _magnetophone_ (tape recorder).
| dang wrote:
| Nice find! Macroexpanded:
|
| _Fabrice Bellard [pdf]_ -
| 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 - Sept 2022
| (26 comments)
|
| _Fabrice Bellard: Portrait of a Super-Productive
| Programmer (2011)_ -
| 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 - Feb 2013
| (155 comments)
|
| _Fabrice Bellard: Portrait of a superproductive
| programmer_ - https://news.ycombinator.com/item?id=2555867
| - May 2011 (8 comments)
| rurban wrote:
| In the text isn't anything after 2009. And a lot of cool
| projects happened after 2009.
| dang wrote:
| Ok, 2009 it is!
| lioeters wrote:
| This biography includes more information than I've seen elsewhere
| about the legendary programmer, who's been discussed time and
| again on this forum.
| chubot wrote:
| 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/
| MrDrMcCoy wrote:
| He has in fact written one: https://bellard.org/ts_server/
| chubot wrote:
| 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 wrote:
| Are you saying a LFM could be a good idea? A Large Fabrice
| Model?
| latenightcoding wrote:
| What I wonder is: are current LLMs even good for the type of
| work he does: novel, low-level, extremely performant
| koakuma-chan wrote:
| No
| wolttam wrote:
| If Fabrice explained what he wanted, I expect the LLM would
| respond in kind.
| vasco wrote:
| 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.
| slekker wrote:
| I doubt it, although LLMs seem to do well on low-level (ASM
| level instructions).
| vitaminCPP wrote:
| As a professional C programmer, the answer seems to be no;
| they are not good enough.
| checker659 wrote:
| They are absolutely good at reviewing C code. To catch
| stupid bugs and such. Great for pair programming type use.
| rjzzleep wrote:
| 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.
| mhh__ wrote:
| 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.
| vbezhenar wrote:
| 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 wrote:
| 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 wrote:
| This is how I used LLMs to learn and at the same time
| build an application using Tkinter.
| gyomu wrote:
| > 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?
| lomase wrote:
| Matlab has been proven to be a indispensable tool in many
| fields.
|
| AI is the same, for example creating slop or virtual
| girlfriends.
| Kiro wrote:
| > 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 wrote:
| Maybe today Bellard uses LLMs though
| rdtsc wrote:
| > 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 wrote:
| Still, humans can only type so quickly. It's not hard to
| imagine how even a flawless coder could benefit from an llm.
| dmitrygr wrote:
| > humans can only type so quickly
|
| Real programming is 0.1% typing. Typing speed is not a
| limiting factor for any serious development.
| MangoToupe wrote:
| You're conflating typing with programming. Typing is in
| fact the limiting factor to serious development.
| bdangubic wrote:
| typing would not make top-100 list of "limiting factors"
| for serious development.
| lomase wrote:
| It is if for AI users who can't type code.
| bdangubic wrote:
| I am a _heavy_ AI user and have been typing code for 3
| decades :)
| lomase wrote:
| Do you feel called out?
| bdangubic wrote:
| not at all, can't feel called out by people who don't
| have a clue what they are talking about :)
| lomase wrote:
| Why you waste your time with people who don't have a clue
| what they talk about and rush to reply them?
|
| You replied 2 min after my comment... I am sorry you are
| that lonely on christmas day
| bdangubic wrote:
| thanks, bored at the airport :)
| MangoToupe wrote:
| Ok, if you have such insight into development, why not
| leverage agents to type for you? What sort of problems
| have you faced that you are able to code against faster
| than you can articulate to an agent?
|
| I have of course found some problems like this myself.
| But it's such a tiny portion of coding I really question
| why you can't leverage LLMs to make yourself more
| productive
| MangoToupe wrote:
| Most coding is better done with agents than with your
| hands. Coding is the main financial impediment to
| development. Yes, actually articulating what you want is
| the hard problem. Yes, there are technical problems that
| demand real analytical insight and real motivation. But
| refusing to use agents because you think you can type
| faster is mistaking typing for your actual skill:
| reasoning and interpretation.
| lomase wrote:
| Why every single post in HN has to come down to talk about AI
| sloop...
| raverbashing wrote:
| I think it's the opposite: llms ask Fabrice Bellard instead
| echelon wrote:
| They're trained on his code for sure. Every time I ask about
| ffmpeg internals, I know it's Fabrice's training data.
| jacquesm wrote:
| Congrats, the Chuck Norris meme has finally made its way onto
| HN.
| throwup238 wrote:
| Fabrice Bellard is far more deserving of the honor that ol'
| Chucky.
| jacquesm wrote:
| Tough choice: Knuth, Bellard, Norvig...
| agumonkey wrote:
| Some talented people (mitsuhiko, Evan you) seem to leverage LLM
| their own way. Probably as legwork mostly.
| globalnode wrote:
| Is Fabrice like the Chuck Norris of programming?
| Renaud wrote:
| Hopefully without the politics...
| actionfromafar wrote:
| In Soviet Russia, politics find _you_.
| furbdiba wrote:
| 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 wrote:
| 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.
| speedgoose wrote:
| He did a few things since, notably 5G base stations using PC
| hardware, and some LLM stuff.
| cryptonector wrote:
| And he wrote a proprietary ASN.1 compiler and stack.
| rvnx wrote:
| 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.
| __patchbit__ wrote:
| 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 wrote:
| I won't pretend to know the answer, I am not even sure I
| understand the question :|
| cryptonector wrote:
| > 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.)
| attractivechaos wrote:
| 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 wrote:
| 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 wrote:
| 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.
| attractivechaos wrote:
| I have been thinking what talent means in programming and
| thought of a case in the past. The task was to parse a
| text file format. One programmer used ~1000 lines of code
| (LOC) with complex logic. The other used <200 LOC with a
| straightforward solution that ran times faster and would
| probably be more extensible and easier to maintain in
| future. This is a small task. The difference will be
| exponentially amplified for complex projects that Fabrice
| is famous for. The first programmer in my story may be
| able to write a javascript runtime if he has time +
| obsession, but it will take him much longer and the
| quality will be much lower in comparison to quickjs or
| mqjs.
| huhtenberg wrote:
| To be fair, that's not terribly difficult.
| dakiol wrote:
| 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 wrote:
| 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/
| adamors wrote:
| Who cares about being a staff at FAANG lmao when he gets to do
| what he does currently?
| encom wrote:
| Employing Bellard at FAANG would be a tragic waste!
| zelphirkalt wrote:
| I have a hunch he wouldn't accept such an ethically
| questionable role.
| questionableans wrote:
| 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.
| anonymous908213 wrote:
| Is it insecurity about yourself that leads you to baselessly
| speculate that an accomplished figure is unemployable?
| dang wrote:
| 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 wrote:
| 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?
| dllu wrote:
| 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_ wrote:
| 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
| kaffekaka wrote:
| Yeah and can he do it on a cold rainy night in stoke?
| FpUser wrote:
| >"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).
| rdtsc wrote:
| > 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 wrote:
| 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.
| inopinatus wrote:
| 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.
| kergonath wrote:
| > 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?
| petermcd wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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.
| zerr wrote:
| I don't think he would pass FANG interviews or enjoy their
| day-to-day grind. The whole point of such prolific
| programmers is to code whenever you feel like, not by some
| arbitrary deadlines. Not to mention the tolerance of office
| politics in those orgs.
| dustbunny wrote:
| "wouldn't pass fang interviews"
|
| Bellard wouldn't apply and be interviewed like some
| Stanford grad. He would be head hunted and told he can do
| whatever he wants and receive a massive amount of
| compensation.
|
| I'm not sure why you woulf assert he wouldn't pass the
| interview that seems totally outrageous.
| retinaros wrote:
| yeah lol. the interview is braindump on leetcode and
| sysdesign. two ways to pass it. do a lot of exercise/
| learn the patterns or be an excellent programmer. there
| is 0 doubt he would have a full HIRE loop
| zerr wrote:
| The thing is, being an excellent programmer has nothing
| to do with leetcode and sysdesign (which is actually a
| back-end CRUD systems) questionnaire.
| tommy92 wrote:
| 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 wrote:
| 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?
| rramadass wrote:
| > 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.
| zero0529 wrote:
| 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
| poidos wrote:
| Publishing ffmpeg and QEMU in a five year span that also included
| winning IOCCC (twice!) is absolutely bonkers.
| brcmthrowaway wrote:
| Do we think Bellard got rich, like antirez?
| shevy-java wrote:
| With his recent release of MicroQuickJS, and also prior work, he
| kind of has to do epic things. People expect that of him.
| justapassenger wrote:
| 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.
| bayindirh wrote:
| 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 wrote:
| 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.
| ZX8301 wrote:
| Claims 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.
| seg_lol wrote:
| Thanks for the reference to
| https://en.wikipedia.org/wiki/Honeywell_200 apparently its
| claim to fame was it could run IBM 1401 programs faster than
| a 1401 for less money.
|
| > Compatibility with the IBM/1400 Series has, of course, been
| a key factor in the success of the Series 200. The principal
| software components in Honeywell's "Liberator" approach are
| the Easytran translators, which convert Autocoder source
| programs written for the IBM machines into Easycoder source
| programs which can be assembled and run on Series 200/2000
| systems, usually with little or no need for manual
| alterations. The Easytran routines have effectively overcome
| the minor differences between the instruction sets and
| assembly languages of the two systems in literally hundreds
| of installations.
|
| from https://bitsavers.org/pdf/honeywell/datapro/70C-480-01_7
| 404_...
|
| https://cdnibm1401.azureedge.net/1401-Competition.html
|
| It appears that Honeywell Liberator was a program to convert
| 1401 assembly to Easycoder, the Honeywell 200 assembly
| format.
| bonzini wrote:
| 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.
| evntdrvn wrote:
| Umm one of the authors, Andy Gocke, is the lead for the .NET
| runtime... https://github.com/agocke
| mdavid626 wrote:
| Is Fabrice Bellard on HN?
| wazoox wrote:
| 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.
| kryptonomist wrote:
| So, LZEXE was written on an Amstrad PC1512 (of course in 8086
| assembly).
| PaulDavisThe1st wrote:
| (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 wrote:
| That way leaving employment for lesser ones among us
| lioeters wrote:
| 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. 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 wrote:
| > 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 wrote:
| > when people as talented as Bellard manage to (apparently)
| never write a "full-on" GUI-fronted application
|
| The "full-on GUI-fronted application" is two different
| problems.
|
| PROBLEM_A = create a minimal interface (arguments to
| application) and focus on making robust logic that is fit for
| use and purpose.
|
| PROBLEM_B = make users who resist/object to a minimal interface
| happy by satisfying an unbounded set of requirements involving
| a changing stack of tools and OS dependencies.
|
| The latter effort can expand to consume the time and energy of
| entire teams of people.
| PaulDavisThe1st wrote:
| Actually, this is missing my point quite a bit. The
| difference is not the minimal/non-minimal interface.
|
| One can easily imagine (and I think they even exist) GUI
| front ends for ffmpeg that let a user set up a conversion
| "more easily" than they might find it using the command line.
| Bellard has chosen not to do this (lots of entirely fine
| reasons), _but even if you use such a GUI front end_ the use
| of ffmpeg still consists of "set the parameters and let the
| program run". At some point after clicking "Run" (or whatever
| the button says), then just like after press "Return", the
| ffmpeg process will have completed its work, and that
| particular user interaction is over.
|
| By contrast, a video and/or audio _editor_ is really an
| entirely different beast, in which the user is continually
| adjusting any and all parameters and states of the project,
| expecting undo /redo histories, and so on and so forth. There
| is essentially no "completion state" for the application to
| reach.
|
| I'm just curious that Bellard seems never to have tackled
| this kind of application (as is absolutely his right to do,
| or not do). I'm curious because it creates an entirely
| different class of programming problems from the "set-and-
| run" type of application (though they also obviously overlap
| in many important areas).
| heresie-dabord wrote:
| > a video and/or audio editor is really an entirely
| different beast, in which the user is continually adjusting
| any and all parameters and states of the project, expecting
| undo/redo histories, and so on and so forth.
|
| If you accept that there is some similarity to game
| development or a real piloting system for an aircraft,
| these complex adjustments would be split among components
| to be developed and tested separately and then
| _integrated_.
| senderista wrote:
| Could you just call these "interactive programs"?
| jlundberg wrote:
| Bellard is such an inspiring programmer! A few of my favorites
| out of his works are:
|
| - qemu user mode
|
| - tcc
|
| - ts_zip
___________________________________________________________________
(page generated 2025-12-25 23:01 UTC)