Unix getopt versus Google's getopt variant and why Unix getopt wins

The longer title of this entry is 'why Google's version of getopt isright for Google but wrong for (almost) everyone else'.

One reaction to my rant about Go's getopt problem is to ask what the big problem is.Looked at in the right light, the rules implemented by Go's flagpackage (which are apparently the Googlemore or less standard for parsing flags) actually have a certain amountto recommend them because they're less ambiguous, more consistent, andless likely


Professional knowledge, certification, and regulation

It started with a tweet by Matt Simmons that got a reaction from me . Before Iwrite a bunch of entries on this (instead of trying to cram evenmore complex thoughts into 140 characters) I want to talk about thesignificant differences I see between three basic things that arebeing talked about here (in general).

A body of professional knowledge is what it sounds like; in the case ofsystem administration, it's some version of our accumulated experiencesand wisdom. For now let's


One reason I like Go: it seems natural to avoid object churn

If you want to write well performing code in any language that featuresdynamic allocation and garbage collection, one of the importantthings is to avoid object churn. One of the things I like about Go is that I can easily write code where I'm prettyconfident I'm not doing any unnecessary allocations. Even better, sofar this code has generally been the natural way to do things.

To show you what I mean, here's typical code to copy from an inputsource to the network:

/

The cost of expensive hardware and the benefit of hindsight

One possible response to my entry about our discovery that we had deadchassis fans in our disk enclosures is to say thatthis is the cost of buying inexpensive enclosures; clearly we shouldhave gotten a better grade of disk enclosures. This is literally truebut to just leave it at that is to miss the big picture or actuallyseveral of them.

The first big picture is that did not buy these disk enclosures blindly.We bought one, opened it up, looked it over, tested it out, and whenwe


Go's getopt problem

The Go standard library is full of goodstuff, people will commonly tell you (or tell the world when theywrite about Go ). And then they will add a little qualifier:except for the flag package ; youdon't want to use that and you should get a sane getopt package.Sometimes the people writing this will name one or two such packages,which usually still leaves you with a problem.

(I saw such a Go-related slide recently that recommended somethinglike 'getopt' or '


Are those chassis fans actually still spinning?

This is kind of a sysadmin horror story. We have a number of externalport-multiplier eSATA enclosures, used both for our iSCSI backends andfor our disk-based backup system. These enclosures are now far from new,so we've had some mysterious failures with some of them. As a result ofthis we recently opened up a couple of them to poke around, with thehopes of reviving at least one chassis to full health.

These chassis have a number of internal fans for ventilation. Whatmy


My views on network booting as an alternative to system disks

In a comment on my entry on the potential downsides of SSD as systemdisks , zwd asked I'd considered skipping the need for system disks by just PXEbooting the systems instead (as some Illumos distributions are nowrecommending). The short answer is no but I have enough thoughts aboutthis to warrant a long answer.

My view is that network booting systems is at its best where you have alarge and mostly homogenous set of servers that basically run a constantset of things with little local state or local configuration


Google Feedfetcher is still fetching feeds and a User-Agent caution

Feedfetcher was Google's feed fetching backend for Google Reader, whichas you may remember was shut down on July 1st this year (to generallymixed feelings). At the time of that shutdown Google was pretty definiteabout how the service was gone, its data was not being retained, andthere would be no recovery or resumption possible. One would normallyexpect that the feed fetching backend would also be shut down at thesame time.

Well, no, of course not. This is Google, after all


The spectrum of options when netbooting systems

Suppose that you want to run your servers without local system disks;instead you will boot them over the network and somehow supply all ofwhat they need to operate that way. In the abstract you need up to threeor four different things for this: a potentially read-only version ofthe system filesystem(s), a way to get machine-specific configurationson to each server, some per-server volatile writeable space, and perhapssome per-server permanent writeable space. Life is easier if serversdon


Why you might not want to use SSDs as system disks just yet

I wrote recently about our planned switch to using SSDs as systemdisks . This move may be somewhat more daringand risky than I've made it sound so far, so today I feel likerunning down all of the reasons I know that you might not want todo this (or at least do this just yet). Note that not all of thisis deeply researched and in fact a bunch of it is taken from ambientstories and gossip that floats around.

The current state of hard drives is that they