## Space – the Final Front Ear

Sorry about the fabricated mondegreen, which obviously references the Star Trek series of films and TV shows. Captain Kirk saw space, or more correctly distance, as a barrier, but it really is one of the factors that determines the structure or shape of our Universe.

It is interesting to me, that, although the Universe is finite, if it derived from a Big Bang, there is a human urge to explore outwards, as if it were infinite. That is probably one of the factors that led scientists such as Fred Hoyle and others to support a Steady State Theory of the Universe.

``` Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'zhafKUhrQV55g5FDfpckkg',sig:'fPGPxCRwYiCfKJBNVjWJOHvjYOKpNuEPg9Sx8CMxcp4=',w:'466px',h:'594px',items:'50836721',caption: false ,tld:'com',is360: false })}); ```

Personally, I believe that there is no such thing as a steady state in anything. When we see something which appears to be in a steady state or equilibrium state we should look for the feedback factors that are keeping it that way. For example a pendulum hangs straight down when at rest because any deviation from that position results in gravitation forces pulling it back to the rest position.

If friction is low the pendulum will actually pass through the equilibrium position and swing to the other side, whereupon gravity will slow it and draw it back towards the equilibrium position again. Eventually friction will slow the pendulum down and the pendulum will again hang vertically.

So we have two forces, gravity and friction, resulting in the pendulum returning to the equilibrium position. No pendulum lasts for ever, as the pivot will wear out or an elephant may step on the thing, so the equilibrium will only exist for a finite time, but it will last long enough for us to use in clocks or in scientific experiments.

Space is itself expanding as I understand the theories and some of it is out of our sight, over an event horizon, which is a locus where everything is moving away from us at the speed of light. That doesn’t much our location special – it is true of any point in the Universe. LGM on a planet around a star that is over the event horizon from us have their own event horizon, and while they may be able to see a star inside our event horizon and we in theirs, we cannot see each other.

Space separates us form the LGM, but it also separates from things local to us. Ben, our dog, is over there, about 3 metres away. My cup is mere centimetres away. It is fair to say, I think, that this is the essence of space – it is hard to conceive a universe which doesn’t incorporate a spacial concept. Or rather, a separation concept to allow things to be different from one another.

Space is not the only “separation concept” that I can think of. Things can also be separated in time, so two different bodies can exist in the same spacial position, but just not at the same time. Time is so connected to space that Einstein and others were able to link time and space into a complex space/time concept.

The similarity between the space dimension and the time dimension is striking. You can even measure distance in time units as astronomers do when they talk about light years. We also do it when we say that a distant town is three hours away.

We less frequently talk of time in distance units, for example, when we say things like “six laps later”, to describe the time between two events in a car race. At some level we acknowledge that time and the space dimension have a lot in common.

Space in the sort of concept that everyone knows and experiences but no one thinks deeply about. There’s no doubt that space separates events from one another. You can’t have two solid objects occupying the same space at the same time, without catastrophe ensuing. Scientists have been trying to achieve this for years, with the aim of harvesting the energy generated from the ensuring nuclear fusion.

Space appears on the macro (normal) level to be continuous. We appear to move smoothly from one location to another when we walk, incidentally forcing the air out of way as we do so. There is no sudden jumps that we notice, we don’t hop from point to point like a chess piece on a board.

The philosopher Zeno came up with a number of paradoxes related to movement, that is getting from point A to point B. For instance, the athlete Achilles could not overtake a tortoise in a foot race, because Achilles would need first to reach the tortoise’s starting point, by which time the tortoise would have moved on. Achilles would then have reach the point that the tortoise had reached now, by which time the tortoise would have moved on. And so on, ad infinitum.

Of course Achilles does overtake the tortoise, and I believe the main issue in this case is related to the summation of an infinite number of decreasing distances, which intuitively one might this would sum to an infinite distance. In fact the sum of the distances is a finite number. If Achilles runs 10 times as fast as the tortoise and they start 10 feet apart then Achilles overtakes the tortoise after he has travelled 11 and 1/9 feet exactly.

Zeno’s paradoxes still inspire debate, but his conclusion was that movement, the smooth transition of something from one place to another is an illusion. One of the assumptions used is that distance is a continuously varying property, but it may be that it is not, and there are hints of that at the quantum level. The Planck length is the smallest distance about which statements can usefully be made and it is impossible to determine the difference between two locations less than one Planck length apart. Perhaps we do hop from place to place like chess pieces, or at least our atoms and their constituent particles do.

Space and time enable events to happen uniquely, and without collisions. Events may happen in the same place as long as they happen at different times. It may be that events of different probabilities happen at the same place and time, so long as the sum of the probabilities of all events is one. It may therefore be that probability is a dimension with the same sort of status as the space and time dimensions. This would require that our view of probability, of one event out of many being the one that actually happens is an illusion and that events of all probabilities happen in a sense.

## In the Zone

(Ugh! I forgot to post this last week. My apologies)

Programming, as I’ve probably said before is a strange occupation. You start with a blank sheet, steal bits and pieces from where ever you can find them and glue them together modify them, add some bits of original (to you) code and try to think of all the possible ways your program can go wrong.

Then you try and break your code (and usually succeed at first). Programming is still very much an art form. Of course things have changed a lot over the years, and we are able to use the work of others to help us in our endeavours, but my first paragraph is still true.

In the beginning there was “Hello World”. This is probably the simplest program that does something visible. It doesn’t take any information in and its output, the words “Hello” and “World” are not very useful in themselves. Actually, I’d say that there is an even simpler program that takes no input, produces no output, and in the process changes nothing. A “null” program if you like.

A programmer writing a new program may well jump in and start coding by grabbing some other code that he or she has access to, but that stolen code was developed, ultimately, from “Hello World” or the null program.

A good programmer is one who steals code from elsewhere and modifies it to do what he or she wants. There is no stigma of plagiarism attached to this process, and it is in fact strongly encouraged that programmers share code. A spoof news item that I came across stated that all programming courses would be replaced with a course on how to find code on “Stack Overflow“.  I’ve been unable to find the link again, but I believe that the item was on “The Onion“, a well known satirical website.

Of course, such a  process may propagate errors or bugs across many programs, but it is such an effective strategy that it is used more often than not. If code exists to solve a problem then it would be silly to pass it by and write it ones self, maybe introducing bugs to the code. The advantage of “borrowing” code is that while errors and bugs may be in the borrowed code, many eyes will have looked at the code and there is nothing more that programmers like than pointing out bugs in the code of other programmers.

Stack Overflow allows anyone to post code and comment (up to a point), so code posted may not be top quality, but other programmers are quick to jump if they see bugs or inefficiencies in code. Contributors will also point out code which doesn’t follow standards or conventions in the programming language being used. This is considered useful, as the code, if modified, can be accessed and understood more easily, and may often be safer and free of more bugs than unconventional code.

``` Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'kKBXH_YLQStrbchPXpgCeA',sig:'F4UT2n6jHkYKyOko5gBt0UF_Adj4wV7x3CZFuGfNfjM=',w:'414px',h:'414px',items:'527951137',caption: false ,tld:'com',is360: false })}); ```

When a program is written it starts out as literally a few lines of code or even an empty file. Any programmer knows that a program grows swiftly and in ways that can’t be foreseen until it may be of enormous size. It won’t be all written in one sitting but is usually written in stages. I personally like to write my programs in very small chunks, building on what has gone before. I think that many programmers use this process, though there may be others who write a sizeable chunk of code before testing it.

Ah, testing! Testing is the less enthralling parts of writing programs. Any program must be tested, to ensure that it does all that is required and nothing else. Generally the program being written doesn’t do all that is required and does things that shouldn’t happen, and initially it is likely to crash or produce cryptic error messages under some conditions.

``` Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'z5J4TdT9Tp9CJcu8tWbn0A',sig:'9WYiOWLP0ZZnrX7AU2bHyfFqjDHZsD62y7IqKTykiVU=',w:'407px',h:'421px',items:'482178627',caption: false ,tld:'com',is360: false })}); ```

Testing is supposed to reduce the number of such unwanted happenings, and the programmer may do some rudimentary testing and may handle at least some errors. However the programmer will realise that users who are unfamiliar with how the program is written may well do something that he has not expected.

So clever people have developed ways of automatically testing programs. To do this they have had to write the programs that are used to test programs. And of course those testing programs may have bugs. You can see where that leads to!

When a programmer knows a programming language really well, he is able to literally think in that language. The word “literally” has been devalued in recent time, but I am using it in the true sense of the word. This is hard for some people to understand as they think of language as something like French or Tagalog, and they can’t understand how one can think in a programming language, which is qualitatively different from a spoken language.

An interesting thing happens when a true programmer is programming something. His thought processes become so involved in the process of programming and in thinking in the programming language that he loses track of the outside world. That’s why programmers are whimsically thought to subsist on fizzy energy drinks and dialled in pizza. It is because those things are easily acquired and the programmer can keep programming.

``` Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'_h0aZnR_Q5NWdjZGNVooCQ',sig:'kgx8_YV4rnMMolsaHpliLZASE42cq0xZtqsSkPqZsXY=',w:'508px',h:'338px',items:'CB6973-001',caption: false ,tld:'com',is360: false })}); ```

A programmer “in the zone” is so embedded in the world of the program that he or she may often be reluctant to leave that world and respond to irritations like bodily needs and colleagues. I doubt that there is a real programmer who has not surfaced from a deep dive into the depths of a programming problem and realised that all his colleagues have left and it is late at night or very early in the morning. That’s the reason programmers stay after all other people have left – they know that they can slay the current bug with just a few more changes and a few more runs of the program.

The zone has similarities to the state of meditation. While meditation is passive though, programming is an active state. In both cases the person basically disconnects from the world, so far as he or she can, and the concentration is directed internally. Now that I think about it, any deep thought, be it meditation, programming, or philosophising, even playing a sport at a very high level, needs such concentration that much of the world is disregarded and the exponent enters the zone.

``` Embed from Getty Imageswindow.gie=window.gie||function(c){(gie.q=gie.q||[]).push(c)};gie(function(){gie.widgets.load({id:'-jdT1J5XSTBR5mVq28idLQ',sig:'2gaKmEI1nBFvOOXyD83GRCzPoPXL05emNtHhX_rMZJc=',w:'521px',h:'329px',items:'76185387',caption: false ,tld:'com',is360: false })}); ```