when I asked people to explain how UDP works I got a lot of answers to the effect of "it's spray and pray"

but I'm having trouble thinking of examples of UDP-based protocols that actually work in a "spray and pray" way —

* DNS is "send 1 packet, retry if you don't get a reply”
* QUIC is a sophisticated system for streaming data over UDP
* I'd guess that video protocols correct for packet loss
* maybe statsd is a "spray and pray” system?

(please do not reply to this explaining how UDP works)

@b0rk what does "spray and pray" even mean? You won't get things working by praying, instead you have to implement retries or some other strategy to handle packet losses and reordering.
Maybe it makes sense to describe how you implement UDP (if you are writing a network stack, which few people do), but not how you use UDP to implement some networking things?
@b0rk regarding video protocols: typically this will be rtp or rtsp, they both have timestamps in each packet, so the receiâer can know something is missing (and how long the missing part lasts), and also if some packets are arriving too late and should be dropped. There will be no retry/retransmission in these. The complexity is mostly on the receiver side, so you can do multicast (with the sender not having to worry about how each receiver is doing)