Preheat oven to 425 degrees.
Heat olive oil in a cast iron skillet over medium heat.
Add the hash browns to the skillet in an even layer. Let them sit for about 5 minutes, or until they develop a golden crust on the bottom.
Mix in the onion and allow the hash browns to sit again for a few more minutes.
Stir in the ham. Then, remove the mixture from the skillet and set aside.
In a large bowl, add the eggs, milk, and a splash of Tabasco sauce, if desired. Season with salt and pepper.
Add a little more olive oil to the cast iron skillet, if necessary, and pour in the egg mixture.
Cook eggs 5 minutes. While eggs are starting to set, add hash brown mixture back into skillet and sprinkle with cheese.
Place the frittata in the preheated oven and cook for 18 minutes, or until the eggs are set and the edges are golden brown.
Allow the frittata to cool slightly before serving. Serve with chopped green onions, if desired.