This paper discusses recent developments in earthquake forecasting and nowcasting. It briefly summarizes some of the history of earthquake prediction studies and their search for precursory phenomena, including the Haicheng and Parkfield studies that led to successful predictions of quakes with magnitudes 7.3 and 6.0 in 1975 and 2004, respectively. The authors note that most researchers are currently pessimistic about the prospect of deterministic, short-term, earthquake prediction. Various aspects of earthquake science are reviewed, such as the equations for observational laws, short- and long-term cycle models, fractures and nucleations, etc. Several recent models for prediction are described, including regional earthquake likelihood models, load/unload response ratio, accelerating moment release, and more. The possible use of machine learning algorithms is discussed, highlighting the benefits of decision trees, random forests, and convolutional neural nets along with the use of standard open libraries such as ScikitLearn, Tensorflow and Keras. No new data are created or analyzed in this study, but it is a concise summary of the current state of the art.