My First Marathon – Part One: Planning

Decide on a Race

I initially was looking for a marathon close to Johannesburg but far enough away (time wise) to provide me enough time to train up for the additional distance. Unfortunately, it appears that marathon season in South Africa is from January to May and then again (but fewer) from September to December – the winter months, although very mild in most of South Africa, appear to be the off-season for road marathons.

Based on the timeline after my first half-marathon – I couldn’t comfortably complete a marathon training plan before that last available race in May. The Sanlam Cape Town Marathon appears to be the best option, and with it being a candidate as one of the Abbott World Marathon Majors I thought this would be a great way to experience a world class race event.

Screen shot of the Sanlam Cape Town Marathon website

Assign the A, B and C Goals

I mentioned A, B and C goals in my half-marathon post, but to recap:

The A goal is your aggressive time goal for the race, what is your ideal time on race day.

The B goal is your fall back, if you cannot achieve your A goal on the day – this could be finishing the race in 5 hours if your A goal was to finish in 4 hours.

Finally, the C goal is your final fallback, everything has gone wrong on race day, this is usually just finishing the race.

What are my A, B and C goals for my first marathon?

  • A Goal: Finish the race in under 4 hours (this is a proper push considering I only just made under 2 hours in my half)
  • B Goal: Finish in sub 4:30:00 (Hopefully another 3o minutes is enough)
  • C Goal: Finish the race.

I believe that with enough training and my current fitness level, that the A goal is achievable.

Decide on a training plan

Garmin Coach (which I used to train for my half-marathon) only has 5km, 10km and half-marathon training plans. As an alternative I have been a user of Asics Runkeeper since I started running, and I am comfortable with the platform and when I was reviewing the half-marathon options how it aligned to the Garmin plan so I decided to stick to a platform I know and use them for the marathon training.

Only one problem – the plan (based on the race date as an end date) only starts in June! What am I going to do until then?

Decide on a pre-marathon training plan

I am doing the Wings for Life run at the start of May – planning to do a half-marathon distance, at a faster pace for that run is not only a good stopgap between now and my Marathon plan but also gives me a chance to see if I can get a faster time in the half-marathon to better align my A Goal above.

Deciding on Pace

There are a number of calculators available to try and workout your race pace based on pervious performance (VDOT, Riegel Formula or Vickers Formula are some).

I just looked at my half-marathon run statistics and my perceived effort levels doing that distance at that pace, and I went with a thumb-suck based on that Setting my training plan accordingly.

Looking at the results of the calculators, I’m close, but likely asking a lot of myself for race day:

Race predictor showing my actual half-marathon pace of 5:36/km and predicting a marathon pace of 5:47/km

So how did you decide on your race pace? Do you have your own coach helping you through your training?

What’s next?

This is the first post in what I hope will be a series of three or four posts on my progress to completing my first marathon race. Thank you for reading and leave a comment or question below if you want me to cover something specific in my progress updates.

How I improved my HRV status

What is HRV

Heart Rate Variability (HRV) is the measure of the variation in the time interval between heartbeats. It is governed by the same system in the body that automatically regulates your heart rate, blood pressure, breathing, and digestive system among others.

HRV is different for every person in the same way blood pressure is different for every person. There are expectations on what an average HRV level should be depending on your age (a normal HRV at rest for someone in their 20s is 55 to 105 and for someone in their 60s, it’s 25 to 45) – higher is better for HRV.

HRV can be measured by most modern smart/fitness watches that have a heart rate monitor built-in to the watch.

What I did to improve my HRV status?

Monitoring

The first step in improving anything is understanding the baseline (what is my current HRV?) before trying anything to change it. If you don’t have a base to start from, how will you know if it is improving or getting worse?

In my case my new sport watch can monitor and track HRV status, providing me with a baseline metric to track.

Increase fitness

This fits in with my overall journey to lose weight and becoming a runner. Seeing my HRV generally increase as my ability to run further and faster, doing my best to not getting ill or overworking my body in the process, brings a great feeling of achievement.

Reduce caffeine intake

Research1 on caffeine intake (particularly with coffee) appears to indicate that while coffee is generally good for your health, restricting intake to only the mornings allows your body to metabolise the caffeine sufficiently that it will not adversely affect sleep, which is very important to HRV and overall health.

Improve sleep

Getting to bed at a regular time each night and getting a full night’s rest of at least 8 hours is important for overall health and a great way to improve HRV levels. I am fortunate that I have seldom had issues with sleep, so just by making sure I go to bed a reasonable hour every night is helping to maintain a good sleep schedule and improve my nightly sleep and HRV numbers.

What other options are available to me?

Improve diet

Eating a diet with more leafy greens and less high fat foods is a win in general for achieving a healthy life. I believe improving my heart health in general should help improve my overall HRV status too.

Reduce stress /over-working

Focus on taking more personal time outside and away from the keyboard during the day. Having my meals away from the work desk and keeping to my work hours (avoiding working late into the evenings) could help with reducing my overall stress and improving my HRV.

Improve mindfulness

Adding focuses breathing exercises to my daily routing – or trying meditation exercises may help with improving my HRV. It should also help me focus a bit more where it matters too.

What are you doing to improve your own HRV status? Do you know what your HRV is?

1 Coffee Research:

Personal life goals – How younger me set achievable targets

When my parents moved home, they cleared out some of my old boxes I had left in the storage cellar. Boxes that contained items from my childhood, including some of my personal journals from my teenage years.

One journal contained a page listing what teenage me in the mid-to-late nineties thought was ideal life goals (or material objects that I felt were important to obtain at the time)

My teenage life goal list – Date achieved if applicable:

  • Purchase a rock-climbing harness (figure-eight & screw gate carabiner) 1999-10-20
  • Purchase a scuba diving wetsuit (fins & booties) 2009-10-30
  • Purchase a Digital amplifier/receiver (AC-3) 2002-11-27
  • Purchase 3 speakers (Centre & Rear) 2008-10-01
  • Have my own space (renting or purchased an apartment) 2002-10-31
  • Design a living space to my ‘standards’. 2010-04-01
  • Have a large bookshelf with an array of books. 2002-11-05
  • Go on a skydiving course. 2012-01-10 (Bungee Jump first) 2011-04-25
  • Get a tattoo. 1999-03-06
  • Go on an advanced scuba diving course. 2002-10-10
  • Buy a fancy car (BMW, Audi, Volvo, Jaguar, Merc, etc) 2006-04-14
  • Go on an advanced driving course. 2000-06-06
  • Purchase a rock-climbing rope. 2007-03-01
  • Have nice clothing for all occasions (Formal suits, smart shoes) 2007-01-01
  • Purchase a motorbike.
  • Own a horse or still be horseback riding.
  • Travelled overseas. 2001-06-01 – 2002-10-31 and many times since
  • Have a wife 2016-06-11 or long-term girlfriend. 2004-05-05
  • Accomplished things to be proud of (donating blood) 2009-01-23
  • Run the Comrades ultra marathon.
  • Completed studies. 2005-11-30
  • Have a career I am happy with and settled in – 2005-11-01 & 2007-12-01
  • Have prospects of a family
  • Learnt how to play a musical instrument.
  • Own a mobile phone. 2000-11-19
  • Own a computer. 2000-06-25
  • Have some creature comforts (living comfortably) 2007-03-01

These two items were listed separately:

  • Have a few close/good friends.
  • Have my share of problems to deal with

These were added on the back of the original list at some point:

  • Have some money (Wealth) 2020-01-01
  • Have a nice car sound system. 2003-10-20
  • Learnt how to speak another language.
  • Have a large compact Disc (CD) collection. 2008-01-01
  • Did my best to reach my dreams.

Some of the items in the list highlight the era in which they were created – in 1999 owning a mobile phone was a much bigger deal than what it is in 2024. The same goes for owning CD’s (I still have them, but I’m not sure when last I listened to music from one, I’m actually not sure if you can easily get new players for them anymore – like VHS and DVD’s I guess).

One item raises an eyebrow… “Run the Comrades ultra marathon.”

Run the Comrades ultra marathon.

I highlighted in my journey to becoming a runner post that I have never really been a runner, even in school sports I was never a long distance runner. Listing the world’s largest and oldest ultra marathon as a goal nearly 30 years before I even became a runner is surprising.

I guess you are never too old to try and achieve your childhood goals.

The Wings for Life World Run 2024 – targeting a new personal best half-marathon?

What is the Wings for Life World Run?

The Wings for Life World Run is a global charity running event that takes place annually on the first weekend of May. The race is the world’s largest simultaneous running event using a mobile app to align all participants worldwide on the race day. The race raises funds for the Wings for Life foundation, a not-for-profit organization that supports spinal cord research.

Sometimes called the race without a finish line, the Wings for Life run has a “catcher car” that pursues and passes the participants, either physically at one of the Flagship Runs or virtually with the app, once the car passes you, your race is over. That makes it the only race worldwide where everyone finishes.

Third time doing the run

I participated in my first Wings for Life run in May 2021, completing a planned 10km route and ending my run before the catch car even caught me.

Stats of my 2021 Wings for Life run, shwing 10.19km in a time of 1:07:47 and an average pace of 6:39min per km
Map view of my 2021 Wings for Life run route

I did not participate in 2022.

In 2023 I had improved my general running fitness and decided to run the race as intended – go as far as I could before the catcher car caught me and ended my race. I was very pleased to achieve my fastest 12km run at the time.

Wings for Life app screen grab showing a completed run of 12,89 km at a pace of 6:28min/km and the map route of my run.

I have since completed my first half-marathon at a significantly faster pace, and I have now set a goal to go even faster for my 2024 Wings for Life attempt.

New year, new goal

Wings for Life app screen showing a 25km distance goal, predicting a 5:09 min /km required pace
Setting a 25KM goal, with a required pace of 5:09 min/km (8:17 min/mil) before the catcher car gets me!

Could this be out of my reach, and I fail completely?

I have decided to set a pace almost 30 seconds per KM faster than my current half-marathon best!

Could this be too large a jump in pace?

Could this be out of my reach, and I fail completely?

Am I too old to still be getting faster?

These are valid questions I ask myself regularly, especially during my current training plan runs. I guess I will find out if I have the physical and mental ability to reach these lofty goals on the 5th of May 2024.

Training for my first marathon

I have decided to enter the Sanlam Cape Town Marathon in October 2024.

This will be my first marathon and is currently the furthest distance I would ever have run in a single activity. Setting a new PB during this year’s Wings for Life run will put me an great position to better plan my pacing and setting my goals for the marathon. The planning and training for the Sanlam Cape Town Marathon is a post in the making, so keep your eyes out for that.

Until then, wish me luck, and happy running.

Three ways to query Azure DevOps using Power BI

Gathering and analysing data from Azure DevOps and presenting it in different, visual, ways within Power BI can assist scrum masters, project managers and development teams in planning and monitoring project progress.

What are some of the tools available to analyse and visualise Azure DevOps data in Power BI?

Built-in Power BI connector

Power BI offers two built-in connectors for Azure DevOps: Azure DevOps (Boards Only) and Azure DevOps Server (Boards Only). These services, formerly called Visual Studio Team Services (VSTS) and Team Foundation Server (TFS) respectively offer the simplest method to import data into Power BI for reporting.

This connector requires the Organization name and Team project name to connect to the correct boards for import. The data returned is dependent on the default analytics views built into Azure DevOps, so there may be some pre-work required.

The default Analytics data returned is high-level per Bug, Story, Task or Work item, so while this approach is the quickest and easiest to get Azure DevOps data into Power BI, it may not be the beast approach to develop rich analytical reports on your project as is.

More information on connecting and importing the data using this approach can be found on these Microsoft learn pages:

OData Feed connector

Azure DevOps contains a built-in reporting platform called Analytics, providing fast read-access and server based integrations to answer questions about your project data. This is the same tool providing the data to the Built-in Power BI connector mentioned above.

To import this data into Power BI you use the OData Feed connector. Have the name of your organization and project as they appear in DevOps on hand to connect to your DevOps boards, Pipelines, Test plans, Repos and Artifacts.

The query is slightly different between the cloud-based Azure DevOps and the on-premises (Azure DevOps Server) instances. Below is the breakdown of the Azure DevOps Service (cloud) structure.

While this data does use the same Analytics views as the built-in Power BI connector, it does offer a more customizability in the initial URL query to get a finer grain of data to develop your DevOps report in Power BI. This added customisability does come with a slight drawback in the slightly more technical skill required in data extraction.

Additional information on connecting and importing the data using the OData connector can be found on these Microsoft learn pages:

REST API

As a brief introduction, an API is an intermediate software agent that allows two applications to communicate with each other. APIs provide a set of protocols, rules, and developer tools that enable software developers to extract and share information and create applications that can interact with each other.

Using the Azure DevOps REST API in Power BI is the most technical of the approaches to extract data out of Azure DevOps, but it can provide a level of detail not available through other methods.

The Azure DevOps API supports Microsoft Authentication Library, OAuth, and Session tokens as ways of authentication to accommodate various developer languages and scenarios. The simplest approach for Power BI is to create a Personal Access Token (PAT) in Azure DevOps to use for your report authentication.

Customising the query and making it more dynamic for your requirements can be done once an initial connection has been made and you have confirmed that you can get data. The authentication method in Power BI to the REST API will be Basic, using the PAT you have created as the username and password for the connection.

Additional information on REST API can be found on these Microsoft learn pages:

Which method should you use?

The approaches to connect to your DevOps board data in this article has been listed from simplest to most complex.

For most requirements (and for general Power BI development sanity) using the built in connector or OData feed connector are ideal. Although the API can possibly provide a smidgen more information over the other two approaches, using API’s in Power BI Desktop (and the Power BI service) adds large levels of complexity to your project. Only you can decide if the extra data you can pull is worth the additional effort.

Happy developing.