Some thoughts on what StartCom's shutdown means in general

I wrote a couple of weeks ago about StartCom giving up itsCertificate Authority business , and then I wasreminded of it more recently when they sent my StartSSL contactaddress an email message about it. Perhaps unsurprisingly, thatemail was grumpier than their public mozilla.dev.security.policymessage ;I believe it was similar to what they posted on their own website(I saved it, but I can't be bothered to look at it now). Partlyas a result of this, I've been


My upgrade to Fedora 27, Secure Boot, and a mistake made somewhere

I'm usually slow about updating to new versions of Fedora; I liketo let other people find the problems and then it's generally ahassle in various ways, so I keep putting it off. This week I decidedthat I'd been sitting on the Fedora 27 upgrade for long enough (ortoo long), and today it was the turn of my work laptop. It didn'tentirely go well ,but after the dust settled I think it's due to an innocent looking


In practice, Go's slices are two different data structures in one

As I've seen them in Go code and used them myself, Go's slices aregenerally used in two pretty distinctly separate situations. As aresult, I believe that many people have two different conceptualmodels of slices and their behavior, depending on which situationthey're using slices in.

The first model and use of slices is as views into a concrete array(or string) that you already have in your code. You're taking anefficient reference to some portion of the array and saying


Some notes on using Go to check and verify SSH host keys

For reasons beyond the scope of this entry, I recently wrote a Goprogram to verify the SSH host keys of remote machines, using the golang.org/x/crypto/ssh package. In the process of doing this, I found a number of thingsin the package's documentation to be unclear or worth noting, sohere are some notes about it.

In general, you check the server's host key by setting your own HostKeyCallback function in your ClientConfig structure . If youonly want to verify


My new Linux office workstation for fall 2017

My past two generations of office Linux desktops have been identicalto my home machines, and when I wrote up my planned new homemachine I expected that to be the case for mynext work machine as well (we have some spare money and my workmachine is six years old, so replacing it was always in the plans).It turns out that this is not going to be the case this time around; to my surprise and for reasons beyond the scope of this entry, my next officemachine is going


Some notes and considerations on SSH host key verification

Suppose, not entirely hypothetically, that you want to verify theSSH host keys of a server and that you're doing so with code that'sreasonably under your control (instead of relying on, say, OpenSSH's ssh program). Then there are a number of things that you're goingto want to think about because of how the SSH protocol works andhow it interacts with security decisions.

The first thing to know is that you can only verify one type ofhost key in a single


I'm basically giving up on syslog priorities

I was recently writing a program where I was logging things tosyslog, because that's our default way of collecting and handlinglogs . For reasons beyond the scope of this entryI was writing my program in Go, and unfortunately Go's standardsyslog package makes itrelatively awkward to deal with varying syslog priorities. My firstpass at the program dutifully slogged through the messy hoops tosend various different messages with different priorities, goingfrom info for routine events, to err for reporting significantbut expected issues, and


We're broadly switching to synchronizing time with systemd's timesyncd

Every so often, simply writing an entry causes me to take a closer lookat something I hadn't paid much attention to before. I recently wrotea series of entries on my switch from ntpd to chrony on my desktops and why we don't run NTP daemons but insteadsynchronize time through a cron entry .Our hourly crontab script for time synchronization dates back to atleast 2008 and perhaps as early as 2006 and our first Ubuntu 6.06installs; we've


The cost of memory access across a NUMA machine can (probably) matter

We recently had an interesting performance issue reported to us bya researcher here . We have a numberof compute machines, none of them terribly recent; some of them aregeneral access and some of them can be booked for exclusive usage.The researcher had a single-core job (I believe using R ) that used 50 GB or more of RAM. Theyfirst did some computing on a general-access compute server withXeon E5-2680s and 96 GB of RAM, then


Sometimes the right thing to do about a spate of spam is nothing (probably)

We have a program to capture information about what sort of email attachments ourusers get . As part of its operation ittries to peer inside various types of archive files, because youcan find suspicious things there (and,of course, outright bad things , someof them surprising ). This program is writtenin Python, which means that its ability to peer inside types ofarchive files is limited to what I can find in convenient Pythonpackages. One of the archive formats that it can't look inside right