Recent results on mesonic and non-mesonic weak decays