16 March 2007

7:30 AM Time demons
Time travel is a complicated business. Paradoxes, alternate realities, if you change the past you will come back to a different present, all that sort of thing. In fact, since changing the past creates an alternate present, by moving from one present to another, rather than travelling backwards and forwards in time you have effectively moved sideways through potential realities. That's what Back To The Future tells us, anyway.

According to the Terminator series, the logical corollary of this also holds: as well as being able to create an alternate present by changing the past, so an agent in a potential future can come to the present to change which potential future becomes the "real" one.

Then you have temporal incursions, which was Enterprise's name for kind of the same thing that SkyNet was doing: future agents going back in time to change the timeline for their benefit.

This perfectly sensible and logical diagram explains everything. Click for a full-size (readable) version.


Terminator's SkyNet is shown in the diagram as never being built in the "real" (most probable) future. A faint possibility exists that it could be built. If somehow that possible-future's SkyNet acquired enough "real-ness" to interfere with actual reality, it could attempt to bring itself into existence properly. In other words, a not-actually-real entity would be trying to make itself real. A demon trying to summon itself.

Should time travel be possible, then this would imply that everything that could ever possibly happen ever, does happen, in a sense. These alternates would exist as potential events, kind of how the position of an electron around an atom is a "cloud" of potential positions - in a sense it is in all positions at once but with the probabilities distributed in a particular way (in the case of the electron, the probability of finding it in any particular state is determined by its wavefunction, and observing the electron effectively converts the possible to the actual).

If you went back in time, you would be altering the probability of your own existence, just like poor old Marty McFly; if for instance you attempted to kill your own ancestor then you would presumably have to deal with some sort of probability barrier, since the closer you get to doing it the less probable it is that you exist to attempt it in the first place. This may in fact mean it would not be possible for you to do it; perhaps in the act you would become insubstantial as your probability of existence tended towards zero, and on withdrawing from the attempt you would solidify and become more real again.

In fact, even just transmitting information may end up coming out at the other (past) end completely randomised, since information transfer would affect the course of history, in turn affecting the probability of you being there to transmit the information - so the past end would see interference as the present end's probability of existence fluctuated.

So there you go, time travel paradoxes would never happen because the closer you get to changing something, the less effect you are able to have on past events. Kind of a temporal version of the uncertainty principle (time difference / effect rather than position / momentum).

This doesn't mean it's impossible for possible-future entities to attempt to bring themselves fully into existence - melodramatically, for horrible things outside existence to scratch at the walls of the world, looking for a way in. I don't see how something improbable can make itself more probable, but that doesn't mean it can't happen. [Tinfoil Hat]

15 March 2007

7:30 AM Animating with Inkscape
I've put together a shell script that allows you to use Inkscape to draw animations, assuming you're running Linux and have ImageMagick installed.

The script is here: svg-anim.sh

There was a forum discussion thread about creating alternative uses for the pictures from these US Department of Homeland Security citizen-scaring leaflets, leading to me writing this script.

The underwhelming result is here:

And here is the SVG source. The frame listing is inside the description metadata - in Inkscape, go to "File" > "Document Metadata" to view it.

09 March 2007

7:30 AM Rewriting root
Another root filesystem recovery HOWTO.

Recently I had a hard disk develop major faults such that the root filesystem went readonly. Although rebooting caused it to come back up fine, a SMART check (hdparm -t long /dev/hda) showed that it was failing, so I requested that the server operators replace the hard disk (it's a leased server not under my direct control).

Since they could not fit both the old and new disks in the server at once, instead they copied the contents of the failing disk to a /backup directory on the new disk, which they had installed a fresh copy of Fedora Core 4 on to.

Rather than try to upgrade the new installation to Fedora Core 6 and get everything configured back to the way it was, instead I opted to swap the files in /backup/ with the current /, i.e. replace the whole new root filesystem with the old one to get everything back as it was before the change. I also had to do this live over the network, since I have no physical access to the server.

If you try to do "mv /bin /OLD/bin; mv /backup/bin /bin" you will run into major problems - after the first mv, the mv command won't work because it has moved to a different directory, and if you work around that, you will still eventually run into nasty problems related to /lib.

Instead, I used mount --bind / /backup/mnt to make the root filesystem visible under /backup so that I could then do chroot /backup (making sure /backup/dev/ was populated with device files first). I was then able to replace, under /backup, /mnt/{bin,boot,etc,lib,...} to replace the "real" root filesystem's files (i.e. mv /mnt/bin /mnt/old-bin; cp -a /bin /mnt/bin etc).

The only thing that went wrong with this approach was that rebooting failed, I had to ask the server operators to manually restart the machine. I think this was probably due to a problem with the shutdown sequence.

If you have problems with files / resources being "busy", make sure you have stopped all non-essential services - i.e. anything other than the network interfaces and SSH - before you start the move. Also, note you won't be able to move /dev, /proc, /sys, or any other directories that are mount points or which have mount points under them (though you could investigate mount --move).

Labels:

05 March 2007

7:00 AM Zombie Grape

(Click the image for a large version)
Source images: Grapes and a Zombie.