# Deleuze for Developers: will {Smooth space,Open Source} suffice to save us?

If you truly want to understand technology today, then you should at least be familiar with the philosophy of Gilles Deleuze. Unfortunately for technologists, Deleuze is rooted firmly in a philosophical tradition and a writing style that they probably find opaque. In this blog series, I plan on explaining Deleuze’s philosophy in terms that programmers can understand. This is the third in the series. You can find the first here. Enjoy.

Deleuze and Guattari employ the notion of ‘smooth space’ quite a bit in *A Thousand Plateaus*. I saw this quote about it the other day:

never believe that a smooth space will suffice to save us

I’ve recently been giving a lot of thought to 'cultural hegemony’ and its applicability to the web, specifically along the lines of Google. Basically, cultural hegemony is the idea that you don’t just have dominance through laws or economics, but through culture. So, for example, Google submitted SPDY to become HTTP 2.0: it’s going through the standards process, it’s 'open,’ but it also gives Google a lot of cultural leverage.

So there’s this connection there between smooth space and open source, and the battle between the Nomads and the State Apparatus. We’ll cover that second bit in a while, but for now: what is 'smooth space’?

## The spatial metaphor

The first thing to understand about these concepts is that Deleuze and Guattari is (I think of them as a singular entity…) a big fan of spatial metaphors. Essentially, we can project our problem domain onto a 2 or 3 (or more) dimensional space, and then use tools to analyze that space. I was first introduced to this technique by Manuel de Landa, who has a great lecture called “Deleuze and the use of the genetic algorithm in archetecture” (video)(text). A quick rundown:

So, let’s talk about the N queens problem. We have a chess board with one space, and we place one queen on it:

(warning, lots of ASCII (+ unicode) art to follow)

```
.-.
|♕|
.-.
```

This board is legal. It’s a solution to the '1 queen problem’: one queen, a 1x1 board. What about 2 queens? We have no solutions. (2 and 3 don’t. :/ All other natural numbers do.) First we place a queen:

```
.---.
|♕| |
-----
| | |
.---.
```

… but there’s no legal place for the second one. Bummer. We can determine that there’s no solution by using a simple brute force with backtracking: place the queen in the upper right, then try to place the second below it. That’s not legal, so we backtrack and place it on the right. That’s not legal, so we backtrack and put it in the bottom corner. Oh no! That didn’t work, so let’s move our first queen: now it’s in the bottom right, and we try to place the second in the upper right: fail! So we backtrack….

As you can see, this is a lot of steps for a small board. Once you get up to a 'real’ chess board, there are 4,426,165,368 possible placements, but only 92 solutions. A needle in a haystack! And we’re using a lot of steps to determine if there’s even one possible placement. We need something better.

One answer is genetic algorithms. So we can take our board’s current state and assign it a score. When we place a new queen, if it makes our score better, we keep it, and if it doesn’t, we lose it. Now we’ve taken our 2x2 board and projected it onto a 2-axis linear space. Imagine a plot where queens are on the x axis and score is on the y axis:

```
.dAHAd.
.adAHHHAbn.
.dAHAd. .adAHHHHHHAbn.
.adAHHHAbn. .adAHHHHHHHHAbn.
dHHHHHHHHHHHHHHHHHHHHHHHHHHHHHb
dHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHb
```

So we want to keep going with our solution as long as it slopes up:
we’ve found that our answers are at the maximum of each curve. Yay
calculus! But here’s the thing: this curve only has two possible
maxima: we will have more. And it might not be in 2-d space, it might
be in 5-d space. And we can only 'use math’ to find the maximum if we
generate the __entire__ curve, which seems computationally out of our
reach. So how do we find the maximum without generating the whole
curve? Genetic algorithms!

One such is ’simulated annealing.’ Without getting too into it, let’s just say that there’s a 'cooling factor’ that controls how tolerant we are of going back down a slope. So at first, we wildly go all over the search space, but then, as we progress, we tighten up our cooling factor, and we stop being so wild. Eventually, we’ll arrive at a solution that’s very likely to be the true global maxima/minima. Neat!

## Discrete vs. Continuous

If we know that the enemy is open to attack, and also know that our men are in a condition to attack, but are unaware that the nature of the ground makes fighting impracticable, we have still gone only halfway towards victory.

- Sun Tzu, “the Art of War”

Another interesting feature of this particular projection is that it transforms our problem from a discrete problem into a continuous one. One great tactic for when you’re losing: change the battlefield. Our genetic algorithm tool needs a continuous space to operate, but our problem is that our chess board is discrete. What do I mean by this?

“discrete space” is one in which the points are separated from one another in some way. As an example, 'integers’ form a discrete topology: there’s a 'gap’ between 1, 2, 3, and 4. You can see this by drawing a number line:

```
<--(-2)--(-1)--(0)--(1)--(2)-->
```

The real numbers form a continuous topology rather than a discrete one, there is no space between them. A ’real line’:

```
<------------------------->
```

Our 'scoring’ mechanism allows us to change the battlefield, it forms a function (isomorphism) to convert our discrete topology into a continuous one. We can now bring our continuous tooling to bear on a problem that was previously inaccessible.

## Striated vs Smooth Space

Military tactics are like unto water; for water in its natural course runs away from high places and hastens downwards. So in war, the way is to avoid what is strong and to strike at what is weak. Like water, taking the line of least resistance. Water shapes its course according to the nature of the ground over which it flows; the soldier works out his victory in relation to the foe whom he is facing. Therefore, just as water retains no constant shape, so in warfare there are no constant conditions.

- Sun Tzu, “the Art of War”

Okay. NOW we’re ready to talk about smooth and striated space. They have a number of names for this concept, and the one that’s most direct from where we currently are is 'Riemann space / Euclidean space’. Smooth -> Riemann, Euclidean -> Striated. Another isomorphism. ;)

Euclidean geometry is pretty much the foundation of a metric ton of our math. It’s what’s now known as algebra and geometry: lots of integers, discrete spaces. This cube starts at (1,2,4) and has a side length of 5. Cartesian coordinates.

Along comes Gauss, who was incredibly intelligent. He had this student named Riemann, who ran with the ideas Gauss had and started Riemannian Geometry. Riemann’s geometry is non-Euclidean: if Euclid described lines, Riemann described curves. Einstein would later base the theory of relativity on Riemannian geometry.

So, who cares? Well, think about it this way: You’re in a car, driving down a straight road. It goes for miles, with no turns or other streets. You’re operating in a smooth space: you can easily go from one place to another. Now, someone comes along and puts up stop signs every block. You must (for now) stop at these signs. Now you’re operating in a striated space: your movement is restricted. Now you’re moving from point to point on a line. It’s a very different experience, and you also didn’t have anything to do with the stop signs….

According to D&G, 'the state machine’ (one instance of which is the State) attempts to take space that is smooth and striate it. This is often a means towards imperialism, as the striation happens through quantification. Take, for example, the sea: a smooth space, you can impose latitude and longitude on top of it, simultaneously quantifying and striating it. This allows you to navigate the waters, and conquer the sea.

This is also the position that many web startups take: 'friendship’ was a smooth space before social networks came along. They quantified and striated that space, turning “I have many friends” into “I have 200 friends and you have 100 friends.” This quantification allows for commodification: now Facebook can sell ads. It’s also why startups don’t often have a 'business model’ at first: they first need to conquer and striate their space before they find the commodity. Sometimes you just hit dirt and go bust, sometimes you find a more precious commodity, then refine and sell it.

'nomads’ are entities which navigate and live in smooth spaces. Maybe my twitter bio makes a bit more sense now. ;)

## How do you create a smooth space?

You might remember Riemann from the ’Riemann sum’ in Calc I. The brilliance of the Riemann sum is that it first striates, then re-smooths the space. You start off first with a curve, and then approximate the area under it by dividing it into a number of evenly-sized bits. This first bit was necessary in a world without calculus: we didn’t have the tooling or concepts to actually tackle the real area, so we mapped that problem to one we did know how to solve. As the number of bits goes up, and their width goes down, more and more of the space under the curve is captured by our algorithm. Finally, once we’re able to take that first step away from (striated) algebra and move into (smooth) calculus, we’re able to move about on the curve for reals. We’re back to smooth space again.

This interplay between smooth and striated spaces often happens, and there’s really no part of our world today that’s completely smooth or entirely striated. D&G posit that the left should be attempting to create as much smooth space as possible, and that capitalism is constantly attempting to striate space. That said, smooth space is necessary, but not sufficient: capitalism, in its hunger and lust for acquisition and totalitization, has managed to navigate some smooth spaces. I’ll just quote straight from 'a thousand plateaus’, 492. It’s a little hard, but this is getting long enough as is. ;)

Not only does the user as such tend to be an employee, but capitalism operates less on a quantity of labor than by a complex qualitative process bringing into play modes of transportation, urban models, the media, the entertainment industries, ways of perceiving and feeling – every semiotic system. It is though, at the outcome of the striation that capitalism was able to carry to an unequaled point of perfection, circulating capital necessarily recreated, reconstituted, a sort of smooths pace in which the destiny of human beings is recast. … at the level of world capitalism, a new smooth space is produced in which capital reaches its 'absolute’ speed, based on machinic components rather than the human component of labor. The multinationals fabricate a kind of deterritorialized smooth space in which points of occupation as well as poles of exchange become quite independent of the classical paths to striation. .. the essential thing is instead the distinction between striated capital and smooth capital, and the way in which the former gives rise to the latter through complexes that cut across territories and States, and even the different types of States.

The first part about 'users’ is very much drawing a parallel to “If you’re not paying for the product, you are the product.” When they talk about the 'speed’ of capital, think of HFT. Multinational corporations have managed to overcome the striation that a State has imposed. McDonalds is only partially affected by US laws. They operate 'outside’ of states.

In this way, simply being smooth will not suffice to save us.

If you liked this blog post, you may enjoy “Philosophy in a time of software, a moderated Google Group to discuss the intersection of philosophy and technology. This post started out as an email to that list.