Sunday 20 October 2013

Obduction Kickstarter

I've just pledged to the Cyan Obduction Kickstarter at the $265 level :-)

Go do the same at http://kck.st/16d8IRE/

Sunday 15 September 2013

Tokyo Autumn 2013

2013/09/15 - Sunday - Travel delayed due to Many Yi...

The Japanese customer is keen for more, so off to Tokyo again!
Narrowly missing tropical storm "Man Yi", I'm now scheduled to arrive 6 hours late (due to weather) at Narita sometime on Monday.

A very big "thank you" to my Dad for calling this morning to warn about the delayed flight - I was able to spend the day with Beck and the girls instead of sulking at Heathrow Terminal 3.  We went shopping for football boots for Amy - she's looking a proper football star in her Sheffield Wednesday kit!  Then home for a marathon 2-hour Harry Potter read - it's getting very exciting - Harry is the new Defence Against the Dark Arts teacher :-)  The girls will have to wait 2 weeks for the next episode...

More to follow...

__________________________________________
2013/09/15 - Sunday - Travel

__________________________________________
2013/09/16 - Monday

__________________________________________
2013/09/17 - Tuesday

__________________________________________
2013/09/18 - Wednesday

__________________________________________
2013/09/19 - Thursday

__________________________________________
2013/09/20 - Friday

__________________________________________
2013/09/21 - Saturday

__________________________________________
2013/09/22 - Sunday

__________________________________________
2013/09/23 - Monday

__________________________________________
2013/09/24 - Tuesday

__________________________________________
2013/09/25 - Wednesday

__________________________________________
2013/09/26 - Thursday

__________________________________________
2013/09/27 - Friday - Travel

Friday 9 August 2013

Song for Resharper

Song for Resharper

I love you to the bottom, of each default case
I love you in the code,
I write and run

Love you because,
you put var in its rightful place
And I love the monthly pay cheques, that you bring

Cheap, (semi-cheap)
I'll write the code the users seek
When the tick's gone green I'll weep
And build it all down

Now surely, the debugger, is proving, me sane
I wrote so many lines without you
I'm so glad you came (I'm so glad you came)
Alt-Enter, Inspection, Refactor, Tools, Ctrl-R-R, CamelHumps, too
I'm so glad you came
Alt-Enter, Inspection, Refactor, Tools, Ctrl-R-R, CamelHumps, too
I'm so glad you came

I love you to the bottom of each default case
I love the way you always ask me why
I hate to code without each wrinkle on your face
And I love you 'til my TODO list runs dry

Deep so deep,
these days that is how I sleep
Depends upon the bugs you reap,
so cry, tester cry, cry, cry, cry

The catches - so obsolete. Much prettier code too
You saved me so much money,
I wrote this code with you
Alt-Enter, Inspection, Refactor, Tools, Ctrl-R-R, CamelHumps, too
I wrote this code with you
Alt-Enter, Inspection, Refactor, Tools, Ctrl-R-R, CamelHumps, too
I wrote this code with you

(c) David Bond 2013

Thursday 11 July 2013

Littlewick Green local exchange enabled for Superfast Fibre Broadband

Littlewick Green local exchange (near Maidenhead, UK) has been enabled for Superfast / Fibre / FTTC Broadband!

Yaaaaaaaaaaaaaaaaaaaaay!

Details available at Sam Knows.

The availability seems to depend on whether they have got round to upgrading your local cabinet yet.  You can check whether your line is enabled at http://www.zen.co.uk/business/broadband/business-broadband/speed-checker.aspx

My favourite ISP is Zen and I've gone for their Fibre Pro package (200GB monthly, up to 76Mbps downlink [likely 48Mbps], up to 19Mbps uplink [likely 10Mbps]).  See http://www.zen.co.uk/business/broadband/fibre-optic-broadband.aspx for details.

Any ISP should be able to offer you some sort of FTTC service - call yours now!

I also have an LLU line with O2, though it's not clear whether they're offering FTTC yet.  I will probably keep that one as a backup, though I may just ditch it.

---
The results are in!


Saturday 1 June 2013

Alice in Wonderland

Alice in Wonderland

Introduction

In 1986, Barming C.P. School's "4th Year" play was Alice in Wonderland.  I am attempting to document what I can of this.  Mrs. Grice, the director, has kindly provided an audio tape of the backing tracks and a copy of the video.  I have my original song sheet and have transcribed the words.

Please help by posting more information about the cast, and let me know if you have further pictures etc.

David


Behind the scenes

Director:Mrs. Jean Grice
Stage Manager:Maria Jefferis
Lighting:David Wells

Cast

(alphabetical by character name):

Alice:Kate Jaggers
Alice's sister:Lindsey Reid-Marr
Alice grown up:Maria Jefferis
Caterpillar:Alan Langworthy
Card 1:Christopher Ely
Card 2:Rachel Carter
Card 3:Mark Edwards
Cheshire Cat:Susan Mills
Cook:Katherine Perry
Dormouse:Judith Virjee
Duchess:Claire Thompson
Executioner:Matthew Bartlett
Fish footman:Lindsey Reid-Marr
Frog footman:Catherine Finnis
Gryphon:Nicholas Haley
King of Hearts:David Bond
Knave of Hearts:Daniel Smith
Mad Hatter:Robert Peerless
March Hare:Neil Hamblin
Mock Turtle:David Wells
Narrator (Mole):Peter Deppe
Pat the Gardener:Robert Cowell
Queen of Hearts:Margaret Earl
White Rabbit:Karen Boyce
Warder 1:James Golding
Warder 2:Ian Pearce
Warder 3:Natasha Sheikh
Warder 4:Lynsey McCormick
Animals, Jury, Courtiers etc:Sarah Oakley, Caroline Franks, Alyson Burton, Calre Brownson, Stuart Mace, Sarah Longhurst, Robert Cowell, Christopher Ely, Karen Hooper, Rachel Carter, Emma Reevis, Catherine Finnis, Daniel Neeves, Natasha Sheikh, Lynsey McCormick

Music

Music and lyrics by Mike Smith


Song sheet



Lyrics


It's late, it's late

It's late, it's late,
The Queen will never wait,
For wasting time she thinks a crime,
I'll meet a shocking fate.

My head, my head,
The Queen will have my head,
Unless I race to reach my place, 
The Queen will have my head,

Rush on, rush on,
The time is getting on,
I'll bound and hop and never stop,
Until the danger's gone.

It's late, it's late,
The Queen will never wait,
For wasting time she thinks a crime,
I'll meet a shocking fate.


Who are you, miss?

I really think it's rather strange,
To meet a talking rabbit,
Who wears white gloves upon his paws,
A most peculiar habit
But here inside the rabbit's house,
The walls close in on me,
Six times my normal size I've grown,
It really does astound me.

The cakes, the cakes, my only chance,
To eat them I must try,
I'm shrinking fast, oh now at last,
This little girl will fly.

I ran and ran into the wood,
And nestled 'neath some flowers,
Oh dear, now I just want to grow,
The grass around me towers.

I stretched up high upon tip-toe and reached up from the ground,
A caterpillar, large and blue,
Astride a mushroom found.
Surrounded there in smokey haze,
He took no slightest note,
Until at last from sleepy gaze,
He asked me, who are you, Miss,
He asked me, who are you, Miss.


Which side now

Please help me sir for I'm afraid,
I can't to you explain,
Why I from inches high grow tall,
And then shrink back again.

So strange my dear, but tell me this,
What size you wish to be,
The answer really I can tell,
Is here right under me.

One side will make you shorter,
One side will make you tall,
One side of what please tell me sir,
I'm tired of being so small.

The mushroom ma'am, the mushroom,
Just nibble it and see,
For up or down choose left or right,
It's plain as plain can be.


We're mad down here

We're mad down here, oh yes we are,
Some things we can't deny,
It's not the same up top I've heard,
For there you have to try,
To get things right or left or up or down or in or out,
But us down here, oh yes.

They're all mad as Hatters, yes, they're totally insane,
It helps you see if they're to play the game,
Oh yes they're all mad as Hatters, yes they're totally insane,
They have to be, you see, to play the game.

The Duchess she's quite crazy, for
As anyone can hear
The babe she cradles in her arms,
A pig it is I fear.
That cook, that cook, that crazy cook,
She hurls her pans around our heads with glee, and yes,

They're all mad as Hatters, yes, they're totally ..........

Now look at me, I am insane,
I'll prove it to you now.
For when I'm mad my tail I wag,
And when I'm pleased I growl.
For up down here is down up there and right is wrong or left,
Do you believe, that yes,

They're all mad as Hatters, yes, they're totally ..........

The Queen of Hearts is quite beyond,
For nearly every day,
Off with their heads, she screams, if
Anyone gets in her way.
The King, poor man, he follows whilst the Knave and gardeners
For their lives do pray, oh yes,

They're all mad as Hatters, yes, they're totally insane ...


Tea for three

Seeing's believing, or so people tell me,
The Hare and the Hatter, are seated for tea,
A Dormouse between them, asleep, or just resting,
I'll join them, I'm hungry, there's room here for me.

Tea for three, and three for tea,
No room for four, no room,
Not four for tea, just room for three,
No room for four, no room.

I say what I mean, I mean what I say,
What day of the month does your watch say?
That butter's made it two days wrong,
Has Time stood still, where has it gone?

Time for tea, it's half past three,
Or is it four past noon?
Come pour the tea, but just for three,
For four there is no room.

More tea my dear? please have some more,
I can't have more, I've not had any,
I think you mean, not less my dear,
Oh now the cups are empty.

Round and round let's move along,
For then we'll have some tea,
Let's all move on, one place move on,
It's logical you see.

When drawing in a treacle well,
The rules, the rules, are quite amazing,
For with an M thing have to start,
It really is confusing.

Why with an M? why not indeed,
To leave here would be kind,
Her magic mushroom may well mend,
Her madly muddled mind,


All in a line

All in a line, we're doing fine,
Pretty flamingoes all swinging in time,
Beautiful day, it's going my way,
The hedgehogs are rolling all our cares away.

We all must play, I hear her say,
Chaotic confusion's the rule if the day,
Off with his head, living in dread,
The axe it is gleaming, the gardeners have fled.

Croquet, you see, is hardly for me,
My own pink flamingo has flown up a tree,
We must join in, the Queen though must win,
To beat her at croquet is surely a sin.

Try as we may, we cannot now play,
Flamingoes and hedgehogs are running away,
Oh where have they gone, that didn't last long,
So we'll leave you humming the tune of this song.

La, la, lala, la, la, lala, ..........


Reeling writhing

My story I'll relate to you, though you may find confusing,
About my days in school I'll tell, but please, no interrupting,
A turtle was our teacher there, we knew of him as tortoise,
The reason it can only be, because of things he taught us.

For Reeling, Writhing were the first,
And them came some Ambition,
All part of learning 'rithmatic,
Distraction and Derision.

And then there was the Mystery, both ancient, and yes, modern,
That taught us turtles in the sea, of things we'd quite forgotten,
An eel, he taught us how to drawl, and stretch and faint in coils,
A crab, he taught, Laughter and Grief, my how he made us toil.

For Reeling, Writhing, .........

The lessons were so called because, they gradually shortened,
From ten, to nine, to eight and down, the hours we worked they lessened,
A holiday, eleven days on? now that's a fair deduction,
And on the twelfth? that's quite enough, I said, no interruption.

For Reeling, Writhing, .........


Silence in court

Silence in Court
Silence in Court
Be upstanding, for the King and Queen of Hearts,
In the trial of the Knave who stole the tarts,
Silence in Court

Consider your verdict, said the King to the Jury,
Not yet, said the Rabbit, there's much more to see,
First witness, first witness, the Hatter came running,
With fresh bread and butter and drinking some tea.

You ought to have finished your party you Hatter,
You've had many days now, when did you take tea,
Three dates he did offer, the Jury took notice,
Two shillings and sixpence the verdict must be,

Call Alice, call Alice, repeated the Rabbit,
Her name it did echo around and around,
In getting up quickly, the Jury she'd toppled,
Live goldfish lay scattered about on the ground,

Oh I beg your pardon, oh do please allow me
To help you all back to your places again,
Eleven reassembled without much commotion,
The Lizard, head downwards was struggling in vain,

So come now young Alice, please tell us your story,
You say you know nothing, no, nothing at all,
Important take note now, important I tell you,
Why that makes her guilty, the axe it must fall.

Silence in Court
Silence in Court
Unimportant, is surely what you mean,
Ah, quite so Mr Rabbit, tell the Queen,
Silence in Court

The King he cried, Silence, and read from his rulebook,
All persons a mile high, please leave the Court,
A mile high? who me sir? why no sir, I'm staying,
The Queen said, two miles high! the poor King was fraught,

Move evidence!! surely we've had quite enough now,
For evidence merely confuses the truth,
He's guilty, the Queen shouts, the Rabbit quite quickly
Read through the non-sensical verses of proof.

You see, said the King, they have not one meaning,
That saves us the trouble of trying to find
The truth of the matter, for which we are searching,
There is none, that's final, I've made up my mind.

So now that I've cleverly solved that small problem,
Come Jury, consider your verdict, be clear,
No verdict, just sentence, the Queen interrupted,
That's nonsense, said Alice, you're all mad down here.

You're all mad, do you hear me, you're crazy, I tell you,
No verdict, just sentence? that is what I said,
Her head off!! yes quickly, she surely is guilty,
They're crazy, they must be, they'll not have my head,

Silence in Court
Silence in Court
She is guilty, surely guilty, we all say,
Get the axe cut her head off no delay
Silence in Court

Who cares for you?
You're nothing!!!
Nothing but a pack of cards!!!


Leave room for dreams

When as a child this world I left,
To lands beyond my mind,
Such joy, such freedom, found each day,
That now a mother how I pray,
These worlds and more, my child will see,
For dreams, showed more than hope,
I found within, new worlds,
New worlds of fantasy,

Leave room, leave room for dreams to play,
Find time, my child, to seek,
Leave room, leave room for dreams to find,
New worlds of fantasy.

As I grew up to greet the world,
It had no time for dreams,
No joy or freedom could I find,
To match the worlds within my mind,
Awake once more, inside of me,
Imagination found
The means to let me see,
My worlds of fantasy.

Leave room, leave room ..........

I hope the day will never come,
When truth, is all we seek,
For joy and freedom you will find,
When life and dreams, the two you bind,
Through my child's eyes a truth I see,
Reflected in her dreams,
Please life, do not destroy,
Her worlds of fantasy.

Leave room, leave room ..........



Monday 6 May 2013

Tokyo Spring 2013

2013/05/07 - Breakfast

So I'm travelling for business to Tokyo, Japan for two weeks.

Flight was Virgin Atlantic - paid an extra GBP30 for the legroom upgrade.

I got here and was told that my room was not open for two hours, so I went for a nap in a local park like a tramp. Full of families enjoying the flower festival (too late for the blossom, unfortunately). Walked barefoot in the fountain with the kids, laptop case in hand, much to the amusement of the locals.









I bought Sushi from a local fishmonger - different from UK sushi, but very nice. What wasn't nice was the "not apple juice" that I bought to wash it down - I think it was bamboo juice - yick. Wrote Haikus. Read a book.

Communications are tricky. Everything is via sign language so far :-) Sign language for "Yes, I can see that you have a room key, but you must get a breakfast ticket from reception every morning and place it in this basket. I have called reception and they have charged your room this time, but please get a ticket tomorrow." is possible, but involved.

Eating a fully English breakfast with chopsticks is also possible, as it turns out.

______________________________________________________________________________
2013/05/08 - Second day in the office

First experience of the Tokyo metro today - actually a very pleasant experience.  Buying a proximity-based card for the Metro was a bit tricky - it's not clear that you have to use a PINK terminal, not a blue terminal for that.  Once done, though, the tube was efficient, packed, but fast.  Two stops down and I'm 300 yards from the office.

Here's one stroke of genius from the Japanese for you Boris...  Instead of having noisy gates slamming open and closed the whole time to grant access to the Metro, they have gates that are permanently open, only closing if you don't place your pass down.  Less noisy, faster and psychologically far less stressful than the London tube.

I got to the office and in true karōshi style worked from 9am to 8pm before going home in time for meetings between 9:30pm and 1am.  Awesome!  But wouldn't want to do that every day for even two weeks.  Ah, wait.

Today? More of the same.

______________________________________________________________________________
2013/05/09 - Third day at the office

Wow, they work some long hours here!   Good progress being made on the project and here's the view from the office...



In there evening, went for an Indian - very nice.  Saw an arcade, so played some Pachinko (only 100 Yen's worth) and watched a man do this...


______________________________________________________________________________
2013/05/10 - Fourth day at the office

More of the same - very, very tired now...  Time for some Zeds...

______________________________________________________________________________
2013/05/11 - Sleepy day

Woke up at midday and decided that I was too exhausted to go on the planned tour of Tokyo today.  Will try again tomorrow...

______________________________________________________________________________
2013/05/12 - Tokyo!

So today's the grand tour...  Got on the train - much better now it's the weekend there are no men shoving me into the carriage!

Took the blue line to the centre of Tokyo, then used my feet for the rest of the day..  I got off one stop before the central station, so didn't see the inside, but the outside is very smart...

Tokyo central train station
I didn't get invited inside the Imperial Palace, but the gardens just outside are great to wander around.

Gardens near the Imperial Palace
It's a stark contrast to the high-rise city behind.

Backdrop of high-rise buildings
The Imperial Palace is surrounded by a moat.

Outer walls of the Eastern Garden to the Imperial Palace
Cheeky the monkey always travels with me when I'm away from home.  Here he is in front of the palace.

Cheeky came along to see the sights!
More greenery, looking like bonsai in front of the enormous building behind.

Beautiful greens in front of gleaming buildings
Even the moat supports a good deal of chlorophyll.

The bridge leading to the Imperial Palace
Wandering south, I stumbled upon Hibiya Park.

Hibiya Park

Hibiya Park steps up a small hill

View from the top of the hill in Hibiya Park
...and the Japan Tree Climbing Championships!

The Japan Tree Climbing Championships
The national champion
Further south through some dark and rather seedy alleys and you arrive at the Shiodome area with all its gleaming glass and steel.

Tokyo Media Building
Beyond which, Hamarikyu Gardens

Hamarikyu Gardens

Hamarikyu Park Tea House

A heron in Hamarikyu Gardens

Which way to go???
They used to hunt ducks here.  It's somewhat involved...

How to hunt ducks...

Hamarikyu Shrine
A brilliant drainpipe I found...

It's... a drainpipe!

Flowers in the gardens

More from the gardens...
OK, so this is a slightly photochopped picture, but MOST of it comes from a single photo.  An exercise to the reader then - where did I take this picture?

Suddenly... OH NOES!




Wednesday 24 April 2013

Shrew Soft VPN Client 2.2.0 Released!

Huge props and thanks to Shrew soft for all the hard work that has gone into the new VPN Client release!  Loads of good stuff in there...

More information at https://www.shrew.net/ .

Thursday 7 March 2013

BBC News can predict the future!

The BBC News department are nothing more than a government mouthpiece and it sucks HARD.

In this ridiculous piece, the UK prime minister "is expected to say" a lot of things with remarkable precision.

In other words, the BBC have been given his speech in advance. This is not news, this is the BBC being told what to say. This is not journalism, it's propaganda and the BBC should be ashamed.

My feedback to them:

"
Wow! You can predict the future! All these things that David Cameron "is expected to say" today! And with what precision!

Seriously BBC News PLEASE stop printing what the government tells you to print. It's not journalism, it's laziness at best and propaganda at worst.

How about taking a stance and only printing things that HAVE ACTUALLY HAPPENED?
"

Saturday 2 March 2013

Snowboarding 2013

2013/03/02

So it's March and that means the annual snowboarding holiday! Woohoo! This year, it Mark Goldring and me - hitting the slopes on a last minute holiday with Crystal in Meribel Monterrat.

Flight from Luton with Easyjet to Grenoble. An early start (3:45) but a short, clear drive to the airport and Luton is a nice little airport. Mid-term car park is easy to get to and only a few quid more than the long term.

Easyjet was a nice flight - loads of legroom and the aircon being a little warm helped me sleep for an hour of a 1:30 flight.

Grenoble airport is just a series of sheds. We were left waiting around outside for ages while they found someone to inspect our passports, but no biggie... Luggage was there waiting for us on the belt.

So, expecting data roaming to still be stupid pricing, I had mine switched off. When I switched out of flight mode, though, O2 SMSed me to say that on the "Travel" plan, data (up to 25Mb / day) is only £2. Yeah - I can cope with that. So data roaming is now switched on - much better!

The Meribel iPhone app shows clear, blue skies on the webcams... All aboard the coach for a short 1.5 hour transfer.

€260 for a 6 day lift pass o_O and hire on top of that..

--
Check-in took 3 hours! Accommodation basic at best, but alcohol and pizza inside so time for bed.
_______
2013/03/03

Hire shop yields "girly" white boots, awesome board (regular setup) and hert.

Step off doorstep: SNOW!

First run and lift:





--
10:30

Woohoo! The Meribel iPhone app has a GPS speedometer/altimeter!

NEW HIGH SCORE: 51kph :-)

Great Scott!

--
12:30 Utterly awesome - completely empty! Have been off-piste down into St. Martin and then all over the St Martin slopes :-)





Off to meet Mark for lunch...


____
2013/03/04

Epic night out last night - we crashed the Skiworld pub crawl and .. well dancing like a loon by the end so who could ask for more.

Eventually woke up and Cheeky and I are on the lift going to the top - weather's still hot and the snow is lovely. Going to try the Meribel app for today - see if the battery lasts...









--
1:30

Meribel app is great - no real difference in battery life and tracks your every move - NEW HIGHSCORE - 56kph!

There is a lift right outside the apartments that I didn't try yesterday that (via a short run down) takes you up to the very to where Area 43 is the biggest funpark I've ever seen. There's an "experts only" halfpipe, loads of jumps and rails and an airbag. Cheeky and I bought a ticket to do five ENORMOUS jumps onto the airbag and a photographer got a load of pictures of us flying through the air :-)

The snow is just perfect up that side of the mountain, but it will go into shade soon so I'm going to the west-facing slopes this afternoon.

I forgot how much more fun the long, fast greens are - more of that this afternoon!

______
2013/03/04

Aaaand - the photos are in! Check them out here: BigActionPhoto.com. You can't miss me... I'm the one with the monkey strapped to my head!

______
2013/03/05

11:30 Everything's shut!

Strong wind means that most of the lifts are shut :-(. The queues in Meribel are very, very long!

(Picture coming)

So the zen kicks in and the soundtrack of choice becomes the whole Hitchhikers Guide from start to finish :-)

13:15 - last run before lunch

The wind has died down and THHGTTG is my favourite!

The wind has blown snow onto the pistes meaning that they're much easier and more comfortable. Lots of long runs later, I'm skiing on high art.

NEW HIGHSCORE - 79kph! OK - that was scary... Not going to try anymore...

_________
2013/03/06

Lots of pinball for €4 then back to a scuba diving group's chalet for a game of "boarder or skiier". Very late nights among a very late start today. Lots of runs got in though!

____
2013/03/07

More pinball last night - the Dark Knight batman one - very good!

It's 9:30 now, so shower and up... Off to the next valley today :-)

Saturday 23 February 2013

Vatican impervious to irony of its own press release

According to the BBC today:

'The Vatican's chief spokesperson has criticised the media for reporting "misinformation" about the Church.'

I wonder how this pedophile-protecting, gold-encrusted, religious organisation that takes from the poor to give to the rich came to the conclusion that it's core message had become somehow corrupted?

Monday 18 February 2013

Finally Facebook Free!

What with the recent revelations on tax avoidance, the general privacy issue and a refusal to adhere to UK law, I've finally lost it with Facebook and deactivated my account.

Some things are too big to fail, but they don't include services that are built on mutual trust and respect.

So fuck you Facebook.  Fuck you.

To deactivate your Facebook account, follow these simple-to-follow instructions today: http://www.facebook.com/help/214376678584711/ .

Tuesday 5 February 2013

Exception Handling with Parallel.Foreach

The .NET Framework's Parallel.Foreach is genius.  It eases the pain of making multiple tasks run in parallel.  It's just the ticket!  Oh, if only it were that simple.

What order do the tasks run in?  What when the parallel tasks throw exceptions?  How should that be handled?  When one task fails should the others be cancelled? Do we need to roll anything back?  What state updates are needed?  It soon becomes quite complex, quite quickly.

The project I'm working on right now has the following requirements:
  • It does not matter which order the tasks execute in;
  • There is no requirement to roll back the transaction should any individual task fail
  • If an exception is thrown, a SINGLE exception should be propagated upwards
The following achieves this, demonstrated in a console app, written in C#.


using System;
using System.Threading.Tasks;

namespace DavidBond.Net.ParallelTest
{
    /// <summary>
    /// Command line demonstration of Parallel.Foreach when Exceptions are thrown
    /// </summary>
    public class Program
    {
        /// <summary>
        /// Program entry point
        /// </summary>
        public static void Main()
        {
            Console.WriteLine("Program start.");

            // Create an array of task names
            var taskList = new[]
                {
                    "Task A",
                    "Task B throws Exception",
                    "Task C",
                    "Task D throws Exception"
                };

            // Try to run all the tasks in parallel
            try
            {
                // The following line is the equivalent of:
                //Parallel.ForEach(taskList, taskName => Execute(taskName));
                Parallel.ForEach(taskList, Execute);
            }
            // If there are any exceptions, wait until all tasks have completed
            catch (AggregateException aggregateException)
            {
                foreach (var innerException in aggregateException.InnerExceptions)
                {
                    Console.WriteLine("Exception occurred on task.  Exception message was [{0}]", innerException.Message);
                }
                // Uncomment the next line to escalate multiple underlying exceptions as a single exception.
                // throw new Exception("Not all tasks completed successfully.");
            }

            Console.WriteLine("Program complete.");
        }

        /// <summary>
        /// Writes the line "[taskName] ran successfully" to the console
        /// </summary>
        /// <exception cref="Exception">Thrown if the taskname contains the word "exception" (not case sensitive).</exception>
        /// <param name="taskName">The task name</param>
        private static void Execute(string taskName)
        {
            //
            if (taskName.ToLower().Contains("exception"))
            {
                throw new Exception(string.Format("Exception thrown by task [{0}]", taskName));
            }

            Console.WriteLine("{0} ran successfully", taskName);
        }
    }
}


DO NOT copy-and-paste this example if your situation varies considerably.
Props to http://www.manoli.net/csharpformat/ for the formatting!