In a large pan, melt 1 Tbsp of butter over medium-high heat. Add in chopped bacon and cook, stirring frequently, until crispy. Remove bacon with a slotted spoon and place on a paper towel lined plate to drain. Reserve 1 Tbsp of bacon fat and discard the rest. Add the reserved fat back to the pan and add in shallot and jalapeño. Cook over medium heat until softened, approximately 5 minutes. Stir in garlic and cook for an additional minute.
Stir in chicken stock, salt, cumin, chile powder, red pepper flakes and black pepper. Then add in the rinsed beans. Bring mixture to a boil, then reduce to a simmer and cover. Cook for 1 hour, stirring occasionally, until beans are tender.
When beans are tender, mash approximately half of them with a wooden spoon. Stir in the the non-smashed beans and season with salt and pepper to taste.
Serve over cooked rice.