I actually used a sequence diagram today. I put it together for a meeting, to provide some visual guidance while descussing the architecture of a component, and the expected inputs and outputs of it. Helpful for aligning expectations and to spark more dialog.
I also use hierarchy diagrams, but a lot less often. Those are used for documenting the architecure of classes that can be annoying to navigate their code through.
I've done several, and it did. Make sure throttling is disabled (Settings, search for Battery Health); in my experience the OS doesn't do that on its own, presumably relying on the playbook they give their support techs to cover that. It also doesn't hurt to do a "battery calibration" process like the one found at https://help.ifixit.com/article/265-battery-calibration - I don't know that I've seen a huge difference from that, but I always do it, so I wouldn't really be able to say that it's not necessary even if it isn't.
As of today, you are right. However, we should be aiming towards a future where amateurs don't have to worry about browser incompatibilities. Coding time to be focused on building the product and its features, not juggling css rules to make it look the same across browsers.
IIRC asymmetric decryption is time consuming, so it is used as the initial step to send/receive the symetric DH key. All additional encryption/decryption is symetric.
Client generates a key, encrypts with server's RSA key, sends it to the server, and the session starts. This lacks PFS.
Client and server participates in DH key exchange, the server signs their DH parameters using the RSA key so that the client knows that he's talking to the right person. They now start the session using that DH generated key. This has PFS.
And there's same as the above but with DH replaced with elliptic curve DH (different way of achieving the same thing), and RSA replaced with ECDSA, and a few other options.
Yes, and in fact it's slower than RSA key exchange for the server! The big benefit is forward secrecy because the server no longer has the ability to recover the keys for old sessions (which it could with RSA key exchange).
I also use hierarchy diagrams, but a lot less often. Those are used for documenting the architecure of classes that can be annoying to navigate their code through.