DE version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
80% Positive
Analyzed from 10052 words in the discussion.
Trending Topics
#code#bellard#don#ffmpeg#fabrice#carmack#better#more#programmer#https

Discussion (451 Comments)Read Original on HackerNews
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.
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 a philosophy, it would be something like...
- things should be good
- they are not so good
- I can learn to make them better
And more broadly: "You can just do things"
Of course, all of those are hard! And I think that speaks to the modern tarpits. No one set out to make a tarpit, it just happened and it's hard to make it perfect.
That is, going to town halls, writing senators, and running for office are all standard parts of the system people are complaining about. And they are offering the complaints, largely, as stand in complaints for whole hosts of problems that they actually think are there.
So, agreed, few are willing to ignore their general nebulous complaints and get into the system to work with it. They dream that there will be some magic shift of everything away from their complaints.
My only twist is I think this is ok, as long as people stay grounded in the rest of their life. It is perfectly fine to dream. Is mostly fine to complain. No need to dirty the water where people are getting things done, though.
Also keep in mind that most of such charitable work goes nowhere. There is a fair number of projects shaped like ffmpeg or QEMU that have never achieved the critical mass. I've written a number of small utilities that simply went unnoticed because they were never featured on HN or anywhere else. Writing FOSS is pretty similar to starting your own band. It helps if you're a good singer, but it's not enough.
A lot of devs like building features.
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 up and use it.
Google shows no results for this term so i'm guessing its your own short hand for something hard?
(DX is developer experience, tarpit is used idiomatically to mean “slow/difficult thing”)
Tarpit is often used as an analogy for anything that suddenly slows you down.
This is my approach which I use for SMBs (my actual clients). Never failed in decades. I am on my own since year 2000 and few times before that.
1) Always start with building single vertically scalable monolith running on dedicated server which can serve reasonable amount of transactions / date volume with acceptable performance.
2) Only start adding to infra when vertical scaling stops working (well you get some warning sign before it actually starting to hurt business) and then do it strictly on on need basis. Only rewrite / rearchitect if you see approaching google scale and can not shard simply by XXX-Canada, XXX-US etc. This will of course fail on some specialized scenarios but we are talking plain vanilla business backends for SMB.
Thus starting with learning wow meditation seems an important first step.
For all the rest, it's already going to be more issues on how to prioritize getting the ressources mapped where seems to fit to reach the goals.
Taking something that’s traditionally been hard and making it dramatically easier, better, and faster unlocks pent-up downstream use-cases.
I’m sure it’s some degree of both selection and execution, but so many industries have been unlocked simply because somebody showed up and figured out how to make a previously difficult thing easy.
Maybe 100x or more in Bertrand’s case.
It’s not about putting in 19 hour days or spitting out more lines of code or PRs or whatever.
It’s coming up with elegant solutions with broad impact that no one else even considered.
I don't think 100 1x programmers can create these solutions. So much gets lost having to communicate and coordinate people. And they would just accumulate cruft (and DX tarpits like other mention).
The flip side of this, is if you have the ability, you can just pick the hardest problem in your field, go solve it... rinse and repeat.
Everyone can find out what the hardest problems in their field are, it's not a secret, just a question of if you have the ability/gumption/willingness to go spend years of your life attacking a problem like that
Prove P = NP
(or not).
Is definitely one of the hardest problems in computer science, but you could waste your entire life on that problem and make no progress. Innumerable great contributions to the field have nothing to do with that problem. Booting Linux in JavaScript wasn't even on most people's maps.
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.
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.
Work on being a positive influence in the world. Help your neighbour when they are in need and fight for the rights of those less fortunate than yourself.
Different groups have different "positives" / negatives. So unless trivial like don't eat babies who's the judge?
You are. Decide for yourself what it means to be a positive influence in the world and do that. This isn’t that hard, it’s not a gotcha. If you are capable of empathy, you are capable of understanding what it means to be good for others, learn from mistakes, and do better.
Also, I provided examples:
> Help your neighbour when they are in need and fight for the rights of those less fortunate than yourself.
Seems unambiguous to me.
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 implementations are no easy feat; it's just interesting that most of this work falls into that relatively narrow area.
I've always seen Bellard as an engineer who programs rather than a pure programmer.
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.
if your mental model is that somebody writes codec specs and then fabrice bellard comes in and turns the specs into C, you are dead wrong. first of all, codecs are usually reverse-engineered, there is no spec. second of all, even when a well specified document describes the codec, that spec does not describe how to efficiently encode or decode with that codec. people like fabrice bellard develop the algorithms that do that.
In a normal standard development process experimental codecs come first, then those that have proved to work well, including having good enough performance, are described in the spec; after standardization there's very little room to "develop the algorithms" because nonconformant implementations would be useless.
Reverse engineering is limited to the abnormal case of having access to some codec but not to the standard that describes it.
there is A LOT OF ROOM to develop the algorithms. it seems that you are confused about what an algorithm is, since you seemingly think that there can be only 1 algorithm that can decode a given media file.
It may also be worth pointing out, in terms of apportioning credit fairly, that ffmpeg has not been Bellard's project since 2004. The thing we see today is no more his project than GCC or Emacs are Stallman's projects.
These days, I tend to mix them all together, and I think I get good results.
I strongly suspect that a lot of folks, these days, only do the middle one.
Ain't no one willing to pay for all of that. The clear separation is something you only see remaining in academia and industries where code quality issues have legal consequences (i.e. aerospace, marine, automotive and medical), and even there, pressure is high to relax rules viewed as "arcane".
Writing good specifications, documentations, implementation code and tests each is an art form in itself
I see a lot of “Ready, Fire, Aim” behavior, hereabouts, and can’t help but imagine that it extends into our basic workflows.
It’s entirely possible to create a huge ball o’ mud, that works, but is unmaintainable, and damn near impossible to adapt to changing circumstances.
I just went through that, with my LLM. Really easy to simply say “Screw it. Let’s ship.”
That fact that you can (almost) freely mix and match processing between such different worlds is quite an achievement and libav (IMO) is decently well designed to allow that.
The Polytechnique and École Centrale campuses are just a few kilometers apart, and both projects began around 1997–1998.
I don’t know about you, but as a student, I was too busy drinking beer to write clean code.
I don't know ffmpeg but this resonates with my experience with other open source projects.
As far as the accusations against both rejecting patches and/or rewriting the code themselves goes I can empathize. It's not always easy to take on maintenance of code that isn't written like you want it to, even if the difference is ultimately immaterial. Sucks when this happens to a fundamental project that is used everywhere though. A good maintainer does need to have some ego but not too much it seems.
You mean trademark. The copyright is held by the authors of the code (or their employer, etc.), since there is no copyright assignment requirement.
This is similar to how Linus Torvalds owns the "Linux" trademark (in some jurisdictions), but the copyright mostly belongs to other contributors.
Demonstrably false. Here and on Reddit, everyone will dogpile on a project to call it slop and flag it if they see code smells they don't like. Unless it was written by someone they already know and like from twitter devgooning, in which case it's amazing and everyone should use it.
Excellent choice of phrase. Succinct and to the point.
Most of the code in the linux kernel today is not from Linus.
He has no real power. You can fork the project and organize an election.
On the real world, if it runs and solves their problem nobody gives a fucc. Period
Props on him.
Then witness the amazing reversal when some member of The Tribe pushes unbelievably unreadable slop that works. Then we see his Ring getting kissed by all the betas: "if it work, it works".
Pick a side. Quality is important or not?
ffmpeg, facebook, claude, twitter etc might not have existed if the authors focused on quality over shipping.
Wow the quality of online discourse is really in the gutter.
Funny, I remember this being completely different; FFmpeg bundled ffserver, which transcoded to a bunch of codecs at the same time (sharing motion search and everything) precisely to demonstrate how similar the codecs were and how much could be shared. (Of course, that could easily be spaghetti, but not spaghetti for non-code-sharing reasons.) All on the 400MHz-class machines we had at the time. Do I remember wrong? I haven't looked at these old releases in forever.
One think to note though is unelected dictators do have their benefits, even if they come with obvious downsides.
It has a full list of his projects.
Chronological or Alphabetical sorting would make more sense than importance.
Why?
Ref: https://en.wikipedia.org/wiki/Daniel_J._Bernstein
It's literally just a list of <p> tags. This is ridiculous. It's running a single sentence across the entire window.
What about the url on the first displayed line?
Not saying it's bad - got me thinking about this self-reference that most modern websites do with the logo on the header.
https://www.ipaidia.gr/wp-content/uploads/2020/12/117-2020-f...
My impression is the guy had always better things to do than engage with the greater internet, like thinking real hard and solving difficult problems. Much respect to his work, but even more respect to his work ethic. When you have a strong vision, you need the ivory tower style of development rather than spending your days arguing and defending your choices with internet strangers.
Satoshi shouldn't be compared, I don't hold bitcoins nor am I interested, but the name is a lore. It was stamped on the original document.
Fabrice Bellard is a real person shipping code; not an internet anonymous identity.
Perhaps it was trying to stretch it to “unknown figure”, saying this programmer is mysterious, even though it was not by choice but circumstance: fame has eluded him. (Not implying it’s desired).
But on that reading, I would still say the metaphor fails: it’s not effective at conveying this meaning and reads more like an unnecessary Satoshi name drop.
I think Unicorn illustrates one of the issues with his style. It wouldn’t have needed to exist of the QEMU code was architected into neat components. But then writing spaghetti code that gets the job done is why he’s so fast and effective. It’s a trade off
https://www.unicorn-engine.org/docs/beyond_qemu.html
I think there’s actually a sharp contrast with John Carmack here. Fabrice might be smarter and faster but Carmack is perhaps a better software engineer. You can really see the development of his style from Doom and Quake source code, where Quake 3 source is like a beautiful gem of a code base.
Then you have the other end of the spectrum where people are too focused on hacking stuff together that the end result is unmaintainable.
The reality is there needs to be a bit of both to be a good developer.
For example, if you’re building a proof of concept (POC), then it’s more important to prove the idea than it is to define the architecture. And the reason for that is because you don’t always understand how the final product (whether it’s commercial software or a FOSS library) is best architected until you’ve gone through a few drafts of the idea. So spaghetti code isn’t necessarily a bad thing.
But then when you know your idea works and you need to flesh it out into something more durable, you start to refactor the spaghetti into something more maintainable.
Fabrice mainly releases POCs while Carmack mainly releases finished products. So it’s unsurprising you’ll see a difference in the style of architecting in their code.
I used to be someone who focused on beautiful code for my POCs too. And used to fail to release any personal projects. Then one day I learned to embrace the chaos of POCs and realised that you can getting something built and tarting it up afterwards was better than failing to build anything at all.
If I had to describe it in aesthetic terms I would maybe say brutalism?
Pedantic much? It's not about him writing elegant code like someone would write elegant music. It's a comparison about the skill level achieved, Mozart-level vs Salieri-level (and in the sense of their Amadeus movie rivalry, not real world).
His code tackles very complex subjects, succesfully, with huge technical skill, and has been reliable and relied upon by millions...
There’s few things I find more pathetic than trying really hard to show who’s best and ranking things that have no business being ranked.
You will find humans are n-dimensional and elude these simplistic categories.
Beauty is in the eye of the beholder. What you find beautiful, I would find grotesque, and vice versa. What you think of as well-organized, I think of as spaghetti.
I think it's great that we can have such a diversity of viewpoints on beauty, but I wouldn't advise making universal proclamations on beauty standards.
Now, what is outstanding in Fabrice's work is that his curiousity projects often end up being breakthroughs.
I mean, i have like hundreds of these. Can emacs do that? I make a compiler to do that? How fast can i make this bytrcode to run?
And it is cute at best.
Really? I find his code elegant and concise.
OTOH it's fun to see people comparing programmers (better/worse) as if that actually mattered.
As the internet says, post physique bro.
They're good (like, quite good), but as soon as their names come up people start talking about some weird expectation of what they are supposed to think rather than the actual things they did.
Somehow, that mythologizing diminishes their accomplishments.
I have nothing against it. The fact that I explained a mechanism (mythologizing diminishes one's real work) offends people who like to do it, but that's outside of my control. It's not meant to offend or deny their right to do it. It is just what it is and I'm naming it. I understand it's uncomfortable, and pulling the "everyone does it" card makes things easier.
I love mythology by the way, stories, etc. Fascinating stuff.
And it is that aspiration you’re degrading with the rush to de-mythologize, as if it weren’t inevitable, under the crushing rush of time, that we in the hacker world had heroes.
For all we know, it could be a temporary fluke and we'll snap back to something else. We could be beings with no default to snap back to, ever changing, destined to dissolve the prevalence of cult figures into something else in the following eras.
In a few thousand years we could totally see this practice as some distant-past thing like making clay pots or carrying Roman dodecahedrons.
The new cultural trend could become jumping off cliffs, and someone would be arguing that it's inevitable human nature.
By the way, no rush to de-mythologize. I'm not fighting any dragon here, you do you.
No matter how elevated they are in your mind, they’re still just people. One pants leg at a time and all.
afaik Bellard never had any beef with Burger Becky. Both are legendary programmers, but somewhat different eras.
I have no idea what you're suggesting.
The description on his website is amusing: "The ts_zip utility can compress (and hopefully decompress) text files using a Large Language Model"
https://bellard.org/ts_zip/
If the decompression is optional, I've got a really impressive compression algorithm in mind!
My mental model and go to ELI5 is "imagine you compressed the whole internet into a zip-like archive and you have an extremely clever and efficient way to search it for data".
I'm old enough to remember the time when you could order wikipedia on CDs and I don't see much difference between that and downloading LLM.
They are not. The only reason one might think the solution is novel is because they never saw it before, but what they are actually receiving is an excerpt from someone elses blog post or stack overflow answer. [1]
A bit terrifying thought experiment is to accept for a moment that programming is dead and all its left prompt engineering. Fast forward 5-10-15 years and whos left to actually produce new code and ideas to feed LLMs?
[1] one thing I like to do from time to time - especially when I'm asking for something I know little about - is to copy and paste the answer back to google and look where did that answer originated from.
One time I asked a very specific linux shell command and the answer didn't sit right with me. I googled it and it pointed me to a stackoverflow question. It was the first answer with ~1000 upvotes. But it also had a comment with ~700 upvotes explaining why you never ever should do that. :)
what was particularly interesting about that experiment was the fact that you could pack quite a few images in a very small network.
A long-running kinda-joke in the field is that the upper-bound of compression is "AI-complete", where instead of compressing, say, the text data of the complete works of Shakespeare, the compressor just encodes "The Complete Works of Shakespeare", and the AI decompressor re-generates the output from that prompt.
With the advent of LLMs, Bellard just made that joke a reality.
I get what the author is saying but I really dislike this hyperbole. The Internet will be absolutely fine if FFmpeg suddenly disappears.
Companies that rely on it in the core of their product may not, but the Internet absolutely will, and the vast majority of websites and other Internet services will keep working just fine.
For most of the internet users- very likely no. Social media and video streaming IS the internet for the majority
Apple is a super late stage company, why would a clever person join them just to work under some middle manager.
I don't know a single name behind the construction of the AI tensor core in Nvidia's chips but it is effectively what runs all of AI.
Also there's irony in the stark contrast between this x-article and the Bellard's own website.
I've always had a lot of admiration for Fabrice Bellard, I always wished I was as good an engineer as he is.
I have no idea what "ATSC" means, and I've been in tech for nearly 40 years now so I have a fairly good handle on this stuff.
"Van Gogh is almost certainly a better painter than I am" -Monet
That is a work of art in and of itself. It's genius narcissism.
"almost certainly", "overall programmer", are we really going there? Are we 16?
Why even do the comparison? Fabrice is not a "programmer". He is an engineer. Programming is a medium he often works in and that medium is completely meaningless in and of itself. I would be offended if someone called me a "programmer".
I don't agree about the distinction between programming and engineering; to me it's all programming, engineering is just the word we started using to make it sound higher status.
Especially if you consider ignorant people who don’t even know how to program are writing about “the future of programming” now and a ton of people are reading them.
Same about mathematics and w/e unlucky subject is attacked by the slopmasters.
It is fair for a person who programmed his whole life to assume he is a good programmer IMO
And more https://www.bellard.org/
I have been referring to his page for decades as an example of one can have a huge respect without having a fancy web page and no bragging at all. He is a genius :-)
https://www.computerhistory.org/tdih/january/6/
In fact, if you ask me, I think the tweet's picture is semi-real; I trust the computer history museum to have the original and the tweet has an AI-upscaled photo with artificial details.
this to be exact https://news.ycombinator.com/item?id=48400935
Hedging the claim with a lot of qualifiers. What's wrong with admitting someone is a better programmer? even giving someone else the benefit of the doubt?
This is because we've been trained to be humble by the machines we work with. Computers expose a lot of our mistakes, and over time they remove any illusion that we can be quickly confident about things.
I would take the qualifiers in his post as an indication of his general disinclination towards making absolute statements, not as a lack of humility.
That's unacceptable! Bring out the surgically precise praise!
It’s also a nod to his own fame.
[1] This is based on Masters of Doom. And the anecdotes are probably from the 90’s. And being arrogant does not mean that being confident in one’s ability is unjustified or that they are in fact not skilled. Being arrogant and being highly skilled are completely orthogonal.
Bellard did multiple breakthroughs: ffmpeg, qemu, tcc, jslinux, a state of the art FFT algorithm. I probable skipped a few.
With all due respect to carmack, a single ballard's projects would put anybody into the eternal hall of programmers fame right next to Linus, Carmack, Stallman, the Bell labs crowd and others.
i do understand how carmack did what he did logistically (time, effort, skills, compensation)...
Fabrice is just out of this world. When? How? Why? No idea.
2) avoid qualifiers in personal compliments (unless ironic)
Fabrice is more clever and faster, I guess.
But John Carmack is in my mind a better software engineer. He writes elegant code that can be used and maintained for a long time. At least from Quake 2ish, but you can see signs of solid code architecture already in Doom.
Doom code will live almost as-is forever. The code Fabrice wrote for ffmpeg has been entirely replaced
Where would we be today without Fabrice?
Case in point, from the linked interview:
> Could you say a couple of words about yourself?
> I would rather not talk about myself, except that I created other projects such as FFmpeg or QEMU.
My previous comment with links - https://news.ycombinator.com/item?id=46372370
dang's links - https://news.ycombinator.com/item?id=46379975
https://en.wikipedia.org/wiki/Fabrice_Bellard
Surely we are all capable of understanding Bellard’s contributions and judge them on their own merits without needing some famous programmer to point directly at it and saying “this good”.
>A quiet French engineer who never moved to Silicon Valley wrote the code that quietly runs the internet.
Why do some assume you need to move to SV to make an impact in tech?
Or they just don't know tech outside of SV, which is understandable, considering the rest doesn't do nearly the same amount of self-promotion and, well, they're not from SV anyway so why should SV care?
The other day there was this article: something something nerds, which assumed (almost) everyone in tech was looking up to Jobs and Wozniak.
I think I saw my first Mac in 2006 or so and only for a brief moment - it belonged to an artist the parents of my high school friend employed. The next time it was a musician. That was really the stereotype in my corner of the world at the time and using Apple devices for programming seemed like a weird idea.
EU is thin in capital, not in innovation. Regulation is not an issue for high-tech. The list of smaller startups US and Chinese megacorps buy every year from EU is staggering.
I'd hazard a guess that most people who run Internet things know who Fabrice Bellard is, and may indeed have spoken to him at some point.
... do tech people really not know who Fabrice Bellard is?
He's kind of a household name in a lot of programming circles
I guess that if people aren't loud on social media, people tend to ignore them.
Respect to those who posted their praise of someone else on social media. We need more of this.
Welcome to that sub-group of the Lucky 10,000 today!
https://xkcd.com/1053/
I don't need to know who is building VLC, curl, ffmpeg or any of the other essentials in my life. I just appreciate their work and pitch in some money if possible.
I appreciated the art at the time, but can't really enjoy it anymore knowing what I know. My life would be better if I never found out.
I mean, don't put them on a pedestal, but meeting them can still be fun. Carmack may have developed some really unfortunate rich-guy political views, but it was nice to get to go to Dallas to meet him.
I'd _love_ to meet Notch or DHH live and have a chat, both would have some pretty good stories. Hell I'd even have a beer or two with Neil Gaiman.
It's mean to convey "don't look up the personal details of artists, just enjoy the art as-is". Similarly I don't interact with the fandoms of any of the media I follow. There are a few good ones, but the majority are insufferable (to me).
Specifically way too many authors whose books I've loved have turned out to be not very good human beings. David Eddings and Neil Gaiman are pretty good examples of this.
>programming circles
Well, not all tech people are part of some curcles I guess.
eg: I grew up in the Australian Kimberley region (kind of remote), spent decades in geophysical mapping, multi channel data processing, computational algebra, and other odd niches, have no real interest in SV, and am quite familiar with Bellard's work.
No idea who DHH is though.
https://community.frame.work/t/framework-supporting-far-righ...
But that was also very Start-up and America focussed. So if you did web dev in some other country and didn't have colleagues who were into that culture you still might've missed the name.
(Also, I specifically chose DHH as somebody who's highly unlikely to show up in the same discussion as Fabrice Bellard, not because I'm a fan of his. Judging from the replies, I succeeded beyond my wildest expectations!)
- active in the startup/VC scene
- "indie hackers"
- chasing platonic elegance with functional languages (for which the world at large doesn't care)
- rewriting everything in Rust
Fabrice doesn't seems to firmly fit any of this.
I think I first noticed this either with regard to JSLinux, or possibly some software he wrote before that; don't fully remember which year. It's like some people go deliberately to more unique problems with regards to software that actually works in achieving that outcome, whatever the outcome may be.
Unusable internet.
> He just wrote code.
> He was not done.
> He kept going.
> He is still shipping.
That guy talks like a scrum master, this linkedin bullshit writing style is just so bad...
> He is still shipping.
https://en.wiktionary.org/wiki/schiffen#Etymology_2
:-P
Simple as that.
I scratch lots of itches, but I also know that most of them are very, very fringe. So going into scratching itches expecting fame is not going to go well for most. But scratching itches is satisfying, so for my part at least I don't care.
"I trust that I am not more dense than my neighbours [i.e. fellow programmers], but I was [and am] always oppressed with a sense of my own stupidity in my dealings with [the works of Fabrice Bellard]."
-- inspired by Watson's comment about Sherlock Holmes in "The Red-Headed League" from the volume, The Adventures of Sherlock Holmes.
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.
Over half the planet gets a chance to prove they're smart in this day and age, between gaokao in China and whatever the exams are called in India, plus the western world and the rich portions of poor countries.
I’m no Einstein. XD
I wasn’t trying to minimize Bellard’s contributions! I’m in awe of them, and very grateful. If anything I was just noticing that Fabrice is a fantastic example of how much contribution those geniuses could make if they had access to even the bare minimum of education and stability.
For example, if they weren’t growing up in the kilns of India, where they don't actually have real opportunity to participate in “whatever the exams are called in India”:
https://www.youtube.com/watch?v=OW3cy1kiB-0
https://youtu.be/oAOypGQdzGU?is=mLehIyREf0k9TUzk
A schlub like me probably wouldn't, and I recognize the advantages I've had, but your quote was about Einsteins.
https://en.wikipedia.org/wiki/Joint_Entrance_Examination
Ritchie, Knuth, Notch, Carmack, Dean etc… these are like the Mount Rushmore of writing code and I think that era is over.
There is no almost John.
One of you has kept shipping for 30 years, the other one has spent most of the last couple of years in courts for stealing from former employers or on social media promoting being toxic and "anti woke" (whatever that is).
For me Michael Abrash (Quake, xbox) is a much better developer and person.
Carmack's "almost certainly" doesn't look good here.