Posted by apitman 13 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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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?
The description on his website is amusing: "The ts_zip utility can compress (and hopefully decompress) text files using a Large Language Model"
If the decompression is optional, I've got a really impressive compression algorithm in mind!
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.
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.
It has a full list of his projects.
Chronological or Alphabetical sorting would make more sense than importance.
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.
Why?
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.
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.
"Thou shalt not take the name of the Lord in vain". I apologise.
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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 .
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.
> 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
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.
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.
.. 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 ..
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
It's separate from striving for "beautiful" code, beauty within well-factored boundaries yields dimishing returns compared to just having the boundaries.
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 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.
But I can't guess what you meant.
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
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.
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...
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.
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.
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.
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.
> 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.
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).
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.
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.
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.
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.
https://www.ipaidia.gr/wp-content/uploads/2020/12/117-2020-f...
Also there's irony in the stark contrast between this x-article and the Bellard's own website.
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