• 6 Posts
  • 109 Comments
Joined 9 months ago
cake
Cake day: February 10th, 2024

help-circle


  • I think dropping loadable module support would severely limit what users can do when a driver misbehaves or doesn’t handle a particular device as well as an (in-tree) alternative.

    Also, I wonder how they expect to achieve being “The KDE operating system” or “doesn’t break” when their existing distro has been more than a little rocky so far. Who do they think will do the long-term work of raising and maintaining the quality bar?

    It would be kool to have a solid reference distro where Plasma could shine, especially for organisations and newer users who don’t know how to replace GNOME on existing distros. But this proposal gives me the impression that they underestimate the effort required, so I am skeptical.




  • It might be interesting to determine whether the freezes are limited to Plasma or are happening within the kernel.

    • Have you tried Control+Alt+F1/F2/F3 … F8, to see if switching virtual consoles still works while the freezes are happening?
    • Do you have another machine on the same network? You could use it to ssh into your desktop machine, and when the freezes are happening, see if they affect ssh interactivity.






  • mox@lemmy.sdf.orgtoProgrammer Humor@programming.devBrace Style
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    3 months ago

    It’s often I have to double and triple check to verify I copied the code with correct indentation.

    I vaguely remember facing that issue once or twice in the past, but certainly not often. It was because the pasted code was too long for its starting point to be easily found in my editor, even if I scrolled up a bit.

    If this happens to you often, I wonder: perhaps the code you maintain should be broken into smaller functions?

    If I was in that situation again, I think I would simply place a bookmark before pasting and then jump back to the bookmark to indent/dedent the pasted block appropriately.

    Edit: Come to think of it, I would have to check and correct it regardless of the language and braces, since confusingly indented code is unwelcome in my commits.


  • Well, Python kind of does the reverse of a semicolon: If you want to continue a statement over multiple lines, then you have to \ escape it.

    That’s not true. Being within parentheses, brackets, quotes, etc. is enough for the parser to know you’re continuing. In practice, I find that context is already present in most cases.

    For the other cases, occasionally surrounding an expression in parentheses is easy enough. Long conditionals probably deserve parentheses anyway, for clarity.


  • mox@lemmy.sdf.orgtoProgrammer Humor@programming.devBrace Style
    link
    fedilink
    arrow-up
    61
    arrow-down
    2
    ·
    edit-2
    3 months ago

    Growing up with C made me assume semicolons and braces were needed to avoid subtle bugs, but experience with more recent languages showed me that it’s possible to reliably parse the same semantic cues that humans use: indentation, parentheses, and other such context. (Perhaps this was less viable when C was invented, due to more constrained hardware.)

    I was skeptical at first, but in practice, I have never encountered a bug caused by this approach in Python, Nim, or any other language implementing it consistently, over the course of a decade or two using them. Meanwhile, I have seen more than a few bugs caused by brace and semicolon mistakes.

    So nowadays (outside of niche & domain-specific languages) I see braces and semicolons as little more than annoying noise and fuel for religious arguments.



  • you can click on the “Explore projects” button in the corner and click on the huge search field in the middle of the screen: it will list the option “Language”.

    I didn’t know it supported this mode of searching; thanks for pointing it out. I just wish there was a way to collapse all of a project’s forks into one entry. The search results take forever to sift through because there are about fifty bazillion forks of each project.


  • Sandboxing them, having a manual review process, would help. But that is a TON of work.

    This is why it would make sense to have a restrictive and simple API that supports basic extensions with little oversight. Configuration only; no executable code.

    For the small minority of add-ons that would require executable code, there could be a separate API with a more involved installation process, making it obvious to the user that the trust and risk levels are different from the above. A sandbox feature could perhaps be developed in the long run, but that is indeed a ton of work and hard to get right, and isn’t really necessary for this approach to be effective. Just having a software-style installation process (e.g. through a distro’s package manager) and different APIs would go a long way toward protecting users.


  • It’s probably worth noting that Plasma’s customization support is useful not only to people looking for a special look & feel, but also as a proving ground for new things (and new approaches to old things) that can eventually make their way into mainline Plasma. Making things harder to customize would mean fewer people experimenting, refining ideas, and solving problems. With that in mind, I think that removing customization in hopes of simplifying test cases would be a mistake.

    However, it’s my understanding that some of Plasma’s customization hooks allow third-party theme components to run arbitrary code, without even a warning, sandbox, or reasonable way for the user to inspect it beforehand. (This was in the news a couple months back, IIRC.) That was more or less okay 20-25 years ago, when malware on Free operating systems was almost unheard of, but it’s dangerous and irresponsible in today’s world, where extensions/plugins have become common attack vectors. I wouldn’t mind a little loss of customization to shut down that vulnerability, at least until safer extension APIs can be built.