Continued elsewhere

I've decided to abandon this blog in favor of a newer, more experimental hypertext form of writing. Come over and see the new place.
Showing posts with label software. Show all posts
Showing posts with label software. Show all posts

Thursday, October 09, 2014

Lambda the ultimate incantation

I endorse this:
Thus, I believe it is possible...to understand programming languages as the latest instance of a dream and set of technologies developed by mystics, alchemists, philosophers, mathematicians, scientists, and engineers. These languages do not just represent things, they also do things in the world. They are both symbolic and material in form. They are central to the disenchantment of the world and, simultaneously, the substrate for a "reenchantment of the world." They are, to sacrilegiously misappropriate the lexicon of the Catholic Church, "the word incarnate." Programming languages melt the boundaries between science and religion because they are an unholy union of the two.
-- Warren Sack, The Software Arts (forthcoming)

(for more on this project, see here).

Computation is the intersection of quite a few different things: science and religion, mathematics and language, engineering and psychology, and more. I don't know that these unions are exactly unholy, but let's just say they tend to have relationship problems.




Tuesday, June 17, 2014

Software Studies

Everyone I hope has read the classic and much-loved children՚s book The Phantom Tollbooth. But you may not remember that the plot revolves around a longstanding fraternal feud between the kings of two separate intellectual domains: Aziz, The King of Dictionopolis, ruler of the land of words, and the Mathemagician, whose domain is numbers. Until their conflict is reconciled, no peace can be found in the world of the mind. Like most wars, it seems almost senseless from the outside. What are these two kings fighting about? They each have their land and have no real use for the other՚s, so no material interest drives them. No, it must be some abstract war of pride and place, an eternal struggle for dominance between equal opponents. Certainly Milo, the protagonist (admittedly a bit dull) can՚t see the point of it.

Tollbooth-3.JPG
This storybook war is quite obviously based on the real-world cultural disconnect between the humanities and the sciences. While this divide has been around forever and isn՚t going away anytime soon, fortunately there have always been plenty of people willing to be double agents and smugglers, engaging in valuable commerce between two realms that like to pretend that they have nothing to do with one another. I like to think that the computation is a major route for such intellectual vagabonds of uncertain loyalty, and certainly I՚ve always been drawn to those who expressly aim at transgressing the boundaries.

Computation was birthed by the sciences, and is in universities normally a branch of engineering or math departments, and computer people have always been mostly of that ilk. But there have always been other kinds of people involved: call them digital humanists, those who had deep roots in something more human than dry mathematics. Doug Engelbart, Alan Kay, Ted Nelson come to mind. The MIT Media Lab was initially created in the school՚s architecture department precisely to avoid being the narrow nerdish viewpoint of straight engineering. Marvin Minsky and Seymour Papert, who co-founded the Artificial Intelligence lab in earlier decades were key early players there as well. Both of the latter were accomplished mathematicians but were not satisfied to work within the strictures of that field, and sought to find deep connections between mathematics, mind, and culture.

Perhaps its the influence of the Phantom Tollbooth that drew me to them; I՚ve tried to follow these luminaries in various ways and done my own bit to tunnel underneath the borders, although I wasn՚t always thinking of it in that way. At the the Media Lab, I was part of a cabal that was trying to be even more interdisciplinary than the official line, and so we explored connections between largely technical areas like AI and some of the more rarefied products of the humanities. This was in early 90s, more or less, so just before computers started the process of taking over all of human culture. Since then there has been a small and refined explosion of work in what is apparently now called “digital humanities”.

Phantom-p17.jpg
So I have been (out of the blue, and somewhat unaccountably) been invited to an academic workshop at UC Santa Cruz in this area (whose goal is producing a book for this series). This is a field which I have only a tenuous and out-of-date connection to, but I can՚t turn down a chance to live the life of the mind, if only for a day. But I don't really know what the hell is going on in this field. This post represents a few days of light cramming; I may have a post-workshop followup.

So what is digital humanities? Well, people in the traditional humanities (literature, arts, philosophy, and of course “critical theory”) are not stupid and can see just like everyone else that the world is getting eaten up by software and digital technology. This includes both the everyday human world that is their subject, and the professional academic world of teaching and publishing. Naturally they want to get a foothold in the eating side of this revolution, lest they among the eaten.

That is the crass way to think about it though. There is actually interesting stuff going on!

Some branches of digital humanities (not counting people who are more like new media artists here, to limit myself to the scholarly):
  • applying computational techniques to traditional questions in the humanities (eg, doing large-scale textual analysis to learn how language and idioms change over time)
  • media theory: taking the approach of an art historian / social theorist to the new forms of human communication such as the web and Facebook (hero: Marshall McLuhan)
  • software studies: treating computational artifacts themselves as texts to be analyzed; thinking about the role of human values in their creation.
The latter is the most apt to induce spluttering from a mainstream technologist (and hence is the most interesting -- the other aspects seem like worthwhile academic pursuits but don't seem like they are likely to rock my world). While Moby Dick and the source code of the Emacs editor I am using right now are both “texts” in some very abstract sense, they are pretty different kinds of things and it is not immediately clear that they cast any useful light on each other.

They do, of course, meet at one point: the human reader and writer. That is to say, the same person may at different time interacting, creating, interpreting both kinds of texts, along with many others. And it՚s not too much of a stretch to say that some of the mental machinery used for both kinds of texts is the same: both require parsing into small chunks with formal relationships to each other, for instance. Both require creativity in their creation, although of fairly different sorts. Literature requires creativity in its reception as well; does software? Arguably yes, especially in the common case where one programmer is trying to understand another՚s code (for purposes of fixing or extending it).

But the real thing that the humanities brings to the software table is the idea of critique, or in other words, the idea that it is a perfectly proper and useful thing to do to take a cultural product (aka text) and dissect the ways in which it works, how it relates to its subject matter and its audience, what it tries to say about the society that produced it and what it actually says, what effects it has on that society, what values it embodies, and what values we should be applying when we sit in judgement. And techniques for doing so.

This is something that is almost entirely missing from the engineering culture that most software people are trained in, and it's pretty clearly desperately needed. Software is eating the world, very smart people and corporations are busily figuring out how to eat faster and more effectively, and there needs to be better ways to think about this process, to critique it and possibly even resist or redirect it. I՚m not sure these obscure academic fields will do it, but they are better than nothing.

And I՚m looking forward to the day when software critics become major cultural players, passionate minds on the order of Pauline Kael or Lester Bangs who can teach us new ways to read the latest releases on Github.

Saturday, October 26, 2013

“God” ≡ God

Three of my intellectual heroes these days, in roughly decreasing order of respectability: Bruno Latour, Christopher Alexander, and Alan Moore. If I squint I can even detect a common project or thread that unites them. For one thing, all seem vaguely disreputable from the standpoint of mainstream thought. In actual fact, all three of these people would likely be pretty welcome in technology circles; and both Latour and Alexander have keynoted major tech conferences. But part of their attraction is a certain outlaw quality that success has not eliminated.

For the other thing: they are all, in different ways, struggling towards the spiritual (for lack of a better term). Latour writes on ecotheology, Alexander is determined to undo materialist metaphysics in favor of something rigorously old-fashioned and hylozoic, and Moore – well, I’ll get to him. This spiritual bent is somehow linked closely to the disreputable qualities. At least in the eyes of the MIT-trained-nerdy-atheist aspect of myself. They beckon to me from outside prison walls that I seem to have erected for myself.

Latour and Alexander I’ve written about previously; Moore is a more recent object of obsession. He is, of course, pretty well-known at this point as the most accomplished writer in the comic book format (Watchmen, V for Vendetta, League of Extraordinary Gentleman). What I didn’t know until recently was that he had declared himself to be a Magician, in roughly the Aleister Crowley sense, and was getting seriously into all sorts of mystical shit. In fact he’s written about this widely and you can find stuff on the net; his series Promethea is pretty much a catalog of various mystical systems in graphical form. While this sort of thing is not really my thing, I can at least respect that it is neither crazy or lamebrained or even supernatural. Here is a rough statement of the core of his stance as I understand it, from an interview in The Believer (emphasis added):
Actually, art and magic are pretty much synonymous. …The central art of enchantment is weaving a web of words around somebody… When that enchantment is the creation of gods and the creation of mythology, or the kind in the practice of magic, what I believe one is essentially doing is creating metafictions. It’s creating fictions that are so complex and so self-referential that for all practical intents and purposes they almost seem to be alive. That would be one of my definitions of what a god might be. …It is a concept that has become so complex, sophisticated, and so self-referential that it appears to be aware of itself….If gods and entities are conceptual creatures, which I believe they are self-evidently, then the concept of a god is a god.
This is more or less exactly the same idea I was groping towards a few years back. Given my background and biases, I’m inclined to think of god-concepts in more quasi-mathematical terms, whereas Moore thinks in quasi-linguistic terms, but I think we are pointing in the same general direction. The title of this post is my attempt to condense the idea down to a sort of formal notation, because that’s what I do.

This way of looking at things seems so simple and obvious and at least partially right that I can’t believe it’s all that original (with either Moore or me). Yet I can’t find much prior art. Perhaps it isn’t really satisfying to most people who want to know one way or the other if there is a referent on the other end of the symbol. Maybe people’s concept of concept is not rich enough to encompass these kind of complex, quasi-autonomous structures. Concepts are insubstantial; gods if they are not mere fiction have some effects in the world. We are used to thinking of symbols as dead things on paper; but the more primal oral form of language was always alive, always closely connected to the real-time human activity of a speaker. The causal powers of words in the old days was immediate and obvious.

But we are getting more experience even in our advanced writing-based culture, with complex symbol systems that are immaterial and yet have effects in the world. That is what software is, after all. Gods are pieces of cultural software, powerful enough to erect cathedrals, start wars, bind together communities. Like software, they are living texts, actualized fictions.

[update:

Another doctrine that might sound profoundly anti-rational is that God’s holy four-letter name, the Tetragrammaton, is identical with God Himself. Unlike other names that merely point to the signified, when the unnamable Absolute becomes known to the created beings by a name, that name itself becomes the personal God of religion, ’Elohey Is ́ra’el. When the Jews received the Torah at Mount Sinai, they experienced a synesthetic vision, in which the sounds of the commandments were seen as flying letters, made of pure light...during their synesthetic experience, the Jews actually saw God as identical to His name. Therefore, it is permitted to bow before the letters of the Tetragrammaton, because they are God, in an esoteric sense, and not just a visual representation of Divinity, which Judaism forbids
From Between Enlightenment and Romanticism: Computational Kabbalah of Rabbi Pinchas Elijah HurwitzYoel Matveyev, talking about an 18th century encyclopedia assembled by Hurwitz ]

Monday, September 02, 2013

Labor Day Nonpost

Labor Day is a day when laborers are not supposed to labor. It is an artificial holiday, created explicitly to separate US labor from the international labor movement, which still celebrates on May 1. Since I am now a member of the blogging proletariat, this particular post is excusing itself from the task of making a point, and is going to ramble and drop links.

I Believe in America

Labor Day Is a Scam To Keep You Poor and Miserable Forever

Developers are the Autoworkers of our Generation (Hacker News discussion_)

Tech CEO autistically offers to automate someone’s job away

The discussion on that last one got me thinking…A good developer is constantly automating the boring parts of their job so they can focus on the more interesting parts. What is a compiler, or a continuous-integration server, but a way for developers to spend less time on repetitive tasks?

It is always striking to me how much software has improved in this respect, and how little. Yes, tools like Wordpress make it possible to set up a website in minutes, where it would have taken a month or so in the past. But the basic tasks of coding don’t seem any easier. Languages have not improved much in the 30+ years I have been doing this professionally, nor have editors or debugging tools (actually things have gotten quite a bit worse since the peak of powerful programming environments, the Lisp Machine, but that is a flame for another day). Revision control systems have improved, but not radically. You’d think we’d have systems that could go from intention to powerful software engine almost instantaneously by now, but no, it’s still an incredibly tedious process. Software seems stuck on a plateau, which is good news I guess for us developers, we just haven’t made ourselves as obsolete as we should have.

Of course the real money is in automating other people’s jobs. That is happening and I believe will accelerate in the next decade, which would cause labor unrest and a resurgence of Luddism if people had any guts, but mostly they don’t. Of course this has been happening for a long time:
The bourgeoisie cannot exist without constantly revolutionising the instruments of production, and thereby the relations of production, and with them the whole relations of society. ... Constant revolutionising of production, uninterrupted disturbance of all social conditions, everlasting uncertainty and agitation distinguish the bourgeois epoch from all earlier ones. All fixed, fast-frozen relations, with their train of ancient and venerable prejudices and opinions, are swept away, all new-formed ones become antiquated before they can ossify. All that is solid melts into air, all that is holy is profaned, and man is at last compelled to face with sober senses, his real conditions of life, and his relations with his kind.

– Marx & Engels, The Communist Manifesto (1848) (and no, I am not a Marxist but I am very fond of this passage)
The developer/entrepeneur/VC nexus is like the Victorian bourgeois raised to the nth power. Move fast and break things! If the old labor and socialist movements were a response to the rise of industry and the destruction of traditional ways of life, well, we are still waiting for an adequate political solution to the social churn caused by software.

Mitigating the effects of accelerating technological change doesn't sound so hard in theory. I don’t have any trouble imagining what that response should be. The goal is to have a world where the creative entrepreneurial spirit can thrive, but without the side-effects of destroying people's lives.  How about for instance: a guaranteed minimal income; changing our model of education from its industrial model to one of continuous learning; greater wealth equality and more democratic workplace cultures? All good ideas, but with essentially no chance of happening given the currently broken political system.

As a software person I feel our field should have some social responsibility for these issues – given how much we are damaging people’s livelihoods, we should also be working on the fixes. However, we don’t really have the talent or inclination.

Perhaps that is changing. Software may be eating the world, but as it does it gets changed in turn. The more artists, activists, and other people who are not in the generic tech-nerd mold get involved with software, the better (and I say that as pretty much a generic tech-nerd myself). The more important software is, the more important it is that it reflect the full spectrum of human needs, desires, and abilities, not merely the narrow parts of that it currently serves.

Previously. Also there are some obvious links between this topic and my recent guest post on I/Thou, the explicating of which is left as an exercise for the reader.

Some work songs (Spotify link).

And I should add that I have almost no personal complaints about my current employment, at least, none that have to do with this post. I'm pretty firmly in the camp of eaters rather than eaten and hope to stay that way.