Not the same issue
kogasa
If you own a soldering iron or are willing to buy one and learn how to use it, a new set of mouse switches is like <$10 and it takes a few mins to replace them. Not something you should have to do after only 4 years though. If you get a mouse with optical switches this issue will never happen.
If you take immortality, you also probably need to take healing. Being mortally wounded and unable to die sounds, uh, bad.
The argument describes an algorithm that can be translated into code.
1/(1-x)^(2) at 0 is 1
(1/(1-x)^(2) - 1)/x = (1 - 1 + 2x - x^(2))/x = 2 - x at 0 is 2
(1/(1-x)^(2) - 1 - 2x)/x^(2) = ((1 - 1 + 2x - x^(2) - 2x + 4x^(2) - 2x^(3))/x^(2) = 3 - 2x at 0 is 3
and so on
If your binding is Alt+X, try pressing it down, tapping shift (press and release), then releasing X. The release keybind shouldn't trigger.
I tried the workaround with all modifier combinations but this still happens, even if you bind Shift+(Your Binding). Pressing "shift" while the a chord is held prevents the release event from being handled.
Let f(x) = 1/((x-1)^(2)). Given an integer n, compute the nth derivative of f as f^((n))(x) = (-1)^(n)(n+1)!/((x-1)^(n+2)), which lets us write f as the Taylor series about x=0 whose nth coefficient is f^((n))(0)/n! = (-1)^(-2)(n+1)!/n! = n+1. We now compute the nth coefficient with a simple recursion. To show this process works, we make an inductive argument: the 0th coefficient is f(0) = 1, and the nth coefficient is (f(x) - (1 + 2x + 3x^(2) + ... + nx^(n-1)))/x^(n) evaluated at x=0. Note that each coefficient appearing in the previous expression is an integer between 0 and n, so by inductive hypothesis we can represent it by incrementing 0 repeatedly. Unfortunately, the expression we've written isn't well-defined at x=0 since we can't divide by 0, but as we'd expect, the limit as x->0 is defined and equal to n+1 (exercise: prove this). To compute the limit, we can evaluate at a sufficiently small value of x and argue by monotonicity or squeezing that n+1 is the nearest integer. (exercise: determine an upper bound for |x| that makes this argument work and fill in the details). Finally, evaluate our expression at the appropriate value of x for each k from 1 to n, using each result to compute the next, until we are able to write each coefficient. Evaluate one more time and conclude by rounding to the value of n+1. This increments n.
Rant incoming, because I just happened to be dealing with this today.
I tried the push to talk binding method in sway, and found it was extremely fragile because if you press any modifier keys before releasing the button, the release binding won't trigger and your mic will stay open. This is especially problematic for my use case as I use both my push to talk hotkey and my modifier buttons while gaming.
I just use a toggle mute hotkey instead of push-to-talk though. Just gotta remember to re-mute, and have a visual indicator for your mic status so you don't accidentally leave it in the wrong state.
Another workaround is binding all possible combinations of modifier keys explicitly, and passing in --device-id so that the binding doesn't consume the keypress and instead forwards it on to the application. This should perfectly emulate the behavior of an X-style global hotkey. With 4 mods (super, ctrl, shift, alt) and 2 bindings per combination there are 2^5 = 32 total bindings for each such hotkey. However there's still no telling if the key-release event could be missed somehow and leave your mic open. I don't know how reliable this method is.
Start with the goal to create something, be it a console app, website, web api, or game. It's hard to just study a language abstractly and learn it. Use the Microsoft Learn documentation as reference, and look for open source .NET projects on GitHub to get different perspectives on how to build things with .NET. There is a free course on freecodecamp that will get you started by building an app, and I believe it was done in partnership with Microsoft
I don't think you need permission to send someone an email directly addressed to and written for them. I don't have context for the claims about Kagi being disputed, but I'd be frustrated if someone posted a misinformed rant about my work and then refused to talk to me about it. I might even write an email. Doesn't sound crazy. If there's more to the "harassment" that I don't know about, obviously I'm not in favor.
SQLite is one of the best tested codebases in existence. Having only so many variables per line means nothing
Don't think you can stack 2.4 million bananas on top of each other. By volume you'd need like 10^16 bananas to form everest
Desoldering is definitely the hard part and I'm not experienced enough to tell you exactly how to do it, but what helped me was adding a tiny bit of leaded solder to loosen up the existing solder on the mouse. That made it way easier to wick up.