Trip To Perth

In May 2005, at a days notice, I had to go an work in Perth, Australia for 6 weeks. This is an album of some of the photos I took whilst I was there

In May 2005, at a days notice, I had to go an work in Perth, Australia for 6 weeks. This is the story of how I got there.

Sometime early May

Within my role at work I get to see requests for help from our colleagues around the world. I had seen a request for people who understood electricity market competition and who might be able to provide some input to a proposal, so I suggested some names.

10:00 Tuesday 10th May (UK time)

The call comes around again, this time with the statement that none of the people I suggested before are available. They are looking for someone who can go to to Perth (Australia) for a month. I make a quick call to my wife to see what her thoughts are before tentively proposing myself.

16:30 Tuesday 10th May (UK time)

Its on. I will be going – catching a plane at 14:15 the next day. Unfortunately I can’t go home immediately as I have a business meeting at 18:30.

20:00 Tuesday 10th May (UK time)

Arrive home to find me wife saying that she needs me to help buy some new wardrobes for my daughters bedroom. These have to be bought before my daughter returns from university at the end of may. So quickly find as much dirty washing as possible and throw it in the washing machine so I can take as much clean stuff with me as possible. Go off to IKEA to buy wardrobes.

22:30 Tuesday 10th May (UK time)

Return from IKEA and unload the car. Go an sit on my computer and unsubscribe from all the mailing lists that cause me to receive about 300 messages a day (do not fancy my personal mailbox being full with 10000 messages when I return).

10:45 Wednesday 11th May (UK time)

Fully packed and ready to go. Expecting a car at this time to pick me up and take me to the airport.

10:55 Wednesday 11th May (UK time)

No car. Phone car company who have no record of any instruction to pick me up. Spend 10 minutes holding on the line whilst they make enquires – eventually return to say that they can pick me up at 11:45

11:45 Wednesday 11th May (UK time)

Car arrives and takes me to the airport. At least I have business class and can check in without delay. Two legs. One from London to Dubai, second one from Dubai to Perth.

13:30 Wednesday 11th May (UK time)

Board the plane for the Dubai, and wait for it to take off

14:30 Wednesday 11th May (UK time)

Push back – we are on the way. On route, after eating I have two objectives. One to watch Oceans Twelve, two to get some sleep to try and bring body forward to match Perth time. I must of succeeded with the second because I can’t remember much of Oceans Twelve except the closing credits.

00:30 Thursday 12th May (Dubai time)

At Dubai airport – some time to kill

01:30 Thursday 12th May (Dubai time)

Start to board plane for Perth.

02:00 Thursday 12th May (Dubai time)

Push back on the start of trip to Perth. On route after a brief snack straight after takeoff, go to sleep in a further attempt to bring body clock forward.

09:00 Thursday 12th May (Perth time)

Still on the plane but force myself to wake up. Wonder when breakfast will be served – whole plane in darkness.

13:00 Thursday 12th May (Perth time)

Breakfast served and plane starts to come awake. Did I make a mistake by trying to not sleep?

17:10 Thursday 12th May (Perth time)

My bags are almost the first of the (not very busy) flight, so its straight through customs and into a cab to the hotel.

08:00 Friday 13th May (Perth time)

Into the office for the first full day.

This is an album of some of the photos I took whilst I was there

A Proud Dad

It was just last week that my youngest daughter got offered a job at Bar Honda Formula 1 team and which she will start in only a few weeks

It started with an e-mail circulating around her college that Honda were offering a year placement for students. After making her application and thinking that it had got nowhere she was suddenly called to interview last week.

It was just last week that my youngest daughter got offered a job at Bar Honda Formula 1 team and which she will start in only a few weeks

It started with an e-mail circulating around her college that Honda were offering a year placement for students. After making her application and thinking that it had got nowhere she was suddenly called to interview last week.

I really enjoy watching Formula 1 racing, and so the thought of perhaps visiting the factory and seeing something interesting encouraged me to take the day off and take her to the interview. I am glad I did, because I did get shown over a previous seasons car and have explained all the interesting details of the little bits that made it go just that bit faster.

Anyway two days later she got offered the job.

The real point of this article is to comment on how that makes me feel. It is of course impossible to know what attracted Honda to the letter and CV that my daughter sent in to apply for the job which caused them to select her for interview, or the qualities that she has which meant she was selected for the job after the interview in preference to the other candidates.

But as a parent, what you believe is that is a reflection of character traits both inherited from my wife and myself and developed as a result of the upbringing we have given her. It is also a result of the experiences that she has gained which we encouraged and supported her to undertake. So although this achievement is all hers, I feel proud to have been a part of it.

Of course you feel proud for your childeren for all their achievements throughout their lives, but the graduation of my older daughter, and this job offer for my younger daughter have a special place.

UPDATE June 2010. My daughter was given the wing plate from from the car when she left. The picture at the head of that post is it sitting on the wall in my study at home

A Comment on Politics

With the UK general election upon us, I decided to reflect on my feelings about politics in general, and the problem I have about how to vote. Although I am no longer a “young person” who feels disconnected with Politics – I can well understand why they might feel totally disenchanted with polititians.

With the UK general election upon us, I decided to reflect on my feelings about politics in general, and the problem I have about how to vote. Although I am no longer a “young person” who feels disconnected with Politics – I can well understand why they might feel totally disenchanted with polititians.

I try to think about some guiding principals and try and understand which of the political parties is likely to take me in the same sort of direction. I believe that thinking about the specific issues of the day is not the right approach, because one lot are going to be in power for a number of years and the issues change (sometimes in the space of days).

So what are the top level issues that I think are important. For me they are:-

  • Statesmenship (Trust and Integrity); I want to believe that the people in charge of the country are working for my good and not (just) working for their own glorification. I do not expect every polititian out there not to get a reward for their hard work, but I do expect that when it comes to a choice between what is best for the citizens of Britain and personal gain that we can trust in this instance that we come first. On this front I feel entirely let down by Tony Blair with Iraq. To my mind there is strong evidence that a position was manufactured in which we had to support going to war in conjuction with the Americans, when in reality there was no real reason to do so at that time. The reason he did this is less obvious, but seems to me to be related to going down in the history books with a great reputation, and might well be why (as it has so blatantly backfired) he has expressed going for a third term.
  • Good Management of the Economy. This is about stability, low inflation, full employment and some growth. This is about the overall environment in which everyone lives. In this respect, there is no denying that Labour, and Gordon Brown in particular, have a record that no-one else has achieved. There has been a lot of talk that from an economic management point of view there is very little to differenciate between the parties, but the management of our econony has been impressive.
  • Avoid wasting our taxes. I understand that I have to pay taxes, and provided my tax burden is approximately fair compared to everyone else, I am not that concerned about the odd few pence on the tax rate one way or the other. But I have an underlying belief that competitive providers of a service do so much more efficiently and with higher quality than a monopoly (be it a commercial or a government) provider. I am very nervous of a government whose direction is to increase taxation in the belief that they are better at understanding our needs than a competitive environment. This underlying philosophy seems more of a Tory direction.
  • Protection for the weak, including prevention of exploitation by the strong. Although the classical view here is of a nanny welfare state providing services to support the poor, this is not so much my concern. Of course I am concerned that we provide safety nets for the everyone in society, but that is more of a given in modern Britain. It is much more about global businesses holding the world to ransom because of their ecomonic power and their ability to use this money to lobby and change our laws to their advantage. I am looking for my polititians to be resisting this.

Although most issues are relatively short lived (we might be fighting the MRSA bug today – but will it be a key issue in a years time?) one area does require special comment, and that is Europe.

Because of my job, I often travel to Europe on business, and I am generally in favour of closer integration. I believe that as a co-ordinated group Europe can a useful balance to the American superpower. However the following things concern me greatly:-

  • The enormous and generally unaccountable power that stems from the European Commission. It is, like all beaurocracies, driven by the employees within it who have to ensure that they remain important by suggesting new initiatives which they have to drive thought and therefore keep their jobs, and as such is by design guarenteed to generate rule after rule to dictate how we control our lives.
  • I remember the UK experience of decimalisation, which kicked off price inflation at the bottom end of the market. Talking to my European collegues who have switched to the Euro, they have noticed the same thing – so if we enter the Euro (which I would like to have happen) we could be kicked hard in a similar way.

None of the political parties can really be said to offer a vision that matches mine – but there perhaps may be one last think to add.

I think it important that we do not allow any one government to go on too long. As has been said many times before, power corrupts, and eventually everyone slowly succumbs to its siren call. It is necessary to change power to another group every so often just to keep everyone on the straight and narrow.

As a closing comment I want to say to the young people out there who feel that the whole political system is corrupt and has no meaning for you – please vote! Maybe your vote doesn’t count for much on its own, but it is likely that your views are very similar to others who also could vote. If it even appeared that you might do so on mass you really could make a difference.

The problem of course is who to vote for and right now I don’t have an answer.

A New Vision for the Desktop

Introduction

As I start to write this article at the end of March 2005 I have in my head a partially formed vision for how to improve the usability of the Personal Computer Desktop. I will use this article so slowly explore that vision and try and turn it into a complete concept. I will do that in stages, so that ultimately this becomes a multipage specification for the complete vision of a new version of the way the PC desktop operates. As I publish each update, I will reset the date of the article so that it reappears at the top of the list of articles on this site.

Introduction

As I start to write this article at the end of March 2005 I have in my head a partially formed vision for how to improve the usability of the Personal Computer Desktop. I will use this article so slowly explore that vision and try and turn it into a complete concept. I will do that in stages, so that ultimately this becomes a multipage specification for the complete vision of a new version of the way the PC desktop operates. As I publish each update, I will reset the date of the article so that it reappears at the top of the list of articles on this site.

The current desktop environment has a fairly consistent approach. Each application generally, although not always, has a single window for most of the users working. This window has borders, possibly with scroll bars, and at the top is a window titile bar, a menu bar, and often a toolbar. At the bottom is often a status bar of some kind.

The overall desktop generally consists of a full screen area on which futher icons are placed, some representing starting points for some activity, others files put there by the user. On one edge is some form of panel with lists of running tasks, a menu to start new ones, some form of notification area (the system tray) and potentially a quick launch section with the icons of frequently started applications.

Also, just as important is they way that each window has a postion in terms of its on topness compared with every other, and that the on top window is both

  • the one that has the focus for keyboard and mouse input (although there are exceptions), and
  • is opaque, and obscures what is beneath it. So although we have a 3D concept, its very limited and is more two dimensional in nature and use.

I think this is basically a function of the lack of power of the graphics when these concepts where first put in place. What I want to do is revisit this approach when we are in a world in which most of the hardware can

  • provide more flexibility in terms of transparency
  • the ability to make use of 3D perspectives. So I want to take these additional capabilities and explore how we might make the users life easier.

How does the user work?

Document Centric v Application Centric

When Apple first introduced the Lisa, and then the Mac, to the world it established an approach to the desktop in which users were supposed to see documents in folders, and work with them. The application was hidden, and just somehow automatically connected to the documents. Users were supposed to neatly file those documents into a folder hierarchy and never really know that an application existed.

I can’t speak for the Mac community as I don’t know anyone who uses a Mac these days, but I can speak about many of my collegues at work who use Microsoft Windows, and they definately do not work that way. They think application. For instance, if I ask a collegue to give me a copy of his PowerPoint presentation he will often start PowerPoint, open up the presentation from the application and use Save As to copy it on to (say) a memory stick. Now I don’t work that way, but many do. Definitely not the way the original designers thought they might.

Why? Why do people see things this way? I don’t really know, but here are three theories:-

  • In the Windows world you generally have to pay money to buy an application, and the vendors marketing department therefore a boosting the importance of an application as opposed to the documents it creates (see how I used the term PowerPoint Presentation above)
  • These days, the two key applications for most people are e-mail and web browser. Neither of these connect directly to documents stored on the desktop.
  • To line up windows so that you can copy file a to location b is really difficult. It much simpler to do it using the application, or using windows explorer where one pane has the tree structure in it and can be used as the destination of a move/copy command.

So in my vision, I think we have to give more credence to the concept of an application (or rather the function of doing something – I’ll talk about that later) as a key driver, although that does not mean that we must forget the document angle either (again more on that later).

Multitasking

The original concept of users operating on several things at once has lead to the development of a desktop in which the user is expected to have have multiple windows open at the same time, being able to switch between them at will.

I think the reality is different. I think that normally users focus on only one task at a time. However, it is quite important to understand that they might simulatenously be wanting to monitor some other process in the background whilst concentrating on that one task. In saying that, it is a sort of monitoring that is more than just has this event occurred, but might be more akin to continually judging progress whilst neverthe less concentrating on the main activity. Todays windowing systems insist that you leave some space on your screen for monitoring window because of the limitations on where keyboard and mouse focus works when

Switching between tasks (or starting a new one) is also an important component of the user experience. Right now, things seem to be inconsistent between applications, in that those with a document focus require you to explicity save the document to keep changes, whilst those that don’t have a document focus in quite the same way (for instance your mail program) just work.

Locating Information

A key element of efficient working is to rapidly locate a piece of information to work on. Traditional methods use the file system and effectively allow the user to build a tree structured hierarchy to locate the information. But in reality he doesn’t

The alternative that is being talked about is to allow the user to define metadata with the file, and then to use a search engine to help him locate the information. Having seen the search engine approach in use, I do not believe it works very well. They key problem is finding documents that you know are there, but for which the search criteria seem to be wrong. In this case, browsing is a necessary component.

In analysing my own approach to finding information, I think there are number of criteria that we use naturally. Lets explore each of them in the subsections below

Type of information

In most cases we remember the type of information that we are searching for. These are generally coupled with the application although not necessarily known that way. So we think of an e-mail message, a document, a slide show, an audio file or a movie (or any other file – such as saved game …).

Time of creation

First off, I think there are two categories of time that we are talking about. Firstly, there is time for its own sake. Phrases such as last week, last month, or two days ago are all in this category. I would submit that our memories are a little hazy when it comes to remembering time, and the best that can be achieved is one unit back in time where a resolution of about 1:6 to one. In otherwords, we can remember today and yesterday, but then the resolution needs to drop by approx 6. So we remember this week, last week and then drop to this month, last month and then drop to this half year, last half year.

The second mechanism is links via events (either spot events or ones that cover a period). So we can remember “at the meeting with Customer X”, or whilst I was working at.

Subject Area of document

Here, I think, is an area where users do need to have a mostly heirarchical model of subject areas that they can use to file information in.

[Need to think about exceptions to this rule]

Some new concepts

Classes of Task

I think the first thing we need to do is get away from the old concepts of applications, and think instead in terms of tasks. Then of each of these tasks classify into different types according to the user concentration on them. So, as an initial list:-

  • Working on a specific document to create, view or edit it (at this stage, forget whether the document is an e-mail message, writing on a page, a drawing, or whatever. The important point is that there is a focus of attention on a specific area of the screen, and that there needs to be some tools with which to manipulate the document. Although the term document is used here, I think it can also be other media. For instance, playing a game, or watching a DVD would also fit into this class.
  • As a specific enhancement to the above task, it may be necessary to copy information between two documents, or follow instructions from one document whilst working on another.
  • Filing away a document that has been worked on, or finding a previously worked on document so work on it some more. This may include looking at lists of potential items to understand the relationship between them (for instance a list of messages in an e-mail coversation thread). Tools will be required to control the navigation, or search for the item.
  • As a special case of the above, to switch between a limited number of previously active tasks, maybe triggered by an event (e.g. an e-mail arrives, so you read it, reply and then switch back to whatever you were doing before)
  • Do something as a background activity, with occassional need to intervene or monitor progress (e.g play music, or download a set of files from the internet).

Actions and Tools

Selecting from a heirarchy

There is a frequent requirement to search for information that is in a heirarchy. I am a firm believer that

  • The user is much more able to find what he wants if the complete hierarchy is exposed at the begining (ie no collapsable trees). [Think about a display mechanism that allows this]
  • That this heirarchy must be related to what the user expects (for simple heirarchies) or what the user defines himself (for complex heirarchies)
  • The heirarchy is about subject areas and NOT about type or time (including events) – because, as we see below the computer should also maintain these links separately.

Standard

A number of actions will be standard amongst the tasks above. Some of them will relate to switching between tasks, whilst others will be specific to a given task (e.g. Print the document currently being worked on)

[Need to expand this further]

Task Specific

Task will need to define their own actions.

The individual and his identity to the outside world.

In todays world the computer is not just a tool for undertaking solo tasks, it is also a tool for communicating with others. But there is a sublety to this. It is no good assuming that just because I am sitting in front of my computer that

  • I want the whole world to know that I am there
  • Everyone knows me by the same identity

Each individual will hold a number of identities and will also have a list of his contacts (other individual/identity combinations) for each identity, and grouped together into classes.

He can enable his presence to be known by class of contact

Locating Information

As we have discussed above, there needs to be a standardised way of storing information so that it can be found again. The key concepts that we need to link together is

[Local]

  • Tree structured subject area – much akin to the folder hierarchy used today
  • Time linked to events (in a calender)
  • Type of information (mail message, document, image …)

[Remote]

This is a different problem and needs wider thought.

Putting it all together

The start

There will be a process, which I will not cover in in this article, of starting up the computer, connecting it to a network, and getting it to a point where a known individual is sitting at a screen, keyboard, mouse, other peripheral combination ready to start work.

The approach to task selection seems to me to be really dependent on whether you are creating something new, or locating something old.

As we have seen from information identification, new documents start with application selection.

The focussed task

The fundemental concept above is of normal focus on a single document with a set of tools with which to work on that document.

I think that the pictorial representation of that document related to the focussed task should use the full screen. No standard borders or scroll bars, or menus or toolbars, with maximum space given to the document. If any dimension of the document is smaller that the screen, then this border will be primarily black (except for transparency effects). If the document is bigger than the screen rather than scroll bars, a standard mouse drag should be used to move the document around

Tools for manipulating the document, or for switching to another task, should be as layed out in a visible window above this full screen (perhaps being slightly transparent so that were ever it covering a key aspect of the main document it could been seen). However, although it remains above the focussed window, keyboard and mouse input remains pushed towards the full screen except when obviously manipulating the controls.

[Need to consider the alternative of a panel down the side of the screen that pops out when the mouse is pushed hard to the side of the screen, but dissappears again when the mouse is moved away]

Where possible this should be like a control panel, with buttons to press or sliders (where an anologue input is required)

Open File Formats

The state of Massachusetts is defining that all government documents should be in an open format. Quite right too. Any government department should ensure that all documents are produced in a form that anyone can read the data – for ever and without payment to any third party licence fees.

The state of Massachusetts is defining that all government documents should be in an open format. Quite right too. Any government department should ensure that all documents are produced in a form that anyone can read the data – for ever and without payment to any third party licence fees.

The problem with the approach that they are taking is that defining that Microsoft Office XML standards are open. It also appears that Microsoft appears to be offering a licence to read this documents that confirms to this open standard. However, I think this openness is illusary and should not be allowed. For me the key reasons are

  • The licence is extremely tightly worded to imply that whilst you might be able to develop software to read these formats, you can’t distribute this software to others
  • You can’t write software to write to these formats
  • The formats are defined arbitarily by Microsoft and are not guarenteed not to change.

All this means that sometime in the future it could well be that future generations do not have access to applications which can read and manipulate these documents.

There is a standard, OASIS Open Document Format for Office Applications (OpenDocument), that can be used to xchange documents across the network. The next release of openoffice.org (2.0) will support this as its default standard.

I would like to encourage everyone to adopt this standard as their default exchange mechanism. If we can build up enough momentum behind this, then a few years down the line we will have a standardised mechism everyone can use – and hopefully prevent archive material disappearing never to be readable again

Backup and Archiving at Home

I have several computers at home, and it is important that they are properly backed up in order to not lose data. I want to show an example of how this is done, but first a number of preliminaries.

I have several computers at home, and it is important that they are properly backed up in order to not lose data. I want to show an example of how this is done, but first a number of preliminaries.

  1. I have defined that backups should, where possible, be placed on a different disk to the source. Thus I should not lose data if I have a disk corruption or a hardware failure.
  2. There are certain directories (for example /etc, and the subdirectoy mydocs in my home directory) which am changing the files and would like to keep changes to those files so that I can revert, or insure that when I delete them a copy is archived for posterity.
  3. I break down my file layout into separate filesystems, and in particular, I have separated out:-
    • the backup directory (well it is on another disk)
    • my home directory
    • certain directories (particularly on my server) which are likely to contain massive amounts of data (such as /var/lib/svn where all the svn repositories lie)
  4. Where possible I am using lvm to manage most partitions as logical volumes, so creation, deletion and resizing of them is easy.
  5. Once a file changes in one of the special directires (such as /etc), the copied file is stored in on of several snapshot directories related to points back in time. I have
    1. the latest snapshots
    2. daily snapshots from yesterday – up until one week old
    3. weekly snapshots up to one month old
    4. monthly snapshots up to 6 months old
    5. older than six months are assumed to be queueing for eventual manual writing to CD for keeping for ever.

So how do I do it.

Firstly, simple backup is done using rsync with the -aHxq and –delete switches. This cause the destination directory (and subdirecties) to become a copy (ie a backup) of source directory (and subdirectories). The -x switch limites this to a single filesystem. Where I need to keep the changes to a specific directory then I also use the –backup-dir switch to write them into the latest snapshots directory.

Archiving the snapshot directory is done daily just before the backup (so its actually part of a daily backup script that is run creating the script file as /etc/cron.daily/backup). This snapshot is turned into the daily snapshot by simply using mv to change the name of the directory from snap to daily.0 (or course daily.0 should have already been renamed to daily.1 before hand). Similar backup scripts for archiving only are placed in /etc/cron.weekly and /etc/cron.monthly)

The interesting trick comes when merging a daily snapshot into an already existing weekly snapshot (or weekly into monthly, or monthly into the CD archive). By using cp -alf this just makes an additional link in the weekly snapshot to the file already in the daily snapshot (so it happens fast as there is not file copying). Where a file already existing in the weekly snapshot it is replaced by the link (this effectively overwriting the old version), where a file didn’t already exist a new link is simply created. If the old daily snapshot is removed at this point, then this just unlinks the file from the daily snapshot but leaves it in the weekly.

So here is the relevent code from the files

/etc/cron.daily/backup

#!/bin/sh

logger -t "Backup:" "Daily backup started"
ARCH=/bak/archive

if [ -d $ARCH/daily.6 ] ; then
if [ ! -d $ARCH/weekly.1 ] ; then mkdir -p $ARCH/weekly.1 ; fi
# Now merge in stuff here with what might already be there using hard links
cp -alf $ARCH/daily.6/* $ARCH/weekly.1
# Finally loose the rest
rm -rf $ARCH/daily.6 ;

fi
# Shift along snapshots
if [ -d $ARCH/daily.5 ] ; then mv $ARCH/daily.5 $ARCH/daily.6 ; fi
if [ -d $ARCH/daily.4 ] ; then mv $ARCH/daily.4 $ARCH/daily.5 ; fi
if [ -d $ARCH/daily.3 ] ; then mv $ARCH/daily.3 $ARCH/daily.4 ; fi
if [ -d $ARCH/daily.2 ] ; then mv $ARCH/daily.2 $ARCH/daily.3 ; fi
if [ -d $ARCH/daily.1 ] ; then mv $ARCH/daily.1 $ARCH/daily.2 ; fi
if [ -d $ARCH/snap ] ; then mv $ARCH/snap $ARCH/daily.1 ; fi

# Collect new snapshot archive stuff doing daily backup on the way

mkdir -p $ARCH/snap
...

/etc/cron.weekly/backup

#!/bin/sh
#	AKC - see below for history

ARCH=/bak/archive
if [ -d $ARCH/weekly.5 ] ; then
#  if any of the files only have one hard link, it needs to be passed on
if [ ! -d $ARCH/monthly.1 ] ; then mkdir -p $ARCH/monthly.1 ; fi
# Merge into monthly archive
cp -alf $ARCH/weekly.5/* $ARCH/monthly.1
# Shift along snapshots
rm -rf $ARCH/weekly.5
fi

if [ -d $ARCH/weekly.4 ] ; then mv $ARCH/weekly.4 $ARCH/weekly.5 ; fi
if [ -d $ARCH/weekly.3 ] ; then mv $ARCH/weekly.3 $ARCH/weekly.4 ; fi
if [ -d $ARCH/weekly.2 ] ; then mv $ARCH/weekly.2 $ARCH/weekly.3 ; fi
if [ -d $ARCH/weekly.1 ] ; then mv $ARCH/weekly.1 $ARCH/weekly.2 ; fi
...

/etc/cron.monthly/backup

#!/bin/sh
#	AKC - see below for history

ARCH=/bak/archive
CDARCH=/bak/archive/CDarch-`date +%Y`
MACH=piglet

if [ -d $ARCH/monthly.6 ] ; then

if [ ! -d $CDARCH ] ; then mkdir -p $CDARCH ; fi
cp -alf $ARCH/monthly.6/* $CDARCH

rm -rf $ARCH/monthly.6
fi

# Shift along snapshots

if [ -d $ARCH/monthly.5 ] ; then mv $ARCH/monthly.5 $ARCH/monthly.6 ; fi
if [ -d $ARCH/monthly.4 ] ; then mv $ARCH/monthly.4 $ARCH/monthly.5 ; fi
if [ -d $ARCH/monthly.3 ] ; then mv $ARCH/monthly.3 $ARCH/monthly.4 ; fi
if [ -d $ARCH/monthly.2 ] ; then mv $ARCH/monthly.2 $ARCH/monthly.3 ; fi
if [ -d $ARCH/monthly.1 ] ; then mv $ARCH/monthly.1 $ARCH/monthly.2 ; fi

...

UPDATE: As of 26th February 2011 the basic mechanisms show in this post are still in use.  However some detail is wrong  (this disk layout and partitions).  Nothing that detracts from the basic message.  See also my recent post about keeping personal data backed up

Software Patents are Bad for Europe

Since man first invented the wheel, society moves forward technologically by inventors standing on the shoulders of those who came before. This advance in our knowledge has improved our lives immeasurably, so much so that society wants to encourage inventiveness, by rewarding those that invent new things a monopoly in that invention (a patent) in exchange for the knowledge that future generations can build upon.

Since man first invented the wheel, society moves forward technologically by inventors standing on the shoulders of those who came before. This advance in our knowledge has improved our lives immeasurably, so much so that society wants to encourage inventiveness, by rewarding those that invent new things a monopoly in that invention (a patent) in exchange for the knowledge that future generations can build upon.

It is important to understand this clear quid quo pro between society and the inventor. Based on that understanding it is not unreasonable to expect that if the patent grant is going to generate a great deal of money for the holder, that society should expect a similar degree of inventiveness for others to build upon.

This to me is the crux of the problem with grants of patents on Business Methods or Software Functions (I use this word function here because the alternative, the actual software itself – which does take considerable time and effort to get right – is already protected by the monopoly rights of copyright. Defining functionality is comparatively a trivial exercise.). The level at which patent protection can be applied for is several thousand times simpler than would be needed in a fully functioning business, or a substantial software programme. Whilst a physical product can be broken down into smaller patentable components, the ratio is nowhere near as great.

This leads to two consequences. Firstly, and this is the most important point, is that to achieve anything useful in writing a software program, you could potentially be effected by thousands of patents on the little individual functions making up software. Secondly, these little individual functions do not provide anything like the benefit to society that would be appropriate for the monopoly position granted to them.

It is also worth asking why patent protection is being considered at all. Given that we already have copyright as a mechanism for society to give a monopoly to encourage invention why do we think that the patent approach is always needed.

It costs money to obtain a patent. This mitigates against the small organisation spending the time an effort to patent all the various small functions that go up to make any useful software program. By contrast, large global corporations can afford to invest to that level. The consequence of that is that only the large mulinationals can really protect themselves via the patent route.

Considering this from a European perspective, all of the substantive software companies with the one exception of SAP are American. Thus allowing patents of software functions in Europe can only harm Europe.

But there is a broader problem. Open source software, developed by the thousands of individual contributors around the globe are able to develop software that can – for the first time – compete against the monopoly stranglehold that Microsoft has on the industry. Unfortunately open source software has a real problem. It has been competing on technical excellence spread by word of mouth, and unlike normal commercial enterprises does not translate that technical advantage into money. This prevents it from either entering into the patent game, or from spending the cash lobbying governments to take decisions in its best interest.

Monopolies are not in the best interests of society (even more so when the monopoly is based on the other side of the world from your society). That is why we have many many mechanisms to prevent monopolies from abusing their monopoly powers. With open source we have another mechanism that can fight against these monopolies. But allowing software patents could so easily destroy that weapon.

Be Wary of Digital Rights Management (DRM)

I have just been reading an article in which Bill Gates is justifying the introduction of digital rights management into Windows Media Centre. In essence he is saying that the content producers own the Intellectual Property (IP) and can put whatever rights they like on it. If there are no restrictions the the Media Centre will play the content, but if the producer has put restrictions on it using DRM, then the media centre will respect those rights.

I have just been reading an article in which Bill Gates is justifying the introduction of digital rights management into Windows Media Centre. In essence he is saying that the content producers own the Intellectual Property (IP) and can put whatever rights they like on it. If there are no restrictions the the Media Centre will play the content, but if the producer has put restrictions on it using DRM, then the media centre will respect those rights.

There seems to be a large flaw in this argument which is what makes some people (myself included) wary of Digital Rights Management. IP holders are granted the rights that they have to control content by the state to give people an incentive to innovate. But those rights are not absolute. There are certain freedoms that everyone has (like allow people to include small extracts of a whole work for use in a new work). The issue with DRM is that is does not necessarily also enforce those freedoms. So if a content producers adds DRM to his IP and then distributes he may give you less rights than you are legally entitled.

Debugging is my pleasure

About a month ago I decided the time had come to find out why, when I attempted to blank a cd in my cd rewriter, cdrecord (the program I was using to do this) hung – and then could not be killed off because the operating system thought it had outstanding I/O in progress.

This meant getting down to a copy of linux source code, building a system with some debug statements in it and finding out what was going on.

It was a hard three weeks, but I have eventually proved that there was a hardware problem with my drive. I must say, it was one of the most satisfying activities I have undertaken recently.

About a month ago I decided the time had come to find out why, when I attempted to blank a cd in my cd rewriter, cdrecord (the program I was using to do this) hung – and then could not be killed off because the operating system thought it had outstanding I/O in progress.

Continue reading “Debugging is my pleasure”

WYSIWYG v WYSIWYM

I was thinking the other day about the way we produced documents in the mid 1980’s. It was kicked off by hp setting up a competition to find the oldest laser printer still working, because I headed a product development centre in those days and we had purchased one. I had been thinking of buying a line printer in order to enable our programmers to print out their code and put it into binders. I was approached by our hp saleslady, who enticed me with a fast A4 printer. I had thought this would make it simpler to print code on A4 and put them in smaller binders rather than the large binders we needed before, and duly purchased one.

I was thinking the other day about the way we produced documents in the mid 1980’s. It was kicked off by hp setting up a competition to find the oldest laser printer still working.

I headed a product development centre in those days and we had purchased one.  I had been thinking of buying a line printer in order to enable our programmers to print out their code and put it into binders. I was approached by our hp “saleslady”, who enticed me with a fast A4 printer. It had been the custom to use specialist line printer paper and purchase special binders to store it it, but I had realised this would make it simpler to print code on A4 and put them in standard binders rather than the more expensive specialist ones, and I duly ordered this new printer. It turned out to be one of my better decisions.

What I had not counted on was that we were introducing VDUs on to everyone’s desk for the first time, and therefore suddenly there was a lot less of a requirement for producing paper code listings. However, one of my team created a set of macros for nroff which enabled people to write documents in a text editor, which when processed produced very high quality documentation on the laser printer. For a number of years my team produced documentation that looked as though it had been produced at a professional print shop – when the rest of the company were still using IBM manual typewriters and snowpake.

It was not until several years later that we stopped using that system, at the point when it started becoming feasible to put a PC on everyone’s desk running Microsoft Word. Although we could now do graphics easier (the only large achilles heel of the nroff system) we lost a lot in the consistency of our documentation.

The closest today in lyx. a WYSIWYM (what you see is what you mean) type of system – but I have a slightly different vision. I would like something that

  • uses docbook xml as the native underlying language
  • provides template based style sheets (using xml formating objects?) which can show how each sort of document should look on screen and printer
  • provide WYSIWYG editing of the style sheets.

UPDATE June 2010. Some years later and I haven’t done anything with this thought. The one big change is SVG (scalable vector graphics) which in essence is a text system to embed drawings.

 

UPDATE November 2012:  I have just come across latex – but perhaps more importantly the tikz library package that allows you to draw high quality graphics in that environment.  A few experiments later and I am able to produce some high quality documents in a house style.  Its not what I was envisaging in 2004, but interestingly the underlying quality of those original 1980s days is surpassed and for the first time with graphics support all in a mechanism that can be properly version controlled with git.  I am developing my house styles as I write this and intend to make it my primary writing environment for the future.