Created | Updated Jul 31, 2003
Life is often perceived as a linear sequence of events which are lined up like pearls on a string. It starts with birth and ends at the time of death. But sometimes there seem to be knots in this string of events, and you come across things which obviously (so you believe) have happened before.
Introduction: Taxonomy of Loop Situations
If these repeated events are restricted to a single occurrence then they are called déjà vu. If the repetition is limited to some countable number of recurrences with a foreseeable end then it is called a loop. And if, at least in the perception of the individual who is experiencing a certain situation, there is no end in sight then one is talking about endless or infinite loops. All of the above can be desirable or not.
Loops are quite delicate to maintain if one desires to keep them operative. At the same time, loops of the undesirable kind are generally hard to stop. Some loops show a tendency to degenerate into really nasty things, namely
- Vicious circles,
- Deadlocks (also known as catch-22), and
Vicious circles are loops which, from one cycle to the next, produce a situation that is worse in comparison to the previous state. An example would be the social decline of people who become addicted to drugs, and usually the vicious circle passes the steps of social isolation, increasing drug consumption, unemployment, becoming criminal, to eventually end in prison.
Note that there doesn't seem to be any language which has a proper name for the opposite of a vicious circle, ie a loop which improves some condition by executing one of its cycles1.
Deadlocks are processes which have come to an unwanted standstill due to some mutually contradicting requirements or counteracting forces which balance each other out. An example is the Dining Philosophers Problem2.
Having 'talked oneself into corners' means one has entered an orally argued deadlock, and is often accompanied by helpless movement of the chin in an attempt to speak.
Endless Loops Of the Undesirable Kind
Being caught in a bad endless loop is a most uncomfortable feeling, and people avoid it at all costs. Humans have a very fine sense for repeating patterns and endless repetitions and don't like repeated use of the same word repetitions and quickly get bored or annoyed. Even the impression that some conversation at a party is not getting anywhere creates an itching sensation down one's neck, which is then followed by some remark like "...err, excuse me, I think I'm going to get me another drink".
These brain circuits which are constantly watching out for loop situations will set off an alarm at the slightest indication of self reference or endless repetition, whether this alarm is visible or not. This lesson was learned by car manufacturers long ago, when workers on the conveyor belts started to develop lots of different diseases. The cause for these diseases was later found to be the repetition of one and the same dull action, say, fastening front bumpers to car bodies, the whole day long.
On a side note, it seems that children are somewhat insensitive to large repetition counts. They can be put to bed with highly repetitive muzak, can play 'endlessly' with the same toy, can debate at length over the 'chicken and egg' problem (which of these came first, please?), and are fascinated rather than annoyed at being told stories over and over again.
Ranking Undesirable Endless Loops
There are different levels of undesirable loops. Degrees of 'endlessness' (or could we say 'loopivity'?) depend on
- whether a way out of the situation is available at all;
- whether an expiration time is known or not (loss of hope);
- whether the victim was put into this situation on purpose;
- whether the victim is aware of these bad intentions.
Software Going Wild
A common mistake in writing computer software is the failure to define a correct condition for exiting a software loop.
Here only a machine (the processor) is stuck in the loop and no one but the programmer gets to see it. Users of the software will only realise that their computer doesn't work as expected - and reboot it.
There is a significant difference in this example versus others which will follow: the victim is lacking awareness of being stuck in the loop. Does an ox working in a treadmill somewhere in Greece know that it is circling in a loop? Machines - not even computers equipped with the latest achievements of Artificial Intelligence - are not supposed to have any consciousness about themselves3.
Dripping Water Tap I
This is an endless loop as long as the municipal water supply is operative. The blob...blob... of the water sooner or later gets on people's nerves, so you better get out of bed immediately to shut or fix the dripping tap, and not after half an hour of complaining and spinning round in bed.
This is a rather mild case of an endless loop because a way out is obviously at hand and a time-out condition can be set up by the victim himself4. There's another instance of the dripping water case further down this entry, with a difference.
Skipping Vinyl Records
The record keeps playing a series of tunes over and over. Sooner or later somebody will give the stereo rack a good kick in order to advance the needle over the scratch or speck of dust.
The loop time is slightly larger than in the dripping water case, but this doesn't count. Since remedy is at hand, this is also a rather easily avoidable loop. To the ears of some people, the 'loopy' properties of vinyl records have nowadays been taken over by some types of modern music which mainly consist of repetitions of one and the same tune5.
Flies (and mosquitoes) leave their place just a fraction of a second before the rolled newspaper leaves its colour on the spot. The cycle repeats itself after the beast has settled down again on a different place.
This is yet another moderate loop with a longer repetition time. You might even debate whether it's endless at all because the situation is rather obvious and has remedies readily available (eventually killing the beast, opening a window, or surrender). But you should ask a human who is plagued by a mosquito at night6.
Getting Help From #?;@5! Corp.
This is actually an array of loops which are hideously nested into each other. The innermost loop consists of two instruction files which come along with a *[email protected] disk drive. File No.1 (manual.doc) starts explaining some steps of installation, then refers to file No.2 (install.doc). File No.2 refers back to No.1 without giving further information. The next twisted loop construction is wrapped around that pair:
- File No.1 : 'In case of problems, please phone up our BBS'
- BBS : 'Access denied. Get Username and Password from Customer Service Hotline'
- Hotline : 'Here you are: Heaven / Earth. Now try BBS again'
- BBS : 'File not Present. Refer to Hotline'
- Hotline : 'See Manual or visit Website'
- Website: 'Invalid File Format. Ask Hotline'
This is a very cleverly designed endless loop, and nobody knows whether this is done on purpose. But the Hotline does its best to keep hope alive on the side of the victims.
This is a proper name for a phenomenon known to everybody who needs something from civil servants in Germany. A figure in a popular story, Mr. Wanninger is being sent from one office to the next, throughout the whole building, because it is always some officer across the floor and two flights of stairs up or down who is responsible for the needs of Mr. Wanninger.
There is no legal way out for poor Mr. Wanninger, but tales of success from other people keep his hope alive.
Wanninger cases can very easily escalate into explosions (eg, in the form of running amok) or deadlocks, eg, if you need a passport in order to obtain employment, and need a proof of employment before you can get a passport7
The Film Groundhog Day
A weather man is reluctantly sent to cover a story about a weather forecasting... [through observing a groundhog on Groundhog Day]... On awaking the 'following' day he discovers that it's Groundhog Day again, and again, and again. First he uses this to his advantage, then comes the realisation that he is doomed to spend the rest of eternity in the same place, seeing the same people do the same thing EVERY day.
(Quoted from the Internet Movie Database).
The man went through the loop 42 times8 without an end in sight, realising that his future was lost, and with no hint as to the purpose of his nightmare.
Dripping Water Tap II
You might know the situation from some Hollywood movie (it's also known as the Chinese Water Torture): a victim is buried up to the neck in some desert and the bad guys build some clever mechanism to have water running on the victim's head, one drop at a time. The situation is similar to the first dripping water case, but with an important restriction: the person in question has no means of stopping the water.
Now this is the ultimate example of a bad endless loop: there's no remedy, no hope, loss of future, and full awareness of bad intentions. No wonder that the victim goes mad in a short time. This is just the same as the case of Sisyphus in Greek mythology, who was condemned to everlasting fruitless labour for cheating Death.
Dictatorships have used this method as a means for brainwashing, or extracting secrets from, captured enemies, where they make clear to the victim that there is no way out other than following their proposals.
Endless Loops Of The Indifferent Kind
The following examples could not be classed as desirable or undesirable, they just attract indifference.
Time is commonly perceived as a linear flow of events, ie eternity is thought to be infinitely far ahead. But, for example, the Mayan Calendar divided time into cycles or ages. The perception of time being cyclic wraps an endless loop around all other instances. Within cyclic time, eternity isn't far ahead any more, but is, umm, where is it? Everywhere within the loop, spread out like butter on toast?
Some religions espouse belief in endless loops as well. Reincarnation, eg in Hinduism, means that there's no real end to life and people die only to be reborn in a new (and often better) social environment. The Egyptian god Phoenix was portrayed as an eagle that would burn itself and be reborn from its own ashes time and time again. Other cultures believed the sun was drowned in the ocean every evening, and born again the next day.
The Really Big Loop
The Big Bang theory of creation states that all matter in the universe was once concentrated in one location. Following a really big explosion, matter started to flow away from that place and formed planets and suns. An extension to this theory states that the time will come when this expansion comes to a halt, reverses due to gravity, and that matter will be concentrated again in one place, just to set off another Big Bang.
Endless Loops Of The Desirable Kind
These endless loops are the ones which you wouldn't ever want to stop. Many of these cycles form the base for life itself:
The blood circulation in our bodies. You wouldn't want this cycle to stop, though everybody knows it definitely isn't endless.
The cycle of water which rains down from clouds, forms rivers and oceans, and then evaporates just to form clouds again.
The cycle of seasons which lets the soil regenerate in winter and bear fruit in summer.
Earth's movement around the sun which gives rise to the hope that every night will be followed by a new day.
Mathematics: Proof by Induction
This is a scientific area where endless loops can be put to good use. This method of mathematical proof aims to proove that some assertion is true for all natural numbers. But instead of trying this directly (which is somewhat hampered by the infinite amount of natural numbers), one starts by showing that:
- the assertion is true for zero
- if it is true for some number n then it is also true for n+1
In closing this loop it is evident that the assertion must be true for all natural numbers.
These are devices or methods which are designed to keep some process under control and within certain parameters. An example is the 'bang-bang' temperature control in your coffee machine: if the vessel is too cold then a radiator is turned on to full power ('Bang'). Sometime later, a sensor realises that the maximum temperature was reached and shuts down the radiator (second 'Bang'). By repeating this bang-bang cycle the temperature is kept within preset limits. Failure of the hardware in this feedback loop will lead to
- a breakfast without coffee, or
- fire in your kitchen.
On an industrial production level, more sophisticated feedback loops are used, but the dangers also grow with scale. Production drop-outs can cost millions, and explosions even more. In 1986, the Chernobyl nuclear plant went out of control and ended in a catastrophe.
Perhaps now you'll better understand why there is so intense a fight among programmers over the GOTO statement of some programming languages, or why people avoid visiting civil service offices, or why people avoid getting caught by dictators, or why repetitive patterns are considered bad writing style.
If you experience something beautiful and start crying for an encore, and another, and another, then your ultimate goal is to have an endless loop. Likewise, if your job can be compared with walking round and round in stupid circles without a future then perhaps you should ask yourself if this is a treadmill somewhere in Greece and whether you are not a human being but an, ahem... Er... Isn't this the right time for another drink?