• 0 Posts
  • 13 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle

  • Using memory efficiently can give you a 10-100x win.

    Yes, it can. But why is this exclusive to assembly? What are you planning to do with your memory use in assembly that is not achievable in C++ or other languages? Memory optimizations are largely about data structures and access patterns. This is available to you in C++.

    Also, if you don’t want 90% of the craziness of C++ then why not just code in C++ without 90% of the craziness? As far as I know what’s what a lot of performance-critical projects do. They operate with a feature whitelist/blacklist. Don’t tell me you have the discipline to work entirely in assembly and the knowledge to beat the compiler at the low level stuff that is not available to you in C++ but you can’t manage avoiding the costly abstractions.

    I think it speaks volumes how rarely you hear about programs being programmed in assembly. It’s always this one game and never any meaningful way to prove that it would gain performance by not being written in C++ when using a modern compiler.




  • For anyone stumbling onto this who actually wants to be educated, the science has practically unanimously agreed that climate change is mainly caused by human activity. No expert is unaware of the cycles that temporarily affect climate. They are well studied, modeled, and found to pale in comparison to human-made climate change. You can find comparisons between human and natural drivers, with sources from expert organizations and scientific studies, here and here. Funnily enough, the NOAA, which this commenter used as a source for El Niño and La Niña below, also hosts this article which literally starts by linking to a page that points out how climate change is mostly caused by humans.






  • I’ve gamed on Linux for the past 5 years. If you use Steam, most stuff works out of the box after you enable a single setting. Now that the linux gaming community is growing it’s easier to find workarounds for the games that don’t work. The only games that are hopelessly broken right now are games with intrusive anti-cheats that don’t support Linux. You can head over to protondb.com and check compatibility status for your games, including workarounds when necessary.

    If you don’t use Steam, then I’m not sure. Last time I played non-Steam games there was more troubleshooting and tweaking required but it’s been a couple of years and I don’t know the current state. It’s worth noting that Valve’s compatibility layer, Proton, is open-source and based on other open-source projects. There’s work currently being done to port the functionality outside of Steam. Hopefully, this will mean that in the future all launchers will behave similarly.

    But that’s just the software side of things. Don’t forget to check how your hardware works on Linux as well.



  • Essentially ULWGL will allow you to run your non-steam games using Proton, Proton-GE, or other Proton forks using the same pressure vessel containerization and runtime that Valve use to run games with Proton

    This is the crucial piece of information. In less technical terms: Proton is designed to run in a very specific environment and it might be incompatible with your system. Steam runs Proton inside a bubble so that it interacts less with your system and so the incompatibilities don’t become a problem. ULWGL aims to create the same bubble so it’s the correct way to run proton.


  • So help me out here, what am I missing?

    You’re forgetting that not all outcomes are equal. You’re just comparing the probability of winning vs the probability of losing. But when you lose you lose much bigger. If you calculate the expected outcome you will find that it is negative by design. Intuitively, that means that if you do this strategy, the one time you will lose will cost you more than the money you made all the other times where you won.

    I’ll give you a short example so that we can calculate the probabilities relatively easily. We make the following assumptions:

    • You have $13, which means you can only make 3 bets: $1, $3, $9
    • The roulette has a single 0. This is the best case scenario. So there are 37 numbers and only 18 of them are red This gives red a 18/37 to win. The zero is why the math always works out in the casino’s favor
    • You will play until you win once or until you lose all your money.

    So how do we calculate the expected outcome? These outcomes are mutually exclusive, so if we can define the (expected gain * probability) of each one, we can sum them together. So let’s see what the outcomes are:

    • You win on the first bet. Gain: $1. Probability: 18/37.
    • You win on the second bet. Gain: $2. Probability: 19/37 * 18/37 (lose once, then win once).
    • You win on the third bet. Gain: $4. Probability: (19/37) ^ 2 * 18/37 (lose twice, then win once).
    • You lose all three bets. Gain: -$13. Probability: (19/37) ^ 3 (lose three times).

    So the expected outcome for you is:

    $1 * (18/37) + 2 * (19/37 * 18/37) + … = -$0.1328…

    So you lose a bit more than $0.13 on average. Notice how the probabilities of winning $1 or $2 are much higher than the probability of losing $13, but the amount you lose is much bigger.

    Others have mentioned betting limits as a reason you can’t do this. That’s wrong. There is no winning strategy. The casino always wins given enough bets. Betting limits just keep the short-term losses under control, making the business more predictable.