Resisting circumstances

Friedrich Nietzsche famously said that “what does not kill me, makes me stronger.” While true in some ways, this statement appears to be a generalisation masking a more complex truth. For instance, cutting off one’s hand does not kill one, but hardly makes one stronger, unless one specifically desired greatly improved dexterity of the other hand, even at a very high cost.

It is a fact that we cannot predict all the circumstances that we will find ourselves in throughout our lives. So we cannot predict what skills or strengths we will need either. Any one who has some kind of ambition in life has no way of establishing completely beyond doubt that their ambition will come true. They can only work towards reducing uncertainty.

At this point a number of different attitudes emerge. One could take the view that “Life is nothing but suffering. We must learn to cope with it.” Subsequently one could teach that suffering is a thing in the mind, and that training the mind to absorb suffering without feeling pain or becoming upset is our best hope. Either that, or reduce the ambitions so as to be frustrated less often. The goal of this ambition reduction is zero ambition, zero desires and zero expectations. With this mindset, you can never be let down. Nullified resistance, maximum fluidity.

Another view: life presents us with challenges, some of which we may overcome, some of which it is pointless to even try overcoming. A “pragmatist” view that tries to establish a middle ground. Some suffering is worth resisting, some is too much. People taking this view have some degree of resistance, but also a breaking point at which they would accept that “life is hard” and bend according to the circumstances of fate. Maybe they would also be opportunist and take their chances for easy gains when they can, to get revenge on life.

And finally, let’s look at the other extreme view. Nietzsche also said, perhaps slightly less famously, that “only to the extent that man has resisted, has he lived.” If I take this view, that I should resist adverse circumstances maximally and have my way in life, I must handle the problem mentioned at the beginning of this post — I cannot predict the circumstances that will befall me. No matter how strong I am, it is likely that there will be some set of circumstances that might destroy my aims completely, and me in the process. But let’s say that I take the view that some outcomes are less likely than others. I buy into some form of probability, for instance I think that five dice are less likely to all have the number four facing up than they are to not end up in this configuration. What choices should I make to maximise my ability to resist, given that some choices actually do make me stronger?

On statefulness

Last year I made some attempts at free association around formal languages and state machines. But at that time, not much was said about the idea of a state itself; an idea which I think holds a lot of interesting uncharted territory.

To begin with, what is state really? Intuitively the word distinguishes states of an object. The key here is the plurality. A single state in itself is uninteresting. Only as contrasted with another state does the first state acquire meaning. This leads us to an interpretation: states are a way of grouping all the possible forms-of-existence, for want of a better word, that an object has, which lets us make sense of such forms more easily.

To exemplify: the light switch in my apartment can be on or off. But in physical space, the plastic switch can occupy a very large number of positions between one and zero. However, the spring mechanism forces the switch into the first state or the second state as soon as I release my finger from it, giving rise to two distinct functional states. When I was a kid, I would sometimes play with the rather old light switches in my parents’ house by keeping the switch in the middle between on and off. A humming sound would be emitted, and the lights would flicker on and off. Surely not a very good thing for the fittings, and potentially dangerous, but interesting since this broke down the abstraction – the continuum behind the discrete was exposed.

So given a physical system, then, which remains the same system even as some parts move around, electrical currents flow, etc, we use states to partition all the forms of existence of that system into meaningful ideas. “The door is open/closed”, “The engine is turned on/off”, “The engine is turned on but there’s almost no fuel left”, and so on. States have probably been with us as long as we have been able to think of binary distinctions, which is to say throughout the history of mankind – opposites such as day/night and alive/dead must have been with the human mind from prelinguistic times.

Today, states are an essential way of turning the unmanageable analog realm into a finite, subjugated digital representation.

Meta notes: 1+ year with Monomorphic blogging

After 13 months and 51 posts, my experiments in blogging continue, although they are perhaps better described as polymorphic than monomorphic. Maybe it’s time for some reflections.

On the whole blogging in this format and at this frequency has been a pretty fun and fulfilling process. I get to practice writing free-form, nonscientific texts, and even if many of them might not be read by so many people, the idea that they might be turns it into a useful exercise.

Recently Flattr buttons were added to this blog, which allows users who use the service to donate money and show appreciation for my texts (some such people indeed exist – thanks a lot, all two of you!). Initially I had a single button for the entire blog, but now I am trying out a format where I have one button per post.

I’ve noticed, on this blog and elsewhere, that I can’t quite decide if I should write with British or American English. I feel culturally uncertain as a writer of this language. But recently I’ve come to think that I should embrace my European background, so more of the British variety in the future is a likely prospect.

Topics have been varied. The tag and category systems have been used in an attempt to bring some order to the table, but they’ve become too chaotic to be useful. A restructuring is perhaps in order during the next 13 months.

One of the most popular topics I’ve written about has been the Scala language. People tend to google Scala a lot, and it’s actually really uplifting to see the interest in it (since I hold it to be a way forward). If you are a blogger who wants to get a billion page views, write about Scala. I don’t want to consciously pander to the readers too much, so in itself it is not a reason for me to write about the topic. I will write about Scala when I want to say something about it. (A difficult principle to really practice.)

I’ve tried out some different WordPress themes occasionally, but so far I haven’t found anything I like better than this “Infinimum” theme. It feels very clean, functional and modern.

That will be enough of the reflections for now.

The identity crisis of the internet

The architecture of the Internet is fundamentally decentralized, a fact that continues to impress to this day. The breadth and depth of the sea of applications and uses we have made of it, and its resilience, impress perhaps all the more, because many of our experiences from everyday life tell us that some of the strongest things in society are singular and centralized — huge companies and governments, for instance. I’m actually not an expert on internet architecture, but my understanding is that the only thing that is fixed in it is the DNS system, which relies on some top level hardcoded IP addresses and coordination.

But even though the Internet is built on a decentralized architecture, it also supports applications/services that are highly centralized in their architecture and in their intended use. Google and Facebook are two very famous such applications. On the other extreme are applications that might be called P2P, including notorious file sharing systems such as Bittorrent, and also simple email (which was designed for decentralized use but is becoming heavily centralized with services like Gmail).

In recent days there’s been much discussion about Facebook’s role, particularly since it has been taking more and more liberties with the vast amounts of data about it users that it holds, scaling back the notions of privacy and integrity as they see fit. Many people are calling for decentralized alternatives to Facebook to rear their heads, and I suppose people have been calling for decentralized search engines as well for some time.

Much seems to be at stake here. What’s the future direction of the internet? A few giants holding all the data, monopolising certain functions, or a distributed network of peers, creating functionality together? The debate is ideologically charged and could be mapped into a big government/small government discussion, although I think it would be fruitless to do so. What is certain is that radically different applications can be created using the centralized/decentralized models and that it is rarely a case of merely “porting” an app from one architecture to another, the way you port an application from C to Java. On an abstract level, the two models could serve as substrates for the same functionalities (such as social network services), but the concrete implementations would have very different characteristics.

Do we create centralized applications because our legal systems, property rights systems, and so on, have not evolved at the same pace as our infrastructure, so that our tendencies, habits and ideals from a brick-and-mortar world are preserved in the world of fiber and switches, appearing ever more outdated?

In Sweden this debate has been especially pronounced recently with companies like Flattr being firmly on the side of decentralized models. Flattr is trying to be a universal donation system for content on the internet, and the vision behind it is a large number of decentralized creators of “content” (which are themselves consumers).

I’m not sure which model will win in the long run. I prefer to think that both models have a role to play and that they can coexist nicely. But lately it seems as if the centralized model has had a bit too much momentum. Let’s dig deeper into the decentralizing potential of the internet!

A problem solving method

Here’s a general method for synthesising solutions to complex problems, intended for use by people.

1. Enumerate the constraints

2. Find an initial solution that feels right but doesn’t quite work, based on previous knowledge of the domain

3. Use the information contained in the constraints to adjust the solution, so that it works

4. Either you have succeeded, or new constraints came out of the process => go to step 1 and repeat