Everyone who uses a computer on a regular basis knows the importance of backups. Duplicity is one of the most widely used backup technologies, and it’s written in Python! This week Kenneth Loafman shares how Duplicity got started, how it works, and why you should be using it every day.
- Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
- I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.
- When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.
- Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.
- To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers
- Your host as usual is Tobias Macey and today I’m interviewing Kenneth Loafman about Duplicity, the Python based backup tool
- How did you get introduced to Python?
- Can you share some of the history of Duplicity?
- What is duplicity and how does it differ from other available backup tools?
- Many backup solutions are written in Java or lower level languages such as C, what is the motivation for using Python as the language for implementing Duplicity?
- At face value backing up files seems like a straightforward task but there is a lot of incidental complexity. Can you describe the architecture and internals of Duplicity that allow for it to handle a wide variety of use cases?
- It has been shown in a number of contexts that people will generally use the default settings, so by forcing people to opt out of encrypting their backups you are promoting security best practices in Duplicity. Why is it so important to have the archive encrypted, even if the storage medium is fully under the control of the person doing the backup?
- Given that backups need to be highly reliable what are the steps that you take during the development process to ensure that there are no regressions?
- What mechanisms are built into duplicity to prevent data corruption?
- What are some of the most difficult or complex aspects of the problem space that Duplicity is dealing with?
- I noticed that you have a proposal for a new archive format to replace Tar. Can you describe the motivation for that and the design choices that have been made?