I haven't bailed yet, but your problems is par for the course in C++. The only saving grace is libraries with simple/modern CMake rules, which is not always available. A typical offender is protobuf, which is really hard to statically link correctly on MinGW. Libraries that never graduate from custom makefiles are the worst offenders. With Automake being just barely above that again.
It is the biggest problem with C++ right now. We can't have nice things (no networking in the stdlib), and we also can't have nice packages (no networking in $pkg), so we end up with whatever appears on search for site:github.com and C++ whatever. It's really not that great. The only tradeoff is we really care about our deps, and won't pull in the world. So we're harder to target for supply chain attacks.
You shouldn't be waiting 20mins for CI builds though, unless you have a massive codebase and 10 platforms to build for. If you're making a Godot addon for every platform, I get it. I have that issue. But the 20mins are down from 50mins without ccache. Ccache is ~5 lines in the GA yaml.
That's cool! I do have a habit of writing ELF post-processors as a part of the CMake build system I inevitably end up writing. There's a handy POST_BUILD you can attach to programs which I use very often for things like execute-only (XO) and apparently also to rewrite function entries for functions I can't --wrap.
chperm can change the permissions of a segment to just execute, instead of read+execute. Of course, you will need a custom linker script because the default linker scripts will merge .text and read-only data to save space.
Currently, I'm battling a Rust program that has a built-in function called __memcmpeq, which isn't a global, so I can't --wrap it.
ELF patching is a last resort! We do have some really awful Python ELF patching in the RP2350 ROM build to implement a missing relocation for 16-bit pointers in `movw` instructions, which also saves a ton of space.
I remember when the C++ subreddit got depressing after the memory-safety debacle. I wrote in plain-text that it's not about memory-safety and it never will be. C and C++ has a major problem: Managing large projects with multiple dependencies is horrible, and integration is horrible, and all the work-arounds and special features (like precompiled headers) all have problems, footguns. There is no end to the complexity of managing a large C++ project, for example.
I know this because I manage several. To this day, building on Windows is a chore and a half, and I consider my build process to be barely working, and it will one day break simply because the packages I depend on will have some new dependency. As a very recent example is protobuf suddenly depending on parts of abseil.
Memory safety is that extra thing that makes the decision easier.
As for Rust, there are problems too, but to a much smaller degree. As an example, compiling for RISC-V requires a cross-compiler (or at least the linker). Cross-compiling to RISC-V with Go does not.
A final anecdote at the end: I recently added support for Common Access Token in a Rust project, and it was exactly as easy as I thought it would be. I'm not much of a Rust programmer, but I cannot express strongly enough just how big of a difference this makes to productivity. In C++ land we sort of ended up agreeing to never agree on how to get proper networking. It's absurd.
Sure, when you frame the question as, "do you support these measures to ensure children don't have access to pornography?", of course people are going to support it.
Present evidence that the new laws will be a danger to their fundamental rights and maybe you won't get quite as much support.
Also, that survey shows that there's broad support even though the same people don't believe the new laws will be effective. So... that's pretty stupid.
Do you know how the GoG version handles achievements? I'm very used to the Steam achievement system, but obviously that's not an option when you're not using Steam.
Hollow Knight had an internal achievement tracker so it will likely be the same for Silksong. You could even unlock achievements on other platforms by porting your save file over.
I guess, but linux/arm64 specific bugs can and do happen. For my open source projects I offer builds for arm64 and others because, well, why not? I don't test it and I can't really test it (outside of qemu, I guess) and if it doesn't work then that's your problem to at least debug and probably fix too. But that attitude doesn't really work for a commercial game.
The best way (anecdotally) for me has been to not understand the subject matter at all, and just work work work on something until it's near completion. At that point understanding the subject matter is much easier, and you can compare it to your own understanding and work. Many times I've since improved my work from subject matter because other people have had great ideas that stood the test of time, and very occasionally my work has created a new frontier without me really understanding it at the time. Still, revolutionary ideas are not always something that can be turned into a business. Funnily, I see many business ideas are just gluing things together, and I don't think anyone is really upset about that.
As you said though, sometimes you have to go the wrong way (knowingly or unknowingly) just to see what's there or if there aren't missed opportunities. Heavily established (sub-)fields can be very rigid and hard to find new ground in.
Japan's population was 44 million in 1900, it is 123 million now.
South Korea's population was 25 million in 1960, it is 54 million now.
We need to stop going over the top with claims of "population collapse". The 20th century to this day was abnormal at historical scale in that human population exploded like never before, and perhaps like never again and probably for the best considering how we have brought the planet to its knees.
South Korea's birth rate is 0.7, which means for every 100 grandparents there will be only 12 grandchildren if things don't change. At the current pace, the South Korean population will be 32 million in 2075 and 11 million in 2125, and most of the people alive will be old. That's nearly as massive a change in the opposite direction as the drop in childhood mortality in the 20th century.
Extrapolations over a century into the future are worthless.
We need to embrace and adapt to a decrease in population because the explosion that has happened is unsustainable and so are current global population levels. That's the best, if not only, way to both get rid of poverty globally and to preserve the climate and environment.
This does not mean that population should or will collapse to extra low levels...
>> Extrapolations over a century into the future are worthless.
Its just math showing the trend and it's not worthless as it should give you something to think about.
>> We need to embrace and adapt to a decrease in population
Of course, but it will be painful.
>> That's the best, if not only, way to both get rid of poverty globally and to preserve the climate and environment.
That simple math, which you deem worthless also tells you this is impossible. There will be a small number of young active people having to support a big group of elderly. They will not have the time to solve world problems. In fact a lot of knowledge will be lost as economy will contract and there will be less people available for specialization.
I don't know what point are trying to make, beside being sarcastic. Knowing that each succeeding generation will be a 1/3 of the previous one has huge influence on how to prepare a society to function when population pyramid will be so inverted.
If they don't change something drastically this is exactly what will happen according to science. It's like there is a comet on course with Earth, but you are saying, knowing it would be meaningless because something might change it's path. I still don't know what your point is.
According to science, the only thing that can change the second derivative of population is public policy? What has caused changes in this number throughout history?
The debate would go much nicer if you could just explain your point of view, which I kindly asked you twice now. Instead you are asking me what I assume are rhetorical questions from your perspective.
My point of view is that it is not useful at all to carry out predictions assuming that the second derivative of population will stay constant for a long time and that it is even sillier to propose public policy based on this.
By that logic we should not act upon anything. E.g. if a car is accelerating towards you while you are crossing the road it would be prudent to speed up or delay your crossing and not to ignore it and say they will surely decelerate at any moment now.
It is not impossible. It is going to happen and it is unavoidable. Even with a constant population this will happen if people live long.
We need to embrace this and use existing and new technologies to cope. We have AI, automation, robots progressing fast, this is exactly what we need in addition to investing in education.
The alternative is to keep pushing for an ever growing population and to end up in Soylent Green / Blade Runner.
>> It is not impossible. It is going to happen and it is unavoidable.
Based on history it hasn't happened. How do you know it's going to?
>>The alternative is to keep pushing for an ever growing population and to end up in Soylent Green / Blade Runner.
That is absolutely not the only alternative. One would be to have a stable population at the current size. Another on would be decreasing population slowly and not as drastically as it will happen in Korea. A third one would be growing it slowly. The fourth one would be oscillating around the current size, etc.
Yeah it is baffling to me that people are already on the "we are doomed" phase for this.
50 years ago people were saying "we are doomed" because of overpopulation. We had people saying that the optimal number of humans on the planet was just one billion and that we had to engage in extreme measures of international oppression to force as much of the unavoidable starvation on certain populations and not others. Now we are seeing "the world is doomed" because of underpopulation (despite the fact that the world population is still growing) and we are starting to see the proposed extreme measures of rolling back women's rights in order to address this.
Well the problem is people in retirement, caring only about size of their pension outnumbering working age people and effectively creating positive feedback for populist parties to constantly increase pensions despite the constantly shrinking working population and tax revenue.
This system can't work. This system is going to collapse. Just matter of time.
You miss the point - a larger population isn't necessarily good if most of them are not economically productive (i.e. don't have skilled working class). Are people supposed to work even in their old age, till they die?
I'm working on an addon for Godot called Godot Sandbox, and we're trying to also build it as a module. A module is embeddable into Godot, so that you can have only one executable be the whole game. Addons are dynamically loaded at run-time. It's been a lot of work, but integration is just as important as making the addon itself.
It is the biggest problem with C++ right now. We can't have nice things (no networking in the stdlib), and we also can't have nice packages (no networking in $pkg), so we end up with whatever appears on search for site:github.com and C++ whatever. It's really not that great. The only tradeoff is we really care about our deps, and won't pull in the world. So we're harder to target for supply chain attacks.
You shouldn't be waiting 20mins for CI builds though, unless you have a massive codebase and 10 platforms to build for. If you're making a Godot addon for every platform, I get it. I have that issue. But the 20mins are down from 50mins without ccache. Ccache is ~5 lines in the GA yaml.