http://www.keithschwarz.com/darts-dice-coins/ gives a step-by-step derivation of the alias method from simpler algorithms.
thanks! my reaction to discovering the algorithm was precisely the same as the author’s:
Second, and perhaps more surprisingly, this algorithm has been known for decades, but I had not once encountered it! Considering how much processing time is dedicated to simulation, I would have expected this technique to be better- known.
the /r/compsci discussion has links to some related algorithms