Paul Grave’s blog

Has anyone tried sending iOS crash logs via Open Telemetry trace? I’m trying to figure out how to best symbolicate the crash data.


@jpkroehling Do you happen to know if there’s a nice way to view Open Telemetry RUM data?
I don’t want to have to use the Elastic RUM Agent but the way in which the UX data is displayed in Kibana is really nice.


Apparently there is no possibility to check a decision with VAR after the whistle has been blown to restart the match, and after the final whistle has been blow.

Except that’s exactly what the ref did during the France - Tunisia match.
Fortunately this screw up had no influence on the outcome of the group.


Ran a good 5k last night. 7 secs from a PB. Saucony Endorphins Pro instead of my Flyknits. They worked well. I think next time I’ll use pace alerts to make sure I don’t back off.


I wrote some code... It’s a Concourse Resource Type that allows interactions with Octopus Deployments. github.com/paulgrav/concourse-


The matches having n minute added due to stoppages is fine... but why isn’t that consistent with refereeing in Europe? Moreover, the viewer has no idea how much time is left. Football always a few steps behind Rugby.


The FIFA World Cup 22 is sponsored by Budweiser who can’t sell their beer in the stadia. It’s not like the right to host the World Cup was awarded yesterday to Qatar. There were 12yrs to sort that out.

Maybe World Cups can only be awarded to countries that support western values.

news.sky.com/story/qatar-world


A tough Parkrun at Temple Newsam. Not sure if I should have expected a time closer to 19mins
strava.app.link/SQBAmTCKTub


Happy


Twitter looks like it’s imploding, so I’ve been using Mastodon instead.


France squad announced last night. I’m not hopeful that France can retain the World Cup. France has struggled this year to not concede goals. I don’t see how a midfield can be composed that matches 2018’s Kanté, Pogba, Matuidi.


Played the first 30mins of God of War: Ragnarok. Wow. The acting, the score, the gameplay. All top notch. #ps5 #gaming


Played the first 30mins of God of War: Ragnarok. Wow. The acting, the score, the gameplay. All top notch.


What’s surprising about Mastodon is how much of it just works. There are definitely issues but there’s a lot of promise.
Just waiting from Trump to come back to Twitter 🙏🏻


What’s surprising about Mastodon is how much of it just works. There are definitely issues but there’s a lot of promise. Just waiting from Trump to come back to Twitter 🙏🏻


@manton How do manage both your Micro Blog account and your Mastodon one? Did you cross post from Micro Blog to Mastodon or keep both separate? There doesn’t seem to be a way to consolidate both identities.


Every World Cup and Olympics tends to be preceded by negative stories. I’m wondering home much of the negativity about Qatar hosting the World Cup will end once the competition starts.


Every World Cup and Olympics tends to be preceded by negative stories. I’m wondering home much of the negativity about Qatar hosting the World Cup will end once the competition starts.


Ran a marathon on 9 Oct. And I’ve been struggling to fully recover since. HRV rallied immediately afterwards but cratered 10 days later. Only returning to some form of normality this weekend. Then back to unbalanced after a Saturday workout.


Ran a marathon on 9 Oct. And I’ve been struggling to fully recover since. HRV rallied immediately afterwards but cratered 10 days later. Only returning to some form of normality this weekend. Then back to unbalanced after a Saturday workout.


Bucharest Marathon report

Bucharest Marathon race report

Background

I ran the Paris marathon last year and missed a sub 3hr by 9secs. This year’s marathon was a chance to smash my PB. It didn’t work out that way.

Training

Matt Fitzgerald’s training plan was the basis of my training the previous year. For no good reason I chose Pfitzinger’s 18 week 55-70mile plan this time round.

Training was punctured with multiple vacations, poor me. I struggled to find/make the time in my routine to get the med-long runs done. In the end my training consistency wasn’t where it needed to be. That said, I did manage to achieve the necessary running volume during the weeks prior to the race.

I was also nursing a knee injury that impaired my ability to get the volume of running done.

Pre-race

For the taper, I tried to follow what I had done the previous year since that clearly worked. The exception was that I sprinkled in some hard VO2max bike workouts. I’ve been monitoring my HRV throughout the summer and I was puzzled why my watch was telling me that I was strained. Completely the inverse of what I expected and made me worry that my immune system was under some sort of stress that was unknown to me.

Race

Temp at the start was 15° on a clear sunny day. Towards the end it was near 21°.

0-2km Felt good. Ran to RPE. Pace was a comfortable 4m00s.

3-21km Pace dropped to 4m10s. HR was higher than I would have liked to be. Last year it was a few beats above 150, now it was approaching 160. Too close to threshold but I didn’t want to slow down since RPE felt fine.

21-28km The beginning of the end. Maintaining my target pace was becoming more challenging. My hip was starting to hurt. I could feel signs of cramp in my calves. I wasn’t enjoying it anymore.

28-30km Pace dropped to 4m30s. I was fighting my body to keep the target pace. The hip pain was getting worse and I was starting to limp. By 30km the discomfort was too much and I had to walk. It didn’t take me long to come to terms that all the training I’d done wasn’t sufficient. 12k to go, what do I do now? The answer was simple, try to jog to the finish and enjoy the beautiful autumn day in Bucharest.

30-39km No question it was a slog. At 35km I could feel that my cardio had enough.

39-42km Casa Parlamentului was now visible. The end was in sight. I managed to push a little harder and run a couple of final sub-6m/km.

The event

The route was nice. It passed the nicer areas of Bucharest. România in Autumn is beautiful. Temperatures are pleasant. There were a lot fewer runners than at Paris. 600-800 versus the 18000 at Paris. I was frequently running alone. The atmosphere was spartan to say the least. I appreciated the few people who took the time to cheer us on.

Conclusions

Did I go out too hard? It’s possible, but the RPE felt fine. I ran my last marathon to RPE and this one didn’t feel any harder. Did the VO2 bike workouts help or hinder? If anything, it would be the later. They might have allowed me to run faster than my legs could sustain.

I think the main reason why my Paris marathon was successful and this one wasn’t was due to adherence to the plan. Too many vacations. One injury too many. Too few long runs at marathon pace. Getting the volume up to 90km wasn’t itself sufficient.

If I ever attempt another marathon, I will load up Matt Fitzgerald’s plan stick to it religiously.


When you miss your goal by 9s. Paris Marathon 2021 race report

Race Information

Goals

Goal Description Completed?
A Sub 3:00 No
B Sub 3:15 Yes
C Finish Yes
D Don’t bonk Yes

Splits

|:–|:–| | 5km | 21m13s | | 10km | 42m50s | | 15km | 1h04m10s | | 20km | 1h25m30s | | 21.1km | 1h30m03s | | 25km | 1h46m22s | | 30km | 2h07m53s | | 35km | 2h29m09s | | 40km | 2h50m34s | | 42.195km | 3h00m09s |

  • Watch pace: 4:15 /km
  • Official pace: 4:16 /km

Training

I never planned to train for a marathon. It happened by accident. Bike racing is my thing. During the 2020 off season I started running regularly and concluded that completing a marathon was within my grasp. I’d previously dismissed the idea because long training runs in the British winter were not appealing. It’s important for me to enjoy the process of training.

To help me understand the basics of running training I bought Matt Fitzgerald’s book. Throughout Nov-Feb I averaged around 30km each week. In March I increased avg distance to about 60km. The vast majority of runs were zone 2, easy runs.

I entered the Paris marathon in April and decided to buy Matt Fitzgerald’s marathon training plan on Training Peaks. The plan started on 14 June and I followed it to the letter with few exceptions. It meant 5 days of 10-15km slow runs throughout the week with odd fartlek here or there, and a longer run on Sunday.

The longer runs were useful for determining 3 things: a) race nutrition b) race pacing c) race gear. My approach was to use the knowledge I’d gained on the bike, apply it to running, and iterate on it by effecting a series of experiments to answer any race day doubts/questions I had.

My bike fuelling strategy used to be inadequate. I would finish long rides feeling bad, with declining performance, and sometimes stomach cramps. Over the past year or two I learned I could finish rides without performance dropping off by ingesting sufficient carbs. Enough to account for 50% of my caloric burn worked great during my recent rides.

Fuelling a run should be like fuelling a bike ride, right? No. On the morning of my long runs I would fill my water bottles with homemade carb mix (sugar water, sodium citrate, and freshly squeezed lemon for taste). My aim was to shoot for 100-120g of carbs per hour but I couldn’t tolerate it. It was too much water and left me feeling bloated. The lemon resulted in heart burn. And I couldn’t figure out the logistics of carrying all those carbs and water during the race.

I decided to use 60g/hr of SiS gels and rely of water available at water stations. The gels are isotonic which meant that I didn’t need to rely on water to ensure the carbs emptied through my stomach. I practiced my intended strategy several times and it felt fine. No heart burn. No bloating. No GI issues. No perceivable performance decline during > 2hr runs.

How to pace the marathon didn’t become clear to me until after I had run a couple of half marathons. The first of which was in July where I managed finish under 1h30. The second was in September and I was able to further increase my pace to finish in 1h24. My conclusion was that I could run the first half of the marathon in 1h30 and then push for a slightly faster second half.

For the first half marathon I used HR to pace the run. Using Training Peaks I created a workout, uploaded it to my Forerunner so that it would tell me whether I was in the correct HR range. This worked fine but the Forerunner can be distracting when it beeps that your HR isn’t in the right range. It needed a STFU button.

For no specific reason, I ran the second half marathon to RPE whilst glancing at my pace every now and again. I would use this approach for the marathon. It’s simple, and not distracting.

My shoe rotation during training included Rincons; Cliftons; Speed Endorphins; Ultraboosts (these are like clogs); Ghosts. Again, I iterated until the solution became clear. The Sauconys were the most comfortable shoe, and the fastest. A week before the marathon I ran a few laps around the estate where I live to confirm that the Saunconys were indeed faster than the Rincons. They were by far.

Towards the end of the plan my volume was between 80-100k per week. Long runs were 35k, or 2h-2h40. I never ran the full 42k. That felt like too much of an ordeal, the 2h40 runs were enough.

Ideally I wouldn’t have picked up an annoying glute injury 4 weeks from the race. I avoided any speed work for fear for making the injury any worse than it was. To compensate I did a handful of VO2max workouts on the bike trainer.

The only significant deviation from the training plan was removing a 35k run 2 weeks from race day. I felt it would require too much recovery so I replaced it with a zone 2 19k. I did skip hill repeats that were in the plan. The halfs showed me that pace on the climbs wasn’t a limiter.

Looking back I’m not sure I would do anything differently. I set a ton of PBs and ran further and faster than I ever have. My experiments answered all my questions to the extent I was confident on race day.

Pre-race

The travel schedule was as follows: Thursday — 2hr train from Leeds to London; Friday — 2hr train from London to Paris; Saturday — wander around Paris. Sunday — race day. Monday travel home.

I know the importance of being well rested and well fuelled so we paid more for the hotels than I’m normally would for a bit more comfort. This was definitely the right call.

Looking back I would have booked a good restaurant for Saturday evening well in advance. We spent far too long on Saturday afternoon trying to find something. We’re vegan and Paris doesn’t make this easy for us. Everything is either beef, cheese, or beef and cheese. Our meal was nice but contained a bit too much fibre. This upset my stomach later in the evening and I had a few too many trips to the bathroom on Sunday morning. It wasn’t a problem during the race, but I could have done without the worry.

We arrived back at the hotel around 20h. That allowed sufficient time to wind down, check I hadn’t forgotten anything, prep my gear, and attach my race number. I was so fearful of forgetting to stick on my nipple protectors that I put them on the night before.

Breakfast at the hotel was a €16 coffee and a slice of bread and jam. I paid for the convenience, no regrets. I never have anything heavier than that if I know I’m going to be running.

I was in the 3h15 group, and my start time was 9h25. We left the hotel at 8h15 and made the 10min walk to the Champs-Elysées.

It was a beautiful but cold Paris morning. 5º. I wore my down-filled puffer jacket that I would later hand over to my wife 5 mins before start.

Looking back, not sure I would have changed anything except for the restaurant on Saturday night. I would have preferred a big bowl of pasta.

Race

From a performance perspective the race was uneventful.

Gear was: Lulu Fast and Free Run Hat; Lulu Fast and Free tank; Lulu Surge 4” Shorts with liner; Saucony Endorphin Speed 2. I like the Lululemon gear. It’s high quality, and performs great. I don’t need to worry about tickets that scratch or bad fit.

60g/hr of carbs. 9 gels. Eat one 15mins before race start. 4 in my back pocket, 2 in my phone pocket, and 2 in my hands. One thing that I omitted to practice was carrying the gels in the pockets and quickly discovered the 4 in the back pocket was too heavy. They were bouncing around too much. It was annoying. The solution was to take two our and carry two gels in each hand instead of one in each hand.

I’ve been in enough races that pre-race nerves no longer affect me. Experience helps. That doesn’t mean I’m not excited to get going. I just enjoy the music coming from the PA, put on a happy face, and look forward to racing.

The early pace was comfortable, and my watch told me it was around 4:10-4:15/km. I was thinking great! I’ve not set off too quickly and a 90min half is achievable.

I didn’t once look at HR. I would calibrate RPE vs pace and then maintain RPE. I would say the first hour felt like 4-5.

I had a lot of overtaking to do. I started in the 3h15 group and I was aiming for 3hrs. There were several groups following the 3h15 pace makers. I enjoyed leaving them behind.

The atmosphere along the course was amazing. Lots of music. People cheering. Kids hold their hands out for high fives.

I might have run longer than I would have wanted before having my first gel but the first water station was nearer 25mins of running. From that point I’d gulp down a gel and wash it down with a mouthful of water.

Physically and mentally I started hurting at around the 38k mark. RPE was probably up to 7 by that time. I noticed that my pace had a tendency to drop, so I had to pay more attention to my watch to keep the pace up.

For much of the race my Garmin was in predicted finish time mode. Each time I would glance at it, it would read 2h59. I thought I was one whole minute ahead of schedule. However, what I didn’t realise until too late was that the Garmin was announcing the kilometres about one or two hundred metres before reaching the kilometre marker signs. This would mean I would complete the marathon distance on the Garmin 100-200m ahead of the finish line. I would have 30-60s left to run. Crap.

My hamstrings were hurting. Left calf felt like it could cramp at any moment. I was scared of increasing pace too much that the cramp would cripple my race.

2k from the finish, I was hanging on for dear life. My body was begging me to stop. My brain was checking out. RPE was 8-9. I still had a minute in the bank at this point but I wasn’t sure if it was enough. I gave everything I had over the final 2k.

Crossed the finish line. Stopped the Garmin. It read 3h00m15s. Official finish time was 3h00m9s. I’m not going to forget about those 9s any time soon but instead I’ll use them to motivate me during my marathon training next year.

Post-race

I don’t think I got much wrong. I got a heck of lot right: pacing; training; gear; choice of first marathon. My km splits were consistent across the race. Even the final two kilometres weren’t that disastrous, being only 10s/km slower than average. I ran an even split, the second half was only 6s slower than the first.

I think I was becoming glycogen depleted towards the end. I might aim for 70g/hr carbs next time. A caffeine gel would have been good near the end too.

My legs started feeling normal on Tuesday. I could barely walk back to the hotel after the marathon.

In hindsight I should have started in the 3h group, but I couldn’t know I was capable of that pace when I entered the marathon.

The summer training was enjoyable so I’m now looking to enter another autumn marathon next year. Perhaps Berlin.


Multiple Mastodon services, each looking exactly the same, but your account only works on one. That’s a support nightmare.

I’ve already tried signing into the "wrong" Mastodon server multiple times. And I’m a techy.


How does content moderation work here? How long until this place too is polluted by bigots?


Exciting. Medical certificate has been accepted. That’s a small weight off. Race number looks like it’s not a joke number but is indeed 12340 😂 #parismarathon