velox_vulnus

joined 11 months ago
[–] [email protected] 0 points 2 weeks ago* (last edited 2 weeks ago) (3 children)

This is getting so tiring because I've mentioned it earlier too - section 13 of AGPLv3 and SSPLv1 have different scopes. Just read this article by ScyllaDB - this is with respect to MongoDB, which has a similar licensing model. If it were "really" open-source, then RedHat wouldn't have removed MongoDB from their "free" repositories.

[–] [email protected] 1 points 2 weeks ago* (last edited 2 weeks ago) (5 children)

Because it does not comply with the Open Source definition?

SSPL violates these two:

  1. No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

  1. License Must Not Restrict Other Software

The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open source software.

ELv2 violates these four:

  1. Free Redistribution

The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

  1. Derived Works

The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

  1. Integrity of The Author’s Source Code

The license may restrict source-code from being distributed in modified form only if the license allows the distribution of “patch files” with the source code for the purpose of modifying the program at build time. The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.

  1. No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

Simply putting in the AGPLv3 does not remove unfair restrictions. I mean, SSPLv1 is not compatible with AGPLv3.

[–] [email protected] 0 points 2 weeks ago* (last edited 2 weeks ago) (9 children)

What a deceptive, and contradictory statement to make, kek. The SSPL is AGPLv3 with Section 13 modified. The net-difference is just one section between personal and commercial use.

The SSPL is based on the GNU Affero General Public License (AGPL), with a modified Section 13 that requires that those making SSPL-licensed software available to third-parties (modified or not) as part of a "service" must release the source code for the entirety of the service, including without limitation all "management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code you make available", under the SSPL. The chapter structure of the Server Side Public License is identical to that to the AGPL, except that the GPL preamble and application instructions are stripped from the license text.

And meanwhile, have a look at the Elastic License 2.0:

The Elastic License 2.0 applies to our distribution and the source code of all of the free and paid features of Elasticsearch and Kibana. Our goal with ELv2 is to be as permissive as possible, while protecting against abuse. The license allows the free right to use, modify, create derivative works, and redistribute, with three simple limitations:

  • You may not provide the products to others as a managed service

  • You may not circumvent the license key functionality or remove/obscure features protected by license keys

  • You may not remove or obscure any licensing, copyright, or other notices

We tried to minimize the limitations just to those that protect our products and brand from abuse.

You can keep lying to yourself, Shay Banon.

[–] [email protected] 1 points 2 weeks ago (3 children)

You also need to add SponsorBlock to skip in-video advertisements.

[–] [email protected] 3 points 1 month ago

Shouldn't this be the other way round?

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago) (1 children)

You can't distribute it with the Rust brand. That part is still true. You could, for example, call it GolfLang, and no one would bother you. Most probably misinformation to snub on a new project.

[–] [email protected] 17 points 1 month ago (1 children)

What does this have to do with world news?

[–] [email protected] 4 points 1 month ago (3 children)

You're actually wrong about that. You're free to modify - just that you can't distribute them under the "Rust" brand or logo. You can use the mascot - Ferris the crab, however. There's a alternative project called crablang, if you're dissatisfied with what Mozilla is doing.

[–] [email protected] 1 points 1 month ago

I'm neither in opposition to this, nor do I support this. I don't use Rust, just stating what that netizen was trying to talk about.

[–] [email protected] -4 points 1 month ago (7 children)

This is what @[email protected] was talking about. Rust isn't truly free - there's a trademark restriction on the brand name and logo for commercial use.

[–] [email protected] 0 points 1 month ago* (last edited 1 month ago) (1 children)

No, I wasn't talking about this - this is basically romanization of Hindi, because phones with Hindi keyboards weren't a thing back then, and it kinda stayed that way.

What I meant was the constructed language system, like for example, the Bharati script, or the Manjikana system of writing.

[–] [email protected] 2 points 1 month ago

I read the post thrice, and I'm still not sure what the fuck I've read.

 

With the release of Unicode 16.0 this September, I may finally be able to use my own language's script. But I am not sure if OSes will directly support the latest version of Unicode immediately. How long should I expect these changes to be available on my local OS?

With that being said, I would like to work on creating my own font, maybe also migrate a few corpuses from the wrong script to the original, new one, as well as work on transliteration.

All of this is impossible for a single person - but I would like to take it slowly. What would be a good place to start? Do I need to keep anything else in mind while starting on this journey?

 

The person I am talking about is Dr. Palaniappan Manickam aka Dr. Pal, a board-certified gastroenterologist from Sacramento, California, who is also a YouTuber. He's created various videos targeting Indian netizens, most of which are decent, but not without adding his own twist of misinformation, that are considered unscientific - some of them have been debunked here and here (auto-captions available).

I can't help but think why YouTube would immediately remove videos that spread misinformation, but only when it affects the western world, but not the other part? Clearly, this guy's video is in English, he participates in collaborations with other misinformation-peddling YouTubers - the consequences of which a few percent of the billion people in India have to face - which is still, a lot of people? Sure, you can complain that it is the responsibility of the Indian government - but they are themselves in this business of pseudo-science. When there's no one taking responsibility, I can't help but feel helpless about the lies people will hear.

Edit: And to why this matters, there's an on-going case in the Supreme Court of India. Said "guru" sold Coronil kit, and mocked dying doctors. What did the kit do? It had high concentration of lead. Dr. Cyriac Abby Philips fought against it - and the system tried to punish him.

 

I have forge accounts from three respective sites: GitHub, GitLab and Codeberg. In all of these forges, I've opted to use secret e-mail. The reason for this is that when I had my original e-mail, I was spam-bombed job roles by a company from Shanghai within the Linux foundation, called Zilliz. Apparently, they extracted emails from git patches or something, I don't know much about it.

I want it to be configured, such that when I clone projects from respective sites, I will use their respective secret emails. However, the issue with this is that it is only configured for SSH, and not HTTPS-based URL - when I forget to fork and clone, and instead directly clone the repo from where it originally was, that is where I start to have problems - I can no longer commit, because I did not associate HTTPS URLs with an e-mail. I could, but the git config becomes really messy.

So far, I've come up with a setup that makes use of the if-clause supported by git. But the worst thing about configuring this is that it is so damn painful - I have to setup three different SSH keys, followed by setting up the config, and then also make sure that the keys are working for each sites individually, as well as check that the if-clause is working properly for email. Finally, I also have to create another set of SSH keys for signing commits, and at last, a allowed signer's file so that I can verify my own commits locally, all of this process is so damn frustrating. And again, the same mess on another desktop.

Is there an easier way to go about this?

 

By project, I am talking about a "virtual" instance. I get to use a computer on their server, but how? Are those virtual machines, or containers?

If the former, then why - given how virtual machines have a large overhead? If the latter, then containers have a low degree of isolation compared to VMs, right? I've also heard about K3 and K8 before, but I don't know exactly what they are, and what role they place here.

And speaking about either of them - how are they introduced through a backend - by using bindings? Or is there a port-equivalent to pass instructions, similar to how we connect to a database?

 

I saw the video for C23 by ACCU, and I couldn't help but feel that C2x has gotten a bit stricter than what I had learnt. Since this is based on my intuition, and that is not reflective of the reality, I was wondering if modern versions of the language post C99 is a little bit strongly-typed?

 

This is a small program I've come up with, with the intention of finding the root of a perfect square. I wanted some comments on the performance impact, as well as the use of resources.

square_root.c

#include "square_root.h"

static uint64_t power(uint8_t base, uint8_t exp) {
    uint64_t result = 1;

    while (exp--) {
        result *= base;
    }

    return result;
}

static uint64_t seed(uint64_t radicand) {
    uint64_t a = radicand;
    uint64_t n = 0;

    while (radicand /= 100) {
        a = radicand;
        ++n;
    }

    return ((a < 10)
        ? ((0.28 * a) + 0.89)
        : ((0.089 * a) + 2.8)) * power(10, n);
}

static uint64_t heron(uint64_t x, uint64_t s) {
    while (s != power(x, 2)) {
        x = (x + (s / x)) / 2;
    }

    return x;
}

uint16_t square_root(uint64_t radicand) {
    return heron(seed(radicand), radicand);
}

square_root.h

#ifndef SQUARE_ROOT_H
#define SQUARE_ROOT_H

#include <stdbool.h>
#include <stdint.h>
#include <stddef.h>

uint16_t square_root(uint64_t radicand);

#endif

23
submitted 5 months ago* (last edited 5 months ago) by [email protected] to c/[email protected]
 

cross-posted from: https://lemmy.ml/post/14245877

My main laptop is dead, so I'm on a potato laptop with a 6th gen Intel i3 processor and 4GB of RAM. I have IceCat installed, but I really don't like the defaults it provides.

Maybe I am in the wrong here, but from the Arkenfox page, I've read that having way too many extension is bad - there's an unbelievable amount of these plugins. IceCat being on the older ESR version is a big no when it comes to security. Last but not the least, I want to create a separate, non-secure profile to use normal pages, but IceCat has hard-coded blocks on several websites.

And that is exactly why I'm looking to move to LibreWolf. But the issue is that there is no pre-built binaries available for my distro. I've waited the entire day for this browser, and I'm tired of having to come back to a frozen desktop, or build fails while waking from sleep.

I'm trying the build once again, and I just wanted to know how long it takes to build, so that I can leave it uninterrupted.

 

My main laptop is dead, so I'm on a potato laptop with a 6th gen Intel i3 processor and 4GB of RAM. I have IceCat installed, but I really don't like the defaults it provides.

Maybe I am in the wrong here, but from the Arkenfox page, I've read that having way too many extension is bad - there's an unbelievable amount of these plugins. IceCat being on the older ESR version is a big no when it comes to security. Last but not the least, I want to create a separate, non-secure profile to use normal pages, but IceCat has hard-coded blocks on several websites.

And that is exactly why I'm looking to move to LibreWolf. But the issue is that there is no pre-built binaries available for my distro. I've waited the entire day for this browser, and I'm tired of having to come back to a frozen desktop, or build fails while waking from sleep.

I'm trying the build once again, and I just wanted to know how long it takes to build, so that I can leave it uninterrupted.

 

Here's the program:

rna_transcription.c

#include "rna_transcription.h"
#include <malloc.h>
#include <string.h>

static const char lookup[] = {
    ['A'] = 'U',
    ['C'] = 'G',
    ['G'] = 'C',
    ['T'] = 'A'
};

char *to_rna(const char *dna)
{
    if (!dna)
        return NULL;

    char *rna = calloc(strlen(dna) + 1, 1), *start_rna = rna;
    if (rna)
    {
        for (; *dna; dna++, rna++)
        {
            if (!(*rna = lookup[(int)*dna]))
            {
                free(rna);
                return NULL;
            }
        }
    }
    return start_rna;
}

rna_transcription.h

#ifndef RNA_TRANSCRIPTION_H
#define RNA_TRANSCRIPTION_H

char *to_rna(const char *dna);

#endif

I can't help but wonder how much of a waste of space the array would be. Surely, using a map is better, right?

view more: ‹ prev next ›