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].
ScriptX had a clock hierarchy, similar to a 2d or 3d transform hierarchy, but instead of each node just inheriting and modifying translation/scale/rotation, they also inherited and modified the "timebase" (time offset and scale).
DonHopkins on Aug 18, 2024 | root | parent | next [–]
The QuickTime API supported reverse play around 1993 or so, when I enjoyed using it for "back and forth" animated sprites, and playing music videos backwards to reveal the satanic messages with demonic backmasking.
Reverse / Backwards Moonwalk - Michael Jackson - Better Than The Original!!!
Here's the documentation and code I wrote when working at Kaleida Labs (a joint venture of Apple and IBM) on a ScriptX animation library that used QuickTime and other renderers, and depended on QuickTime's support for playing videos backwards, and single stepping forward and backwards of course:
ScriptX's QuickTime renderer would even play audio backwards and at whatever speed, too. ScriptX had excellent multimedia clock synchronization, and we would have considered it a terrible bug if ScriptX was not able to seamlessly and transparently synchronize video and audio with any arbitrary clock, time offset, and time scale, no matter what the speed and direction.
I'm sad that 31 years later, web browser video and audio players (not to mention VLC) don't support hierarchical clocks like ScriptX did for multimedia synchronization. (Each child clock can have a time offset and time scale relative to its parent, and everything's automatically kept in sync, from the simulation to the renderer.)
Here is Kaleida's (then Apple's) 1993 patent on "Synchronized clocks and media players", which has long since expired in 2013:
>Abstract: A media player and the clock which controls it are integrated into a single object. This integration may be achieved by the construct of inheritance between objects in an object oriented programming environment. A software class for player objects is established which inherits from a software class for clock objects. In this way, a player "is a" clock. This integration provides improved synchronization among different media, and simplifies design of applications which employ player objects and clock objects. Each object is synchronized to a RootClock object which operates at the speed of the fastest media player in the system. The RootClock may be separated into "low" order and "high" order components and a compare register in order to reduce interrupt overhead.
>[...] QuickTime essentially allows a multimedia player to process timebased data. Since the data are time based, QuickTime provides for the description of "time" (called time basis) for the data as well as a definition of the context for evaluating that "time." In QuickTime, a movie's or media's time basis is called its "timebase."
>A timebase is essentially a vector that defines the direction and velocity of time for a movie or media. The context for a timebase is called its time coordinate system. Conceptually, a time coordinate system provides an axis for measuring time. The time coordinate system, like a geometrical axis, is divided into units of measurement by a measurement system, called a time scale. [...]
DonHopkins on Dec 29, 2018 | parent | context | favorite | on: Steve Jobs hired a career juggler to teach program...
Oh, of course I wish Apple and IBM had made it free! But it included Apple's "crown jewels", the QuickTime player source code, and they were't going to give that away in 1995. Apple were even trepidatious about IBM having access to that source code.
Besides having proprietary decoders, it could also do some things you can't even do well with the Flash player or html video component today: like smoothly playing videos and music backwards!
Ever since the music industry switched from vinyl to CD, listening to demonic backmasking in Devil Music like the Beatles and Led Zeppelin's promotion of Satanism became much less convenient. ScriptX solved that important problem elegantly with its synchronized clock system, but today's HTML video player still hasn't, alas.
>Kaleida Lab's ScriptX (a multimedia programing language kinda like Dylan with classes) had built-in support for hierarchal clocks within the container (in the sense of "window" not "vm") hierarchy. The same way every window or node has a 2D or 3D transformation matrix, each clock has a time scale and offset relative to its parent, so anything that consumes time (like a QuickTime player, or a simulation) runs at the scaled and offset time that it inherits through its parent container. And you can move and scale each container around in time as necessary, to pause movies or simulations.) You could even set the scale to a negative number, and it played QuickTime movies backwards! (That was pretty cool in 1995 -- try playing a movie backwards in the web browser today!)
Kind of feels like they might have done it on purpose, just to "trigger" people and get more engagement. Feels like a lot of people are falling for it too, so I guess good for them.
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
Basically I've tried running the demos (the linked demo page) from that project inside Chrome 113. I keep getting a network error. Appears to me that huggingface LFS download, the model obviously, isn't available.
I also tried to clone the repository locally but the instructions aren't entirely clear on how to get the models installed.
Did you clone and run locally? Or are you using the demo site? Or perhaps in something like Colab?
me:
rewrite this text to make it less obvious that it was written by chatgpt
chatgpt:
It is unclear whether Google should be specifically concerned with ChatGPT, as it is a relatively new and unknown player in the field of natural language processing and conversational AI. However, as a leading player in the field of AI and technology, Google is always looking to stay competitive and may be closely monitoring advancements in the conversational AI space.
In terms of potential competition with ChatGPT, Google has its own conversational AI technology in the form of Google Assistant. Google Assistant is a widely used and highly advanced virtual assistant that is available on a variety of devices and platforms. It is likely that Google will continue to invest in and improve their own technology to maintain their competitive advantage in the market.
Overall, while it is difficult to predict whether Google should be specifically concerned with ChatGPT, the company is likely keeping an eye on developments in the conversational AI space and working to maintain its position as a leader in the field.
I went a few more rounds with it, trying to shorten it down and making it more and more casual. Ended up with
> It's tough to say whether Google should be worried about ChatGPT, it's new and unknown in the world of natural language processing and conversational AI. But, Google is always looking to stay competitive and might be keeping tabs on what's going on in the conversational AI space. They have their own AI tech in Google Assistant. It's likely that Google will continue to improve their tech to keep their edge in the market. Overall, it's tough to say for sure whether Google should be specifically concerned with ChatGPT, but they're probably keeping an eye on what's going on in the conversational AI space.
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.
[0] https://github.com/rameshvarun/marble-mouse/blob/8b25684a815...