Value

When a company says something along the lines of “We value your privacy,” it’s somehow very easy to interpret that as “We have calculated a dollar amount of what your privacy is worth.”

I’m guessing that of course that isn’t how they’re hoping that statement is read, but I have to wonder if the statement was carefully crafted with the double meaning in mind…

Tip of the Day: Child-folder-only IMAP folders

Maybe this is actually documented somewhere, but I had trouble finding it even though I have fun reading through RFCs. So maybe this is actually Dovecot-specific, but it wouldn’t shock me if other IMAP servers behaved the same way.

The problem statement: I wanted to have a folder under my inbox, with subfolders under it, but the parent folder not able to accidentally have mail items in it. So, a structure like:

  • INBOX
    • Receipts
      • Archived
      • Still to deal with

Where the “Receipts” folder was only a container of subfolders, but it couldn’t have its own items inside. I could tell that IMAP supported this concept with a \Noselect attribute that folders could have, but it wasn’t clear to me how to just make a folder like that without specific server configuration to try to set up regular folders that way.

But it actually ended up being simple: When creating the folder, just put the path separator (/ in my case) at the end of the name. I was playing around with a raw IMAP connection trying it, but it turns out that I can just do it in, say, Thunderbird directly by just requesting the new folder name to be “Receipts/” instead of “Receipts“.

The only “spec” I could find describing this behavior, in either IMAP 4rev1 or IMAP 4rev2, is the confusing sentence that “If the mailbox name is suffixed with the server’s hierarchy separator character (as returned from the server by a LIST command), this is a declaration that the client intends to create mailbox names under this name in the hierarchy.” That doesn’t seem to make it clear to me that the intent there is for creating mailbox names under that name but not having the mailbox itself have items, but that’s at least how Dovecot 2.3.19.1 seems to handle it so I’m hoping it’s at least somewhat a standard.

Kaboom, the “cruel, but fair” Minesweeper variant

I recently stumbled across “Kaboom” which is a really interesting take on the classic Minesweeper. Rather than the board being set up randomly, the game plays antagonistically against you. That is, based on what you’ve revealed so far, if you click to reveal a space that could have a mine on it, it does have a mine on it. The exception (making it winnable) is that if you have cleared all spaces where you could infer with certainty from what’s revealed that there isn’t a mine there (that is, you’re forced to guess), then your guess is guaranteed to be safe.

It turns out there aren’t nearly as many scenarios where you’re forced to guess as I would have thought. It turns Minesweeper from being a little time-waster with some logical deduction into being completely based on logical deduction. That is, every game is winnable, and the only way to lose is if you haven’t cleared all possible-to-have-known-were-empty spaces before moving on to might-be-empty spaces.

I’m now curious if there were other classic games you could do this kind of idea with.

Significant Figures

I have been curious for quite some time, if the calculation of the US National Debt is the quantity with the most significant figures that’s regularly used. It’s currently at 16 digits, and is calculated each and every business day. Their FAQ states that “daily accounting is still the most effective, efficient, and accurate way to account for the debt.”

Most physics constants don’t have anywhere close to 16 digits of certainty.

Insert obligatory reference to Feynman’s quote on economical numbers here.

acme-lambda-renewal

I’d been looking for a way to renew my Let’s Encrypt TLS/SSL certificates via AWS Lambda (using DNS authentication by updating Route 53) rather than web authentication. This project started since I wanted to separate out my mail server from my web server, and while I suppose I could run Apache (or whatever) on the mail server just to be able to request certificates it seems kind of silly, and this sort of automatic run-a-piece-of-code-occasionally scenario seemed like the perfect chance to use AWS Lambda.

I expected this to be a common & solved problem, but in my searching around the Internet I didn’t really see exactly what I was looking for. There were some solutions out there, but they seemed overly complicated for just “renew my certificates every two months”, and some were out of date (not even updated to the ACME v2 protocol). So I figured I’d need to write at least some code myself.

Continue reading

Are you sure?

Status

I wish that when computers ask “Are you sure?” that there were a response available for “No, I’m not sure, but I’d like you to proceed anyway. But thanks for asking!”