bea

bea wrote

I have two ThinkPads with me right now and I love them both. I'm typing this on a Gen1 X1 Carbon and to my right is my E495. Both run Linux of course (Void and temporary Fedora/Windows dual boot).

After years of use the X1's keyboard has one missing and one broken key and the fan tends to start making a weird noise when I move it but that's why I have the second one to replace it at some point.

I honestly don't think I could use any other laptop because for me the keyboard, its layout, and touchpad button placement are essential. I got really addicted to using PgUp/PgDown above the Left/Right arrow keys for switching workspaces and browser tabs with one hand. I also like that the Up/Down arrows aren't half the height of the other keys, I hate when laptop manufacturers do that. They're still smaller but just the right size.

Really the keyboard and the physical mouse buttons above the touchpad are the main reason why I got a second ThinkPad and not something else.

5

bea wrote

there is still no real integer type

the language always had proper signed and unsigned 32bit int support, though tbf it was boxed in 64bit floats, now we have BigInts

lacks good language-level primitives for concurrency

I guess "good" is the key word there but just in case I'll mention that we have: Workers in the browser and Worker Threads in Node.

2

bea OP wrote

if you're concerned about this addon's security:

The only thing it's doing is adding a bundled base64 encoded certificate and forcing a re-verification:

async doTheThing() {
  // first inject the new cert
  try {
    let intermediate = "[[BASE64 ENCODED CERT OMITTED]]";
    let certDB = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
    certDB.addCertFromBase64(intermediate, ",,");
    console.log("new intermediate certificate added");
  } catch (e) {
    console.error("failed to add new intermediate certificate:", e);
  }

  // Second, force a re-verify of signatures
  try {
    XPIDatabase.verifySignatures();
    console.log("signatures re-verified");
  } catch (e) {
    console.error("failed to re-verify signatures:", e);
  }
}

and the addon itself was signed by Mozilla and is distributed by them in their studies program which is avoided by installing it manually ( so I wouldn't doubt it's legitimacy )

2