Apr 272008
 

This entry is about upgrading a machine running Ubuntu 7.10 to Ubuntu 8.04 which is only just out. But not in the standard way which would be quite boring.

I have at least two computers running Ubuntu, both configured in a fairly complex way and both fairly important (in the sense I really don’t need to try an upgrade and end up with a broken system). Whilst Ubuntu frequently does upgrade without a hitch, it can occasionally choke; this is seemingly more common with more complex installations.

Why not preserve an old copy of the install around to revert to ? Well with LVM it is perfectly possible. Ignoring what happens underneath, I have an LVM volume group called “internal” (actually I don’t, but I would if I were to re-install) which has :-

  • var – 4Gbytes to be mounted as /var
  • root – 8Gbytes to be mounted as /
  • home – “enough” to be mounted as /home

Note I do not believe in allocating all available disk space with a storage management system like LVM available; I do a great deal of storage management work and the biggest mistake anyone can make is assuming that they know the storage requirements of a system throughout it’s whole lifetime. This applies in spades to a desktop machine. Without some free space, the suggested upgrade mechanism won’t work.

Now with modern hard disks, we are likely to have more than enough storage to allocate. For instance on this machine right away I have 138Gbytes of free storage (mirrored). And that it is on a two year old machine; a newer machine would have larger disks. Easily enough storage to have two or more “copies” of different versions of Ubuntu around.

It would be nice if Ubuntu could do much of the work for us, but for now it’s pretty much a manual process. As an aside, the Ubuntu developers should probably think about using LVM in the default installer to assist in the development of this kind of feature.

The first stage is to create new logical volumes and build filesystems on them. I chose to name the logical volumes after the operating system version they would be running …

lvcreate -n 804root --size=8G /dev/internal
lvcreate -n 804var --size=4G /dev/internal
mkfs -t xfs /dev/internal/804root
mkfs -t xfs /dev/internal/804var

Now the key here is not to look at the current size of your /var filesystem and decide you need a much smaller filesystem … or the upgrade process will refuse to start. You can always reduce it later if you really want to quibble over 1-2Gbytes.

The next stage is to copy the relevant filesystems across. At this point you should avoid running as much as possible and probably do this from a text terminal after shutting down GDM …

/etc/init.d/gdm stop
apt-get install star
     (If you don't have it installed already)
mount /dev/internal/804var /mnt
star -v -xdev -acl -copy /var/* /mnt
umount /mnt
mount /dev/internal/804root /mnt
star -v -xdev -acl -copy / /mnt

This stage will take some time to complete. You will want to do a quick check of the new / and /var to ensure they look roughly like the originals (I always seem to come up with the equivalent of /var/var when I do something like this). Notice that the new root filesystem is still mounted … you need to edit /mnt/etc/fstab to alter what devices are mounted for / and /var.

The next stage is a bit tricky because I didn’t do it “right”, so I will be suggesting something that I didn’t try myself. The task is to modify /boot/grub/menu.lst in such a way as to result in two separate menu entries that will boot either the old operating environment or the new operating environment.

I would suggest that you :-

  1. Create an entry outside of the “DEBIAN AUTOMAGIC KERNELS LIST” that essentially replicates one of the entries. It should not be modified to boot off the new root filesystem.
  2. Modify all of the entries in the “DEBIAN AUTOMAGIC KERNELS LIST” (it makes sense when you review the menu.lst file) to alter the “root=’ kernel parameter to point to the new root filesystem. This is not the “root (hd0,0)” part, but the kernel parameter “root”. It will specify the old root filesystem logical volume (something like “root=/dev/internal/root”) and you want to change this to “root=/dev/internal/804root”.

At this point you should probably reboot to check that both environments work. Just make sure you have a recent rescue CD knocking around before you do.

After you have done the checking you can boot the new environment and use ‘update-manager’ to upgrade the new environment to Ubuntu 8.04. This will probably work (it worked fine for me).

Undoubtedly the next time I try this, I will figure out how to make it work better, but it is good enough to have a “fallback” option in case an upgrade goes badly. For instance until last week, running Vmware Server under 8.04beta was pretty tricky and if it were still the case I would have to revert back to 7.10.

Apr 182008
 

I recently discovered one of the most entertaining web reads I’ve come across for ages … Bad Science which is a site dedicated to pointing out where the (mostly media) uses “Bad Science” or falls victim to “Bad Science”. The author (Ben Goldacre) is a medical doctor so most of the criticisms are in relation to medicine rather than science in general. But the debunking of rubbish media reports on (mostly) medical issues is worthwhile and done in an entertaining way.

It is interesting that many of the more foolish reports in the media have to do with bad statistics rather than bad science itself. That is I suppose not too surprising, as statistics seems to be widely misunderstood.

I have the advantage that many years ago I spent some time studying statistics, and many media reports have the effect of making my inner statistician jump up and down in fury shouting “Bullshit” over and over again. Fortunately he doesn’t shout too loudly or I’d run the risk of being shut away in a room with nice soft walls.

Statistics don’t lie, but they don’t always say what we think they do

I’m going to make use of an example relating to cannabis and an article publish by that paragon of excellent and accurate reporting, the Daily Mail. The article itself is here … scary isn’t it?

A report that has statistics that says that people who smoke cannabis have a 41% higher risk of schizophrenia, indicates that cannabis smokers are more likely to have schizophrenia than the general population. That doesn’t mean that cannabis causes mental health issues; that is an untested hypothesis. A quick uneducated guess at a number of possible reasons why includes :-

  • Cannabis use increases the risk of mental health problems (yes it is possible).
  • People with mental health problems are more likely to use cannabis than others.
  • Cannabis use makes existing mental health problems worse.
  • There is no link between cannabis use and mental health problems; the correlation is accidental.
  • The study that found a correlation between cannabis use and mental health problems is flawed and there is in fact no such correlation.

One of the biggest mistakes anyone can make with statistics is to take a link between two variables (a correlation) and assume that one variable causes another (cannabis use causes mental health issues). This is known as “Correlation does not imply causation”; stealing a Wikipedia example, there is a correlation between going to bed with shoes on and waking up with a headache. Sleeping with shoes on does not cause headaches, but drinking copious quantities of alcohol makes it more likely that you will sleep with your shoes on, and far more likely you will wake with a headache.

Apr 072008
 

I loath spam; all those unsolicited emails that advertise herbal mortgages, pills that will lower the interest rate, and all those lottery wins from places I’ve never heard of. Of course everyone else does too.

But what about emails that are “near spam” ? Say you bought something online 5 years ago from some company or other, and haven’t been near them since (nothing that was wrong, you just haven’t gotten into the habit of buying socks online). Now of course, you receive this “sock newsletter” once a month. Now perhaps you were once interested, or on a very slow Sunday you like to read about socks. Perhaps.

Of course you didn’t just buy a pair of socks 5 years ago. You’ve been buying stuff ever since, and everybody is desperate to get your email address to push virtual catalogues into your over cluttered Inbox. You could go and visit the unsubscribe links to get your address removed from each and every list out there.

But someone told you once that unsubscribe links are dangerous because they’re used by spammers to verify addresses, and besides which it would take you days to get unsubscribed from all the rubbish. And of course just occasionally you take a peek at one of the emails and it has something in it you want to know … a special offer or something.

What is needed is a way of keeping “near spam” emails under control. A central place to go to indicate your preferences (“no near spam”, “just one a day”, “as much as you want to send me”, “don’t send me those stupid messages that tell me I have to use a browser to view this email”). I’m currently automatically filtering “near spams” into a folder where I can ignore them … which is something that the sales critters who spew them out certainly don’t want!

Feb 282008
 

First of all, a little apology … I’m no expert Mathematician, was pretty dire at Physics, and I’m no great name in Computer Science. In fact the “physics” here could be any science that makes use of mathematics as a tool. Now for the really scary part … I’m going to be talking about equations.

At least some of the unpopularity of Physics has something to do with the equations that can be found in it. There is no getting around it, Physics and other sciences cannot be really called “science” without equations. But I do believe that physicists do make their equations a little too mysterious :-

e = m c ^ 2

(apologies for not using real symbols there)

Now that is one of the better known equations from physics, but were it one that was less well-known the general reaction would be “eh?”. Does the obscurity of the variables here help ?

When I was learning to write programs, I quickly came to the realisation that using descriptive variables was the start of writing understandable code and went some way to documenting what was going on. It is all very well writing a piece of code with less expressive variables but it makes understanding what you wrote some weeks (or months) ago much harder.

The use of obscure variables come from Maths where you start with equations like :-

x ^ 2 = 9

Now Maths (as I understand it) is basically a set of puzzles that have to be solved using the techniques of Maths; those techniques and the puzzles are divorced from any real problems. The use of deliberately inscrutable variables is by design.

Which way should sciences that use equations go ? The way that Maths goes with inscrutable variable names, or the way of software engineering with descriptive variables ? Historically sciences have gone down the route in common with Maths; understandably enough, but why not try descriptive names. Isn’t an equation like :-

Energy = Mass * Speed of Light ^ 2

… far more understandable, and possibly just a little bit less scary to those put off by equations ? If changing to descriptive variables brings a few more young people into the study of science, is that a good reason for using them. I think so.

Feb 032008
 

There is something a little odd about the Writer’s Guild Of America’s strike for a better deal on “residuals”. In fact there are a couple of odd things about it. Not that I am against what they are trying to accomplish … anyone who wants to fight the big studios for whatever reason has me at least half on their side before I’ve started to think. And what they are trying to get sounds more than a little reasonable.

The first odd thing is that the workers are trying to get a bigger share of the profits. Not a share but a bigger one! Now there are other industries where workers can sometimes get a share of the profits, but it is very rare. Now why is that ? It would seem both sensible and fair to give the workers a cut of the profits … after all profits cannot be made without workers to make a ‘product’. But perhaps the bosses are too greedy to cut their workers in.

I am sure an apologist for the corrupt capitalist system will claim that entrepreneurs deserve to be rewarded for the great risk they are taking when starting an enterprise, and that share-holders also deserve a reward for the risk they take. Maybe so, but workers also deserve some of the reward.

Of course the writers of the WGA are already more successful than many other workers; one suspects this is because they are on the “posh” side of the pool of workers. Can you imagine coal miners getting a similar deal ?

The other odd thing about the whole issue is just how much support the WGA seems to get in their strike action. The US is not the first place one thinks of as places sympathetic to organised labour. In fact you would expect to see large numbers of US citizens frothing at the mouth with outrage at cheek of the workers. Perhaps this is again something to do with how writers are perceived as opposed to coal miners ?

Or perhaps the bosses in this particular case are so widely hated that even their natural supporters in politics (the Republicans) do not want to be seen supporting them.