Step 1Sort through the beans, removing any little stones or debris. Rinse the beans and set aside.
Step 2Place a medium stock pot over medium heat. Add the oil, and when it's hot but not smoking, stir in the onion and ham hock and saute until the onions are lightly caramelized, about 10 minutes. Add the garlic and continue sauteing just until it's aromatic.
Step 3Stir in the beans and add 2 quarts water. Remove any beans that float. Bring the mixture to a strong boil, then reduce the heat to a gentle simmer. Cook the beans uncovered for at least 2 hours, until tender, stirring occasionally. Check the water level occasionally, adding additional water if it is absorbed too quickly (we added 1 3/4 cups over the 2-hour cooking period).
Step 4When the beans are tender, remove the ham hock, shred the meat and add it back to the pot, along with the chopped tomatoes, 1 teaspoon salt and one-fourth teaspoon pepper. Cook an additional 15 minutes, then taste and adjust the seasoning. The beans can be cooled and refrigerated at this point, then reheated before serving. They'll keep for 3 days, refrigerated.