Rinse the beans in a colander and discard any pieces of grit or unwanted bits.
Put them in a big pot with 6 cups of water, or enough to cover by 2 inches or so.
Add the onion, salt and bay leaf, then bring to a boil and simmer for 1 to 2 hours, until the beans are tender.
Check a few times during cooking and add more water if needed.
Drain the beans and keep ¼ cup of the cooking liquid.
Fry the bacon for 5 minutes in a large pot and then drain off some of the grease.
Add the onion and the garlic and cook until the onion is tender.
Add the ham, tomatoes, cilantro, peppers, oregano, cumin, paprika, and black pepper, and cook for 5 minutes.
Add the drained cooked beans, reserved broth and the beer, and simmer for about 15 minutes.
Add more salt and/or pepper if needed, or any other spices.
Garnish with cilantro
serve as the main meal with warmed tortillas or enjoy it as a side dish.