Managing multiple email accounts with Mutt and Fetchmail

Recently, I switched to ProtonMail as a way of increasing my privacy online and moving away from the “data as currency” model of Google and Facebook (as part of this same effort, I closed my Facebook in favor of creating this blog!). However, most of what I describe here has been my setup for a while due to my penchant for two things:

  1. Wanting to keep my emails backed up (and a local copy always at hand).
  2. Wanting a simple but powerful email reader so that it gets out of the way while enabling as much customization as needed.

At the same time, I wanted a system where I could easily add and remove accounts while adding/removing as little configuration as possible, and this informs the way I partition my configuration files (as will be apparent).

As the title suggests, there are two different parts to this setup: fetchmail and mutt.

Continue reading “Managing multiple email accounts with Mutt and Fetchmail”

Converting Raspbian to Debian sid

So a while back, I decided to get a Raspberry Pi to setup as a UPnP media server for my local network (not accessible from outside the network). Of course, the standard procedure is to install Raspbian, which is a customized Debian-based distribution that works well with the Raspberry Pi.

However, this presents an annoyance: the Raspbian repositories contain a very tiny subset of the Debian respositories. This means that your software choice is reduced by a lot and, given that I wanted this to be a “set it and forget it” type of media server, compiling and updating programs from source was mostly out of the question (especially when that software was available in Debian!). I decided to go on an adventure and convert Raspbian to Debian proper.

Note: I did this a while ago, so I may be missing some steps. Please let me know in the comments and I will update it with more details if need be!

Continue reading “Converting Raspbian to Debian sid”

Privacy and security on the modern web

The modern web is fantastic — it offers super advanced functionality and APIs to the point where Progressive Web Apps are actually plausible replacements for full-blown native programs (although I personally am against them, it’s clear that they satisfy the use cases for the vast majority of users, given their popularity).

But the modern web is also a privacy nightmare. Trackers, analytics, you name it, it’s there. Javascript APIs to sniff location, bluetooth state, battery state — it’s ludicrous. Browser fingerprinting, where the interested party uses attributes of your browser (such as screen size, color depth, operating system, and so on) to track you (possibly without cookies), is more of a concern than ever. All of this on top of the fact that browser makers themselves have access to a wealth of information about the user, something that doesn’t escape the notice of e.g. Google or Microsoft.

So what can we do? What can we, the humble users of these products, do to protect ourselves from all this tracking? Well…as someone who’s been trying to fight this stuff since I learned about it, I’ve come up with a couple of tricks, which seem to work fairly well.

Continue reading “Privacy and security on the modern web”

Encrypted, incremental backups to the cloud

A couple of weeks ago, my laptop’s hard drive died and I ended up purchasing a new one. I hadn’t taken a backup in about 3 weeks, so I lost some progress on my research. This got me thinking about having a backup method with less friction than my current one.

My existing backup routine consists of plugging in my external hard drive, mounting it, running my backup script, taking a full image of my boot drive, and unmounting it. Not entirely awful (most of it is automated and it’s mostly just waiting), but there’s still friction around the initial steps of plugging in the drive and mounting it. Additionally, taking a full system image means having a read/write LVM snapshot (which becomes an issue if it is completely filled), which means I need to sit and wait around for the system image to finish — if I leave it for too long, the writes to the snapshot will accumulate, the snapshot will fill up, and bad things will happen.

Continue reading “Encrypted, incremental backups to the cloud”

Taxes on Linux

Taxes have always been an annoyance, at least here in America where the tax code is as long as your intestine (and just as convoluted!). But taxes are extra annoying on Linux due to the scarce availability of tax prep software on the platform. When I first started doing my taxes, I copped out and used a version of Turbo Tax on a Windows virtual machine I had (my parents had TurboTax already, so it was just a matter of installing it). But that year, I resolved to make taxes work on Linux.

Given that my taxes are generally fairly simple (I’m a graduate student…generally it’s just a W-2 and 1099-INT), the biggest hurdle I faced was finding a way to (easily) fill in the PDF forms. Enter pdftk.

pdftk is a fantastic piece of software for many reasons. In this case, though, it’s particularly useful because of two commands: dump_data_fields and fill_form. You might be able to see where this is going.

Continue reading “Taxes on Linux”