• 0 Posts
  • 105 Comments
Joined 1 year ago
cake
Cake day: August 2nd, 2023

help-circle
  • Quetzalcutlass@lemmy.worldtoAsklemmy@lemmy.mlThe Best Lemmy Client
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    9 days ago

    The crash I referenced was caused by having the scrollbar enabled IIRC, and it was fixed earlier this year. It made it impossible to launch the main activity without crashing if you’d enabled that setting, so users were sharing workarounds to launch directly to the settings screen without loading any communities so they could disable it.


  • Quetzalcutlass@lemmy.worldtoAsklemmy@lemmy.mlThe Best Lemmy Client
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    7 days ago

    Sync has had serious issues in the past such as an easily triggered, reproducible, guaranteed crash on open, with the dev not putting out a fix for months. This neglect goes back several years, to back when Sync was a Reddit client. Most infamously he disappeared for over a year when his UI refresh wasn’t well received.

    The app is great (I’m only on Boost due to user tags requiring a paid subscription in Sync), but his response time to issues is glacial. And it doesn’t help that it’s by far the most expensive client if you want it ad-free, and features that used to be free now require an even more expensive subscription to use on top of that.






  • Null safety is orders of magnitude simpler than memory safety. Kotlin is a null safe language by default. Java is infamously not. Anyone who has worked on a mixed-language Kotlin project can tell you how quickly null safety becomes a pain once guarantees break down - and that’s in a language where these issues are flagged instantly and you can “fix” the problem in a couple of characters! Mixed memory safe/unsafe codebases would be a nightmare in comparison.

    Also, C++'s ecosystem consists of deeply entrenched libraries with ancient codebases. Safe C++ might be useful in a decade or two if library maintainers could be pushed to make the switch (good luck with that, if it’s half as much of a paradigm shift as Rust), but by then there will probably be multiple competing language features that claim to solve the same problem. It’s the C++ Way™.




  • Right, and they should have fixed them - especially since people literally put together wiki pages documenting every known bug in the game. But all Bethesda did was upgrade the engine a bit (make it 64-bit, add some new graphical effects, implement support for microtransactions) and release the same broken game again and again. The engine upgrades fixed a few crashes, but for some reason Bethesda refuses to patch logic errors in their Papyrus scripts (the code that controls the actual game content) even though those are way easier to fix than engine bugs.

    If asked, I’m sure they’d say it was to avoid breaking mod compatibility or something, which is kind of bullshit considering nearly every mod works with the unofficial patches that do what Bethesda refuses to. And they’ve been like this since the very beginning. Their studio is synonymous with bugs.

    It’s mind-boggling how they get away with putting such little care into their multi-billion dollar franchises.





  • The funny thing is the whole commercialization process started with one of the future partners messaging the project lead out of the blue on LinkedIn. I don’t know about you, but taking ideas from a random LinkedIn user doesn’t strike me as good business sense.

    Then again, getting something out of your years of unpaid volunteer work must be incredibly tempting, given how many open source projects have sold out over the years. At least it was to form an actual legitimate company this time, unlike when SuperSU (the Android root solution before Magisk came along) sold themselves to a scummy foreign ad company. That one still ranks as the all time top WTF sale.





  • I just updated to the newest Ubuntu LTS, which puts pip into system managed mode so you can’t easily install packages outside of a virtual environment anymore.

    If you (or anyone who stumbles upon this comment in the future) run into this problem, the new recommended way to install yt-dlp through pip and keep it in your path and up to date is via pipx (sudo apt install pipx). The syntax is a bit gnarly for pre-releases, so I figured I’d post an update:

    To install the nightly: pipx install --pip-args '\--pre' "yt-dlp[default,curl-cffi]"

    To update the nightly: pipx upgrade --pip-args '\--pre' yt-dlp

    I alias the update command and run it before every download session.

    (You may need to delete your old yt-dlp binaries before it’ll let you install the new one - use type -a yt-dlp to find them.)


  • The main problem with Java (or garbage collected languages in general) as a first language is needing to unlearn the bad habits it ingrains when you move to a systems programming language with manual memory management. Other than that it’s a pretty good first language, though I’d suggest learning a bit of C at the same time just to get a basic grip on things like pointers and stack vs heap.

    Edit: it occurs to me that C# would be the perfect learning language. It’s very similar to Java and an easy first language, but you’d also learn about stack allocation through structs, and can teach pointers using unsafe (though I think unsafe code is still GCed, so this wouldn’t help with the memory management side of things. Haven’t touched C# in fifteen years so I’m not sure how it works anymore).