Cut mackerels into thick steaks, about 1½ inch thick. Discard the heads. You should have about 25-28 oz of fish steaks. Rub them with salt, then rinse and pat dry.
Add the sugar and 2 tablespoons water in a small pot. Bring to a boil, the sugar will fully dissolve. Lower the heat to medium, continue to simmer. You will see a lot of bubbles on the surface.
The mixture will then turn from clear to yellow, and get darker as you simmer it. When it has a honey color, reduce the heat slightly. Keep watching closely, until it has a dark caramel color, turn off the heat and carefully add the remaining water. Stir to dissolve the caramel completely and the caramel liquid should have a dark amber color.
In a heavy bottomed pot, arrange a layer of galangal to cover the bottom, followed by shallots and then tomato slices, reserving just a few of them. Arrange the fish steaks so that they snuggle in a single layer. Scatter the reserved galangal, shallots and tomatoes over the fish steaks. Also add the bird's eye chili now if using.
Add fish sauce, soy sauce, the caramel liquid in Step 3 and some black pepper to the pot. The liquid should be enough to cover the fish. Add a bit more water if not enough.
Place the pot over medium to medium-high heat to bring the liquid to a boil. Once it starts to boil, add the lime juice. Lower the heat to a simmer and cover the pot to braise for about 1.5 hours. Occasionally spoon the braising liquid over the fish.
After 1.5 hours, open the lid. Taste the braising liquid and adjust it to your taste, but remember it will get saltier as we continue cooking.
Continue to braise the fish with the lid askew to let the liquid reduce. Turn off the heat when there is just enough sauce to coat the bottom of the pot (or sooner if you prefer more sauce).