• 0 Posts
  • 94 Comments
Joined 2 years ago
cake
Cake day: July 9th, 2023

help-circle

  • The problem is that those issues have, and continue to, cause damage to the Linux project. Good maintainers have been hounded out, or simply given up, and bad blood exists where it absolutely shouldn’t. You’re right that much of it is political, although that usually stems from deep technical differences backed up by corporate encouragement. Political turmoil can be as damaging, if not moreso, than technical differences. At least technical differences can usually be resolved technically, politics is infinitely more nuanced.

    From Marcan’s description, the way certain people treated him was absolutely unacceptable, although I’ve no doubt they’d describe things very differently. I hope the whole kernel team, maintainers and contributers, can find a way to work through these differences and work more harmoniously before more members end up burnt out, frustrated and bitter.







  • It just occured to me that if you want to use Ubuntu without snap, you could uninstall the snap package itself (I’m not on Ubuntu, so you might need to find it), then put a ‘hold’ on the package to prevent it being reinstalled. That should, in turn, prevent any package versions that use snap from being installed.

    Initially uninstalling snap might require removing any packages that use it, but that’ll tell you what you need non-snap versions of.






  • Consider the presidential election. A simple binary choice was presented to the electorate; the Democrat candidate versus the Republican candidate. There were no other possible results. It was extremely clear to anyone who wasn’t already MAGA levels of devoted to the Republicans, that the Republican candidate would do far worse things than the Democrat candidate, thus there were functionally only two actions you could take: vote for the democrat candidate or vote against the democrat candidate. Abstaining, voting third party, or otherwise not voting democrat had exactly the same result as directly voting for the republican candidate, namely increasing their odds of winning.

    Neither candidate should have been standing, both parties should have had free, fair and open primaries, and the whole situation stank, but that was the situation when the polls opened, and voters needed to act accordingly. As I said, the republican propaganda team was in overdrive and successfully fooled a large enough portion of the electorate into thinking of the election as a referendum on the democrats, rather than a choice between democrat and republican, and got them to think along the lines you’ve outlined above. That was enough to shift the election in favour of the republicans, and leave us in the situation we’re in now.

    The same dynamic played out all the way down the ticket, giving what is likely to be a catastrophic result for a vast number of people. The argument that it’s not the voters’ fault is disingenuous; no-one was holding gun to their heads when they voted. Yes, the amount of disinformation and propaganda they experienced was extreme, but that does not absolve anyone of their personal responsibility. The fact that neither party treated the electorate with any respect, likewise, does not absolve anyone of their responsibility, nor did it change the nature of the election. The trick was played on voters by the republicans, getting them to think, and say, that the democrats weren’t good enough without considering what the alternative was.

    As you say, they want people fighting amongst themselves, and it would certainly be best to acknowledge that the election has passed, and the situation is as it stands. The republicans have a clean sweep of every branch of federal government and many state ones too, and are wasting no time in implementing their worst and more damaging policies as quickly and ruthlessly as they can. Now we have to work out how to protect the vulnerable, slow the oncoming tide of fascism and find a way to start bringing people back together again. The next major round of elections should be in two years, and present an opportunity to turn, or at least, slow the tide that threatens to wash away the USA. Between now and then a lot has to change, but it’s doable, even if the parties themselves do not, but it will take people looking past the obvious tricks and understanding that they usually, unfortunately, only have two options in an election, and now-a-days one is much, much worse than the other.



  • Nagios. It does depend on what you mean by monitor though. Nagios is good at telling you that “service A on host B” is down" but less useful for looking at things like performance trends. I particularly like being able to setup dependencies between services, so I get the alert for the root cause, and not all of the services that have gone down because of it.


  • You dismiss the data you recorded because it doesn’t seem to support your hypothysis tgat there is greater lag in wayland, but that’s not really the right approach, and I think it points to a different conclusion.

    You recorded a lag of 5 or 6 frames at 90 frames per second in both Xorg and wayland, which suggests that the lag is the same to within 0.011 seconds, and I don’t think that you can say that’s a huge difference. However, what you didn’t test is the acceleration curve on mouse movement. If that curve is different under wayland it could easily feel infuriatingly laggy without actually showing any extra delay on the movement starting or ending.

    I’m not sure how you’d accurately test that, a HID device just sending mouse move events wouldn’t do it as wouldn’t mimic you accelerating the mouse from stationary, so wouldn’t exercise the acceleration curve in wayland. You might need a physical device that moves your actual mouse a fixed dustance and then measure the distance the cursor moves on screen. Repeat for different movement speeds and you might have sone useful data.





  • Trying to avoid using any arithmetic operators, and sticking just to binary (extending beyond 16 bit unsigned ints is left as an exercise for the interested reader):

    #!/usr/bin/perl
    
    # This increments $i
    
    my $i=1;
    print "Start: $i ";
    
    if (($i & 0b1111111111111111) == 0b1111111111111111) {die "Overflow";}
    if (($i & 0b0000000000000001) == 0b0000000000000000) {$i=(($i & 0b1111111111111110) | 0b0000000000000001);}
    else
    {
            if (($i & 0b0111111111111111) == 0b0111111111111111) {$i=(($i & 0b0000000000000000) | 0b1000000000000000);}
            if (($i & 0b0011111111111111) == 0b0011111111111111) {$i=(($i & 0b1000000000000000) | 0b0100000000000000);}
            if (($i & 0b0001111111111111) == 0b0001111111111111) {$i=(($i & 0b1100000000000000) | 0b0010000000000000);}
            if (($i & 0b0000111111111111) == 0b0000111111111111) {$i=(($i & 0b1110000000000000) | 0b0001000000000000);}
            if (($i & 0b0000011111111111) == 0b0000011111111111) {$i=(($i & 0b1111000000000000) | 0b0000100000000000);}
            if (($i & 0b0000001111111111) == 0b0000001111111111) {$i=(($i & 0b1111100000000000) | 0b0000010000000000);}
            if (($i & 0b0000000111111111) == 0b0000000111111111) {$i=(($i & 0b1111110000000000) | 0b0000001000000000);}
            if (($i & 0b0000000011111111) == 0b0000000011111111) {$i=(($i & 0b1111111000000000) | 0b0000000100000000);}
            if (($i & 0b0000000001111111) == 0b0000000001111111) {$i=(($i & 0b1111111100000000) | 0b0000000010000000);}
            if (($i & 0b0000000000111111) == 0b0000000000111111) {$i=(($i & 0b1111111110000000) | 0b0000000001000000);}
            if (($i & 0b0000000000011111) == 0b0000000000011111) {$i=(($i & 0b1111111111000000) | 0b0000000000100000);}
            if (($i & 0b0000000000001111) == 0b0000000000001111) {$i=(($i & 0b1111111111100000) | 0b0000000000010000);}
            if (($i & 0b0000000000000111) == 0b0000000000000111) {$i=(($i & 0b1111111111110000) | 0b0000000000001000);}
            if (($i & 0b0000000000000011) == 0b0000000000000011) {$i=(($i & 0b1111111111111000) | 0b0000000000000100);}
            if (($i & 0b0000000000000001) == 0b0000000000000001) {$i=(($i & 0b1111111111111100) | 0b0000000000000010);}
    }
    print "End: $i\n";