Use a good quality, non-glazed, preferably uncured ham for this. I like Beeler's.
All measurements are estimated. Total cook time up to 4 hours. Prep time 30 min. Makes about three quarts, enough to feed a crowd or freeze for later.
You'll notice there is no additional salt in this recipe: the bouillon and the ham are quite salty enough on their own.
2 cups (1 lb) dried pinto beans
1/4 cup olive oil
1/2 chopped sweet yellow onion (1 cup)
1 small shallot, minced
2-3 cups diced ham
2-3 tsp chicken bouillon powder (adjust to suit your salt preference)
1 tsp black pepper
1/2 tsp white pepper
2-3 tsp dried parsley
1 tsp dried tarragon
1 tsp dried thyme
1/4 cup Dijon mustard
To prep the beans, put in a large stock pot with plenty of cool water. Cover and bring to boil. Boil 5 min, then turn off heat, leave covered on the stove 1 hour.
After an hour, drain the beans and rinse in warm water until clear. Add more clean water to more than cover the beans and return to stove on medium heat. Add all other ingredients, cover and simmer for 90 minutes, stirring occasionally. After about 90 minutes you can test the beans for doneness: scoop up a spoonful and blow on them; if their skins split and curl they are done enough to eat.
However, for a nice thick porridge-like soup and tender beans, let simmer another hour. I find 2.5 to 3 hours cook time gives the nicest texture. Stir now and then and add water in increments if necessary.