Has anyone managed to learn to speak a language fluently without having a native speaker to practice with?

If so, how did you do it? Which programs or apps did you use? How long did it take you to get fluent?