Posts categorized “Philosophy”.

Overloading words in research and programming

In research and academia, one of the fundamental activities is the invention and subsequent examination of new concepts. For concepts, we need names.

One way of making a name is stringing words together until the meaning is sufficiently specific. E.g. “morphism averse co-dependent functor substitutions in virtual machine transmigration systems”. Thus the abstruse academic research paper title is born.

Sciences sometimes give new meanings to existing words. This could be called overloading, following the example of object-oriented programming. E.g. a “group” in mathematics is something different from the everyday use of the term. A “buffer” in chemistry is something different from a software or hardware buffer, even though a fragment of similarity is there. And so on. This overloading of words gives newcomers to the field a handle on what is meant, but full understanding is still impossible without understanding the actual definitions being employed.

Sometimes new terms can be created using inventors’ names and everyday words. E.g. a “Lie group” or the “Maxwell equations”, or “Howard-Curry correspondence”. This is potentially useful, but perhaps not something you can do freely with your own research without seeming like you’re trying to inflate your ego excessively. (Even though researchers love inflating their egos, nobody wants to admit it.)

There’s a similar problem in software development. When we invent names of functions, classes and variables, the lack of words becomes very clear. Intuitively, what is an “adapter registry”? An “observer list”? Or an “observer list mediation adapter?” My feeling is that we often end up compounding abstract words because we have no better choice. And here lies a clue to some of the apparent impermeability of difficult source code. We need better ways of making names. We’re inventing ideas faster than our language can stretch.

Fun and games

A cold, bright morning in Tokyo’s somewhat fashionable Azabu-Juuban district. I’m looking for a clinic, but I can’t find it. I’ve only visited it once before, more than a year earlier. I look for landmarks that I might remember, bring out the map on my phone, pay attention to every detail in the hope that I will recognize something.

The morning has turned into a game. It’s me against the city layout, me against my memory, me against entropy and the temporal degradation of my cognitive faculties. The ludic dimension has entered my life again. And soon enough, I find the place I was looking for.

When we have a sense of competition, that a victory against something or someone is possible, our awareness of life is heightened in every way. We pay more attention, we notice more, we become more here and now. The endless simmering chatter in our heads, nearly meaningless thoughts that usually refuse to yield anything meaningful, gives way to absolute focus.

It occurs to me that a society where everyday tasks can be carried out like they are games, victories to be won, might be a more moral society, with greater happiness and life awareness for everyone. In such a society, even if you lose a particular game, you win something else.

Nietzsche on software (?)

In his first amendment to Human, All Too Human (1886), entitled Miscellaneous Maxims and Opinions, Friedrich Nietzsche states that

300. HOW FAR EVEN IN THE GOOD THE HALF MAY BE MORE THAN THE WHOLE. — In all things that are constructed to last and demand the service of many hands, much that is less good must be made the rule, although the organiser knows what is better and harder very well.He will calculate that there will never be a lack of persons  who can correspond to the rule, and he knows that the middling good is the rule. — The youth seldom sees this point, and as an innovator thinks how marvelously he is in the right and how strange is the blindness of others. (Helen Zimmern transl.)

Friedrich Nietzsche did not describe software making – I can only assume that he was describing authors and ideologists – but this seems to capture the difficulties of software development only too well. And it seems to give a recipe for how to overcome the communication difficulties (abandon exotic, over-refined solutions and focus on an easily understood middle ground, so that everybody can get together and comprehend the architecture). This was originally published in 1886.

With that, merry christmas!

Power and rebellion in Marunouchi

Buildings and nature outside the imperial palace

In the chilly yet sunny winter afternoon, I took a walk past the imperial palace in the centre of Tokyo. I find sunny winter days refreshing.

The palace is interesting to behold. It is fronted by lots of that most precious of Tokyo commodities, open space. Supposedly, during the height of the land bubble, the land on which the palace is built was worth more than the state of California. This is in turn surrounded by some of Tokyo’s most prestigious office buildings in the Marunouchi and Hibiya districts. Tokyo station is just a few minutes away on foot.

The scene is one of juxtapositions. Open space meets tightly packed high rise buildings. Traditional Japanese architecture counters sleek office buildings. Yet this  never feels contradictory, because there is an underlying theme of restraint and control.

As you might expect from a royal residence, the public courtyard is immaculate. The grass is so well cut and even as to resemble a golf course. The trees on the lawn are of uniform height, lushness and distance from each other. The gravel is supremely even.

The office buildings are similarly controlled: shades of grey and brown, a certain minimalism and homogeneity in design that is easier found here than in Europe, the sense that unnecessary detail has been removed.

There is a sense of power in all this; a will and a shared set of ideas that have been realized to a high degree. The homogenous, flat skyscraper with a grid of windows is the triumph of human, platonic ideas over the organic and the irregular. The palace garden is man’s will taming the uncontrolled vegetation we find in nature. Yet such control is always a question of scale. We can cut and prune the trees, but we cannot control the color of their leaves or the exact angle of every branch. And we can cut and prune the buildings, but generally, we cannot control the shape of the overall skyline in detail. Something organic manifests itself in the multitude, even as some parts are controlled.

Power and rebellion, in constant struggle and symbiosis.

Abundance and the culture of thrift

Tiny fish

For a long time, the level of comfort allowed us by technology has risen persistently. This trend shows no signs of slowing down. One of two things would have to happen: either we reach some point where a fundamental barrier prevents us from extracting or converting certain natural resources beyond a certain rate, and this becomes a hard constraint on humanity for all time, or physical matter ends up being under our complete control. In this latter scenario, which I don’t view as unlikely, we’d be able to convert trash into useful things at our whim, for instance.

This scenario is sometimes referred to as an age of abundance. It may have a large intersection with the singularity, an idea first championed in 1993 by Vernor Vinge, or it may be a consequence or a necessary prerequisite of it. For now, let us focus on the economic aspect of abundance only.

If these things come to pass, one of the fundamental assumptions of classical economics – scarcity – would be contradicted. I would suggest that we are culturally unprepared for this kind of world.

As countries’ economic productivity increases, we are faced with the choice of whether to work less and enjoy the same standard of living, or work as much and enjoy a higher standard of living. My understanding is that people have always chosen the latter.

In The Protestant Ethic and the Spirit of Capitalism, Max Weber puts forth the view that the development of capitalism in Europe was largely influenced by protestant values, particularly Calvinist ones. Even though many European peoples today consider themselves to be secular, it is clear that a Christian legacy has left a big mark on contemporary European culture. Simply put, many people only feel proud when they work and feel that they serve a useful purpose to their country. This is why they cannot choose to work less.

In an era of abundance, people would not be needed for the carrying out of most tasks. If they insisted on carrying out the tasks anyway, they would have to know that they were being costly and useless, thereby depriving them of enjoyment – unless we deluded them!

I see a few ways out of this situation.

  • Craftsmanship is considered a uniquely human and artistic activity, and people who turn to art and crafts can continue to feel that they are important.
  • Some work is fundamentally centered on human interaction and human meetings, for instance care, psychotherapy, hairdressing and leadership. These roles are unlikely to grow useless even as technology advances (purely materially).
  • Culture would have to change, allowing people to rest and feel valuable even without contributing to their society’s affluence. If this is possible or not is an open question.

I should point out that the contribution-as-pride mindset is a feature not just of European protestant cultures, but also seems to be one of Japan – though for different reasons. And probably one of many other countries as well.

Fact and narrative

photo-2

Philosophers have long debated whether we can perceive reality in an objective manner, or if there is a multitude of subjective perceptions. I am not qualified to enter this debate on an academic level, but I will offer some thoughts from my current vantage point.

Sensory impressions can probably be said to be objective. I have no reason to contest this. Probably, there’s a certain genetic variation in how sensitive our sensory organs are, e.g. degrees of color blindness or sensitivity to high frequencies, but this can be compensated for technologically; with hearing aids, microscopes and various kinds of sensors we can expand our sensory range far beyond what we are born with.

It’s quite likely that when me and my friend look at an object, we will notice different things about it and walk away with different first impressions. If they contradict each other, we return to the object and try to establish who was right. So these contradictions can be resolved by going back to the source.

We tell ourselves narratives about what we observe. Most abstractions are such narratives. For instance, I have never seen a perfect circle or a perfect line, since such things don’t exist, but I have seen very good approximations of such things in the world. Only by going up extremely close can I see that my perception was an approximation. But even though I know this, I will remember my perceptions in terms of these approximations since it’s the only practical thing to do. However, I can still “go back to the source” and establish the validity of my impression.

So with first hand perceptions, and with concepts that are built from compounded first hand perceptions, there’s nothing really contradicting an objective reality or suggesting that such a reality wouldn’t exist. But many objects of vital importance in society revolve around narratives that can not conveniently be examined in terms of first hand sensory impressions. Objects such as impressions of people, political platforms and ideologies, appreciation of art (which, even though it can be reduced to sensory impressions, seems supremely hard to explain in terms of it), and so on. For this reason, I think that the narratives that are most likely to be told in these fields form a subjective reality that is highly unlikely to be disproven or reduced to sensory impressions. By the very nature of these, precise communication between spectators is impossible and people are likely to carry wildly contradictory stories in their heads.

And in such a world, whether or not we can agree on the objectivity of basic sensory impressions, subjective impressions (narratives that will not be deconstructed or falsified readily) will carry great importance. In fact, we have a basic drive to construct these narratives in order to deal with the complexity of everything we perceive. This might change if we in the future can create a perfect mathematical model of the human mind. In this case, maybe some problematic items such as appreciation of art or the meaning of an ideology might be reduced to an objective and verifiable-from-sensory-impressions concept.

It would be interesting to explore the grayzone between concepts that we easily perceive objectively and concepts that we easily perceive subjectively. Are there ideas whose validity can be reduced to sensory impressions, but only with great effort, so that people do not usually do so?

(This post is partly inspired by recent posts by Carl Svanberg, who blogs about objectivism in Swedish. My philosophical views are still in development, and I don’t want to side with one -ism camp or the other as of yet.)

Small ideas that hide in the dark

graffiti

In the Japanese summer, minor cockroach infestations are common. Every pharmacy makes a fortune selling a wide variety of cockroach repellents, traps and poisons.

Cockroaches are interesting from an evolutionary point of view. They are inherently passive and defensive in their approach to life. When danger threatens, they run to the darkest possible place. They seem to  eat whatever is left over by larger animals. It is sometimes said that they would be the only species to survive nuclear fallout. But it turns out other insects, like the fruit fly, have a much higher radiation resistance.

Maybe cockroaches have some similarities with mold, then. Possessing minimal initiative, they are like a chemical reaction of nature that sets in wherever there is some energy gain to be had by consuming and breaking down some leftovers. Their boundary can be pushed away, but banishing them from the surface of the earth would be an impossible feat (and probably undesirable).

Sometimes it is suggested that these days, there is an ecosystem of ideas – “memetics”. Surely, in this ecosystem too, there are large and small “animals”. Animals that feed selectively, and animals that eat just about anything (that is, ideas that can take root in just about any sort of mind). Animals that take initiative and seek to change their environment, and animals that only react, only defend, only hide in the dark.

In daily life, we must be careful so as to not fall prey to the small ideas that hide in the dark. Seek out the large beasts, and hunt them in the light of day.

A couple of quick ideas

I’m currently in Sweden, enjoying the Scandinavian nature, catching up with family and a few old friends.

This time, some quick notes on a few ideas that have been brewing.

Orthopraxy is when people do things the same way: “correct” action/praxis. On Artima developer spotlight, there was a lively discussion on this in the Ruby community: is Ruby a language that is less patronizing to the programmer than many other languages? That is, does it enforce orthopraxy to a lesser extent than other languages? In very established languages such as Java, orthopraxy does not just come from language design though; it comes from the culture surrounding the language. Today it is so mature that there is a very small number of accepted styles and accepted ways of coding. This does make people more productive by easing communication, but I wonder if we could have both ease of communication and stylistic freedom…?

Garbage collection in society is the collection of discarded resources: entropy has gone so far that we banish used up objects to a heap of rubbish. Some of these may be immediately recyclable, most of them will take a long time to disintegrate fully. In software, garbage collection is about reclaiming the space used by lost objects that can no longer be used by the program. As such it’s more about recycling – all the memory is reused pretty much instantaneously. The trick here is finding those lost objects and putting the memory to use in a good way. Finally, in life, when plants or animals die, they become part of new plants and animals in a normal ecosystem. Isn’t this garbage collection on a molecular/atomic level? Maybe even as high as on the protein level.

Actor programming in Scala is something I casually started experimenting with for a text processing tool, and it turned out to be a very pleasant way of doing parallel computation. The asynchronous message queues were a much nicer way of doing things than the conventional monitor/mutex methods. I recommend trying to use it for something. In Scala they can equally easily be made threadless (usually each runs on its own thread), making support for a huge number of actors trivial.

Quantity as a success metric

I have something of an engineering background, so I easily end up thinking of success in terms of quantity. Maximizing this variable or that. Ensuring the greatest possible reward, or the smallest possible cost. But sometimes this is fallacious thinking.

As an academic, I would like to publish prestigious articles. It would be nice to publish 10 papers at second or third rate conferences, but they might all be made irrelevant by a single article at a first rate conference (or even an article in Nature or Science, say). So quality is a better measure than quantity.

I would also like to come up with new and influential ideas, but I suspect I would probably be happier if I managed to influence 10 very highly regarded people than if I managed to influence 10 000 laymen. (These exact numbers were computed using the “wild guess” algorithm and further evaluation may be needed.)

In professional life, I’ve found it dangerously easy to fall into a mode of thinking where you evaluate yourself by your income. This is true up to a point, but I’ve found that there’s a point beyond which additional income has diminishing returns in terms of how much it adds to my overall rewards from life. So beyond this point, quality is a better measure than quantity. What are my tasks, how do they force me to learn and evolve, what kind of satisfaction do I feel and why? So quality is a better measure than quantity.

User satisfaction with computer software can, to some extent, be measured using response time and latency. A snappy, responsive user interface usually produces more satisfaction than a sluggish one. But this can often be compensated for to a surprising extent by having appropriate progress indicators, animations and design features that placate the user in some way, assuring them something is being done. This is in a sense the opposite of the money situation: up to a certain point, quality makes up for quantity, after that point (when the slowness becomes impossible to mask), quantity becomes increasingly important.

What’s most interesting is perhaps the convertibility between quality and quantity. In engineering a device or a software system, quantitative metrics can be crucial tools in the construction process, but the final user experience must be qualitatively right. So quantity is a tool to construct quality. And in the real life situations where quantity is actually the best measure — bargaining, comparing, communicating, constructing, … — I think of it as a way to mask qualities. The numbers are simply easier to consider than the vast number of qualities that lie underneath.

Searching and creating

We distinguish between inventions and discoveries. You can own the intellectual property rights to an invention, but not to a discovery (you can’t patent the discovery of mercury or selenium, for instance). Inventions are meant to be created, and discoveries are meant to be sought for. But sometimes, the line between invention and discovery is blurry.

We cannot own the rights to mathematical structures or theorems, since they follow directly from axioms. Anyone with a mathematical education would come to the same results within the same axiomatic system. The creation of a mathematical theorem can be said to be a search process, hence the term “discovery” and not “invention”.

We can own the rights to music and paintings, since these are considered to be inventions. But isn’t the process that leads to a painting or work of music being created also a search process? Doesn’t the artist search for possible combinations that work together, in a — albeit very large and continuous — search space? But this is considered to be creation/synthesis rather than search.

The software developer is, at least sometimes, somewhere in between. A vision of a user interface that interacts with end users in a certain way can perhaps be said to come from the same large, continuous space as music and paintings come from. But given the constraints imposed by such a vision, and by the platform on which the system is to be built, the available libraries, the languages, etc, I would say that the construction of much of desktop/consumer software is a search problem. We look for combinations of components that fit the constraints, and when we have decided on this combination, we must connect the pieces together correctly. The space of possible solutions here, at least for someone who follows good design principles, is in essence much smaller than the music/painting search space. Of course there are considerations of taste and style, but they are completely irrelevant to the compiled product. They are a programmer aid.

Artificial intelligence problems are defined as search problems. But what are search problems, and what are “creational” problems, precisely? Is it merely a question of the size of the search/design space?