In a wok or large skillet set over medium-high heat, add the bacon and cook, stirring, until it is very crisp, and the fat has rendered, about 10 minutes. Remove the bacon with a slotted spoon and set aside. Pour the bacon fat out from the skillet until about 2 tablespoons remain. Return the pan to medium-high heat, add the shallots to the bacon fat, and cook, stirring, until soft, about 3 minutes. Add the corn and continue cooking, stirring occasionally, until the corn begins to brown, about 6 minutes. Stir in the tomatoes and chiles. Add the crispy bacon and fish sauce and remove from the heat. Then add the cilantro, lime juice and avocado. Gently toss to combine. Taste and season with salt and pepper. Serve warm, chilled or at room temperature.