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

help-circle


  • The packager always should “explicitly require” what are the dependencies in a Nix package… it’s not like it’s a choice, if there are missing dependencies then that’d be a bug.

    If the package is not declaring its dependencies properly then it might not run properly in NixOS, since there are no “system libraries” in that OS other than the ones that were installed from Nix packages.

    And one of its advantages over AppImages is that instead of bundling everything together causing redundancies and inefficient use of resources, you actually have shared libraries with Nix (not the system ones, but Nix dependencies). If you have multiple AppImages that bundle the same libraries you can end up having the exact same version of the library installed multiple times (or loaded in memory, when running). Appimages do not scale, you would be wasting a lot of resources if you were to make heavy use of them, whereas with Nix you can run an entire OS built with Nix packages.




  • Flatpak still depends on runtimes though, I have a few different runtimes I had to install just because of one or two flatpaks that required them (like for example I have both the gnome and kde flatpak runtimes, despite not running either of those desktop environments)… and they can depend on specific versions of runtimes too! I remember one time flatpak recommended me to uninstall one flatpak program I had because it depended on a deprecated runtime that was no longer supported.

    Also, some flatpaks can depend on another flatpak, like how for Godot they are preparing a “parent” flatpak (I don’t remember the terminology) that godot games can depend on in order to reduce redundancies when having multiple godot games installed.

    Because of those things, you are still likely to require a flatpak remote configured and an internet connection when you install a flatpak. It’s not really a fully self contained thing.

    Appimages are more self contained… but even those might make assumptions on what libraries the system might have, which makes them not as universal as they might seem. That or the file needs to be really big, unnecessarily so. Usually, a combination or compromise between both problems, at the discretion of the dev doing the packaging.

    The advantage with Nix is that it’s more efficient with the users space (because it makes sure you don’t get the exact same version of a library installed twice), while making it impossible to have a dependency conflict regardless of how old or new is what you wanna install (which is something the package manager from your typical distro can’t do).


  • Ferk@kbin.socialtoProgramming@programming.devApple Wants To Kill PWAs
    link
    fedilink
    arrow-up
    2
    arrow-down
    6
    ·
    edit-2
    9 months ago

    It’s also not that uncommon of an acronym in web tech, all the first results when searching “PWA” are consistent and it’s a very common way to refer to that technology. The term PWA has made the news in tech channels a few times before (like when Firefox discontinued support for PWA on desktop).

    Even if they said “Progressive Web Apps” it would not have been immediatelly clear what that means for anyone who is not familiar with what PWA is. It’s also not the only acronym they use in the article without explaining it (eg. “API”, or “iOS” which is also an acronym on itself), it just so happens that it’s likely not a well known one in this particular lemmy community where the article was posted. The author advertises himself as a writer dedicated to web technologies (PWA and Web Component in particular), so it would be silly if he has to explain what those are on every of his posts.


  • Ferk@kbin.socialtoProgrammer Humor@programming.devWhitespace
    link
    fedilink
    arrow-up
    12
    arrow-down
    1
    ·
    edit-2
    9 months ago

    But C syntax clearly hints to int *p being the expected format.

    Otherwise you would only need to do int* p, q to declare two pointers… however doing that only declares p as pointer. You are actually required to type * in front of each variable name intended to hold a pointer in the declaration: int *p, *q;




  • it’s even ISO standardized

    Not only are there other ones that are also ISO standards when it comes to software layouts, but funny enough, when it comes to physical layouts, US keyboards normally follow an ANSI standard (not an ISO one), whereas many non-US keyboards typically follow a physical key layout known as “ISO Keyboard”, so one could argue those are more of an “ISO” standard.

    https://upload.wikimedia.org/wikipedia/commons/b/b2/Physical_keyboard_layouts_comparison_ANSI_ISO_KS_ABNT_JIS.png

    right ctrl + left shift + 9 will do?

    No keyboard layout uses ctrl like that… in fact, I don’t think you ever really need to press more than one modifier in any standard non-US keyboard. Unless you have a very advanced custom layout with fancy extra glyphs… but definitelly not for the typical programming symbols.

    ISO keyboards actually have one more key and one more modifier (“AltGr”, which is different from “Alt”) than the ANSI keyboards.

    In fact, depending on the symbol it might be easier in some cases. No need to press “shift” or anything for a # or a + in a German QWERTZ keyboard, unlike in the US one. Though of course for some other ones (like = or \) you might need to press 1 modifier… but never more than 1, so it isn’t any harder than doing a ) or a _ in the US layout.


  • Ferk@kbin.socialtoProgrammer Humor@programming.devifn't
    link
    fedilink
    arrow-up
    17
    ·
    edit-2
    10 months ago

    Yes… how is “reducing exclamation marks” a good thing when you do it by adding a ' (not to be confused with , ´,or’` …which are all different characters).

    Does this rely on the assumption that everyone uses a US QWERTY keyboard where ! happens to be slightly more inconvenient than typing '?




  • coders revealed to 404 Media that “some of Kirsina’s Instagram posts are word-for-word copies of Sizovs’ LinkedIn posts, sometimes published more than a year later.” In addition, “some of the images [Kirsina] posted on Instagram show computer monitors with code that show her logged in under Sizovs’ name.” But perhaps most striking is the fact that an administrator told 404 Media that both Sizovs’ and Kirsina’s accounts were banned “multiple times” by the Lobste.rs coding forum for “sockpuppeting”—using a false identity to deceive others—in 2019 and 2020.

    Lol… for reference, this is the twitter account: https://nitter.net/UnicornCoding

    It’s full of advertisements about the DevTernity conference… as does the instagram, which has so many professional-looking photos that feel like she was an actual model, always with different backgrounds. Is the laptop wirelessly streaming to the ultrawide screen in her Twitter profile picture? because I see no cables, she’s not even connected to a charger, how long of a coding session can you have like that?


  • Ideally, it would be a P2P protocol where the main seeder is either the content creator directly, or a service paid by the content creator (who is funded by their audience and/or sponsors).

    I believe there are many podcasts that work somewhat like that (minus the P2P part, they just simply use RSS). Some hosting services have features to insert ads into the audio podcast being hosted… so the content creators still can choose to do that if they want, but the advantage is that there’s isn’t a monopoly for a single hosting provider and you can access the podcasts from many different podcast apps without needing to rely on a specific website and company that decides how you can watch it.


  • It’s also kinda annoying to have a history full of “merge” commits polluting the commit messages and an entwined mix of parallel branches crossing each other at every merge all over the timeline. Rebasing makes things so much cleaner, keeping the branches separate until a proper merge is needed once the branch is ready.