•  
  • Home
  • Page 2

Useful coloured command prompt for Linux

Categories: InfoTech
Tags: No Tags
Comments: No Comments
Published on: October 22, 2010

I find it useful to have a visual prompt when I am logged into a Linux server as root (something you should rarely do).  One way of doing this is by adding colour to your command line prompt.  I decided to colour the username green if logged in as a regular user, and red if logged in as root.

It looks like this:

[username@hostname ~]$ 

and when logged in as root:

[root@hostname ~]# 

Here’s how to do it.  While logged in as yourself, edit your .bashrc file and change the export PS1 line so it reads like this:

export PS1='[e[0;32m][u[e[m]@h W]$ '

Now su to root, and edit it’s .bashrc file changing export PS1 to this:

export PS1='[[e[0;31m]u[e[m]@h W]$ '

That easy.  You can do a lot more things with your command prompt, but this is enough for me.  Be careful when using non-printing characters (such as the colour commands above).  These should be surrounded by escape block ([ and ]).

How the hell do Sharepoint 2007 permissions work?

Categories: Sharepoint
Comments: 2 Comments
Published on: September 23, 2010

I’ve written about this before, but today I found myself explaining the whole permissioning thing to a colleague, and put together a diagram which shows how inheritance works.  Permissions and groups are inherited as follows:

Sharepoint Permissions Inheritance

This shows “Administrative” rights, but can equally be applied to other permissions at any level below a site collection. Dotted boundaries show where the inheritance are optional (and shouldn’t really be called inheritance either).

To explain this a little further let’s start at the top:

Web application level

The Policy for Web Application setting allows you to give Active Directory users and groups rights over all Site Collections in that Web Application.  If you give a user or group Full Access permissions at this level, they will have access to all the settings pages for all sites in the web application.  These users and groups names do not show up in any Sharepoint groups or permissions pages.

Site Collection level

When creating a site collection you can set Primary and Secondary Site Collection Administrators.  These can only be set as Active Directory user accounts.  These users get access to all settings pages for the sites within the site collection (including the root site /).  Emails sent by Sharepoint relating to sites in the site collection appear to come from the Primary Site Collection Administrator.

To update all your Site Collection Administrators in one go, take a look at my Sharepoint 2007 PowerShell scripts.

Sites

This is the level that the groups you can administer within Sharepoint become available, and what most people think of when they think of permissions in Sharepoint.

An important point to note is that there is always a root site within a site collection – this is accessed at the root of the site collection directory (/).  All other sites in the site collection are subsites (or subsites of subsites) of this site.  The groups and permissions you set up for this root site can be used by the other sites in the collection.

This all gets a bit complicated, so lets use an example to illustrate.

Illustrative example of site collection with subsites

We’ve got a site collection with a root site at http://dunxd/sites/teams/.  Within this site there are two subsites – a and b.  Site a has a subsite 1.

When we create the site collection (and root site), Sharepoint will set up the following groups:

  • Teams owners – this is for users who can administer the root site.  They won’t see the Site Collection admin links unless they are included in one of the higher level permissions described above.
  • Teams members – this is for users who need to be able to work on content in the site
  • Teams visitors – this is for users who only require read access to the site

When we create subsite a, we have the choice of using the same permissions as the parent site. If we choose that, subsite a will not have any additional groups created.  Owners of the Teams site will also be owners of the a site, and so on.

Note that here we are simply using the groups – once these have been set up, we can change the permissions those groups have for site a without changing the permissions they have for site Teams.  Also note that if we add a user to the Teams owners group, that user will also have the Owner permissions on site a.

We also have the choice of using unique permissions.  If we choose that, additional groups may be created, or we may use existing groups for each of the Owner, Member and Visitor roles.  The default options in this situation are to share the parent Visitors group, and create new Member and Owner groups specifically for the site.

When we come to create a subsite of site a called site 1, we get the same options for using parent permissions or unique permissions.  If we use the parent permissions, we get whatever we set for the parent site – if we used the permissions for Teams in site a then site 1 will also have Teams owners as owner and so on.  If we select to use unique permissions for site 1,  we can create 1 Owners etc, or we can use a owners, or even Teams owners.  A site can access all the groups in the parent sites above it.

This is quite a major departure from the way that normal file system permissions work.  It’s also quite difficult to explain.  I hope this post helps you if you need to understand this, or explain to someone else.

With any luck you didn’t need to read 800 words – the diagram explained it for you.

Getting User Profile Properties out of Sharepoint and into a table

Categories: Sharepoint
Comments: No Comments
Published on: July 5, 2010

One of the shortcomings of Sharepoint 2007 is the lack of a tabular view of User Profile Properties.  This would be really useful, so I wrote a PowerShell script which gets specified profile properties for every user and writes them into a delimited file.

First up however, you need a list of the profile property names so you know what to select.  The following PowerShell script will display a table showing the internal name used by Sharepoint, and the property name displayed in the Sharepoint UI (Download Get-UserProfileConfigManager):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Outputs a list of User profile names - both the internal name, and the name displayed in Sharepoint
 
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.UserProfiles")
# Function:          Get-UserProfileConfigManager
# Description:       return a UserProfileConfigManager object which is used for management of MOSS User Profiles
# Parameters:        SSPName          Shared Service Provider Name    
 
Function global:Get-UserProfileConfigManager($SSPName)
{
$ServerContext = [Microsoft.Office.Server.ServerContext]::GetContext($SSPName);
new-object Microsoft.Office.Server.UserProfiles.UserProfileConfigmanager($servercontext)
}
 
$cm=Get-UserProfileConfigManager("SharedServices");
$cm.getProperties() | ft name,displayname

The output from this can be used to determine the names of the properties you want to use in the next script.  To use this script, update the  $arProperties list with the property names you need.  By default this saves the results to a file UserProfiles.csv in the directory from which you run the script.  You can then import this into Excel or whatever (Download Get-UserProfiles-To-CSV).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Outputs a delimited file with specified user profile properties for each user in Sharepoint
 
# Create array of desired properties
$arProperties = 'UserName','FirstName','LastName','Title','WorkEmail','WorkPhone','Manager','AlternateContact','RoleDescription','PictureURL';
# Specify output file
$outfile = 'UserProfiles.csv';
#Specify delimiter character (i.e. not one that might appear in your user profile data)
$delim = '^';
# Specify Shared Service Provider that contains the user profiles.
$SSP = "SharedServices";
 
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.UserProfiles")
 
# Function:          Get-UserProfiles
# Description:       return a UserProfileManager object containing all user profiles
# Parameters:        SSPName          SSPName
 
Function global:Get-UserProfiles($SSPName)
{
	$ServerContext = [Microsoft.Office.Server.ServerContext]::GetContext($SSPName);
	$UPManager = new-object Microsoft.Office.Server.UserProfiles.UserProfileManager($ServerContext);
	return $UPManager.GetEnumerator();
}
$profiles = Get-UserProfiles($SSP);
 
#Initialise Output file with headings
$header = [string]::join($delim,$arProperties);
Write-Output $header | Out-File $outfile
 
#Output the specified properties for each
$profiles | ForEach-Object {
	foreach($p in $arProperties){
		# Get the property name and add it to a new array, which will be used to construct the result string
		$arProfileProps += $_.Item($p);
	}
	$results = [string]::join($delim,$arProfileProps);
	# Get rid of any newlines that may be in there.
	$CleanResults = $results.Replace("`n",'');
	Write-Output $CleanResults
	Remove-Variable -Name arProfileProps
} | Out-File -Append $outfile

The next stage of development would be to pipe the output of the first script into the second, instead of setting up a list of desired properties – it is probably more useful to just grab everything.

I’m sure this could be written much more gracefully, but I can’t work out how to iterate through the UserProfile.Item array/object.  Any suggestions gratefully received!

Download Sharepoint User Profile PowerShell scripts here (zip file).

Notes on Windows Network Load Balancing

Categories: Sharepoint
Tags:
Comments: No Comments
Published on: June 29, 2010

Network Load Balancing simply round robins between servers, and makes sure that any client goes to the same host (called affinity) so that the client always reaches the same host in case it has a session on it.

As such, any problems with SharePoint related to performance will not have anything to do with NLB, as all it does is decide which host a client will send requests to.  Rather such problems would be down to one of the web front ends responding slowing – usually down to the application pool needing to free up memory, which should happen automatically after a while.  Where NLB confuses things is that you can’t easily tell which WFE a client machine is talking to.

If NLB is not working, the only likely symptom would be that no requests to the NLB IP address would work.  If you can ping your NLB IP address, then NLB is working.

You can check Network Load Balancing by going to Start > Administrative Tools and running Network Load Balancing (most likely you have this on your PC).  You need to connect to one of the nodes involved.  You can then see the status of the nodes. This should always be checked first in case one of the nodes has stopped responding on the NLB address).  You should also use this interface to drainstop a node before taking it offline for any reason – that way you get as graceful as possible a handover of affinities.

Update: It seems that in certain circumstances, NLB can come apart under load.  We recently switched from two high end Cisco core switches to two stacks of three Dell PowerConnect 6048 switches.  Since then NLB works, but as soon as we get moderate load coming to the NLB address, Sharepoint grinds to a halt.  Dell are chasing this, and we are promised a fix soon – until then no NLB – we can’t roll back to our Cisco switches.  Christian Aid isn’t such a huge organisation (~800 staff worldwide), but heavy users of Sharepoint for file storage – seems enough to break NLB.  I think it is something to do with the multicast hack Microsoft use to make NLB work – but I’d better wait to hear back from Dell and get it working before I can say for sure.

Dell Switches and VMware

Categories: InfoTech
Tags: ,
Comments: No Comments
Published on: April 14, 2010

We recently swapped out our Cisco 6500 core switch, replacing it with a much cheaper pair of Dell PowerConnect 6248 stacks.  One of the first issues that came up after the swap over was that VMware High Availability stopped working.  The error message was that each VMware host could not communicate with its isolation address.

By default VMware hosts ping their default gateway to determine whether or not they are isolated from the cluster.  However, if you are running a pair of Dell PowerConnect switches using VRRP for redundancy, the VRRP IP address is not pingable (I’m not sure why Dell set this up – this isn’t the case with Cisco’s HSRP equivalent).  So the solution to the problem was to nominate another device in the same subnet as the Service Console as an isolation address and force VMware to use this.  We nominated our monitoring server, as we attempt to keep this running 24/7.  You need to go to the Advanced Settings for VMware HA, and set das.isolationaddress to the IP of the device you will be pinging, and then create a new variable das.usedefaultisolationaddress and set that to false.  After doing this, disable HA, then once that has completed, reenable.

HA should work fine after that.

Cattle Troughed in Udaipur

Categories: Japes and Scrapes, Travel
Tags: No Tags
Comments: No Comments
Published on: March 1, 2010
What happens to you in the Holi festival. Unfortunately not my photo – I was too chicken shit to take my camera out.

Linda and spent a few months travelling around India in Spring 1993. We arrived in Udaipur around the time of the Holi festival.  We found ourselves a wonderful lodging in a small family run guesthouse.  The room had a large balcony overlooking a narrow street by the ghats, and photographs of colonial lion hunts on the wall.  The youngest son of the owners, a lad around eight, was fascinated by us, and eager to take us out for the celebrations.

Earlier in the day, Linda and I had ventured out by ourselves and been plastered with paint, powder and water.  Several times men had taken the daubing as an opportunity to grope Lin, and on one occaision I was felt up by a man whose face turned quite pale when he realised he was cupping a pair of testicles.  I did have long hair at the time, but I hadn’t considered myself that girlish.

After all this, Linda was in no mood for a repeat, so the kid and I headed out for the afternoon without her.  We worked our way through the masses, more paint and water making its way onto us.  My guide planned to take me to his uncle’s house where a private celebration was taking place.  We headed out of the teeming centre into quieter streets.

As the streets grew deserted we encountered a group of very excited youths who approached us with much mirth and handfuls of colourful powder which they rubbed into my hair.  They were  a mix of children and teens, numbering about 30, and as they smeared they encircled us.  The crowd started to feel more like a mob, and a more focussed one than the chaos of the ghats.  My young guide was squeezed out the edge, but I was very much trapped at the centre.  Hands grabbed at my arms, then suddenly I was taken by the ankles too, and thrust up into the air over the crowd.  I shouted and struggled, and my guide screamed and begged them to put me down.

As if of one mind, they worked their way down the street, still holding me aloft.  I then spotted their destination – a large water trough used for watering cattle.  I squirmed and writhed with a greater urgency, punching and kicking.  My body was heaved up and down by the multitude of small and larger hands.  Laughter grew as they neared the trough, and the embarrassing yet classic image of being dumped in it played through my head.  Somehow, with a yank of hair here  and kick to the head there I managed to free myself, and struggle to the ground.

A friendly hand now gripped my arm, and my guide towed me down an alley way towards his uncle’s house.  We pushed through a gate and slammed it shut.  Looking through a crack I could see the mob behind, screaming and shouting with some anger now, frustrated that their little joke had broken down at the last minute.  In my memory they look like a Bollywood crowd of thugs, the ring leaders wearing colourful bandannas, about to break out into shrill song and fantastic choreography.  The voice of someone older rang out over the wall in Hindi.  I was tugged into the house.

Inside I was again encircled by people who wanted to rub my hair.  This time it was women, all of whom were fascinated by my long hair.  I brush was produced and the paint and powder was combed away.  I was pampered with curious looks and indian festival foods, extremely pleasant, until I started to feel desperately uncomfortable with being the centre of attention, albeit in a less physically dangerous way.  I told the kid I should be getting back to Linda.  We made our thankful goodbyes, and took a quick look over the gate before stepping out.  Around a couple of corners the mob was waiting for us after their musical number – back to the story.

This was getting tiresome for me, and also a little terrifying.  The demographic of the gang seemed to have drifted up the age and size scale – I’d escaped the cattle trough, but possibly worse was now on the agenda.  Again the kid pleaded them to go away.  I saw the need to be more persuasive and picked up a large chunk of concrete, raised it above my head, and gave a shriek I hoped demonstrated a willingness to cave in a skull.  They kept their distance, but followed as we backed away.  As we neared the still densely crowded street, I threw the concrete down at their feet and we dashed in to the melee.

When we reached the hotel, the kid, Linda and I took revenge on the people from Udaipur by tipping bucket loads of water over every man who passed beneath our balcony for the rest of the afternoon.

Honest John’s Dog

Categories: Japes and Scrapes
Tags: No Tags
Comments: 1 Comment
Published on: January 24, 2010

Konyagi LabelThe search for Konyagi - Tanzania’s national spirit, an oily cane spirit, somewhere between gin, vodka and rum – with it’s logo of a triumphant athlete, sent me out into the Kilimanjaro darkness on a quest.  We had run out of booze and I’d volunteered to go and replenish our stocks.

We were six 18 year olds, who had just finished school, and had decided to fill a summer before starting university with a few months in Tanzania, back at Uru where some of us had visited two years before.  We lived together in a lovely old coffee estate house that had been renovated by some teachers from our school and the people of Uru, to house exchange students visiting from Cumbria.

Starting with the nearest shacks we hunted for any kind of booze, but with no luck we had to look further afield.  Normally we stuck pretty close to the house, or in the direction of Kilimanjaro’s summit, but that night we found ourselves heading downhill, out of our normal comfort zone.  It was late by Tanzanian standards, and store after store was closed.  By store I mean a hastily constructed wooden shack, roughly the size of an outhouse, with a small window through which to buy Sportsman cigarettes, Blue Omo washing powder, Lux soap bars, toffeed popcorn, or peanuts in a bag sealed shut over a candle.

Down we went, following the muddy track, stepping over steep puddle filled canyons, building up a platform sole of mud on our shoes.  The road curved around eventually to follow the contours of the mountain, and we came to a collection of houses lit with fluorescent beams and centred around what looked like a shop.  I wandered into the compound, and was quickly startled by a large barking sound and a small furry figure hurtling towards me from one of the houses.  It crashed into my right knee, hitting the top of my calf with bared teeth.  I screamed in terror, and more lights started to come on outside the houses.  Out of a dark doorway came a figure wearing a captain’s hat.  He smiled broadly, and asked me what I was doing there.

“Well, I was looking for Konyagi, but your dog just bit me”.

“I have Konyagi in my shop, but it is closed.  I’ll get my keys”.

Moments later he invited me into his shop, and lit it with an electric light.

“My name is Honest John Kilayo” he said, and proceeded to tell me about his family, his shop, his friends, and showed me many photographs, as a Chagga is wont to do, even when woken late at night.  In the photographs was a friend who I recognised as being from a previous exchange visit, four years ago, perhaps when Honest John had been at school.

He opened beers for us and himself, and we talked while we drank.  I paid for a bottle of Konyagi, and reminded him that his dog had bitten me.

“Come back any time” he said.  He turned the page of his photo collection to show a scene of him standing proudly in his shop, immaculately stacked with goods, holding a beer in an outstreched hand, the captain’s hat on his head.  ”The day I opened the shop”.  He turned the page.  The next picture showed him lying on the floor surrounded by empty beer bottles and the contents of the shop strewn all around.  ”We had a party when we opened” he told me.  ”My father is going to let me manage his other shop in Moshi after this one.”  More beer came, and we drank it, then, mission fulfilled, it was time to leave.

That night, as we staggered back up the muddle track, the realisation that I had been bitten by a dog in Africa started to settle in the foreground of my thoughts.  I had been reading avidly a book of tropical diseases, and knew about the risks of Rabies.  I started to sweat as I dwelt on it more.  Back at the house I tore my trousers off to check the wound.  There was no visible damage, but I could still feel the pinch of the dogs teeth. The more I thought of it, the more it tingled.  Since the tropical diseases book said so, I scrubbed the site of the bite with a soapy nail brush.  The seeds of a terrible fear that would later plague me were sown, but at least we had something to mix with our tonic water that night.

The Vice Prime Minister’s Car

Tags: No Tags
Comments: No Comments
Published on: January 18, 2010

I was starting to panic, so I opened the car door and stepped out. As conspicuously as possible I walked over towards the traffic.  A few soldiers were stepping down from the back of the truck that had pulled up in front of us.  I thought they were glancing over at me and the Tanzanian Vice Prime Minister’s car, with bored and twitchy fingers eager to test the recoil of the Kalashnikovs slung over their shoulders.

My friend Andrew, teacher Pam and headmaster Roger were still in the car.  I wasn’t thinking much about them.  I was focussed on making myself visible to passing traffic.  That felt to me something that might reduce the chances of something bad happening.

We were all in Dar es Salaam to pick up a Land Rover.  Back in Cumbria we had organised concerts, ran half marathons and gathered sponsorship to buy this Land Rover, put it in a container and ship it to Tanzania.  It was to be donated to Uru Secondary School, a school high on the slopes of Kilimanjaro, with which my school had a recently established link.  We were visiting the school for a month.  Andrew and I had volunteered to join the Land Rover collecting party on its trip to Dar es Salaam.  As well as Andrew, myself and the two teachers, there was Macha, the head of the board of Governors of Uru School, and McDonald Lemge , a pale skinned African with scottish roots – the chair of the local council in Moshi.

We’d set off at dawn from Uru in Lemge’s Land Rover, bumping down the most corrugated road I’d ever experienced – there seemed to be more hole than tarmac.  The narrow back seat I had eagerly claimed had turned out the least comfortable, with luggage and myself sliding around and flung into the air with each major bump.  I hid behind my walkman, and watched the alien landscape of mountains and plains roll past. After about 18 hours of driving, we started to hit traffic and better roads, and knew we were in Dar es Salaam.

The next day we recovered from the long drive, sunning ourselves on Oyster Bay beach. While the four wazungu chilled out, Macha and Lemge were busy making the most of the situation, and through contacts organised for us all to have dinner that evening with Mrema, the Vice Prime Minister of Tanzania.

In 1991, school exchanges between the UK and Africa were less common than today. Our presence had captured the attention of many people – we’d been dining as minor VIPs for much of the trip so far, although that often meant dining on blood soup and getting the finer cuts of meat such as heart, which wasn’t quite how we imagined VIPs were treated in the UK. To be invited to have dinner with one of the leading politicians in the country seemed a step up.

That evening we climbed back into Lemge’s Land Rover, and headed back out towards Oyster Bay to Mrema’s house, flood lit by fluorescent tubes and fenced off with metal gates and concrete walls topped with broken glass.

Mrema
Mrema

Mrema welcomed us into his home, much like that of other well to do Tanzanians. Family portraits glowered down on us. A child played with a remote control monster truck, then was quickly ushered away to bed. Mrema sat us down in his living room around a long coffee table. He sat at one end, and at the other was a large television which he barely looked away from during the audience. On the screen played a long series of trailers for Bollywood movies. I became accustomed to the plots. Boy meets girl. Boy and girl dance around trees in a forest, miming to shrill music. Girl is kidnapped by bald moustached villain in a hot air balloon. In seeking girl, boy participates in a number of elaborate dance routines in neon lit night clubs with a multitude of well choreographed extras. Boy find villain and takes extraordinarily violent revenge. Girl is rescued and dances with boy into the sunset accompanied by an even vaster dancing crowd.

Whilst engrossed in the series of vignettes, Roger and Pam were making small talk with Mrema about the purpose and values of the link. I got the feeling that, like me, the video was more interesting than this. Macha and Lemge had more pertinent matters to discuss – I later learnt they took the opportunity to stick the knife into some competitors back in Moshi.

Food was brought to the table – many plates of greens, ugale, meat stews, beans and stewed bananas. Towards the end of the feast, Marema introduced us to the servant who had been dishing this out – “This is my wife”.

The evening wound up. Mrema was probably ready to the move from the trailers to the main feature. Macha and Lemge had somehow already left in Lemge’s Land Rover leaving us with no vehicle. “My drive will take you back to your hotel”

Which is how we ended up in the Vice Prime Minister of Tanzania’s car.

As we drove back towards the centre of town, through the upper middle class suburbs, we reflected on the evening. None of us had been terribly impressed. I don’t know what we should have expected, but the nameless introduction to Mrema’s wife, the videos, and the conversation that had gone well over my 16 year old head had left us all with varying levels of culture shock, and we chit chatted on all aspects of our disappointment.

And suddenly, the drive pulled over, and said in perfect English “I’ll just be a moment” and jumped out of the car and ran into the darkness. Moments later, a large truck pulled up in front, The back of the truck was lined with soldiers, each with a large rifle slung over a shoulder. Roger said “I didn’t think he spoke English” and we all quickly regretted our idle talk. My imagination accelerated.

We are in the Vice Prime Minister’s car. Despite just possibly insulting him in front of his driver, those soldiers weren’t going to punish us. But why were they there? A coup in the night. Mistake identity. At this point I jumped out of the car myself, and made back towards the main road where traffic whizzed past. Andrew looked out at me incredulously. Roger looked green. Pam looked embarrassed. My heart thumped in my chest. I looked to the faces in the passing cars – please remember you saw me.

A few moments later, the driver returned and got back in. I sauntered back, and got in. “What were you doing?” someone asked. “I needed to get some air.”

Thinking back, we had stopped at a checkpoint, of which there were many at the time. The Vice Prime Minister’s car couldn’t just breeze through unannounced. The driver was just letting the check point know what was going on. But in my mind it had been a close call with accidental assassination, and on returning to Uru I regailed my companions with the story.

The experience spoiled me for the whole VIP experience, and a week or so later, I turned down the opportunity to have dinner with Julius Nyerere, preferring to build a barbecue pit – something I regret to this day.

A couple of weeks later, the Land Rover arrived at Uru Secondary School.  It was symbolically delivered by Mrema.  Whilst videoing this event, I had to jump out of the way as Mrema drove into the school yard to a thousand applauding Chagga.

Japes and Scrapes

Tags: No Tags
Comments: No Comments
Published on: January 18, 2010

Settling down to type it all upRight at the start of my job at Christian Aid, I spent three days doing security training. Much of this focussed on first aid, but a substantial portion was on how to get yourself out of this or that scrape. This got me thinking about the various scrapes I’d managed to get out of without any training. I started making a list and decided to blog as many as I could, just for the hell of it. Probably I’ll enjoy reminiscing and writing about these more than anyone will read them.

It will also give me an excuse to pour over old photographs, and maybe I’ll get round to buying a scanner, and getting some of the really old ones up.

And maybe, just maybe, I’ll improve my writing.

A beautiful moment recalled

Tags: No Tags
Comments: No Comments
Published on: July 27, 2009

The rain just woke me, and after closing  the window I was awake enough to start thinking, and a chain of thought lead me to a memory of one of those moments that stands out as beautiful in one’s life.

I stood on the edge of a cliff carved out of sandstone by the Gelt river just above Talkin Tarn.   I’d gone up there with a group of friends.  We were looking down  at a pool and a waterfall, discussing  whether it was safe to jump off, and something crazy took me – a rush of adrenaline as the decision immediately became action and I ran right  over the edge.  I felt my body accelerate, heard the air rush past my ears, before the sudden bite of the cold water, and the roar of hitting the water.  My feet hit the bottom of the pool, the elation briefly turning to fear that I’d made a foul error, then my kick bringing me up through the murky water to the surface dappled with shadow and light, the sun shining through the leafy trees above.

I looked up to see my friends haloed by the sun high up above, then someone else dropping down through the air, and a sudden pop as they hit the water.  Linda surged up and threw her wet hair back, washing it out of her face with her hands, looking back up at the cliff as I had just done.  At that precise moment,  my friendship turned to love – I’d never seen anything quite so beautiful as this moment – Linda rising up out of the water into the sunshine, a waterfall behind her, my skin tingling from the icy cold water, the taste of adrenaline and fear fading in my mouth.

The  perfect moment passed, as the other friends, Amy and Adam, also leapt down, and we spent a precious hour or so swimming and jumping from the waterfall, before driving back to school.

When I thought of that just now before getting up to write it down, the moment sat aside from all that surrounded it, isolated from the anxieties of being 17 years old, from the mistakes and inaction that never let me share how I felt with Linda.  Of course these thoughts brought themselves to the surface, along with the hindsight of how foolish it had been to jump off a cliff.  But those things don’t matter just now as much as that beautiful moment recalled.

«page 2 of 69»
Latest Tweet

dunxd: Melon time

(Updated 16 days, 20 hours, 54 minutes ago)

Photos
Duncan Drury's photo Duncan Drury's photo Duncan Drury's photo Duncan Drury's photo
Follow Me
DeliciousFacebookLinkedInTwitterYoutube
 
May 2013
M T W T F S S
« Jan    
 12345
6789101112
13141516171819
20212223242526
2728293031