• 0 Posts
  • 58 Comments
Joined 10 months ago
cake
Cake day: September 7th, 2023

help-circle
  • 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.


  • Interesting! Sorry, I don’t know why I thought you were using swipe keyboards, it must have been stuck in my memory from reading other comments. I definitely agree that pressing the buttons was a little annoying, but manufacturers could probably make softer buttons if they were willing to put the money into developing them.

    Anyway, I really miss the phone I had from about 2008-2010. It had two sliders that moved in orthogonal directions. One of the slide directions revealed a standard 12-button phone pad, while the other had a 4-row keyboard. And yet, I’m pretty sure it was under 1.5cm, so not too large. It was definitely easier to keep in my pocket than current phones!

    If it weren’t for reading Lemmy/RSS feeds and a camera, I’d probably be going back to dumb phones for my next one…


  • But what’s the error rate? I could type at 200 words per minute (even on a phone!!) if I didn’t care about how many typos I was making. And swiping keyboards get confused incredibly easily. The error rates are especially bad when you’re writing words that only use a single row of keys - on QWERTY keyboards for example, try writing something like “type”, and you could get that, or you might get something else, like wipe/write/ripe. Other groups could include things like tip/top, pit/pot, wit/wire and the selected word will be wrong almost as frequently as it’s right. And autocorrect systems can’t really correct for things like when you mean to press enter and hit the backspace key instead. Plus, their suggestions are generally just very stupid. So while buttons take longer to press on physical keyboards, the reduced error rate makes typing speed about the same in my experience.

    Plus, with physical buttons, you get tactile feedback, so you can tell when your fingers are slightly off and adjust them, whereas on a flat surface, you have no idea whether you pressed the correct button or not. You have to stare straight at the screen to make sure every press is correct, which is exhausting and bad for your eyesight. I feel a lot more eyestrain from simply typing on phones, whereas with physical buttons, I didn’t even have to look at the screen, and I could look at something else around me while typing. And don’t get me started on how many calls I’ve missed because I accidentally hit the hang-up button, or couldn’t find the accept call button - not a problem when you have physical buttons!

    Regarding screen real estate, all you need is a slide-out keyboard. They work great!

    There are a few downsides to physical keyboards, but in my experience, they’re far superior to non-keyboard devices. But what can you do - in the 21st century, practicality never matters, it’s just all about aesthetics and nothing else…


  • 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.)


  • I assume you’re trying to imply in your comment that people are not going to use it if it’s not easy.

    It’s unfortunate, but sometimes, having nice things can be a little hard. If people want to use the easiest thing under the sun, then they’ll just have to accept the downsides that come with it. Sometimes, that means private companies will use private photos of people’s underage children in AI training models that can generate deepfake pornography. What can you do? Convenience comes at a cost sometimes.

    I’m not saying I agree with this of course, but that’s just how things are in the world where all rules must follow the dollar.





  • 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.





  • Of course! I hope you didn’t read my comment as hostile. I read yours as sort of a devil’s advocate type of argument and was just trying to point out the logical flaws in it. I’m glad that you didn’t hesitate to voice a contrary opinion. The points that you raise are interesting… and it’s always good to consider both sides of the argument, even because it just helps us hone our own arguments. You could certainly argue that this is just another enforcement mechanism. It’s just that it comes with a lot of unintended consequences, which most people will overlook, and they’ll inevitably be used in ways that we didn’t anticipate, long after the fact that these kinds of mechanisms become commonplace.

    Regarding the reduced cost of lending: sure, in theory they could lower the prices. In practicality, will it? Any time we see cost-reducing developments, it usually ends up resulting in higher profits for the vendors moreso than better competition and lower prices for consumers. Look at how car manufacturers are just letting electric vehicles sit in their lots because they refuse to accept what buyers are willing to pay. The corporate types really, really hate to lower prices on anything for any reason. So I would be surprised to see something like that happen, even though it’s still theoretically possible…


  • All your points are sound. The issue that I have with this is that remote disable functionality is not necessary to achieve any of these aims. Before they were connected to the internet, people were still able to rent/lease autos and the world managed to survive just fine. There were other ways for lenders to get remunerated for breaking lease terms - they could issue an additional charge, get a court order for repossession, etc. Remote disable was never needed or warranted.

    So let’s start by considering the due process here. Before, there was some sort of process involved in the repossession act. With remote disable however, the lender can act as judge, jury and executioner so to speak - that party can unilaterally disable the device with no oversight. And if the lender is in the wrong, there is likely no recourse. Another potential issue here is that the lender can change the terms at any time - it can arbitrarily decide that it doesn’t like what you’re doing with the device, decide you’re in breach, and hit that remote kill switch. A lot of these things could technically happen before too, but the barriers have been dramatically lowered now.

    On top of this, there are great privacy concerns as well. What kinds of additional information does the lender have? What right do they have to things like our location, our habits, when we use it, and all of the other personal details that they can infer from programs like this?

    There are probably lots of other issues here, but another part of the problem is that we can’t even start to imagine what kinds of nefarious behaviors they can execute with this new information and power. We are well into the age where our devices are becoming our enemies instead of our advocates. I shudder to think what the world would look like 20 years from now if this kind of behavior isn’t stopped.






  • 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.