• 0 Posts
  • 9 Comments
Joined 9 months ago
cake
Cake day: December 26th, 2023

help-circle
  • The actual difference between a working new mouse and a failing double click mouse is in the button itself (mechanical parts are almost always the problem).

    However, it is not some exotic failure mode. All mechanical switches have a “bounce”, where the contact makes and breaks a few times before settling into the connected position. Switches are typically designed to make the actual contact spring loaded (which is the origin of the click sound you here). As they age, this mechanism degrades, making the bouncing problem worse.

    However, this is a well understood problem that any electrical engineer should be familiar with. One solution is to install a filter capacitor. Now it takes longer to switch between the on and off state, so the inherent bounce in the switch is smoothed out to the point where you cannot detect it.

    They probably did testing with a new switch, and decided that they didn’t need to include any explicit debounce component, ignoring the fact that the switch would degrade over its lifetime.




  • Sudo is a setuid binary, which means it executes with root permissions as a child of of the calling process. This technically works, but gives the untrusted process a lot of ways to mess with sudo and potentially exploit it for unauthorized access.

    Run0 works by having a system service always running in the background as root. Running a command just sends a message to the already running seevice. This leaves a lot less room for exploits.



  • I’d just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.

    Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.

    There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.



  • Not nessasarily, the protocol could be written so that an instance simply tells other federared instances “X of my users upvoted this, and Y downvoted this”.

    The tradeoff being that instance then have less tools to work with to moderate voting. Instead of being able to do global vote ring detection, the most they can do is look for abuse on their own server, and trust that every instance they vote-federate with does the same. Even then, with every instance trying to be vigilant, no one instance would have the info to detect a cross-instance abuse.