Extractors are functions which are able to "extract" random bits from arbitrary distributions which "contain" sufficient randomness. Explicit constructions of extractors have many applications in complexity theory and combinatorics. This manuscript is a survey of recent developments in extractors and focuses on explicit constructions of extractors following Trevisan's breakthrough result [Tre99].