Mike Meredith

Oct 312009
 

Just been watching a certain episode of Battlestar Galactica involving the attempted rape of a prisoner. A machine prisoner – a “toaster”, so that’s alright isn’t it ?

Well perhaps not.

Considering the morality of a bunch of mythical rapists in a TV programme set in a mythical universe with technology that is impossible at our current understanding of science is kind of kinky, but it does cover something that we will have to consider sooner or later. Quite possibly sooner than we think.

Are people making robotic sex toys ? Quite possibly. How “intelligent” are these possible robots? Not intelligent at all according to the current state of the art. But if machine intelligence is possible (in the future), will someone ever make an intelligent sex toy ? Almost certainly.

[

At what point do we start to consider whether it is right to use an intelligent sex toy that has decided it doesn’t want to ? Before it is possible, or after it has happened ? I would say we need to consider such things now before they happen.

To me it is perfectly plain that anything that is sufficiently intelligent to understand what is happening and to express a wish that it not take place, is entitled to have their wishes respected. Or to put it another way, anyone who is capable of ‘raping’ a machine is not the kind of person many would feel safe around.

We are used to the idea that we need to respect the rights of other humans and that anyone that does not is sick in some way. But are those rights given because the subject is human or because they are sapient (by which I mean intelligent to the level of humans) ? Not an easy question to answer because almost by definition, the terms are current interchangeable. But that may not always be the case.

At present, either an intelligent machine or an intelligent alien presumably has no rights on this planet – it is perfectly legal to rob, kill, or rape them. This is analogous to the situation in the past where some people were under the impression that some segments of the human race were less deserving of rights than others. Whilst denying non-human sapients rights is not racist, it still feels wrong.

Of course such an entity would have to respect our rights in addition to us respecting their rights. Perhaps that should be the condition of full sapient rights – the ability to respect the rights of others.

I say full sapient rights because there are another category of rights that we need to consider and be aware of – sentient rights. For more information on this, see the very worthwhile Great Ape Project.

Oct 282009
 

So I decided to treat myself to a decent pen for a change. A Cross Apogee rollerball (specifically with gel ink which I’m a very big fan of) …

54845

It is a little fatter than I’m used to but it is already feeling pretty comfortable. It is a heavy pen, enhancing the feeling of quality. If you are considering getting a decent pen, the Apogee could well be a decent candidate.

Oct 282009
 

I am not an audiophile – perhaps indicated by buying a QTV-2 rather than something more “serious”. I certainly did not want some sort of complicated setup that required tons of wires and another complicated remote control. So the QTV-2 looked like a fairly simple way of improving the audio on my TV without going to a great deal of effort.

So I took a chance and bought one. It’s a large box when it turns up, and unpacking it reveals the speakers themselves – packaged in a flat array designed to bolt onto the back of the TV, various accessories including a bewildering array of bolts, washers and “spacers”. I instantly thought “Uh oh! Looks complicated”, but it turns out that most of the bolts and washers are unnecessary – they’re provided to allow the speakers to be strapped to the back of a range of different TVs. So why cannot TV manufacturers come up with a standard fixing mechanism ?

After spending about 30 minutes connecting the speakers to the back of the TV – fairly easy, although I would have one of those TVs whose connectors are a little obscured by the speakers! After a brief attempt to use the the RCA connectors (unsuccessful because I could not be bothered to hunt down the TV manual!), I resorted to the headphone connector and managed to get the sound working.

For a while I was listening BBC News 24 (or whatever we are supposed to call it now), and immediately noticed that I could lower the volume and still hear the talking much more distinctly than with the TVs speakers. In addition the sound seemed to fill the room much more.

Switching to a film (2001 on Blueray), started to show the benefit of the subwoofer  much greater bass; probably a touch too much, but that will be because of the sound adjustments for the TV speakers. But the overall effect was far greater detail in the sound and a greater ability to speech even when mixed in with other sound.

Overall, worth having if you are not interested in a full home cinema system. It greatly increases the clarity and quality of sound over standard TV speakers. In fact in a noisy environment such as my flat (with a high volume of traffic outside the window), it is possible to decrease the volume and yet still hear the sound from the TV clearer than before.

Oct 272009
 

It just occurred to me that there’s a somewhat different way of finding the latest and hottest new websites out there – just take a look in CPAN (Perl’s third-party library repository) or the equivalent for other languages for modules that match “WebService”.

If someone has gone to the trouble of writing a module for communicating with a site, it probably is at least worth looking at.

Oct 272009
 

Whether you are using ufs filesystems or zfs storage pools, Solaris has a rather nifty way of migrating storage from one SAN to another wih no (or little) downtime. Or various other reasons involving moving from one disk to another. The key advantage to the following method is to reducing or eliminating downtime. Even if your users can take the hit, not having to slowly watch a multiterabyte filesystem copying from one disk to another is reason enough to use this technique.

Basically it is by using mirroring. Using mirroring to copy a disk might seem a little odd to begin with, but once you’ve seen it work you’ll be a fan.

For UFS (and SVM) Filesystems

This section assumes that the source disk device (cXXXXX) is set in the variable ${sourcedisk} and the destination is in ${destdisk}.

For UFS filesystems, the first step (which does require an outage) is to :-

  1. Stop the application that uses the filesystem being migrated.
  2. Unmount the filesystem.
  3. Encapsulate the existing filesystem device into a SVM metadevice: metainit d1001 1 1 ${sourcedisk}
  4. Create a mirror device with the new metadevice as a submirror: metainit d1000 -m d1001
  5. Change the references in /etc/vfstab to the old device name (${sourcedisk}) to the new mirror (not sub-mirror!) device – d1000
  6. Remount the filesystem and restart the application.

This should take no more than 10 minutes and is the only outage involved. There are two remaining sets of steps :-

  1. Create a new metadevice using the new disk: metainit d1002 1 1 ${destdisk}
  2. Attach the new metadevice to the mirror as an additional sub-mirror: metattach d1000 d1002

At this point, the mirror will start resilvering. It may take some time to complete, but the time it takes to do so does not really matter. In particular the resilvering process should not cause a performance problem to your application – the application I/O takes priority.

When the resilvering is complete :-

  1. Remove the metadevice containing the old SAN disk: metadetach d1000 d1001
  2. Remove the metadevice that is no longer required: metaclear d1001
  3. Attach “nothing” to the mirror metadevice (this is to ensure that the mirror grows to the size of the new submirror): metattach d1000
  4. Finally, ignore the warning on the manual page (which is outdated) and grow the filesystem: growfs -M /mount/point /dev/md/rdsk/d1000

You will see that I have used the metadevice names d1000 (for the mirror), d1001 (for the old sub-mirror), and d1002 (for the new submirror). Whatever device names you use, it is worth trying to be consistent – it helps a lot when you have dozens of filesystems to process.

ZFS Storage Pools

This is even simpler. If you have a storage pool called ${pool} which contains a single device called ${sourcedisk}, you simply :-

  1. Attach the new device: zpool attach ${pool} ${sourcedisk} ${destdisk}
  2. Wait for the resilvering to finish.
  3. Dettach the old device: zpool detach ${pool} ${sourcedisk}

Of course be aware of anything you read on the Internet! I have not actually tested the above; I’m merely regurgitating memory that has recently been exercised – I’m doing a SAN migration at work right now.