The software universe – a hidden reality

Posted on Updated on

I’ve been meaning to talk about writing software for a while now, and it’s a subject close to my heart, so bear with me. But first I’ll set the scene.

I recently talked about the potential for hidden universes in my mini-series on the quantum world, and also in the review of Briane Greene’s book. If you recall, Greene talks about a number of different possible explanations for the origins of the universe, including the very distinct possibility that this universe is a simulation in the computer of some advanced race. Yes, I know that sounds all Dr. Who, Tron or the Matrix, but there’s some logic there – in fact, far more logic than is the case with, oh, say, homeopathy. It goes like this: It is true that our universe is either the only one, or there is more one. One of the possibilities is that there are an infinite number of universes, since we have no reason to believe that is less likely than the other possibilities. That makes things interesting, because when infinity is around, interesting things happen. Given an infinite number of universes, races of super-advanced beings, capable of creating and/or simulating universes, are certain to exist. That’s just the way infinity works – the probability of anything is non-zero.

Of course, this is all just a thought experiment and conjecture, and in no way testable at the moment, although some have put forward suggestions for observations which could indicate we are a simulation. One of the capabilities the designer race would have is the ability to arbitrarily changes rules – which to us would appear as changes to the laws of nature. If we noticed such arbitrary changes that might give us a clue. In reality, when we engage in the physical sciences, we are probing those rules, looking for patterns, and ultimately trying to piece together a picture of reality. If this universe is a simulation, then what we are doing is determining the algorithms established by the designer race.

Now at this point you’re thinking (I know; my wife also hates it when I tell her what she’s thinking), this is starting to get religious overtones. Well, you’re right. Such a designer race would be the equivalent of a god, and those arbitrary changes in the laws of nature would be your miracles. It may surprise you that in this scenario I would have no objection to the existence of such a being, mainly because a. we would have some evidence of their existence rather than just asked to have faith, and 2. there would be a natural explanation, not a supernatural one.

Where am I going with this? At the risk of invoking an infinite regression of turtles, I am transported to such a simulated universe on a regular daily basis. And don’t worry, I haven’t been abducted by aliens, nor am I suffering from trekker delusions. Rather I’m talking about the process of writing software, which I have never really seen discussed anywhere.

I find that writing software is a strange, addictive activity, which I’ve been doing for most of my life. I started relatively late in life, at university, and frankly I just didn’t get it at first. After an afternoon spent with someone who knew what they were doing, it suddenly clicked – I could suddenly see the possibilities. And so, just like drugs of dependence, I skipped from one fix to the next. Starting with goddam punch cards and mark sense cards at uni, running rather boring Runge-Kutta approximations, moving into the brave new world of microprocessors and embedded applications, and then into 3rd and 4th generation languages. Then paradigms changed – from spaghetti code, to object-oriented code, which really rang my bell. Fast forward to today and the elegance of dotnet, jave and android technologies. Notice how I kept the memory lane stuff to a couple of sentences – don’t say I don’t look after you.

Regardless of the language or environment, there is a common thread with writing software – I find it incredibly immersive – perhaps the way some people are with video games or poker machines. Had I less willpower, when in the middle of an interesting project, I could easily sit at the keyboard for 24 hours straight – in fact in my 20’s I did some pretty long stints of that sort, regularly missing social engagements. Yes, I know, it has nerd written all over it doesn’t it?

So what does all this have to do with universes and so on? The answer lies in the process of writing software, at least as it applies to me. My view is that the writer emulates the computer in their brain, in effect simulating the running of the program. And in my case, this is a resource-intensive task which blocks out most other stimuli. Fortunately, there are some background (asynchronous, for you coders out there) tasks looping away in my brain which allow the real world to get a look-in, and hence be able to get to work on time, or respond with the automated and well-used ‘yes, I’m coming dear‘.

To me, it is as if a mini-universe is created, and I am transported into it, methodically stepping out the various commands, checking values and especially testing branching logic. Naturally, the better the mastery of the syntax, the more pronounced this effect. A crucial aspect of the work is that you are constantly managing the behaviour of different actors on the stage – that’s the main game. Each component on a screen or in a database or on the web has a behaviour, and the challenge is to make it behave as you wish, and by extension, to ensure that the whole environment is a coherent ‘whole’.

And some day in the future, programmers will be imbuing their ‘actors’ with more and more complex behaviours, and the point may be reached where those actors will believe they have a conscious existence, and begin to try to understand why they do stuff, and what the hell the creator was doing when he confined them to an Apple universe, and then wonder if there are any other universes out there.

Advertisements

3 thoughts on “The software universe – a hidden reality

    Vlad said:
    December 12, 2012 at 3:47 am

    A universe that runs Unix? Oh the horror.
    Seriously though, once we perfect VR it’s gonna get creepy.
    Think about it. We have a few I/O systems running at different clocks. Eyes/ears/tactile system etc.
    The MOMENT we perfect VR technology programmed to run on biological computing power (e.g. our brains) and which runs at a different layer of perception, or clockspeed, so that it bypasses our memory cortex, so that time algorithms can be implemented to simulate a faster perception of time per clock compared to base state (and dream research certainly seems to indicate this is possible), we’re going to start programming ‘worlds’ into our heads.
    You know it’s true.
    So how many layers do you think we’re doing already? Because I’m absolutely convinced that we’re at least three layers down.

    Vlad said:
    December 12, 2012 at 3:57 am

    If I start to think about it a bit more, consider the following: If we DO run the simulations on our own brains, most likely we’ll actually be stimulating existing neural connections with patterns or info. Depending on the complexity of our VR tech, we’ll be stimulating ALL of them or a part of them. For the sake of general IT consensus, we’re going to assume we won’t have the processing power to stimulate the entire human body, so we’ll keep some core functions. That means that the simulation inside of each layer will be less complex and have fewer functions the deeper the layer goes.
    Ironically, the same may be true of our surroundings. The rendered universe would not need to maintain full computation of every particle at every moment. The various calculations for the universe itself would only need to be done on a per-observation-basis, the rest of the universe only being rendered to a degree to which we would acknowledge it’s existence, but we would have to get closer to the point being observed to perceive detail. Exactly how processing power is saved up in current videogames.
    Maybe we could crash the simulation by engaging a mass spectrometer on a planetary level.
    And every once in a while, memory suppression isn’t perfect and we retain imprints of our conscious existence at the higher layers of simulation, where there is more complexity available. Such as being able to fly and stuff. Maybe at the point of origin we would be as gods to the observer inside the lower layers. Maybe we really are.
    Ah, the potential of it. So many nerdgasms.

    Vlad said:
    December 12, 2012 at 4:00 am

    Ah, or maybe we’re just AI’s awarded CPU priority and having self-evolving routines… rendered into a 4D environment. No actual bodies at all. I have to admit this possibility turns me off, kinda.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s