it's Oracle's UI library that they encourage their official partners to use. I've had the misfortune of doing some consulting for a company that used it, it's actually very fully featured but the internals are totally insane and very dated.
kysely is an excellent successor to Knex, strongly recommended. Pair it with something like https://github.com/kristiandupont/kanel to generate types from your schema.
TypeScript has a notorious "Type instantiation is excessively deep and possibly infinite" warning that can often be unsafely ignored with a `@ts-expect-error` comment
Programmers who are not aware of the pitfalls will use the sync version and build apps that have terrible ux, so it’s better to not give them the option unless there’s a really good reason to, so what’s the use case here?
How would you "handle the async" at a different layer? If you were to call sync crypto methods, they'd block the event loop no matter where you call them - unless you call them from a Worker, at which point they're async calls again.
The only real use case would be small scripts where you don't care about sync/async, but experience shows that devs will abuse the sync functions in scenarios where the async ones would be appropriate.
It’s all about tension on the lightning connector imo - the connector isn’t designed for that level of flexibility, so it would break and it’s not like they’re going to use a different connector just for the mouse
This is the best steelmanning I've seen of the Magic Mouse charging port design; I'm surprised I never encountered it before. It actually makes a lot of sense considering how stiff the cables typically are, and it also then makes sense that the (immobile) Magic Keyboard and Magic Trackpad do have a charging port you can use while the device is in use.
It's nonsense -- plenty of people use phones and iPads while tethered to a charging cord. The port is well secured to the logic board of the device because it has to survive a lot of yanking, accidental falls, etc. It doesn't explain the Magic Mouse design.