We built xltrail[0] (cloud and self-hosted SaaS) that lets you see the diffs for sheets, VBA, and a couple other things. You put in your git repo and it just works. You can also have a manual versioning option where you upload new versions of the same file and you get the same result.
We also have the open source git extension Git XL[1] that lets you see VBA diffs locally.
Rocket League? The skill ceiling is super high but the ranking system works pretty well and in the lower ranks tactics and positioning is more important than mechanical abilities.
Kettlebells can get you a long way for sure, but are not really suitable for the bigger lifts from disciplines like powerlifting and olympic lifting. The biggest kettlebell I can find online is 92kg, even with one in each hand that's not enough for many. Part of the benefit of plates and barbells is you load them up 20/25kg at a timel, two 92kg kettle bells would be cumbersome to get into position!
That's true. But for parent's objective of keeping their fitness and hopefully their strength, a couple of kettlebells are probably better that mountain biking, and it takes far less equipment and space than a proper rack, bar and plates.
Having a queue means you have a distributed system. How do you handle network problems, errors/retries, back pressure? OTP has excellent idiomatic tools for all that and more.
Elixir developers who need a queue generally reach for Rabbit (which any language can use), or something backed in a database like rihanna[1] or honeydew[2]. Rolling your own distributed system is very much a last resort, and despite its excellent concurrency characteristics the BEAM still lacks basics such as a battle-tested raft implementation.
> and despite its excellent concurrency characteristics the BEAM still lacks basics such as a battle-tested raft implementation.
A couple of years ago the RabbitMQ team has published a raft library[1] which they use in their implementation of persistent queues. It has a flexible API and implementing your own state machines is quite straightforward, as it follows the OTP gen_* behaviour paradigm.
And by now, I'd say it's pretty well battle-tested.