Given that it is easy to feed FFMPEG arbitrary input to exploit any vulnerability, popular codecs are very likely to be already secure enough, while unpopular ones are far more dangerous and deserve more attention. It can be assumed that an attacker would target the worst, easiest to exploit codec they can find in the whole of FFMPEG.
It is usually possible to design a representation where cows and pigs are the same thing, either Animal class instances or equally unified other data structures, and their differences are data (e.g. weight, length, one of several colour patterns).
> start incorporating DUP and OVER and ROT and PICK and friends
If one understands adding and consuming values at the top of the stack, putting the stack in the state you want it is certainly a small logical step without new theoretical baggage.
Word definitions and the accompanying pointer tricks are more likely to be challenging.
The stack is functionally very simple, but keeping a mental model of what exactly is on it at each point in your code and how to transform it to perform the calculations you need can be tricky.
I certainly don't know "what my program does" if it's a game where, at every frame of the simulation, thousands of entities might or might not be created, deleted and recycled depending on player inputs.
Can you describe a superior replacement for generation counters?
If you don't know what your program does, DOD asserts that you are a bad programmer and you should first figure out what your program does before continuing.
Sounds like you're writing a game engine, not a game?
You don't seem to grasp that handling individual entity state has a cost that has to be minimized and amortized.
A generation counter offers a good deal in many common cases: for the fixed small cost of incrementing the generation counter when an entity ID is assigned a trivial test, also fixed cost, can disambiguate successively recycled entities that share the same number and tell which one is current.
This adds up to work proportional to the number of distinct entities plus, assuming obsolete references are eliminated, work proportional to the number of references to entities, which is clearly very good.
Do you recommend a different way to solve the same problem? There is at least one obvious one.
Focus on formal verification is a technique to "harden" an unreliable LLM that produces meaningless slop from arbitrary text into a compiler that produces a correct program from a concise, formal input.
"Writing formal specs" means simply programming, taking a step upward in programming language abstraction level, and whether it's going to be easy remains to be seen.
> It seems like many ‘vibe coders’ don’t realize that they don’t actually have a community around them.
This is not about demanding a community, as the article argues about at great length: it's only a polite way to say that many ‘vibe coders’ are annoying, negative net value assholes. Community would ensure that they are not aberrant lone wolves.
> many ‘vibe coders’ are annoying, negative net value assholes
Where on Earth does this sentiment come from? I've had people make AI contributions to my open-source projects and while they may be perhaps less technical on average they're every bit as well intentioned - possibly moreso since they're interested in improving the project rather than establishing a little fiefdom.
using AI is not vibe coding. the difference is whether a developer takes responsibility and the according measures before releasing/contributing or not.
I agree with the distinction between using a LLM as a tool to make personal contributions to healthy projects and expecting Codeberg to host arbitrary slop, but I'm afraid you are assuming good faith.
The "developer" could be a bot, or a tool-assisted criminal or activist, and they might be using LLMs to enhance their ability to add stealthy malware, plant patent or copyright violations, impose not quite shared technical choices, and so on.
Many open source projects ban AI contributions just because they are an efficiently low effort way to waste the time of the actual maintainers.
yes, but as freedom of expression allows 'assholes' to say whatever they want, free software also allows 'assholes' to develop whatever they want - and limiting it while position itself as the lighthouse of freedom makes Codeberg people the actual assholes
Freedom of expression does not mean my non-profit has to spend its resources to give you a platform. I'm not a member of Codeberg eV, but i strongly approve their decision. We need more hosts with a mission, especially when it comes to AI and promoting human-crafted resources.
I feel that decades of dumping by VC and advertisement supported platforms have really lead to massive entitlement. People really feel that they should have full right to use any amount of "free" resources for anything. Even if they are the only ones using it.
For resource limited platform selecting their focus is just right. It would be like running food bank in some extremely rich neighbourhood. And people living there complaining of not getting caviar and Japanese wagyu...
We've gotten used to stuff like GitHub just existing, the same way Windows (up to XP) just exists. If you have a Windows XP computer it keeps working indefinitely. Corporations dumping taught us to expect the same with online services that need constant maintenance.
Freedom of expression, as defined in the US, sure. But not everybody in the internet shares the definition.
E.g. as a European my idea of freedom of speech is not limited to the things I am allowed to say, but also about whether spaces exist in which I can say them. US style freedom of speech, doesn't produce any more insightful or free discourse than over here. In fact I'd argue it produces a discourse where voices win that are the loudest, most outrageous and least respectful, while voices that are more reasonable are frightened away.
It is the same thing that happens if a state gives up her monopoly of violence: The strongest dominate, while the weaker, more peaceful ones suffer.
Freedom is not just the freedom to do X, it is also the freedom of not having X done to you, as well as the freedom of living in a space where doing X is actually possible.
This means a free society does not have to endure all voices, especially those that aim at harming others or have the goal of using freedom of speech to get rid of the free society. Don't like the rules of a free society? Then you don't get to easily claim the protections granted by one. You can't whine to the referee if your goal is to get rid of the referee — I mean you could, but that would be pathetic.
Free speech in the US is about protecting citizens freedom from government harm for their speech. That's all. We can agree government shouldn't punish their citizens for their speech?
No we can't. Because my opinion is that a government should punish speech in certain cases, e.g. speech that is against the human dignity of other people or speech that is dangerous (e.g. yelling "Fire!" in a crowded theatre.
We delegate these rules to governments to secure the individuals rights to life, liberty, and happiness (as your declaration of independence so wonderfully puts), not because we want to allow shitheads to allow to shittalk. This is just a side-effect we all have to endure, because we don't want governments to police all speech.
That means also in the US not everything you could say goes unpunished by the government, especially if you're not white, male and christian. Remember, the police is part of the government and if they can shoot you because they thought they have seen a gun, they can also shoot you because of what you said.
On top of that we, collectively, form governments for (among others) the purpose of protecting each others speech, not just from governments, but from each other, from our bosses, coorporations, from the police. That means, we collectively, use the government as a governing body tho whom we delegated certain powers. Where to draw the line is different in different regions of the earth. For example the female nipple printed in many European newspapers would not be protected speech in the US for puritan religious reasons.
C++ is in the transitional phase where major bad things are being taken away very satisfactorily, usually by providing a simpler and more general replacement (for example, auto instead of long and pointless type declarations or modern initialization protecting against implicit conversions and surprise constructor overloads), but most progress of elegance and grace come from new features that enable something traditionally terrible or impossible (for example the gradual generalization of templates, culminating with concepts, the gradual extension of constexpr, consteval etc, and the new reflection).
Unable to be willing.
The combination of not knowing any better, political parties and media that don't care or exert a contrary pressure because they belong to billionaires, and powerful health sector businesses appears to be very effective.
The odds are stacked, but everyone still has free will and can choose to question what they’ve been told (especially what they’ve been told conflicts with what they can see with their own eyes).
reply