Henry’s New Trick


As I have just shared two very Owen centric posts, I thought I should also blog about Henry! He is doing really well, drinking loads of milk, and although it feels like he never sleeps, I think he is actually doing better than Owen was at this age! The most important thing though is that he has learned to smile – as if he could look any cuter!

Pistonheads Sunday Service at Aston Martin

Owen and I had a great morning visiting the Aston Martin factory in Gaydon for the Pistonheads Sunday Service. Owen has been to a few Pistonheads events before, but only as a baby in a pushchair, this would be our first one just the two of us in the MR2. My parents were also going, so I knew I would have back up if needed.

One of my favourite parts of Sunday Services is the convoy down with my friends from the Pistonheads Midlands forum, it was Owen’s first time experiencing this. He was made to feel very welcome, and enjoyed checking out the ten or so cars assembled before we set off. Once back in the MR2 it became clear that Owen had a favourite car – he was asking about “the fast version of Grandpa’s car” (a Jaguar Project 8) all the way to Gaydon! He definitely has good taste in cars!

At Gaydon I was going to park next to a group of Toyota GT86s, but at the last moment spotted a space next to a 1920s “Blower” Bentley – as much as a line of sporty Toyotas would have been cool, Bentleys are way cooler! As we were checking out the Toyotas (I decided not to tell Owen one was actually a Subaru – two identical looking cars being made by different companies would have caused a flood of “whys”), my parents turned up in their Porsche. So I suggested to Owen we had a look at a cool Porsche I had spotted. He was happy to see his grandparents and excitedly told them about the cars we had seen. As we walked past the Jaguar Project 8 he told my Dad that it had a big wing and big brakes. We then looked at a lovely yellow Triumph TR6 – exactly the same as the one my Dad had when I was a toddler!

Inside the Aston Martin HQ/factory Owen was most excited about the model cars in the gift shop, but with prices starting at £180, he left empty handed. As we walked from the entrance to the cafe to grab some breakfast, there was a display of Aston Martin cars from 1905 through to the current day, which we all enjoyed. My favourite was the DB5 “Superleggera” – I have not even dared to check how much they are worth though! Aston Martin had loads of staff on hand to help people and had obviously put a lot of effort in to hosting the event. When Owen started to get into a grump as we were leaving, straight away an employee came to offer him a sticker, which cheered him up. Owen proudly wore his Aston Martin sticker for the rest of the day!

With so many new Aston Martin cars about, on display and in the car park, the main thing that struck me was just how big they are, with the exception of the Valkyrie. Maybe it is because I am used to my little MR2 Roadster, but they all looked huge! My Dad and I agreed that the previous generation Vantage looked perfect though.

Every time I visit the Aston Martin part of Gaydon (they share the site with Jaguar Land Rover) I leave thinking “this would be a great place to work!” – I have been keeping an eye on their job postings, but have yet to see anything that would suit me… Owen seemed to really enjoy his morning, other than the one almost-tantrum he was on his best behaviour, but the excitement was obviously too much for him, as he fell asleep on the way home, despite the roof being down in the MR2.

Owen’s Strider Progress: May 2019

It has been almost a year since I last blogged about Owen’s progress on his Strider balance bike and according to my Instagram “Memories” exactly a year since he started riding it. A lot has changed, mostly in the last couple of months.

Since last summer Owen loved riding his Strider, especially on pump tracks. We have become regulars at Ready Steady Riders and it is the highlight of his week. If you live in the West Midlands and have kids under 6 who love bikes, you should really check them out! Like crawling, and to some extent walking, Owen had his own way of doing things (straddling the bike and walking with it, not putting his bum on the seat) which he was happy with, so carried on doing it, rather that making the final step to riding properly. I expect this will be a pattern for other skills he is yet to learn. Despite this, Owen was really enjoying himself and that is the most important thing.

Since the start of this year he started making really good progress, I could tell he was getting more confidence. Then he started sitting on the seat and one Ready Steady Riders session I noticed his feet coming up off the ground, within a few weeks this became a proper balance bike glide – after eleven months he had really cracked it! Like with crawling/walking there was no stopping him!

He had a great Ready Steady Riders session on Easter Saturday. It was a low turnout due to the bank holiday, so for the last part of the session Coach Kazzi asked if the riders would like to sample the “big track” – a full UCI championship spec Adult BMX track. Owen did not need to be asked twice, he was straight round to the big track! The riders sessioned the last part of the final straight, which was bigger than any pump track I have ever ridden. Owen needed help on the very steepest section, but had the rest nailed. He was so pleased with himself every time he rode under the finish gantry. Ever since he has been telling me that he is “big and tough and can ride on the big track”. Last week Owen also had a good Ready Steady Riders session, watched by Jen and Henry, and sporting a new helmet. The session ended with Owen being awarded a medal for being “Rider on the week”! Yet another proud Dad moment!

He has also been using his Strider around our local area, riding to the shops, or to nursery etc. He has been great at staying on the pavement, stopping at crossings and looking out for cars. On Bank Holiday Monday, Jen suggested that Owen should ride his Strider to Earlsdon Festival, by far his longest ride. It did not start well, Owen seemed to be struggling with riding and talking at the same time – a real problem for a chatterbox like Owen! He was stopping every few metres to tell me something, or ask a question (he has reached the “why” phase). I ended up having to carry the bike for a bit, in any case he would not have been able to ride through the festival crowds. But after an ice cream, he was back on the bike for the ride home. We went back through our local woods, on a rooty trail we had ridden on the Mac Ride the day before. Owen enjoyed this and seemed to get a second wind. Then we got to his favourite ramp in the woods – a feature we always visit when we’re in the woods. He had to hit it multiple times before even considering riding back home. Even though I carried the bike for a lot of the time, it was still easily double the longest ride he had done with me.

This afternoon, after a ride to town on the Mac Ride, Owen asked me to go for a ride round to the woods with him. After his success last week, I risked taking my own bike along too. After we had ridden over Owen’s favourite ramp, he asked if we could go to the cycle speedway track further along Hearsall Common. The shortest way to the cycle speedway was along the rooty singletrack from last week – our first singletrack ride together. Owen loved the cycle speedway track, I had said he could do five laps, but I had to practically drag him away screaming after fifteen! The ride back home showed that Owen has got the bike skills, but is still lacking a bit of the discipline needed to be able to come out on bike rides.

Owen has got the hang of his Strider just in time – next month he has two races: at the Malverns Classic mountain bike festival and the Strider Cup at Kingsbury Water Park. Unfortunately these are both just after his birthday, so he will be the youngest racer in the three year old class. Hopefully his ability to follow instructions has improved as much as his riding, after his performance last year. Once the racing is out of the way, we will try some more sessions on the big track and possibly even start looking for a bike with pedals…

Automatically Deploying Website from Git to AWS S3

I am a big fan of Amazon AWS – this blog has been running on it for a few years now. Since moving to AWS S3 (for storage) and CloudFront (as a Content Delivery Network) to host static websites, such as my homepage, I have been trying to work out how to get them to automatically deploy when I update the Git repository I use to manage the source code. I looked in to it in some detail last year and concluded that AWS CodePipeline would get me close, but would require a workaround as it did not support deploying to S3. In the end I decided that a custom AWS Lambda function was needed.

Lambda is a service that hosts your code, in a state where it is ready to run when triggered, without needing to have a server. You are only billed for the time your code is running (above a free threshold), so it is perfect for small infrequent jobs, such as deploying changes to a website or even using it with Alexa for home automation. It seemed like an interesting area to explore and gain some knowledge, but I think I went in at the deep end, trying to develop a complex function, using an unfamiliar language (Node.js) on an unfamiliar platform. Then other tasks popped up and it fell by the wayside.

Then earlier this year I saw an announcement from AWS that CodePipeline would now support deploying to S3 and thought my problem had been solved. Although I must admit that I was a bit disappointed not to have the challenge to code it myself. Fast forward a few months and I had the opportunity to set up the CodePipeline, which was very easy. However, it only supported copying the code from the Git repository to the S3 bucket. It did not refresh Cloudfront, so my problem remained unsolved.

The CodePipeline did allow for an extra step to be added at the end of the process, which could be a Lambda function, so I went off in search of a Lambda function to trigger an invalidation on CloudFront when an S3 bucket has been updated. The first result I found was a blog post by Miguel Ángel Nieto, which explained the process well, but was designed to work for one S3 bucket and one CloudFront distribution. As I have multiple websites, I wanted a solution that I could deploy once, and use for all websites, so my search continued. Next I came across a blog post by Yago Nobre, which looked to do exactly what I needed. Except that I could not get the source code to work. I tried debugging it for a while, but was not making much progress. It did give me an understanding of how to link a bucket to a CloudFront distribution, trigger the Lambda function from the bucket and use the Boto3 AWS SDK for Python to extract the bucket ID and CloudFront distribution from the triggering bucket – all the things that were lacking from the first blog post/sample code. Fortunately both were written in Python, using the Boto3 AWS SDK, so I was able to start work on merging them.

I was not terribly familiar with the Python language, to the point of having to search how to make comments in the code, but I saw it as a good learning experience. What I actually found harder than the new-to-me language, was coding in the Lambda Management Console, which I had to do, due to both the inputs and outputs for the function being other AWS features, meaning I could not develop locally on my Mac. Discovering the CloudWatch logs console did make things easier, as I could use the print() function to check values of variables at various stages of the function running and work out where problems were. The comprehensive AWS documentation, particularly the Python Code Samples for S3 were also helpful. Another slight difficulty I experienced was the short delay between the bucket being updated and the Lambda function triggering, it was only a few minutes, but enough to add some confusion to the process.

Eventually I got to a point where adding or removing a file on an S3 bucket, would trigger an invalidation in the correct CloudFront distribution. In the end I did not need to link it to the end of the CodePipeline, as the Lambda function is triggered by the update to the S3 bucket (which itself is done by CodePipeline). All that was left to do was to tidy up the code, write some documentation, and share it on Github for anyone to use or modify. I have kept this post more about the backgound to this project, the code, and instructions to use it are all on Github.

This code probably only saves a few minutes each time I update one of my websites, and may take a number of years to cancel out the time I spent working on it. Even more if I factor in the time spent on the original version prior to the CodePipeline to S3 announcement, but I find coding so much more rewarding when you are solving an actual problem. I also feel like I have levelled up as a geek, by publishing my first repository on Github. Now with this little project out of the way, I can start work on a new server, and WordPress theme for this blog, which was one of my goals for 2019.

Clean MR2

One of my goals for 2019 was to detail my MR2 Roadster. Now, this may not seem like a big goal, but given I last cleaned it in 2016, after a hoon to the Peak District, it was going to be a big job. As it is my pride and joy I wanted to do it properly – no cheating by taking it to the local hand car wash! Cleaning cars is something I find therapeutic, but to do it properly takes a lot of time, which is something increasingly rare for me these days.

Unfortunately I failed in my other MR2 goal, which was to get it to 60,000 miles before the MOT. I was 1,000 short, in fact it clicked over 59,000 while I was giving it an “Italian tune up”, after it initially failed the MOT on emissions.

Jen took the boys out to visit a friend, leaving me with an afternoon free – and a space on the drive! Getting the MR2 on to the drive is usually a three car shuffle, so one less car to deal with made things easier. In fact, my BMW also got a quick wash too and the drive got swept. The MR2 had the full works though: snow foam, two bucket wash, tar remover, fall out remover and a final rinse, before being driven back round to the garage to be dried, panel wiped and treated to a coat of Soft99 Fusso Coat Dark – a Japanese wax/sealant that I had bought for Jen’s Toyota Yaris and seemed to give good results. Given that the MR2 is usually garaged and rarely gets used in the rain, I would normally use a regular wax, but as I had a tin of this special wax for Japanese cars, it seemed a shame not to use it. Waxing the car I noticed that is has picked up a few chips and scratches, but from a few metres away I think it still looks great – especially now that it is clean. I had forgotten just how sparkly the Toyota Sable grey paint is.

After treating the roof and tyres with the appropriate potions, I was able to get out for a drive. It rained – typical! However I still had fun and when I pulled over in front of a yellow field, the sun popped out from behind the clouds and I was able to get a photo of my newly clean MR2.