• 1 Post
  • 31 Comments
Joined 10 months ago
cake
Cake day: September 7th, 2023

help-circle
  • I would vote for docker as well. The last time I had to inherit a system that ran on virtual machines, it was quite a pain to figure out how the software was installed, what was where in the file system, and where all the configuration was coming from. Replicating that setup took months of preparation.

    By contrast, with Docker, all your setup is documented. The commands that were used to install our software into the virtual machines and were long gone are present right there in the Docker file. And building the code? An even bigger win for Docker. In the VM project, the build environment for the C++ portion of our codebase was configured by about a dozen environment variables, none of which were documented. If it were built in Docker, all the necessary environment variables would have been right there in the build environment. Not to mention the build commands themselves would be there too, whereas with VMs, we would often have developers build locally and then copy it into the VM, which was terrible for reproducibility and onboarding new developers.

    That said, this all comes down to execution - a well-managed VM system can easily be much better than a poorly managed Docker system. But in general, I feel that Docker tends to be easier to work with than a VM. While Docker is far from flawless, there are a lot more things that can make life harder with VMs, at least from my experience.


  • Do you know how vim has distributions like lunarvim, lazvim, nvchad, etc.? Simply installing something like lazyvim can quickly and easily convert vim from a text editor to a full blown IDE.

    I think Gnome needs something like this. A curated set of plugins that are easy to install and maintain compatibility with different versions of Gnome - something that would deal with the API churn in Gnome while maintaining a stable, usable desktop environment.

    I don’t know if this is feasible, because I haven’t used Gnome since 2.x, but I think it would really help make it an actual full blown DE.


  • Just in case this comment didn’t make it explicitly clear, you can just invoke the python binary inside your venv directly and it will automatically locate all the libraries that are installed in your virtual environment.

    To show how this works, you can look at the sys.path variable to see which paths python will search for modules when you run import statements. Try running python3 -c 'import sys; print(sys.path)' using your system python, and you will only see system python library paths. Then, try running it again after replacing python3 with the full path to the python3 binary in your venv, and you will see an additional entry in the output with the lib directory in your venv, which shows that python will also look there for modules when an import statement is executed.


  • If I want to make a piece of software to improve people’s lives and I don’t care to do it for free, I’ll choose MIT. If it gets “stolen” by a for-profit corporation it only makes it better, because now my software has reached more people, thus (theoretically) improving their lives.

    I’m not completely sure about this.

    Suppose you write a library that a company like Facebook finds useful. Suppose that they incorporate it into their website. I’m sure I can skip the portion of this post where I extol the harms that Facebook has wrought on society. Do you think your software has improved people’s lives by enabling Facebook to do those sorts of things? They would not have been able to do them if you had used AGPL instead.

    And I don’t want to make it seem like we should never do anything because someone might use the product of our work in a sinister way (because that would quickly devolve into nihilism). If 99 people use it for good and 1 for evil, that’s still a heavy net positive. But at the same time, I would be lying if I didn’t acknowledge that the 1 person using it for evil still would make me feel bad.


  • I was surprised that comment this got so many upvotes, so I’ll respond by saying that, with all due respect, I think your argument is much more fallacious than the one you are trying to debunk.

    The comic author takes one specific case of an MIT licensed product being used in a commercial product, and pits it against another GPL product.

    Yes, this is called an example. In this case, the author is using a particularly egregious case to make a broader conclusion: namely that if you release software under a “do whatever you want” license, it may come back to bite you in the future when it’s used in a product that you don’t like.

    This comic is a warning to developers that choosing MIT/BSD without understanding this fact is a bad choice.

    This ignores situations where MIT is the right answer, where GPL is the wrong one

    It does not ignore those situations. All situations are multifaceted and need to take multiple considerations into account. The author is trying to argue that people should take care not to overlook the particular one to which he is trying to draw attention.

    situations where legal action on GPL violations has failed

    Just because legal efforts have failed does not mean that they are not worthwhile. There may be many cases where people avoided misappropriating GPL software because they did not want to deal with the license - there may be cases where people were less hesitant about doing so with MIT/BSD because they knew this risk was not there.

    From that I conclude that this falls under The Cherry Picking Fallacy. While humorous, it’s a really bad argument.

    Just because the author used a single example does not preclude the existence of others. That is a much more fallacious assumption that invalidates much of your argument.

    and all cases where the author’s intent is considered (Tanenbaum doesn’t mind).

    Just because Tanenbaum didn’t mind does not mean that other developers who mistakenly use MIT/BSD will not either. Also, it honestly shouldn’t matter what Tanenbaum thinks because we don’t know what his rationale is. Maybe he thinks malware is a good thing or that IME is not a serious issue - if that’s the case, do we still consider his sentiments relevant?

    commonly referred to as “cuck licenses”

    This sentiment makes the enclosing sentence an Ad-hominem fallacy

    It does not, in fact. Just because the author used a slang/slanderous term to describe the licenses he doesn’t like does not mean that his logical arguments are invalid. Ad-hominem fallacies are when you say “the person who argued that is $X, therefore his logic is invalid”, not when he uses a term that may be considered in poor taste.

    by attacking the would-be MIT license party as having poor morals and/or low social standing.

    Misrepresentation. The author is not arguing that they have poor morals, he is arguing that they are short-sighted and possibly naive with regards to the implications of choosing MIT/BSD.

    My conclusion: I appreciate the author for making this post. People should be more aware of the fact that your software could be used for nefarious purposes.

    So unless you really don’t care about enabling evil people, you should be defaulting to using GPL. If people really want to use your copyleft software in a proprietary way, then it is easily within their means (and resources) to get an exemption from you. The fact that there is so much non-GPL software out there makes the GPL itself weaker and makes it easier for nefarious interests to operate freely.

    (Not that I would ever release software under GPL myself. I think software licenses are stupid. But no license basically has the same non-derivative limitation as GPL so it doesn’t matter as far as I’m aware.)




  • There is no way to make a network request faster than a function call.

    Apologies in advance if this it too pedantic, but this isn’t necessarily true. If you’re talking about an operation call that takes ~seconds to run, then the network overhead is negligible. And if you need specialized hardware for it, then it definitely could be delegate it out to a separate machine over the network. Examples could include requiring a GPU, more RAM, or even a faster CPU if your main application is running on more power-efficient CPUs.

    I’m not saying that this is true in every case - they are definitely niche cases. But I definitely wouldn’t say that network requests are never faster than local function calls.


  • Agreed. Objects are nice and a great way to program. Composition is great. Traits/interfaces are great. Namespaces are great. Objects are a really nice way to reap the benefits of principles like these.

    But then there are aspects of OOP that absolutely suck, like inheritance. I hate inheritance. The rules get very confusing very quickly. For example, try understanding overriding of methods. Do I need to call the superclass method or not? If not, does it get called automatically? If so, in what order? How do these rules change for the constructor? Now repeat this exercise for every OOP language you use and try not to mix them up… Java, C++, Python, etc.

    Fortunately, it feels like we rely on inheritance less and less these days. As an example, I really like how Java allows you to implement Runnable these days. Before, if you wanted to run a thread, you needed a separate object that inherited Thread. And what if that object needs to inherit from another one too? Things would get out of hand quickly. (This is a very old example, but with lambdas and other new features, things are getting even better now.)

    Anyway, long story short, I think OOP is a complicated way to achieve good principles, and there are simpler ways to achieve those principles than a full OOP implementation.









  • There are terrible people everywhere. California and New York have 10s of millions of residents - there are bound to be some that are shitstains. The problem is that money = power and when it’s possible for one individual to have too much money, it inevitably means that terrible people will be able to amass this kind of power.

    This is why wealth (in)equality is important - it’s what determines how much powerful individuals are able to become. If it’s too easy for a single person to amass too much power, inevitably, the wrong person will be able to gain it.


  • Same here. Sure, KDE and Gnome may have great Wayland support by now, but what about other DEs? The situation in XFCE seems to be pretty grim:

    It is not clear yet which Xfce release will target a complete Xfce Wayland transition (or if such a transition will happen at all).

    MATE seems to have piecemeal support. No idea what the status of LXDE/LXQT are. And there are plenty of other window managers that don’t have the manpower to support wayland either.

    The deprecation of X is going to leave a lot of dead software in its wake.


  • namingthingsiseasy@programming.devtoMemes@lemmy.mlYouTube
    link
    fedilink
    arrow-up
    3
    arrow-down
    13
    ·
    6 months ago

    Why is it your responsibility to pay the creators? Google is a trillion dollar company and makes billions off of what people post on youtube. Shouldn’t they be paying them instead and not you?

    Besides, it’s only a matter of time before Google takes more and more of the cut that you think you’re paying them.



  • namingthingsiseasy@programming.devtoMemes@lemmy.mlYouTube
    link
    fedilink
    arrow-up
    56
    arrow-down
    2
    ·
    6 months ago

    when it means they will not sell my data and will allow me control over my algorithm to prevent it from playing to my vulerabilities

    The problem is that this will never happen. That boat has sailed - companies will never give up on their existing revenue streams. They may say that paying today will exempt you from the ads, but it’s only a matter of time before they ramp up the cost and start showing ads anyway. That’s how cable television started, and it’s how internet streaming will end as well. And as for the not selling data/controlling the algorithm, well you have no way of proving that they don’t do that so they’ll do it no matter what they say.

    There’s no reason for google to do this whatsoever. They have their business model - any new revenue streams will 100% definitely not reduce the other ones at all. It’s just gonna be another giant dump into the pile of enshittification.