My early impressions of Fedora 22, especially of DNF

I recently updated first my office laptop (which runs a relativelystock Cinnamon environment ) and my officeworkstation (which runs my custom setup )to Fedora 22, both via my usual means of a yum-based upgrade insteadof the officially supported FedUp mechanism. I feel kind of ambivalent about the results of this.

On the one hand, the upgrade was smooth in both cases and everythingin both of my environments basically worked from the start. Thisis not always the case, especially in my custom setup;


The probable and prosaic explanation for a socket() API choice

It started on Twitter:

@mjdominus :Annoyed today that the BSD people had socket(2) return a single FDinstead of a pair the way pipe(2) does. That necessitated shutdown(2).

@thatcks :I suspect they might have felt forced to single-FD returns byper-process and total kernel-wide FD limits back then.

I came up with this idea off the cuff and it felt convincing at themoment that I tweeted it; after all, if you have a socket


BSD Unix developed over more time than I usually think

Left to myself, I tend to sloppily think of 4.2 BSD as where allof the major development of BSD Unix took place and the point intime where what we think of as 'BSD Unix' formed. Sure, there wereBSDs before and after 4.2 BSD, but I think of the before releasesas just the preliminaries and the releases after 4.2 BSD as justpolishing and refining things a bit. As I was reminded today, thisview is in fact wrong.

If you'


Faster SSDs matter to companies because they sell things

The computer hardware industry has a problem: systems mostly aren'tgetting (much) better any more, especially desktop PCs. The most famousexample is that CPU performance has been changing only incrementallyfor years, especially for single threaded performance. This is aproblem because a lot of hardware sales are upgrades and when there's noparticular performance improvement you can trumpet people don't botherto upgrade. They do replace old machines eventually, but that's slowerand less lucrative (and runs the risk of


The next (or coming) way to connect SSDs to your system

Modern SSDs have a problem: flash chips are so fast that they outpaceeven high speed SATA and SAS links. In the enterprise market theworkaround for this is SSD 'drives' that are PCIe cards, but thishas all sorts of drawbacks as a general solution. Since the companiesinvolved here are not stupid, they've known this for some time andhave come up with a new interconnection system, NVMe aka NVMExpress .

The Wikipedia page is a bit confusing to outsiders, but as far asI can


The status of our problems with overloaded OmniOS NFS servers

Back at the start of May, we narrowed down our production OmniOSproblems tothe fact that OmniOS NFS servers have problems with sustained'too fast' write loads . Since then therehave been two pieces of progress and today I feel like writing aboutthem.

The first is that this was identified as a definite Illumos issue.It turns out that Nexenta stumbled over this and fixed it in theirown tree in this commit .The commit has since been upstreamed to the Illumos master here ( issue ) and has made it


Multiple set matches with Linux's iptables 'ipset' extension

Recently, Luke Atchew approachedme on Twitter to ask if I had any ideas for solving an ipsetchallenge. Suppose that you have a set of origin hosts, a set ofdestination servers, and you want to allow traffic from the originhosts to the destination servers while blocking all other traffic.As Luke noted, most ipset examples, including mine ,are about blocking access to or from a set of hosts; they don'thave a matrix setup like Luke's.

One obvious option is a complex multi


I've finally turned SELinux fully off even on my laptop

As I've mentioned before , I started out withSELinux turned on on my laptop because it's essentially a stockFedora install and that's how Fedora defaults, and using SELinuxfelt virtuous. Last year I reached the endof my patience with running SELinux in enforcing mode, where itactually denies access to things; instead I switched it to permissive ,where it just whines about things that it would have forbidden andthen a whole complicated pile of software springs into action totell you about these audit failures


A Bash test limitation and the brute force way around it

Suppose that you are writing a Bash script (specifically Bash) andthat you want to get a number from a command that may fail and mightalso return output '0' (which is a bad value here).No problem, you say, you can write this like so:

sz=$(zpool list -Hp -o size $pool)if [ $? -ne 0 -o "$sz" -eq 0 ]; then   echo failure   ....fi

Because you are a


Modern *BSDs have a much better init system than I was expecting

For a long time, the *BSDs (FreeBSD, OpenBSD, and NetBSD) had whatwas essentially the classical BSD init system , with all of its weaknesses. They madethings a little bit simpler by having things like a configurationfile where you could set whether standard daemons were started ornot (and what arguments they got), instead of having to hand edityour /etc/rc , but that was about the extent of their niceness.When I started being involved with OpenBSD on our firewalls here , that