Inklings in March 2016

Learn You an Agda and Achieve Enlightenment!

Also, here’s a one-page version.

Go channels are bad and you should feel bad

The title’s a bit inflammatory, but the article itself is good. The headings mostly give a good summary:

  • You probably won’t end up using just channels (due to dead goroutine leaks)
  • Channels are slower than implementing it yourself
  • Channels don’t compose well with other concurrency primitives
  • Callbacks are strictly more powerful and don’t require unnecessary goroutines
  • The channel API is inconsistent and just cray-cray

Also, linked half-duplex channels would be help the garbage collector, and it would be nice to be able to select on condition variables.

Please avoid "3 0 1" and "3 0 2" DANE TLSA records with LE certificates

Also, mistakes to avoid with DNSSEC and TLSA records.

Why is Vertical Rhythm an Important Typography Practice?

Bryan Cantrill on Jails and Solaris Zones

Fantastic talk!

Sorry for the downtime

You might’ve noticed this site was down.

What happened is that lir, the server it was running on, started experiencing drive issues. I’ve had to migrate as much as I can over to a VM in the meantime.

One pleasant upshot is that it’s allowing me to try out some stuff I hadn’t tried before. For instance, this site is now running on Nginx rather than Apache, and I’ve switched to using FreeBSD packages rather than ports. This latter change has its upsides and downsides, such as no longer running the site over HTTP/2 any longer, but overall is probably a positive.

The worst part so far was dealing with DNS as the VM formerly acted as a secondary nameserver running Knot DNS 1. In moving over, I switched from Knot DNS 1 to Knot DNS 2, which was painless enough in itself, but as I didn’t want the pain of setting up OpenDNSSEC again, I decided to using Knot DNS 2 to do zone signing… which lead to a number of zonefiles being overwritten. Thankfully, I keep everything in a git repo, so recovering the originals was straightforward, and I’ve updated the two most important domains - and - with new DS records. I’ve two .eu domains (which aren’t actively used, and are mainly testbeds) where I need to provide the updated DNSKEY records to the registry.

Last up will be setting up mail again. I’m moving from Postfix to OpenSMTPd.

This isn’t really how I’d wanted to spend Paddy’s Day, but it’s the first free day I’ve had to do all this stuff.

The Hot News or 'After' Perfect in Irish English

"I Contribute to the Windows Kernel. We Are Slower Than Other Operating Systems. Here Is Why."

Linux is a shitfest (from a BSD user’s perspective), but Windows is an even bigger shitfest, apparently.

All the Little Things by Sandi Metz


A Vim plugin manager, like Pathogen or Vundle, but better!

I like the fact that it can do lazy loading and it can also automate a lot of nonsense surrounding updates.

The Matasano Crypto Challenges

Should do these. Probably won’t, but probably should.

Real Crypto Has Broken Curves