I always watch sitcoms at dinnertime, at least half an hour a day. Once in a while, do an intensive watching, jot down some sentences or idioms I catch from the show while I am watching. It is always a good idea to turn on the caption if you find it is hard to follow. Listen as much as possible and look at the caption only when you really do not understand. Sometimes, I even go online to read up the scripts to figure out what I have missed while watching.
If my job is to deal with customers or patients, I will have many chances to use those idioms or phrases. But as a system administrator who used to be a programmer, I hole up in my cubicle all day by myself. All my co-workers are Indians. I don’t expect to improve my English with them very much. So odds are not on my side.
That is the reason I like to write some articles or answer some questions here in English to sharpen what I have learned. (You are also doing the same thing here, right? :))
In daily life, if I get any chance, no matter it is to attend my son’s teacher-parent session at school or to take him to see the doctor, I will try to practice it as much as I can.