Rinse the asparagus under cold water. Remove the bottom half inch and discard. Cut into ½ inch pieces. Set the tips to the side.
Boil the asparagus for 2-3 minutes. Add tips for the last minute. With a slotted spoon, remove to a bowl of cold water to stop cooking.
Keep the remaining water warm over a low flame.
In a large skillet, over medium heat, sauté the onion in half of the butter and the olive oil until translucent. Add the rice and stir together until opaque and lightly toasted. Add a ladle of the warm asparagus water. Continue to cook and stir (preferably with a fork) until the liquid is almost fully absorbed. As the liquid absorbs, add more stock, a ladle at a time, waiting until almost completely absorbed before adding more. Add the asparagus pieces with the last ladle of stock that is required. Cook until rice is al dente, about 10-15 minutes. (You may not need to use all of the stock, depending on how quickly it absorbs.)
Mix in the remaining butter and cheese. Remove the skillet from the heat. Serve immediately with some fresh black pepper.