I have been critical of Popper (or really of a cartoon version of Popper who lives in my mind) in the past, so when I passed a copy of his book The logic of scientific discovery in a Wellington, NZ bookstore, I picked it up. I have only just started, but I realize that his really important contribution—and one with which I agree wholeheartedly and as do all probabilistic reasoners (I hope)—is that we should stop trying to solve any kind of problem of
induction: We do not generate general rules by making repeated, specific observations! We use repeated observations to test hypotheses. We create generalizations, figure out their consequences, and test those against the data. The data do not create our laws; we create them.
Where I disagree with Popper is in the question of falsification. Popper believes (I think; I haven't read him yet!) that laws can only be falsified when compared with data. I believe that falsification is never absolute, and that falsification of competitors can be effectively confirmatory to the competing hypothesis.