I admire Fabrice Bellard. He is almost certainly a better overall programmer
Posted by apitman 1 day ago
Comments
Comment by andai 19 hours ago
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.
Comment by andai 19 hours ago
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"
Comment by abustamam 18 hours ago
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.
Comment by taeric 18 hours ago
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.
Comment by gopher_space 16 hours ago
There’s a reason that most of the voters (and protesters in my area) are retired, and it isn’t apathy. I don’t have time to educate myself on these topics in any real depth.
And I need to educate myself because the push information is all bullshit. Digging into policing in Seattle, the official and public conversation was all culture war while the actual problems looked like simple incompetence from a system analysis perspective.
I don’t have the bandwidth to deal with this kind of fumbling on every topic, and I’m realizing that my parents didn’t live in a low-trust society like I do.
Comment by taeric 15 hours ago
Which is why I have my "twist" there that this is not necessarily bad. I'm fine letting people dream. I'm fine with people having general complaints. I have to be fine with people being wrong, as it happens whether I'm fine with it or not.
What is getting dodgy is how many people accidentally find themselves hijacked in the delay that is inherent in understanding systems to think that they can win with a culture war.
Comment by gopher_space 14 hours ago
I've been professionally trained to monitor my own thought process and review my notes for signs of bias, and I've spent decades absorbing new domains well enough to build testable models. When I look at understanding political issues the people I rely on to help me "put forth the work" are gone, man. The effort I need to put in on one subject well enough to make decisions now is immense.
Comment by taeric 12 hours ago
Comment by zerobees 14 hours ago
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.
Comment by computerdork 11 hours ago
Comment by athrowaway3z 19 hours ago
A lot of devs like building features.
Comment by atonse 16 hours ago
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.
Comment by fc417fc802 11 hours ago
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.
Comment by chollida1 18 hours ago
Google shows no results for this term so i'm guessing its your own short hand for something hard?
Comment by blanched 18 hours ago
(DX is developer experience, tarpit is used idiomatically to mean “slow/difficult thing”)
Comment by chollida1 17 hours ago
Comment by quietbritishjim 18 hours ago
Tarpit is often used as an analogy for anything that suddenly slows you down.
Comment by psychoslave 16 hours ago
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.
Comment by FpUser 15 hours ago
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.
Comment by stouset 17 hours ago
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.
Comment by jimbokun 16 hours ago
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.
Comment by andruby 14 hours ago
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).
Comment by apitman 17 hours ago
Comment by MinimalAction 15 hours ago
Comment by swiftcoder 16 hours ago
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
Comment by fragmede 12 hours ago
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.
Comment by Cthulhu_ 19 hours ago
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.
Comment by fc417fc802 10 hours ago
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.
Comment by cryptonector 13 hours ago
Comment by pull_my_finger 12 hours ago
Comment by latexr 15 hours ago
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.
Comment by FpUser 15 hours ago
Different groups have different "positives" / negatives. So unless trivial like don't eat babies who's the judge?
Comment by latexr 15 hours ago
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.
Comment by umutisik 12 hours ago
Comment by hkt 12 hours ago
Comment by willXare 14 hours ago
Comment by miki123211 21 hours ago
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.
Comment by femto 21 hours ago
I've always seen Bellard as an engineer who programs rather than a pure programmer.
Comment by harrouet 18 hours ago
Comment by femto 10 hours ago
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.
Comment by quietbritishjim 1 hour ago
If you have two red boxes on a black background in one frame, and a single red box in the middle on the next, UIUI there are at least two ways to encode this: "left box moved right a bit; right box disappears" and "right box mounts left a bit; let box disappears".
In a complex scene, there is a huge space of possible ways to encode a frame that give identical outputs, and even more that are lossy. Choosing one that compresses well but is visually similar (and not too slow to find) is a quality issue for the codec. It wouldn't make sense to specify the algorithm for that in the spec.
Comment by kroeckx 17 hours ago
Comment by Tuna-Fish 15 hours ago
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.
Comment by fc417fc802 10 hours ago
Comment by baobabKoodaa 20 hours ago
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.
Comment by HelloNurse 17 hours ago
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.
Comment by baobabKoodaa 13 hours ago
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.
Comment by HelloNurse 12 hours ago
Comment by questionableans 12 hours ago
Comment by burnte 11 hours ago
An algorithm is a sequence of steps and logic. You can create many different sequences to still get the same result.
Comment by wang_li 16 hours ago
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.
Comment by Sesse__ 11 hours ago
Comment by fc417fc802 10 hours ago
Isn't that merely an observation of how lopsided media consumption vs production is on average?
Comment by reactordev 21 hours ago
Comment by jimbokun 11 hours ago
Comment by ChrisMarshallNY 21 hours ago
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.
Comment by mschuster91 15 hours ago
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
Comment by ChrisMarshallNY 11 hours ago
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.”
Comment by fc417fc802 10 hours ago
Comment by ChrisMarshallNY 10 hours ago
That made me think that he didn't think it was possible.
I guess I'm a cynic, but I think that many companies, these days, are willing to pay -and pay a great deal-, for exactly that.
Comment by mschuster91 9 hours ago
lol, where? Outside of the industries I mentioned (and banking/insurance, which falls under the "legal consequences" catch-all)... good luck.
Government procurement only cares about price, and you see that confirmed whenever some government "digitalization" project balloons or the balloon inevitably explodes. Large companies live and breathe on Excel and shadow IT. Small companies want something that reasonably works and can be somewhat afforded.
Comment by ChrisMarshallNY 8 hours ago
Almost every corporate dashboard I use -Web or app- is junk. I was watching old folks wrestling with a terribly-designed UI at a medical lab, recently. If the designers had just given a tiny, tiny little shit, those folks would have had it a lot easier, instead of having to be walked through it, by the receptionist.
I have to restart most of my streaming apps, several times a week.
The folks that wrote those, get paid plenty.
Comment by fc417fc802 7 hours ago
But amusingly this all seems to be rapidly changing with the advent of AI agents since they don't work all that well without a clear spec and thorough documentation (and likely comprehensive tests as well).
Comment by izacus 21 hours ago
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.
Comment by jimbokun 11 hours ago
Comment by wswin 20 hours ago
Comment by jimbokun 11 hours ago
Comment by apitman 20 hours ago
Comment by tennfown 20 hours ago
Comment by ex-aws-dude 17 hours ago
Comment by pandaforce 1 day ago
Comment by Beretta_Vexee 1 day ago
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.
Comment by drob518 12 hours ago
Comment by alecco 1 day ago
I don't know ffmpeg but this resonates with my experience with other open source projects.
Comment by account42 1 day ago
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.
Comment by mkl 1 day ago
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.
Comment by nasretdinov 23 hours ago
Comment by CuriouslyC 18 hours ago
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.
Comment by bigfishrunning 16 hours ago
Comment by CuriouslyC 15 hours ago
Comment by tylerchilds 12 hours ago
Excellent choice of phrase. Succinct and to the point.
Comment by keyle 1 day ago
Most of the code in the linux kernel today is not from Linus.
Comment by thisislife2 11 hours ago
Comment by jdw64 1 day ago
Comment by gus_massa 20 hours ago
He has no real power. You can fork the project and organize an election.
Comment by lnsru 1 day ago
Comment by Sesse__ 18 hours ago
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.
Comment by mihaic 22 hours ago
One think to note though is unelected dictators do have their benefits, even if they come with obvious downsides.
Comment by doppp 1 day ago
Comment by raverbashing 1 day ago
On the real world, if it runs and solves their problem nobody gives a fucc. Period
Props on him.
Comment by fdsfsdsd 20 hours ago
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?
Comment by Cthulhu_ 35 minutes ago
ffmpeg, facebook, claude, twitter etc might not have existed if the authors focused on quality over shipping.
Comment by Calavar 19 hours ago
Comment by nancyminusone 14 hours ago
Comment by canelonesdeverd 13 hours ago
Wow the quality of online discourse is really in the gutter.
Comment by youarecringe 20 hours ago
Comment by fdsfsdsd 20 hours ago
Comment by stevenhuang 17 hours ago
Comment by CuriouslyC 18 hours ago
Comment by stackedinserter 17 hours ago
Comment by rafram 13 hours ago
ffmpeg -i input.mov output.mp4
for which you don't really need any of those things :)Comment by thedevilslawyer 1 day ago
Comment by wiseowise 1 day ago
Comment by throwaway2037 1 day ago
It has a full list of his projects.
Comment by slmjkdbtl 22 hours ago
Comment by throwaway2037 20 hours ago
Comment by rafram 18 hours ago
Comment by ryan_n 16 hours ago
Comment by ecshafer 15 hours ago
Chronological or Alphabetical sorting would make more sense than importance.
Comment by rafram 14 hours ago
You can push it if you want to maximize horizontal space utilization - the site you're on right now, for example, caps reflowing text to about 1200px - but reading is easier when you have to scan over less horizontal distance, and there's literally no reason not to set some max-width.
Comment by justin66 17 hours ago
Why?
Comment by allenu 15 hours ago
Comment by Capricorn2481 15 hours ago
It's literally just a list of <p> tags. This is ridiculous. It's running a single sentence across the entire window.
Comment by gverrilla 20 hours ago
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.
Comment by fatata123 20 hours ago
Comment by santiagobasulto 20 hours ago
The description on his website is amusing: "The ts_zip utility can compress (and hopefully decompress) text files using a Large Language Model"
Comment by hbn 18 hours ago
If the decompression is optional, I've got a really impressive compression algorithm in mind!
Comment by notpachet 18 hours ago
Comment by zeroq 19 hours ago
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.
Comment by santiagobasulto 12 hours ago
Comment by zeroq 8 hours ago
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. :)
Comment by isomorphic_duck 2 hours ago
You don’t even have to understand how modern reasoning LLMs work to be able to tell that your perception is warped and doesn’t reflect reality - there’s plenty of news to the contrary - OpenAI resolving a major Erdos problem[1], the First Proof endeavour[2], amongst others [3].
[0]: https://arxiv.org/abs/2201.11903 [1]: https://openai.com/index/model-disproves-discrete-geometry-c... [2]: https://1stproof.org/assets/docs/report.pdf [3]: https://archive.ph/2w4fi
Comment by zeroq 8 hours ago
what was particularly interesting about that experiment was the fact that you could pack quite a few images in a very small network.
Comment by AceJohnny2 17 hours ago
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.
Comment by leonidasrup 1 day ago
https://www.ipaidia.gr/wp-content/uploads/2020/12/117-2020-f...
Comment by companycalls 23 hours ago
Comment by jonahx 20 hours ago
Comment by ShinyLeftPad 23 hours ago
Comment by throwaway2037 1 day ago
Comment by leonidasrup 1 day ago
Comment by sph 1 day ago
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.
Comment by keyle 1 day ago
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.
Comment by coldtea 1 day ago
Comment by f17428d27584 17 hours ago
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.
Comment by sph 17 hours ago
"Thou shalt not take the name of the Lord in vain". I apologise.
Comment by bravetraveler 1 day ago
Comment by alfiedotwtf 1 day ago
Comment by bravetraveler 1 day ago
Comment by herodoturtle 22 hours ago
Comment by bravetraveler 22 hours ago
Comment by Barbing 18 hours ago
Comment by bravetraveler 18 hours ago
Comment by Barbing 18 hours ago
Thought the flag was “hey this guy can’t call me a doodoohead with no ‘J/K’ at the end!”, rule break like rudeness or spam or slop
Guess I better read the rules
Edit: IDK why I can’t always downvote. Sometimes see it on a comment’s permalink page. Guessing some karma factors at play (lifetime upvotes received per user, can’t downvote more senior users maybe)
Comment by bravetraveler 18 hours ago
Not quite as effectively, but sure. De-ranked consumption of vertical space instead of complete compression. Anyway, many tools one may choose. Not mutually exclusive or expensive.
> Guess I better read the rules
I'm sure someone will link them for us [again, vertical space!]. You're fine, however. Not super familiar with the heuristics, but I do know... downvoting gets blocked once you reply, do it first.
Comment by kmstout 20 hours ago
Comment by bravetraveler 20 hours ago
Comment by bitwize 1 day ago
Comment by audunw 1 day ago
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.
Comment by hnlmorg 1 day ago
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.
Comment by 21asdffdsa12 1 day ago
I find this very scary. Somebody unable to perceive capabilities and tech-debt. If you can not perceive that- you should not be let near executive decisions or code-base evaluation. This is literally the difference between rocket-science and exploding failed projects. Everyone can pile up explosives, not everyone can go to space today.
Its a great interview topic to filter this kind of candidate out of companies.
Comment by hnlmorg 23 hours ago
No it’s not. Code quality is just code quality. It's a subjective measure. eg how do you define one thing is of greater "quality" than another? Is it CPU ops? Memory footprint? Code readability? And how do you measure readability? By who? What I find readable someone else might not, and visa versa.
If you’re making choices to improve development throughput then that’s fine. But so often I see developers architecting code for what they mistakenly think will improve their throughput but ultimately they spend longer on writing those abstractions than any time they have saved when using them.
XKCD parodies this problem with their pass the salt sketch: https://xkcd.com/974/
Sometimes this comes down to developer vanity, sometimes it comes down to poor alignment of goals and/or communication between the product teams and development teams. And sometimes it’s just because solving problems is fun so naturally we’ll look for problems to solve. But whatever the reasons, I’ve personally seen this happen (as well as being a victim of it myself) enough times to know it is an underestimated problem.
> I find this very scary. Somebody unable to perceive capabilities and tech-debt. If you can not perceive that- you should not be let near executive decisions or code-base evaluation.
This is a rather insulting assumption. I've been a tech lead for around 2 decades now and have worked on plenty of brownfield projects in that time. I know what tech debt looks like.
The problem with "tech debt" is it can mean anything from "this is ugly code that takes 5 minutes longer to read but it works well" to "this in a insecure/unstable pile of horse manure and customers will start to notice".
The latter is where time should be spent. The former is a vanity project that doesn't bring the business any value.
That's not to say that developers shouldn't ever spend time on the former examples of tech debt, just that it's of a lower priority than getting the project working.
Comment by ryandrake 21 hours ago
To me, the code itself is the product. I want the code to look like a beautiful painting—the fact that it does something is secondary. I’ll sit there for hours working on things like const correctness, and making sure each class has the bare minimum amount of state/instance variables, making sure function arguments are named and ordered consistently, even though it has no effect on user-visible bugs or runtime performance. I’m the kind of person that paints the back of the cabinet. Even though no user will see it, I will know it is there.
Obviously this mentality is at odds with commercial software’s imperative to shit out barely working spaghetti code as fast and cheaply as possible, so I opted out.
Comment by cgh 17 hours ago
Comment by lanstin 17 hours ago
Comment by hnlmorg 19 hours ago
I'm strongly against the "move fast and break things" mentality. But there is a happy middle ground between architecting works of art, and shipping urinals with faulty plumbing.
Comment by fdsfsdsd 20 hours ago
You do you, I'm sorry if I come across rude and stupid, but I am both things. But "code is the product" is what IMO caused the downfall of this entire profession. No wonder everyone is trying to get rid of us. I wouldn't want a plumber that's obsessed with the tubes itself and not whether my house has working plumbing in a reasonable time frame and within budget.
Comment by stouset 17 hours ago
I have worked at a never-ending list of places where people shipped the first thing that worked, built spaghetti around it, something else got built on top, and the original thing is now critical infrastructure that takes 10x longer to fix bugs or add needed features to than it would have if we’d taken 1.5x longer to ship it in the first place. I have worked at a never-ending list of places where developers beg for time to be set aside to deal with the worst parts that sap their time, energy, or will to continue working at the job. I have worked at a never-ending list of places that eventually sets aside a few days to tackle these tasks, when the engineers estimate two or three weeks. I have worked at a never-ending list of places that then uses the failure of these momentary diversions as evidence that their engineers don’t know what they’re talking about and should shut up and ship more features.
I sure wish I knew what masterpiece factories you must have spent your career working at.
Comment by agentultra 16 hours ago
I have come across the architecture astronaut before. But I feel like they’re the result of the culture of the ecosystem the language. The Java and C# programmers whose language requires you to juggle weak types with visibility keywords and null ability. They can be forgiven for not being able to implement a priority queue without a committee and a class hierarchy deeper than the Mariana Trench.
But the perfectionist that never ships anything useful and only ever tweaks interfaces and types? Never met one.
Most people are just trying to balance progress with practical concerns.
Comment by hnlmorg 10 hours ago
Comment by stouset 7 hours ago
Comment by hnlmorg 1 hour ago
Comment by qdotme 19 hours ago
My take on this is that we need both, because the market is cyclical. It’s just that it’s hard to perceive any of those cycles if you (a) live them (b) are not experienced enough to introspect.
I absolutely would love an obsessed plumber (and got one!) when it comes to deciding that we’re going to do PTFE tubing in our new house. An obsessed electrician in charge to overinvest into our grid, rather than a 3-month timeframe executive. Otherwise our critical infrastructure gets myopically degraded.
I also want the “working within timeframe” outcome.
And we, as an industry, swing wildly in both direction. The Cambrian explosion of shareware was the the former. We course-corrected into cathedrals of good software (I still love Windows 2000’s stability, the pinnacle of NT line), followed by the “reasonable timeframe” 4GB Electron apps, etc.
It will swing. Every complex system from logistic equation upwards will oscillate .
Comment by dkarl 16 hours ago
You may have worked with people whose meaning of "code quality" encompassed things that you found inconsequential and a waste of effort. They may have even told you that if you didn't care about those things, then you didn't care about code quality. But that's not true. It only meant you disagreed with them about what code quality is and how to recognize it.
You draw a distinction between aspects of code that tend to lead to better outcomes and aspects of code that don't matter. You say you know what tech debt looks like. When you look at a codebase, you have opinions on where time should be spent to improve it. "Code quality" is shorthand for the heuristics underlying those opinions.
Instead of accepting that other, possibly dumber people get to define what code quality is, own your own definition of it and use it when you communicate with other people.
Comment by hnlmorg 16 hours ago
> You may have worked with people whose meaning of "code quality" encompassed things that you found inconsequential and a waste of effort. They may have even told you that if you didn't care about those things, then you didn't care about code quality. But that's not true. It only meant you disagreed with them about what code quality is and how to recognize it.
Who's these "people" you're referring to? This is an imaginary conversation you've added.
What I actually said was that there's a balance between design and output.
I did generalize that often product people will push too far towards output and often developers will push too far between design, but like all generalizations, I know there are exceptions (eg me).
But the crux of my point is that there are tradeoffs between the two, and thus times when it makes more sense to lean towards output and times when it makes more sense to focus on design.
What you've replied with isn't even remotely the same sentiment as the comment I made.
> You draw a distinction between aspects of code that tend to lead to better outcomes and aspects of code that don't matter. You say you know what tech debt looks like. When you look at a codebase, you have opinions on where time should be spent to improve it. "Code quality" is shorthand for the heuristics underlying those opinions.
No. Code quality is just a subjective term that means nothing in reality because everyone will have different goals in mind when they think about the purpose of the code.
So the underlying heuristics require far insight into project goals, deadlines, and resources than just "code quality".
> Instead of accepting that other, possibly dumber people get to define what code quality is,
The original reason I replied (albeit I did digress quite a bit) was to demonstrate that you cannot extrapolate how smart or dumb an engineer is from their "code quality" alone. So please refrain from calling people dumb in your rebuttals.
> own your own definition of it and use it when you communicate with other people.
That's literally what I've done.
---
This comment better summarizes my point: https://news.ycombinator.com/item?id=48555191
Comment by brunooliv 23 hours ago
There’s far, far too many people who confuse code quality for speed of development and start treating code quality as the product for customer base in the hundreds and active customers in the dozens and for most features to be basically unused.
The reality is that tech debt as a concept these days is hardly real: to be in debt means previous decisions or a previous implementation makes current work extremely hard or impossible, but, the truth is that the human factors such as knowing what to build, team collaboration and even speaking to customers matter far more and can get you “in debt” so so much faster than code alone. At least in your typical SaaS company.
If you ship code in a way that you let tech debt pile up to the point that customers notice it, you have an organisational problem, not code issues per se.
The fact that a lot of people don’t get this is really baffling to me.
Comment by 21asdffdsa12 21 hours ago
Good codebases sort of read themselves. You can guess where things are, how they are sorted and how they work, by understanding and relying on the authors ideas.
Comment by hnlmorg 1 hour ago
Not to mention that readability is entirely dependent on the readers familiarity with particular coding styles. Eg someone unfamiliar with SQL would find ORMs easier to read, whereas I find SQL easier than ORMs. Same is true for any other paradigm, eg for functional vs imperative.
And this is why I hate when people generalise about human readability being the definition of “good code”. For one thing, there will never be a consensus on what is more readable. And external constraints might require subjectively less readable code.
Comment by nandomrumber 21 hours ago
Comment by overfeed 16 hours ago
Other people can do the important work of investing time to understand the model and simplify the code architecture, as proven many times over by actively maintained projects pioneered by Fabrice.
To kickstart a project, you have to show people that something they assumed impossible or hard to achieve is actually possible by dropping it in front of them.
> Its a great interview topic to filter this kind of candidate out of companies.
Fabrice Bellard ships. It makes sense to filter him out if you're a bank or an org with well-established products that prefers stability over velocity. If you're a start-up or have lots of greenfield projects requiring fast experimentation loops: you need folk who can ship quickly. Most organizations have a mix of projects and need a healthy mix of engineers, or ones who can flip modes relevant to the project.
Comment by pjmlp 18 hours ago
Comment by MomsAVoxell 1 day ago
.. is very, very important in the context of milliseconds, hours, days, weeks, months and years. And decades.
Today, you might say that John/Fabrice’ code is readable/unreadable, but will that also be true in 5 years time, in a different cultural/technological era?
Obviously yes in the case of these individuals - because the ecosystem their products have created is self-sustaining at a mass (consumer/social) level.
I’ve built software which has shipped and effected the lives of millions, too. Many of us have.
But I have not built a massive ecosystem by working on the right software which was adopted by millions of developers who read my code, was inspired by it, and used it for something in their own products - thus creating sub-ecosystems upon sub-ecosystems, a big sprawling tree of economy which spreads out into the mass of humanity who use technology.
In this story we have two cases of individuals who have accomplished an extraordinary reach of software, in their own uniquely flavored ways - and this demonstrates that there are no absolute requirements to strip personality from the code - as long as its damn good code in the first place.
>filter candidates out of companies
It’s a great way to decide not to work at a company which managers do not understand the importance of architecture at various scales, milliseconds, seconds, hours, days, weeks ..
Comment by gpderetta 22 hours ago
Comment by jongjong 17 hours ago
Comment by FpUser 19 hours ago
I am not sure about "proper" definition of spaghetti code but speaking of long functions: if it is straight code that reads like a book and has no common parts to refactor for further reuse it is actually way more understandable and debuggable then mess of 3 liners spread among 20 files and 10 microservices running under k8s.
>", you can understand the model, you can not scale beyond a certain point"
The needed scaling is being determined by business needs / projection. If you implement service for some SMB that deals with few partners and limited set of business entities in database and architecture of said service addressing Google style of scalability with corresponding overheads and costs you are definitely committing a crime in relation to your client.
>"Its a great interview topic to filter this kind of candidate out of companies." -
basically making sure that instead of pragmatic engineer who can deliver functional and serviceable product to client in reasonable time with reasonable costs you will have them pay for spaceship built by architecture astronauts
Comment by nixon_why69 1 day ago
It's separate from striving for "beautiful" code, beauty within well-factored boundaries yields dimishing returns compared to just having the boundaries.
Comment by hnlmorg 23 hours ago
Comment by nixon_why69 21 hours ago
I guess I'm saying there are code quality concerns which do affect velocity/maintainability and then there are superficial and stylistic issues. The former aren't just about some kind of beauty standard, they're part of executing.
Comment by hnlmorg 19 hours ago
> which would not be well-factored and would impede someone less talented from comprehending it or being able to change it effectively.
Except the community did comprehend it and changed it effectively. Ballard hasn't maintained ffmpeg nor qemu for 20+ years.
> I guess I'm saying there are code quality concerns which do affect velocity/maintainability and then there are superficial and stylistic issues. The former aren't just about some kind of beauty standard, they're part of executing.
Which is why I'm saying we're basically arguing the same things. For a POC you get more velocity when focusing on proving that idea. I'm not saying zero effort should be spent on architecting the code. Just that you don't always know how best to organize it until you've had several revisions so developers shouldn't get too caught up trying to intellectualize the best internal layout. That can grow once the problem is better understood.
And I made this point because I felt the comparisons of one engineers POC to another engineers commercial release was unfair. They're completely different ends of the factory.
Comment by nixon_why69 19 hours ago
Comment by lproven 21 hours ago
But I can't guess what you meant.
Comment by nandomrumber 21 hours ago
Comment by TremendousJudge 18 hours ago
I have tried to do this for POCs (just hacking everything together), and I always get stuck very quickly. Then until I figure out some sort of architecture for what I'm supposed to be doing I can't proceed. It's like, once I have the first step (of several) of the a POC working, I literally cannot think of how to implement the second one until the first one is somewhat well organized
Comment by psychoslave 22 hours ago
Not much about "smartness", but code can by far outlast many "product" sold on top of it, so it can make sense to polish them more than the ready to throw gift paper.
People will certainly buy nice gift paper wrapping cheap crap music toy of the day. But they will also value differently access to a beautiful handcrafted musical instrument. On the other hands, people who don’t even play any music won’t be able to assess any musical appliance.
Comment by xyzzy123 23 hours ago
If I had to describe it in aesthetic terms I would maybe say brutalism?
Comment by coldtea 1 day ago
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...
Comment by sph 1 day ago
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.
Comment by yaantc 23 hours ago
Comment by sph 22 hours ago
Comment by lambdaone 22 hours ago
Comment by sp0rk 17 hours ago
This seems like a strangely harsh response considering the person you're responding to is just restating the assertion that Carmack made in his tweet.
Comment by anthk 21 hours ago
Comment by groceries8192 18 hours ago
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.
Comment by vkazanov 1 day ago
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.
Comment by SwellJoe 1 day ago
Really? I find his code elegant and concise.
Comment by moralestapia 20 hours ago
OTOH it's fun to see people comparing programmers (better/worse) as if that actually mattered.
As the internet says, post physique bro.
Comment by pwdisswordfishq 1 day ago
Comment by gaigalas 1 day ago
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.
Comment by noisy_boy 1 day ago
Comment by gaigalas 23 hours ago
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.
Comment by noisy_boy 23 hours ago
> I love mythology by the way, stories, etc. Fascinating stuff.
Most people do. Given that it is quite prevalent across cultures and given that we are a product of our genetics and upbringing, one might even say, in our nature.
Comment by gaigalas 23 hours ago
It's a simple observation: mythologizing might diminish one's work.
Even if we assume there's some "human nature", that claim stands unchallenged.
"But you can't fight this thing that all humans do" is your line, and it was never my point to fight it. I want to explain what it does, not change it (which is outside of my control).
Comment by noufalibrahim 1 day ago
Comment by wang_li 16 hours ago
Comment by caspper69 5 hours ago
No matter how elevated they are in your mind, they’re still just people. One pants leg at a time and all.
Comment by MomsAVoxell 1 day ago
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.
Comment by gaigalas 23 hours ago
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.
Comment by MomsAVoxell 22 hours ago
I beg to differ, but okay. I don’t disagree to your allusions that there is a banality to mob idolatry, but that’s a discussion for other forums, ironically.
Comment by gaigalas 14 hours ago
Comment by MomsAVoxell 10 hours ago
Comment by gaigalas 5 hours ago
Also, what I did was make their myth-making fanbase uncomfortable. If one sees "liking Carmack" as some sort of identity, then offending the fanbase is offending the icon and vice-versa.
One that takes this posture cannot see the difference between criticizing the person and criticizing the myth-making. In their heads, it's the same thing. In reality, it's not.
That's why you (and others in the thread) treated the negative tone, which was towards the fanbase, as an attack to Carmack and Bellard themselves, even though it explicitly wasn't.
In simpler terms, "if he's being negative, he must dislike the idols", which is a product of the mythmaking I foreshadowed since the beginning.
Comment by nixon_why69 18 hours ago
A cult figure before writing would have more limited reach, and be forgotten because their name wasn't written down. But they'd still have been a cult figure.
Comment by zerohp 14 hours ago
Comment by gaigalas 12 hours ago
That's our oldest attested oral tradition, 2000 years or so. Stretching to a maximum of 6000 years if we're generous.
Buddhism is like, a thousand years after that.
It's all still super young though. Like I said, humanity has 300.000 years.
Earliest petroglyphs from 50.000 years ago corroborate my point of view: they depict animals, and migrations and shit. Nothing that can attest some kind of cult towards individuals, no heroes, no holy images.
So, yeah, talking about the Buddha "seems like old stuff", but it really isn't in the timescales that matter for estabilishing what "human nature" is, we've been human way before all that jazz appeared.
Comment by MomsAVoxell 10 hours ago
Comment by gaigalas 5 hours ago
The only myths in cave paintings are the ones modern people project back when romanticizing them.
Comment by gaigalas 14 hours ago
Comment by jongjong 17 hours ago
Comment by Zardoz84 23 hours ago
Comment by Quarrel 18 hours ago
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.
Comment by TheAmazingRace 17 hours ago
Comment by shevy-java 1 day ago
Comment by throwaway2037 1 day ago
Comment by speedgoose 15 hours ago
Comment by taway20260616 1 day ago
Comment by sph 1 day ago
Comment by huhtenberg 1 day ago
Comment by delichon 17 hours ago
Comment by sib 11 hours ago
Comment by JKCalhoun 14 hours ago
Comment by dmitrygr 12 hours ago
Comment by bflesch 11 hours ago
Apple is a super late stage company, why would a clever person join them just to work under some middle manager.
Comment by JKCalhoun 9 hours ago
One co-worker, for example, has headed up the team that convert the proprietary RAW format from various camera vendors to a standard RGB format that can then be edited/adjusted in Photos, etc. The cameras (vendors) never rest and as such he's kept quite busy.
Another coworker was the guy you turned to who could walk a stack, read registers, and then tell you that you were trying to dispose of an object on a different thread than you created it on (and the framework that handled the object had stashed important data in the creation thread that it needed for disposal—bad framework).
I turned to another coworker when a stack of transforms had my brain in a knot (early bring up of Preview to allow scaling (zoom), translation (scrolling) and rotation while trying to select text (hit-test in the transformed PDF). "The matrix you want to invert should have been created in the reverse order of the transforms that you had applied when displaying the PDF." Oh.)
And then there were the GIT experts that could somehow fix the completely fucked up state I had got the project in…
And the Smart Guy™ who, glancing at the debugger, might announce that I had exceeded the number of threads allowed per process. (I had no idea there was a limit.)
Come to think of it, maybe I'm just an idiot. :-)
Comment by bflesch 1 hour ago
Comment by cassianoleal 23 hours ago
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.
Comment by ekelsen 18 hours ago
Comment by newsclues 23 hours ago
Comment by bcjdjsndon 21 hours ago
Comment by lolive 20 hours ago
Comment by bcjdjsndon 19 hours ago
Comment by lintfordpickle 18 hours ago
Comment by bcrosby95 18 hours ago
Comment by DiskoHexyl 20 hours ago
For most of the internet users- very likely no. Social media and video streaming IS the internet for the majority
Comment by bigfishrunning 16 hours ago
Comment by afavour 21 hours ago
Comment by bcjdjsndon 21 hours ago
Comment by afavour 20 hours ago
Comment by naasking 18 hours ago
Comment by bcjdjsndon 17 hours ago
Comment by evilturnip 1 day ago
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.
Comment by afavour 21 hours ago
Comment by shevy-java 1 day ago
Comment by anyfoo 1 day ago
Comment by brcmthrowaway 1 day ago
Comment by redlewel 18 hours ago
Comment by Georgelemental 18 hours ago
Comment by andrehacker 17 hours ago
Comment by Georgelemental 16 hours ago
Comment by bombcar 9 hours ago
Comment by d4rkp4ttern 17 hours ago
Also there's irony in the stark contrast between this x-article and the Bellard's own website.
Comment by bflesch 11 hours ago
Comment by MisterTea 18 hours ago
Comment by fguerraz 1 day ago
I've always had a lot of admiration for Fabrice Bellard, I always wished I was as good an engineer as he is.
Comment by p0w3n3d 1 day ago
Comment by drmpeg 23 hours ago
Comment by lproven 21 hours ago
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.
Comment by drmpeg 21 hours ago
Comment by drivers99 16 hours ago
Comment by lambdaone 23 hours ago
Comment by Upvoter33 19 hours ago
"Van Gogh is almost certainly a better painter than I am" -Monet
Comment by blitzar 45 minutes ago
Comment by gmm1990 21 hours ago
Comment by uberex 21 hours ago
Comment by fdsfsdsd 20 hours ago
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".
Comment by slibhb 20 hours ago
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.
Comment by fdsfsdsd 20 hours ago
Comment by energy123 18 hours ago
Comment by ozgrakkurt 20 hours ago
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
Comment by psychoslave 18 hours ago
Comment by ar7hur 22 hours ago
Comment by zerr 22 hours ago
Comment by hashar 22 hours ago
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 :-)
Comment by zerr 22 hours ago
Comment by kzrdude 1 day ago
Comment by backscratches 22 hours ago
Comment by kzrdude 20 hours ago
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.
Comment by rozab 19 hours ago
Comment by stymaar 21 hours ago
Comment by rasz 12 hours ago
this to be exact https://news.ycombinator.com/item?id=48400935
Comment by brokensegue 18 hours ago
Comment by j4k3 19 hours ago
Comment by justin66 18 hours ago
Comment by fjfaase 16 hours ago
Comment by BLKNSLVR 23 hours ago
Where would we be today without Fabrice?
Comment by lolive 20 hours ago
Comment by copperx 1 day ago
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?
Comment by sevg 1 day ago
Comment by FartyMcFarter 23 hours ago
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.
Comment by copperx 18 hours ago
That's unacceptable! Bring out the surgically precise praise!
Comment by evilturnip 1 day ago
Comment by fnordpiglet 1 day ago
Comment by KeplerBoy 1 day ago
Comment by cloudfudge 1 day ago
Comment by vkazanov 1 day ago
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.
Comment by fmajid 1 day ago
Comment by nickcw 1 day ago
https://bellard.org/pi/pi_bin.pdf
Though I have to say the last line of the proof "...which gives (1) by reordering the terms" took me much head scratching to understand!
Comment by saidnooneever 1 day ago
Comment by account42 1 day ago
Comment by copperx 18 hours ago
Comment by Capricorn2481 15 hours ago
Comment by audunw 1 day ago
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
Comment by manmal 1 day ago
Comment by dofm 1 day ago
2) avoid qualifiers in personal compliments (unless ironic)
Comment by manmal 20 hours ago
Comment by dofm 20 hours ago
(Especially if you are complimenting a person with ADHD.)
Comment by DonHopkins 23 hours ago
Comment by keybored 1 day ago
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.
Comment by jimbob45 1 day ago
Comment by jf 1 day ago
Comment by Zealotux 1 day ago
Comment by kergonath 21 hours ago
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.
Comment by rramadass 17 hours ago
My previous comment with links - https://news.ycombinator.com/item?id=46372370
dang's links - https://news.ycombinator.com/item?id=46379975
Comment by throwaway85825 9 hours ago
Comment by phkahler 19 hours ago
Comment by mattjoyce 11 hours ago
Unusable internet.
Comment by trollbridge 19 hours ago
Comment by kens 17 hours ago
Comment by walthamstow 21 hours ago
Comment by andrewstuart 3 hours ago
Comment by swiftcoder 1 day ago
... do tech people really not know who Fabrice Bellard is?
He's kind of a household name in a lot of programming circles
Comment by edarchis 1 day ago
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.
Comment by WillAdams 21 hours ago
Welcome to that sub-group of the Lucky 10,000 today!
Comment by keyle 1 day ago
Comment by pantulis 1 day ago
Comment by mihaic 22 hours ago
Comment by theshrike79 1 day ago
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.
Comment by t-3 1 day ago
Comment by theshrike79 12 hours ago
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.
Comment by bonzini 1 day ago
Comment by theshrike79 1 day ago
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.
Comment by ryandrake 20 hours ago
Comment by mschuster91 15 hours ago
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, and last but not least antisemitism that continues even into modern works such as the shofar in Hogwarts Legacy [2].
I won't deny it, I enjoyed both the books and the movies, but it's ... not something I'd just hand over to my kids one day without having a serious talk with them beforehand. Back when I was young nobody cared too much (although I do member that at least in Germany, the goblins-jews analogy was discussed a bit), but nowadays...
[1] https://7news.com.au/entertainment/harry-potter-fans-call-ou...
[2] https://theconversation.com/how-hogwarts-legacy-video-game-r...
Comment by bigstrat2003 10 hours ago
Comment by mschuster91 10 hours ago
It was a pretty obvious thing for us Germans when the movie came out. Caricatures of Jews that were used in the time leading up to 1933 are taught and analyzed at schools here. Crooked noses, deal with money, hoard money... it's not that far away. There's a pretty good blog post with actual imagery, if you want to read further [1] - although I admit that JKR just used existing folklore as a foundation, just as with other elements of worldbuilding.
That shofar however, now that's intentional. HL came out many, many years after I read about the issue the first time. And 4chan, inevitably, immediately identified the goblins as jews.
[1] https://jewitches.com/blogs/blog/goblins-jews-and-antisemiti...
Comment by ryandrake 8 hours ago
Comment by swiftcoder 22 hours ago
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.
Comment by theshrike79 12 hours ago
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).
Comment by _zoltan_ 1 day ago
Comment by dgellow 1 day ago
Comment by AussieWog93 1 day ago
Comment by ninkendo 22 hours ago
Comment by konart 1 day ago
>programming circles
Well, not all tech people are part of some curcles I guess.
Comment by ErroneousBosh 1 day ago
Comment by pdpi 1 day ago
Comment by defrost 1 day ago
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.
Comment by a96 1 day ago
https://community.frame.work/t/framework-supporting-far-righ...
Comment by account42 1 day ago
Comment by a96 23 hours ago
Comment by jdsnape 1 day ago
Comment by Bigpet 1 day ago
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.
Comment by hdgvhicv 1 day ago
Comment by konart 1 day ago
I'm pretty sure most of the people who did "web stuff" at the time and used twitter (key point maybe) know him simply because you'd often see his tweets. Regardless of coutry (I'm from Russia, for exampl)
Comment by ErroneousBosh 1 day ago
I stand by that decision, for various reasons.
Not least being that "Why's Poignant Guide to Ruby" gave me the ick.
Comment by konart 1 day ago
Comment by swiftcoder 23 hours ago
Comment by lproven 21 hours ago
Comment by noufalibrahim 1 day ago
Comment by otabdeveloper4 1 day ago
Comment by _zoltan_ 1 day ago
Comment by pdpi 15 hours ago
(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!)
Comment by ErroneousBosh 1 day ago
Comment by DonHopkins 23 hours ago
Comment by ErroneousBosh 19 hours ago
We know it's not you.
Comment by RicoElectrico 22 hours ago
- 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.
Comment by bananaflag 1 day ago
Comment by Shish2k 19 hours ago
Comment by alecco 18 hours ago
Comment by asxndu 1 day ago
Comment by cubefox 13 hours ago
Comment by asxndu 9 hours ago
Comment by wiseowise 1 day ago
Comment by jdw64 1 day ago
Comment by alecco 1 day ago
Comment by smallstepforman 1 day ago
Simple as that.
Comment by vidarh 21 hours ago
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.
Comment by ldargin 16 hours ago
Comment by ivanjermakov 1 day ago
Comment by EugeneOZ 1 day ago
Comment by megous 11 hours ago
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.
Comment by miroljub 12 hours ago
Comment by DoneWithAllThat 12 hours ago
Comment by Keyframe 20 hours ago
Comment by deltarholamda 20 hours ago
Comment by hamburgererror 1 day ago
> 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...
Comment by grokys 1 day ago
Comment by circus1540 1 day ago
Comment by st_goliath 1 day ago
Comment by sph 22 hours ago
Comment by latexr 1 day ago
Comment by infofarmer 1 day ago
Comment by rramadass 16 hours ago
"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.
Comment by nerdsniper 19 hours ago
Comment by nixon_why69 18 hours ago
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.
Comment by nerdsniper 17 hours ago
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”:
Comment by nixon_why69 17 hours ago
A schlub like me probably wouldn't, and I recognize the advantages I've had, but your quote was about Einsteins.
Comment by d4rkp4ttern 17 hours ago
Comment by nixon_why69 17 hours ago
Comment by energy123 18 hours ago
Comment by AndrewKemendo 17 hours ago
Ritchie, Knuth, Notch, Carmack, Dean etc… these are like the Mount Rushmore of writing code and I think that era is over.
Comment by spwa4 21 hours ago
Comment by rcastellotti 1 day ago
Comment by stock_toaster 1 day ago
Comment by ErroneousBosh 1 day ago
Comment by tjpnz 1 day ago
>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?
Comment by Tade0 1 day ago
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.
Comment by thibaut_barrere 1 day ago
Comment by u1hcw9nx 1 day ago
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.
Comment by gitanovic 1 day ago
Comment by dofm 1 day ago
Comment by croes 1 day ago
Comment by ErroneousBosh 1 day ago
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.
Comment by te_chris 22 hours ago
Comment by latexr 1 day ago
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”.
Comment by menaerus 1 day ago
Comment by Capricorn2481 15 hours ago
Comment by menaerus 2 hours ago
Comment by latexr 18 hours ago
Comment by shevy-java 1 day ago
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.
Comment by streaming 14 hours ago
Comment by 123sereusername 17 hours ago
Comment by huflungdung 1 day ago
Comment by willXare 14 hours ago
Comment by ergl 22 hours ago
Comment by thunderbong 22 hours ago
Comment by stymaar 21 hours ago
Comment by self_awareness 1 day ago
Carmack's "almost certainly" doesn't look good here.
Comment by dude250711 23 hours ago
Comment by kergonath 21 hours ago
Comment by self_awareness 23 hours ago
Comment by j3th9n 23 hours ago
Comment by throwa356262 23 hours ago
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.
Comment by root-parent 17 hours ago