This is my space online to write about what interests me, track my habits and goals, and try out new technology. Right now, I'm giving Eleventy a go to build this website.
A few years ago I wrote about bringing my Notion database to life with Eleventy . This has formed the bedrock of the data on my site. However every single build re-queried my entire journal database. Here's how I switched to an incremental cache that, in theory, never has to fetch everything again. The problem with fetching everything My weekly feed is powered by a Notion database. Every day I log…
A little over 2 months ago I made a rather doom-mongering post on my blog titled “ AI scares me ”. This wasn’t hyperbole; I genuinely felt overwhelmed and a little defensive about the speed and extent that AI has proliferated in almost every industry. I touched on the fact AI skips the important discovery cycle. I was of the opinion that you’re no longer required to learn how to do something, you…
2:56:54. I cracked the illusive sub-3. What a day. I’m certain there are few marathons in the UK that can top Brighton for crowd support and sheer vibes. From start to finish, a truly memorable experience that will live long in the memory. My day started with a pleasantly quiet, short walk from my house to Burgess Hill station. I patiently awaited my train to Brighton, knowing for sure it would be…
AI scares me. Not because I’m frightened about an apocalyptic AI uprising that threatens to destroy humanity (although it is in the back of my mind). It scares me because I work in tech, and for the first time since AI hit the “mainstream” with chat bots, I feel left behind. That’s quite a vulnerable admission to make about my career. I’ve never been an overtly confident developer, despite feeling…
A much belated year in review post. Completing to-dos has not come easy to me so far in 2026. I actually haven’t completed one since 17th December 2025. I should work on that this year. This is my fourth year in review post, as I enter into my 5th consecutive year of daily journalling. It’s a highlight of my day revisiting my “On This Day” journal posts to discover how much, or indeed how little,…
I’ve always considered myself a hobbyman. I get into things in a big way and they invariably take quite a hold of my life (and bank balance). Now in my mid-to-late 30s, I’ve had quite a few over the years. Minor hobbies can rumble along indefinitely, such as playing football once a week, big major ones tend to come and go. Burning bright but eventually fading into insignificance. The first major…
2 years ago, I shared my disappointment of season 6 of Black Mirror . I’m a big fan of the series and relish each new season. Season 6 was OK in its own right, but I felt it was a departure from what made Black Mirror great. It lacked something special. Season 6 was great. A roar back to form for the show. If you want to know why, dive in with me (spoilers ahead). Season 7 opened with “Common…
Manchester Marathon 2025. My first marathon in 13 years. Deferred from the previous year due to injury. Sub-3 was the public goal throughout the training block but I wasn’t convinced of how achievable this was. But seeing friends run sub-3 recently and their words of encouragement spurred me on to chase the dream. I was surprisingly not nervous the week, or even the day before. But the night…
Following the format of my Oxford Half Marathon training series of posts, this is a run-through of an intensive month in a training block for a sub-3 marathon attempt on 27th April 2025. March covered weeks 8 to 13 of a 16-week build. End of week 8/16: 1st - 2nd March The first day of March began towards the end of a down week in my training. I’d been to the physio earlier that week and he’d…
It feels good to start the year with another year in review post. My third now. Reflecting on goals set 12 months ago is a good way to analyse personal progress and reassess changes in priorities. Journalling continues to be a mainstay in my life, and alongside it, tracking my consumption and vital stats. I’m approaching 4 years of journalling daily. Running has dominated my year, and has…
I think about this quote a lot. It could be dismissed as being in the bracket of toxic “hustle culture”, after all, there’s comfort in routine and the status quo. Repeating the same thing over and over can feel like it’s working and will continue to work in perpetuity. But everything decays. As morbid as that sounds. A routine that has seemingly worked flawlessly for years begins to start feeling…
This post is part of a 10-part series charting my training block for the Oxford Half Marathon 2024. Week 1 (5th - 11th Aug) - Into The Swing Of It Week 2 (12th - 18th Aug) - 11-a-side Match Week 3 (19th - 25th Aug) - HM distance Away From Home Week 4 (26th Aug - 1st Sep) - Recovery Week 5 (2nd - 8th Sep) - Fast Finish to Brighton Week 6 (9th - 15th Sep) - Goal Pace Focus Week 7 (16th - 22nd Sep) -…
This post is part of a 10-part series charting my training block for the Oxford Half Marathon 2024. Week 1 (5th - 11th Aug) - Into The Swing Of It Week 2 (12th - 18th Aug) - 11-a-side Match Week 3 (19th - 25th Aug) - HM distance Away From Home Week 4 (26th Aug - 1st Sep) - Recovery Week 5 (2nd - 8th Sep) - Fast Finish to Brighton Week 6 (9th - 15th Sep) - Goal Pace Focus Week 7 (16th - 22nd Sep) -…
This post is part of a 10-part series charting my training block for the Oxford Half Marathon 2024. Week 1 (5th - 11th Aug) - Into The Swing Of It Week 2 (12th - 18th Aug) - 11-a-side Match Week 3 (19th - 25th Aug) - HM distance Away From Home Week 4 (26th Aug - 1st Sep) - Recovery Week 5 (2nd - 8th Sep) - Fast Finish to Brighton Week 6 (9th - 15th Sep) - Goal Pace Focus Week 7 (16th - 22nd Sep) -…
This post is part of a 10-part series charting my training block for the Oxford Half Marathon 2024. Week 1 (5th - 11th Aug) - Into The Swing Of It Week 2 (12th - 18th Aug) - 11-a-side Match Week 3 (19th - 25th Aug) - HM distance Away From Home Week 4 (26th Aug - 1st Sep) - Recovery Week 5 (2nd - 8th Sep) - Fast Finish to Brighton Week 6 (9th - 15th Sep) - Goal Pace Focus Week 7 (16th - 22nd Sep) -…
This post is part of a 10-part series charting my training block for the Oxford Half Marathon 2024. Week 1 (5th - 11th Aug) - Into The Swing Of It Week 2 (12th - 18th Aug) - 11-a-side Match Week 3 (19th - 25th Aug) - HM distance Away From Home Week 4 (26th Aug - 1st Sep) - Recovery Week 5 (2nd - 8th Sep) - Fast Finish to Brighton Week 6 (9th - 15th Sep) - Goal Pace Focus Week 7 (16th - 22nd Sep) -…
This post is part of a 10-part series charting my training block for the Oxford Half Marathon 2024. Week 1 (5th - 11th Aug) - Into The Switch Of It Week 2 (12th - 18th Aug) - 11-a-side Match Week 3 (19th - 25th Aug) - HM distance Away From Home Week 4 (26th Aug - 1st Sep) - Recovery Week 5 (2nd - 8th Sep) - Fast finish to Brighton Week 6 (9th - 15th Sep) - Goal Pace Focus Week 7 (16th - 22nd Sep)…
This post is part of a 10-part series charting my training block for the Oxford Half Marathon 2024. Week 1 (5th - 11th Aug) - Into The Swing Of It Week 2 (12th - 18th Aug) - 11-a-side Match Week 3 (19th - 25th Aug) - HM Distance Away From Home Week 4 (26th Aug - 1st Sep) - Recovery Week 5 (2nd - 8th Sep) - Fast Finish to Brighton Week 6 (9th - 15th Sep) - Goal Pace Focus Week 7 (16th - 22nd Sep) -…
This post is part of a 10-part series charting my training block for the Oxford Half Marathon 2024. Week 1 (5th - 11th Aug) - Into The Swing Of It Week 2 (12th - 18th Aug) - 11-a-side Match Week 3 (19th - 25th Aug) - HM Distance Away From Home Week 4 (26th Aug - 1st Sep) - Recovery Week 5 (2nd - 8th Sep) - Fast Finish to Brighton Week 6 (9th - 15th Sep) - Goal Pace Focus Week 7 (16th - 22nd Sep) -…
This post is part of a 10-part series charting my training block for the Oxford Half Marathon 2024. Week 1 (5th - 11th Aug) - Into The Swing Of It Week 2 (12th - 18th Aug) - 11-a-side Match Week 3 (19th - 25th Aug) - HM Distance Away From Home Week 4 (26th Aug - 1st Sep) - Recovery Week 5 (2nd - 8th Sep) - Fast Finish to Brighton Week 6 (9th - 15th Sep) - Goal Pace Focus Week 7 (16th - 22nd Sep) -…
I’m starting off a somewhat niche series of posts over the next 10 week charting my progress and experience training for the Oxford Half Marathon on 13th October. My current PB set last September is 1:32:00 and I am hoping to run 1:27:00 or faster in Oxford. This series of posts will go over my metrics and how my training has gone for the past week. I plan to include the following metrics each…
I set a target this year to read at least one fiction book every month. I’ve always had a love of sinking into a good story in written form, so I knew the only thing that would slow me down in this challenge was finding the books. I’ve read a few of Blake Crouch’s books over the past few years and have enjoyed them all. Epic story-telling and amazingly well researched and engaging science fiction.…
At Arena Online, our plan this year is to begin migrating our existing legacy codebase off Rails 3 and into a modern Rails 7 app; simultaneously shedding over a decade’s worth of technical debt. A bit of history Rails itself is fairly easily upgraded between major versions, with extensive docs and walk-throughs available to help. However, the majority of our code is contained in a series of Rails…
One of the many reasons I love running is its track-ability. There’s a tongue-in-cheek saying in the fitness world, “If it’s not on Strava, it didn’t happen”. But like any hobby, you can choose how much you involve stats in it. Running can be a joyfully simple and analogue activity. Conversely, you can track any and every metric from your distance down to your running mechanics. I land in the…
I like to have a handle on my spending. I track pretty meticulously what I spend personally and as a family. I’ve previously talked about how to master your spending habits , where I delved into how I track what I spend, what I spend and how I analyse it. Over a year on from writing the post, I thought it would be useful to share what a “year in my life” looks like for my spending. Heads up; this…
It's been a belated setting of goals this year, as we near the end of February. 2024's goals are not dissimilar to last year's in all honesty, and I'm OK with that. Goals are an evolution that don't start and end within a calendar year. So after a relatively successful 2023 on the goal-front, let's get at it in 2024. Regular strength work I’ve had an on/off relationship with strength training…
As I approach my fourth year of journalling, and in my third year of consistently blogging again, I had a realisation. You cannot write too much stuff down. Your mind, or your short term memory, has a misjudged ability to think it won’t forget things. Whereas your long term memory has the wonderful ability to do just that. I touched on this point when talking about how to-dos ru i n your life :…
Another year, another year in review post! In many ways, this year has been a good one. Fit and healthy, a loving family, some personal goals hit. What more could you want? I’ve continued my journalling habit, the data of which forms the content for a lot of this site. Blogging has been consistent throughout the year, I’ve levelled up my running again, but overall I’d have to say it’s been a…
My primary goal of 2023 was to start the 5x5 workout program : 5 exercises total, 3 workouts a week, consisting of 3 out of the 5 exercises (alternating with each workout). I had aspirations to create a modest home gym setup in my garage since moving into my current house at the end of 2020. In the autumn of 2023, I finally decided on some gym equipment and eagerly began my 5x5 journey. Why the…
At the beginning of the year, I set myself a vague target: prioritise sleep. After a couple of early check-ins in February and April on my blog, I gradually settled into my new nighttime routine. I stuck with my target of recording my bedtime, attempting with earnest to go to bed earlier. So how did it go? In a word: seasonal. It took me a while to get into the groove after forming fairly bad…
I keep a social diary and a record of people in my life in Notion. This data goes back as far as January 2021. It is now almost December 2023, meaning I have almost 3 years of social data. A useful amount to start digging into some analysis. Some baseline stats Friends : 38 Family : 12 Family-in-law : 19 Acquaintances : 9 Partner : 1 Total people : 79 I consider someone an acquaintance if I've…
What do holidays, illness and work trips have in common? A loss of routine. After almost a week of being ill recently, aside from feeling better again, the thing I craved most was my routine. If you're showing symptoms of burnout, a break can be a wonderful way to recover and kickstart your vitality for life. A break from the norm adds variety and perspective to what would otherwise be a very…
Most start-ups fail. Intuitively, they fail because they run out of money. But what’s the biggest reason for this? The Lean Startup, by Eric Ries, speculates it’s because too many companies build the wrong product for the wrong people. He goes on to extoll the value of the MVP (Minimal Viable Product). MVP is the basis for discovering what matters to your audience. Most developers, myself…
I’m a big fan of the Hulu/Disney show The Bear. It’s a food comedy/drama about a dysfunctional sandwich shop in Chicago. To appreciate it, you truly have to embrace the entertaining but ofttimes chaotic and jarring interaction of the characters. Image credit: TVMaze Season 1 set the scene for the show, in 8 short episodes. “Carmy” returns home from a successful stint in new York in one of the most…
I’ve got the run bug. And it’s a strong one. I dabbled with running back in 2012, when I trained for and ran a marathon , but it felt no more than a bucket list item back then. The training was gruelling, lonely, somewhat aimless, and unsociable. Fast forward 11 years and my relationship with running could not be more different. Last weekend I ran a half marathon . My second half marathon race,…
To-dos. I think most people have a love/hate relationship with to-dos. They’re a great way of organising what’s in your mind into a salient list of achievable goals. God help me remembering this stuff if I didn’t write it down. But the dark side of to-dos is the accumulation of mental debt. If you relied purely on your memory to remember tasks, there’s a good chance those tasks that are no longer…
I find myself inside pull requests a lot at work. Whether I’m authoring one myself or reviewing a co-worker’s, I’ve become pretty familiar with the Github PR screen and what makes a good PR review experience. So here’s my top tips to improve your PRs. Base it off a solid, well-researched issue This isn’t a hard rule, but it’s much nicer to have some separate context for why this PR exists. Your PR…
The mind is a funny thing. I woke up yesterday, Tuesday morning, and felt pretty achey and tired from a 7-a-side football session the evening before. I’d travelled by train as the car was temporarily out of action, making a typical 2-hour round trip to play into a 3 and a half hour journey. The late night took its toll. I had a 50 minute easy run scheduled for today. Sometimes I fit this into the…
I think mid-way annual goal check-ins are a great idea. They’re a moment to reflect and reevaluate your annual goals, and to tweak your targets for the rest of the year. Six months into the year, it’s not uncommon for some goals to reveal themselves to be a little too lofty. Or that a change of heart or direction has changed a goal’s trajectory or level of importance in your life. It’s not a…
I’ve always loved Black Mirror. In some ways it feels like my perfect mix of a television show. I love the dark storylines and topics it seldom shies away from. I love the dystopian view of technology and its potentially hazardous effects on society. The shock value and quality of the writing. The ingenuity of the twists always leave you feeling like you’ve been through a thrill ride. Black Mirror…
One of the reasons I began journalling and tracking my “vitals” is for analysing trends in my mood and lifestyle. To help achieve this, I capture a summary alongside my journal entries in the form of tags. I’ve talked about tags previously in my Notion journalling setup post. So far I’m not doing a lot with these tags, but recently I’ve been wondering if there’s an untapped treasure trove of data…
Interviewing has to be one of those universal activities no one enjoys. Whether you’re the interviewer or the interviewee, there’s a shared dread involved with being on show for 30, 60, 90 minutes. I’ve come to learn being on both sides of the fence that an interview is as much an audition for the company as it is for the prospective employee. Regular exposure and practice can get you someway to…
I recently wanted to make a change to the fitness page on my site. To hide football activities from appearing in run data, in my code there is a rudimentary check that rejects any run activities logged on a Monday (when I regularly play football). This worked OK as a temporary solution, but is beginning to miss some genuine run activities. Occasionally I won’t play football on a Monday, and I'll…
In February I shared how my attempt to improve my sleep was going so far this year . TL;DR : not great. I pondered my hang-ups and set some targets to improve things. Now, at the beginning of April, I'm checking in on the first quarter of the year. As a reminder, in January I had 20 OK bedtimes, 10 bad ones and 1 danger-zone. In summary: nothing before 11:15pm. Check the key in the original post…
In part one , we used a script to setup to sync our transient Letterboxd RSS feed to Google Sheets for some permenance. In part two we'll look into reading this spreadsheet and outputting the data onto a page using Eleventy. Then we'll take a look at the underlying class doing all the work: CachedSpreadsheet . Bringing the data to life in Eleventy After syncing your Letterboxd RSS feed with Google…
I like watching films, and I like keeping track of what I watch. I’ve done this for some years via Letterboxd, a decent little app for accomplishing this task, including reviewing what you watch and keeping a to-watch list. I wanted to integrate with Letterboxd on my website so I could “own” my reviews in case the service went kaput. That lead me to 2 options: integrate with their API, or consume…
Two big issues plague software development teams, and funnily enough they can seem at odds to each another. The first, the more obvious, technical debt. Old code that’s grown stale and probably wasn’t written by anyone still working on the codebase. No one’s sure what it does or whether it’s still necessary, but it still “works” and certain tests require it to be there to pass. The second:…
I first heard about Derek Sivers when I read his first book, Anything You Want. It’s a wonderfully simple and short book where he talks about his journey from musician to entrepreneur, in the building and eventual selling of his e-commerce business CD Baby. Derek popped back onto my radar recently when I listened to an interview he did with Ali Abdaal in 2020, which was just recently published on…
I set a goal for 2023 to improve my sleep. Suitably vague, but one of the steps I implemented in January was simply to track my bedtime. My Garmin watch approximates this but I’ve been annoyed by how inaccurate this often is if I have a lower paced evening. So, I now simply jot that time down to the nearest 5 minutes in my journal. My system In addition to the time, I use a colour-coded tag system…
I found this book to be so relatable and ridiculously readable. The very definition of a page-turner. I finished it in 13 days, reading most evenings, a considerably quicker pace than is typical for me. In this review are a few of my highlights from the book, with some of my commentary alongside. On experiencing life’s moments In “The Watermelon Problem”, Burkeman describes the meaning of…