1. Prepare a large bowl of ice water. Set aside. Bring a large pot of water to a boil. Place the asparagus in the water until they turn bright green and become slightly tender (cooking time will vary, depending on the thickness of the asparagus). Remove from boiling water with tongs and plunge into ice water. Drain and set aside.
2. Break eggs into individual ramekins or small bowls without breaking the yokes. Heat about 1½ inch of water in a medium nonstick skillet over medium heat. Bring water to a gentle simmer, and then reduce heat to low. The water should barely be simmering. Add vinegar to the pan. This will help hold the eggs together. Using a spoon, stir the water in the pan around the edges to create a gentle whirlpool in the center. Holding the ramekin close to the surface of the water, gently pour an egg gently into the center of the whirlpool. Let the egg cook undisturbed until the egg is set, 3 to 4 minutes. Using a slotted spoon, transfer the egg to a folded paper towel on a plate. (If the egg sticks to the pan, gently free it with a spatula.) Continue with the remaining eggs. (Or use a stainless steel egg poacher if you want to make it easy!)
3. When you are ready to assemble the dish, place a skillet over medium high heat, and toss asparagus with a pat of butter until the asparagus is warm. Sprinkle with salt and pepper. Place 8 spears of asparagus on each plate and top with a slice or two of the salmon, followed with an egg. Sprinkle eggs with a pinch of salt and pepper. Some people will top this off with a spoonful of hollandaise sauce, which is delightful. You can find a delicious recipe for a nutritious Hollandaise Sauce Here.