Pausing is unintuitive in Unity because you don't control the main loop - all active objects get updated every frame. The recommended way to do it is to set the "time scale" to zero and have menu animations use special timers that ignore time scale. If you control the game loop, you can usually just get away with an "if (paused)" [0].
As the author points out, email OTP can be phished if the user is tricked into sending their OTP to an attacker.
Email magic links are more phishing resistant - the email contains a link that authenticates the device where the link was clicked. To replicate the same attack, the user would have to send the entire link to the attacker, which is hopefully harder to socially engineer.
But magic links are annoying when I want to sign in from my desktop computer that doesn't have access to my email. In that case OTP is more convenient, since I can just read the code from my phone.
I think passkeys are a great option. I use a password manager for passkeys, but most people will use platform-provided keys that are stuck in one ecosystem (Google/Apple/MS). You probably need a way to register a new device, which brings you back again to email OTP or magic link (even if only as an account recovery option).
Right now I'm working on posts with interactive code snippets that you can edit / re-run directly in the page (like a Jupyter notebook). It's based off this: https://github.com/rameshvarun/blog-cells
Dunces on Deck is a 3-6 player party game where players use their phones to fill in prompts and select GIFs. A text-to-speech narrator then reads out a story generated using those prompts.
I previously tried to create a live JS object environment, however I used the Self prototype model rather than the Smalltalk model - https://rameshvarun.github.io/protoworld/. Version control is handled through an implementation of Self's transporter which serializes live object graphs into diffable code. The biggest issue is that there is so much UI work required just to match what you would get with a standard text editor and terminal.
In 2014, I wrote a minimax-based AI to play games on Pokemon Showdown. We adapted Showdown's battle simulator for our tree search. The hardest part was syncing the local simulator state with the actual game state - the battle state in Pokemon is both complex and partially observed. Bugs in this process could result in the AI using Protect twice because the state wasn't updated with the fact that it used Protect the previous turn.
The minimax AI was able to use tactics like Pain Split, Spikes, and Magic Guard.
I would love to see an official static site mode for Ghost (and Wordpress). That way we can get both a nice authoring experience and the low cost/security of S3 hosting.
Right now, I am hosting my personal site and blog on S3 + Cloudflare for 6 cents / month. I use Middleman, because I feel that it offers more flexibility than Hugo.
In the article, a Google spokesperson states that "The technology flags images for human review, and is for non-offensive uses only." The "killing machines" statement in the headline seems like an exaggeration when it should really refer to "surveillance machines."
According to the paper, "The data include the infant’s month of birth, and a clinical estimate of gestation in weeks, which we use to estimate a month of conception."
On miscarriages, "We interpret these data with caution because they come from a subset of one state, and because fetal deaths are under-reported. Nevertheless, the data provide no evidence of an increase in
miscarriages leading up to recessions that is anywhere near the magnitude required to explain a significant portion of the observed decrease in births." They similarly argue that abortions aren't significant enough to explain the reduction in births.
[0] https://github.com/rameshvarun/marble-mouse/blob/8b25684a815...