Wow you posted
I would deal with the food by just giving him little enough that if it all ends up on the floor it is not a big deal. I mean really how long is he going to enjoy throwing it on the floor or squishing it between his fingers? This was not something I felt like I had to work on to get rid of before to long.
And the whineing and scraming will lessen as he is better able to express him self. A few months ago he babbled and you talked back and he thought everyone understood him and all was well. Not to long ago he woke up one morning (and it is about that fast) and realized that no one really knew what he was saying, no one could understand him. If that happened to you tommorow can you imagine how frustrating it would be? I would probably be screaming and whining too.
What I usually do is first try to understand what he is saying- even during the whining and screaming at this point. You want down, you want the cup, you want to put it in the box, whatever, make him feel understood. Then give him a better way to say it as you help him. At this point something very simple like- "cup, please", "help" or a sign (most people use ASL signs but I have always had the best luck with the ones they make up, if I can see that two tugs on the strap in his high chair as the "word" for let me out of here, it works well for both of us).
Playing games where you change your voice when he is not already screaming can help too. When you are hiding under a blanket, work on whispering, sing songs that have loud parts and quiet part, ect. It takes a while to learn that you are being really loud and then how to "speak" quietly.
And everything is going to have to be repeated over and over for years- not whining, or yelling when I am angry, tired, or hungry is something I still work on, and in my experience (and you were a waitress I am sure you will agree) most people could still use some help on asking nicely.
Glad to see you here!