Once your database becomes sufficiently complex you start writing a lot more sql.
ActiveRecord's way of chaining scopes to combine multiple scopes is brittle. You can't customize the conditions. Ecto solves this by giving you composability. You can build on top of your earlier commands. If you combine this with pattern matching in the functions or Enum.reduce you have an extremely powerful and a flexible query engine.
Ecto also relies on the strengths of underlying database engine rather than treating it as a black box. If you are dealing with 100s of tables Rails way of polymorphic design doesn't give you referential integrity. I like Ecto's recommendations: https://hexdocs.pm/ecto/polymorphic-associations-with-many-t...
Every time I think "this is going to be tricky".. nope. Ecto seems to have thought of that.
Redux also helped me grow a lot as an engineer. I'm sure the concepts that it builds on aren't new, but they were new to me when I first started using Redux and I now spend a lot of time thinking the way Redux taught (or forced) me to think.
OVHs need to be in India and East Asia to interest me again.
Routing in Asia will remain crappy due to these peering problems, and volume wholesalers will be few and far between so long as power is spendy.