Came here to post this same link but you beat me to it! Big Clive's videos are brilliant—highly recommend his channel to anyone remotely interested in electricity/electronics.
This is a fantastic and well-written guide, thank you!
I recently wrote a toy caching DNS proxy in Elixir, and I have a question which I’ve never been able to figure out. Individual DNS records for the same hostname can have different TTLs configured. For example, 30s for one record and 300s for another. As a caching resolver, what is the expected behaviour when the record with the shorter TTL has expired but the other has not? I chose to invalidate the entire thing and make a new query upstream, but I’ve always wondered what the “proper” behaviour should be.