Category Archives: Programming Ethics

IceDove, old mail, and malicious software updates

So, I went to icedove and looked into my mail archive to get some things I remembered writing that would make good blog posts.

It turns out that there’s been an update to the software, adding a capability to automatically delete emails older than one year. And when that update was made, the default setting was ‘ON.’ The result is that my archives of old mail got trashed. My wife’s courtship, my marriage, my father’s death and all the writing back and forth to my siblings that happened during and after, the records of all the things I’ve done and been to, ten years of family and professional correspondence, logins to various forums, cryptographic keys, …. All gone.

Hey, you guys? You who we trust to maintain software for us? What you did there…. Don’t do that.

It is nothing less than despicable – perhaps even criminal – to update software in a way that will cause it to throw away user data by default and without notice. If programming were a licensed profession (which I don’t think it’s quite ready to be yet), that is the sort of behavior that ought to get one’s license suspended for some period of time. And the personal nature of the data thrown away really touches a nerve. That’s more-or-less how a programmer screams a big “fuck-you” to all the users of the software. And quite the wakeup call that this is a programmer whom we cannot trust and that the process that should have stopped this from going into effect is a process we cannot trust.

However, programmers and processes that we cannot trust are among the reasons why we make backups. Along with hardware we can’t trust, malicious software, and just plain ol’ administrative mistakes. After a panicky few moments, I went to my backups and found all the data still there.

You have made backups recently haven’t you?

Go. Do it now.

‘Cos you never know when you’re going to need them or why.