A short introduction to economics (economic -isms)

Capitalism

Businesses are out to screw you. You should unionize to protect yourself, or else you’re on your own.

Socialism

Businesses are out to screw you.  The government says, don’t worry about unionizing, we’ve got you covered.

Communism

The government is the business, and is your union (whether you want it or not).

Facism

Businesses are out to screw you.  Government is your union (whether you want it or not) and is in cahoots with business.

Libertarianism

Businesses are out to screw you, and have bought the unions.

Mercantilism

Businesses serve at the pleasure of the king.  You serve at the pleasure of the king.

 

Dovecot woes

So after an upgrade, Dovecot failed to start:

Error: socket() failed: Address family not supported by protocol
Error: service(imap-login): listen(::, 143) failed: Address family not supported by protocol
Error: socket() failed: Address family not supported by protocol
Error: service(imap-login): listen(::, 993) failed: Address family not supported by protocol
Fatal: Failed to start listeners
* start-stop-daemon: failed to start `/usr/sbin/dovecot'
* ERROR: dovecot failed to start

How irritating.

A google search wasn’t particularly conclusive, but “listen(::, 143) Address family not supported by protocol” gave me some idea that it might be complaining about IPv6 support.  I removed support some time ago from the kernel and libraries.  (I don’t have a problem with IPv6 per se, but why have it when my ISP doesn’t support it?)  I’ve had Dovecot running well for ages without it, so what changed?

I found the culprit in /etc/dovecot/dovecot.conf:

# A comma separated list of IPs or hosts where to listen in for connections. 
# "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
# If you want to specify non-default ports or anything more complex,
# edit conf.d/master.conf.
#listen = *, ::

So the default configuration now enables IPv6. At least the fix is easy:

listen = *

Apple Picking

Ah, the prime of fall – days warm and sunny, delicious fruit ripe and… delicious.

One of the simultaneous joys and pains-in-the-ass of moving to a new area is uncovering the “good” places: who is the best mechanic, where to get good chinese food, what’s the bad part of town and how do I get there without my wife knowing.  And, in our case, where to pick your own apples.

Disclaimer: when it comes to apples and Christmas trees, we have specific wants: macouns  (typically pronounced “ma-cow-ann”) and white pines.  They’re both hard to find in the store so we frequent our local farms.

You don’t know how much local knowledge you have ingrained in your brain until you leave your home turf.

Our travels today took us to Drew Farm in Westford, MA.  Not too far, though I kind of thought that a local farm would be even closer to our former-farm country town.  Nice orchard with a good selection of types (including macoun), plus pumpkins.  Free tractor rides to the orchard and baby alpacas rounded out the visit.  The prices were better than the farms in Stow, though not as good as the supermarket (they never are).  But we have a peck of delicious apples and a huge pumpkin.

Nerd Poetry

< > ! * ' ' #
^ " ` $ $ -
! * = @ $ _
% * < > ~ # 4
& [ ] . . /
| { , , SYSTEM HALTED

Translation:

Waka waka bang splat tick tick hash,
Caret quote back-tick dollar dollar dash,
Bang splat equal at dollar under-score,
Percent splat waka waka tilde number four,
Ampersand bracket bracket dot dot slash,
Vertical-bar curly-bracket comma comma CRASH.

Vim and tabs

At work, we use vim for our editing needs – which, as programmers, means we spend our day in vim.

We have a lot of mixed-format code – sometimes it has tabs, sometimes it has spaces.  Personally, I prefer spaces for my indenting, but I’m a convert to the church of make-your-code-match-the-existing-code.  As opposed to reformatting the existing code, which is soooo irresistible until you’re faced with a mountain.

So, I have to switch back and forth a lot.  Here, for the sake of posterity, is how to switch from spaces to tabs on-the-fly in vim:

:set noexpandtab
:set copyindent
:set preserveindent
:set softtabstop=0
:set shiftwidth=4
:set tabstop=4