Rockstar Programmer or Poet

I’ve learned a few programming languages in my time. Sometimes for a particular project but also occasionally just for fun. So I was interested to find out that someone I knew had invented a programming language where the code looks like song lyrics; it’s called Rockstar.
What are song lyrics but a form of poetry and I like writing poetry so how could I resist. The best way to learn any language is of course to write a program in it, so I chose a simple example and had a go.

It was a fascinating experiment. Choosing a simple enough program to write made me aware of how many things I take for granted in most languages, things like bitwise operations or string manipulation. Writing this* into Rockstar led to a detailed study of the syntax. I made some guesses as to how things should work where the documentation wasn’t clear. I’ve followed some of the official example code and sometimes not. Using null as equal to zero and then incrementing it felt so wrong I just had to find another way.
Despite all this I found getting a ‘working’ Rockstar program is the easy part. Rewriting it to be sufficiently poetic took some time, including developing some of my own coding conventions which just shows how poetic code really is.

I’ll also admit to cheating slightly; the language as specified doesn’t have a random number function and I wanted one. So (based on C’s rand function) I’ve assumed a function that returns a random integer between zero and whatever maximum is available. I figure gambling is fairly rock star so that is an acceptable extension (I hope).
Because that function isn’t defined in my program I’ve added a way of showing that too. I hope I’ve also used comments in an interesting way.

Bring on Chance (my own invention)

Time takes my life and my tears
While my life is as strong as my tears
Put my life without my tears into my life

Give back my life

Simply takes a smile and a wave
Put a wave without a smile into the world
Build it up
Put Time taking Chance, the world into your life
Give back your life with a smile

Dreaming takes my hopes and my fears and my smiles and my tears
Shout my hopes
Whisper my fears
Shout my smiles
Whisper my tears

The sunshine was frightening
The shade was my compatriot
Your hopes were everything
My idea was wilder (no more than this)
Dreaming taking “I am thinking of a number between”, the sunshine, “and”, the shade
Put Simply taking the sunshine, the shade into my heart
While my idea is stronger than your hopes
Say “Take a guess.”
Listen to your dream
Build your hopes up
If your dream is smaller than my heart
Whisper “Your guess is too low.”
Take it to the top

If your dream is bigger than my heart
Whisper “Your guess is too high.”
Take it to the top

If my heart is your dream
Break it down

(and breathe)

If my heart is your dream
Dreaming taking “Good job!”, “You guessed my number in “, your hopes, ” guesses!”

If my heart ain’t your dream
Say “Nope. The number I was thinking of was ”
Whisper my heart
(no more)

*Obviously working out what this program actually does is left as an exercise for the reader

Advertisements

The Six Million Dollar Bear

If you have a long loved teddy bear, you know that they get a little bit grubby and tired looking in time. It’s a simple result of being loved.

James has a bear, a travelling companion, who had sat patiently on his dashboard for many years and he had indeed got a little grubby looking. So while James was thoroughly cleaning the inside of his car he decided to give Paddington Ormsville IV, for that is this bear’s name, a clean as well. He decided that he would give Paddington a little run through the washing machine. Prudently, thank heavens, putting him in the garment bag for gentler washing.

Some time later he was horrified to discover that the washing machine had taken its toll on the poor creature, leaving him largely devoid of stuffing, as it had escaped through numerous rents in the overworn fur.

This might have been the end of his story, but I was not prepared to let a faithful friend go so easily.

Gentlemen, we can rebuild him

I started by putting his stuffing back in place and sewing up the many tears in his body. His front, which had been in the sun, had weakened considerably and there was little structural integrity left so the sewing could not be too elegant. His back and limbs were largely intact thankfully.

His feet were soled with felt, one of which had also weakened and developed holes, so I decided to give him a jaunty blue sole.

This emergency surgery completed, he needed a little more support before he would be ready to safely sit up on a dashboard again, so I decided a little waistcoat-come-romper-suit would help protect his delicate tummy. I liked his blue paw so much, I decided to continue with the blue theme, so I spent some time creating a paper pattern for a waistcoat that would go round him and used it to cut his outfit from some more of the felt. Once sewed together I gave it a little edging in dark blue and added a sparkly button before sewing him into his new outfit.

Thus attired, he is ready to resume his travels.

Better, stronger, faster

Been There, Done That, Blogged The Badge

Nearly four years ago now I started a project to blog each of my badges that I’d collected. With nearly three hundred badges to blog, I set myself the target of blogging two badges each week. As I have done that though, the collection has grown to over four hundred badges to date (due, a little more than I’d like, to some mischievous people who think that buying me badges whenever they can is a fun thing to do).

Now, I am finally up to date. And, although I’ll still be blogging new badges as I acquire them, the end to weekly ‘badge homework’ hopefully means I’ll have more time to devote to this blog and all the things that get me badges in the first place.

Do however take a look at my life in badges – so far.

How Large Is Your Latte

So Waitrose have caused a stir by announcing that they’re going to stop supplying disposable cups with their free coffee. Now, these days they are most often my takeaway coffee of choice, so clearly I’m going to have to jump on the bandwagon and start carrying a reusable cup. And that of course is where it starts to get complicated.

Now technically I already own one reusable cup; it’s a Starbucks one, used for peppermint lattes on long journeys, but it gets too hot to hold without the little cardboard sleeve so it’s less useful outside of a Starbucks. So perhaps an everyday cup is in order, ideally one that will also seal in the dregs when I put it back in my bag.

Now in the last few months there have been myriad reusable coffee cup reviews and comparisons so it didn’t take me long to narrow my preference down to either the KeepCup or the Ecoffee cup. In the process however I became aware that I would have to make another decision – how big a cup to buy.

Waitrose had only said “bring your own cup” and that it needed to fit in their machine*. So I contacted them to ask both the size of the regular latte from the machine but also the size of the large, which they sell in their cafe. After talking to them via customer services and Twitter I finally established that a regular coffee is apparently 8 fl oz and a large one is 10 fl oz (although the disposable cups they use are much bigger).

But by now I was considering the bigger picture. My main alternative coffee supplier is Costa, but I’m not hugely fussy, I’ll buy a coffee wherever is convenient, so I started comparing coffee sizes and prices.

Naturally I made a little spreadsheet so here are the highlights. Coffee sizes vary widely but in general a regular coffee is 12 fl oz. Caffe Nero and Greggs also do a large at 14 fl oz whereas Starbucks and Costa will super size you at either 16 or 20 fl oz (I rarely need a pint of coffee).

Obviously, the cheapest coffee is free from Waitrose but astonishingly the most expensive would be a large coffee from Waitrose if you have to pay for it.

After free Waitrose coffee, Greggs and Costa are cheapest. Allowing for the discount for bringing your own cup doesn’t change much except that Pret is now cheaper than Costa (that’s because Pret gives you 50 pence off as opposed to Costa’s 25 pence). Caffe Nero give you ‘bonus stamps’ on their loyalty card, I only allowed for the one extra coffee that gets you when calculating the discount (so not including the ordinary loyalty stamps).

If you want value for money in volume then large coffees are generally better than regular ones and again, obviously, don’t pay for coffee in Waitrose!

Where does that leave me? Well, despite the lure of the ‘value for money’ argument of a larger coffee, I think a 12 fl oz cup would be big enough for an everyday coffee cup. Now I just have to choose the design I want.

*Waitrose reckon 15cm is the maximum cup height that fits in their machines.

Flex 2 vs Vivosmart 3 – An Unlikely Comparison

So at the moment I’m walking around with two fitness devices on my wrist. Why? Because having just bought a Garmin Vivosmart 3 it seemed like a good opportunity to compare it with the Fitbit Flex 2 I’ve been using for the last year or more.

Now these aren’t devices that usually get rated against each other but my primary criteria puts them both in the same category; they monitor steps and sleep, have a silent alarm, receive call and text notifications, are waterproof and importantly both are small enough not to be bulky on a small wrist (and are moderately priced).
The Garmin also provides a screen and some more sensors which I’ll mention later.
Continue reading

From Telephones To Tudors

I recently discovered that there’s a national collection of telephone kiosks. I was far too excited by this news and was determined to go and see them.
They live at Avoncroft as part of a collection of historic buildings.
On arriving I was even more excited to find that the telephones actually worked and we could call between them. They were connected via a small exchange which, of course, we could also see working.
Having played there we set off to explore the rest of the museum, finding such gems as a prefab house, a corrugated chapel and a fibreglass spire. We also encountered some re-enactors, some of whom were doing Elizabethan dancing to a surprisingly recognisable tune.

Manchester Has Awesome People And Trams

I’d never been to Manchester but I was invited to go on what was a rather geeky day out, which involved lots of statistics and pretty graphs presented in Manchester Town Hall. The town hall is a most beautiful building and well worth a look in its own right. After a fascinating day we wandered out into the city and ended up in Piccadilly Gardens which was a hive of activity as they were preparing for the start of the Manchester International Festival; in particular for an event called “What Is The City But Its People?” which involved a giant catwalk and two massive screens. Well, as we were there anyway we decided to hang around and watch and we were very glad we did.

As people came along the catwalk, the screens showed us some beautiful portraits of them and told us a little about their life. From Stefan, who sells the Big Issue every day at Victoria station, to a Syrian refugee, a mother and her new baby, school children with dreams, lovers, bakers, an array of very well-behaved dogs and many, many more. A diverse community of people living their lives in a big city. Wow!

The next day we managed to find some time to explore the tram network, ostensibly to look for Eccles cakes in Eccles (be warned, there are none). However despite that, Manchester was an amazing city, and one I hope to see again.

Manchester

From Depart To Arrive Route
Exchange Square 14:47 St Peter’s Square 14:52 G/H
St Peter’s Square 15:01 Eccles 15:28 E
Eccles 16:50 St Peter’s Square 17:19 E
Piccadilly Gardens 18:52 Deansgate-Castlefield 19:03 E

 

Come and Sing – The Creation

It’s been a while since I did any ‘proper’ singing, so I was both delighted at the thought of another “Come and Sing” day and nervous as to whether I’d be up to the task. This was yet again with The Bach Choir but the time the piece was The Creation by Haydn.

Before the day I did my usual preparation, making sure that I had the score and working through it. I was pleased to discover that there was no splitting the choir into eight (as those parts are always tricky) but less pleased with Haydn’s definition of an alto. Really, there are some notes that should be left to the sopranos, did he not read the memo? He also throws in some fairly tricky fugal sections with several different variants of the same phrase.

On the day I put my worries aside determined to just do my best. I picked a good seat with a clear view of the conductor (once again the wonderful David Hill) and a Bach Chorister next to me (arrive early for these things, it pays off). The vocal warm up was fun and a real work out for the brain as well as the voice in places.

Then we settled down to work through the piece. We rehearsed chorus by chorus. David picking apart things into tiny details in places, simple things like breathing early (so you don’t come in late) or working to get the sound smooth and flowing. It was wonderful to work on making it sound beautiful. I felt an incredible sense of focus, with no other thoughts than the music (a musical ‘deep hack mode’ if you like).

And then rehearsals over, we were ready to perform for our select audience who, sitting at the front, were the centre of attention. They even got a round of applause. Once we started singing though, I was focused on the music, the conductor and not fluffing too many bits. Without soloists, so doing only the choruses, the time rushed by. So much so that we were treated to an impromptu duet of the opening with Philip Scriven on the organ and David Hill on the piano. Then it was time for us to sing the last chorus and our day was over.

Well, almost over, as it turned out there was a chorus of ‘Happy Birthday’ to sing to David in celebration of his upcoming ‘big’ birthday. Then it really was time to go home.

Yet again, an amazing, enjoyable, educational day.