Live data from Hacker News

I admire Fabrice Bellard. He is almost certainly a better overall programmer

twitter.com

421–430 of 488 posts

Re: I admire Fabrice Bellard. He is almost certainly a better overall programmer

#421
post #204

It's interesting to me that most of Bellard's work is basically turning specs into C. His most important projects are ffmpeg (codec specs), qEmu (ISA specs), QuickJS (the EcmaScript spec), tinyC (the C spec), and his telecom company (LTE specs). I guess the pi calculations and neural network stuff are exceptions. Just to be clear, this doesn't make his work any less impressive. Highly performant codec and emulator im…

If you actually work with ffmpeg, it's rather quite impressive how pluggable the architecture is. The codecs have huge amount of quirks and disagreements about basics (what is a "frame" in audio, subtitle, and video worlds?) and even their environment (passing frames around software and hardware coders is way different). That fact that you can (almost) freely mix and match processing between such different worlds is…

This description feels like how jQuery unified all the disparate JavaScript implementations behind a single framework.

Re: I admire Fabrice Bellard. He is almost certainly a better overall programmer

#422
post #229

It's interesting to me that most of Bellard's work is basically turning specs into C. His most important projects are ffmpeg (codec specs), qEmu (ISA specs), QuickJS (the EcmaScript spec), tinyC (the C spec), and his telecom company (LTE specs). I guess the pi calculations and neural network stuff are exceptions. Just to be clear, this doesn't make his work any less impressive. Highly performant codec and emulator im…

Interesting observation, similar manner of work as Linus Torvalds. These guys implement existing ideas well, consistent and open, but are not inventors.

Git?

Re: I admire Fabrice Bellard. He is almost certainly a better overall programmer

#423
post #345

Earlier quoted context omitted.

I think you're underestimating the skill required to do it that well. Add 1 wrong feature and suddenly your simple project working around a DX tarpits is a new tarpit. A lot of devs like building features.

To be fair, almost zero people praise the dx for ffmpeg. but the utility and value is so massively high, that it overcomes the famously complex dx of ffmpeg. I'm not even insulting ffmpeg, if it does a million things, then there are going to be a million knobs. I think of git as the same. The git cli is not intuitive at all (unless that lightbulb goes off) but the utility is so good, that people just kind of suck it…

I think for what it is ffmpeg has about the best interface it possibly can. At least I find myself failing to imagine a better one. Complaining about it would be similar to complaining about jq IMO.

Whereas the git cli is very clearly suboptimal. Unrelated tradeoffs aside, spend a while using an alternative DVCS such as mercurial if you doubt this.

Re: I admire Fabrice Bellard. He is almost certainly a better overall programmer

#424
post #249

Earlier quoted context omitted.

My guess would be the hueristic is "I want to do simple thing, why is it so hard?" (Modern computing has an overabundance of "DX tarpits".) Which is funny because, everyone has that experience, right? But then approximately nobody proceeds to do something about it. (Including most people who have the skills to make a difference!) Like, that's surprisingly mundane, and surprisingly actionable. --- If we distil it into…

The actual calculus is that you spent 30 minutes on something that should have taken 30 seconds, but then you're done with it. The "proper" solution is to spend months or years fixing the workflow for complete strangers for free, even though you personally will never get that time back. Yeah, it moves the world forward, but it's not always the best choice on a personal level. Also keep in mind that most of such chari…

Ah, agreed, this is how it is with almost all personal projects even outside of software. Am experiencing this in music too, almost none of them go anywhere. Got to do them because you enjoy them

Re: I admire Fabrice Bellard. He is almost certainly a better overall programmer

#425
I'll save my admiration for the code or the results. Admiring people for skills is weird. All it takes to build a skill is time and effort and some innate characteristics.

Getting listed on popular twitter account is I guess useful, depending on how much you care about receiving attention. But otherwise I'm kinda wary of people who give admiration to a person's skills or people who like to receive it.

Re: I admire Fabrice Bellard. He is almost certainly a better overall programmer

#426
post #246

Reading the list of Bellard's contributions, what strikes me is not the raw ability (although certainly there is that too!) but "damn, he knows how to pick 'em!" He keeps picking stuff to work on that ends up being insanely useful to a massive number of people. That seems somehow even more remarkable than the technical ability. Deciding what to work on might be the most important question in life.

This is the more striking thing. An meme I often repeat is that ideas are cheap, execution is key - there's a trope of "I have a great idea for an app, I just need a developer to do all the work", exacerbated with AI doing all the work. But this guy is the opposite idea of that. In hindsight, sure, a library doing video is obvious. But the other ones? That's something else.

Bad ideas are cheap. Good ideas need to account for the surrounding context as well as the target audience which I suspect you might be lumping in with execution. Good execution is also nontrivial.

I think the trope exists because so many people with poor or mediocre ideas perceive them as good. It's analogous to the observation that most people view the languages they commonly use as the most powerful and those that could offer them new capabilities as strange.

Re: I admire Fabrice Bellard. He is almost certainly a better overall programmer

#427

Earlier quoted context omitted.

Maybe they meant encoding, the file format.

But that only specifies the decoder. The format for all modern video codecs is not the kind of format where any specific piece of uncompressed input should always be encoded the same way, but more like a very restricted programming language that gives the encoder a lot of tools to compress the video, and which tools they use and how they use them are up to them.

I think it's neither the encoder nor the decoder that's specified but rather the encoding ie the bitstream format. At least for video streams building a competitive encoder is far more difficult than the corresponding decoder.

Re: I admire Fabrice Bellard. He is almost certainly a better overall programmer

#428

Earlier quoted context omitted.

The way to criticize that comment is to point out that all the major and most important codecs that are most commonly used with ffmpeg, do not come from the ffmpeg project. H.264, H.265, libmp3lame, speex, libfdkaac, etc. all come from other projects. What ffmpeg does is provide libraries for transforming decoded data between formats and calling to and from encoders and decoders and multiplexers and bitstream formats…

FFmpeg has its own native H.264, HEVC, MP3, Speex and AAC decoders. It's true that they don't have an H.264 or HEVC _encoder_ without calling out to external libraries, but they have a pretty good AAC encoder now, and TBH most use of FFmpeg is for decoding, not encoding.

> most use of FFmpeg is for decoding, not encoding.

Isn't that merely an observation of how lopsided media consumption vs production is on average?

Re: I admire Fabrice Bellard. He is almost certainly a better overall programmer

#429

Earlier quoted context omitted.

Rowling / Harry Potter comes to mind, too, and Heinlein. You need to be able to separate the artist from the art, the programmer from the program. It’s ok to appreciate a work even if you disagree with its creator’s morals or ethics.

> It’s ok to appreciate a work even if you disagree with its creator’s morals or ethics. In the case of Harry Potter... the perception of the work tends to follow the perception of the author. There's a bunch of issues with the original books that's widely seen as problematic today - character names seen as racist [1], enough problematic gender stereotypes to warrant half a dozen of academic papers of various quality…

I'm not gonna lie: it has always struck me as extremely racist to claim that goblins are caricatures of Jews. No normal, reasonable person reads Harry Potter and thinks "Jew" instead of "wacky fantasy creatures".

Re: I admire Fabrice Bellard. He is almost certainly a better overall programmer

#430
post #209

Earlier quoted context omitted.

It's worth noting that most communications specifications that involve an encoder/decoder pair communicating over a channel only specify the encoder. Standards purposely leave the decoder open to allow systems to progress as technology develops and to allow competition between implementations. This also makes a standard simpler, as a decoder is usually more complex than an encoder since it has to deal with noise and…

It is exactly the opposite for MPEG, which only specifies the decoder (i.e. how frames should be decoded).

The concept is similar, in that with MPEG it is the encoder that is the harder of the two, since it has to deal with the noise and real-world effects in the source image.

What I should have written is that the "hard" part, which is generally left unspecified, is the part that removes redundancy. An MPEG encoder removes redundancy whilst its decoder adds redundancy. An FEC/communications encoder adds redundancy whilst its decoder removes redundancy.

Post reply on HN