2018-03-26

Betterment betterment

If you are an American, have some of your savings in robot investments with Betterment, and don't want that money to work in support of, say, military weapons, civilian firearms, alcohol, or tobacco, here is how you make it no longer so:
  1. Grab a computer (at least the iOS app doesn't seem to expose these settings)
  2. Log on to betterment.com
  3. Go to the Portfolio → Betterment Portfolios page:
  4. For each of your portfolios, walk them through these steps to change your allocation to the Socially Responsible Investing strategy:
    1. Click the Edit Portfolio link:
    2. Click the Betterment SRI → "Review Strategy" button, which will walk you through next steps to eventually change to that investment strategy. (If there isn't a blue button next to it, but is for each of the other strategies available, you're already done – good work!)
    3. Scroll through the page and click "Review and refine" at the bottom:
    4. Same thing, and click "Continue":
    5. Clicking "Finish Setup" changes this portfolio's allocation:
    6. This confirms the money in your portfolio no longer helps killing people – keep going until you run out of portfolios:
If you don't use Betterment for any investments, but would want to, grab somebody's referral link to treat yourself to the first ninety days' of it free of charge. It's a pretty convenient, high-yield way of growing your savings for little to no effort. And don't forget the guide above, as it probably defaults to investing in everything, indiscriminately.

2018-01-17

Is DevTools open?

If you follow the web world, you have hopefully read this recent post on how we need to protect people against attacks on user data. On a mostly unrelated note, I wrote some assertions that I wanted to throw errors when I'm not debugging things, but console.log them when I am, and then trip a debugger statement. It's not really api detectable what mode I am in, but the openness of browser DevTools is a fair proxy, for me, at least, and the examples it linked to gave me a shim for crafting myself the window.isDevToolsOpen setter bookmarklet I wanted:

javascript:((i) => {
  Object.defineProperty(i, 'id', {
    get: () => { window.isDevToolsOpen = true; }
  });
  setInterval(() => {
    window.isDevToolsOpen = false;
    console.debug(i);
  }, 1000);
})(new Image)

Maybe it'll come in handy for someone else. These things rarely work forever; this post was written in the days of Chrome 63.0.3239.84 and Safari 11.0.2 (13604.4.7.1.3), when it did, whereas it already doesn't in Chrome Canary 65.0.3322.0, for instance. It gave me a useful time window of really convenient debugging a piece of complex code, which might require a full-blown browser extension at a later time. (Feel encouraged to comment if you made one.)