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

help-circle
  • The MSP430 is just the chip I happen to use at work, if you’re not convinced you could try looking for an actual ultra low power chip, I found the STM32U0 at 70uA/MHz and the STM32U5 at 16uA/MHz in the first result.

    Even ignoring selecting a more efficient micro, a smattering of tiny ceramic caps will buy you a few hundred microjoules for bursts. If you’re already operating at 2V you can get a 6V rated 100uF cap in a 1210 package - and that’s after considering the capacitance drop with DC biasing. Each one of those would buy you 200 microjoules, even just one ought to be plenty to wake up for a few tens of milliseconds every second to get a reading from some onboard peripheral (as an example) then go to sleep again.

    For sure, you’re not going to be doing any heavy lifting and external peripherals could be tricky, but there are certainly embedded sensor use cases where this could be sufficient.



  • GTA online took ages to load, like 10+ minutes on some machines. One guy got really annoyed and investigated. It turned out to be loading a single 10MB JSON file in an incredibly inefficient manner. The JSON file contains about 60,000 items and they need to extract each item from it, but every time they look for the next item they start from the beginning of the file again, despite already knowing where they found the previous item! All the entries in the JSON list are unique, but the code also checks for any duplicate entries, of course it’s also done in the least efficient way possible requiring 1,984,531,500 comparisons for something that has no effect. Not only did this one person find these problems but he also implemented a fix that reduced load times by 70% as a result, shaving off more than 7 minutes of load times for some machines. The fact that Rockstar didn’t notice this is frankly shocking and speaks to the fact that they really just don’t care.

    https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by-70/


  • People have made distro recomendations already, so I want to talk a bit about what makes a distro a distro: application repositories and management, update cadence, and what’s installed by default. That’s pretty much it. Anything else can likely be transplanted from distro to distro.

    Out of the default applications by far the most important is the desktop environment. Have a look at Gnome, KDE (and others, cinnamon, etc.). Pick something you like the look of. Gnome is known to be closer to Mac styling and sentiments, including the our-way-or-the-highway philosophy, limited customisability in the name of consistency, etc… KDE is the ‘we heard you like customisation so we put customisations on your customisations’ kind of environment.

    Update cadence really boils down to one of two things - do you want a new OS version every few months where the distro maintainers manually release a bunch of software all tested together (e.g. Debian, Ubuntu, Fedora), or do you want each application released individually after it’s been tested to work with everything else (Arch)? Note that the former are sometimes called ‘stable’ releases but not because they are less likely to crash, but because there are simply fewer updates. The latter are called ‘rolling’ releases.

    The application management philosophies are a lot harder to nail down, especially as a newbie. You will probably just have to accept that the first distro you try will likely not be the one you settle on. For instance I started with Ubuntu until I got fed up how difficult it was to install anything not found in the main repository (a surprising amount of software): In Debian-based distros (like Ubuntu) unofficial software is fragmented across thousands of ‘personal’ repositories that you must manually add URLs and signing keys for, it feels very clunky. Because they are personal respositories it’s easy for the owner to abandon it or just not push updates and you won’t even notice until it breaks after a system update. Once I had some Linux experience under my belt I found the Arch repository style much easier to work with: One central official repository, and one ‘unofficial’ repository. I’ve heard Fedora has a similar system.

    But the single most important piece of advice - just pick something. The great thing about Linux is it makes hopping distros easy: A package manager makes it trivial to export a list of installed programs so you can reinstall them on your next distro. You won’t be enslaved to a distro once you decide, so just pick something and use it for a bit. Learn what you like and what you don’t. Use that to decide on your next pick.