• 0 Posts
  • 9 Comments
Joined 3 months ago
cake
Cake day: August 15th, 2024

help-circle

  • The two apps are identical and built from the same codebase anyway. K-9 is just a branding asset swap.

    I’ve seen conflicting info from Thunderbird devs on how long they actually intend to keep both branding packages active. I’ve heard no longer than a year. I’ve heard only as long as it takes to get Thunderbird out of beta. I’ve heard they have some sort of agreement with FDroid that obligates them to keep it listed for some minimum duration of time (???). I’ve most recently heard indefinitely, because their build script is just a toggle now and it costs them nothing. Which one do I believe? I have no idea. I doubt K-9 will be kept around in perpetuity, though.


  • Art supplies were historically not cheap. If you wanted to do this for a living, you were probably needing to aim for selling your art to the rich upper class. That implicitly meant catering to their fickle tastes and working on commission. You didn’t make art for you and find your audience later, you made art for the customers you had or you starved.

    And to put it bluntly, realism wasn’t the fashionable hotness for most of human history. The more “crude” styles you may think of as objectively inferior to and less technically impressive as realism were in fact the styles in demand at their respective times. Fashion existed in ancient and medeival times just like it does today, and those styles were the fashion.

    The idea of the independent eccentric artist who lives secluded in their ideas cave producing masterpieces for no one in particular leaving the world in awe at their genius every time they come out with something to show is a very modern concept. If any artist wanted to make a realism painting in an era where it was not popular, they’d be doing it purely for themselves at their own expense. So virtually no one did. Or if they did, their works largely didn’t survive.


  • I don’t think the existence of large instances is in itself strictly antithetical to decentralization. The network effect makes them inevitable.

    The power in the fediverse is everyone has a standard toolset to interact with the entire fediverse. Most people won’t, and that’s okay. The important thing is that, should larger communities become too oppresive as they gentrify, replacing them is a cheap decision, as you and everyone like-minded with you can squad up and leave at any time and lose nothing as the standard tooling of the platform facilitates that migration. You have mobility in the fediverse, and that permits choice to those who seek it.

    This will stop being true once the larger instances start augmenting their experiences with proprietary nonsense. Features that only work there, that you can invest into and become dependant on, that you’d have to give up if you leave.

    The day that happens will be the day that chunk of the Fediverse dies. Or, well, it won’t die, it will probably flourish and do very well. But it won’t be the Fediverse anymore. It will just be another knee-high-fence-gated community, that happens to run on Fediverse tech.


  • For anyone who was using K-9 wondering why Thunderbird looks no different, it’s because they aren’t different.

    They build both apps from the exact same codebase. Only difference between the two are the default color scheme, the branding icons, and the text strings of the application’s name. It’s literally just a choice of which brand skin you prefer.

    Which, honestly, kinda cool. A virtually zero-cost way to keep a few K-9 stans happy.


  • pixelscript@lemm.eetoProgrammer Humor@lemmy.mlComenting code
    link
    fedilink
    English
    arrow-up
    21
    ·
    edit-2
    1 month ago

    I recognize three kinds of comments that have different purposes.

    The first kind are doc block comments. These are the ones that appear above functions, classes, class properties, methods. They usually have a distinct syntax with tags, like:

    /*
     * A one-line description of this function's job.
     *
     * Extra details that get more specific about how to use this function correctly, if needed.
     *
     * @param {Type} param1
     * @param {Type} param2
     * returns {Type}
     */
    function aFunctionThatDoesAThing(param1, param2) {
        // ...
    }
    

    The primary thing this is used for is automatic documentation generators. You run a program that scans your codebase, looks for these special comments, and automatically builds a set of documentation that you could, say, publish directly to a website. IDEs can also use them for tooltip popups. Generally, you want to write these like the reader won’t have the actual code to read. Because they might not!

    The second kind is standalone comments. They take up one or more lines all to themselves. I look at these like warning signs. When there’s something about the upcoming chunk of code that doesn’t tell the whole story obviously by itself. Perhaps something like:

    /* The following code is written in a weird way on purpose.
    I tried doing <obvious way>, but it causes a weird bug.
    Please do not refactor it, it will break. */
    

    Sometimes it’s tempting to use a standalone comment to explain what dense, hard-to-read code is doing. But ideally, you’d want to shunt it off to a function named what it does instead, with a descriptive doc comment if you can’t cram it all into a short name. Alternatively, rewrite the code to be less confusing. If you literally need the chunk of code to be in its confusing form, because a less confusing way doesn’t exist or doesn’t work, then this kind of comment explaining why is warranted.

    The last kind are inline comments. More or less the same use case as above, the only difference being they appear on the same line as code, usually at the very end of the line:

    dozen = 12 + 1; // one extra for the baker!
    

    In my opinion, these comments have the least reason to exist. Needing one tends to be a signal of a code smell, where the real answer is just rewriting the code to be clearer. They’re also a bit harder to spot, being shoved at the ends of lines. Especially true if you don’t enforce maximum line length rules in your codebase. But that’s mostly personal preference.

    There’s technically a fourth kind of comment: commented-out code. Where you select a chunk of code and convert it to a comment to “soft-delete” it, just in case you may want it later. I highly recommend against this. This is what version control software like Git is for. If you need it again, just roll back to it. Don’t leave it to rot in your codebase taking up space in your editor and being an eyesore.



  • pixelscript@lemm.eetoGaming@lemmy.mlNintendo files lawsuit against Palworld
    link
    fedilink
    English
    arrow-up
    21
    arrow-down
    7
    ·
    edit-2
    2 months ago

    It’s speculated that the patent in question (or one of) is one that essentially protects the gameplay loop of Pokémon Legends Arceus.

    https://ipforce.jp/patent-jp-P_B1-7545191

    Running the first claim of the invention through Google Translate yields this massive run-on sentence description:

    The computer causes a player character in a virtual space to take a stance to release a capture item when a first category group including a plurality of types of capture items for capturing a field character placed on a field in a virtual space is selected based on an operation input of pressing an operation button, and causes a player character in the virtual space to take a stance to release the capture item when a second category group including a plurality of types of combat characters that engage in combat is selected, and determines an aiming direction in the virtual space based on a directional input, and further selects the capture item included in the first category group when the first category group is selected, and the combat character included in the second category group when the second category group is selected, based on an operation input using an operation button different from the operation button , and causes the player character in the virtual space to take a stance to release the capture item when a first category group including a plurality of types of capture items for capturing a field character placed on a field in a virtual space is selected, and determines an aiming direction in the virtual space based on an operation input using an operation button different from the operation button, A game program which, based on an operation input of releasing the operation button pressed when having the player character perform an action, has the player character perform an action of releasing the selected capture item in the aiming direction if the capture item is selected, and has the player character perform an action of releasing the selected combat character in the aiming direction if the combat character is selected, and when the capture item is released and hits the field character, makes a capture success determination as to whether the capture is successful, and when the capture success determination is judged to be positive, sets the field character hit by the capture item to a state where it is owned by the player, and when the combat character is released to a location where it can fight with the field character, starts a fight on the field between the combat character and the field character.

    Essentially, Nintendo has a patent on video games that involve throwing a capsule device at characters in a virtual space to capture them and initiate battle with them. In other words, they have a patent on the concept of Poké Balls (as they appear and function in Legends Arceus, specifically).

    Palworld has “Pal Spheres”, which are basically just Poké Balls with barely legally distinct naming.

    If this sounds like an unfairly broad thing for Nintendo to have a patent on, I’m not so sure I agree. It’s not like they’re trying to enforce a blanket patent on all creature collectors. Just the concept of characters physically throwing capsule devices at creatures.

    If you think about it, that’s kind of the one thing that sets Pokémon apart from others in the genre. If there’s anything to be protected, that’s it. It’s literally what Pokémon is named after–you put the monster in your pocket, using the capsule you threw at it.

    Palworld could have easily dodged this bullet. They claim they aren’t inspired by Pokémon, and that they’re instead inspired by Ark: Survival Evolved. Funny, then, that Ark doesn’t have throwable capsules, yet Palworld decided to add them. I’m not sure I buy their statement. And if this is indeed the patent being violated, I don’t think a court will buy it either.

    I’m not trying to be a Pokémon apologist here. I want Palworld to succeed and give Pokémon a run for its money. But looking at the evidence, it’s clear to me Pocketpair flew a little too close to the sun here. And they’re kind of idiots for it.

    I’m just surprised they aren’t getting nailed for the alleged blatant asset theft.


  • Emojis to me are like a strongly flavored seasoning. It’s only appropriate in specific contexts, and even in those contexts, just a pinch goes a long way. Too much and it can detract from the experience.

    Emojipasta is grossly overseasoned food. But that’s the point, obviously. It’s the emoji version of those white women on Tiktok who throw three pounds of ground beef wrapped around an entire block of cheese in a baking sheet full of milk and bake it in the oven for rage clicks.

    Me, personally, I usually don’t need emoji seasoning. I’m fine with it plain. Besides, most emojis to me have all the class of drowning your entire meal in ranch dressing. There are a very small handful of exceptions. But that’s just my lame opinion.

    And of the ones I do find theoretically useful, I’m always hesitant to use them, because emoji rendering is platform specific. They’re not quite like text, where the glyphs are entirely utilitarian and typeface it’s written in conveys little to no information. But with emojis, the subleties pile up. A thinking emoji rendered on a Windows PC isn’t quite the same as a thinking emoji on an iPhone, or various kinds of Android phones. Unless I’m on a platform like Twitter or Discord that forces all clients to use a single emoji set, I can never confidently send a precise emotion with an emoji.

    Platforms like Discord that let you create your own emojis instead of using the comparatively sterile, corporate-approved, general purpose set provided in standard Unicode is another story. I like those and use them extensively. If Lemmy natively supported a Discord-esque system where instances or communities could define custom emojis that didn’t rely on custom clients, plugins, or instance-specific rendering hacks, I’d use them all the time. Though this would, I presume, be to the extreme chagrin of many.