I don't claim to be a dog trainer, but if anyone is interested, here is a few tips:
In the dog world, the leader of the pack eats first. This is an important lesson to teach your dog (when he is a pup if possible). Free feeding is a bad idea. If the dog can come and go to his food as desired, he is providing for himself in his mind. With a new dog, we take the bowl of food and place two human cookies on top of it. Before laying the bowl down for the dog, we eat our cookies while making a big deal about how good it is in front of the dog. We as leaders of the pack took our share before allowing him to eat. All members of the household should participate to let the dog know he is below the humans. If the dog seems to be accepting his status, we usually get lazy and stop after a few weeks.
In a typical day, a house dog hears numerous human voices. IE family conversations. Radio, television, etc. Very little of it applies to him, so he tends to tune out. When talking to your dog, always say his name first. That way he knows what follows will apply to him.
Do not call your dog to you to punish him. Always make his coming to you a pleasant experience. Someday you may need him to come to you immediately. Positive reinforcement is usually better anyhow.