Cut each asparagus stalk into three equal pieces.
Put asparagus in a large frying pan with enough water to almost cover. Boil for a few minutes until fork can pierce the asparagus, but still remains crisp.
Drain the asparagus (this can be done earlier in the day).
Add to the asparagus the olive oil, butter, red onion, red pepper flakes, salt, pepper and corn to pan and saute on low for several minutes.
Add fresh herbs and stir for 30 seconds.