Season with salt and pepper, and put in a skillet that will fit it comfortably; turn heat to medium, and cover.
Check once you hear sizzling: duck should be simmering in its own fat and exuding liquid.
Adjust heat to create a steady simmer.
Once bottom browns, turn.
Eventually liquid will evaporate and duck will cook in fat only; at this point, lower heat and continue to cook duck, turning once in a while, until it becomes tender, about an hour.
Transfer duck to a plate.
Pour off all but a couple of tablespoons of fat.
Turn heat to medium high, and add onion; cook, stirring occasionally, until it softens, about 5 minutes.
Add ginger, garlic and chilies and cook, stirring, for 30 seconds.
Add beans and sugar and turn heat to high; cook, stirring occasionally, until beans begin to brown, about 5 minutes.
Add 2 tablespoons water and nam pla or soy sauce.
Put duck on top of bean mixture and bring to a simmer.
Cover and cook until both beans and duck are very tender, 15 to 30 more minutes, adding a little more water if necessary to keep mixture moist.
(You can prepare dish in advance up to this point; cover and set aside until ready to eat, then reheat.) Uncover and stir in lime juice; taste and adjust seasoning, then sprinkle with cilantro and serve.