If you had your favorite meal prepared and sitting right in front of you I'll bet anything less than the house burning down wouldn't stop you from eating it. Even then you might steal at least a few bites as you dashed out the door.
The challenge we all face with food is simply abundance. There is too much of it around and it's too damn tasty to avoid eating. Dividing food up into categories like fats and carbs, and timing meals and all of that stuff is all just a way to get us to eat less of it.
But none of those diet tricks ever address the biggest and most influential factor that affects the way we eat, and that factor is: other people.
You and I both have people in our lives that tend to eat less than us and others that tend to eat more than us. Depending on which one you happen to hang around with you may end up eating more or less.
There is a very strong social link to eating. In fact I cannot think of any social gathering that doesn't involve food or drink. We truly do celebrate company with food. So how do you continue living a fun social life without being the person who always has to say 'no I'm only having a salad' when all the food comes out?
As far I can tell it seems easier to go with the flow than try to push against it. In other words, if you already know that social situations are when you will be tempted the most to eat then go with it. Schedule your eating time around social events. But when you're not at these events keeps your calories low. This way you can afford to eat guilt free wherever you are without worrying about gaining weight.
For example: Try eating very low calories the day before or the morning and afternoon of the day you know you'll be going out for dinner with some friends. At least this way you can partake in all the food and drink in the evening without feeling guilty and without gaining weight. As long as you create enough of a calorie deficit to offset the calorie surplus at dinner you should be fine.
The one key to making this all work is to create the deficit BEFORE you go out for dinner, never after. If you try to tell yourself that you'll work off the calories AFTER eating a big meal you're fighting a losing battle. This is the same as saving up your money to buy something or buying it on credit and telling yourself the lie that you'll pay your credit card off before your bill comes in. But you and I both know we'll never pay the credit card off, and instead we end up just making the minimum payment. This is no different than overeating today while telling yourself you'll eat less tomorrow and go to the gym. It usually never happens.
If you want to stay ahead in the weight loss game then start thinking of your calories like a bank account that has no credit card. Calories must go out before you put them back in. This is your best bet for lasting weight loss success.