panglott

Month: April, 2015

Installing the Nix package manager on Mac OS X

I used fink a bit back in 2001, when OS X was shiny and new, but didn’t really use it much. After abandoning fink back then, I haven’t used any package manager for OS X at all. But OS X is not shiny and new; it’s shipped with ancient versions of Python forever, some of the official versions of Python for Mac have been buggy for me, and I’ve been using Linux more and wanting some of the advantages of package managers.

I use a lot of Debian, so maybe fink would be the way to go again; it seemed nearly dead for a long time. Here’s a great late-2013 overview of the state of package management on Mac OS X. But toying around with Linuxes and functional programming has pointed me to NixOs and the Nix package manager.

Going to nixos.org/nix/, we are advised to install by downloading an install script and piping it to sh. Hm, piping it to less instead doesn’t reveal anything too obviously scary: it downloads and installs a binary for x86_64-linux, i686-linux, or x86_64-darwin. So we’ll try

sudo curl https://nixos.org/nix/install | sh

nix-env can perform one of several operations per invocation.
* Installing software is done with the --install or ‘-i flag. See also the --pre-built or -b flag to install pre-built/binary software only, and the--dry-run flag which runs through the process without doing anything (for testing purposes).
* Upgrading software uses the --upgrade or -u flag. Also the -b flag works here.
* Uninstalling software can be done with the -e flag.
* Querying with --query or -q by default shows the installed packages. See also the --available or -a flags and the --description flag.

So for example nix-env -qc should compare installed versions for what’s available. The command nix-channel --update will update the list of Nix expressions.

On languages not “dying”

Got involved in a Hacker News discussion of Judith Thurman’s piece “A Loss for Words: Can a dying language be saved?” at the New Yorker.

Languages are never “dying”; at most, they are abandoned under cultural pressure from some dominant group. Frequently this is in the aftermath of a genocide, or a colonial attempt to disrupt the cultural integrity of a minority or indigenous community. Framing a language as “dying” is typically colonial propaganda, which seeks to render invisible or nonexistent a cultural community that has a claim on resources the colonial power wants to exploit. Thus, a language’s “dying” is portrayed as a process that is at once inevitable, inexplicable, and amoral, whereby the minority community silently recedes.

The exercise of power against the minority community is frequently there to see, occasionally in outright genocide, but in other policies as well: removing children from minority parents to give them to dominant-group parents, removing children from parents to educate them in dominant-language boarding schools, punishing children for speaking the language of their parents and grandparents, excluding the indigenous language and literature from prestigious venues, seizing the presses, and mandating education within the dominant language while excluding the minority language from any representation within the school system at all (even an hour a week on something like literary studies).

Regardless of the value of any particular language, be it an international language or a heritage one, practices like this are clearly wrong. There is no need for a pretense of ethical neutrality when, for example, it is a genocide that started a language on the path to “death”. And it is these cultural politics that assume a moral dimension, far more so than the languages themselves.

The most damaging disinformation, of course, is the idea that people must be monolingual in the dominant language in order to be competent in it, and thus to be able to access the economic prosperity denied to the minority community. It is multilingualism that is the human norm, not monolingualism, and diglossia is very common worldwide. Linguists have known this since the mid-20th century at least. It’s very common for people to use different languages in different spheres or for different functions: an indigenous language in the home, English at school, a community language on the street. This is not a rational reason to abandon a language. The human capacity for languages is not so finite that a child need abandon her mother tongue in order to also speak an international language.

For if the economic and intellectual value of an international language is clear, the value of a heritage language can be apparent as well. You only need to hear a few horrifying stories of children denied access to language to realize indeed that language is a human right. And people similarly have the right to pass on to their children what they love most about their heritage, from the songs their mother sang to them as children to the stories their grandfather told. Raising children takes a collective wisdom and experience worth passing on.

Then I was browsing through Henry Jenner’s 1904 Handbook of the Cornish Language, and came across this gem:

Why should Cornishmen learn Cornish? There is no money in it, it serves no practical purpose, and the literature is scanty and of no great originality or value. The question is a fair one, the answer is simple. Because they are Cornishmen.

…Most Cornishmen habitually speak English, and few, very few, could hold five minutes’ conversation in the old Celtic speech. Yet the memory of it lingers on, and no one can talk about the country itself, and mention the places in it, without using a wealth of true Cornish words.

…The reason why a Cornishman should learn Cornish, the outward and audible sign of his separate nationality, is sentimental, and not in the least practical, and if everything sentimental were banished from it, the world would not be as pleasant a place as it is.

This may be sentimental, but sentiment is what binds a family together, what binds a circle of friends together, what binds a community together.