Password

So first, and most importantly, never reuse passwords, no matter how trivial. Eventually any company will screw up or be hacked, and your password exposed, and then someone can try it on every other site.

Second, use a password manager for every password. I use 1Password, but other options are available. Don't write passwords on paper, unless that paper is stored in a safe (and then where do you store the combination?). Never write your passwords on a whiteboard! Never speak your passwords aloud!

Third, use a strong password, not 12345. 1Password will offer to generate a three-word password for you. I take that and often modify it, then save.

Fourth, keep your password vault safe: Put a good password (not just a number code) on your phone, always lock it and set it to autolock immediately, put a good password on 1Password, memorize that, write it NOWHERE.

Fifth, secure your devices. TouchID is a great convenience and a "tinsel lock" to keep semi-honest people from poking around in your phone, but it can be used against your will. When I go out, I turn off TouchID so pigs or other armed criminals can't force me to unlock my phone, and from there get to my password vault. If it's on, you can restart the iPhone quickly by holding power and home, and then TouchID is turned off.

On your computer, 1Password should always ask for a password, but it's also a good idea to lock the screen whenever you're away from it. On the Mac, open Keychain Access with Spotlight, Preferences, turn on "Show keychain status in menu bar". Now you can just click the lock in the menu bar, Lock Screen, and you're safe.

So you end up with defense in depth here: A strong unique password on each site. A secure password vault. And a secure device holding that vault. That's not paranoia, it's how you secure your data.

Gacha Nose

There's 6 games I've played recently with gachapon or free-to-play mechanics. I have no complaint about these mechanics when made optional, I'm fine with paying some money to a game company if they keep me amused. Not everyone is capable of that.

Animal Crossing: Pocket Camp: The "fortune cookies" cost 50 Leaf Tickets ($2 or so), with posted chances (3% for the best items), and rarely drop in-game for free. Given that any rare item costs 100-350 LT, cookies are a "deal" but still excessive.

I have more complaint with the goddamned pelican added last month, that wants 10 furniture per trip for apparently a 5% chance at a new animal friend. HATE. HATE. HATE that fucking pelican. 2 animals got, 1 to go. I'd pay real money to make pelican soup of him & get the last animal, but this is not what Nintendo monetized.

Harry Potter: Hogwarts Mystery: As of year one, this is barely even a game, but there are game-like elements. I initially started in Ravenclaw, but instantly got bored of goody-goody shit and blue's not my color; by fucking around with the Facebook login (to a defunct account used for developer shit 10 years ago) and a second game on my old phone, I was able to reset and join Slytherin. I'm a bad man, but I look good in black & green. The NPC dialog doesn't change much, and the stupid witch antagonist doesn't realize I'm now the real monster.

The energy economy in this is shitty, but not as shitty as it first looks. There are 1-2 items (paintings, statues, house Elf…) on each floor you can tap to get some energy. Doing a class takes 10-50 energy? So take the 8 hour classes, only tap on the lower-cost action bars (0/1 is better than 0/5), go out and refresh energy, wait a while, it's easy to pass without paying.

Grossly inferior to the LEGO Harry Potter games, but I'll at least finish year one, I think. I have been informed that all these games are for children, but I have the heart of a young boy… in a jar on my shelves.

Elder Scrolls Online: Crown Crates cost ~$12 for 4, each of which has 4-5 items, 1 costume/mount skin/trinket, the rest mostly consumables you can trade for "crown gems" and save 100 of those for a good item. I routinely use the "free" crowns from my ESO+ subscription to buy the crates, and like the results; my Flame Atronach Camel is ridiculous but awesome. Some ESO players are insane with envy (the shittiest of Human emotions) about other players having better luck.

Fate/Grand Order: I liked the anime, so tried playing this and while card/turn battles are a thing I like, the endless VN dialogues with useless parasite "Director" killed me. The gacha? Cruelly unfair, but playable without any money I could see. So when I see articles like Man spends $70,000 on Gacha, I dunno what he was doing it for.

Fire Emblem Heroes: Take all the stock elements of a daily clicker gachapon game. Add very pretty anime girls with swords & spears. Add the blandest tactical pseudo-RPG ever made. So dull and formulaic it makes me wonder how anyone plays this without falling into a coma. Gacha rates seem generous, but who'd care enough to spend money? "FEH" is the sound I make at this game.

Final Fantasy Brave Exvius: Before I kicked the habit, a daily struggle… Not really, it's very generous with free "lapis" and summons, and getting a good party was just a matter of time. I'm sure junkies spent money on it but that's not needed. Story drives you thru the map and fighting quests, but it's a real FF game with exploration, crafting, NPCs. Loved it but I'm done and not going back.

It's tragicomic watching ULA, classic WWII to Cold War baby-killers turned NASA teat-suckers, desperately try to compete with SpaceX and Blue Origin at a tiny fraction of the cost to orbit or deep space.

Why doesn't Boeing brag that the USS Enterprise, NCC-1701, will appear from time travel, tractor-beam a crew compartment into orbit, warp to Mars, and land astronauts for a day-trip? It's just as real and plausible as the "SLS Block 2", and much cheaper.

Javascript NaN

I just spent 30 minutes reading log files to find an actual bug that would've been prevented by a strong type system: Multiplying a coordinate by an array instead of an element of that array; Javascript helpfully gave me the result NaN and carried on instead of throwing an exception, because Javascript. I may put a few defensive asserts of Number.isInteger(n), Number.isFinite(x) in functions that process numbers.

This is the first such bug I've had in so long I can't think of the last. Many years not spent fighting BDSM type systems and slow-ass compilers, so I'm still happy with this choice.