Showing posts with label philosophy. Show all posts
Showing posts with label philosophy. Show all posts

Thursday, October 05, 2006

Tagging

Tagging is a very common feature in various database type applications nowadays. It's very tempting to try and use it as a hierarchical or disjoint categorisation tool, but this is obviously flawed! I have tried to use tags as such, but it doesn't work well, and breaks the real idea of what tagging is about.
Tagging is supposed to be haphazard and instinctive. If you scatter many tags everywhere, and use the tags, you will naturally settle into a vocabulary that unlocks a lot of extra information from your database, whether you're using a personal or a social tagging system.
A small number of well chosen tags that has the effect of causing a hierarchy or a disjoint categorisation reduces your flexibility in choosing tag names in the future, and makes things needlessly constrained.
As concerns social categorising systems, maybe we need parallel systems: tagging, hierarchies, sets and more. The more ways we have to link up data, the more useful it is I would say!

A Go Game

What sort of game do I want? I see the beginning of the Go game as a conversation, where I decide with my partner what sort of game I want to play.
Do we want to play a standoffish game of opaque strategy, do we want to have a singleminded scrap across the whole board. Do we want to play similar styles, or pit different styles against each other? Do we want to cooperate, or argue? Do we want to experiment with new ideas, refine developing skills, or exercise prior knowledge? What combination of these things do we want to do?

So, the opening is like a statement of policy. After that, the outward aim of the game is to see whose policy works the best. Go's excellent handicapping property (it's too basic and intrinsic to be called a rule) is such that the strength of the players should only be a factor in the choice of policy, not a decider of the outcome of the game. (Unless the strength gap is too great, in which case teaching games are more appropriate.)
Go helps you realise your own strength, not waste it, and not have a false impression of it. If you adopt policies that you don't have the strength to follow up, you lose. But if you adopt policies that you easily have the strength to follow up, if the handicap was set correctly, you will lose because you wasted your stones.

If your strategies turn out to be ineffective, you have to find the agility to move onto effective strategies. Go is full of balances like this.

Maybe I will play an inflexible strategy in the hope that it is one my opponent doesn't know and will lose to. Maybe I will try and play as flexibly as possible, partly to hide my lack of a plan, and partly to be ready for unexpected events. Good go is a combination of all these things. And the size of the goban means you can adopt a varying mix of these in different places on the board.

So by the midgame the strategies are decided, there is no more room to change them (barring swindles). It is up to both players to follow through with the promises they made at the beginning. If they don't, they lose.

If the handicap was right, and both players made good choices, the result may be a draw. The endgame is an opportunity to avoid a draw by making up points in the last little fights over small amounts of remaining territory.

So perhaps one view of Go is this. The opening is a gamble. Do you have the skill to pull off the strategy you want to use in order to win? Do you want to win on the strategy, or rely on using superior strength to take a big swing in the midgame, or do you want to make it a close game and take the win with little points in the endgame?
Because stones are played in turns, both players base their decisions on the intentions the other communicates through their stones.
Once the bets have been made, they have to be tested. As the game progresses there is less and less opportunity to change your bets, and you are forced to follow them through.
By the endgame, both players are scraping up the last points, either to emphasize or blunt a victory, or to snatch one.
Gamble, prove, scrape.

An ideal game of Go is a draw: both players chose appropriate strategies for their skills, the handicap was correct, and neither could break the others choices. Because the skill of individuals varies widely and according to context, and because the available strategies and tactics in Go are so great, this means that in reality the game may not always be a draw. A well balanced game that isn't a draw and where no mistakes were made represents both players exploring new territory. A well balanced, flawless game that is a draw represents both players practicing on charted territory.

A good Go player works a balance between practice and exploration. In a full-size game there is often opportunity to do both.

Go has very much depth!

Bearing all that in mind, playing Go against a computer is quite strange, especially when it's better than you! It's as if the computer is beating me at a Turing test.
Once you've gotten over the weirdness of taking a game against a computer seriously enough to play properly, the fact that it's actually better than you is quite interesting. (Remember that number crunching is not a big item in the armoury of a Go player). Perhaps this is the one way in which a computer can actually teach me (albeit only for the beginning stages), rather than merely being a portal through which I view information.

Saturday, September 02, 2006

Martial Arts, Games and Learning

A common criticism of martial arts (as studied by the layperson, rather than the military etc.) is that 'the moves would never help you in a real fight'. This has never been a problem for me. My reason for training is not to obtain fighting skills as quickly as possible, but to gradually obtain movement skills and gain mastery over my body (in a less domination-centric terminology: to unite my mind with my body) over a long timescale.
So although the things I'm learning currently won't help me out in a mugging, they might help me use my body with more awareness and care, for myself and others. Perhaps I'll drive more safely, not push myself or others beyond our limits, and grow older with better health, etc.
I'll be fitter, mentally and physically, and a more effective member of society than I otherwise would have been.
So, my message to the martial artists who want to fight: Give up martial arts. Get out onto the streets and get into fights. That's how to learn to fight. You'll make the 'right' friends, and be engaging in the right activities to do 'well' in real fights.
To the martial artists: Perhaps you will be a better fighter eventually. But I think that's missing the point. Your martial art can be of far more value to you in your everyday life.
I'm sure many people understand this, but I think many don't as well.
The reason the moves we learn (at the beginning stages) in martial arts wouldn't help in a real fight is that they're very contrived. Both parties have to cooperate a lot in order to make the first steps in learning. What do these contrived moves do? They give us a sense of what's possible, extend what's possible, and allow us to practice and develop fundamentals that will be useful in a freer context.
I am discovering the same thing in maths and Go. Although a game of Go is almost infinite in its possibilities, without a study of the fundamentals, the range of accessible possibilities is much reduced. And maths is so open-ended that you can wander round in circles forever unless you impose some sort of order on your endeavours somehow.
And to take it to its extreme: life is the most open-ended chance anyone ever gets. To fail to transfer the lessons learned from more restricted activities would be to close off the possibilities of the universe!
I never knew a board game could be so illuminating. Perhaps it takes a board game like Go. (And stepping stones, in the form of maths and martial arts...)

Sunday, August 27, 2006

lines of enquiry

Yesterday I visited Kettle's Yard to see an exhibition called 'Lines of Enquiry', containing images created by non-artists for various purposes. It really opened my eyes to the value of drawing and related skills. And the vast array of purposes that such skills can be put to. It's easy to think that artistic activities are segregated from clearly utilitarian, practical and scientific endeavours. This exhibition really showed how both can really benefit from each other. Perhaps it's simpler to see that the distinction is actually artificial, and that by doing away with it, freedom of expression is increased.
It's easy to miss out on visual representations in every day life. Browsing through this exhibition gave me the resolve to get back into drawing again.
One thing I am sure of is that failing to communicate visually is missing out on a dimension of life with huge potential.
What role does visual representation play in your life?
Definitely a line of enquiry to follow up.

Wednesday, August 16, 2006

decaying filesystems

Wikipedia is a big collection of interconnected articles, each with its own edit history.
If we view each article+history as one object, then it will come as no surprise that links between articles link to the most recent version of the article.
But if instead we view each version of an article as a separate article, a different view comes out. Instead of wikipedia being a big collection of interconnected articles, we have a big collection of interconnected stacks of articles, where each stack represents the article and its previous versions.
Now why do links between articles automatically point to the 'top of the stack'? The article may be changed out of all recognition from what it was further down the stack (earlier in its history).
In fact, we arrive right at the paradox of the heap: when does an article undergoing many small incremental changes actually cross the boundary between being a modification of its earlier self to being a totally new article?
The answer is of course, that it doesn't. The boundary is entirely artificial, and almost entirely not useful.
So this is the fix: wikipedia article links should link through to the version of the article that is relevant to the text linking to it. Intuitive no?
This leads to some nice behaviours: because links can be redirected to different versions of an article you know you're pointing at what you intended to point at. Also, there is more emphasis on the age and stability of the information you're viewing.
But perhaps it would be tedious to have to keep updating links as articles improved over time. Perhaps there could be mechanisms that tracked people's browsing paths and updated links automatically. Or perhaps it would form the basis of a new recommendation system: major edits would gain approval from the community by getting linked to.
This system also suggests another improvement: branching articles. Each modification to an article is actually a branch. Vandalized branches would soon die, while community-approved branches would blossom.
You could even have a system whereby short branches with low link counts (or a high proportion of links from ancient but successful branches, representing abandoned links) could be migrated to lower quality media, or even disposed of: a sort of garbage collection for high-level human-readable information.
Branches are also excellent in that they solve the article renaming, moving, merging and splitting problems at a stroke: because the mechanisms to redirect links quickly are already in place, it is comparatively cheap to perform these operations.
The possibilities are endless. And it would be a job to get right, but it's something we could benefit from a lot I think.

the democratisation of programming

Sitting at work browsing through code and documentation recently, I came to the realisation that computer programming is easier now than it has ever been. Programming languages are more accessible, development environments increasingly more cuddly, and the number of prefabricated parts has exploded.
So now any Tom, Dick or Harry can program.
And what's more, almost any Tom, Dick or Harry can create his or her own programming languages and environments, which has happened more than successfully on more than one occasion.
This is simultaneously very good and very bad.
Lowering the barrier to entry deconcentrates power out of the hands of few. But it also heavily dilutes the skill of the few in the incompetence and mediocrity of the many. When programming was hard, incompetence was weeded out by 'natural selection'. Now incompetence is rife. And for the beginner, wading through all this crud can be quite uncomfortable. And potentially damaging. When you're developing on top of broken items, it's easy to fall into a broken rut yourself.
The solution? Keep your eyes open at all times, and question everything.
Having said that, I did read an interesting article recently about how 'Worse is better'. But I think that's definitely a case of breaking the rules once you know them.

Wednesday, August 09, 2006

originality isn't new

How often have you sat down to write an essay only to stall right in your tracks because you felt like you were sitting down to write the same old essay that a thousand people had already written?
I know I have many times. It can be a real motivation killer. Which is why I decided to look into the situation a little further. And it turned out to be quite simple. I simply had, and have, no desire to tell people something that they already know. What would be the point in that?
Retelling old stories to people who have already heard them sounded like an easy route to a nice boring reputation. Rewriting old thoughts in fresh ink felt like a sure way to lodge deeper into whatever philosophical rut I’d been trapped in recently. Using the present to recycle the past seemed like a rather sad waste of an opportunity.
Striving for originality can be a very positive drive. If we were all content with reinventing the wheel and rediscovering fire we might never have invented styling mousse or electric toothbrushes. But sometimes originality can get in the way of itself. And all kinds of other innocent bystanders.
Often what is needed is not a new solution, but just a logical application of an old one. And if you have no knowledge of applying old solutions to easy problems, what chance have you got of finding new solutions to new problems?
Originality is a faraway objective that would be nice to achieve, but realistically speaking, isn’t usually. But that sounds rather negative.
What people mean when they say ‘original’ is hazy. Sometimes they mean in relation to the history of humanity. Sometimes they mean in relation to a current trend of thinking. But usually the scope is pretty wide.
I think we can achieve originality if we narrow the scope a little. If I want I can do something original, in relation to me and my history, every day of the week. And from there I can widen out my originality if I want. At least I have a foot in the door of Originality’s home, where before I was fixated by the ‘Beware Of The Dog’ and ‘We’re Not Buying It’ stickers.
So the moral of the story is, sit down, write your essays, explore your thoughts, and tread those ruts ever deeper, because one day you’ll find that either they go exactly where you wanted to go, or, more exciting still, you’ll find that they run out and you have to forge a new path for yourself!
And of course, even old ruts have rough edges which you can smooth or roughen as your mood takes you.
Whatever you do, don’t be intimidated by the towering monster that is ultimate originality. You’ll never come close to it if you don’t start on its minions first!

Saturday, September 03, 2005

some musings on data and interpretation

Some ideas that came out easily, on the 9th of June 2005. It feels like they're going somewhere, but not without some thought, and probably a lot of maths and programming.

  • Data is inextricably linked to the methods that process it.

  • Memories have a language of their own, do humans share the language of memories? Could a goal of humanity be the effective translation of our language of memories? Could imperfection in translation be a huge source of conflict too?

  • Information is symbolic, without a means of interpreting the symbols the information conveys nothing.

  • Once the symbols can be distinguished, patterns within the symbols can be accessed. However, the original meaning (intent) may be lost and will generally be distorted.

  • Given a set of symbols and an interpretative mechanism for those symbols, to what extent are the patterns spotted a result of information within the interpretative mechanism, and to what extent are the patterns spotted a function of the information within the symbols? I rather suspect that this question also misses a point: It falls foul of the fallacies of subject/object metaphysics. Within any interaction there is participation from both sides. For an interpretative mechanism to detect patterns within symbols there will have to be a contribution of information from both sides, at some level.

  • Interpretative mechanisms range in style: some seek to minimize their input of information while maximizing the effect of the external data, others use external data as a randomizing element or mixing agent for expression of their own internal data (maybe this is a good framework for interpreting the occult/astrology/science etc.?).

  • An interpretative mechanism which includes the assumption that it does't affect the data it processes is ultimately flawed. (See subject/object metaphysics). Science often falls foul of this.

  • Data with no obviously associated interpretative mechanism is worth less, all other things being equal, than data with an interpretative mechanism.

  • High quality data may be restricted by a low quality interpretative mechanism, and vice versa etc.

  • Data can be represented by a set of symbols. An interpretative mechanism can be represented by a processor for that set of symbols, which may generate another set of symbols in response, or may create some physical output or whatever.

  • Data never exists as a set of symbols (except in the universe of platonic forms...). Instances of data almost always have some elements of the interpretative mechanism held locally. That is to say, the interpretative mechanism has a large influence on the manifestation of the data. Usually data and an interpretative mechanism co-evolve together, and are intimately interconnected, even if only at substrate levels (eg, dependence on ASCII, or spoken language or whatever).

  • An interesting model of reality is merely a seething array of interdependent information. The extent of this information is phenomenal, and the levels of structure range across the orders of magnitude widely.

Tuesday, August 23, 2005

loose thoughts on memory

You could think of perception as pattern matching. Matching patterns of mental states against other patterns of mental states. For example, perceiving a banana could be viewed as matching the 'live' perception of the banana on your senses against the stored perceptions in your memory. Without your memories you wouldn't, from your own perspective, be perceiving a banana, you would be perceiving something unknown, and you would be formulating a new memory for which you could later fill in the name 'banana'.

(nb: parallelism in pattern matching 'schemes', and fuzziness of pattern matching. Explore methods of pattern matching.)
It is quite easy to divide perceptions into live perceptions and stored perceptions. Live perceptions are perceptions that are currently being perceived, that are immediate, arriving through the senses directly. Stored perceptions are those that have been perceived and remembered, and are accessible for remembering again.
(nb: continuum between 'live' and 'stored', also stored perceptions can be viewed as budding off new live perceptions every time they are accessed/perceived again, leading to an expanding, evolving tree of memory.)
If perception is viewed as pattern matching, as matching patterns of mental states against other patterns of mental states, then combining that with the division of perceptions outlined in the previous paragraph, 3 obvious combinations become apparent.
We can pattern match between immediate perceptions, a sort of 'on-the-go' perception, we can tell that one animal in view is of the same kind as another animal in view, or that there are two similar forks side by side on the table.
We can pattern match between immediate and stored perceptions, ie, the fork on the table looks like a remembered fork.
And finally, we can pattern match entirely with the realm of stored perceptions, we can imagine various items of cutlery entirely with our mind's eye.
We can imagine complicated dancing patterns of this kind of pattern matching going on in our every day perceptions, and analysing these dances can shed a lot of light on the way our consciousness could work, as well as providing a neat framework against which consciousness could arise out of basic sensory mechanisms.