General

Slashed Zero

Peter Cooper Jr.

I find it really interesting that CSS (and common fonts) now includes font-variant-numeric: slashed-zero; as a standard option. I mean, there are many variations of ways of writing many typical characters (and I just mean in English, I’m sure it’s even more diverse when talking about multiple languages). I really like how the Andika font offers tons of character options so that it’s possible to make text for language learners that looks the way that one is teaching them to make their letters. But it’s only zero that has widespread support for two options (with or without a slash) with a dedicated CSS option for it (as opposed to the more generic font-variant choices) for picking whether one really wants a slash in their zero digits.

21 Years!

Peter Cooper Jr.

Wow. Today marks 21 years of marriage. I’ve been married for more than half of my life, and I still love my beautiful bride. Happy anniversary, Jessi!

Switching to Hugo

Peter Cooper Jr.

After years of using Wordpress, and well not really using Wordpress but just using it to generate a static web site to host from S3/CloudFront, I’ve finally switched to Hugo, which is actually designed for building a static web site. Even got me to play around with AWS’s CodeCommit & CodeBuild to store its history and build everything when changed. If you’re seeing this, then I guess it worked.

Value

Peter Cooper Jr.

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

Peter Cooper Jr.

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:

Kaboom, the “cruel, but fair” Minesweeper variant

Peter Cooper Jr.

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.

Significant Figures

Peter Cooper Jr.

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.

Quote of the Day

Peter Cooper Jr.

“Sometimes I feel like a compiler. I just hear gibberish, and when I ask for clarification they just get mad at me.”

Jessi

acme-lambda-renewal

Peter Cooper Jr.

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.