Saturday, 28 March 2015

For the love of music

For a while, I've been meaning to do an A-Z of bands - a blog post per letter, with favourite songs by several bands starting with that letter. I was going to write up Pathfinder and Aberrant today, but I've been thinking about music. I asked on G+ and on Twitter what people's favourite songs are, and why.

The types of songs people love are many and varied, but there are a lot of similarities in the reasons: wedding songs, honeymoon songs, holiday songs, parent's favourite songs and songs that otherwise stir emotions.

So, here's some of my favourite songs; I'll start the A-Z another time.

Stellar by Incubus

This was the first song I ever heard by Incubus; I was 16 and it stuck to my soul. For me, it is the best way to describe falling in love.

Love Song by Snake River Conspiracy


This is another love song I love - much better than the Cure original version (so it's the music and not the lyrics, as I'd assumed until I listened to the original). I first heard it at uni, when I was really homesick and missing Husbit. It made me think of him with a comfortable sadness: "No matter how far away".

Good People by Jack Johnson


For my 23rd birthday, my little sister took me to Egypt. We had an amazing holiday - sightseeing in Cairo (I'd love to go back to the museum - I could spend years there) and scuba-diving in Dahab. Fantastic time - and this song (along with several others of his and several of Bob Marley's) played a lot in Dahab and always makes me think of the sunshine.

Little Sister is awesome. She arranged for a quadbike trip to watch the sun rise over the Nile and we ended at this oasis

Long Live the Queen by Frank Turner


My brother played this to me a few months ago. I wept in his car. This song is so powerfully sad and yet so intrinsically positive. I absolutely love it - even though it wrenches my emotions. Probably because it wrenches my emotions.

Danse Macabre by Saint-Saens


I adore this piece of music. I want it played at my funeral. Again, there's an element of nostalgia: it's used for the theme music of Jonathan Creek and I really enjoyed the show when I was younger. But the music stuck with me far more deeply and I don't know why.


It's actually really hard to stop - I could keep going with more and more songs and pieces of music. Will definitely have to have a go at the A-Z soon.

What about you? What are your favourite songs and why?

Wednesday, 25 March 2015

Birthdays

Last week it occurred to me that I forgot to wish Paul (who plays Kieran in regular Pathfinder and Sam in the Interlude) a happy birthday in the way back when of his birthday... It occurred to me because my birthday was coming up and Bells's (aka Aaron in Pathfinder, Tanna in the Interlude and Adam in Aberrant) was having his. Bells was kind enough to agree to share his celebrations with me, and we had a little group trip to Thorpe Park. Because I'm rubbish at organise, I forgot to invite many people and it ended up being Husbit, Bells, Paul, my brother (who used to play Chester Goldhawk) and I. We had a really lovely day.

The spirals really caught my eye

Husbbit and Brother, loveable reprobates that they are. I don't like Stealth, but they do.

and the sunset on the way home was beautiful
Was in work for my actual birthday - got in and my desk was all covered in sparkles with a balloon and a banner, which was lovely. Went out for a meal with Husbit's family that evening and will be having a house-based picnic with mine in a couple of weeks. I've got various more birthday plans coming up, too - for me and for other friends. Laser Quest and meals and board games and hopefully bowling (if I can get a bit more organised). 

And, just because, here's some photos of the Cat. She's currently hiding under the blanket.




Sunday, 15 March 2015

Aberrant - In the meantime...

Our last session ended with a broadcast when Nicky Mason was about a year and a half old: interrupting all programming, a copper-haired man talked about the way novas were better than humans and that any nova who chose to obey human laws and retain a relationship with humanity was a coward or a fool: being neither, Chrissie was cut by this. Especially as she was curled up watching a film with Steve and Holly at the point the broadcast overrode all channels, all websites. She'd known a war between humans and novas was becoming inevitable but had hoped it could yet be averted. No longer. She didn't want the humans in her life to be hurt and she didn't want them to be afraid of her or her nova friend: she is angry and afraid. She is also in strong disagreement that being better than human means you should disregard humans. Rather, she feels it gives you a duty to protect and care for them. Which then makes her uncomfortable, because it makes her aware of her own assessment of humans as 'lesser' - sheep to her shepherd - a hypocrisy she'd rather not face. It's also made her realise how often she flouts human law and she's worried she's on the wrong side of this fight.

Anyway, our GM has given us a list of key events during the time between the birth of Adam's daughter and the broadcast and asked us to let him know what Chrissie & Adam have been up to in the downtime. Here's Chrissie's 2003-04 (with a slight back-track and a chunk of Chrissie self-assessment psychology - there's also some bad language cos Chrissie tends to swear a lot):

A few weeks into January 2003, I went down to see Steve - Holly, I knew, was out at a sleepover and I half expected him to be having an early night himself, but he was up: "Working late," he explained with a half-smile. Grabbed a cup of coffee for each of us and nodded as I explained we needed to talk. For a baseline human, he can be incredibly perceptive and intuitive.

He explained since his wife Holly had been his world and that would never change. Needed me to understand, so we were on the same page. But she loves me - we both knew that. And of course, that's how I got into this mess... I'd never have hung around long enough to care this much if it wasn't for her, and as much as Steve needed me to know that Holly would always be his priority I needed him to know how fucked up I am.

I've not spoken to our parents since I took Pete over to them after we all thought he was dead.

I don't think it's that they don't love me, I think. I think it's that they don't know how to. They gave Pete and I everything, growing up: the best schooling (single-sex boarding school, far enough away we knew no one), whatever books or toys were popular (but not the ones we wanted), healthy food, ballet classes for me and rowing for Pete (although I preferred swimming and gymnastics and Pete wanted to play rugby), exciting foreign holidays (5 star hotels that you never had to leave). Everything except love. They understood the value of money and that's always been enough for them. And Pete followed in Daddy's footsteps and was the favoured child because of it, whilst I'd had enough by my teens and rebelled and if it wasn't for Bill* catching me when he did, well, who knows where I'd have ended up. Because I've never been given an emotional role model.

So I needed Steve to understand I had no faith in myself as a girlfriend or as a step-mother and would need his patience and guidance.

Adam picked up the slight change in me after that: a tension going out of me that he noticed the way you notice an ignored sound stopping. I think he'd have liked to tease me, but I am actually happy in a way that's very novel to me so his teasing hasn't worked.

And then Nicky was born and I thought again of that file I was given on Mark - and of the comment 'Charles' made - and that tiny, fragile little baby decided me. I'd kept the file safely in Benedict's lab and opened it there - the most secure place I know.

It wasn't what I'd expected: a short video dated 23rd March 1995 (3 years before N-day). In the video, a man stripped to the waist was tied to a chair. Lank, dark hair hid his face and his impressive physique was criss-crossed with scars. A voice spoke and the hairs rose on my neck: Benedict accused the man in the chair of treason, stealing and selling nuclear weapons. The charges were familiar, but I doubted it was Harris in the chair. There was no surprise when the man looked up with cold eyes staring from Mark's face. Despite the circumstances, his voice didn't falter as he declared he'd do it again.

So this was Mark before he was Mark. The video showed nothing further, but part of me suspects he doesn't remember this event.  I'll continue to keep an eye on him, but this secret can remain so unless circumstances change.

The year and a half following the birth of Nicky was fairly quiet. We mostly stuck to humanitarian work: search and rescue; disaster relief; rescuing, protecting and rehoming refugees. Nothing dramatic. Gave me time to focus on studying, going further in depth into various sciences to try to make sense of the changing universe. And time to build a relationship.

In September 2003 Sao Paulo exploded: an area the size of around 30 blocks flattened. We were allowed to help in the immediate disaster relief, but as soon as I started poking my nose in, trying to find out the who, how and why of the bombing, I was warned off. It was in the hands of Interpol and the Brazilian Government and my interference was not wanted. This was particularly frustrating because rumours circulated that it was the fault of Novas, leading to more rising tensions. Project Utopia have been tasked with overseeing all Nova-created tech, which is fine because we have Pax on the inside, but on the otherhand it is restrictive. We have an awful lot of undeclared tech at the Hub and it's not as if we entirely trust Utopia.

Realising I was not going to be able to make my own investigations into the bombing, I used the time to make plans to have the best possible first Christmas with Steve and Holly. I made sure to see my other friends (baseline and Nova) and Pete as well, but it felt important that this be special for the 3 of us.

New Year at the Styx as normal, then back to studying for a few months - there are so many areas I need to understand that I've started to build up a new network of contacts within the scientific community beyond the Hub. Jean and I spent a couple of months with MSF - he'd worked for them before erupting and still donates what time he can. Our assistance was much appreciated and it felt good to be nursing again. I managed to see Antaeus and his project. It's going very well - Nigerian desert starting to be green. Like Antaeus's skin, unless I was imagining things.

The paper I produced from the research I 've been doing was again to be presented as part of a key note speech - San Francisco, this time. The evening unfortunately coincided with the premier of Adam's new film, or I'd have been along to support him and he I. Still, in the questions afterwards, one person's insight stood out - and as I spoke to people after the same person requested I sign a book: "Make it out to Magnus," he requested, and was gone before I could get a good look. I suspect he was the one who left a copy of my book with useful annotations that will help me move this forward - exciting, but almost unnerving, not to know who your co-worker is. Especially one as potentially valuable as this. But at least San Fran stayed on the map.

And a few days later there was the speech with which the previous session closed and the next session opened. Chrissie's also spent the year worrying about her friend Bill, who still seems very depressed since his girlfriend left him. It's not something she knows how to fix. The GM has given Chrissie a point of influence in the science community, a science specialisation of my choice (I went for bio-physics) and 1 dot's worth of contact for both Antaeus and MSF - as well as the loss of 2 points of temporary taint, thanks to Steve and Holly.
 
The next session shouldn't take long to write up - it was a short session, due to LIFE - but I'm not sure when I'll get to it. Most of this was preprared - I just needed to add in GM feedback - so this can keep you going on Aberrant for now.

Thursday, 12 March 2015

Goodbye, Sir Terry

I've been sitting here staring at a blank screen trying to work out how to say... what to say about Sir Terry Pratchett.

The first of his books I read was Guards Guard, when I was 12. My middle school had a tiny library, and one shelf was only for year 8 pupils. I'd had my eye on the book since I started 3 years before - Josh Kirby's art was fantastic and there were dragons! And I loved it, although it wasn't what I was expecting.

I loved the Johnny trilogy, and Carpet People, and Good Omens is the book I read again and again, but Discworld is where I lose myself. I remember the great pleasure of trips to the bookshop with my Dad, using hard-earned pocket money to pick up the series; slowly, slowly. The Last Continent was the first that was my favourite, but these days it's Reaper Man followed by anything with the Witches.

When I went to uni, I couldn't take my vast library so a lot of it was boxed up and left with my Dad for safe-keeping. Came home and moved with Husbit officially. A few years ago we finally had the space to collect most of the boxes (I think there's one left, maybe two), so we went through and ensured we had a full Discworld collection between us and my step-mum was delighted to find herself in possession of a nearly full set - with my Dad's collection, there were still several duplicates.

Magrat is a character I've been meaning to write about for a while: she is not my favourite character but she is the most important to me.

I hated her, to begin with: she was so wet and uselessly well-meaning and dreamy and one day I realised I hated her because she reminded me of me, right down to the bird's nest hair and peas on an ironing board. And as I realised that, she became a stronger person and that hurt, because she was moving away from someone I related to and becoming someone I thought I could never be - and then finally I started to get there. And I've been trying to find the way to express that best so that I could write and tell Terry Pratchett and I'm sorrowful I didn't write to him in time.

When I heard the diagnosis, I was heartbroken and hoping for a miracle and it was selfish because I didn't want the books to end - the Science and the Folklore as much as the fiction - but I think it's a selfishness shared by many. I wanted him to be well for his friends and his family and himself, but in an abstract way: tangibly, I wanted him to be well for the Disc. And that ... that can never happen now and I'm sad. And I'm sad for his family and his friends and for the stories.

But I'm so grateful for the ones we've already had.

Friday, 6 March 2015

Pathfinder Interlude - Catch Up

Ok, where were we with the Pathfinder Interlude? Travelled from Absalom, through Galt (where a Duke was mysteriously assassinated), messed around in Mivon, into Brevoy (via Drelev's Folly) and on to New Stetvon, wrangled invitations to the weddi... wait a sec, I didn't get that far? Oh goodness, I really am behind, and the next session is tomorrow!

New Stetvon was cold and miserable and Jvala hated it. The party used their usual "Hello, we're professional nosy persons" trick (ie, "We're here on official Pathfinder business, please assist us") to get appointments with as many members of the Court as possible. Some sounded quite fond of the new Earls and others were more honest. General consensus was that the royal wedding had been a good event, with some 'off-record' mutterings of a waste of a money. It was felt that the new queen wasn't taking her queenly duties seriously enough (and the bit of me that is Svetlana was heart-broken - Svetlana cares very much for her fellow countrymen subjects. It never occurred to her that avoiding public appearances might be taken as stand-offish or irresponsible). The Earl Alexei seemed better liked but not universally trusted. Less comment on Baron Costello. Various people knew about the cat in its small form (as far as I remember, still no mention of Aaron). They did get to see the original poem written by Earl Alexei for Svetlana's wedding.

Court Magister Malliard spoke to the party - they particularly noticed a fine pair of swords strapped to his hip and the familiar way he spoke about Queen Svetlana. The king and queen were not in residence - she'd come back for a break from the Crusades for them to have a brief honeymoon. They'd be back for the wedding of Chester Goldhawk. Malliard introduced the party and they wrangled invitations (Jvala was very impressed with Chester's great axe).

The wedding was impressive - they wore their best outfits, Jvala was delighted with the warmth generated in the great hall but Zabeel was utterly overwhelmed by the amount of people. Most crowded round Alexei but Kieran Costello had his own crowd too. The party could see that certain people in the room: our primary characters, Malliard and Ezekiel had an aura of power about them. Ezekiel invited them to his room for tea and was as sinister and cryptic as ever. Explained that normally he'd have to kill them for noticing the power of the others but that greater forces were clearly at work so instead he convinced Sam to break into Svetlana's room to steal a stone.

The stone is one Svetlana has kept though she doesn't remember picking it up. It fits neatly into her palm and lines up with the scar that she's had about as long. She keeps it in a drawer with other knicknacks and souvenirs she's picked up since leaving her village. Sam grabbed it and got out just as Mr Tiddles arrived with a fireball.

Ezekiel mentioned a tomb found in Vanguard, but that this party wouldn't find it... Jvala took that as a challenge. He gave several areas to investigate: his hometown, Restov, someone called Jin.

They left New Stetvon soon after and headed to Restov. There, Sam Spade again assisted thenm in tracking down 'Jin' - a young orphan who'd died under mysterious circumstances. Still not entirely clear what that has to do with the Barons. Also found the house of Anna Hencheck, complete with a mysterious empty cellar and a scabbard on the wall that matched Malliard's blades.

They headed south and accidentally unleashed an ancient vampire on the populace... 

There were rumours of someone who'd come up from the direction of Vanguard, raving about 'red eyes'. There was a concern that this may be related to the tomb Ezekiel had mentioned so they investigated. The man had been committed and was still there, decades later. On arrival, the place was strange. The staff were absent-minded and seemed unaware. The man convinced them to lead him out in return for some scrappy information and virgins started dying soon after. 
Ooops.

They did try to make it right, but couldn't track him down so left Swash on the trail and moved on.

Druid earth-shape spelunking found the outside of the tomb, but the powerful protections in place flung Tanna from the earth and she refused to continue, to Jvala's annoyance.

Onwards to the Dawnlands, where they met Svetlana's mum and went on the trail of bandits. Didn't find anything useful, but a corpse that (Sam Spade said) had been decapitated with a vorpal dagger. Also entered the tomb of Oleg Leveton's ancestor, where they found a damaged blade that the local blacksmith wouldn't touch. Sam found a strange naked human that he decided to keep as a pet. He's been given the name 'Hu', has no memory prior to waking up in a scorched clearing and appears impervious to magic.

Leaving the Dawnlands behind, they headed to Pitax to get to the bottom of the connection between the Dawnlands, Mivon and Pitax. Managed to get hired on to Lord Asher's guard for the journey and, when attacked (by vampires and their minions), managed to keep all the shiny loot.

Pitax was like Mivon but more so. Found a very nice magic shop with whom they arranged a good deal for the loot. They also discussed the vorpal dagger and received a shortlist of people capable of making such a thing - but why would they put such a powerful enchantment on a dagger? They didn't believe such a weapon existed because they were sure they would have heard of it.

Jvala made appointments to see as many people as soon as possible, wanting to get out of this technological (and cold) city. Zabeel was looking at guns and I forget what the others were up to.

And that's (I believe) where we left it last time...

Monday, 2 March 2015

C Programming - Treasure Hunt!

One of the challenges we were given to help us learn C was to write a treasure hunt game, in which the user tries to find the treasure and is assisted with hot and cold clues. The user has 10 turns to find the treasure and at the end of each turn must confirm they wish to continue. As an extension, the map should print to the screen and the treasure should be randomly place. Here's my solution:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//tmap4.c - game tmap4

void print_gmap(char gmap[5][5]) {
                printf("\n--1--2--3--4--5-\n");
                printf("1[%c][%c][%c][%c][%c]\n", gmap[0][0], gmap[0][1], gmap[0][2], gmap[0][3], gmap[0][4]);
                printf("2[%c][%c][%c][%c][%c]\n", gmap[1][0], gmap[1][1], gmap[1][2], gmap[1][3], gmap[1][4]);
                printf("3[%c][%c][%c][%c][%c]\n", gmap[2][0], gmap[2][1], gmap[2][2], gmap[2][3], gmap[2][4]);
                printf("4[%c][%c][%c][%c][%c]\n", gmap[3][0], gmap[3][1], gmap[3][2], gmap[3][3], gmap[3][4]);
                printf("5[%c][%c][%c][%c][%c]\n\n", gmap[4][0], gmap[4][1], gmap[4][2], gmap[4][3], gmap[4][4]);
}

int main() {
                int valid_coord, temp, count, a, b;
                char carry_on;

                char gmap[5][5]={
                                {'-', '-', '-', '-', '-'},
                                {'-', '-', '-', '-', '-'},
                                {'-', '-', '-', '-', '-'},
                                {'-', '-', '-', '-', '-'},
                                {'-', '-', '-', '-', '-'}
                };
               
                int p, q, r, s, difference_r, difference_s;
                int map[5][5];

                srand(time(NULL));
                p=rand()%5;
                q=rand()%5;

                for(r=0; r<=4; r++){
                                difference_r = abs(p-r);
                                for (s=0; s<=4; s++){
                                                difference_s = abs(q-s);
                                                if(r==p && s==q){
                                                                map[r][s]=0;
                                                }else if(difference_r<=1 && difference_s<=1){
                                                                map[r][s]=1;
                                                }else if(difference_r<=2 && difference_s<=2){
                                                                map[r][s]=2;
                                                }else if(difference_r<=3 && difference_s<=3){
                                                                map[r][s]=3;
                                                }else{
                                                                map[r][s]=4;
                                                }
                                }
                }
               
                system("clear");
                printf("You've heard of a gemstone said to possess powers over hot and cold. ");
                printf("It was stolen and hidden many years ago by a vicious pirate lord. ");
                printf("There are rumours his descendents have learnt of its location, but you think you may have enough of a headstart. ");
                printf("After several days at sea, you arrive at the secret island.\n\n");
                printf("In the distance, you can see pirate sails.\n\n");
                printf("Can you find the treasure first?\n");

                print_gmap(gmap);
                for(count=1; count<=10; count++){
                                printf("Enter the x co-ordinate to search\n");
                                valid_coord=scanf("%d", &b); /* This + while loop is to ensure an integer is received */
                                while(valid_coord != 1){
                                                while((temp=getchar()) != EOF && temp != '\n');
                                                printf("Co-ordinates are numbers; please try again:\t");
                                                valid_coord=scanf("%d", &b);
                                }
                                b=b-1;
                                printf("Enter the y co-ordinate to search\n");
                                valid_coord=scanf("%d", &a);
                while(valid_coord != 1){
                        while((temp=getchar()) != EOF && temp != '\n');
                        printf("Co-ordinates are numbers; please try again:\t");
                        valid_coord=scanf("%d", &a);
                }
                                a=a-1;
                                if(a < 0 || a > 4 || b<0 || b>4) {
                                                printf("I think you're lost at sea\n");
                                } else if(map[a][b]==0){
                                                printf("Congratulations! You found the gem in");
                                                if(count==1){
                                                                printf(" %d turn.\n", count);
                                                } else {
                                                                printf(" %d turns.\n", count);
                                                }
                                                gmap[a][b]='X';
                                                print_gmap(gmap);
                                                printf("  /\\ \n");
                                                printf(" /  \\ \n");
                                                printf("/__\\_\\ \n");
                                                printf("\\  / / \n");
                                                printf(" \\  / \n");
                                                printf("  \\/ \n\n");
                                                break;
                                } else if(map[a][b]==1){
                                                printf("This part of the island feels unnaturally hot.\n");
                                                gmap[a][b]='H';
                                } else if(map[a][b]==2){
                                                printf("This part of the island is warmer than you'd expect.\n");
                                                gmap[a][b]='W';
                                } else if(map[a][b]==3){
                                                printf("This part of the island is a bit cool.\n");
                                                gmap[a][b]='C';
                                } else if(map[a][b]==4){
                                                printf("It's really, really cold here, as though the heat is being sucked elsewhere.\n");
                                                gmap[a][b]='F';
                                }
                                print_gmap(gmap);
                                if(count!=10){
                                                printf("Type 'Y' to try again or 'N' to exit.\t");
                                                scanf(" %c", &carry_on);
                                                if(toupper(carry_on)!='Y'){
                                                                printf("Are you sure? Type 'Q' to quit or 'P' to keep playing:\t");
                                                                scanf(" %c", &carry_on);
                                                                if(toupper(carry_on) == 'Q'){
                                                                                printf("Goodbye\n");
                                                                                break;
                                                                }
                                                }
                                printf("\n");
                                }
                                if(count==10){
                                                printf("You've taken too long - the pirates are here!\n");
                                }
                }

return 0;
}
The idea was to consolidate what we'd already learned and to understand multi-dimensional arrays. What resulted was a fun little game that a lot of people in the office ended up playing. 

I've since learnt how to do a lot of the bits in this much more neatly and, looking through it again, think that this isn't actually my final code - but it gives an idea of my thinking. Particularly, I've found a neater loop to print the map which I'll be sharing soon, because the code it's in has a few problems I can't solve. Then, I'll tidy up my Battleships game and show that off.