Nov 022009
 

So I quickly install the CD in a virtual machine, login, get delayed by doing something with a passphrase, install the “guest additions”, and reboot. But why doesn’t Ubuntu include the drivers for various different virtual machine environments ? It would certainly make it easier to quickly setup a machine to test the feasibility of switching or upgrading.

One tiny little niggle with the first boot – the passphrase request to “unlock” the encrypted drive (I wanted to say “unencrypt” there but of course it doesn’t actually do that) is a little less than obvious. It should perhaps be a little more “in your face” – a popup. And of course the new Ubuntu boot straight into X might look a little prettier than the previous mechanism, but it isn’t quite “geeky” enough for me (my OSX machines are set to boot in verbose mode to scare those who think the command line is scary). This new startup is supposedly significantly quicker than previous releases; I’m afraid I didn’t notice. Perhaps it is of concern more to others than to me, but I rarely restart my machines – my somewhat less than totally reliable main machine has been up for 7 days, so a faster boot time is not of great significance to me.

I couldn’t seem to find anything to tweak the desktop effects settings. Perhaps not that important, but sort of peculiar. I dare say there’s an addon to do that.

I next dove into “Software Centre” to find a couple of applications that I use, but couldn’t. Admittedly they are somewhat towards the geeky side of things, but they are not that unpopular (zsh and enlightenment). Dropping to a terminal window and they were quickly found using apt-cache. Perhaps the Software Centre intentionally hides things to make the default list of new application choices a little less scary ? Maybe, but it needs an easily found button to say “show more”. Of course the Synaptic package manager can still be found, so this isn’t a real problem although having two ways of installing/removing software could be.

After I installed my favourite window manager (Enlightenment for now), I went on to try setting it up in my usual way with a .xsession file. No luck! It seems that Ubuntu’s version of gdm has accidentally (?) removed this functionality. This is quite a serious problem for those who like to run seriously customised environments. Perhaps not Ubuntu’s major audience, but it seems rather unfortunate to remove this functionality as it will seriously annoy those like me who prefer their own environment.

Going back to the default environment, I take a quick look at Firefox to realise that there is no Flash plugin. A dive into the Software Centre fixes that, although it would have been nice to be taken through a “wizard” when starting Firefox for the first time to suggest installing a number of proprietary extensions (and explain why they are not installed by default). Not that it does not install with a good selection already, but a browser without flash is perhaps not what people are expecting (although there are advantages in not having flash or turning it on only for those pages you want it turned on for).

Browsing through the settings, and I find the theme browser which does not really offer much choice by default – you have to install some additional themes. The choice of backgrounds is fine, although I’m not too sure why the frog was included (I chose the falling coffee). The most obvious improvement here, would be to include a hint on how to include your own photos as a background – quite possibly the first thing that many want to do! At least the Font tab defaults to using a method of rendering suitable for LCD panels (I’m not sure if this is new with the Koala).

In the keyboard preferences, the Layout options are somewhat confusing. Admittedly the number of options here is bound to make it more confusing, and those who choose “Layout Options” are likely to be self-educated to some degree. However it may be worth looking again at how the options are described. Oddly enough the Mouse preferences shows an option to “Show mouse pointer position when Control is pressed” but does not allow you to enable it!

Going through the applications, most (without extensive testing) seem fine. However Empathy (the replacement for the Pidgin instant messaging client) does seem a little on the flaky side with a few “misfeatures” – for instance the “Room” dialog box is a little immature and it is not obvious what you should do with it. Are you supposed to know some sort of “server name” ? Seems a little odd.

This may get added to when I find the time and patience to do more, but I am sure there are plenty of other far more complete looks at Ubuntu 9.10 out there!

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.

Oct 172009
 

If you are old enough to remember a time when if you were really lucky you might have access to a computer over a 9600 baud serial line connecting with a terminal, you may well have encountered the Compose key on DEC serial terminals (or in many other places). If you aren’t, I’ll have to explain what they are …

Imagine you have a US or UK keyboard, and suddenly have a need to enter an accented character (such as ü) – perhaps in a place name or perhaps you simply want to spell “café” properly for once. If you look at your keyboard you’ll find that the relevant characters do not appear anywhere. One of the solutions to this are the “dead letters” where certain symbols (such as “) work by putting the mark on the key over the next letter you type.

This apparently works well enough for those who enter such letters every other word or so, but I’m a monolingual Englishman who does not need them so often and I would rather have my quote key left alone thank you very much.

Now imagine a special key on the keyboard. Let us call it “Compose” for the want of any other name. You press it, and a fourth LED on your keyboard lights up. You can then enter any suitable two character sequence to generate accented characters or other symbols (½, «, ¡, ♯, ə, þ, etc.). Perhaps it might stretch your memory a bit remembering all the sequences, but you soon get used to much of it … it doesn’t take much memory capacity to remember that compose, u, ” becomes a ü, and that if you want anything with an umlaut on it, just use compose, whatever needs an umlaut, and “.

Back when I got started in IT, we had a bewildering variety of different types of keyboards with different layouts (and many of which were better by far for typing than most modern crud). For better or worse the IBM keyboard layout effectively won (the Macintosh keyboard is an IBM one with a few extra function keys and some of the modifiers relabelled). One of the big losses was the lack of a Compose key.

Let’s have it back!

Oh! And if you are going to have an “Alt GR” key to function as a “shift” key to enter funky symbols, please engrave the symbols on the front of the keys. You will notice that where the Shift key produces a different symbol, the different symbol is shown on the key – see the 1 key with ! shown.

Oct 102009
 

I have recently heard “push” email referred to as “gold-standard” mail by someone who should have known better. I disagree, although in many senses of the word, my own mail has been setup as “push” for many years now – far longer than “push” mail has been supported! Before kicking the idea of “push mail” being the cure for all ills into the grass, lets have a little review of what email is and the difference between “push” and “pull”.

Electronic mail is the computer version of those postcards you drop into letter boxes telling everyone (including the postman) what a great time you are having on holiday. It is not particularly private and is not necessarily very fast. We have gotten used to email normally arriving quickly – within minutes or even seconds, but that is not always the case. In common with the ordinary postal service (I am excluding special services such as recorded delivery), there is not even a guarantee of delivery – it is done on a best efforts basis.

Conventionally the majority of people “pulled” their email from their ISPs email server. When you wanted to read your email, you would start an email client (or commonly these days visit a webmail page and login) and it would pull your email into your email client. When connecting to your email server over a slow connection, the process of pulling in all the email could be quite slow.

To combat this problem, a few proprietary solutions appeared which ensured that the messages were pushed down to the device (as it happens a mobile phone) so that they were always ready when you wanted to read them. Essentially it was a trick – a neat trick, but a trick none the less that made the phone appear to be much faster at reading emails than other phones relying on the “pull” method.

Of course there’s a cost to all this pushing. The phone has to wake up every so often to allow the server(s) to push any available messages, which might not take much power but given the frequency with which it happens can have a big effect on how long your battery lasts.

And do we need the immediacy of push email (or other kinds of messages) ? Personally I think it is better to read (and respond) to messages when it is convenient to us to do so. Responding when the messages become available means being constantly interrupted.

At work I have seen those who have their machines configured to popup little messages whenever they get a message. I am amazed that people can get work done with these constant interruptions. Perhaps those who insist on push email are somewhat shallow, and have little need to concentrate on a task.