An odd problem when switching frameworks

At my day job, I write software, mainly (at least in the past few years) using C#. I recently switched the framework version of one product from .NET 3.0 to .NET 4.5. When I did so, some code which had been working suddenly failed in a quite spectacular manner. The code in question was placing a call to the unmanaged PathCompactPathEx function (which truncates long pathnames by removing parts of the path and replacing them with …), which was causing the entire application to crash.

After scratching my head for a few seconds, it occurred to me that when the StringBuilder was initialized, its initial capacity was not being set explicitly. I don’t know for sure, but I suspect that because of that oversight there is a good chance that the unmanaged code was overflowing a buffer somewhere.

The fixed code is shown below for anyone who may want it.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[DllImport("shlwapi.dll", CharSet = CharSet.Auto)]
static extern bool PathCompactPathEx([Out] StringBuilder pszOut, string szPath, int cchMax, int dwFlags);
 
/// <summary>
/// Reduces a long path (if necessary) such that its length is less than or equal to the specified maximum length.
/// </summary>
/// <param name="path">The initial (full) path that may need modification.</param>
/// <param name="maximumLength">The maximum length that the modified path can occupy</param>
/// <returns>The path, truncated as necessary</returns>
public string CompactPathToLength(string path, int maximumLength)
{
var sb = new StringBuilder(maximumLength);
PathCompactPathEx(sb, path, maximumLength, 0);
return sb.ToString();
}
[DllImport("shlwapi.dll", CharSet = CharSet.Auto)]
static extern bool PathCompactPathEx([Out] StringBuilder pszOut, string szPath, int cchMax, int dwFlags);

/// <summary>
/// Reduces a long path (if necessary) such that its length is less than or equal to the specified maximum length.
/// </summary>
/// <param name="path">The initial (full) path that may need modification.</param>
/// <param name="maximumLength">The maximum length that the modified path can occupy</param>
/// <returns>The path, truncated as necessary</returns>
public string CompactPathToLength(string path, int maximumLength)
{
var sb = new StringBuilder(maximumLength);
PathCompactPathEx(sb, path, maximumLength, 0);
return sb.ToString();
}

A small slice of Raspberry Pi

Recently a small package arrived on my desk. It was about the size of an Altoids tin and contained a Raspberry Pi (frequently abbreviated as RPi). (For anyone who doesn’t know what that is, it’s a small and very cheap computer which can be used as the basis for all sorts of projects ranging from a low cost media player to a home automation system and beyond.)

The Raspberry Pi circuit board.

The bare-bones Raspberry Pi circuit board.

One of the reasons I had purchased a board was because I wanted to help my daughter, and to a lesser extent my son, understand why I find computers so fascinating. My daughter was moderately interested when I showed her the printed circuit board, exclaiming with glee “Ewwww! Computer guts!”

The first step, is deciding what we will build with it. I want the first project to be simple enough that (once I’ve got hold of all the prerequisites) it can be completed in a weekend. I would also like it to be something that my daughter can take into school and share with her classmates if she wants to (assuming her teacher agrees).

One of the options for school is, of course, to create a simple program using something like Scratch, although apparently there are some concerns with performance on the RPi. If you’re unfamiliar with Scratch (as I was), it is basically a kid-friendly programming “language” where you assemble blocks to describe what should happen – typically animating sprites (images) onscreen in response to events such as mouse-clicks, keyboard activity and scenarios where one sprite collides with another. The blocks fit together a little like a jigsaw puzzle so you get visual feedback showing what can (and cannot) be combined.

While that might be a first step, one of the reasons for buying the Pi was the ability to take it further – specifically to add hardware components and interact with the world in ways that most people wouldn’t be comfortable doing with their $250+ computer. At a cost of $30, or thereabouts, if something bad were to happen to the Pi it wouldn’t be too big a problem.

Even though I want to play with hardware, I need to keep the costs under control. I also need any of the hardware part of the project to be as foolproof as possible. While I have created computer circuits from scratch, that was two decades ago. Since then, my hardware experience has been limited to assembling boards designed by others.

These are the possibilities I’ve come up with so far:

  1. A simple “Boolean logic” demonstration. 2 or 3 switches as input, an LED for output. It would be possible to turn the conditions into plain text – “If you clean your room, and you had a smooth sailing day, you can go to the movies”. Set the switches to the correct value (yes / no), and press a “show me the answer” button to illuminate the LED if the output evaluates to true.
  2. A math game, where the screen will show a simple math question. The player then uses a couple of switches to set what they think is the answer on a display, and hit a button which will show them if they are correct, and highlight the incorrect digit(s) if they are not. My original thought was that I would use a couple of seven segment LED’s for the display, but  then I realized that – assuming I’m reading the schematic correctly – there are only 17 IO pins available… and if I’m using 14 for the display of the digits that would leave just 3 for everything else. (Yes, I know I could use a 7 segment display driver, but that would add additional complexity that doesn’t seem appropriate for a first project.)
  3. As my daughter has been having some challenges converting analog time to digital (and vice versa) I also wondered about the possibility of using something like Martin Atelier’s “Nixie Clock”. Again, I was thinking there would be some sort of game component where an analog clock is displayed and the player is asked to set the numbers shown on the clock (or vice versa).

After some consideration, I think I’ll probably be going with option 1 – mostly for reasons of cost… but i’m also open to other suggestions. Do you have any good ideas?

Coursera, Human-Computer Interaction, and thoughts about lifelong learning.

If you’ve been following me on Google+ for a while, you may recall me mentioning that I was going to participate in the Coursera course on Human-Computer Interaction. Well I did, and now that the course has finished, I wanted to share my experiences with you.

While I had expected to learn a lot from the course, having worked as a Software Engineer for over twenty years I really didn’t expect to find the course as hard as I did. Apparently I wasn’t alone either – out of  29,105 people who watched at least some of the videos, and 10,114 people who filled out the initial survey, a small subset of 2470 completed at least one of the major assignments and only 791 completed all 5. Or to look at it another way, just 32% of the people who attempted the assignment-based track managed to complete it. I was not among the 32%, having fallen by the wayside on the final assignment – there simply wasn’t enough time for me to do what was necessary while still doing my normal job, and spending at least some quality time with my kids.

Badly drawn illustration of how I felt on learning that I couldn't use my favorite graphics tool and had to actually draw something - with pen and paper, no less!

This isn’t going to be as easy as I thought it would…

Several of the assignments took me outside of my comfort zone. For example, when I need a diagram to communicate a particular point I almost always reach for a piece of software like Xara (or for the less wealthy Inkscape). Imagine my horror when we had to submit a hand-drawn storyboard! (What??? You mean I have to make my handwriting legible? I can’t go back and fix-up that line so it looks just right? And it’s due when? That’s impossible!) Still, having signed up for the course I decided I would do as much as possible of the assignments – at least up until the final one, where it was obvious right from the time it was handed out that it would simply not be possible to complete along with my other commitments in the time available.

Even though I didn’t finish the assignments, I still feel that taking the course was a valuable experience for me. If nothing else, it reminded me not to be too complacent about my skills, but it also reminded me how important it is to broaden your experiences. In this age of social  networks, vast numbers of TV channels and an almost infinite array of on-demand content it is extremely easy to fill your life with more of the same things that are already there. Don’t like a particular type of music, or political view? No problem – just hit the “mute” button, “unfriend” them, or add the site to your internet filter so you never have to see it again.

I can almost hear the question now… “But why would I bother with things I don’t like, or agree with, when there is so much good stuff available?” Well that’s a good question, but it’s one that I’ve observed can be a product of laziness. People may say “I don’t like it”, or “I can’t do it”, but what they are really saying is “I haven’t taken the time to understand it”. I’ve certainly used excuses like that in the past, and judging from the way my kids react (there is a good chance that their reactions are a reasonable facsimile of those they see around them from me, my wife, their grandparents and in the case of my daughter her classmates) I probably still do from time to time. The problem is that unless you step outside your comfort zone you effectively eliminate even the possibility of finding new things that you love just as much, if not more, than the things you enjoy today. For example, if I hadn’t been willing 16 (gulp!) years ago to say yes to the opportunity to come and work in the USA I probably wouldn’t be sitting here now writing this article. If I hadn’t attempted NaNoWriMo last year, I wouldn’t have made some of the connections I have on Google+ and learned about all sorts of other things from wonderful authors I had never heard of before to the sad passing of John Lord who (via the albums “To Notice Such Things” and “Durham Concerto”) contributed to the soundtrack of my NaNoWriMo evenings thereby helping to turn them from a chore into something that while still challenging I actually enjoyed.

Oh, and in case you were wondering I’ve already signed up for my next course. This time I’m going to be diving into World Music, even though I’ve never heard of Yothu Yindi, and have only a passing familiarity with the concept of Throat Singers. You’re welcome to join me. I’d also love to hear if you’ve got any course recommendations to share.

A word to the wise about domain transfer

Well that was a little annoying. Fortunately, this site has been dormant for so long that I doubt anyone noticed. Noticed what, I hear you cry? Well I messed up. In moving hosting companies, I also changed from one domain registrar to another. Except I didn’t. Somewhere in the fine print, I missed a note warning me that there was one step which had to be triggered manually.

If you have ever moved a domain you’ll know that in an attempt to prevent domains being moved maliciously you need to get a transfer authorization code from the original registrar and pass that to the new registrar who will then use it to prove to the original registrar that you have requested the move.

I had (incorrectly) assumed that the manual step I mentioned earlier would have occurred when the new registrar received the authorization code. It didn’t. Because I was under the impression that I had done everything necessary, I wasn’t too bothered when I got messages warning me that the domain was about to expire as I knew my new hosting company automatically renews the domain for me at no cost. That all changed last weekend when I discovered my domain was no more. I quickly got in touch with the new hosting company, who did all they could to help, but even so things were down for most of the week. Fortunately, this is just a “vanity” site… but you can bet it was a very useful lesson to learn since I really don’t want this sort of problem to crop up on any commercial sites I may create in the future.

Time for a reboot!

Yes, I know… It’s been well over a year since I last actually added something to this site (and when I did, it was only to re-add the historical content after someone hacked the WordPress installation). There are two reasons behind that. The first is a simple lack of time. It’s amazing how a young child in the house will do that to you. The second was that my employer’s computer use policy includes a statement that posting on a blog was prohibited, and that by doing so I could be subject to disciplinary action up to and including termination. In this economy, that wasn’t something I was willing to risk!

Still, time marches on, and I finally came to a couple of conclusions. First of all, some of my friends have similarly aged children and they are able to keep their websites updated. In some cases multiple sites. Telling myself I don’t have enough time probably means that I am actually wasting it. Besides, who needs sleep anyway?! Secondly, the company I work for really has no right to tell me what I can do in my free time as long as it doesn’t negatively impact them. Since I have no intention of revealing the inner workings of their code, or product plans, on this site I’m probably safe. I certainly hope so anyway.

So, what next? Well having decided I need to do do something with this site. I shall! For starters, I migrated away from my previous hosting company, which appeared to be getting slower and slower, to a new one Arvixe. They offered everything my previous host provided with better response times and lower cost! As for the content, my goal is to follow the example of several others I know and post at least one new entry each week. In between postings, you can find me on both Twitter (@richardjfoster) and Google+ (+Richard Foster) feel free to stop by and say “Hi” in either location, although I’m currently more active in G+ than Twitter.

The Spell Thief

Another short story, this time more of a fantasy story than anything else. I hope you enjoy it.

The room seemed normal enough, apart from a bulky oak table which stood in a corner of the room. It looked extremely strong, but unlike the other horizontal surfaces which were crammed with knick-knack’s the only thing resting on the table was a well-thumbed book, held closed by a metal clasp and secured with a padlock. Hazel, or Auntie as she was better known, took a small key that hung on a chain around her neck and unlocked it. Quickly she leafed through the pages searching for the one she wanted. Then she stopped, a look of puzzlement on her face.

“What’s wrong?” I inquired.Auntie didn’t answer. Instead she flipped a few pages back in the book.

“That’s not right either.” As she looked up, I could clearly see the distressed look on her face.

“Someone’s stealing them! It’s the only explanation.”

That comment only managed to confuse me further, and that confusion must have shown on my face.

“I first noticed last week that I couldn’t find one of the spells in my book. Well another one has gone missing!”
“How is that possible?” I asked. “I assume the book hasn’t left here.”

“Oh, it can’t. I always keep it locked when I’m not using it. Not only that, it’s too heavy. Last time it took five people to lift it! The thing is there is only one spellbook, and this is a copy of it.”

I nodded, not really understanding what Auntie was telling me. Surely each witch had to have their own book.

“Perhaps I didn’t explain myself properly. All genuine spellbooks are a copy of each other. Anything that is written in one book gets copied to all of them. Similarly, if something gets erased.”

“Why would anyone want to erase things?” I asked myself and was surprised when Auntie answered my unspoken question.

“There are lots of legitimate reasons for erasing things. We only bother to keep the best spells so if someone finds a better one they just update the book. We had to change a lot of them when dragon hunting was prohibited due to the rapidly declining population. We also had to get rid of several a few years ago when we found that they were causing a hole in the ozone layer.”

“Are you sure something similar hasn’t happened to the missing ones?” I asked.

“Pretty certain. So far none of the spells that I’ve noticed going missing are important, and none of them are less than a decade old. It’s very unlikely that there is a problem with the ingredients for them, or that any nasty side effects would be visible yet. No, I’m convinced that someone is stealing them.”

“What are you going to do about it? Come to that is there anything you can do about it? After all, you can hardly install an alarm system because the book that’s being changed isn’t here.”

“I’m not sure. The first thing I need to do is find out who is behind the disappearances. Once I know that, I’ll have a better idea how we should deal with it. I’m afraid this could be important. Is there any chance we could postpone things for a day or two?”

It was almost a week later before my next visit. I could hardly wait to hear if there was any news about the spell thief. Auntie didn’t disappoint me.

“I found out who was stealing the spells.” She confided.

“Really? How?” I asked.

“Absurdly simple really,” Auntie responded. “You gave me the idea yourself when you talked about an alarm system. I created a special trap spell that when copied would draw a picture of the person copying it. See for yourself.”

So saying, she handed me a sheet of paper. Drawn on it was a young girl, probably no more than eight years old, caught in the act of copying the spell.

“Who is she?” I asked. “I assume she can’t be doing it maliciously, otherwise you would be more concerned.”

“I don’t know yet. I haven’t had the chance to find out. There are only certain times when I will be able to.” Auntie paused, looking intently at the picture. “Wait a minute, we might be in luck!”

I realized that the picture in my hand looked more vibrant, more alive than it had a few moments earlier.

“She’s back!” Auntie breathed, her eyes sparkling with excitement. “Watch this!”

She muttered something I couldn’t hear. Suddenly it was as if we were standing on the picture, then somehow inside it.

*

Mary glanced around her. She felt strange, almost as if someone was watching her. Nobody was there, so it had to be her overactive imagination again. Sighing, she picked up her pen and opened her notebook. It was such a lovely day, and she didn’t want to spend even a moment of it inside. Still, she had told her Mom that she would practice her handwriting for half an hour each day. Thank goodness she had found that neat old book to copy. Some of it was easy enough, but other pages were full of words like “thou” and “posset”. Some of the handwriting was strange too. F’s looked like S’s and vice-versa. One page even seemed to be in a different language.

“This doesn’t look too bad.” Mary thought, and started copying. Time passed quickly and she was surprised to hear her mother’s voice calling.

“Mary! Lunch is ready. Come and eat it before it gets cold.”

As Mary closed the book, she again had the strange feeling that hidden eyes were watching her. Weird, she thought, then scampered from the room towards the tempting smell of Banana Bread, fresh from the oven.

*

Slowly the scene faded. I was in Auntie’s house, but I had a clear memory of having spent the last half hour practicing my handwriting… which was absurd because I couldn’t remember having written anything besides shopping lists or other notes for myself in years. Even more confusing, the clock now showed half past three, and I was sure that it had been at least thirty minutes earlier before the odd daydream I had just experienced.

“It’s a bit disorienting at first, but if you’ve done it as many times as I have you get used to it.” Auntie said.

“You mean I wasn’t daydreaming?” I asked, still feeling confused.

“No,” Auntie clarified. “You were looking through the eyes of our little trouble-maker while she made a few more spells disappear.”

“I don’t know how to explain it, but it didn’t feel as if she was doing anything bad.” I said.

“No, you’re quite right.” Auntie replied. “Somehow that’s a spellbook that she’s copying from and it is still active, but I don’t believe Mary has any idea what it is or how powerful its contents are. I also have no idea why when she copies the spells they disappear, because she’s not erasing them from hers.”

“So, what are you going to do about it?” I asked.

“Well, we need to deactivate the book.” Auntie replied. “The only problem is how. I’m going to need to think it over, then contact some of my sisters. I hate to do this to you again, but would you mind if we postponed our session until tomorrow?”

“No problem.” I replied. “Same time as today?”

“That would be good.” Auntie responded. “If you’re lucky, you might even be able to see how we handle our little problem.”

*

Mary turned the page to continue copying the passage she had stared working on the day before.”That’s odd.” She thought, as she saw an entry in a flowery hand beneath the one she was part way through copying. “I don’t remember seeing that there yesterday. I guess it must have been.”

Mary continued copying to the bottom of the sheet, but when she turned over the page it was blank. She flipped a few more pages, only to find that they were blank too. She was sure that there had been more, but as she leafed back through it the only things written in the old book were the ones she had already copied.

*

Back in Auntie’s house, we watched Mary, just as we had the day before. Unlike the previous day the return to normality was not gradual. Instead, as soon as Mary copied the last word of Auntie’s new spell we were snapped back into Auntie’s living room. In front of us something strange was happening to the spellbook. It looked almost as if it was being sucked off the table by a tornado, but only the book was affected. Nothing else in the room moved. As the pages fluttered wildly, I could see the writing on them slowly vanish. Then as suddenly as it started the disturbance was over. The book fell back onto its table with a surprisingly light thud. Auntie must have seen the look of surprise on my face. She picked up the book in one hand and gave it to me.

“What happened?” I asked. “You told me this book was so heavy nobody would be able to lift it.”

Auntie laughed. “It’s not the book that’s heavy, it’s the spells in it which weigh it down.”

“But this book is so light.”

“Exactly. There aren’t any spells in it any more.”

It sounded as if the spells were gone forever, but I could tell from the sparkle in Auntie’s eyes that there was something she wasn’t telling me.

“I think we’ve waited long enough.” Auntie said, taking the book from me and putting it back on its stand. Turning to the first page, she took a pen and wrote something quickly. Then she flipped to the back of the book and wrote one word at the top of the page. Index.

“What now?”

“Now we wait.”

For several seconds, nothing happened. Then a line of text appeared as if an unseen hand was writing it in the index. It was soon followed by another, then two more. Auntie opened the book to several pages at random, and we watched as the blank pages covered themselves with handwriting in many different hands.

“Well I’m glad that worked.” Said Auntie heaving a sigh of relief. “I was afraid that once all the spells were erased that the spellbooks would not remain linked.”

“But where are all the spells coming from?” I inquired.Auntie laughed. “That’s easy. I told you that I needed to contact my sisters. When I did so, I warned them what would happen, and asked everyone to memorize one spell.”

“But how did you make sure you didn’t lose any spells?” I asked.

“Simple. I made a numbered copy of the index and found out how many spells there were. I took the first spell, then divided the list into two. I selected two sisters I trust and gave them each one of the lists and asked them to do the same thing. Take the first spell in the list for themselves to learn and pass the rest on to other sisters they trusted. Do you know how quickly a chain like that grows?”

“Very quickly. You’d only need to repeat the process about ten times before you would have contacted over a thousand sisters.”

“Exactly! And because each sister only has to get in touch with two others it only took a few hours before all the spells were covered. There should be two thousand eight hundred and thirty nine.

Auntie turned back to the index. It already had over two thousand of the spells listed, and we watched mesmerized as the last few appeared. Eight hundred and Thirty seven… Thirty eight… Thirty nine. We exhaled together, having held our breath in anticipation as the last few entries arrived.

“Well, I guess that’s it.” I observed.

“For now.” Auntie replied.

“What do you mean?”

“You remember how I couldn’t understand why the spells were going missing. I eventually worked it out. Mary wouldn’t have been able to cause so much of a problem if she didn’t have the talent to join the sisterhood.”

“You mean she could become a witch?”

“Exactly. She’s not ready yet, she needs to be at least thirteen, but when she is… who knows?” Auntie paused, a wistful expression on her face. “I was only thirteen when they found me, and it was the start of a real adventure that I’m still enjoying today.” Auntie pulled herself together. “Still, that’s not the reason why you’re here. We’ve delayed long enough with my adventure. It’s time to start yours.”

Dreaming of the Future

This was my first piece of fiction for the writing course where the entire concept (with the exception of a few peoples names) has no basis in reality whatsoever. I’ve always enjoyed science-fiction. Hopefully it shows.

The last transmission from home was more than thirty hours ago. It was barely audible through the static, and finished abruptly in mid sentence. Marianne is already in stasis for our long journey. As soon as we clear the outer planets I will join her. Until then, there is nothing to do but wait. It is possible that we will never reach our new home, but we cannot turn back. There is nothing left to turn back for. It feels much colder since we sped past the sun and turned towards the black void of our immediate future. Deep shadows engulf the cabin, except for the glowing control panel before me. In the far distance, a pinprick of light calls us onward. But I get ahead of myself. To understand where we are going, you need to understand where we have been.

The first indication that there were problems could be seen in the late twentieth century, if you knew where to look. Unfortunately almost no one did, and the few who thought they saw something strange in the seismic readings were derided as cranks and lunatics; tree-hugging Luddites determined to prevent progress. It took almost twenty years before scientists accepted that over half a century of underground nuclear testing had caused the tectonic plates to fracture, and another ten years before they admitted that the damage was ongoing and irreversible.

Marianne and I had been dating for some time, but I had never really impressed her family. Perhaps more accurately I should say her father, since Marianne’s mother passed away before I could meet her. Jack was a self-made billionaire, a typical type-A personality, and could not understand that I was happy in my chosen profession even though it would never make me rich. Our meetings were always strained, and this evening’s dinner at his house was no exception.

“Honestly, I don’t know what my daughter sees in you,” he exclaimed while Marianne fetched desert from the kitchen. “She could do so much better than you. She deserves it, you know.”

“Dad!” Marianne exclaimed exasperatedly, backing through the door carrying three bowls of rice pudding. “How many times do I have to tell you that I love Stephen?”

“Ha!” scoffed her father. “Sure you think you do, but unless you come to your senses young lady you’re going to die here with the rest of the losers.”

“What about your ship Dad?” Marianne inquired.

“There’s only space for two people. You and me. I’d never allow someone like Stephen on board.”

At that, Marianne bristled. “Dad. Sometimes you are an arrogant, pompous ass! Can’t you get it through that thick head of yours that I love him?”

Suddenly the atmosphere changed. Marianne and her dad glared at each other for a moment. Then it happened.

“Fine! If you love him so much, you can find your own transport.” Jack bellowed, “Now get out, and don’t come back until you are ready to admit that you’re wrong.”

For a moment, Marianne stood there transfixed, then she stormed out grabbing her jacket and pocketbook from where they hung in the hallway. As I followed her down the drive, her father yelled after us.

“You know I’m right, young lady! You know what else? Time is running out. If you aren’t back here by noon on Wednesday, I’ll be leaving without you.”

When I caught up with Marianne, she was in tears.

“How dare he say that!” She huffed. “Just because he doesn’t agree with your choice of career doesn’t mean you are worth less than others. We can get on one of the public transport ships.”

As far as Marianne was concerned, that was the end of the conversation. She had made her decision, and that was what we would do. For the next two days we liquidated our assets, trying to scrape together enough cash to buy a place on the next public ship. We even found someone willing to sell us his tickets. But when the day came, our contact backed out on the deal, asking for more than double his original asking price. We could have afforded one ticket, but I wasn’t willing to go without Marianne, and she felt the same way about leaving without me.

By this time, it was obvious that neither of us would be getting on the ship, and even if Marianne had been willing to go with her father, by the time we got back down into the valley it would be past his deadline. Instead, we chose to stay and watch the lucky passengers leaving. The last few were boarding as we walked to the observation area where a huge crowd had gathered to watch the lucky few leave.

The transport ship stood there, waiting for the appointed hour before it departed. It was a huge behemoth of a spacecraft, capable of carrying over seven thousand passengers in addition to the two hundred or so crew members that would take care of the ship during its journey. The only problem with the ship was that it would be too expensive to keep everyone in stasis throughout the journey. That was a luxury only the richest could afford, but it also meant that the ship had to carry with it everything that would be necessary for the journey, including facilities for dealing with the births and deaths that would take place before reaching a new home.

Finally, the doors were sealed. It stood there, like a cross between a huge insect and a piece of early industrial machinery. The crowd stood, hushed in anticipation, waiting for whatever would happen next. Near the front of the crowd journalists talked animatedly to the news cameras, describing in detail the preflight checks that would be happening inside.

A few minutes later, the engines started with a deafening roar and a rumble that seemed to shake the entire valley. As the legs of the ship left the ground, the crowd surged forwards. We were caught up among them, swept along like flotsam on the surface of a fast flowing river.

Suddenly, people in front of us started screaming. The ground lurched and we staggered drunkenly. Then the reason for the screams became apparent. A jet of magma spewed into the air and rained down on anyone who was too close. Without warning, the stream leaped higher. Molten rock rained down on the side of the ship and solidified there. Almost immediately the craft started leaning towards the fissure. It was as if time suddenly dilated and we perceived everything in slow motion. Horrified, we watched as the ship fell back to earth. Many were not quick enough to get out of the way, and were crushed under the stricken spaceship. Finally, the fuel tank must have ruptured. With a thunderous explosion the ship disintegrated. Shards of metal rained down like shrapnel. Beside us a man collapsed, his scull shattered by the flying debris. Fearing for our lives, we ran.

When we finally got back into town several hours later, we could hardly recognize the place. With all the security surrounding the evacuation fleet, there were no police available to maintain order in the city. Looters had broken into most of the stores and carried off anything of value. Broken glass lay everywhere. Several of the buildings had been burned. Smoke wafted from the open doorways and empty window frames.

We got to my apartment building to find that the looters had been there too. The front door of my home was smashed in, and lay in pieces on the floor. Every drawer and cupboard in the place had been emptied on the floor, and anything of value that could be carried away was missing. The only thing they had missed was a bronze statuette of a galloping stallion, but that would have been too heavy, and too difficult to get rid of for the anyone wanting to make quick money.

Marianne and I stood in the middle of the living room and looked at each other. Slowly, I took her hand in mine.

“There’s nothing here for me now, and I don’t think it’s going to be safe to stay here after dark.” I told my dearest one. She nodded, a tear slowly rolling down her cheek.

“We could go to my father’s house,” she suggested. “It’ll be empty now, but at least it’ll be safe.”

Quickly, I gathered up a few clothes and bundled them into a carryall. The noise in the street outside seemed to be increasing again, and if the raised voices were anything to go by it seemed likely that a riot would soon break out. The alley to the back of the building seemed to be quieter, and would lead us in the right direction. We hurried down the fire escape, the impact of our footsteps against the metal steps sounding like an alarm ringing. The apartment was only on the third floor, but it seemed much further as the sound of the mob grew behind us. Finally, we reached the alleyway, and walked quickly away.

It took several hours to reach the mansion. On three occasions, the sound of an approaching mob caused us to scurry down side streets and back alleys to avoid them. We arrived just before sunset to find the house in darkness. To our surprise, the alarm was not set, however it was beeping occasionally because the main power was out.

“I’ll see if I can find us something to eat.” Marianne suggested, heading towards the pantry. “Can you start a fire to keep us warm? The library is probably the best place. I’ll see if I can find some candles too.”

“Sure.” I answered to her back as she disappeared, opening the heavy oak doors that led into the library. The last rays of the setting sun had turned the clouds orange and gold, and the reflected light through the large bay windows was just enough for me to see the fireplace. I made my way towards it, stumbling slightly over the corner of a hand-made woolen Turkish rug.

Quickly, I prepared the fire in the gathering gloom. I set a match to the paper at the base of the fire, and watched as the fire flickered into life. Suddenly, I became aware of another presence in the room. There behind me, silhouetted in the window was a man. He appeared to be crying, his shoulders shaking in silent wrenching sobs. As the fire grew, I realized it was Jack. In his lap lay a photo album. His fingers moved slowly across the page, as if he were caressing the young woman pictured on it. In the light of the fire, I could see a tear running slowly down his cheek.

“Jack? Are you OK?” I asked him. He didn’t answer immediately, touching the hair of the woman in the picture, as if he were running his fingers through her long brown locks in his mind.

“She meant the world to me, you know.” Jack said softly, gazing at the picture. “I built this library for her.”

There seemed to be nothing for me to say, so I just sat and waited. After a moment Jack continued.

“Her father didn’t want us to get married. He told her that he would disown her if she married me. She told him that she would marry me anyway, and she did. He never spoke to her again until he was on his deathbed. I saw the pain in her eyes each time she spoke about him, and she swore that she would always let her children live their own lives. After Marianne stormed off, I remembered Maria’s words, and found this old album.” For the first time, Jack looked directly at me. “I can’t leave Maria, or erase what she means to me, and I shouldn’t have asked Marianne to leave you.”

Jack looked down again at the picture of his beloved wife, then out through the window towards the grotto in the garden that they had built together, and where her ashes were scattered. Another tear trickled slowly down his cheek.

“Maria and I had our chance. Now it’s your time. I’m old. Older than I wanted to admit to myself. I told myself that I could leave it all behind, but I can’t. My life is here, what’s left of it. I don’t want to leave. This is where Marianne grew up. I can still picture her playing hide-and-seek around the house with her friends, the mess after the pool party she had when Maria and I went away for the weekend, the way she looked in her prom dress as she walked down the grand staircase.”

Jack paused, then sighed deeply. “There’s something else too. Something Marianne doesn’t know. I’m ill. Seriously ill. Even if I do leave here, I probably wouldn’t make it to any new home.”

“Don’t say that!” I exclaimed, “Nobody can tell what will happen tomorrow. They might find a cure! You can’t just give up!”

“I’m not giving up,” Jack responded, “I’m just being realistic. It’s too late for me. Perhaps six months ago something could have been done.” He paused again. “I restocked the spaceship with things that are more appropriate for a young couple.” Suddenly he looked past me. “Take care of each other. Love each other.”

“No father, no!” Marianne exclaimed from behind me. “We can’t just leave you here!”

“You have to.” Responded Jack. “If you took me along as well we would never reach the new planet. Not alive, anyway. There’s barely enough air for the two of you. You’ll have to make part of the journey in stasis.”

It was a tearful farewell, but eventually Jack convinced Marianne that the only sensible thing to do was for us to take the spaceship. Slowly we walked towards the launching area that used to be the tennis court. After one final embrace we climbed into our new home for the next few months. As I prepared the craft for takeoff, Jack removed himself to a safe distance. Marianne was glued to the window, watching Jack leave, until it was time to fasten ourselves in. Finally everything was prepared. I started the engines carefully, watching out for problems like we saw at the public launch site. Fortunately, the rock was more stable, and we left the ground without problems. The last thing I saw before setting our course was Jack waving us farewell. I don’t know if Marianne saw him too, through her tears. If she did, she didn’t say anything about it afterwards. She was too upset to say anything much.

Hopefully, time will heal the pain. If we reach our new home successfully we will plant a grotto to remember both Marianne’s parents, and remember how they, and many others, gave us life. Until then, at least we are together.

I set the computer to autopilot, and enter the stasis capsule across from Marianne. If all goes well, the computer will reanimate me shortly before we reach our new home. Marianne looks so peaceful, reminiscent of the way I remember when I watched her sleeping beside me. God willing, her beautiful face will be the first thing I see when I wake in a few months. I press the blinking button to start the sequence.

The Last Poster

Some time ago, I decided to take a creative writing course. The first assignment was to do a character study. I wasn’t quite sure what they wanted, and turned it into a little more. This is the result. As with some of my other writing (especially the early stuff), the characters here are based loosely on real people, however this is a work of fiction and should be read as such!

John stared at the blank sheet of paper in front of him, his pen held lightly between his fingers. Calligraphy used to be his favorite hobby, but in the past few years his failing eyesight and the onset of arthritis had turned it into a real challenge. Still, he had created posters for the church events for over thirty years, and pride would not let him admit that the time had come to pass the job on to someone else.

It also seemed to John that the days had somehow shrunk as he grew older. It barely seemed more than a couple of years ago that he first set eyes on his granddaughter, but in less than a week they would be meeting to celebrate her twenty first birthday. The celebration would be a special one, not only because Caroline was returning from a year spent in New Zealand, but also because it would be the first time the whole family had been together since John and his wife Dorothy celebrated their diamond wedding anniversary.

John’s eyes moistened slightly as he thought back to that day, now almost seventy six years ago when he had watched Dorothy walk down the aisle with her father to take her place beside him. He was only twenty two at the time, and had recently completed an apprenticeship in the printing industry, she was slightly younger and as beautiful to him as the first spring flower. In the years since they had shared many things. Some of them were bad, like the time they were separated by the onset of war in Europe, or when finances were so tight that they had to go without meals to make sure that their son was able to grow strong. Most were better. Over the years they had found many good friends, and were friends to others in turn. After John retired his pension had been enough for them to take occasional trips to places like Germany in happier circumstances than his first visit.

“Tea?” enquired Dorothy, abruptly breaking his reverie.

“Huh?” John jumped, a spot of ink dripping from his fountain pen onto the pristine white sheet below.

“I thought you might like one.” Dorothy responded, placing a cup of Darjeeling tea beside him. “So, how is the poster coming?”

John sighed, watching Dorothy over the rim of his reading glasses, and gestured silently to the paper. Dorothy looked at it for a moment, and then sat down beside him, placing her hand comfortingly over his. After a few seconds, John put down his pen, placed his other hand on top of hers and gave it a squeeze.

“You were right.” He admitted, “It’s time for someone else to do this. It’s just that I gave my word that I would do this last one.”

Dorothy smiled at him. “I’ll let you get on with it then,” she said, rising from the seat.

As the door closed behind her, John retrieved his pen and started again on a new sheet of paper.

An Artistic Reunion

Modern art often seems to be worth far more than you might expect from looking at it. This short story tells what might happen somewhere that art of that type is on display….

Sadly this is the last work created by the artist before his death by firing squad during the Hungarian uprising in October nineteen fifty-six. So read the tag below the unassuming piece of art on the wall. For the past few years everyone had assumed that was the truth. The real story was stranger than they thought.

Andre was looking forward to meeting old friends at the ten-year reunion. Having arrived early he decided to walk round the science building. As he left one of the computer rooms, the old text-only terminals replaced by flat screen displays, he paused and stared in disbelief at the picture on the wall. As he read the label, the corners of his mouth started to rise. By the time he finished, he was smiling broadly.

“Everything OK?” enquired one of the security guards, as he passed.

“Fine!” replied Andre, “I was just looking at this picture.”

“Yeah?” said the guard, whose badge identified him as George.

“I just remember it that’s all. I was studying Physics here when this was first put up.”

“Really? That’s been up there since I started working here. Well, almost. Couple of years back some students knocked it off the wall. They had to pay to get it reframed and everything.”

Andre tried to stifle his laughter, but didn’t quite succeed. Instead a loud snort emanated from him.

“Yeah, I know,” continued George, launching on a familiar tirade against the thoughtlessness of young people. “Most of the students are decent enough but, there’s always a few bad ones. The pair that knocked it down got kicked out soon after. I wasn’t sorry to see them go.”

“You say they had to pay to get it reframed?” asked Andre.

“Yup!” replied George. “Say, I’ve got to get back to the lodge. If you like, you can come with me. I’ll tell you all about it.”

A few minutes later George and Andre were sitting in the porter’s lodge sipping freshly brewed mugs of tea.

“So, it’s like I was telling you,” said George trying to prevent the mug of tea he held in his massive hand from steaming up his glasses, “These two jokers had a few too many drinks, and decided it would be fun to hang the pictures along this corridor upside down. As they were unhooking that picture something broke. They couldn’t control the thing and dropped it. Joe was on duty that night. He heard the noise and caught them red-handed. The police were called, of course, and they called the Vice-Chancellor, so you can imagine how much fun the rest of the evening was!”

“What happened then?” enquired Andre.

“The Vice-Chancellor was just going to throw it away, but the Chancellor decided he wanted to get the picture restored and reframed. Cost them about five hundred quid by the time they were done.”

The last piece of information was too much for Andre. He barely managed to put the tea down without spilling it before the long-suppressed laugh broke free. George looked at him, startled.

“I’m OK,” Andre finally managed to gasp between guffaws, “I just can’t believe that they did that.”

“Why?”

Andre glanced up at the clock. “I wouldn’t have time to tell you the whole story now. I’m supposed to be at the reunion. Will you be here later?”

“Sure,” responded George, “I’ll be here until midnight. If you promise you’ll come back I’ll hang around for you.”

“Oh, I’ll be back,” Andre replied, “I’ll probably bring a few friends along too.”

It was shortly after midnight when Andre returned, along with two fellow alumni, Steve and Paul. Not only was George waiting for them, but so were three other guards.

“So,” enquired George when everyone had settled down, “What do you know about that picture that is so funny?”

Andre grinned cheekily. “Well for starters, I know who painted it,” he replied.

“We all do,” responded one of the guards. “It’s that Dermon Rushibb chap, isn’t it?”

Andre smiled, and pulled a piece of paper from the pocket of his jacket. On it he wrote the artists name, then tore the piece of paper into six pieces, which he arranged on the floor in front of him. Mo-der-n Ru-bb-i-sh.

“What on earth?” said George, “You mean the picture is a hoax?”

“Yup,” replied Andre, “It seemed like a good idea when we put it together! The university had spent about twenty thousand pounds for some hideous modern art, but they refused the Physics Department two grand for a replacement computer. We wondered if they would be able to tell the difference between a real work of art and a fake. It was Steve here who painted the picture.”

“I just used geometric shapes, and colors that would be found at sunset,” Steve interjected. He was smaller than Paul, with dark thick-rimmed glasses that made him look like Buddy Holly, or would have if Buddy Holly’s hair were red. “At first it looked unbalanced, so I added the wavy lines below. Then it looked too good, so we added the purple triangles.”

“We all used the computers in this building,” added Paul, “so nobody was surprised when we worked late one evening. We knew that when the guard went to do his rounds we would have about ten minutes to put the picture up.”

“We thought it would be spotted in less than a month,” Andre resumed. “Possibly even as little as a week. We never thought that it would still be hanging on the wall ten years later!”

“What’s more,” laughed George, “because it’s one of the Chancellor’s favorites it’ll probably be here in another ten years too!”

It was well after two in the morning before Andre and the others left, having persuaded their new friends to keep the real story secret. As he drove home, Andre found himself looking forward to the next reunion, and wondering what stories he would hear about the picture then.

The Long Walk

This was the first short story I wrote for my writing course. As with the earlier character study, many of the characters are based (albeit loosely) on people I know. Having said that, the events described did not actually happen. Remember it is for a creative writing course, after all!

“Pass the Ketchup, please!” John’s voice boomed across the table. Six hands reached for the bottle, but it was Andrew who got there first. Before passing it on, he poured a liberal dollop onto his own plate, as did several others. By the time it reached John’s end of the long table there appeared to be some sauce left… but when John attempted to tip some out nothing moved. “Hey!” John complained, “I wanted the ketchup, not the bottle!”

“Never mind,” said Dorothy, giving him a peck on the cheek and placing a new bottle on the table beside him. “Perhaps this’ll help.”
John raised an eyebrow at her. “I suppose you had this all along?” he enquired, a cheeky grin on his face.

“Naturally!” Dorothy responded, “I know what this lot is like. The ketchup was only half full when you asked for it. There was no chance that you would get any all the way down here.”

It was about half past seven in the morning, and the church hall was full of chattering teenagers, parents, and assorted others including three dogs, enjoying a shared breakfast before setting out on the annual Easter Monday pilgrimage to St Albans Abbey. Allegedly the day was intended for younger Christians, but it always drew plenty of the young-at-heart too, John among them. He had been retired for almost three years, and this would be the twenty-third year that he made the seventeen mile walk from St Peter’s church on the outskirts of Watford to the nearby abbey located on its hilltop overlooking the ancient Roman city of Verulamium. Many would be making similar journeys. Some would have been walking since the previous day. From St Peter’s those doing the walk took a serpentine route along the banks of the river Colne, and then through the green pathways of Brickett Wood, instead of the more direct route following the busy road connecting the two towns.

Before long, the happy sounds of eating subsided. Even Clive, the slightly rotund priest, eventually had to admit he didn’t want another fried egg, sausage or slice of crispy bacon. Hunger sated, the walkers put on their coats and headed outside.

Easter had arrived early this year. The clocks had not been changed for summertime, and the temperature overnight had been low enough to leave branches smothered in frost, and a thin layer of ice on puddles from the overnight rain. As he had so often before, John set a brisk pace down the short hill to the riverside path. The walkers stretched in untidy clumps between the fast walkers at the front, and Clive who would bring up the rear occasionally mopping beads of sweat from his forehead with a giant white handkerchief. The dogs, sufficiently well behaved to walk unleashed, ricocheted between the front and the back of the group their tongues lolling out as they raced around and among the walkers.

John loved to be in the lead, watching the wildlife that scampered and flew away from them. At this time of day, the path through the woods was populated with creatures that would soon disappear into more private areas until evening.

It was about noon by the time they reached the bridge over the motorway. As they crossed, the familiar spires of the abbey finally came into view about two miles away on the top of the next hill. From here it was a short walk down a surprisingly steep incline into the public park that lay between. As they entered the park, they passed part of the wall that once encircled Verulamium, its layers of flint rock and red brick bathed in the weak sunlight. By the lake, they joined the other pilgrims who were already starting to queue for the procession into the abbey.

By the time the service was finished, the sun was already casting long shadows across the adjoining cemetery. The group quickly walked down the hill to the train station, where everyone was surprised to find that the gates were locked.

“What on earth is going on?” pondered Clive.

“Erm…. I think I may have an idea,” responded John who had been looking at the timetable. “It appears that because this is a bank holiday there aren’t any trains!”

“Well, that isn’t a problem. We’ll just call someone.”

“Using what?” enquired John, picking up the handset of the public telephone that stood next to the timetable display. The cable that should have connected it to the dialing mechanism dangled loose.

“Perhaps we could call from one of the shops,” suggested Andrew.

“We could,” responded Clive, “if there were any open”.

For a while, everyone was silent. Nobody wanted to contemplate the possibility of a long walk home, particularly as twilight was already turning the clouds overhead vivid shades of orange and purple. Suddenly John chuckled to himself.

“I’ve had an idea”, he said. “I’ll be back in a couple of minutes.”
As John walked off, everyone exchanged looks with each other. Their unspoken question was answered a few minutes later when a minibus pulled up and John got out.

“Does anyone need a ride?” a cheerful voice called from inside. Clive peered through the window, and was amazed to see Robert, the Bishop of St Albans, behind the wheel.

“Are you sure?” Clive asked.

“Of course,” responded Robert, “unless you wanted to take some extra exercise!”

At that everyone laughed and began climbing into the minibus. Almost everyone managed to squeeze in, but there was no space for John himself.

“Don’t worry about me,” he laughed, “We guessed that there wasn’t enough room for everyone in the minibus. I called Dorothy from the Bishop’s house and she is on her way to collect me.” So saying, he closed the door and cheerfully waved goodbye as the minibus pulled away.