I watched the video and I know the general principles - hot happens even when nobody is subscribed, cold happens "on demand". Also, Publish() converts cold to hot and Defer() converts hot to cold.
But still, I feel I am missing the details. Here are some questions I'd like to have answered:
- Can you give a comprehensive definition for these terms?
- Does it ever make sense to call Publish on a hot observable or Defer on a cold?
- What are the aspects of Hot/Cold conversions - do you loose messages, for example?
- Are there differences between hot and cold definitions for IObservable and IEnumerable?
- What are the general principles you should take into account when programming for cold or hot?
- Any other tips on hot/cold observables?