Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)KN
Posts
5
Comments
862
Joined
4 yr. ago

  • Ah, right, my interpretation is that as long as you don't need to touch the source code, you're good.

    But yeah, it's certainly not as clear cut. My pick would actually be Rust, because you can use it for pretty much everything, including web frontends via WebAssembly.
    However, in that case, you still write HTML+CSS, which technically may or may not be programming languages, and the DOM API is actually only documented in JavaScript. So, I wouldn't need to write JS, but would still want to read it...

  • Yeah, C libraries can be used in basically any mature language. It's just too useful to not have.

    And Rust, since it doesn't need a runtime, can emulate the format of C libraries.
    Rust libraries can also specifically target Python via https://pyo3.rs, but as I understand, this just does the C library format, plus a basic Python wrapper to make it nicer to use.

  • These exist in theory, but as a whole, I've never seen them working at even the base level of what you get in other languages.

    Adding type hints to your code is fucking exhausting, because there is no type inference.
    MyPy regularly calls it quits, when any library doesn't have type hints. PyCharm regularly doesn't properly auto-complete, because it doesn't have type information (if it can load your project correctly to begin with).
    Unit tests exist, yes, but you need 100% test coverage to make the language properly check all code paths. Without it, even just calling a library isn't guaranteed to work. In no fully statically typed language, would I recommend 100% test coverage, unless you have special correctness requirements.

  • Yeah, everything you said there is correct.

    If you want a somewhat more comprehensive definition:
    Funkwhale, Lemmy, Kbin (as well as Mastodon, PeerTube, PixelFed etc.) are pieces of software, which can be hosted on a server and which implement a communication protocol for the federation of social media content.

    If someone then takes such a piece of software and actually does host it on their server, then that's called an instance. Generally, they need to buy a domain name to do so, like "open.audio", "lemmy.world", "feddit.de" and so on.

  • You might be interested in Funkwhale instead.
    It's a more mature piece of software, it does federate and they've even put quite a bit of effort into podcasts.

    They have a flagship instance at open.audio, which only allows Creative Commons content (to avoid copyright issues when federating).
    So, as I understand, if your podcast is CC-licensed, they'd be happy to host yours.

  • In other words, in OCaml, you don't have to write type annotations into the function parameter list. It will infer even those.

    It's useful for small ad-hoc functions, but personally, I'm glad that Rust is more explicit here.

  • Yes, I was listing ways this could be solved without throwing out the baby with the bath water. For one, to point out that they really did actively choose the worst option.
    But also, because as a professional software developer, I'm sympathetic to needing to roll out updates, even if they're not security-relevant, since you can't perfect your code before shipping.

    Having said that, I do think, the professional/commercial software development model is terrible for such basic utility applications. Use an open-source application instead, where the hobbyist dev does have the time and passion to perfect the code before shipping it.

  • Well, either roll such updates out centrally, which Windows is capable of, I don't know why they don't use it here.

    Or make it an entirely optional download, where the user can decide when to download.

    Or just make the update process less shit. Don't block usage until the update is applied. And ideally just swap out the files in the background, although unfortunately that really isn't easily doable on Windows.

  • Apparently, that will arrive with Plasma 6.

    It says "Version Fixed In: 6.0” here: https://bugs.kde.org/show_bug.cgi?id=438883
    And the last comment in there, does also specify so.

    Apparently, this is now part of kdeplasma-addons, so this might be in a separate package, which may not be pre-installed by your distro. I really don't know, if it means anything, but Nate felt it worth mentioning here: https://pointieststick.com/2023/10/27/these-past-2-weeks-in-kde-wayland-color-management-the-desktop-cube-returns-and-optional-shadows-in-spectacle/

  • I use a SHIFT6mq with GApps-less LineageOS and only apps from F-Droid.

    And I do lots of things with it. Media consumption, email, web browsing, music, social media, RSS, messaging, note keeping, shopping list, navigation tool (map & public transport), ticket wallet, 2FA etc..

    I don't care to use proprietary services, so not having access to the respective apps is not a problem for me.

    Really, I'd want it to be even more open. Android has some real limitations to it, like no way to just quickly script something, and just generally, it disallows apps from doing lots of useful things, because it assumes apps to be malware.