Step 1Bring water to boil in a wide, shallow pot. Add 1 tablespoon of salt and the cabbage, and cover. Once the water returns to a boil, cook the cabbage just until its color brightens, about 2 minutes, then drain.
Step 2Dry the pot, add 1 tablespoon of the olive oil and heat it over medium-high heat. Add the ham, if using, and cook until browned, about 2 minutes. If using the bacon, skip the oil and cook the diced bacon until crisp, 2 to 3 minutes. Add the onion, turn the heat to medium and cook, stirring occasionally, until the onion softens, 3 to 4 minutes. Add the drained cabbage and salt and pepper to taste, and stir, scraping up any brown bits (there'll be enough moisture in the cabbage to do this). Cook, uncovered, until the cabbage is tender and lightly browned, or until you finish making the rest of dinner or about 10 minutes.
Step 3Meanwhile, place the eggs in a covered saucepan of water, bring to a boil and boil 2 minutes. From start to finish, this should take about 10 minutes if the eggs are cold. Drain the eggs, run under cold water and peel.
Step 4In a small bowl, whisk together the mustard, lemon juice, 3/4 teaspoon of salt, generous grinds of pepper and the tablespoon of water until well blended. Whisk in 2 to 3 tablespoons of olive oil. Place the cabbage mixture in a shallow serving bowl or on a platter. Roughly chop the eggs (the yolks should be a little runny) and place them on top of the cabbage mixture. Pour the dressing over all. Add salt and pepper if desired.