Kieran Healy

Goodnight Hypercritical

In the great Mac Pro
there were Channels of Control
and a Naked Robotic Core
and a picture of …
Just a Dinosaur
And there was the Tortise and Hare, and Invisible Software

And Grandpa Uncle Joe who Ran Out of Bombs Long Ago
And Patent Hands, and an iLife island

And Blue Ocean, a Wedge, and Objective-C
And all the Housewives of Siracusa County

Goodnight Pro Mac, Goodnight Brute Force Attack
Goodnight Tortise and Hare, and Invisible Software

Goodnight White Smoke, and Paths in the Grass
Goodnight Cautionary Tale, Goodnight Thundercats

Goodnight Grandpa Joe, Goodnight Bombs Long Ago
Goodnight Next Big Move, Goodnight room to improve

Goodnight Patent Hands, Goodnight iLife island
Goodnight Dark Age of Objective-C, Goodnight You Will Die Instantly

Goodnight Memory Palace, Goodnight 5by5
Goodnight nobody, Goodnight Fusion Drive

And Goodnight Siracusa County Housewives

Goodnight podcast, Goodnight Talking to the Bear

Goodnight Jackals, everywhere

The Long Shadow of the X-Case

The Irish Times reports the death of a 31 year-old woman last month in Galway, as a result of being denied an abortion:

Savita Halappanavar (31), a dentist, presented with back pain at the hospital on October 21st, was found to be miscarrying, and died of septicaemia a week later. Her husband, Praveen Halappanavar (34), an engineer at Boston Scientific in Galway, says she asked several times over a three-day period that the pregnancy be terminated. He says that, having been told she was miscarrying, and after one day in severe pain, Ms Halappanavar asked for a medical termination. This was refused, he says, because the foetal heartbeat was still present and they were told, “this is a Catholic country”. She spent a further 2½ days “in agony” until the foetal heartbeat stopped. The dead foetus was removed and Savita was taken to the high dependency unit and then the intensive care unit, where she died of septicaemia on the 28th.

A statement from Galway Pro-Choice notes, in part:

Under the X Case ruling, women in Ireland are legally entitled to an abortion when it is necessary to save their life. However, legislation has never been passed to reflect this. It is the failure of successive governments to do so that led to Savita’s death. … Rachel Donnelly, Galway Pro-Choice spokesperson stated: “This was an obstetric emergency which should have been dealt with in a routine manner. Yet Irish doctors are restrained from making obvious medical decisions by a fear of potentially severe consequences. As the European Court of Human Rights ruled, as long as the 1861 Act remains in place, alongside a complete political unwillingness to touch the issue, pregnant women will continue to be unsafe in this country.”

In 1992 I was in my second year of college, at UCC. Beginning early in that year a string of social and political crises and scandals broke that, in retrospect, marked the beginning of the end of the public power of the Catholic Church in Ireland, especially with respect to sexuality. I’ve written before about how the events of that year are a kind of bookend to the autumn of 1979, when the Pope came to Ireland and the country was filled with a revivalist fervor focused on the country’s youth. Chief amongst the social crises of 1992 was the X-case. A fourteen year-old girl, pregnant as the result of rape by a neighbor, sought to leave the country to have an abortion in England, as thousands of Irish women did and still do. Her parents asked the police whether it would be possible to collect any DNA evidence during this process, which brought the matter to the Attorney General’s attention. He sought, and was granted, a court injunction preventing her from traveling for the abortion under Article 40.3.3 of the Irish constitution, which had been passed in 1983 as the “Pro-Life amendment” and which prohibited abortion in Ireland. The resulting constitutional crisis saw the Supreme Court issue a hasty ruling permitting the girl to travel, but under a strained interpretation of the law. So in November of 1992 the Government introduced three new amendments meant to clarify things. The result was that things reverted much to the status quo ante, which essentially allowed Ireland to export its abortion problem to the United Kingdom while leaving it unclear what doctors facing a medical emergency during pregnancy were in a position to do.

And so things have stood, more or less. When I followed the X-case in 1992, and when I wrote an MA Thesis about it in 1994, I honestly thought that some minimal legal provision for abortion in Ireland would be fairly soon in coming. But that was twenty years ago.

Installing Minion Pro

Setting up a new machine is usually a pain, especially if—like me—you have a bunch of additional stuff installed that isn’t living in your user directory, like a TeX installation. Cloning from the old machine is often a good idea, but things don’t always work as they should. And sometimes you just want to set up from scratch. I’m at the point where my most of my text editing and data analysis stuff can be up and running fairly quickly: install Xcode via the App Store (or just the command-line tools if you want), then MacTeX, then R, then Emacs, then my Starter Kit for the Social Sciences, then my own LaTeX style files and bib files. Other useful stuff after that includes Pandoc. Tedious! But at this point also fairly straightforward.

One piece that always gives me a headache, though, is getting Minion Pro set up for use with LaTeX. Minon is a terrific typeface and I use it for my papers. It’s expensive to buy but often comes bundled with various Adobe products, notably Acrobat reader. If you have the font installed on your Mac somewhere, then there’s a package of stuff available to get it to work with pdflatex. But it’s a pain to install. Note at this point that, if you like, you can simply use xelatex instead to use all your installed fonts with latex. But because I have a debilitating obsessiveness in this regard, I know that xelatex doesn’t let you use certain microtype features available to pdflatex. So I need to set up Minion Pro to work with pdflatex. Here is a shell script I came across that will do that for you automatically. Don’t run it unless you know what you’re doing, though. Seeing as I have to go through this any time I set up a new Mac, and always forget the steps, this is pretty useful.

If you are a sensible person, of course, you will not even find yourself facing this ridiculous situation.

“Script to install Minion Pro config files” (install-minion-pro.sh) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/bin/sh
## Information
## http://carlo-hamalainen.net/blog/2007/12/11/installing-minion-pro-fonts/
## http://www.ctan.org/tex-archive/fonts/mnsymbol/

## 0.1: Install LCDF Typetools
## http://www.lcdf.org/type/
## If you use Homebrew (http://mxcl.github.com/homebrew/), then uncomment: 
# brew install lcdf-typetools 

## 0.2: If ~/tmp doesn't exist, create it.
# mkdir ~/tmp

## Destination. System wide:  
# DEST=`kpsexpand '$TEXMFLOCAL'`
## Or single-user only:
DEST=~/Library/texmf

## Downloader:
DOWNLOAD="curl -L -O"

## Directory where minion fonts can be found:
#MINIONSRC=/Applications/Adobe\ Reader.app/Contents/Resources/Resource/Font/
#MINIONSRC=~/tmp/minionsrc
MINIONSRC=~/Library/Fonts

## Everything gets done in a temporary directory
cd ~/tmp

## 1: MnSymbol
## http://www.ctan.org/tex-archive/fonts/mnsymbol/
$DOWNLOAD http://mirror.ctan.org/fonts/mnsymbol.zip

unzip mnsymbol
cd mnsymbol/tex

## Generates MnSymbol.sty
latex MnSymbol.ins

mkdir -p $DEST/tex/latex/MnSymbol/      \
    $DEST/fonts/source/public/MnSymbol/ \
    $DEST/doc/latex/MnSymbol/

cp MnSymbol.sty $DEST/tex/latex/MnSymbol/MnSymbol.sty
cd .. # we were in mnsymbol/tex
cp source/* $DEST/fonts/source/public/MnSymbol/
cp MnSymbol.pdf README $DEST/doc/latex/MnSymbol/

mkdir -p $DEST/fonts/map/dvips/MnSymbol \
    $DEST/fonts/enc/dvips/MnSymbol      \
    $DEST/fonts/type1/public/MnSymbol   \
    $DEST/fonts/tfm/public/MnSymbol
cp enc/MnSymbol.map $DEST/fonts/map/dvips/MnSymbol/
cp enc/*.enc $DEST/fonts/enc/dvips/MnSymbol/
cp pfb/*.pfb $DEST/fonts/type1/public/MnSymbol/
cp tfm/* $DEST/fonts/tfm/public/MnSymbol/

## I believe that this is not strictly needed if DEST is in the home
## tree on OSX, but might be needed otherwise
sudo mktexlsr
updmap --enable MixedMap MnSymbol.map

# $DOWNLOAD http://carlo-hamalainen.net/blog/myfiles/minionpro/mnsymbol-test.tex
# pdflatex mnsymbol-test.tex

## 2: MinionPro
mkdir -p ~/tmp/minionpro
cd ~/tmp/minionpro

$DOWNLOAD http://mirrors.ctan.org/fonts/minionpro/enc-2.000.zip
$DOWNLOAD http://mirrors.ctan.org/fonts/minionpro/metrics-base.zip
$DOWNLOAD http://mirrors.ctan.org/fonts/minionpro/metrics-full.zip
$DOWNLOAD http://mirrors.ctan.org/fonts/minionpro/scripts.zip

## This will make the otf directory, among other things.
unzip scripts.zip

cp $MINIONSRC/Minion*otf otf/

## Generate the pfb files
## This step requires that the LCDF type tools are installed.  Get them here:
##   http://www.lcdf.org/type/
./convert.sh

## Copy the pfb files to where they belong:
mkdir -p $DEST/fonts/type1/adobe/MinionPro
cp pfb/*.pfb $DEST/fonts/type1/adobe/MinionPro

SRC=`pwd`
cd $DEST
unzip $SRC/enc-2.000.zip
unzip $SRC/metrics-base.zip
unzip $SRC/metrics-full.zip
cd $SRC

sudo mktexlsr
updmap --enable MixedMap MinionPro.map

## Test:
# $DOWNLOAD http://carlo-hamalainen.net/blog/myfiles/minionpro/minionpro-test.tex
# pdflatex minionpro-test.tex

Health Care Is iTunes

On Build and Analyze this week Marco Arment talked about the U.S. healthcare system, the gradual expansion of forms of state-sponsored coverage, and his general support for Obamacare. Not a topic you might expect to hear covered on a show that is ostensibly about software development and rather involved ways to produce a cup of coffee. But Marco runs his own business and thus needs to face the question of buying health insurance for himself and his family, together with the expense of offering benefits to any employees he might consider taking on. It’s obviously an important problem for American software developers in their capacity as businesspeople as well as citizens. Listening to Marco talk about the topic, it struck me that the political question of healthcare in the United States should be intuitively accessible to software developers in a different way, too.

The U.S. system of employer-sponsored healthcare provision is iTunes. It’s complicated and overburdened; it wasn’t originally designed to do most of the things it now does; in fact, at the outset its design wasn’t really thought through at all (there wasn’t time); many of those involved backed it as a distant second-best solution—better than nothing, but not nearly good enough. Over the years, new features were shoehorned into the basic structure. New problems and inconsistencies emerged and were partially patched. And, inevitably, groups who did pretty well out of the system emerged and entrenched themselves, too. In situations like this, some reforms are possible around the edges, but it’s clear to most people that real structural reform is needed. The people in charge of it come to face a dilemma familiar to both software developers and policy makers. In the words of a Swiss official quoted in an old study (by Ellen Immergut) of the politics of health care in Europe, “Were it necessary to draft a health insurance bill today, I would never come up with the insane idea of proposing our current system.”

As every developer knows, ripping out an established codebase and replacing it with something better is far easier said than done, especially when it’s huge, and a lot of people are doing quite well from it. Perhaps worst of all—and maybe most similar of all, too—the problem has three jointly unpleasant characteristics: it’s really important for the future; a great deal of political fighting is needed to achieve any real reform; and the details of the required changes are eye-glazingly dull, except perhaps to a small number of odd people and parties with a stake in seeing the wrong thing happen.

It’s best not to push this analogy any further. You can already hear it creaking. Sociologists and political scientists who study institutions and policy discuss these issues under the general rubric of ”path dependence”. Engineers have their own more or less formalized lore (in books like The Mythical Man Month and concepts like “Second System Syndrome”) that touch on some of the same issues. In the end—some common nerd fantasies notwithstanding—politics is not simply a matter of engineering. Indeed, the lesson taught by everyone from Fred Brooks to Michael Lopp is that—some common nerd fantasies notwithstanding—often even engineering isn’t simply a matter of engineering. But many software developers know what it’s like to inherit a huge, messy, live codebase that does something very important in a really terrible way. And that’s why the U.S. employer-sponsored healthcare system is iTunes.


Note: If you want to learn more about the guts of health care reform, I recommend two books by one of my teachers, Paul Starr. The first his is magisterial The Social Transformation of American Medicine, which takes the story up to the late 1970s. It is the definitive account how America reached the point where its health care system was in structural crisis. His recent Remedy and Reaction is shorter (though it still provides a good historical overview, including the failed Clinton-era reform which Starr himself was involved in) and concentrates on where we are now.

The Sources of Social Power

I’m teaching Weber next week in my social theory class. This afternoon I uploaded some of the recommended reading to the class website—a longish excerpt from the first volume of Michael Mann’s The Sources of Social Power, a book which made a big impression on me when I read it as an undergraduate. It didn’t turn me in to a Big Structures/Huge Comparisons guy, if for no other reason than the ambition it entailed seemed so gigantic, but of all the products of the so-called “Golden Age” of macro-sociology, Sources—and the first volume in particular—seemed to come closest to fulfilling Weber’s vision for what really big-picture sociology could be. Re-reading the first hundred-odd pages this afternoon I was struck by the directness and accessibility of Mann’s approach, and by how much of his theoretical intuition seemed right, given his aims—in particular his insistence that societies are not totalities or systems, and his determination to avoid the pitfalls that come with thinking they are:

Societies are not unitary. They are not social systems (closed or open); they are not totalities. We can never find a single bounded society in geographical or social space. Because there is no system, no totality, there cannot be “subsystems,” “dimensions,” or “levels” of such a totality. Because there is no whole, social relations cannot be reduced “ultimately, “in the last instance,” to some systemic property of it—like the “mode of material production,” or the “cultural” or “normative system,” or the “form of military organization.” Because there is no bounded totality, it is not helpful to divide social change or conflict into “endogenous” and “exogenous” varieties. Because there is no social system, there is no “evolutionary” process within it. Because humanity is not divided into a series of bounded totalities, “diffusion” of social organization does not occur between them. Because there is no totality, individuals are not constrained in their behavior by “social structure as a whole,” and so it is not helpful to make a disctinction between “social action” and “social structure.” … State, culture, and economy are all important structuring networks, but they almost never coincide. There is no one master concept or basic unit of “society”.

Instead, for Mann, what matters are the overlapping networks of social interaction—ideological, military, economic, and political—that can provide the organizational means of attaining goals.

All of which is to say that, after a bit of idle googling, I was surprised to learn that volumes three and four are scheduled for publication later this year and early next, respectively. Mann published volume I in 1986 and volume II in 1993, and while he has done a lot of other things in the meantime, parts of volume II, in particular, gave the distinct impression that the project had gotten seriously bogged down. I’m very glad to see that he’s pushed the project through. The first two volumes are also set to be reissued, with new Prefaces (and covers). I suppose it is too much to ask that they have proper indexes this time, too.